<?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>FrontEndUsers</name>
	<version>1.5.4</version>
  <mincmsversion>1.4.1</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPgo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+CjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4KPC91bD4KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+Cjx1bD4KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICYgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPgo8bGk+CjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPgo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4KPC9saT4KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPgo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJ05leHRcJzwvcD4KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPgo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPgo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+CjwvdWw+CjxoMz5TbWFydHkgRnVuY3Rpb25zPC9oMz4KPHA+U29tZSBsaW1pdGVkIGludGVyYWN0aW9uIHdpdGggdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGRhdGFiYXNlIGlzIHBvc3NpYmxlIHdpdGggc21hcnR5IGFuZCB0aGUgJGZldV9zbWFydHkgb2JqZWN0LjwvcD4KPGg0PkZ1bmN0aW9uczo8L2g0Pgo8dWw+CjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0mZ3Q7Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgkZ3JvdXBuYW1lLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4KPHA+VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBleHRyYWN0IGFuIGFycmF5IG9mIHVzZXJuYW1lcyBhbmQgdXNlcmlkcyBmb3IgYWxsIHVzZXJzIHRoYXQgYmVsb25nIHRvIHRoZSBzcGVjaWZpZWQgZ3JvdXAuICBUaGUgb3V0cHV0IGlzIGFzc2lnbmVkIHRvIGEgc21hcnR5IHZhcmlhYmxlIHNwZWNpZmllZCBpbiB0aGUgJnF1b3Q7YXNzaWduJnF1b3Q7IHBhcmFtZXRlci48L3A+CjxwPkV4YW1wbGU6PGJyLz48Y29kZT57JGZldV9zbWFydHktJmd0O2dldF91c2Vyc19ieV9ncm91cG5hbWUoJ21lbWJlcnMnLCdteW1lbWJlcnMnKX08YnIvPnskbXltZW1iZXJzfHByaW50X3J9PC9jb2RlPjwvcD4KPC9saT4KPGxpPjxzdHJvbmc+PGNvZGU+eyRmZXVfc21hcnR5LSZndDtnZXRfdXNlcl9wcm9wZXJ0aWVzKCR1aWQsJGFzc2lnbil9PC9jb2RlPjwvc3Ryb25nPgo8cD5UaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGV4dHJhY3QgYSBsaXN0IG9mIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgdXNlciBhbmQgYXNzaWduIHRoZW0gdG8gYSBzbWFydHkgdmFyaWFibGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuPC9wPgo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LSZndDtnZXRfdXNlcl9wcm9wZXJ0aWVzKDUsJ3VzZXJwcm9wcycpfTxici8+eyR1c2VycHJvcHN8cHJpbnRfcn08L2NvZGU+PC9wPgo8L2xpPgo8L3VsPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJ3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPlBhcmFtZXRlcnM8L2gzPgo8dWw+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09Im5hbWUiPC9saT4KPHA+Rm9ybXM6Cjx1bD4KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPgogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4KIDxsaT48ZW0+bG9zdHVzZXJuYW1lPC9lbT4gLSBEaXNwbGF5IHRoZSBsb3N0IHVzZXJuYW1lIGZvcm0uPC9saT4KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPgo8L3VsPgo8L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSJwYWdlIjwvbGk+CjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9Imdyb3VwMSwgZ3JvdXAyLCBncm91cDMiPC9saT4KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsb3N0dW5fZ3JvdXA9Imdyb3VwIjwvbGk+CjxwPlVzZWQgd2l0aCB0aGUgbG9zdHVzZXJuYW1lIGZvcm0sIHRoaXMgZmVhdHVyZSBzcGVjaWZpZXMgdGhlIGZyb250ZW5kIHVzZXIgZ3JvdXAgdG8gYXNzdW1lIHRodCB1c2VycyBhcmUgbWVtYmVycyBvZi48L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0iMSI8L2xpPgo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj1udWxsPC9saT4KPHA+VGhlIG9ubHkgcG9zc2libGUgdmFsdWUgZm9yIHRoaXMgcGFyYW1ldGVyIGlzICJ2aWV3dXNlciI8L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD1udWxsPC9saT4KPHA+VXNlZCB3aXRoIHRoZSB2aWV3dXNlciBhY3Rpb24uICBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCB0byBzcGVjaWZ5IHdoaWNoIHVzZXIgdG8gdmlldyB0aGUgZGV0YWlscyBvZi48L3A+CjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+CjxoMz5SZXF1aXJlbWVudHM8L2gzPgo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNNU01haWxlciA9Jmd0OyAxLjczLjM8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9pbmxpbmU9IiIgLSAtLUFkZCBNZSAtIG1vZHVsZTpGcm9udEVuZFVzZXJzIHN0cmluZzpoZWxwX25vaW5saW5lLS08L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuNS40PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPgo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPgo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPgo8bGk+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+CjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPgo8bGk+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPgo8bGk+MC4xLjYgLSBKYW51YXJ5LCAyMDA2CiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+CjxsaT4wLjEuNyAtIEphbnVhcnksIDIwMDYKICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4KPC9saT4KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+CiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+CiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+CiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+CiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+CiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+CiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4KPC9saT4KPGxpPjEuMC4xIC0gTWFyY2gsIDIwMDYKICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPgogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPgogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+CiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+CiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4KPC9saT4KPGxpPjEuMC4yIC0gTWFyY2gsIDIwMDYKICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPgo8L2xpPgo8bGk+MS4wLjMgLSBNYXJjaCwgMjAwNgogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4KPC9saT4KPGxpPjEuMC40IC0gTWF5LCAyMDA2CiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+CiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+CiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+CiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+CiAgICA8cD5BZGRlZCB0aGUgXCdzaWxlbnRcJyBmb3JtPC9wPgogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+CiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPgo8L2xpPgo8bGk+MS4wLjUgLSBNYXksIDIwMDYKICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+CjxsaT4xLjAuNiAtIE1heSwgMjAwNgogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+CjwvbGk+CjxsaT4xLjEuMCAtIE1heSwgMjAwNgogICAgPHA+RXZlbnRzPC9wPgogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+CiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPgogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBce1wkZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+CjwvbGk+CjxsaT4xLjEuMSAtIFNlcHQsIDIwMDYKICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwnYWxsb3cgZHVwbGljYXRlIGVtYWlsc1wnIHdhcyBvZmY8L3A+CiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPgo8L2xpPgo8bGk+MS4xLjIgLSBEZWMsIDIwMDYKICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+CiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+CiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPgogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+CiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPgogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPgo8L2xpPgogICAgPGxpPjEuMi4wIC0gQXByaWwsIDIwMDcKICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+CiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+CiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgImF0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCIgc3R1ZmY8L3A+CiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+CiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPgogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPgogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPgogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+CiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+CiAgICA8cD5JbXBvcnQgVXNlcnMgZnJvbSBDU1Y8L3A+CiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPgogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIGlmIHRoZSB1c2VyIHNldHRpbmdzIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+CiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+CjwvbGk+CjxsaT4xLjIuMSAtIEp1bmUsIDIwMDcKCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+Cgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYW4gYWRtaW5pc3RyYXRvciB0byBsb2dvdXQgdXNlcnM8L3A+Cgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+Cgk8cD5BZGRlZCBtb3JlIHZhcmlhYmxlcyBpbiBlYWNoIG9iamVjdCBpbiB0aGUgY2hhbmdlc2V0dGluZ3MgZm9ybTwvcD4KPC9saT4KPGxpPgoJPHA+MS4yLjIgLSBKdW5lLCAyMDA3PC9wPgoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPgogICAgICAgIAo8L2xpPgo8bGk+MS4zIC0gT2N0b2JlciwgMjAwNwo8cD5BZGRlZCBzdXBwb3J0IGZvciAncmVtZW1iZXIgbWUnIHNvIHRoYXQgbG9naW4gaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGEgY29va2llLiAgQW5kIHN1cHBvcnQgZm9yIGEgZm9ybSB0byBhbGxvdyB0aGF0IGNvb2tpZSB0byBiZSByZXNldC48L3A+CjxwPk5vIGxvbmdlciBzdXBwb3J0IG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBpbiBwcm9wZXJ0eSBuYW1lcy48L3A+CjxwPk51bWVyb3VzIHNtYWxsIGJ1Z2ZpeGVzLjwvcD4KPHA+UmVxdWlyZSBDTVMgMS4yIG9yIGdyZWF0ZXIuPC9wPgo8L2xpPgo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNwo8cD5GaXhlcyBwcm9ibGVtcyB3aXRoIHBhcmFtZXRlcnMgbm90IGJlaW5nIGNsZWFuZWQgaW4gdGhlIGNoYW5nZSBzZXR0aW5ncyBkaWFsb2cgb24gdGhlIGZyb250IGVuZC48L3A+CjxwPkZpeGVzIGFuIHVwZHJhZGUgaXNzdWUgaW4gdGhlIGRhdGFiYXNlIHNjaGVtYTwvcD4KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPgo8cD5BZGQgYSBwcmVmZXJlbmNlIHRoYXQgYWxsb3dzIGFkbWlucyB0byBzcGVjaWZ5IGEgcGFnZSB0byByZWRpcmVjdCB0byBhZnRlciB0aGUgZm9yZ290IHBhc3N3b3JkIHZhbGlkYXRpb24gZm9ybSBpcyBjb21wbGV0ZS48L3A+CjxwPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGhpZGRlbiBwcm9wZXJ0aWVzIGJlaW5nIGxvc3QgYWZ0ZXIgYSB1c2VyIGNoYW5nZWQgdGhlaXIgc2V0dGluZ3MuPC9wPgo8cD5UaGUgRm9yZ290IFBhc3N3b3JkIGFuZCBMb3N0IFVzZXJuYW1lIGZvcm1zIGFyZSBub3cgaW5saW5lPC9wPgo8cD5GaXhlcyB0byBlcnJvcnMgaW4gZW5jcnlwdGlvbiB3aXRoIHRoZSBzZXNzaW9uaW5nPC9wPgo8cD5GaXhlcyB0byB0aGUgbG9zdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5LjwvcD4KPC9saT4KPGxpPjEuMy4zIC0gRGVjZW1iZXIsIDIwMDcKPHA+Tm93IG9wdGlvbmFsbHkgYWxsb3cgc29tZSBmcm9udGVuZCBmb3JtcyB0byBiZSBpbmxpbmVkLjwvcD4KPHA+QWRkIGVtYWlsIG5vdGlmaWNhdGlvbnMgd2hlbiB1c2VyIGNoYW5nZXMgdGhlaXIgc2V0dGluZ3MsIG9yIG9uIGFueSBvdGhlciBldmVudC48L3A+CjxwPkNoYW5nZSB0aGUgbWF4aW11bSBkYXRhIHNpemUgZm9yIHByb3BlcnRpZXMgZnJvbSAyNTUgY2hhcmFjdGVycyB0byBsb25ndGV4dDwvcD4KPHA+Rml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGxvZ291dCBsaW5rcyBkaWQgbm90IG9iZXkgdGhlIHByZWZlcmVuY2Ugd2hpY2ggZGljdGF0ZWQgd2hpY2ggcGFnZSB0byByZWRpcmVjdCB0byBhZnRlciBsb2dvdXQuPC9wPgo8L2xJPgo8bGk+MS40IC0gRmVicnVhcnksIDIwMDgKPHA+QWRkcyB0aGUgdmlld3VzZXIgYWN0aW9uIHRvIHZpZXcgdGhlIHByb3BlcnRpZXMgZm9yIGEgc3BlY2lmaWMgdXNlcjwvcD4KPGxpPjEuNC4xIC0gRmVicnVhcnksIDIwMDgKPHA+QWRkcyB0aGUgR2V0VXNlckhpc3RvcnkgbWV0aG9kIHRvIHRoZSBhcGk8L3A+CjxwPkFkZHMgYSBwcmVmZXJlbmNlIGZvciBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGNoYW5nZSBzZXR0aW5nczwvcD4KPHA+VXNlIHRoZSBhZnRlcl92ZXJpZnljb2RlIHByZWZlcmVuY2U8L3A+CjwvbGk+CjxsaT4xLjQuMiAtIE1hcmNoLCAyMDA4CjxwPkZpeGVzIHByb2JsZW1zIHdpdGggY2FuY2VsIGJ1dHRvbnM8L3A+CjxwPk1ha2VzIGl0IGVhc2llciBmb3IgdGV4dCBvbiB2YXJpb3VzIGJ1dHRvbnMgYW5kIGxpbmtzIHRvIGJlIGNoYW5nZWQ8L3A+CjxwPlVwZGF0ZSBkZXBlbmRlbmNpZXMsIGV0Yy48L3A+CjxwPlVwZGF0ZSBhbGwgZmlsZXMgYW5kIHRoZSBoZWxwIHRvIHJlZmxlY3QgdGhlIG5ldyBsaWNlbnNlPC9wPgo8cD5BZGp1c3RtZW50cyBzbyB0aGUgc2lnbmluIGFuZCBzaWdub3V0IHRleHQgY2FuIGJlIGNoYW5nZWQgZWFzaWx5PC9wPgo8cD5DbGVhbnVwcyBhbmQgYnVnIGZpeGVzPC9wPgo8L2xpPgo8bGk+MS40LjMgLSBKdW5lLCAyMDA4CjxwPk5vdyB1c2Ugc2Vzc2lvbiB2YXJpYWJsZXMgdG8ga2VlcCB0cmFjayBvZiB1c2VyIHZhcmlhYmxlcyBiZXR3ZWVuIHN0ZXBzIG9mIHRoZSBmb3JtcyBmb3IgYWRkaW5nIGFuZCBlZGl0aW5nIHVzZXJzLjwvcD4KPHA+R2V0IHJpZCBvZiB0aGUgdGltZSBmaWVsZHMgZm9yIHRoZSBleHBpcnkgZGF0ZSwgYW5kIGp1c3QgZXhwaXJlIGF0IDIzOjU5OjU5IG9uIHRoYXQgc3BlY2lmaWVkIGRheTwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGV4dGVybmFsIG1vZHVsZXMgdG8gaW50ZXJhY3QgKHNvbWV3aGF0KSB3aXRoIGZldSwgYW5kIHNwZWNpZnkgYSByZXR1cm4gbG9jYXRpb248L3A+CjxwPkFkZGVkIHRoZSBHZXRGdWxsVXNlcnNJbkdyb3VwKCkgbWV0aG9kIGludG8gdGhlIGFwaTwvcD4KPC9saT4KPGxpPjEuNC40IC0gQXVndXN0LCAyMDA4CjxwPlRoYW5rcyB0byBfU2pHXyB3ZSBub3cgc3VwcG9ydCB1c2luZyBlbWFpbCBhZGRyZXNzZXMgYXMgdXNlcm5hbWUgKHRoZXJlIGlzIGEgcHJlZmVyZW5jZSBpbiB0aGUgYWRtaW4pLjwvcD4KPHA+QWRkcyBhIEdldEVtYWlsIG1ldGhvZCB0byB0aGUgYXBpIHRvIHJldHVybiB0aGUgZmlyc3QgZW1haWwgYWRkcmVzcyBmb3VuZCBmb3IgdGhlIHNwZWNpZmllZCB1c2VyLjwvcD4KPC9saT4KPGxpPjEuNSAtIEF1Z3VzdCwgMjAwOAo8cD5BZGQgdGhlIGZldV9zbWFydHkgY2xhc3Mgd2l0aCBhIGZldyBmdW5jdGlvbnMgaW4gaXQsIGZvciBpdGVyYXRpbmcgdGhyb3VnaCB1c2VycyBpbiBzbWFydHkuPC9wPgo8L2xpPgo8bGk+MS41LjEgLSBBdWd1c3QsIDIwMDgKPHA+S2VlcCB0aGUgbG9naW5pZCBpbiBhIHZhcmlhYmxlLCB0byBjdXQgZG93biBvbiB0aGUgbnVtYmVyIG9mIHJlcGVhdCBxdWVyaWVzLjwvcD4KPHA+Rml4ZXMgdG8gcHJvcGVydGllcyB3aXRoIHNwYWNlcyBpbiB0aGUgdmFsdWVzLjwvcD4KPC9saT4KPGxpPjEuNS4yIC0gQXVndXN0LCAyMDA4CjxwPlNwbGl0IG91dCBhIGZldyBtb3JlIGZpbGVzIHRvIHNocmluayBtZW1vcnkgZm9vdHByaW50IGEgYml0IG1vcmU8L3A+CjxwPkZpeGVzIHNvbWUgdGFiIG5hbWUgc3R1ZmY8L3A+CjxwPlNtYWxsIHZhbGlkYXRpb24gaXNzdWUgd2l0aCBkZWZhdWx0IHRlbXBsYXRlPC9wPgo8cD5NaW5vciBlbmhhbmNlbWV0bnMgdG8gdGhlIHZpZXd1c2VyIHRlbXBsYXRlLjwvcD4KPHA+R2V0IHJpZCBvZiBjb21tZW50ZWQgb3V0IGNvZGUgdG8gc2hyaW5rIHRoZSBmaWxlIGRvd24gYSBiaXQuPC9wPgo8cD5GaXggZm9yZ290IHBhc3N3b3JkIGZvcm0gdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHVzZXJuYW1lID09IGVtYWlsIGFkZHJlc3MuPC9wPgo8cD5BZGQgcHJldHR5IHVybCBzdXBwb3J0IGludG8gdGhlIGxvc3QgcGFzc3dvcmQgZW1haWwuPC9wPgo8L2xpPgo8bGk+MS41LjMgLSBTZXB0ZW1iZXIsIDIwMDgKPHA+TnVtZXJvdXMgc21hbGwsIGJ1dCBhbm5veWluZyBidWcgZml4ZXM8L3A+CjxsaT4xLjUuNCAtIERlY2VtYmVyLCAyMDA4CjxwPk1vcmUgYW5kIG1vcmUgYnVnIGZpeGVzLjwvcD4KPHA+VGhlIHN0YXJ0cyBvZiBwcmV0dHkgdXJsIHN1cHBvcnQgKHRoYW5rIHlvdSBOdW5vKTwvcD4KPC9saT4KPC91bD4KPGJyIC8+</about>
	<description>Allow users to log in to the frontend of your site</description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBjaGVjayBwZXJtaXNzaW9ucyBhZ2FpbgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkZ3JvdXAnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCiRwcm9wZGVmbiA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CmlmKCBjb3VudCgkcHJvcGRlZm4pID09IDAgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9wcm9wZXJ0aWVzJykpOwogICAgcmV0dXJuOwogIH0KCi8vIHBvcHVsYXRlIHRoZSB0ZW1wbGF0ZQppZiggaXNzZXQoICRwYXJhbXNbJ2Vycm9yJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcicsJHBhcmFtc1snZXJyb3InXSk7CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPkxhbmcoJ2FkZGdyb3VwJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdzdGFydGZvcm0nLAoJCSAgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsCgkJCQkJICAgICAgICdkb19hZGRncm91cCcsCgkJCQkJICAgICAgICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQgKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdzdWJtaXQnLAoJCSAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCSAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnY2FuY2VsJywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICAKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgncHJvbXB0X2dyb3VwbmFtZScsCgkJICAgICAgICR0aGlzLT5MYW5nICgnbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRfZ3JvdXBuYW1lJywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCAoJGlkLCAnaW5wdXRfZ3JvdXBuYW1lJywKCQkJCQkgICAgICAgIiIsIDIwLCA4MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdwcm9tcHRfZ3JvdXBkZXNjJywKCQkgICAgICAgJHRoaXMtPkxhbmcgKCdkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRfZ3JvdXBkZXNjJywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCAoJGlkLCAnaW5wdXRfZ3JvdXBkZXNjJywKCQkJCQkgICAgICAgIiIsIDgwLCAyNTUpKTsgICAgCgovLyBkaXNwbGF5IGEgbGlzdCBvZiB0aGUgcHJvcGVydGllcyBpbiBhIGZvcm0KLy8gdG8gYWxsb3cgdGhlIHVzZXIgdG8gcGljayB3aGljaCBvbmVzIGFyZSByZXF1aXJlZCBhbmQgd2hpY2ggb25lcyBhcmVudC4KJHJvd2FycmF5ID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwoka2V5cyA9IGFycmF5X2tleXMoJHRoaXMtPnR5cGVzKTsKJG9wdGlvbnMgPSBhcnJheSggJHRoaXMtPkxhbmcoJ29mZicpID0+IDAsCgkJICAkdGhpcy0+TGFuZygnb3B0aW9uYWwnKSA9PiAxLAoJCSAgJHRoaXMtPkxhbmcoJ3JlcXVpcmVkJykgPT4gMiwKCQkgICR0aGlzLT5MYW5nKCdoaWRkZW4nKSA9PiAzLAoJCSAgJHRoaXMtPkxhbmcoJ3JlYWRvbmx5JykgPT4gNCk7CiAgICAKJHNvcnRvcmRlciA9IDE7CmZvcmVhY2goICRwcm9wZGVmbiBhcyAkZGVmbiApCnsKICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgJG9uZXJvdy0+bmFtZSA9ICRkZWZuWyduYW1lJ107CiAgJG9uZXJvdy0+cHJvbXB0ID0gJGRlZm5bJ3Byb21wdCddOwogICRvbmVyb3ctPnR5cGUgPSAkdGhpcy0+TGFuZygka2V5c1skZGVmblsndHlwZSddXSk7CiAgJG9uZXJvdy0+c29ydG9yZGVyID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfc29ydG9yZGVyXycuJGRlZm5bJ25hbWUnXSwgJHNvcnRvcmRlciwgMywgMiApOwogICRvbmVyb3ctPnJlcXVpcmVkID0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ2lucHV0X3JlcXVpcmVkXycuJGRlZm5bJ25hbWUnXSwgJG9wdGlvbnMgKTsKCiAgaWYoICRkZWZuWyd0eXBlJ10gIT0gNiApCiAgICB7CiAgICAgICRvbmVyb3ctPmFza2lubG9zdHVuID0KCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdpbnB1dF9sb3N0dW5fJy4kZGVmblsnbmFtZSddLCAxICk7CiAgICAgICRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwogICAgfQoKICBhcnJheV9wdXNoICgkcm93YXJyYXksICRvbmVyb3cpOwogICgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzID0gInJvdzIiIDogJHJvd2NsYXNzID0gInJvdzEiKTsKICArKyRzb3J0b3JkZXI7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvcHMnLCAkcm93YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3Bjb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc29ydG9yZGVydGV4dCcsICR0aGlzLT5MYW5nKCdzb3J0b3JkZXInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZXRleHQnLCR0aGlzLT5MYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdHRleHQnLCAkdGhpcy0+TGFuZygncHJvbXB0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R5cGV0ZXh0JywkdGhpcy0+TGFuZygndHlwZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmaWVsZHN0YXR1c3RleHQnLCR0aGlzLT5MYW5nKCdmaWVsZHN0YXR1cycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VkaW5sb3N0dW50ZXh0JywkdGhpcy0+TGFuZygndXNlZGlubG9zdHVuJykpOwoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FkZGdyb3VwLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.addprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBjaGVjayBwZXJtaXNzaW9ucyBhZ2FpbgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkcHJvcCcgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZWRpdHByb3AnXSApICkKICAgICAgewoJaWYoIGlzc2V0KCRwYXJhbXNbJ29yaWdfdHlwZSddKSAmJiAkcGFyYW1zWydvcmlnX3R5cGUnXSA9PSAkcGFyYW1zWyduZXdfdHlwZSddICkKCSAgewoJICAgICRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9ICRwYXJhbXNbJ25ld190eXBlJ107CgkgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RvX2VkaXRwcm9wJywkcmV0dXJuaWQsICRwYXJhbXMpOwoJICAgIHJldHVybjsKCSAgfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnc3RhcnRmb3JtJywgCgkJCSAgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnZWRpdHByb3AnLCRyZXR1cm5pZCkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnaGlkZGVuJywKCQkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3Byb3BuYW1lJywkcGFyYW1zWydlZGl0cHJvcCddKSk7CiAgICAgIH0KICAgIGVsc2UgCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbiggJ3N0YXJ0Zm9ybScsIAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkZHByb3AyJywkcmV0dXJuaWQpKTsKICAgICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbmZvbXNnMScsCgkJCSAgJHRoaXMtPkxhbmcoJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oICdlbmRmb3JtJywKCQkJICAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddICk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcicsICRwYXJhbXNbJ2Vycm9yJ10gKTsKICAgICAgfQogICAgCiAgICAkbmFtZSA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSApICkgJG5hbWUgPSAkcGFyYW1zWydpbnB1dF9uYW1lJ107CiAgICAkcHJvbXB0ID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcHJvbXB0J10gKSApICRwcm9tcHQgPSAkcGFyYW1zWydpbnB1dF9wcm9tcHQnXTsKICAgICR0eXBlID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snbmV3X3R5cGUnXSkgKSB7CiAgICAgICR0eXBlID0gJHBhcmFtc1snbmV3X3R5cGUnXTsKICAgIH0gZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdHlwZSddKSApIHsKICAgICAgJHR5cGUgPSAkcGFyYW1zWydpbnB1dF90eXBlJ107CiAgICB9CiAgICBpZigkdGhpcy0+ZGV2ZGVidWcpewogICAgICBlY2hvICJpbnB1dF90eXBlID0gIiAuICRwYXJhbXNbJ2lucHV0X3R5cGUnXSAuICI8YnI+IjsKICAgICAgZWNobyAidHlwZSA9ICIgLiAkdHlwZSAuICI8YnI+IjsKICAgIH0KICAgIAogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlZGl0cHJvcCddICkgKQl7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5mb21zZzInLCR0aGlzLT5MYW5nKCdlZGl0cHJvcF9pbmZvbXNnJykpOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VkaXRwcm9wJywgIAoJCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2VkaXRwcm9wJywgJHBhcmFtc1snZWRpdHByb3AnXSkpOwogICAgICAKICAgICAgaWYoICR0eXBlID09IDAgfHwgJHR5cGUgPT0gMiApeyAvLyB0ZXh0IG9yIGVtYWlsIGlucHV0CgkkbGVuZ3RoID0gJyc7CglpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKCSAgJGxlbmd0aCA9ICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddOwoJfQoJJG1heGxlbmd0aCA9ICcnOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X21heGxlbmd0aCddICkgKSB7CgkgICRtYXhsZW5ndGggPSAkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXTsKCX0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0JywkdGhpcy0+TGFuZygnbGVuZ3RoJykKCQkJICAgICAgLiR0aGlzLT5MYW5nKCdsZW5ndGhjb21tZW50JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dCcsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9sZW5ndGgnLCRsZW5ndGgsIDMsIDMgKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdDInLCR0aGlzLT5MYW5nKCdtYXhsZW5ndGgnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0MicsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9tYXhsZW5ndGgnLCRtYXhsZW5ndGgsIDMsIDMgKSk7CiAgICAgIH0gZWxzZSBpZigkdHlwZSA9PSA0IHx8ICR0eXBlID09IDUpeyAvLyBkcm9wZG93biAmIG11bHRpc2VsZWN0Cgkkc2Vsb3B0aW9ucyA9ICR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCAkbmFtZSApOwoJLy8gY29udmVydCB0aGUgCgkkc2Vsb3B0aW9uc1N0ciA9ICcnOwoJZm9yZWFjaCggJHNlbG9wdGlvbnMgYXMgJGtleT0+JHZhbHVlICkgCgkgIHsKCSAgICBpZiggJGtleSA9PSAkdmFsdWUgKQoJICAgICAgewoJCSRzZWxvcHRpb25zU3RyIC49ICIkdmFsdWVcbiI7CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCSRzZWxvcHRpb25zU3RyIC49ICIka2V5PSR2YWx1ZVxuIjsKCSAgICAgIH0KCSAgfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQnLCR0aGlzLT5MYW5nKCdzZWxvcHRpb25zJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dCcsICAKCQkJICAgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRzZWxvcHRpb25zU3RyLCAnaW5wdXRfZXh0cmEnKSk7CiAgICAgIH0gZWxzZSBpZiggJHR5cGUgPT0gNiApIHsKCS8vIGltYWdlCgkkbGVuZ3RoID0gJyc7CglpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKCSAgJGxlbmd0aCA9ICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddOwoJfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQnLCR0aGlzLT5MYW5nKCdzaXplJykKCQkJICAgICAgLiR0aGlzLT5MYW5nKCdzaXplY29tbWVudCcpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQnLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbGVuZ3RoJywkbGVuZ3RoLCAzLCAzICkpOwogICAgICB9CiAgICAgIAogICAgfQogICAgCiAgICAkc3VibWl0ID0gJHRoaXMtPkxhbmcoJ25leHQnKTsKICAgICR0aXRsZSA9ICR0aGlzLT5MYW5nKCdhZGRwcm9wJyk7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snZWRpdHByb3AnXSApICkgCiAgICAgIHsKCSR0aXRsZSA9ICR0aGlzLT5MYW5nKCdlZGl0cHJvcCcpOwoJJHN1Ym1pdCA9ICR0aGlzLT5MYW5nKCdzdWJtaXQnKTsKICAgICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAndGl0bGUnLCAkdGl0bGUgKTsKICAgICRpZHggPSBSUlV0aWxzOjpmaW5kX2luZGV4X29mX3ZhbHVlKCR0aGlzLT50eXBlcywkdHlwZSwtMSk7CiAgICAkdHlwZXMgPSAkdGhpcy0+bGFuZ2lmeUtleXMoJHRoaXMtPnR5cGVzKTsKICAgIAogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbmFtZScsJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkbmFtZSwgMzAsIDMwICkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcHJvbXB0JywkdGhpcy0+TGFuZygncHJvbXB0JykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcm9tcHQnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9wcm9tcHQnLCRwcm9tcHQsIDgwLCAyNTUgKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90eXBlJywkdGhpcy0+TGFuZygndHlwZScpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfdHlwZScsICAKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnaW5wdXRfdHlwZScsICR0eXBlcywKCQkJCQkJICAgICAgJGlkeCwgJHR5cGUpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignb3JpZ190eXBlJywgIAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdvcmlnX3R5cGUnLCAkdHlwZSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnc3VibWl0JywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkc3VibWl0ICkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnY2FuY2VsJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLAoJCQkJCQkgICAgICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRwcm9wLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.addprop2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkcHJvcCcgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKCmlmKCRwYXJhbXNbJ2lucHV0X3R5cGUnXSA9PSAxIHx8IC8vY2hlY2tib3gKICAgJHBhcmFtc1snaW5wdXRfdHlwZSddID09IDMgKXsgLy90ZXh0YXJlYQogIGlmKCBpc3NldCggJHBhcmFtc1snZWRpdHByb3AnXSApICkgewogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RvX2VkaXRwcm9wJywkcmV0dXJuaWQsICRwYXJhbXMpOwogICAgcmV0dXJuOwogIH0gZWxzZSB7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZG9fYWRkcHJvcCcsJHJldHVybmlkLCAkcGFyYW1zKTsKICAgIHJldHVybjsKICB9CiB9CgppZiggaXNzZXQoICRwYXJhbXNbJ2VkaXRwcm9wJ10gKSApIHsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nLCAKCQkJICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdkb19lZGl0cHJvcCcsJHJldHVybmlkKSk7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnaGlkZGVuJywKCQkJICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3Byb3BuYW1lJywkcGFyYW1zWydlZGl0cHJvcCddKSk7CiB9IGVsc2UgewogICR0aGlzLT5zbWFydHktPmFzc2lnbiggJ3N0YXJ0Zm9ybScsIAoJCQkgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2RvX2FkZHByb3AnLCRyZXR1cm5pZCkpOwogfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAnZW5kZm9ybScsICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKSB7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddICk7CiB9CmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkJewogICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddICk7CiB9CgppZiAoJHBhcmFtc1snaW5wdXRfdHlwZSddID09IDQgfHwgJHBhcmFtc1snaW5wdXRfdHlwZSddID09IDUpIAogIHsgLy9kcm9wLWRvd24gb3IgbXVsdGlzZWxlY3QKICAgICRzZWxvcHRpb25zID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfc2Vsb3B0aW9ucyddICkgKSB7CiAgICAgICRzZWxvcHRpb25zID0gJHBhcmFtc1snaW5wdXRfc2Vsb3B0aW9ucyddOwogICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQxJywkdGhpcy0+TGFuZygnc2Vsb3B0aW9ucycpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQxJywgIAoJCQkgICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkc2Vsb3B0aW9ucywgJ2lucHV0X3NlbG9wdGlvbnMnKSk7CiAgfQogZWxzZSBpZiAoJHBhcmFtc1snaW5wdXRfdHlwZSddID09IDYgKQogICB7CiAgICAgLy8gaW1hZ2UKICAgICAkbGVuZ3RoID0gJzgwJzsKICAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKICAgICAgICRsZW5ndGggPSAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXTsKICAgICB9CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQxJywkdGhpcy0+TGFuZygnc2l6ZScpCgkJCSAgIC4nJm5ic3A7Jy4kdGhpcy0+TGFuZygnc2l6ZWNvbW1lbnQnKSk7CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dDEnLAoJCQkgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbGVuZ3RoJywkbGVuZ3RoLCAzLCAzICkpOwogICB9CiBlbHNlIAogICB7IC8vdGV4dCBpbnB1dCBvciBlbWFpbAogICAgICRsZW5ndGggPSAnMzAnOyAgIC8vaGFyZGNvZGVkIGZvciBub3csIHRvZG8KICAgICAkbWF4bGVuZ3RoID0gJzI1NSc7IC8vaGFyZGNvZGVkIGZvciBub3csIHRvZG8KICAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKICAgICAgICRsZW5ndGggPSAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXTsKICAgICB9CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHQxJywkdGhpcy0+TGFuZygnbGVuZ3RoJykKCQkJICAgLiR0aGlzLT5MYW5nKCdsZW5ndGhjb21tZW50JykpOwogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXQxJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2xlbmd0aCcsJGxlbmd0aCwgMywgMyApKTsKICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdDInLCR0aGlzLT5MYW5nKCdtYXhsZW5ndGgnKSk7CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dDInLAoJCQkgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbWF4bGVuZ3RoJywkbWF4bGVuZ3RoLCAzLCAzICkpOwogICB9CiR0aXRsZSA9ICR0aGlzLT5MYW5nKCdhZGRwcm9wJyk7CmlmKCBpc3NldCgkcGFyYW1zWydlZGl0aW5nJ10gKSApIAogIHsKICAgICR0aXRsZSA9ICR0aGlzLT5MYW5nKCdlZGl0cHJvcCcpOwogIH0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCAndGl0bGUnLCAkdGl0bGUgKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9uYW1lJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnaW5wdXRfbmFtZScsICRwYXJhbXNbJ2lucHV0X25hbWUnXSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Byb21wdCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfcHJvbXB0JywkcGFyYW1zWydpbnB1dF9wcm9tcHQnXSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3R5cGUnLCAgCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2lucHV0X3R5cGUnLCAkcGFyYW1zWydpbnB1dF90eXBlJ10pKTsKICAgIAokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCQkgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLAoJCQkJCQkJICAgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkcHJvcDIudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.adduser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkdXNlcicgKSApCiAgewogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snY2FuY2VsJ10gKSApCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICd1c2VycycgKTsKICB9CgokZ2lkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JvdXAnLCAtMSk7CmlmKCAkZ2lkICE9IC0xICkKICB7CiAgICAvLyB0aGUgZGVmYXVsdCBncm91cCBoYXMgYmVlbiBzZXQKICAgIC8vIHNvIHdlJ2xsIHB1dCB0aGlzIGluIHRoZSBtZW1iZXJvZiBwYXJhbWV0ZXIKICAgIC8vIGlmIGl0J3Mgbm90IGFscmVhZHkgc2V0CiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydtZW1iZXJvZiddICkgKQogICAgICB7CgkkcGFyYW1zWydtZW1iZXJvZl8nLiRnaWRdID0gJGdpZDsKICAgICAgfQogIH0KCiR0aGlzLT5fRGlzcGxheUFkbWluVXNlclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_exportgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCAkZ0NtcyApICkgcmV0dXJuOwppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdlZGl0Z3JvdXBzJykgKSByZXR1cm47CmlmKCAhaXNzZXQoJHBhcmFtc1snZ3JvdXBfaWQnXSkgKSByZXR1cm47CgokZ3JvdXBpZCA9ICRwYXJhbXNbJ2dyb3VwX2lkJ107CgokZ3JwX2luZm8gPSAkdGhpcy0+R2V0R3JvdXBJbmZvKCAkZ3JvdXBpZCApOwppZiggaXNfYXJyYXkoICRncnBfaW5mbyApICYmICRncnBfaW5mb1swXSA9PT0gRkFMU0UgKSAKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKICAgICRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZ3JvdXBpZCcsJGdyb3VwaWQpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CiAgICByZXR1cm47CiAgfQoKJGdycF9wcm9wX3JlbHMgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdyb3VwaWQgKTsKaWYoIGlzX2FycmF5KCAkZ3JwX3Byb3BfcmVscyApICYmICRncnBfcHJvcF9yZWxzWzBdID09PSBGQUxTRSApCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CiAgICAkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9yZWxhdGlvbnMnKTsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwogICAgcmV0dXJuOwogIH0KCiRmaWxlbmFtZSA9ICRncnBfaW5mb1snZ3JvdXBuYW1lJ10uJy54bWwnOwokc21hcnR5LT5hc3NpZ24oJ2dyb3VwX25hbWUnLCRncnBfaW5mb1snZ3JvdXBuYW1lJ10pOwokc21hcnR5LT5hc3NpZ24oJ2dyb3VwX2Rlc2NyaXB0aW9uJywkZ3JwX2luZm9bJ2dyb3VwZGVzYyddKTsKJHByb3BlcnRpZXMgPSBhcnJheSgpOwpmb3JlYWNoKCAkZ3JwX3Byb3BfcmVscyBhcyAkb25lcmVsICkKewogICRkZWZuID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbiggJG9uZXJlbFsnbmFtZSddICk7CiAgaWYoICEkZGVmbiApCiAgICB7CiAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CiAgICAgICRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wcm9wbm90Zm91bmQnLCRvbnJlbFsnbmFtZSddKTsKICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgJG9iaiA9IG5ldyBTdGRDbGFzcygpOwogICRvYmotPm5hbWUgPSAkb25lcmVsWyduYW1lJ107CiAgJG9iai0+c29ydG9yZGVyID0gJG9uZXJlbFsnc29ydF9rZXknXTsKICAkb2JqLT5zdGF0dXMgPSAkb25lcmVsWydyZXF1aXJlZCddOwogICRvYmotPmxvc3R1bmZsYWcgPSAkb25lcmVsWydsb3N0dW5mbGFnJ107CiAgJG9iai0+cHJvbXB0ID0gJGRlZm5bJ3Byb21wdCddOwogICRvYmotPnR5cGUgPSAkZGVmblsndHlwZSddOwogICRvYmotPmxlbmd0aCA9ICRkZWZuWydsZW5ndGgnXTsKICAkb2JqLT5tYXhsZW5ndGggPSAkZGVmblsnbWF4bGVuZ3RoJ107CiAgaWYoICRvYmotPnR5cGUgPT0gNCB8fCAkb2JqLT50eXBlID09IDUgKQogICAgewogICAgICAkb3BzID0gYXJyYXkoKTsKICAgICAgJHNlbGVjdF9vcHMgPSAkdGhpcy0+R2V0U2VsZWN0T3B0aW9ucyggJG9iai0+bmFtZSwgMiApOwogICAgICBmb3JlYWNoKCAkc2VsZWN0X29wcyBhcyAkc2VsX29wICkKCXsKCSAgJG9wID0gbmV3IFN0ZENsYXNzOwoJICAkb3AtPm5hbWUgPSAkc2VsX29wWydvcHRpb25fbmFtZSddOwoJICAkb3AtPnRleHQgPSAkc2VsX29wWydvcHRpb25fdGV4dCddOwoJICAkb3BzW10gPSAkb3A7Cgl9CiAgICAgICRvYmotPm9wdGlvbnMgPSAkb3BzOwogICAgfQoKICAkcHJvcGVydGllc1tdID0gJG9iajsKfQokc21hcnR5LT5hc3NpZ24oJ3Byb3BlcnRpZXMnLCRwcm9wZXJ0aWVzKTsKCmlmKGluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJykpCiAgewogICAgaW5pX3NldCgnemxpYi5vdXRwdXRfY29tcHJlc3Npb24nLCAnT2ZmJyk7CiAgfQoKaWYoIWluaV9nZXRfYm9vbGVhbignc2FmZV9tb2RlJykpCiAgewogICAgc2V0X3RpbWVfbGltaXQoMCk7CiAgfQoKLy8gZ2V0IHRoZSBkYXRhCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CiRkYXRhID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZ3JvdXBfeG1sLnRwbCcpOwoKaGVhZGVyKCdQcmFnbWE6IHB1YmxpYycpOwpoZWFkZXIoJ0V4cGlyZXM6IDAnKTsKaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAnKTsKaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwcml2YXRlJyxmYWxzZSk7CmhlYWRlcignQ29udGVudC1EZXNjcmlwdGlvbjogRmlsZSBUcmFuc2ZlcicpOwpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7CmhlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9XCIkZmlsZW5hbWVcIiIgKTsKaGVhZGVyKCdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnknKTsKaGVhZGVyKCdDb250ZW50LUxlbmd0aDogJyAuIHN0cmxlbigkZGF0YSkpOwplY2hvICRkYXRhOwoKQGZsdXNoKCk7IEBvYl9mbHVzaCgpOyBAb2JfZmx1c2goKTsKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_importgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCAkZ0NtcyApICkgcmV0dXJuOwppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdlZGl0Z3JvdXBzJykgKSByZXR1cm47CgpmdW5jdGlvbiBjaGVja19ncm91cF9jb21wbGV0ZSggJiRncnAgKQp7CiAgaWYoICFpc19hcnJheSggJGdycCApICkgCiAgICB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICBpZighaXNzZXQoJGdycFsnbmFtZSddKSB8fCBlbXB0eSgkZ3JwWyduYW1lJ10pKQogICAgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgCiAgLy8gcGFzc2VkCiAgaWYoICFpc3NldCgkZ3JwWydwcm9wZXJ0aWVzJ10pIHx8ICFpc19hcnJheSgkZ3JwWydwcm9wZXJ0aWVzJ10pIHx8CiAgICAgIChjb3VudCgkZ3JwWydwcm9wZXJ0aWVzJ10pID09IDApICkKICAgIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICBmb3JlYWNoKCAkZ3JwWydwcm9wZXJ0aWVzJ10gYXMgJG9uZXByb3AgKQogICAgewogICAgICBpZiggIWNoZWNrX3Byb3BlcnR5X2NvbXBsZXRlKCAkb25lcHJvcCApICkKCXsKCSAgcmV0dXJuIGZhbHNlOwoJfQogICAgfQoKICByZXR1cm4gdHJ1ZTsKfQoKCmZ1bmN0aW9uIGNoZWNrX3Byb3BlcnR5X2NvbXBsZXRlKCAmJHByb3AgKQp7CiAgaWYoICFpc19hcnJheSggJHByb3AgKSApIAogICAgewogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgaWYoIWlzc2V0KCRwcm9wWyduYW1lJ10pIHx8IGVtcHR5KCRwcm9wWyduYW1lJ10pKQogICAgewogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgaWYoIWlzc2V0KCRwcm9wWyd0eXBlJ10pIHx8ICRwcm9wWyd0eXBlJ10gPT0gJycpCiAgICB7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBpZighaXNzZXQoJHByb3BbJ3Byb21wdCddKSB8fCBlbXB0eSgkcHJvcFsncHJvbXB0J10pKQogICAgewogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgaWYoIWlzc2V0KCRwcm9wWydzb3J0b3JkZXInXSkgfHwgZW1wdHkoJHByb3BbJ3NvcnRvcmRlciddKSkKICAgIHsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIGlmKCFpc3NldCgkcHJvcFsnc3RhdHVzJ10pIHx8IGVtcHR5KCRwcm9wWydzdGF0dXMnXSkpCiAgICB7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBpZighaXNzZXQoJHByb3BbJ2xvc3R1bmZsYWcnXSkgfHwgZW1wdHkoJHByb3BbJ2xvc3R1bmZsYWcnXSkpCiAgICB7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgaWYoaXNzZXQoJHByb3BbJ2xlbmd0aCddKSkKICAgIHsKICAgICAgaWYoZW1wdHkoJHByb3BbJ2xlbmd0aCddKSkKCXsKCSAgcmV0dXJuIEZBTFNFOwoJfQogICAgICBpZihpbnR2YWwoJHByb3BbJ2xlbmd0aCddKSA9PSAwKQoJewoJICByZXR1cm4gRkFMU0U7Cgl9CiAgICB9CiAgaWYoaXNzZXQoJHByb3BbJ21heGxlbmd0aCddKSkKICAgIHsKICAgICAgaWYoZW1wdHkoJHByb3BbJ21heGxlbmd0aCddKSkKCXsKCSAgcmV0dXJuIEZBTFNFOwoJfQogICAgICBpZihpbnR2YWwoJHByb3BbJ21heGxlbmd0aCddKSA9PSAwKQoJewoJICByZXR1cm4gRkFMU0U7Cgl9CiAgICB9CgogICR0eXBlID0gaW50dmFsKCRwcm9wWyd0eXBlJ10pOwogIGlmKCAkdHlwZSA+IDYgfHwgJHR5cGUgPCAwICkgcmV0dXJuIEZBTFNFOwogIGlmKCAkdHlwZSA9PSA0IHx8ICR0eXBlID09IDUgKQogICAgewogICAgICAvLyBjaGVjayBmb3Igb3B0aW9ucwogICAgICBpZiggIWlzc2V0KCRwcm9wWydvcHRpb25zJ10pIHx8ICFpc19hcnJheSgkcHJvcFsnb3B0aW9ucyddKSApCgl7CgkgIHJldHVybiBGQUxTRTsKCX0KCiAgICAgIGZvcmVhY2goICRwcm9wWydvcHRpb25zJ10gYXMgJG9uZW9wICkKCXsKCSAgaWYoICFpc3NldCgkb25lb3BbJ25hbWUnXSkgfHwgIWlzc2V0KCRvbmVvcFsndGV4dCddKSApCgkgICAgewoJICAgICAgcmV0dXJuIEZBTFNFOwoJICAgIH0KCX0KICAgIH0KCiAgcmV0dXJuIFRSVUU7Cn0KCgppZiggaXNzZXQoICRwYXJhbXNbJ2NhbmNlbCddICkgKQogIHsKICAgICRwYXJtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2dyb3VwcycpOwogICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJtcyApOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXQnXSApICkKICB7CiAgICAvLwogICAgLy8gU3VibWl0IHdhcyBwcmVzc2VkCiAgICAvLwogICAgaWYoICFpc3NldCggJF9GSUxFU1skaWQuJ3htbGZpbGUnXSApICkKICAgICAgewoJJHBhcm1zID0gYXJyYXkoKTsKCSRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ191cGxvYWQnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CiAgICAkdGhlZmlsZSA9JiAkX0ZJTEVTWyRpZC4neG1sZmlsZSddOwogICAgaWYoICR0aGVmaWxlWyd0eXBlJ10gIT0gJ3RleHQveG1sJyB8fAoJJHRoZWZpbGVbJ3NpemUnXSA9PSAwIHx8CgkkdGhlZmlsZVsnZXJyb3InXSAhPSAwICkKICAgICAgewoJJHBhcm1zID0gYXJyYXkoKTsKCSRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcHJvYmxlbV91cGxvYWQnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8KICAgIC8vIFdlIGdvdCBhbiBYTUwgZmlsZSAoaG9wZSBpdCdzIHRoZSByaWdodCBvbmUKICAgIC8vIG5vdyB3ZSBjYW4gdHJ5IHRvIHBhcnNlIGl0IAogICAgLy8KCiAgICAkeG1sID0gZmlsZV9nZXRfY29udGVudHMoICR0aGVmaWxlWyd0bXBfbmFtZSddICk7CiAgICAkcGFyc2VyID0geG1sX3BhcnNlcl9jcmVhdGUoKTsKICAgICRyZXQgPSB4bWxfcGFyc2VfaW50b19zdHJ1Y3QoICRwYXJzZXIsICR4bWwsICR2YWwsICR4dCApOwogICAgeG1sX3BhcnNlcl9mcmVlKCAkcGFyc2VyICk7CgogICAgaWYoICRyZXQgPT0gMCApCiAgICAgIHsKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2JhZF94bWwnKS4nIDEnOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLwogICAgLy8gV2UgaGF2ZSBzb21lIGtpbmQgb2YgdmFsaWQgWE1MCiAgICAvLwogICAgJG9uZXByb3BlcnR5ID0gYXJyYXkoKTsKICAgICRvbmVvcHRpb24gPSBhcnJheSgpOwogICAgJGhhdmVfY29tcGxldGVfZ3JvdXAgPSBmYWxzZTsKICAgICRncnBfaW5mbyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkdmFsIGFzICRlbGVtICkKICAgICAgewoJJHZhbHVlID0gKGlzc2V0KCRlbGVtWyd2YWx1ZSddKT8kZWxlbVsndmFsdWUnXTonJyk7CgkkdHlwZSA9IChpc3NldCgkZWxlbVsndHlwZSddKT8kZWxlbVsndHlwZSddOicnKTsKCSR0YWcgPSBzdHJ0b2xvd2VyKCRlbGVtWyd0YWcnXSk7CgkkZmxkID0gc3Vic3RyKCR0YWcsc3RycG9zKCR0YWcsJ18nKSsxKTsKCglzd2l0Y2goICR0YWcgKQoJICB7CgkgIGNhc2UgJ2ZldV9ncm91cCc6CgkgICAgewoJICAgICAgaWYoICR0eXBlICE9ICdjb21wbGV0ZScgJiYgJHR5cGUgIT0gJ2Nsb3NlJyApIGNvbnRpbnVlOwoJICAgICAgaWYoICFjaGVja19ncm91cF9jb21wbGV0ZSgkZ3JwX2luZm8pICkKCQl7CgkJICAvLyBhbiBlcnJvciB0aGF0IHdlIHNob3VsZCBuZXZlciBnZXQKCQkgICRwYXJtcyA9IGFycmF5KCk7CgkJICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJCSAgJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2JhZF94bWwnKS4nIDInOwoJCSAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CgkJICByZXR1cm47CgkJfQoJICAgICAgLy8gd2Ugc2hvdWxkIGhhdmUgYSBjb21wbGV0ZSBncm91cCBhdCB0aGlzIHBvaW50CgkgICAgICAkaGF2ZV9jb21wbGV0ZV9ncm91cCA9IHRydWU7CgkgICAgICBicmVhazsKCSAgICB9CgoJICBjYXNlICdncnBfbmFtZSc6CgkgIGNhc2UgJ2dycF9kZXNjcmlwdGlvbic6CgkgICAgewoJICAgICAgaWYoICR0eXBlICE9ICdjb21wbGV0ZScgJiYgJHR5cGUgIT0gJ2Nsb3NlJyApIGNvbnRpbnVlOwoJICAgICAgaWYoIGlzc2V0KCRncnBfaW5mb1skZmxkXSkgKQoJCXsKCQkgIC8vIGFuIGVycm9yIHRoYXQgd2Ugc2hvdWxkIG5ldmVyIGdldAoJCSAgJHBhcm1zID0gYXJyYXkoKTsKCQkgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkJICAkcGFybXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfYmFkX3htbCcpLicgMyc7CgkJICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCQkgIHJldHVybjsKCQl9CgkgICAgICAkZ3JwX2luZm9bJGZsZF0gPSAkdmFsdWU7CgkgICAgICBicmVhazsKCSAgICB9CgoKCSAgY2FzZSAncHJvcGVydHknOgoJICAgIHsKCSAgICAgIGlmKCAkdHlwZSAhPSAnY29tcGxldGUnICYmICR0eXBlICE9ICdjbG9zZScgKSBjb250aW51ZTsKCSAgICAgIGlmKCAhY2hlY2tfcHJvcGVydHlfY29tcGxldGUoJG9uZXByb3BlcnR5KSApCgkJewoJCSAgLy8gYW4gZXJyb3IgdGhhdCB3ZSBzaG91bGQgbmV2ZXIgZ2V0CgkJICAkcGFybXMgPSBhcnJheSgpOwoJCSAgJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCQkgICRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9iYWRfeG1sJykuJyA0JzsKCQkgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJCSAgcmV0dXJuOwoJCX0KCSAgICAgIGlmKCAhaXNzZXQoJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10pICkKCQl7CgkJICAkZ3JwX2luZm9bJ3Byb3BlcnRpZXMnXSA9IGFycmF5KCk7CgkJfQoJICAgICAgJGdycF9pbmZvWydwcm9wZXJ0aWVzJ11bXSA9ICRvbmVwcm9wZXJ0eTsKCSAgICAgICRvbmVwcm9wZXJ0eSA9IGFycmF5KCk7CgkgICAgICBicmVhazsKCSAgICB9CgoJICBjYXNlICdwcm9wX25hbWUnOgoJICBjYXNlICdwcm9wX3Byb21wdCc6CgkgIGNhc2UgJ3Byb3BfdmFsdWUnOgoJICBjYXNlICdwcm9wX3R5cGUnOgoJICBjYXNlICdwcm9wX2xlbmd0aCc6CgkgIGNhc2UgJ3Byb3BfbWF4bGVuZ3RoJzoKCSAgY2FzZSAncHJvcF9zb3J0b3JkZXInOgoJICBjYXNlICdwcm9wX3N0YXR1cyc6CgkgIGNhc2UgJ3Byb3BfbG9zdHVuZmxhZyc6CgkgICAgewoJICAgICAgaWYoICR0eXBlICE9ICdjb21wbGV0ZScgJiYgJHR5cGUgIT0gJ2Nsb3NlJyApIGNvbnRpbnVlOwoJICAgICAgaWYoIGlzc2V0KCAkb25lcHJvcGVydHlbJGZsZF0gKSApCgkJewoJCSAgLy8gYW4gZXJyb3IgdGhhdCB3ZSBzaG91bGQgbmV2ZXIgZ2V0CgkJICAkcGFybXMgPSBhcnJheSgpOwoJCSAgJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCQkgICRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9iYWRfeG1sJykuJyA1JzsKCQkgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJCSAgcmV0dXJuOwoJCX0KCSAgICAgICRvbmVwcm9wZXJ0eVskZmxkXSA9ICR2YWx1ZTsKCSAgICAgIGJyZWFrOwoJICAgIH0KCgkgIGNhc2UgJ3Byb3Bfb3B0aW9uJzoKCSAgICB7CgkgICAgICBpZiggJHR5cGUgIT0gJ2NvbXBsZXRlJyAmJiAkdHlwZSAhPSAnY2xvc2UnICkgY29udGludWU7CgkgICAgICAkb25lcHJvcGVydHlbJ29wdGlvbnMnXVtdID0gJG9uZW9wdGlvbjsKCSAgICAgICRvbmVvcHRpb24gPSBhcnJheSgpOwoJICAgICAgYnJlYWs7CgkgICAgfQoKCSAgY2FzZSAnb3BfbmFtZSc6CgkgIGNhc2UgJ29wX3RleHQnOgoJICAgIHsKCSAgICAgIGlmKCAkdHlwZSAhPSAnY29tcGxldGUnICYmICR0eXBlICE9ICdjbG9zZScgKSBjb250aW51ZTsKCSAgICAgICRvbmVvcHRpb25bJGZsZF0gPSAkdmFsdWU7CgkgICAgICBicmVhazsKCSAgICB9CgkgIH0gLy8gc3dpdGNoCiAgICAgIH0gLy8gZm9yZWFjaAoKICAgIC8vCiAgICAvLyBJZiB3ZSBnb3QgaGVyZSwgd2UgcGFyc2VkIHRoZSB4bWwgZmlsZSBwcm9wZXJseQogICAgLy8gYW5kIGl0IGxvb2tzIGdvb2QuCiAgICAvLwoKICAgIC8vIElmIHRoZSBuZXduYW1lIGlzIHNldCwgd2UnbGwgdXNlIHRoYXQKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9uZXduYW1lJ10pICYmCgkkcGFyYW1zWydpbnB1dF9uZXduYW1lJ10gIT0gJycgKQogICAgICB7CgkkZ3JwX2luZm9bJ25hbWUnXSA9ICRwYXJhbXNbJ2lucHV0X25ld25hbWUnXTsKICAgICAgfQoKICAgIGlmKCAkdGhpcy0+R3JvdXBFeGlzdHNCeU5hbWUoICRncnBfaW5mb1snbmFtZSddICkgKQogICAgICB7CgkvLyBhbiBlcnJvciB0aGF0IHdlIHNob3VsZCBuZXZlciBnZXQKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2dyb3VwZXhpc3RzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgJHBhcm1zKTsKCXJldHVybjsKICAgICAgfQoKICAgIGlmKCAhaXNzZXQoJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10pIHx8CgkhaXNfYXJyYXkoJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10pIHx8CgkoY291bnQoJGdycF9pbmZvWydwcm9wZXJ0aWVzJ10pID09IDApICkKICAgICAgewoJLy8gbm8gcHJvcGVydGllcz8KCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb3BlcnRpZXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8gTm93IGFkZCB0aGUgcHJvcGVydGllcwogICAgLy8gKGZpcnN0IHNjYW4gZm9yIG5hbWVzKQogICAgJHBhc3NlZCA9IHRydWU7CiAgICBmb3JlYWNoKCAkZ3JwX2luZm9bJ3Byb3BlcnRpZXMnXSBhcyAkb25lcHJvcCApCiAgICAgIHsKCSRyZXMgPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZuKCAkb25lcHJvcFsnbmFtZSddICk7CglpZiggaXNfYXJyYXkoJHJlcykgKQoJICB7CgkgICAgJHBhc3NlZCA9IGZhbHNlOwoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0KICAgIGlmKCAhJHBhc3NlZCApCiAgICAgIHsKCS8vIG5vIHByb3BlcnRpZXM/CgkkcGFybXMgPSBhcnJheSgpOwoJJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAnZ3JvdXBzJzsKCSRwYXJtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kdXBfcHJvcGVydGllcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLwogICAgLy8gTm93IHJlYWxseSBhZGQgdGhlbQogICAgLy8KICAgIGZvcmVhY2goICRncnBfaW5mb1sncHJvcGVydGllcyddIGFzICRvbmVwcm9wICkKICAgICAgewoJJHJlcyA9ICR0aGlzLT5BZGRQcm9wZXJ0eURlZm4oJG9uZXByb3BbJ25hbWUnXSwKCQkJCSAgICAgICRvbmVwcm9wWydwcm9tcHQnXSwKCQkJCSAgICAgICRvbmVwcm9wWyd0eXBlJ10sCgkJCQkgICAgICAkb25lcHJvcFsnbGVuZ3RuJ10sCgkJCQkgICAgICAkb25lcHJvcFsnbWF4bGVuZ3RoJ10pOwoJaWYoIGlzX2FycmF5KCAkcmVzICkgJiYgJHJlc1swXSA9PT0gRkFMU0UgKQoJICB7CgkgICAgLy8gZm9yIHNvbWUgZHVtYiByZWFzb24sIHdlIHN0aWxsIGNvdWxkbid0IGluc2VydCAKCSAgICAvLyB0aGUgcHJvcGVydHkKCSAgICAkcGFybXMgPSBhcnJheSgpOwoJICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkgICAgJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbnRhZGRwcm9wJyk7CgkgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CgkgICAgcmV0dXJuOwoJICB9CgoJaWYoICRvbmVwcm9wWyd0eXBlJ10gPT0gNCB8fCAkb25lcHJvcFsndHlwZSddID09IDUgKQoJICB7CgkgICAgLy8gaXQncyBhIHNlbGVjdCB0eXBlCgkgICAgJG9wcyA9IGFycmF5KCk7CgkgICAgZm9yZWFjaCggJG9uZXByb3BbJ29wdGlvbnMnXSBhcyAkb25lb3AgKQoJICAgICAgewoJCSRvcHNbXSA9ICRvbmVvcFsndGV4dCddLic9Jy4kb25lb3BbJ25hbWUnXTsKCSAgICAgIH0KCSAgICAkcmVzID0gJHRoaXMtPkFkZFNlbGVjdE9wdGlvbnMoICRvbmVwcm9wWyduYW1lJ10sICRvcHMgKTsKCSAgICBpZiggJHJlc1swXSA9PSBGQUxTRSApCgkgICAgICB7CgkJLy8gZm9yIHNvbWUgZHVtYiByZWFzb24sIHdlIHN0aWxsIGNvdWxkbid0IGluc2VydCAKCQkvLyB0aGUgcHJvcGVydHkKCQkkcGFybXMgPSBhcnJheSgpOwoJCSRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CgkJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbnRhZGRwcm9wJyk7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CgkJcmV0dXJuOwoJICAgICAgfQoJICB9CiAgICAgIH0KCiAgICAvLyBXb29ob28sIHRoZSBwcm9wZXJ0aWVzIHdlcmUgYWRkZWQKICAgIC8vIE5vdyB0byBhZGQgdGhlIGdyb3VwIGl0c2VsZi4KICAgICRyZXMgPSAkdGhpcy0+QWRkR3JvdXAoJGdycF9pbmZvWyduYW1lJ10sCgkJCSAgICRncnBfaW5mb1snZGVzY3JpcHRpb24nXSk7CiAgICBpZiggaXNfYXJyYXkoICRyZXMgKSAmJiAkcmVzWzBdID09PSBGQUxTRSApCiAgICAgIHsKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbnRhZGRncm91cCcpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsICRwYXJtcyk7CglyZXR1cm47CiAgICAgIH0KICAgICRncnBpZCA9ICRyZXNbMV07CgogICAgLy8gYW5kIGFzc29jaWF0ZSB0aGUgcHJvcGVydGllcyB3aXRoIHRoZSBncm91cAogICAgJGVycm9yID0gZmFsc2U7CiAgICBmb3JlYWNoKCAkZ3JwX2luZm9bJ3Byb3BlcnRpZXMnXSBhcyAkb25lcHJvcCApCiAgICAgIHsKCS8vIGlmIGl0J3MgYW4gb3B0aW9uIHR5cGUgKHR5cGUgNCBvciA1KSB0aGVuCgkvLyBhZGQgdGhlIG9wdGlvbnMKCSRyZXMgPSAkdGhpcy0+QWRkR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkZ3JwaWQsIAoJCQkJCQkkb25lcHJvcFsnbmFtZSddLAoJCQkJCQkkb25lcHJvcFsnc29ydG9yZGVyJ10sIAoJCQkJCQkkb25lcHJvcFsnbG9zdHVuZmxhZyddLCAKCQkJCQkJJycgKTsKCWlmKCAkcmVzWzBdID09PSBGQUxTRSApCgkgIHsKCSAgICAkZXJyb3IgPSB0cnVlOwoJICB9CiAgICAgIH0KICAgIGlmKCAkZXJyb3IgPT0gdHJ1ZSApCiAgICAgIHsKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICdncm91cHMnOwoJJHBhcm1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLCAkcGFybXMpOwoJcmV0dXJuOwogICAgICB9CgogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snYWN0aXZlX3RhYiddID0gJ2dyb3Vwcyc7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwkcGFybXMpOwogIH0gLy8gaWYKCi8vIFByb3ZpZGUgYSBzaW1wbGUgZm9ybSB0aGF0IGFsbG93cyBwZW9wbGUgdG8gY2hvb3NlIHRoZSBmaWxlIHRvIGltcG9ydAokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2ltcG9ydGdyb3VwJywkcmV0dXJuaWQsCgkJCQkgICAgICAgJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ZpbGVuYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X2ltcG9ydHhtbGZpbGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZmlsZW5hbWUnLAoJCSR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd4bWxmaWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9uZXduYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X25ld2dyb3VwbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9uZXduYW1lJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbmV3bmFtZScpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnaW1wb3J0Z3JvdXAudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_logout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogRnJvbnRFbmRVc2VycyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZAojICB1c2VycywgYW5kIHRoZWlyIGxvZ2luIHByb2Nlc3Mgd2l0aGluIGEgQ01TIE1hZGUgU2ltcGxlIHBvd2VyZWQgCiMgIHdlYnNpdGUuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdHVzZXJzJykgKSB7CglpZiggaXNzZXQoJHBhcmFtc1sndXNlcl9pZCddKSApIHsKCQkkdGhpcy0+TG9nb3V0VXNlcigkcGFyYW1zWyd1c2VyX2lkJ10sCgkJCQkJCQkJCQkJJHRoaXMtPkxhbmcoJ2FkbWluX2xvZ291dCcpKTsKCX0KfQoJCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_setlostun_template.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ3RlbXBsYXRlcycpICkgcmV0dXJuOwoKaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0cyddICkgKQogIHsKICAgIC8vCiAgICAvLyBSZXNldCB0byBmYWN0b3J5IGRlZmF1bHRzCiAgICAvLwogICAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19sb3N0dW5mb3JtX2NvbmZpcm1fdGVtcGxhdGUudHBsJyk7CiAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKICAgICAgewoJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9zdHVuZm9ybV9jb25maXJtJywkdGVtcGxhdGUpOwogICAgICB9CgogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnbG9zdHVzZXJuYW1lX3RlbXBsYXRlJyApOwogICAgcmV0dXJuOwogIH0KCgppZiggaXNzZXQoICRwYXJhbXNbJ3N1Ym1pdCddICkgKQogIHsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb3N0dW5mb3JtJyx0cmltKCRwYXJhbXNbJ2xvc3R1bmZvcm0nXSkpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvc3R1bmZvcm1fY29uZmlybScsdHJpbSgkcGFyYW1zWydsb3N0dW5mb3JtX2NvbmZpcm0nXSkpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnbG9zdHVzZXJuYW1lX3RlbXBsYXRlJyApOwogICAgcmV0dXJuOwogIH0KCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_setviewuser_template.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd0ZW1wbGF0ZXMnKSApIHJldHVybjsKCmlmKCBpc3NldCgkcGFyYW1zWydkZWZhdWx0cyddKSApCiAgewogICAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ192aWV3dXNlcl90ZW1wbGF0ZS50cGwnKTsKICAgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogICAgICB7CgkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc192aWV3dXNlcicsJHRlbXBsYXRlKTsKICAgICAgfQoKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3ZpZXdfdXNlcicgKTsKICAgIHJldHVybjsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfdmlld3VzZXInLHRyaW0oJHBhcmFtc1sndmlld3VzZXJfdGVtcGxhdGUnXSkpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAndmlld191c2VyJyApOwogICAgcmV0dXJuOwogIH0KLyoKICogRU9GCiAqLwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpmdW5jdGlvbiBfRGlzcGxheUFkbWluTG9naW5UZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCnsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2RvX3NldGxvZ2ludGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZScsJG1vZHVsZS0+TGFuZygndGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlJywKCQkJICAkbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2xvZ2luZm9ybScpLAoJCQkJCQkgICAndGVtcGxhdGVsb2dpbmZvcm0nKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdHMnLAoJCQkJCQkgICAgICAkbW9kdWxlLT5MYW5nKCdkZWZhdWx0cycpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlZm9ybS50cGwnKTsKfQoKCmZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5Mb2dvdXRUZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCnsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2RvX3NldGxvZ291dHRlbXBsYXRlJykpOwogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUnLCRtb2R1bGUtPkxhbmcoJ3RlbXBsYXRlJykpOwogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19sb2dvdXRmb3JtJyksCgkJCQkJCSAgICd0ZW1wbGF0ZWxvZ291dGZvcm0nKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdHMnLAoJCQkJCQkgICAgICAkbW9kdWxlLT5MYW5nKCdkZWZhdWx0cycpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlZm9ybS50cGwnKTsKfQoKCmZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5DaGFuZ2VTZXR0aW5nc1RlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKewogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fc2V0Y2hhbmdlc2V0dGluZ3N0ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywkbW9kdWxlLT5MYW5nKCd0ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhKCBmYWxzZSwgJGlkLAoJCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ2ZldXNlcnNfY2hhbmdlc2V0dGluZ3Nmb3JtJyksCgkJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdHMnLAoJCQkJCQkgICAgICAkbW9kdWxlLT5MYW5nKCdkZWZhdWx0cycpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlZm9ybS50cGwnKTsKfQoKCmZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5Gb3Jnb3RQYXNzd29yZFRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKewogICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fc2V0Zm9yZ290cHd0ZW1wbGF0ZScpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlMScsJG1vZHVsZS0+TGFuZygnZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlMScsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGZvcm0nKSwKCQkJCQkJICAgJ3RlbXBsYXRlY29udGVudDEnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZTInLCRtb2R1bGUtPkxhbmcoJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlMicsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGVtYWlsZm9ybScpLAoJCQkJCQkgICAndGVtcGxhdGVjb250ZW50MicpKTsKICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlMycsJG1vZHVsZS0+TGFuZygnZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlMycsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZHZlcmlmeWZvcm0nKSwKCQkJCQkJICAgJ3RlbXBsYXRlY29udGVudDMnKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsCgkJCQkJCSAgICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdHMnLAoJCQkJCQkgICAgICAkbW9kdWxlLT5MYW5nKCdkZWZhdWx0cycpKSk7CiAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGUoJ2ZvcmdvdHB3X3RlbXBsYXRlZm9ybS50cGwnKTsKfQoKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIERPIFRIRSBBQ1RJT04KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZ2xvYmFsICRnQ21zOwppZiAoISAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygpKSAgewogIGVjaG8gIkJyZWFraW5nIGFuIGVudHJ5LCBhcmUgd2U/IjsKICByZXR1cm47CiB9CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CgokYWN0aXZlX3RhYiA9ICd1c2Vycyc7CmlmKCBpc3NldCggJHBhcmFtc1snYWN0aXZlX3RhYiddICkgKQogIHsKICAgICRhY3RpdmVfdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRwYXJhbXNbJ2Vycm9yJ10pOwogIH0KCi8vIHRoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwoKaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdwcm9wZXJ0aWVzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ3Byb3BlcnRpZXMnLCAkdGhpcy0+TGFuZygndXNlcl9wcm9wZXJ0aWVzJyksCgkJCSAgICAgICgkYWN0aXZlX3RhYiA9PSAncHJvcGVydGllcycpKTsKICB9CmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygndXNlcnNuZ3JvdXBzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ2dyb3VwcycsICR0aGlzLT5MYW5nKCdncm91cHMnKSwoJGFjdGl2ZV90YWIgPT0gJ2dyb3VwcycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ3VzZXJzJywgJHRoaXMtPkxhbmcoJ3VzZXJzJyksKCRhY3RpdmVfdGFiID09ICd1c2VycycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ3VzZXJoaXN0b3J5JywgJHRoaXMtPkxhbmcoJ3VzZXJoaXN0b3J5JyksKCRhY3RpdmVfdGFiID09ICd1c2VyaGlzdG9yeScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ2FkbWluJywgJHRoaXMtPkxhbmcoJ2FkbWluJyksKCRhY3RpdmVfdGFiID09ICdhZG1pbicpKTsKICB9CmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnc2l0ZXByZWZzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ3ByZWZzJywgJHRoaXMtPkxhbmcoJ3ByZWZlcmVuY2VzJyksKCRhY3RpdmVfdGFiID09ICdwcmVmcycpKTsKICB9CmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygndGVtcGxhdGVzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ2xvZ2ludGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnbG9naW5fdGVtcGxhdGUnKSwKCQkJICAgICAgKCRhY3RpdmVfdGFiID09ICdsb2dpbnRlbXBsYXRlJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAnbG9nb3V0dGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnbG9nb3V0X3RlbXBsYXRlJyksCgkJCSAgICAgICgkYWN0aXZlX3RhYiA9PSAnbG9nb3V0dGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoICdjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCdjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZScpLAoJCQkgICAgICAoJGFjdGl2ZV90YWIgPT0gJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCAnZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnKSwKCQkJICAgICAgKCRhY3RpdmVfdGFiID09ICdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciggJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCdsb3N0dXNlcm5hbWVfdGVtcGxhdGUnKSwKCQkJICAgICAgKCRhY3RpdmVfdGFiID09ICdsb3N0dXNlcm5hbWVfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoICd2aWV3X3VzZXInLCAkdGhpcy0+TGFuZygndmlld3VzZXJfdGVtcGxhdGUnKSwKCQkJICAgICAgKCRhY3RpdmVfdGFiID09ICd2aWV3X3VzZXInKSk7CgogIH0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKLy8gVGhlY29udGVudCBvZiB0aGUgdGFicwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygncHJvcGVydGllcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncHJvcGVydGllcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Byb3BlcnRpZXN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CiAgICAKaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd1c2Vyc25ncm91cHMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2dyb3VwcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2dyb3Vwc3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd1c2VycycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3VzZXJzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3VzZXJoaXN0b3J5Jyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLnVzZXJoaXN0b3J5LnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2FkbWluJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fYWRtaW50YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CgppZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ3NpdGVwcmVmcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncHJlZnMnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9wcmVmc3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygndGVtcGxhdGVzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsb2dpbnRlbXBsYXRlJyk7CiAgICBfRGlzcGxheUFkbWluTG9naW5UZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignbG9nb3V0dGVtcGxhdGUnKTsKICAgIF9EaXNwbGF5QWRtaW5Mb2dvdXRUZW1wbGF0ZVRhYiggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnKTsKICAgIF9EaXNwbGF5QWRtaW5DaGFuZ2VTZXR0aW5nc1RlbXBsYXRlVGFiKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScpOwogICAgX0Rpc3BsYXlBZG1pbkZvcmdvdFBhc3N3b3JkVGVtcGxhdGVUYWIoICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZScpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2xvc3R1c2VybmFtZV90ZW1wbGF0ZS5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd2aWV3X3VzZXInKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl92aWV3dXNlcl90ZW1wbGF0ZS5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIH0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.do_addgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkZ3JvdXAnICkgKQogIHsKICAgIHJldHVybjsKICB9CgovLyBhcmUgd2UgY2FuY2VsbGluZwppZiAoaXNzZXQgKCRwYXJhbXNbJ2NhbmNlbCddKSkKICB7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsKICB9CgokZ3JvdXBuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBuYW1lJ10gKSApCiAgewogICAgJGdyb3VwbmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZ3JvdXBuYW1lJ10pOwogIH0KJGdyb3VwZGVzYyA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2dyb3VwZGVzYyddICkgKQogIHsKICAgICRncm91cGRlc2MgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2dyb3VwZGVzYyddKTsKICB9CgovLyBtYWtlIHN1cmUgdGhlIHBhcmFtZXRlcnMgYXJlIGZpbGxlZCBpbgppZiggJGdyb3VwbmFtZSA9PSAnJyB8fCAkZ3JvdXBkZXNjID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gJzEnOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXJhbXMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGRncm91cCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIG1ha2Ugc3VyZSB0aGUgZ3JvdXAgbmFtZSBkb2Vzbid0IGFscmVhZHkgZXhpc3QKaWYoICR0aGlzLT5HZXRHcm91cElEKCAkZ3JvdXBuYW1lICkgIT0gZmFsc2UgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAnMSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZ3JvdXBleGlzdHMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGRncm91cCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCiRyZWxuYWRkZWQgPSAwOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCnsKICAkcHJvcG5hbWUgPSAnJzsKICAkc29ydG9yZGVyID0gJyc7CiAgJGxvc3R1biA9IC0xOwogIGlmKCBwcmVnX21hdGNoKCAnL15pbnB1dF9yZXF1aXJlZF8vJywgJGtleSApICYmICgkdmFsICE9IDApICkKICAgIHsKICAgICAgJHJlbG5hZGRlZCsrOwogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2lucHV0X3JlcXVpcmVkXycpKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICBpZiggKCR2YWwgPT0gMCB8fCAkdmFsID09IDMgfHwgJHZhbCA9PSA0KSAmJiAkbG9zdHVuID09IDEgKQogICAgewogICAgICAvLyB0aGlzIGlzIG5vdCBnb29kLgogICAgICAvLyBpdCBjYW4ndCBiZSBoaWRkZW4sIHJlYWRvbmx5LCBvciBvZmYgYW5kIGJlIAogICAgICAvLyBzZXQgaW4gdGhlIGxvc3R1biBmbGFnCiAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAnMSc7CiAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub3JlbGF0aW9ucycpOwogICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnYWRkZ3JvdXAnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgICByZXR1cm47CiAgICB9Cgp9CmlmKCAkcmVsbmFkZGVkID09IDAgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAnMSc7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9yZWxhdGlvbnMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGRncm91cCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIHdlJ3JlIGNsZWFyIHRvIGFkZAokcmV0ID0gJHRoaXMtPkFkZEdyb3VwKCAkZ3JvdXBuYW1lLCAkZ3JvdXBkZXNjICk7CmlmKCAkcmV0WzBdID09IEZBTFNFICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gJzEnOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJldFsxXTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGRncm91cCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIGFsc28gYWRkIHRoZSBwcm9wZXJ0eSBjaG9pY2VzCiR0aGlzLT5EZWxldGVBbGxHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkcmV0WzFdICk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogICRwcm9wbmFtZSA9ICcnOwogICRzb3J0b3JkZXIgPSAnJzsKICAkbG9zdHVuID0gLTE7CiAgaWYoIHByZWdfbWF0Y2goICcvXmlucHV0X3JlcXVpcmVkXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2lucHV0X3JlcXVpcmVkXycpKTsKICAgIH0KICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3NvcnRvcmRlcl8nLiRwcm9wbmFtZV0gKSApCiAgICB7CiAgICAgICRzb3J0b3JkZXIgPSAkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXJfJy4kcHJvcG5hbWVdOwogICAgfQogIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbG9zdHVuXycuJHByb3BuYW1lXSApICkKICAgIHsKICAgICAgJGxvc3R1biA9IDE7CiAgICB9CiAgCiAgaWYoICR2YWwgIT0gMCAmJiAkcHJvcG5hbWUgIT0gJycpCiAgICB7CiAgICAgICR0aGlzLT5BZGRHcm91cFByb3BlcnR5UmVsYXRpb24oICRyZXRbMV0sICRwcm9wbmFtZSwgJHNvcnRvcmRlciwgJGxvc3R1biwgJHZhbCApOwogICAgfQp9CgovLyBzZW5kIGFuIGV2ZW50CiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1snbmFtZSddID0gJGdyb3VwbmFtZTsKJHBhcm1zWydkZXNjcmlwdGlvbiddID0gJGdyb3VwZGVzYzsKJHBhcm1zWydpZCddID0gJHJldFsxXTsKJHRoaXMtPlNlbmRFdmVudCgnT25DcmVhdGVHcm91cCcsJHBhcm1zKTsKJHRoaXMtPl9TZW5kTm90aWZpY2F0aW9uRW1haWwoJ09uQ3JlYXRlR3JvdXAnLCRwYXJtcyk7CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsgCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_addprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkcHJvcCcgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKICAgIC8vIGFyZSB3ZSBjYW5jZWxsaW5nCiAgICBpZiAoaXNzZXQgKCRwYXJhbXNbJ2NhbmNlbCddKSkKICAgICAgewoJJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcm9wZXJ0aWVzJyApOwogICAgICB9CiAgICAKICAgICRuYW1lID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddICkgKSB7CiAgICAgICRuYW1lID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWydpbnB1dF9uYW1lJ10sdHJ1ZSk7CiAgICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJy0nLCdfJywkbmFtZSk7CiAgICB9CiAgICAkcHJvbXB0ID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcHJvbXB0J10gKSApIHsKICAgICAgJHByb21wdCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pOwogICAgfQogICAgJHR5cGUgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF90eXBlJ10pICkgewogICAgICAkdHlwZSA9ICRwYXJhbXNbJ2lucHV0X3R5cGUnXTsKICAgIH0KICAgICRzZWxvcHRpb25zID0gJyc7CiAgICAkb3B0aW9ucyA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3NlbG9wdGlvbnMnXSApICkgewogICAgICAkc2Vsb3B0aW9ucyA9ICRwYXJhbXNbJ2lucHV0X3NlbG9wdGlvbnMnXTsKICAgICAgJG9wdGlvbnMgPSBleHBsb2RlKCJcbiIsICRzZWxvcHRpb25zKTsKICAgIH0KICAgIAogICAgLy8gbm93IGNoZWNrIGV2ZXJ5dGhpbmcgb3V0CiAgICAvLyB0b2RvLCBhZGQgYSBtYXhpbXVtIGZpZWxkIGxlbmd0aCBwcmVmZXJlbmNlCiAgICBpZiggJG5hbWUgPT0gJycgfHwgJHByb21wdCA9PSAnJyApewogICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXJhbXMnKTsKICAgICAgJHRoaXMtPm15UmVkaXJlY3QoJGlkLCdhZGRwcm9wJywkcmV0dXJuaWQsJHBhcmFtcyk7CiAgICAgIHJldHVybjsKICAgIH0gCgogICAgc3dpdGNoKCR0eXBlKXsKICAgIGNhc2UgMDoKICAgIGNhc2UgMjoKICAgICAgJGxlbmd0aCA9IDIwOwogICAgICAkbWF4bGVuZ3RoID0gMjA7CiAgICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKCSRsZW5ndGggPSB0cmltKCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddKTsKICAgICAgfQogICAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X21heGxlbmd0aCddICkgKSB7CgkkbWF4bGVuZ3RoID0gdHJpbSgkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSk7CiAgICAgIH0KICAgICAgYnJlYWs7CiAgICBjYXNlIDE6CiAgICAgICRsZW5ndGggPSAxOwogICAgICBicmVhazsKICAgIGNhc2UgMzoKICAgICAgJGxlbmd0aCA9IDI1NTsKICAgICAgYnJlYWs7CiAgICBjYXNlIDQ6CiAgICAgIC8vIGRyb3Bkb3duCiAgICAgIC8vIGdldCB0aGUgbnVtYmVyIG9mIGVtcHR5IHZhbHVlcwogICAgICAvLyBhbmQgc3VidHJhY3QgaXQgZnJvbSB0aGUgYXJyYXkgY291bnQKICAgICAgJGVsZW1lbnRfY291bnRfYXJyYXkgPSBhcnJheV9jb3VudF92YWx1ZXMoJG9wdGlvbnMpOwogICAgICAkZW1wdHlfZWxlbWVudF9jb3VudCA9IAoJJGVsZW1lbnRfY291bnRfYXJyYXlbIiJdICsKCSRlbGVtZW50X2NvdW50X2FycmF5WyJcciJdICsKCSRlbGVtZW50X2NvdW50X2FycmF5WyJfXyJdICsKCSRlbGVtZW50X2NvdW50X2FycmF5WyJfX1xyIl07CiAgICAgICRsZW5ndGggPSBjb3VudCgkb3B0aW9ucykgLSAkZW1wdHlfZWxlbWVudF9jb3VudDsKICAgICAgYnJlYWs7CiAgICBjYXNlIDU6CiAgICAgIC8vIG11bHRpc2VsZWN0CiAgICAgIC8vIGdldCB0aGUgbnVtYmVyIG9mIGVtcHR5IHZhbHVlcwogICAgICAvLyBhbmQgc3VidHJhY3QgaXQgZnJvbSB0aGUgYXJyYXkgY291bnQKICAgICAgJGVsZW1lbnRfY291bnRfYXJyYXkgPSBhcnJheV9jb3VudF92YWx1ZXMoJG9wdGlvbnMpOwogICAgICAkZW1wdHlfZWxlbWVudF9jb3VudCA9IAoJJGVsZW1lbnRfY291bnRfYXJyYXlbIiJdICsKCSRlbGVtZW50X2NvdW50X2FycmF5WyJcciJdICsKCSRlbGVtZW50X2NvdW50X2FycmF5WyJfXyJdICsKCSRlbGVtZW50X2NvdW50X2FycmF5WyJfX1xyIl07CiAgICAgICRsZW5ndGggPSBjb3VudCgkb3B0aW9ucykgLSAkZW1wdHlfZWxlbWVudF9jb3VudDsKICAgICAgYnJlYWs7CiAgICAgIGJyZWFrOwogICAgY2FzZSA2OgogICAgICAvLyBpbWFnZQogICAgICAkbGVuZ3RoID0gODA7CiAgICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10gKSApIHsKCSRsZW5ndGggPSB0cmltKCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddKTsKICAgICAgfQogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgICRsZW5ndGggPSAxOwogICAgfSAgICAKCiAgICBpZiggKCgkdHlwZSA9PSAwIHx8ICR0eXBlID09IDIpICYmICggJGxlbmd0aCA8IDEgfHwgJGxlbmd0aCA+IDI1NSB8fCAkbWF4bGVuZ3RoIDwgMSB8fCAkbWF4bGVuZ3RoID4gMTAyNCB8fCAkbWF4bGVuZ3RoIDwgJGxlbmd0aCApKSB8fAoJKCgkdHlwZSA9PSA0IHx8ICR0eXBlID09IDUpICYmICRzZWxvcHRpb25zID09ICcnICkgfHwKCSgoJHR5cGUgPT0gNikgJiYgKCRsZW5ndGggPCA1MCB8fCAkbGVuZ3RoID4gMTAyNCkpCgkpewogICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXJhbXMnKTsKICAgICAgJHRoaXMtPm15UmVkaXJlY3QoJGlkLCdhZGRwcm9wMicsJHJldHVybmlkLCRwYXJhbXMpOwogICAgICByZXR1cm47CiAgICB9CgogICAgCiAgICAvLyBBZGQgc2VsZWN0IG9wdGlvbnMKICAgIGlmICgkc2Vsb3B0aW9ucykgewogICAgICAkcmVzdWx0ID0gJHRoaXMtPkFkZFNlbGVjdE9wdGlvbnMoICRuYW1lLCAkb3B0aW9ucyApOwogICAgICBpZiggISRyZXN1bHRbMF0gKSB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CgkkdGhpcy0+bXlSZWRpcmVjdCgkaWQsJ2FkZHByb3AnLCRyZXR1cm5pZCwkcGFyYW1zKTsKICAgICAgfQogICAgfQoKICAgIAogICAgLy8gYW5kIGFkZCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbgogICAgJHJlc3VsdCA9ICR0aGlzLT5BZGRQcm9wZXJ0eURlZm4oICRuYW1lLCAkcHJvbXB0LCAkdHlwZSwgJGxlbmd0aCwgJG1heGxlbmd0aCApOwogICAgaWYoICEkcmVzdWx0WzBdICkgewogICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdFsxXTsKICAgICAgJHRoaXMtPm15UmVkaXJlY3QoJGlkLCdhZGRwcm9wJywkcmV0dXJuaWQsJHBhcmFtcyk7CiAgICB9CiAgICAKICAgICR0aGlzLT5teVJlZGlyZWN0dG9UYWIoICRpZCwgJ3Byb3BlcnRpZXMnICk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.do_adduser1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkdXNlcicgKSApCiAgewogICAgcmV0dXJuOwogIH0KCi8vIGFyZSB3ZSBjYW5jZWxsaW5nCmlmIChpc3NldCAoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAndXNlcnMnLCAkcGFyYW1zICk7CiAgfQoKLy8gbWFrZSBzdXJlIHRoZSBwYXJhbWV0ZXJzIGFyZSBmaWxsZWQgaW4KJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKJHJlcGVhdCAgID0gdHJpbSgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKTsKCiRyZXQgPSAkdGhpcy0+X2hhbmRsZVVzZXJJbmZvVmFsaWRhdGlvbiggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlLCB0cnVlICk7CnN3aXRjaCggJHJldCApCiAgewogIGNhc2UgLTE6IC8vIGVycm9yCiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRtZXNzYWdlOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2FkZHVzZXInLCAkcmV0dXJuaWQsJHBhcmFtcywgdHJ1ZSApOwogICAgcmV0dXJuOwogICAgYnJlYWs7CiAgY2FzZSAwOiAgLy8gbm8gZXJyb3IsIGJ1dCBkb24ndCBjb250aW51ZSBvcGVyYXRpb24KICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGR1c2VyJywgJHJldHVybmlkLCRwYXJhbXMsIHRydWUgKTsKICAgIHJldHVybjsKICAgIGJyZWFrOwogIGNhc2UgMTogIC8vIGFsbCBpcyBnb29kLCBjb250aW51ZSBvcGVyYXRpb24KICAgIGJyZWFrOwogIH0KCgovLyBjb252ZXJ0IHRoZSBleHBpcmVzIGZpZWxkIHRvIGEgcmVhbCB0aW1lCiRleHBpcmVzID0gTlVMTDsKCi8vIGFuZCBzdG9yZSB0aGlzIGFsbCBpbiB0aGUgcGFyYW1zLCAKJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSA9ICR1c2VybmFtZTsKJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSA9ICRwYXNzd29yZDsKJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSA9ICRyZXBlYXQ7CgovLyBhbmQgZ28gdG8gc3RlcCAyCiR0aGlzLT5fcGFyYW1zX3RvX3Nlc3Npb24oJHBhcmFtcyk7ICAgIAokdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fYWRkdXNlcjInLCAkcmV0dXJuaWQsIGFycmF5KCksIHRydWUgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_adduser3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnYWRkdXNlcicgKSApCiAgewogICAgcmV0dXJuOwogIH0KCi8vIGRvIHdlIHdhbnQgdG8gZ28gYmFjawppZiggaXNzZXQoICRwYXJhbXNbJ2JhY2snXSApICkKICB7CiAgICAvLyB5dXAgd2UgZG8KICAgICRwYXJhbXMgPSBSUlV0aWxzOjpleHBsb2RlX3dpdGhfa2V5KCAkcGFyYW1zWydzdGVwMV9wYXJhbXMnXSApOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2FkZHVzZXInLCAkcmV0dXJuaWQsICRwYXJhbXMsIHRydWUgKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snY2FuY2VsJ10gKSApCiAgewogICAgLy8geXVwIHdlIGRvCiAgICAkcGFyYW1zID0gUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ3VzZXJzJywgJHBhcmFtcyApOwogIH0KCi8vIGdldCB0aGUgZmllbGQgaW5mbwokZmxkaW5mbyA9IGFycmF5KCk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGsgPT4gJHYgKQp7CiAgaWYoIHByZWdfbWF0Y2goJy9eaGlkZGVuXy8nLCAkayApICkKICAgIHsKICAgICAgJGZsZG5hbWUgPSBzdWJzdHIoICRrLCBzdHJsZW4oJ2hpZGRlbl8nKSk7CiAgICAgICRwcm9waW5mbyA9IHNwbGl0KCc7Jywkdik7CiAgICAgICRmbGRpbmZvWyRmbGRuYW1lXSA9ICRwcm9waW5mbzsKICAgIH0KfQoKLy8gbm93IGdldCBlYWNoIG9mIHRoZSBmaWVsZHMKJGZpZWxkcyA9IGFycmF5KCk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGsgPT4gJHYgKQp7CiAgaWYoIHByZWdfbWF0Y2goJy9eaW5wdXRfLycsICRrICkgKQogICAgewogICAgICAkZmxkbmFtZSA9IHN1YnN0ciggJGssIHN0cmxlbignaW5wdXRfJykpOwogICAgICAkZmllbGRzWyRmbGRuYW1lXSA9ICR2OyAKICAgIH0KfQoKLy8gbm93IHZhbGlkYXRlCmZvcmVhY2goICRmbGRpbmZvIGFzICRuYW1lID0+ICR2YWwgKQp7CiAgLy8gcHJvY2VzcyBlbXB0eSByZXF1aXJlZCBmaWVsZHMKICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGVtcHR5IG9wdGlvbmFsIG9uZXMKICBpZiggJHZhbFszXSA9PSAyICkKICAgIHsKICAgICAgaWYoICR2YWxbMV0gPT0gNiApIC8vIEltYWdlIGZpZWxkCgl7CgkgIGlmKCAoIWlzc2V0KCRfRklMRVNbJGlkLidpbnB1dF8nLiRuYW1lXSkgfHwgJF9GSUxFU1skaWQuJ2lucHV0XycuJG5hbWVdWydzaXplJ10gPT0gMCkgJiYKCSAgICAgICR2YWxbNV0gPT0gJycpCgkgICAgewoJICAgICAgLy8gYSByZXF1aXJlZCBmaWVsZCBpcyBlbXB0eQoJICAgICAgJHBhcmFtcyA9IFJSVXRpbHM6OmFycmF5X21lcmdlKCAkcGFyYW1zLCBleHBsb2RlX3dpdGhfa2V5KCAkcGFyYW1zWydzdGVwMV9wYXJhbXMnXSApKTsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nLCRuYW1lKTsKCSAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwgJHBhcmFtcywgdHJ1ZSApOwoJICAgICAgcmV0dXJuOwoJICAgIH0KCX0KICAgICAgZWxzZSBpZiggIWlzc2V0KCRmaWVsZHNbJG5hbWVdKSB8fCAkZmllbGRzWyRuYW1lXSA9PSAnJykKCXsKCSAgLy8gYSByZXF1aXJlZCBmaWVsZCBpcyBlbXB0eQoJICAkcGFyYW1zID0gYXJyYXlfbWVyZ2UoICRwYXJhbXMsIFJSVXRpbHM6OmV4cGxvZGVfd2l0aF9rZXkoICRwYXJhbXNbJ3N0ZXAxX3BhcmFtcyddICkpOwoJICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nLCRuYW1lKTsKCSAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2FkZHVzZXIyJywgJHJldHVybmlkLCRwYXJhbXMsIHRydWUgKTsKCSAgcmV0dXJuOwoJfQogICAgfQoKICAvLyB2YWxpZGF0ZSBmaWxsZWQgaW4gZmllbGRzCiAgLy8gYW5kIGRvIHBvc3QgcHJvY2Vzc2luZwogIGlmKCBpc3NldCgkZmllbGRzWyRuYW1lXSkgfHwgJHZhbFsxXSA9PSA2ICkKICAgIHsKICAgICAgc3dpdGNoKCAkdmFsWzFdICkKCXsKCWNhc2UgMDogLy8gdGV4dAoJCS8vIG5vdCBtdWNoIHdlIGNhbiBkbyB0byB2YWxpZGF0ZSBhIHRleHQgZmllbGQuCgkgIGJyZWFrOwoJY2FzZSAxOiAvLyBjaGVja2JveAoJCS8vIG9yIGEgY2hlY2tib3gKCSAgYnJlYWs7CgljYXNlIDI6IC8vIGVtYWlsCgkJLy8gZW1haWwgYWRkcmVzc2VzIGNhbiBiZSB2YWxpZGF0ZWQgdGhvdWdoCgkgIGJyZWFrOwoJY2FzZSAzOiAvLyB0ZXh0YXJlYQoJCS8vIGEgdGV4dGFyZWEgY2FuIGJlIHZhbGlkYXRlZCBmb3IgbGVuZ3RoLgoJICBicmVhazsKCWNhc2UgNDogLy8gZHJvcGRvd24KCWNhc2UgNTogLy8gbXVsdGlzZWxlY3QKCQkvLyBob3cgY2FuIHdlIHZhbGlkYXRlIGEgZHJvcGRvd24/CgkgIGJyZWFrOwoJY2FzZSA2OiAvLyBpbWFnZQoJCS8vIGltYWdlIHR5cGVzIGRvbid0IGhhdmUgYSBwYXJhbSAoZXZlbiBpZiB3ZSBoYXZlIHVwbG9hZGVkIGEgZmlsZSkKCQkvLyBzbyB3ZSBzZXQgb25lCgkgICRmaWVsZHNbJG5hbWVdID0gJzxub3RzZXQ+JzsKCSAgYnJlYWs7Cgl9CiAgICB9Cn0KCi8vIGdldCB0aGUgcGFybXMgZnJvbSB0aGUgZmlyc3Qgc3RlcAokcGFybXMxID0gUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKTsKICAgIAovLyBhbmQgbWVyZ2UgZW0gaW50byAkcGFyYW1zIHNvIHdlIGNhbiBhY3R1YWxseSBhZGQgdGhlIHVzZXIgYWNjb3VudAokcGFyYW1zID0gYXJyYXlfbWVyZ2UoICRwYXJhbXMsICRwYXJtczEgKTsKCi8vIG5vdyBmaW5kIG91dCB3aGljaCBncm91cHMgaGUncyBhIG1lbWJlciBvZgokbWVtYmVyb2YgPSBhcnJheSgpOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrID0+ICR2ICkKewogIGlmKCBwcmVnX21hdGNoKCcvXm1lbWJlcm9mXy8nLCAkayApICkKICAgIHsKICAgICAgJG1lbWJlcm9mW10gPSAkcGFyYW1zWyRrXTsKICAgIH0KfQoKLy8gbm93IHdlIGNhbiBhY3R1YWxseSBhZGQgdGhlIHVzZXIKJHJldCA9ICR0aGlzLT5BZGRVc2VyKCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddLCAKCQkgICAgICAgJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSwKCQkgICAgICAgJHBhcmFtc1snaW5wdXRfZXhwaXJlc2RhdGUnXSApOwppZiggJHJldFswXSA9PSBGQUxTRSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0WzFdOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2FkZHVzZXIyJywgJHJldHVybmlkLCRwYXJhbXMsIHRydWUgKTsKICAgIHJldHVybjsKICB9CiR1aWQgPSAkcmV0WzFdOwoKLy8gYW5kIGFkZCBoaW0gdG8gaGlzIGdyb3Vwcwpmb3JlYWNoKCAkbWVtYmVyb2YgYXMgJG1lbSApCnsKICBpZiggISR0aGlzLT5Bc3NpZ25Vc2VyVG9Hcm91cCggJHJldFsxXSwgJG1lbSApICkKICAgIHsKICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZ3JvdXBpZCcsJG1lbSk7CiAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwkcGFyYW1zLCB0cnVlICk7CiAgICAgIHJldHVybjsKICAgIH0KfQoKLy8gYW5kIGFkZCBoaXMgcHJvcGVydGllcwpmb3JlYWNoKCAkZmllbGRzIGFzICRrID0+ICR2ICkKewogICR2YWxzID0mICRmbGRpbmZvWyRrXTsKICBpZiggcHJlZ19tYXRjaCgnL19jbGVhciQvJywgJGsgKSApCiAgICB7CiAgICAgIGNvbnRpbnVlOwogICAgfQoJCiAgaWYoICR2YWxzWzFdID09IDYgKQogICAgewogICAgICAvLyBpbWFnZSB0eXBlCiAgICAgIGlmKCBpc3NldCgkX0ZJTEVTWyRpZC4naW5wdXRfJy4ka10pICYmICRfRklMRVNbJGlkLidpbnB1dF8nLiRrXVsnc2l6ZSddID4gMCApCgl7CgkgIC8vIGl0J3MgYW4gdXBsb2FkZWQgZmlsZSB0eXBlCgkgICRyZXN1bHQgPSAkdGhpcy0+TWFuYWdlSW1hZ2VVcGxvYWQoJGlkLCdpbnB1dF8nLCAkaywgJHVpZCwgJHZhbHNbMl0gKTsKCSAgaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQoJICAgIHsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yJykuJyZuYnNwOycuJHJlc3VsdDsKCSAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwkcGFyYW1zLCB0cnVlICk7CgkgICAgICByZXR1cm47CgkgICAgfQoJICAkdiA9ICRyZXN1bHRbMV07Cgl9CiAgICB9CgogIGlmKCBpc19hcnJheSggJHYgKSApCiAgICB7CiAgICAgICR2ID0gaW1wbG9kZSgnLCcsJHYpOwogICAgfQogICRyZXQgPSAkdGhpcy0+U2V0VXNlclByb3BlcnR5RnVsbCggJGssICR2LCAkdWlkICk7CiAgaWYoICRyZXQgPT0gZmFsc2UgKQogICAgewogICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yJyk7CiAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwgJHBhcmFtcywgdHJ1ZSApOwogICAgICByZXR1cm47CiAgICB9Cn0KCi8vIHNlbmQgYW4gZXZlbnQKJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWydpZCddID0gJHVpZDsKJHBhcm1zWyduYW1lJ10gPSAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddOwokdGhpcy0+U2VuZEV2ZW50KCdPbkNyZWF0ZVVzZXInLCRwYXJtcyk7CiR0aGlzLT5fU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCdPbkNyZWF0ZVVzZXInLCRwYXJtcyk7CgovLyBrZWVwIGEgbG9nIG9mIGl0CiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLAoJICAgICAgJHRoaXMtPkxhbmcoJ3VzZXJfYWRkZWQnLGFycmF5KCR1aWQsJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSkpKTsKCi8vIGFuZCB0aGF0IHNob3VsZCBiZSBpdAokcGFyYW1zID0gUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKTsKJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAndXNlcnMnLCAkcGFyYW1zICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_admintasks.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd1c2Vyc25ncm91cHMnKSApCiAgewogICAgcmV0dXJuOwogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snYnV0dG9uX2V4cG9ydHVzZXJzJ10gKSApCiAgewogICAgLy8gd2Ugd2FudCB0byBleHBvcnQgYSBjc3YgZmlsZSBkbyB3ZQogICAgaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKICAgIGhlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9ZmV1c2Vycy5jc3YnKTsKICAgIHdoaWxlKEBvYl9lbmRfY2xlYW4oKSk7CgogICAgLy8gU3RhcnQgd2l0aCBhbiBlbXB0eSBvdXRwdXQgKHRoaXMgd2lsbCBiZWNvbWUgdGhlIENTViBmaWxlKQogICAgJG91dHB1dCA9ICcnOwoKICAgICRsYXN0X2dyb3VwbmFtZSA9ICcnOwoKICAgIC8vIFByaW50IGhlYWRpbmdzIGluIHRoZSBvdXRwdXQgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggbmV3IAoKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAvLyBTdGFydCBieSBnZXR0aW5nIGEgdGFibGUgb2YgZWFjaCB1c2VyIGZvciBlYWNoIGdyb3VwIHRoZXkgYXJlIGluCiAgICAkdXF1ZXJ5ID0gIgogICAgICAgIFNFTEVDVCAKICAgICAgICBESVNUSU5DVCBncm91cF9pZCxncm91cG5hbWUsdXNlcmlkLHVzZXJuYW1lLGNyZWF0ZWRhdGUsZXhwaXJlcwogICAgICAgIEZST00gCiAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgQSwKICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcCBCLAogICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBDLAogICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgRAogICAgICAgIHdoZXJlCiAgICAgICAgIEEuaWQ9Qi5ncm91cF9pZAogICAgICAgIGFuZAogICAgICAgICBDLnRpdGxlID0gQi5uYW1lCiAgICAgICAgYW5kCiAgICAgICAgIEMudXNlcmlkID0gRC5pZAogICAgICAgIG9yZGVyIGJ5IGdyb3VwbmFtZSx1c2VyaWQsc29ydF9rZXkKICAgICAgICAiOwogICAgJGRicmVzdWx0dSA9ICRkYi0+RXhlY3V0ZSggJHVxdWVyeSApOwoJaWYoICEkZGJyZXN1bHR1IHx8ICgkZGJyZXN1bHR1LT5SZWNvcmRDb3VudCgpID09IDApICkKCSAgewoJICAgIGVjaG8gJGRiLT5FcnJvck1zZygpOwoJICAgIGJyZWFrOwoJICB9CiAgICB3aGlsZSggJHVyb3cgPSAkZGJyZXN1bHR1LT5GZXRjaFJvdygpICkKICAgICAgewogICAgICAgIC8vIENoZWNrIGZvciB0aGlzIGxpbmUgYmVpbmcgYSBuZXcgZ3JvdXAgKGFsc28gZmlyZXMgb24gZmlyc3QgbGluZSkKICAgICAgICBpZiAoJHVyb3dbJ2dyb3VwbmFtZSddIT0kbGFzdF9ncm91cG5hbWUpCiAgICAgICAgICB7CiAgICAgICAgICAgICRsYXN0X2dyb3VwbmFtZSA9ICR1cm93Wydncm91cG5hbWUnXTsKCiAgICAgICAgICAgIC8vIE91dHB1dCBoZWFkaW5ncyByZWxldmFudCB0byB0aGlzIGdyb3VwCiAgICAgICAgICAgICRvdXRwdXQgPSAnJzsKICAgICAgICAgICAgLy8gdG9kbyAtIG91dHB1dCBzb21ldGhpbmcgc2Vuc2libGUgZm9yIGdyb3VwbmFtZSwgdXNlcmlkLCB1c2VybmFtZSwgY3JlYXRlZGF0ZSwgZXhwaXJlcwoJICAgICRvdXRwdXQgLj0gJycuIiwiLicnLiIsIi4nJy4iLCIuJycuIiwiLicnOwoKICAgICAgICAgICAgLy8gR2V0IHRoZSBsaXN0IG9mIHByb3BlcnR5IG5hbWVzIGZvciB0aGlzIGdyb3VwIGluIHRoZSBjb3JyZWN0IG9yZGVyCiAgICAgICAgICAgICRmcXVlcnkgPSAiCiAgICAgICAgICAgICAgICBTRUxFQ1QgbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAKICAgICAgICAgICAgICAgIFdIRVJFIGdyb3VwX2lkID0gPwogICAgICAgICAgICAgICAgT1JERVIgQlkgc29ydF9rZXkKICAgICAgICAgICAgICAgICI7CiAgICAgICAgICAgICRkYnJlc3VsdGYgPSAkZGItPkV4ZWN1dGUoICRmcXVlcnksIGFycmF5KCR1cm93Wydncm91cF9pZCddKSApOwogICAgICAgICAgICB3aGlsZSAoICRmcm93ID0gJGRicmVzdWx0Zi0+RmV0Y2hSb3coKSApCiAgICAgICAgICAgICAgewoJICAgICAgICAvLyBub3cgaXRlcmF0ZSB0aHJvdWdoIHRoaXMgZ3JvdXAgcHJvcGVydGllcwoJICAgICAgICAkb3V0cHV0IC49ICIsIi4nIicuJGZyb3dbJ25hbWUnXS4nIic7CgkgICAgICB9CiAgICAgICAgICAgICRvdXRwdXQgLj0gIlxuIjsgIC8vIG5ld2xpbmUKCSAgICBlY2hvICRvdXRwdXQ7CiAgICAgICAgICB9CgogICAgICAgIC8vIEZvciB0aGlzIHVzZXIgZmlyc3Qgb3V0cHV0IHRoZSBncm91cCwgdXNlcmlkLCB1c2VybmFtZSwgY3JlYXRlIGRhdGUgYW5kIGV4cGlyZXMgZmllbGRzCiAgICAgICAgJG91dHB1dCA9ICcnOwoJJG91dHB1dCAuPSAkdXJvd1snZ3JvdXBuYW1lJ10uIiwiLiR1cm93Wyd1c2VyaWQnXS4iLCIuJHVyb3dbJ3VzZXJuYW1lJ10uIiwiLgoJICAkdXJvd1snY3JlYXRlZGF0ZSddLiIsIi4kdXJvd1snZXhwaXJlcyddOwoKICAgICAgICAvLyBGb3IgdGhpcyB1c2VyLCBnZXQgYWxsIHRoZWlyIGZpZWxkcyBhbmQgdXNlIGEgcmlnaHQgam9pbiB0byAiZmlsbCBpbiB0aGUgYmxhbmtzIgogICAgICAgIC8vIGZvciBhbnkgbWlzc2luZyBmaWVsZHMgd2hpY2ggc2hvdWxkYmUgaW4gdGhpcyBncm91cAogICAgICAgICRmcXVlcnkgPSAiCiAgICAgICAgICAgIFNFTEVDVCAqIEZST00KICAgICAgICAgICAgIChTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHVzZXJpZD0/KSBBUyBDCiAgICAgICAgICAgIFJJR0hUIEpPSU4KICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAgQgogICAgICAgICAgICBPTiBCLm5hbWU9Qy50aXRsZQogICAgICAgICAgICBXSEVSRSBncm91cF9pZCA9ID8KICAgICAgICAgICAgT1JERVIgQlkgc29ydF9rZXkKICAgICAgICAgICAgIjsKCgkkZGJyZXN1bHRmID0gJGRiLT5FeGVjdXRlKCAkZnF1ZXJ5ICwgYXJyYXkoJHVyb3dbJ3VzZXJpZCddLCR1cm93Wydncm91cF9pZCddKSApOwogICAgICAgIHdoaWxlICggJGZyb3cgPSAkZGJyZXN1bHRmLT5GZXRjaFJvdygpICkKICAgICAgICAgIHsKCSAgICAvLyBub3cgaXRlcmF0ZSB0aHJvdWdoIHRoaXMgdXNlcnMgcHJvcGVydGllcywgYW5kIGV4cG9ydCB0aGUgcHJvcGVydGllcwoJICAgICRvdXRwdXQgLj0gIiwiLiciJy4kZnJvd1snZGF0YSddLiciJzsKCSAgfQogICAgICAgICRvdXRwdXQgLj0gIlxuIjsgIC8vIG5ld2xpbmUKCgkvLyBPdXRwdXQgdGhlIGxpbmUKCWVjaG8gJG91dHB1dDsKICAgICAgfQogICAgCiAgICAvLyBvbmUgbGFzdCBuZXdsaW5lCiAgICBlY2hvICJlbmRcbiI7CiAgICAKICAgIGV4aXQoKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydidXR0b25fZXhwb3J0dXNlcmhpc3RvcnknXSApICkKICB7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZXhwb3J0dXNlcmhpc3RvcnkucGhwJyk7CiAgfQplbHNlIGlmKCBpc3NldCggJHBhcmFtc1snYnV0dG9uX2NsZWFydXNlcmhpc3RvcnknXSApICkKICB7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY2xlYXJ1c2VyaGlzdG9yeS5waHAnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydidXR0b25faW1wb3J0dXNlcnMnXSApICkKICB7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5faW1wb3J0dXNlcnMucGhwJyk7CiAgfQoKLy8gRU9GCg==]]></data>
	</file>
	<file>
	  <filename>/action.do_deletegroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAncmVtb3ZlZ3JvdXBzJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKICAgIHJldHVybjsKICB9CgoKaWYgKCFpc3NldCAoJHBhcmFtc1snZ3JvdXBfaWQnXSkgfHwgJHBhcmFtc1snZ3JvdXBfaWQnXSA9PSAiIikKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZyAoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9ICAKCiRncm91cCA9ICR0aGlzLT5HZXRHcm91cEluZm8oICRwYXJhbXNbJ2dyb3VwX2lkJ10gKTsKaWYoICFpc3NldCgkZ3JvdXBbJ2lkJ10pICYmICRncm91cFswXSA9PSBGQUxTRSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJGdyb3VwWzFdICk7CiAgICByZXR1cm47CiAgfQoKaWYoIGNvdW50KCR0aGlzLT5HZXRVc2Vyc0luR3JvdXAoICRncm91cFsnaWQnXSApKSAhPSAwICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZyAoJ2Vycm9yX25vdGVtcHR5Z3JvdXAnKSk7CiAgICByZXR1cm47CiAgfQoKJHJldCA9ICR0aGlzLT5EZWxldGVHcm91cEZ1bGwoICRwYXJhbXNbJ2dyb3VwX2lkJ10gKTsKaWYoICRyZXRbMF0gPT0gRkFMU0UgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRncm91cFsxXSApOwogICAgcmV0dXJuOwogIH0KCiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1snaWQnXSA9ICRwYXJhbXNbJ2dyb3VwX2lkJ107CiRwYXJtc1snbmFtZSddID0gJGdyb3VwWydncm91cG5hbWUnXTsKJHRoaXMtPlNlbmRFdmVudCgnT25EZWxldGVHcm91cCcsJHBhcm1zKTsKJHRoaXMtPl9TZW5kTm90aWZpY2F0aW9uRW1haWwoJ09uRGVsZXRlR3JvdXAnLCRwYXJtcyk7CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.do_deleteprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBjaGVjayBwZXJtaXNzaW9ucyBhZ2FpbgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZGVsZXRlcHJvcCcgKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1sncHJvcG5hbWUnXSApICkKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydlcnJvciddID0gMTsKICAgICRwYXJtc1snbWVzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwncHJvcGVydGllcycsJHBhcm1zKTsKICAgIHJldHVybjsKICB9CgovLyBkZWxldGUgYWxsIG9jY3VyYW5jZXMgb2YgdGhpcyBwcm9wZXJ0eSBuYW1lIGluIHRoZSBwcm9wZXJ0aWVzIHRhYmxlCiRyZXN1bHQgPSAkdGhpcy0+RGVsZXRlVXNlclByb3BlcnR5QnlOYW1lKCAkcGFyYW1zWydwcm9wbmFtZSddICk7CgovLyBXZSBuZWVkIHRvIGRlbGV0ZSBzZWxlY3Qgb3B0aW9ucyByZWdhcmRsZXNzIG9mIHRoZSBjb250cm9sIHR5cGUsCi8vIGJlY2F1c2Ugd2UgZG9uJ3QgZGVsZXRlIHNlbGVjdCBvcHRpb25zIHdoZW4gY2hhbmdpbmcgY29udHJvbCB0eXBlcwokcmVzdWx0ID0gJHRoaXMtPkRlbGV0ZVNlbGVjdE9wdGlvbnMoICRwYXJhbXNbJ3Byb3BuYW1lJ10gKTsKLy8gbm93IHJlYWR5IHRvIGRlbGV0ZSB0aGUgcHJvcGVydHkKJHJlc3VsdCA9ICR0aGlzLT5EZWxldGVQcm9wZXJ0eURlZm4oICRwYXJhbXNbJ3Byb3BuYW1lJ10gKTsKaWYoICEkcmVzdWx0ICkKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5Jyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwncHJvcGVydGllcycsJHBhcm1zKTsKICAgIHJldHVybjsKICB9CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwncHJvcGVydGllcycpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_deleteuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAncmVtb3ZldXNlcnMnICkgKQogIHsKICAgIHJldHVybjsKICB9CgpnbG9iYWwgJGdDbXM7CgppZiAoIWlzc2V0ICgkcGFyYW1zWyd1c2VyX2lkJ10pIHx8ICRwYXJhbXNbJ3VzZXJfaWQnXSA9PSAiIikKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZyAoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9ICAKCiR1c2VyID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkcGFyYW1zWyd1c2VyX2lkJ10gKTsKaWYoICR1c2VyWzBdID09IEZBTFNFICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkcmV0WzFdICk7CiAgICByZXR1cm47CiAgfQoKLy8gR2V0IGFsbCBvZiB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbnMsIGlmIHRoZXkncmUgb2YgdHlwZSA2Ci8vIGFuZCB0aGUgcHJvcGVydHkgaXMgbm90IGVtcHR5LCB0aGVuIHdlIG1heQovLyBoYXZlIHRvIGRlbGV0ZSBhIGZpbGUgYXMgd2VsbC4KJGRlZm5zID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbnMoKTsKJHByb3BzID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0aWVzKCAkcGFyYW1zWyd1c2VyX2lkJ10gKTsKJGRlc3REaXIxID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUjsKJGRlc3REaXIxIC49ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV9kZXN0aW5hdGlvbl9wYXRoJywnZmV1c2VycycpLkRJUkVDVE9SWV9TRVBBUkFUT1I7CmlmKCAkcHJvcHMgKQogIHsKICAgIGZvcmVhY2goICRkZWZucyBhcyAkb25lZGVmbiApCiAgICAgIHsKCWlmKCAkb25lZGVmblsndHlwZSddICE9IDYgKSBjb250aW51ZTsKCglmb3JlYWNoKCAkcHJvcHMgYXMgJG9uZXByb3AgKQoJICB7CgkgICAgaWYoICRvbmVwcm9wWyd0aXRsZSddICE9ICRvbmVkZWZuWyduYW1lJ10gKSBjb250aW51ZTsKCgkgICAgLy8gZm91bmQgYSBtYXRjaCwgd2UgaGF2ZSBhIHR5cGUgNiBmaWVsZC4KCSAgICBpZiggJG9uZXByb3BbJ2RhdGEnXSA9PSAnJyApIGNvbnRpbnVlOwoKCSAgICAvLyBhbmQgb25lIHdpdGggYSB2YWx1ZSB0b28uCgkgICAgJGZpbGUxID0gJGRlc3REaXIxLiRvbmVwcm9wWydkYXRhJ107CgkgICAgQHVubGluayggJGZpbGUxICk7CgkgIH0KICAgICAgfQogIH0KICAgIAokcmV0ID0gJHRoaXMtPkRlbGV0ZVVzZXJGdWxsKCAkcGFyYW1zWyd1c2VyX2lkJ10gKTsKaWYoICRyZXRbMF0gPT0gRkFMU0UgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRyZXRbMV0gKTsKICAgIHJldHVybjsKICB9CgovLyBzZW5kIGFuIGV2ZW50CiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1snaWQnXSA9ICRwYXJhbXNbJ3VzZXJfaWQnXTsKJHBhcm1zWyd1c2VybmFtZSddID0gJHVzZXJbMV1bJ3VzZXJuYW1lJ107CiR0aGlzLT5TZW5kRXZlbnQoICdPbkRlbGV0ZVVzZXInLCAkcGFybXMgKTsKJHRoaXMtPl9TZW5kTm90aWZpY2F0aW9uRW1haWwoJ09uRGVsZXRlVXNlcicsJHBhcm1zKTsKCi8vIGFuZCBsb2cgaXQKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksCgkgICAgICAkdGhpcy0+TGFuZygndXNlcl9kZWxldGVkJywkcGFyYW1zWyd1c2VyX2lkJ10pICk7CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3VzZXJzJyApOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_editgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdGdyb3VwcycgKSApCiAgewogICAgcmV0dXJuOwogIH0KCmlmIChpc3NldCAoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAnZ3JvdXBzJyApOwogIH0KCmlmICghaXNzZXQgKCRwYXJhbXNbJ2dyb3VwX2lkJ10pIHx8ICRwYXJhbXNbJ2dyb3VwX2lkJ10gPT0gIiIpCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZWRpdGdyb3VwJywgJHJldHVybmlkLCRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9ICAKCiRncm91cG5hbWUgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ncm91cG5hbWUnXSApICkKICB7CiAgICAkZ3JvdXBuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF9ncm91cG5hbWUnXSk7CiAgfQokZ3JvdXBkZXNjID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBkZXNjJ10gKSApCiAgewogICAgJGdyb3VwZGVzYyA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZ3JvdXBkZXNjJ10pOwogIH0KCi8vIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVycyBhcmUgZmlsbGVkIGluCmlmKCAkZ3JvdXBuYW1lID09ICcnIHx8ICRncm91cGRlc2MgPT0gJycgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXJhbXMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdlZGl0Z3JvdXAnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIExldHMgZG8gYSBjaGVjayBmaXJzdAokcmVsbmFkZGVkID0gMDsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgJHByb3BuYW1lID0gJyc7CiAgJHNvcnRvcmRlciA9ICcnOwogICRsb3N0dW4gPSAtMTsKICBpZiggcHJlZ19tYXRjaCggJy9eaW5wdXRfcmVxdWlyZWRfLycsICRrZXkgKSAmJiAoJHZhbCAhPSAwKSApCiAgICB7CiAgICAgICRyZWxuYWRkZWQrKzsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdpbnB1dF9yZXF1aXJlZF8nKSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgaWYoICgkdmFsID09IDAgfHwgJHZhbCA9PSAzIHx8ICR2YWwgPT0gNCkgJiYgJGxvc3R1biA9PSAxICkKICAgIHsKICAgICAgLy8gdGhpcyBpcyBub3QgZ29vZC4KICAgICAgLy8gaXQgY2FuJ3QgYmUgaGlkZGVuLCByZWFkb25seSwgb3Igb2ZmIGFuZCBiZSAKICAgICAgLy8gc2V0IGluIHRoZSBsb3N0dW4gZmxhZwogICAgICAkcGFyYW1zWydlcnJvciddID0gJzEnOwogICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9yZWxhdGlvbnMnKTsKICAgICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgICAgIHJldHVybjsKICAgIH0KfQoKaWYoICRyZWxuYWRkZWQgPT0gMCApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9ICcxJzsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub3JlbGF0aW9ucycpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CiAgICByZXR1cm47CiAgfQoKJHJldCA9ICR0aGlzLT5TZXRHcm91cCggJHBhcmFtc1snZ3JvdXBfaWQnXSwgJHBhcmFtc1snaW5wdXRfZ3JvdXBuYW1lJ10sCgkJCSRwYXJhbXNbJ2lucHV0X2dyb3VwZGVzYyddICk7CmlmKCAkcmV0WzBdID09IEZBTFNFICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkcmV0WzFdICk7CiAgICByZXR1cm47CiAgfQoKLy8gYWxzbyBhZGQgdGhlIHByb3BlcnR5IGNob2ljZXMKJHRoaXMtPkRlbGV0ZUFsbEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRwYXJhbXNbJ2dyb3VwX2lkJ10gKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgJHByb3BuYW1lID0gJyc7CiAgJHNvcnRvcmRlciA9ICcnOwogICRsb3N0dW4gPSAtMTsKICBpZiggcHJlZ19tYXRjaCggJy9eaW5wdXRfcmVxdWlyZWRfLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaW5wdXRfcmVxdWlyZWRfJykpOwogICAgfQogIGVsc2UgCiAgICB7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3NvcnRvcmRlcl8nLiRwcm9wbmFtZV0gKSApCiAgICB7CiAgICAgICRzb3J0b3JkZXIgPSAkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXJfJy4kcHJvcG5hbWVdOwogICAgfQogIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbG9zdHVuXycuJHByb3BuYW1lXSApICkKICAgIHsKICAgICAgJGxvc3R1biA9IDE7CiAgICB9CgogIGlmKCAkdmFsICE9IDAgJiYgJHByb3BuYW1lICE9ICcnICkKICAgIHsKICAgICAgJHJlcyA9ICR0aGlzLT5BZGRHcm91cFByb3BlcnR5UmVsYXRpb24oICRwYXJhbXNbJ2dyb3VwX2lkJ10sICRwcm9wbmFtZSwgJHNvcnRvcmRlciwgJGxvc3R1biwgJHZhbCApOwogICAgfQp9CgokdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2dyb3VwcycgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_editprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpnbG9iYWwgJGdDbXM7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdHByb3AnICkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgcmV0dXJuOwogIH0KCiRtYXhsZW5ndGggPSAyNTU7CiRuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbmFtZSddICkgKSAKICB7CiAgICAkbmFtZSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfbmFtZSddKTsgCiAgICAkbmFtZSA9IHN0cnRvbG93ZXIocHJlZ19yZXBsYWNlKCcvIC8nLCdfJywkbmFtZSkpOwogIH0KJHByb21wdCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3Byb21wdCddICkgKXsKICAkcHJvbXB0ID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wcm9tcHQnXSk7IAogfQokdHlwZSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3R5cGUnXSApICkgewogICR0eXBlID0gdHJpbSgkcGFyYW1zWydpbnB1dF90eXBlJ10pOyAKIH0KJHNlbG9wdGlvbnMgPSAnJzsKCiRvcHRpb25zID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2V4dHJhJ10gKSApIHsKICAkc2Vsb3B0aW9ucyA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZXh0cmEnXSk7CiAgJG9wdGlvbnMgPSBleHBsb2RlKCJcbiIsICRzZWxvcHRpb25zKTsKIH0KCQppZiggJG5hbWUgPT0gJycgfHwgJHByb21wdCA9PSAnJykKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydlcnJvciddID0gMTsKICAgICRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3Byb3BlcnRpZXMnLCRwYXJtcyk7CiAgICByZXR1cm47CiAgfQoKc3dpdGNoKCR0eXBlKXsKIGNhc2UgMDogLy8gdGV4dCBpbnB1dAogY2FzZSAyOiAvLyBlbWFpbAogICAkbGVuZ3RoID0gMjA7CiAgICRtYXhsZW5ndGggPSAyMDsKICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXSApICkgewogICAgICRsZW5ndGggPSB0cmltKCRwYXJhbXNbJ2lucHV0X2xlbmd0aCddKTsKICAgfQogICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X21heGxlbmd0aCddICkgKSB7CiAgICAgJG1heGxlbmd0aCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfbWF4bGVuZ3RoJ10pOwogICB9CiAgIGJyZWFrOwogY2FzZSAxOiAvLyBjaGVja2JveAogICAkbGVuZ3RoID0gMTsKICAgYnJlYWs7CiBjYXNlIDM6IC8vIHRleHRhcmVhCiAgICRsZW5ndGggPSAyNTU7CiAgIGJyZWFrOwogY2FzZSA0OiAvLyBkcm9wZG93bgogY2FzZSA1OiAvLyBtdWx0aXNlbGVjdAogICAvLyBnZXQgdGhlIG51bWJlciBvZiBlbXB0eSB2YWx1ZXMKICAgLy8gYW5kIHN1YnRyYWN0IGl0IGZyb20gdGhlIGFycmF5IGNvdW50Ci8vICAgICRlbGVtZW50X2NvdW50X2FycmF5ID0gYXJyYXlfY291bnRfdmFsdWVzKCRvcHRpb25zKTsKLy8gICAgJGVtcHR5X2VsZW1lbnRfY291bnQgPSAKLy8gICAgICAkZWxlbWVudF9jb3VudF9hcnJheVsiIl0gKwovLyAgICAgICRlbGVtZW50X2NvdW50X2FycmF5WyJcciJdICsKLy8gICAgICAkZWxlbWVudF9jb3VudF9hcnJheVsiX18iXSArCi8vICAgICAgJGVsZW1lbnRfY291bnRfYXJyYXlbIl9fXHIiXTsKLy8gICAgJGxlbmd0aCA9IGNvdW50KCRvcHRpb25zKSAtICRlbXB0eV9lbGVtZW50X2NvdW50OwogICAkbGVuZ3RoID0gY291bnQoJG9wdGlvbnMpOwogICBicmVhazsKIGNhc2UgNjogLy8gaW1hZ2UKICAgJGxlbmd0aCA9IDgwOwogICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2xlbmd0aCddICkgKSB7CiAgICAgJGxlbmd0aCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfbGVuZ3RoJ10pOwogICB9CiAgIGJyZWFrOyAgIAogZGVmYXVsdDoKICAgJGxlbmd0aCA9IDE7CiB9CgppZiggKCR0eXBlID09IDAgJiYgKCAkbGVuZ3RoIDwgMSB8fCAkbGVuZ3RoID4gMjU1IHx8ICRtYXhsZW5ndGggPCAxIHx8ICRtYXhsZW5ndGggPiAxMDI0IHx8ICRtYXhsZW5ndGggPCAkbGVuZ3RoICkpIHx8CiAgICAoKCR0eXBlID09IDQgfHwgJHR5cGUgPT0gNSkgJiYgJHNlbG9wdGlvbnMgPT0gJycgKSAgfHwKICAgICgoJHR5cGUgPT0gNikgJiYgKCRsZW5ndGggPCA1MCB8fCAkbGVuZ3RoID4gMTAyNCkpCiAgICApewovLyAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwovLyAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7Ci8vICAgJHRoaXMtPm15UmVkaXJlY3QoJGlkLCdlZGl0cHJvcCcsJHJldHVybmlkLCRwYXJhbXMpOwogIGVjaG8gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXJhbXMnKTsgCiAgcmV0dXJuOwogfQoJCi8vIGFuZCBhZGQgdGhlIHByb2VwcnR5IGRlZmluaXRpb24KaWYgKCRzZWxvcHRpb25zKSB7CiAgJHRoaXMtPkRlbGV0ZVNlbGVjdE9wdGlvbnMoICRuYW1lICk7CiAgJHJlc3VsdCA9ICR0aGlzLT5BZGRTZWxlY3RPcHRpb25zKCAkbmFtZSwgJG9wdGlvbnMgKTsKCiAgaWYoICEkcmVzdWx0WzBdICkgewovLyAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7Ci8vICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0WzFdOwovLyAgICAgJHRoaXMtPm15UmVkaXJlY3QoJGlkLCdhZGRwcm9wJywkcmV0dXJuaWQsJHBhcmFtcyk7CiAgICBlY2hvICRyZXN1bHRbMV07CiAgICByZXR1cm47CiAgfQogfQoKJHJlcyA9ICR0aGlzLT5TZXRQcm9wZXJ0eURlZm4oICRwYXJhbXNbJ3Byb3BuYW1lJ10sICRuYW1lLCAkcHJvbXB0LCAkbGVuZ3RoLCAkdHlwZSwgJG1heGxlbmd0aCApOwppZiggJHJlcyA9PSBmYWxzZSApCiAgewovLyAgICAgJHBhcm1zID0gYXJyYXkoKTsKLy8gICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwovLyAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKTsKICAgIGVjaG8gJHRoaXMtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKTsKLy8gICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdwcm9wZXJ0aWVzJywkcGFybXMpOwogICAgcmV0dXJuOwogIH0KCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdwcm9wZXJ0aWVzJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdHVzZXJzJyApICkKICB7CiAgICByZXR1cm47CiAgfQoKLy8gYXJlIHdlIGNhbmNlbGxpbmcKaWYgKGlzc2V0ICgkcGFyYW1zWydjYW5jZWwnXSkpCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICd1c2VycycsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogIH0KCmlmICggIWlzc2V0KCRwYXJhbXNbJ3VzZXJfaWQnXSkgKQogIHsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CiAgICByZXR1cm47CiAgfQoKLy8gbWFrZSBzdXJlIHRoZSBwYXJhbWV0ZXJzIGFyZSBmaWxsZWQgaW4KJHVzZXJfaWQgICA9IHRyaW0oJHBhcmFtc1sndXNlcl9pZCddKTsKJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKJHJlcGVhdCAgID0gdHJpbSgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKTsKCiRyZXQgPSAkdGhpcy0+X2hhbmRsZVVzZXJJbmZvVmFsaWRhdGlvbiggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlLCBmYWxzZSwgCgkJCQkJIHRydWUsIGZhbHNlICk7Cgpzd2l0Y2goICRyZXQgKQogIHsKICBjYXNlIC0xOiAvLyBlcnJvcgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZXJyb3InLCAiMSIpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnbWVzc2FnZScsICRtZXNzYWdlICk7CiAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pbkVkaXRVc2VyU3RlcDFQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgcmV0dXJuOwogIGNhc2UgMDogIC8vIG5vIGVycm9yLCBidXQgZG9uJ3QgY29udGludWUgb3BlcmF0aW9uCiAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pblVzZXJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgcmV0dXJuOwogIGNhc2UgMTogIC8vIGFsbCBpcyBnb29kLCBjb250aW51ZSBvcGVyYXRpb24KICAgIGJyZWFrOwogIH0KCi8vIGxvYWQgcHJvcGVydGllcyBhbmQgc2V0IHRoZW0gdXAKLy8gZm9yIHRoZSBuZXh0IHBhZ2UKJHByb3BzID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0aWVzKCAkdXNlcl9pZCApOwpmb3JlYWNoKCAkcHJvcHMgYXMgJHByb3AgKQp7CiAgJHBhcmFtc1snaW5wdXRfJy4kcHJvcFsndGl0bGUnXV0gPSB1cmxlbmNvZGUoJHByb3BbJ2RhdGEnXSk7Cn0KCi8vIEFuZCBHbyB0byBzdGVwIDIKJHRoaXMtPl9wYXJhbXNfdG9fc2Vzc2lvbigkcGFyYW1zKTsgICAgCiR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19lZGl0dXNlcjInLCAkcmV0dXJuaWQgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdHVzZXJzJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKICAgIHJldHVybjsKICB9CgovLyBkbyB3ZSB3YW50IHRvIGdvIGJhY2sKaWYoIGlzc2V0KCAkcGFyYW1zWydiYWNrJ10gKSApCiAgewogICAgLy8geXVwIHdlIGRvCiAgICAkcGFyYW1zID0gUlJVdGlsczo6ZXhwbG9kZV93aXRoX2tleSggJHBhcmFtc1snc3RlcDFfcGFyYW1zJ10gKTs7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZWRpdHVzZXInLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogIH0KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICB9CgovLyBnZXQgdGhlIGZpZWxkIGluZm8KJGZsZGluZm8gPSBhcnJheSgpOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrID0+ICR2ICkKewogIGlmKCBwcmVnX21hdGNoKCcvXmhpZGRlbl8vJywgJGsgKSApCiAgICB7CiAgICAgICRmbGRuYW1lID0gc3Vic3RyKCAkaywgc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAkcHJvcGluZm8gPSBzcGxpdCgnOycsJHYpOwogICAgICAkZmxkaW5mb1skZmxkbmFtZV0gPSAkcHJvcGluZm87CiAgICB9Cn0KCi8vIG5vdyBnZXQgZWFjaCBvZiB0aGUgZmllbGRzCiRmaWVsZHMgPSBhcnJheSgpOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrID0+ICR2ICkKewogIGlmKCBwcmVnX21hdGNoKCcvXmlucHV0Xy8nLCAkayApICkKICAgIHsKICAgICAgJGZsZG5hbWUgPSBzdWJzdHIoICRrLCBzdHJsZW4oJ2lucHV0XycpKTsKICAgICAgJGZpZWxkc1skZmxkbmFtZV0gPSAkdjsgCiAgICB9Cn0KCi8vIG5vdyB2YWxpZGF0ZQpmb3JlYWNoKCAkZmxkaW5mbyBhcyAkbmFtZSA9PiAkdmFsICkKewogIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgZW1wdHkgb3B0aW9uYWwgb25lcwogIGlmKCAkdmFsWzNdID09IDIgKQogICAgewogICAgICAvLyBwcm9jZXNzIGVtcHR5IHJlcXVpcmVkIGZpZWxkcwogICAgICBpZiggJHZhbFsxXSA9PSA2ICkKCXsKCSAgaWYoICghaXNzZXQoJF9GSUxFU1skaWQuJ2lucHV0XycuJG5hbWVdKSB8fCAkX0ZJTEVTWyRpZC4naW5wdXRfJy4kbmFtZV1bJ3NpemUnXSA9PSAwKSAmJgoJICAgICAgJHZhbFs1XSA9PSAnJykKCSAgICB7CgkgICAgICAvLyBhIHJlcXVpcmVkIGltYWdlIGZpZWxkIGlzIGVtcHR5CgkgICAgICAkcGFyYW1zID0gYXJyYXlfbWVyZ2UoICRwYXJhbXMsIFJSVXRpbHM6OmV4cGxvZGVfd2l0aF9rZXkoICRwYXJhbXNbJ3N0ZXAxX3BhcmFtcyddICkpOwoJICAgICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbScsJG5hbWUpOwoJICAgICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RvX2FkZHVzZXIyJywgJHJldHVybmlkLCRwYXJhbXMgKTsKCSAgICAgIHJldHVybjsKCSAgICB9Cgl9CiAgICAgIGVsc2UgaWYoICFpc3NldCgkZmllbGRzWyRuYW1lXSkgfHwgJGZpZWxkc1skbmFtZV0gPT0gJycgKQoJewoJICAvLyBhIHJlcXVpcmVkIG90aGVyIHR5cGUgZmllbGQgaXMgZW1wdHkKCSAgJHBhcmFtcyA9IGFycmF5X21lcmdlKCAkcGFyYW1zLCBSUlV0aWxzOjpleHBsb2RlX3dpdGhfa2V5KCAkcGFyYW1zWydzdGVwMV9wYXJhbXMnXSApKTsKCSAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJywkbmFtZSk7CgkgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMicsICRyZXR1cm5pZCwkcGFyYW1zICk7CgkgIHJldHVybjsKCX0KICAgIH0KCiAgLy8gdmFsaWRhdGUgZmlsbGVkIGluIGZpZWxkcwogIC8vIG9wdGlvbmFsLG9yIHJlcXVpcmVkLgogIC8vIGFuZCBkbyBwb3N0IHByb2Nlc3NpbmcKICBpZiggaXNzZXQoICRmaWVsZHNbJG5hbWVdICkgfHwgJHZhbFsxXSA9PSA2ICkKICAgIHsKICAgICAgc3dpdGNoKCAkdmFsWzFdICkKCXsKCWNhc2UgMDogLy8gdGV4dAoJICAvLyBub3QgbXVjaCB3ZSBjYW4gZG8gdG8gdmFsaWRhdGUgYSB0ZXh0IGZpZWxkLgoJICBicmVhazsKCWNhc2UgMTogLy8gY2hlY2tib3gKCSAgLy8gb3IgYSBjaGVja2JveAoJICBicmVhazsKCWNhc2UgMjogLy8gZW1haWwKCSAgLy8gZW1haWwgYWRkcmVzc2VzIGNhbiBiZSB2YWxpZGF0ZWQgdGhvdWdoCgkgIGJyZWFrOwoJY2FzZSAzOiAvLyB0ZXh0YXJlYQoJICAvLyBtYXliZSBzaXplPwoJICBicmVhazsKCWNhc2UgNDogLy8gZHJvcGRvd24KCSAgLy8gSG93IGNhbiB3ZSB2YWxpZGF0ZSBhIGRyb3Bkb3duPwoJICBicmVhazsKCWNhc2UgNTogLy8gbXVsdGlzZWxlY3QKCSAgLy8gSG93IGNhbiB3ZSB2YWxpZGF0ZSBhIG11bHRpLXNlbGVjdAoJICBpZiggaXNfYXJyYXkoICRmaWVsZHNbJG5hbWVdICkgKQoJICAgIHsKCSAgICAgIC8vIGNvbnZlcnQgaXQgdG8gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBmb3Igc3RvcmFnZQoJICAgICAgJGZpZWxkc1skbmFtZV0gPSBpbXBsb2RlKCcsJywkZmllbGRzWyRuYW1lXSk7CgkgICAgfQoJICBicmVhazsKCWNhc2UgNjogLy8gaW1hZ2UKCSAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0XycuJG5hbWUuJ19jbGVhciddKSAmJiAkcGFyYW1zWydpbnB1dF8nLiRuYW1lLidfY2xlYXInXSA9PSAnY2xlYXInICkKCSAgICB7CgkgICAgICAvLyB3ZSdyZSB0b2xkIHRvIGNsZWFyIGFuIGltYWdlIHByb3BlcnR5LCB3ZSBtdXN0IGFsc28KCSAgICAgIC8vIGRlbGV0ZSB0aGUgaW1hZ2UKCSAgICAgICRkZXN0RGlyMSA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkgICAgICAkZGVzdERpcjEgLj0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCdmZXVzZXJzJykuRElSRUNUT1JZX1NFUEFSQVRPUjsKCSAgICAgICRmaWxlMSA9ICRkZXN0RGlyMS4kdmFsWzVdOwoJICAgICAgQHVubGluayggJGZpbGUxICk7CgkgICAgICAKCSAgICAgIC8vIHVuc2V0IHRoZSBoaWRkZW4gcGFyYW0gdG8gcHJldmVudCBhbnkgZnVydGhlciBwcm9jZXNzaW5nCgkgICAgICB1bnNldCggJHBhcmFtc1snaGlkZGVuXycuJG5hbWVdICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgLy8gaW1hZ2UgdHlwZXMgZG9uJ3QgaGF2ZSBhIHBhcmFtIChldmVuIGlmIHdlIGhhdmUgdXBsb2FkZWQgYSBmaWxlKQoJICAgICAgLy8gc28gd2Ugc2V0IG9uZS4KCSAgICAgICRmaWVsZHNbJG5hbWVdID0gJHZhbFs1XTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgfQp9CgovLyBnZXQgdGhlIHBhcm1zIGZyb20gdGhlIGZpcnN0IHN0ZXAKJHBhcm1zMSA9IFJSVXRpbHM6OmV4cGxvZGVfd2l0aF9rZXkoICRwYXJhbXNbJ3N0ZXAxX3BhcmFtcyddICk7CiAgICAKLy8gYW5kIG1lcmdlIGVtIGludG8gJHBhcmFtcyBzbyB3ZSBjYW4gYWN0dWFsbHkgYWRkIHRoZSB1c2VyIGFjY291bnQKJHBhcmFtcyA9IGFycmF5X21lcmdlKCAkcGFyYW1zLCAkcGFybXMxICk7CgovLyBub3cgZmluZCBvdXQgd2hpY2ggZ3JvdXBzIGhlJ3MgYSBtZW1iZXIgb2YKJGdycGlkcyA9IGFycmF5KCk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGsgPT4gJHYgKQp7CiAgaWYoIHByZWdfbWF0Y2goJy9ebWVtYmVyb2ZfLycsICRrICkgKQogICAgewogICAgICAkZ3JwaWRzW10gPSAkcGFyYW1zWyRrXTsKICAgIH0KfQoKJHVzZXJfaWQgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCiAgewogICAgJHVzZXJfaWQgPSAkcGFyYW1zWyd1c2VyX2lkJ107CiAgfQogZWxzZSAKICAgewogICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2Vycm9yJywgIjEiKTsKICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdtZXNzYWdlJywgJHJldFsxXSApOwogICAgICR0aGlzLT5fRGlzcGxheUFkbWluQWRkVXNlclN0ZXAyUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgICByZXR1cm47CQogICB9CgokdXNlcm5hbWUgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICkgKQogIHsKICAgICR1c2VybmFtZSA9ICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ107CiAgfQokcGFzc3dvcmQgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICkgJiYgJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSAhPSAnJyApCiAgewogICAgJHBhc3N3b3JkID0gJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXTsKICB9CiRleHBpcmVzZGF0ZSA9IHN0cnRvdGltZSgnKzEwIHllYXJzJywgdGltZSgpKTsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9leHBpcmVzZGF0ZSddICkgKQogIHsKICAgICRleHBpcmVzZGF0ZSA9ICRwYXJhbXNbJ2lucHV0X2V4cGlyZXNkYXRlJ107CiAgfQogICAgCi8vIGFuZCBTZXQgdGhlIHVzZXIKJHJldCA9ICR0aGlzLT5TZXRVc2VyKCAkdXNlcl9pZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzZGF0ZSApOwppZiggJHJldFswXSA9PSBmYWxzZSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnZXJyb3InLCAiMSIpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnbWVzc2FnZScsICRyZXRbMV0gKTsKICAgICR0aGlzLT5fRGlzcGxheUFkbWluQWRkVXNlclN0ZXAyUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIHJldHVybjsJCiAgfQoKLy8gYW5kIHRoZW4gYWRkIGhpbSB0byBoaXMgZ3JvdXBzCiRyZXQgPSAkdGhpcy0+U2V0VXNlckdyb3VwcyggJHVzZXJfaWQsICRncnBpZHMgKTsKaWYoICRyZXRbMF0gPT0gZmFsc2UgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2Vycm9yJywgIjEiKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ21lc3NhZ2UnLCAkdGhpcy0+TGFuZygnZXJyb3JfY2FudGFzc2lnbnVzZXInKSApOwogICAgJHRoaXMtPl9EaXNwbGF5QWRtaW5BZGRVc2VyU3RlcDJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgcmV0dXJuOwkKICB9IAoKLy8gYW5kIHRoZW4gYWRkIGhpcyBwcm9wZXJ0aWVzCi8vIGRlbGV0ZSB0aGVtIGFsbCBmaXJzdCB0aG91Z2gKJHRoaXMtPkRlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoICIiLCAkdXNlcl9pZCwgdHJ1ZSApOwpmb3JlYWNoKCAkZmllbGRzIGFzICRrID0+ICR2ICkKewogICR2YWxzID0mICRmbGRpbmZvWyRrXTsKCiAgaWYoIHByZWdfbWF0Y2goJy9fY2xlYXIkLycsICRrICkgKQogICAgewogICAgICBjb250aW51ZTsKICAgIH0KICAKICBpZiggJHZhbHNbMV0gPT0gNiApCiAgICB7CiAgICAgIC8vIGltYWdlIHR5cGUKICAgICAgaWYoIGlzc2V0KCRfRklMRVNbJGlkLidpbnB1dF8nLiRrXSkgJiYgJF9GSUxFU1skaWQuJ2lucHV0XycuJGtdWydzaXplJ10gPiAwICkKCXsKCSAgLy8gaXQncyBhbiB1cGxvYWRlZCBmaWxlIHR5cGUKCSAgJHJlc3VsdCA9ICR0aGlzLT5NYW5hZ2VJbWFnZVVwbG9hZCgkaWQsJ2lucHV0XycsICRrLCAkdXNlcl9pZCwgJHZhbHNbMl0gKTsKCSAgaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQoJICAgIHsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yJykuJyZuYnNwOycuJHJlc3VsdDsKCSAgICAgICR0aGlzLT5fRGlzcGxheUFkbWluQWRkVXNlclN0ZXAyUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICAgIHJldHVybjsKCSAgICB9CgkgICR2ID0gJHJlc3VsdFsxXTsKCX0KICAgIH0KCiAgJHJldCA9ICR0aGlzLT5TZXRVc2VyUHJvcGVydHlGdWxsKCAkaywgJHYsICR1c2VyX2lkICk7CiAgaWYoICRyZXQgPT0gZmFsc2UgKQogICAgewogICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yJyk7CiAgICAgICR0aGlzLT5fRGlzcGxheUFkbWluQWRkVXNlclN0ZXAyUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgICAgcmV0dXJuOwogICAgfQp9CgovLyBhbmQgd2UncmUgZG9uZQovLyBzZW5kIHRoZSBldmVudAokZXZlbnRfcGFyYW1zID0gYXJyYXkoKTsKJGV2ZW50X3BhcmFtc1snbmFtZSddID0gJHVzZXJuYW1lOwokZXZlbnRfcGFyYW1zWydpZCddID0gJHVzZXJfaWQ7CiR0aGlzLT5TZW5kRXZlbnQoJ09uVXBkYXRlVXNlcicsJGV2ZW50X3BhcmFtcyk7CiR0aGlzLT5fU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCdPblVwZGF0ZVVzZXInLCRldmVudF9wYXJhbXMpOwoKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICd1c2VycycgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_forgotpw.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10gKSApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9yZXR1cm50byddICkgKQogICAgICB7CgkkcmV0dXJuaWQgPSAkcGFyYW1zWydpbnB1dF9yZXR1cm50byddOwogICAgICB9CiAgICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRyZXR1cm5pZCk7CiAgICByZXR1cm47CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJyk7CiAgICAkcGFyYW1zWydmb3JtJ10gPSAnZm9yZ290cHcnOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KICAgIAovLyBzZWUgaWYgd2UgY2FuIGZpbmQgdGhpcyB1c2VyCiR1aWQgPSAkdGhpcy0+R2V0VXNlcklEKCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CmlmKCAhJHVpZCApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJyk7CiAgICAkcGFyYW1zWydmb3JtJ10gPSAnZm9yZ290cHcnOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIHNlZSBpZiB3ZSBjYW4gZGlnIHVwIGFuIGVtYWlsIGFkZHJlc3MgZm9yIGhpbQokZW1haWwgPSAkdGhpcy0+R2V0RW1haWwoJHVpZCk7CmlmKCAhZW1wdHkoJGVtYWlsKSApCiAgewogICAgJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwogICAgaWYoICEkY21zbWFpbGVyICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9tYWlsZXJtb2R1bGUnKTsKCSRwYXJhbXNbJ2Zvcm0nXSA9ICdmb3Jnb3Rwdyc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgIAogICAgLy8gd2UgZm91bmQgYW5lIG1haWwgYWRkcmVzcwogICAgLy8gZ2VuZXJhdGUgYSBjb2RlLCBhbmQgc3RvcmUgaXQgc29tZXBsYWNlCiAgICAvLyBidXQgdGhhdCBtZWFucyB3ZSBnb3R0YSBjbGVhbiB0aGVzZSB0aGluZ3MgdXAKICAgIC8vIGZyb20gdGltZSB0byB0aW1lLgogICAgJGNvZGUgPSAkdGhpcy0+R2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoKTsKICAgIGlmKCAhJHRoaXMtPlNldFVzZXJUZW1wQ29kZSggJHVpZCwgJGNvZGUgKSApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnKTsKCSRwYXJhbXNbJ2Zvcm0nXSA9ICdmb3Jnb3Rwdyc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgIAogICAgLy8gc2VuZCBvdXIgZnVua3kgZW1haWwKICAgICRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZGZvcmdvdHBhc3N3ZCcpOwogICAgJHBpZCA9ICRyZXR1cm5pZDsKICAgIGlmKCAkcGFnZSApCiAgICAgIHsKCSR0cGlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKCWlmKCAkdHBpZCAhPSBmYWxzZSApICRwaWQgPSAkdHBpZDsKICAgICAgfQogICAgCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCcsCgkJCSAgJHRoaXMtPkxhbmcoJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2NvZGUnLCR0aGlzLT5MYW5nKCdtZXNzYWdlX2NvZGUnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RhdGFfY29kZScsJGNvZGUpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbGluaycsJHRoaXMtPkxhbmcoJ3Byb21wdF9saW5rJykpOwogICAgJHBhcm1zID0gYXJyYXkoICdpbnB1dF91aWQnID0+ICR1aWQsICdpbnB1dF9jb2RlJyA9PiAkY29kZSApOwoKICAgICRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwogICAgJHByZXR0eXVybCA9ICJmZXUvdmVyaWZ5L3skcGlkfS97JHVpZH0veyRjb2RlfSI7CiAgICAkbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwndmVyaWZ5Y29kZScsJHBpZCwnJywkcGFybXMsICcnLCB0cnVlLCBmYWxzZSwgJycsIGZhbHNlLCAkcHJldHR5dXJsKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RhdGFfbGluaycsCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCd2ZXJpZnljb2RlJywkcGlkLCRsaW5rLCRwYXJtcykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkYXRhX3VybCcsJGxpbmspOwogICAgCiAgICAkYm9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRlbWFpbGZvcm0nKTsKICAgIAogICAgJGNtc21haWxlci0+QWRkQWRkcmVzcyggJGVtYWlsICk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkYm9keSApOwogICAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICAgaWYoIHN0cmlwX3RhZ3MoJGJvZHkpICE9ICRib2R5ICkKICAgICAgewoJJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5MYW5nKCdsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0JykpOwogICAgJGNtc21haWxlci0+U2VuZCgpOwogICAgCiAgICAvLyBhbmQgdGVsbCB0aGUgdXNlciBzb21ldGhpbmcKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnLCRlbWFpbCk7CiAgICAkcGFyYW1zWydza2lwZm9ybWRpc3BsYXknXSA9IDE7CiAgICAkcGFyYW1zWydmb3JtJ10gPSAnZm9yZ290cHcnOwogICAgCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JldHVybnRvJ10gKSApCiAgICAgIHsKCSRyZXR1cm5pZCA9ICRwYXJhbXNbJ2lucHV0X3JldHVybnRvJ107CiAgICAgIH0KICAgIAogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCi8vIHdlIGZvdW5kIG5vIGVtYWlsIGFkZHJlc3MKJHBhcmFtc1snZXJyb3InXSA9IDE7CiRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCcpOwokcGFyYW1zWydmb3JtJ10gPSAnZm9yZ290cHcnOwokdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwkcGFyYW1zICk7CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.do_login.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokY2FwdGNoYSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcHRjaGEnKTsKaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgewogICAgaWYgKCEkY2FwdGNoYS0+Q2hlY2tDYXB0Y2hhKCRwYXJhbXNbJ2lucHV0X2NhcHRjaGEnXSkpCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfY2FwdGNoYW1pc21hdGNoJyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24udXNlcl9sb2dpbmZvcm0ucGhwJyk7CglyZXR1cm47CiAgICAgIH0KICB9CgkKaWYoICFpc3NldCggJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10gKSB8fCAkcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXSA9PSAnJyApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ndXNlcm5hbWUnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi51c2VyX2xvZ2luZm9ybS5waHAnKTsKICAgIHJldHVybjsKICB9CgppZiggIWlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfcGFzc3dvcmQnXSApIHx8ICRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXNzd29yZCcpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfbG9naW5mb3JtLnBocCcpOwogICAgcmV0dXJuOwogIH0KCi8vIG5vdyB2YWxpZGF0ZSB0aGUgcGFzc3dvcmQgYW5kIHVzZXJuYW1lCmlmIChpc3NldCgkcGFyYW1zWydvbmx5X2dyb3VwcyddKSkKICB7CiAgICAkcmVzdWx0ID0gJHRoaXMtPkxvZ2luKCAkcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXSwgJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10sICRwYXJhbXNbJ29ubHlfZ3JvdXBzJ10gKTsJCQkKICB9CiBlbHNlCiAgIHsKICAgICAkcmVzdWx0ID0gJHRoaXMtPkxvZ2luKCAkcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXSwgJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10gKTsJCiAgIH0KaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQogIHsKICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAkcmVzdWx0WzFdOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfbG9naW5mb3JtLnBocCcpOwogICAgcmV0dXJuOwogIH0KJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksCgkgICAgICAkdGhpcy0+TGFuZygnZnJvbnRlbmR1c2VyX2xvZ2dlZGluJykuIjogIi4kcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXSApOwoKLy8KLy8gd2UncmUgbG9nZ2VkIGluCi8vCgovLyBzdG9yZSBhIGNvb2tpZSA/CmlmKCBpc3NldCgkcGFyYW1zWydmZXVfcmVtZW1iZXJtZSddKSAmJgogICAgJHBhcmFtc1snZmV1X3JlbWVtYmVybWUnXSA9PSAxKQogIHsKICAgICR0aGlzLT5TZXRMb2dpbkNvb2tpZSgkcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXSwkcGFyYW1zWydmZXVfaW5wdXRfcGFzc3dvcmQnXSk7CiAgfQoKLy8gcmVkaXJlY3Qgc29tZXdoZXJlID8KJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX2xvZ2luJyk7CmlmKCBpc3NldCggJHBhcmFtc1sncmV0dXJudG8nXSApICkKICB7CiAgICAkcGFnZSA9ICRwYXJhbXNbJ3JldHVybnRvJ107CiAgfQoKLy8gcmVwbGFjZSB7JHVzZXJuYW1lfSB3aXRoIHRoZSB1c2VyIG5hbWUKLy8gd2Ugc2hvdWxkIGRvIGEgY2hlY2sgdG8gc2VlIGlmIHRoZSBwYWdlIGV4aXN0cwokcGFnZSA9IHN0cl9yZXBsYWNlKCAie1wkdXNlcm5hbWV9IiwgJHBhcmFtc1snZmV1X2lucHV0X3VzZXJuYW1lJ10sICRwYWdlICk7CgovLyByZXBsYWNlIHskZ3JvdXBuYW1lfSB3aXRoIHRoZSBmaXJzdCBncm91cG5hbWUgd2UgY2FuIGZpbmQgdGhhdCBtYXRjaGVzCiRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICR0aGlzLT5Mb2dnZWRpbklkKCkgKTsKJGdyb3VwbmFtZSA9ICR0aGlzLT5HZXRHcm91cE5hbWUoICRncm91cHNbMF1bJ2dyb3VwaWQnXSApOwokcGFnZSA9IHN0cl9yZXBsYWNlKCAie1wkZ3JvdXB9IiwgJGdyb3VwbmFtZSwgJHBhZ2UgKTsKCi8vIHNlbmQgdGhlIGV2ZW50CiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1snaWQnXSA9ICR0aGlzLT5Mb2dnZWRJbklkKCk7CiRwYXJtc1sndXNlcm5hbWUnXSA9ICRwYXJhbXNbJ2ZldV9pbnB1dF91c2VybmFtZSddOwokcGFybXNbJ2lwJ10gPSBnZXRlbnYoJ1JFTU9URV9BRERSJyk7CiR0aGlzLT5TZW5kRXZlbnQoICdPbkxvZ2luJywgJHBhcm1zICk7CiR0aGlzLT5fU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCdPbkxvZ2luJywkcGFybXMpOwoKaWYoICRwYWdlICkKICB7CiAgICAkaWQgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCAkcGFnZSApOwogICAgaWYoICRpZCApCiAgICAgIHsKCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRpZCApOwoJcmV0dXJuOwogICAgICB9CiAgICBkaWUoICJjb3VsZG4ndCBnZXQgcGFnZWlkIGZvciAkcGFnZSIgKTsKICB9CiR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRyZXR1cm5pZCApOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_lostusername.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCAkZ0NtcyApICkgcmV0dXJuOwoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9yZXR1cm50byddICkgKQogIHsKICAgICRyZXR1cm5pZCA9ICRwYXJhbXNbJ2lucHV0X3JldHVybnRvJ107CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddICkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKICAgIHJldHVybjsKICB9CgppZiggIWlzc2V0KCAkcGFyYW1zWydzdWJtaXQnXSApICkKICB7CiAgICAvLyBzaG91bGQgbmV2ZXIgaGFwcGVuCiAgICByZXR1cm47CiAgfQoKZnVuY3Rpb24gX2hhbmRsZUVycm9yKCAkaWQsICYkbW9kdWxlLCAkcmV0dXJuaWQsICRtZXNzYWdlLCAkcGFyYW1zICkKewogICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwogICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRtZXNzYWdlOwogICRwYXJhbXNbJ2Zvcm0nXSA9ICdsb3N0dXNlcm5hbWUnOwogICRtb2R1bGUtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KCi8vCi8vIFByb2Nlc3MgY2FwdGNoYQovLwokY2FwdGNoYSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcHRjaGEnKTsKaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCAkcGFyYW1zWydub2NhcHRjaGEnXSkgKQogIHsKICAgIGlmKCAhJGNhcHRjaGEtPkNoZWNrQ2FwdGNoYSgkcGFyYW1zWydpbnB1dF9jYXB0Y2hhJ10pICkKICAgICAgewoJICBfaGFuZGxlRXJyb3IoICRpZCwgJHRoaXMsICRyZXR1cm5pZCwgCgkJCSR0aGlzLT5MYW5nKCdlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnKSwKCQkJJHBhcmFtcyk7CgkgIHJldHVybjsKICAgICAgfQogIH0KCi8vCi8vIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGFzc3dvcmQgd2FzIGZpbGxlZCBvdXQgCi8vCmlmKCAhaXNzZXQoJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10pIHx8IAogICAgdHJpbSgkcGFyYW1zWydmZXVfaW5wdXRfcGFzc3dvcmQnXSkgPT0gJycgKQogIHsKICAgIF9oYW5kbGVFcnJvciggJGlkLCAkdGhpcywgJHJldHVybmlkLCAKCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSwKCQkgICRwYXJhbXMpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIFByb2Nlc3MgYWxsIG9mIHRoZSBwYXJhbXMsIHRoYXQgaGF2ZSBib3RoIGFuIGZldV9oaWRkZW4gYW5kIGZldV9pbnB1dCBmaWVsZAovLyBleHRyYWN0IHRoZSBwcm9wZXJ0eSBuYW1lcyBvdXQgb2YgdGhlbQovLwokZmllbGRzID0gYXJyYXkoKTsKJGZpcnN0cHJvcCA9ICcnOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15mZXVfaGlkZGVuXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoICRrZXksIHN0cmxlbignZmV1X2hpZGRlbl8nKSk7CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHZhbHVlKTsKCiAgICAgIGlmKCAhaXNzZXQoJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXSkgfHwKCSAgJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXSA9PSAnJykKCXsKCSAgX2hhbmRsZUVycm9yKCAkaWQsICR0aGlzLCAkcmV0dXJuaWQsIAoJCQkkdGhpcy0+TGFuZygnZXJyb3JfcmVxdWlyZWRmaWVsZCcsJHByb3BuYW1lKSwKCQkJJHBhcmFtcyk7CgkgIHJldHVybjsKCX0KCiAgICAgIGlmKCAkZmlyc3Rwcm9wID09ICcnICkgJGZpcnN0cHJvcCA9ICRwcm9wbmFtZTsKICAgICAgJGZpZWxkc1skcHJvcG5hbWVdID0gYXJyYXkoKTsKICAgICAgJGZpZWxkc1skcHJvcG5hbWVdWydpbnB1dCddID0gJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXTsKICAgIH0KfQoKLy8KLy8gTm93LCB0cnkgdG8gZmluZCBhIHVzZXJpZC91c2VybmFtZQovLyB0aGF0IG1hdGNoIHRoZXNlIHByb3BlcnRpZXMKLy8KJHF1ZXJ5ID0gIlNFTEVDVCB1c2VyaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcwogICAgICAgICAgIFdIRVJFIHRpdGxlID0gPyBBTkQgZGF0YSA9ID8iOwokbmV3ZmllbGRzID0gYXJyYXkoKTsKZm9yZWFjaCggJGZpZWxkcyBhcyAkcHJvcG5hbWUgPT4gJGRhdGEgKQp7CiAgJG1hdGNoZXMgPSBhcnJheSgpOwogICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSgkcHJvcG5hbWUsJGRhdGFbJ2lucHV0J10pICk7CiAgd2hpbGUoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKICAgIHsKICAgICAgJG1hdGNoZXNbXSA9ICRyb3dbJ3VzZXJpZCddOwogICAgfQoKICBpZiggY291bnQoJG1hdGNoZXMpID09IDAgKQogICAgewogICAgICAvLyBubyBtYXRjaGVzLCB3ZSBjYW4gc3RvcCBoZXJlCiAgICAgIF9oYW5kbGVFcnJvciggJGlkLCAkdGhpcywgJHJldHVybmlkLCAKCQkgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbnRmaW5kdXNlcicpLCAkcGFyYW1zICk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgLy8gc3RvcmUgdGhlIHJlc3VsdHMKICAkZGF0YVsnbWF0Y2hlcyddID0gJG1hdGNoZXM7CiAgJG5ld2ZpZWxkc1skcHJvcG5hbWVdID0gJGRhdGE7Cn0KCiRmaWVsZHMgPSAkbmV3ZmllbGRzOwoKLy8gbm93IGdvIHRocm91Z2ggZWFjaCBvZiB0aGUgbWF0Y2hlcyBhcnJheXMsIGFuZCBmaW5kIGFsbCBvZiB0aGUKLy8gdXNlcmlkcyB0aGF0IGFyZSB0aGUgc2FtZSBpbiBlYWNoIHJvdwokZ29vZHVpZHMgPSBhcnJheSgpOwokZmlyc3R1aWRzID0mICRmaWVsZHNbJGZpcnN0cHJvcF1bJ21hdGNoZXMnXTsKZm9yZWFjaCggJGZpcnN0dWlkcyBhcyAkZmlyc3R1aWQgKQp7CiAgJGZvdW5kID0gdHJ1ZTsKICBmb3JlYWNoKCAkZmllbGRzIGFzICRwcm9wbmFtZSA9PiAkZGF0YSApCiAgICB7CiAgICAgIGlmKCAkcHJvcG5hbWUgPT0gJGZpcnN0cHJvcCApCgl7CgkgIGNvbnRpbnVlOwoJfQoKICAgICAgaWYoIGFycmF5X3NlYXJjaCggJGZpcnN0dWlkLCAkZGF0YVsnbWF0Y2hlcyddLCB0cnVlICkgPT09IEZBTFNFICkKCXsKCSAgLy8gdGhpcyBmaXJzdHVpZCB1aWQgZmFpbHMuCgkgICRmb3VuZCA9IGZhbHNlOwoJICBicmVhazsKCX0KICAgIH0KICBpZiggJGZvdW5kID09IHRydWUgKQogICAgewogICAgICAkZ29vZHVpZHNbXSA9ICRmaXJzdHVpZDsKICAgIH0KfQoKaWYoIGNvdW50KCAkZ29vZHVpZHMgKSA+IDEgKQogIHsKICAgIC8vIG5vbiB1bmlxdWUgbWF0Y2gKICAgIF9oYW5kbGVFcnJvciggJGlkLCAkdGhpcywgJHJldHVybmlkLCAKCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9ub251bmlxdWVtYXRjaCcpLCAkcGFyYW1zKTsKICAgIHJldHVybjsKICB9CgokdWlkID0gJGdvb2R1aWRzWzBdOwoKLy8KLy8gQ29uZmlybSB0aGUgcGFzc3dvcmQKLy8KJHVzZXJuYW1lID0gJHRoaXMtPkdldFVzZXJOYW1lKCR1aWQpOwppZiggISR1c2VybmFtZSApCiAgewogICAgLy8gbm93IHRoaXMgaXMgd2FycGVkCiAgICBfaGFuZGxlRXJyb3IoICRpZCwgJHRoaXMsICRyZXR1cm5pZCwgCgkJICAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJyksICRwYXJhbXMpOwogICAgcmV0dXJuOwogIH0KJHB3ID0gJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ107CmlmKCAhJHRoaXMtPkNoZWNrUGFzc3dvcmQoICR1c2VybmFtZSwgJHB3ICkgKQogIHsKICAgIC8vIG5vdyB0aGlzIGlzIHdhcnBlZAogICAgX2hhbmRsZUVycm9yKCAkaWQsICR0aGlzLCAkcmV0dXJuaWQsIAoJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2xvZ2luZmFpbGVkJyksICRwYXJhbXMpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIFlhaG9vLCB3ZSBtYWRlIGl0Ci8vCgovLyBkaXNwbGF5IGEgd2FybSBhbmQgZnV6enkgbWVzc2FnZQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF95b3VydXNlcm5hbWVpcycsJHRoaXMtPkxhbmcoJ3lvdXJfdXNlcm5hbWVfaXMnKSk7CiRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCR1c2VybmFtZSk7CiRzbWFydHktPmFzc2lnbigncHJlbXNnJywkdGhpcy0+TGFuZygnbG9zdHVuY29uZmlybV9wcmVtc2cnKSk7CiRzbWFydHktPmFzc2lnbigncG9zdG1zZycsJHRoaXMtPkxhbmcoJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19sb3N0dW5mb3JtX2NvbmZpcm0nKTsKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_setprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdHByZWZzJyApICkKICB7CiAgICByZXR1cm47CiAgfQoKZ2xvYmFsICRnQ21zOwokZGIgPSYgJGdDbXMtPkdldERCKCk7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlYWxsJ10gKSApCiAgewogICAgJHRoaXMtPkV4cGlyZVRlbXBDb2RlcygnLTUgeWVhcnMnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9yZW1vdmUxd2VlayddICkgKQogIHsKICAgICR0aGlzLT5FeHBpcmVUZW1wQ29kZXMoJy0xIHdlZWsnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9yZW1vdmUxbW9udGgnXSApICkKICB7CiAgICAkdGhpcy0+RXhwaXJlVGVtcENvZGVzKCctMSBtb250aCcpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdwcmVmcycpOwogIH0KZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ2NhbmNlbCddICkgKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnICk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9taW5wd2xlbiddICkgJiYgCiAgICBpc3NldCggJHBhcmFtc1snaW5wdXRfbWF4cHdsZW4nXSApICkKICB7CiAgICBpZiggJHBhcmFtc1snaW5wdXRfbWlucHdsZW4nXSA+PSAkcGFyYW1zWydpbnB1dF9tYXhwd2xlbiddIHx8CgkkcGFyYW1zWydpbnB1dF9taW5wd2xlbiddIDw9IDAgKQogICAgICB7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocycpICk7CglyZXR1cm47CiAgICAgIH0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtaW5fcGFzc3dvcmRsZW5ndGgnLCRwYXJhbXNbJ2lucHV0X21pbnB3bGVuJ10pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcsJHBhcmFtc1snaW5wdXRfbWF4cHdsZW4nXSk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9taW51bmxlbiddICkgJiYgCiAgICBpc3NldCggJHBhcmFtc1snaW5wdXRfbWF4dW5sZW4nXSApICkKICB7CiAgICBpZiggJHBhcmFtc1snaW5wdXRfbWludW5sZW4nXSA+PSAkcGFyYW1zWydpbnB1dF9tYXh1bmxlbiddIHx8CgkkcGFyYW1zWydpbnB1dF9taW51bmxlbiddIDw9IDAgKQogICAgICB7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocycpICk7CglyZXR1cm47CiAgICAgIH0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtaW5fdXNlcm5hbWVsZW5ndGgnLCRwYXJhbXNbJ2lucHV0X21pbnVubGVuJ10pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcsJHBhcmFtc1snaW5wdXRfbWF4dW5sZW4nXSk7CiAgfQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJfc2Vzc2lvbl9leHBpcmVzJywgJHBhcmFtc1snaW5wdXRfc2Vzc2lvbnRpbWVvdXQnXSk7CgokY29va2llX2tlZXBhbGl2ZSA9IDA7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfY29va2lla2VlcGFsaXZlJ10gKSApCiAgewogICAgJGNvb2tpZV9rZWVwYWxpdmUgPSAkcGFyYW1zWydpbnB1dF9jb29raWVrZWVwYWxpdmUnXTsKICB9CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjb29raWVfa2VlcGFsaXZlJywkY29va2llX2tlZXBhbGl2ZSk7CgokdXNlY29va2llc3RvcmVtZW1iZXIgPSAwOwppZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gKSApCiAgewogICAgJHVzZWNvb2tpZXN0b3JlbWVtYmVyID0gJHBhcmFtc1snaW5wdXRfdXNlY29va2llc3RvcmVtZW1iZXInXTsKICB9CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2Vjb29raWVzdG9yZW1lbWJlcicsJHVzZWNvb2tpZXN0b3JlbWVtYmVyKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJywkcGFyYW1zWydpbnB1dF9jb29raWVuYW1lJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncm91cCcsICRwYXJhbXNbJ2lucHV0X2RmbHRncm91cCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NpZ25pbl9idXR0b24nLCAkcGFyYW1zWydpbnB1dF9zaWduaW5fYnV0dG9uJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywgJHBhcmFtc1snaW5wdXRfcmVxdWlyZWRmaWVsZG1hcmtlciddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywgJHBhcmFtc1snaW5wdXRfcmVxdWlyZWRmaWVsZGNvbG9yJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZV9vbmVncm91cCcsICRwYXJhbXNbJ2lucHV0X3JlcXVpcmVvbmVncm91cCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hpZGRlbl9maWVsZF9tYXJrZXInLCAkcGFyYW1zWydpbnB1dF9oaWRkZW5maWVsZG1hcmtlciddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hpZGRlbl9maWVsZF9jb2xvcicsICRwYXJhbXNbJ2lucHV0X2hpZGRlbmZpZWxkY29sb3InXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRmb3Jnb3RwYXNzd2QnLCAkcGFyYW1zWydpbnB1dF9mb3Jnb3Rwd19wYWdlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2NoYW5nZXNldHRpbmdzJywgJHBhcmFtc1snaW5wdXRfY2hhbmdlc2V0dGluZ3NfcGFnZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dpbicsICRwYXJhbXNbJ2lucHV0X2xvZ2luX3BhZ2UnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9nb3V0JywgJHBhcmFtc1snaW5wdXRfbG9nb3V0X3BhZ2UnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfYWZ0ZXJ2ZXJpZnknLAoJCSAgICAgJHBhcmFtc1snaW5wdXRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfYWZ0ZXJjaGFuZ2VzZXR0aW5ncycsCgkJICAgICAkcGFyYW1zWydpbnB1dF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VybmFtZV9pc19lbWFpbCcsIChpc3NldCgkcGFyYW1zWydpbnB1dF91c2VybmFtZV9pc19lbWFpbCddKT8kcGFyYW1zWydpbnB1dF91c2VybmFtZV9pc19lbWFpbCddOjApKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnLCAoaXNzZXQoJHBhcmFtc1snaW5wdXRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddKT8kcGFyYW1zWydpbnB1dF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ106MCkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycsIChpc3NldCgkcGFyYW1zWydpbnB1dF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10pPyRwYXJhbXNbJ2lucHV0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXTowKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19yZXBlYXRlZF9sb2dpbnMnLChpc3NldCgkcGFyYW1zWydpbnB1dF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSk/JHBhcmFtc1snaW5wdXRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ106MCkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnLCAkcGFyYW1zWydpbnB1dF9wd2ZsZGxlbiddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJywgJHBhcmFtc1snaW5wdXRfdW5mbGRsZW4nXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV9kZXN0aW5hdGlvbl9wYXRoJywkcGFyYW1zWydpbnB1dF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywkcGFyYW1zWydpbnB1dF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSk7CmlmIChpc3NldCgkcGFyYW1zWydub3RpZmljYXRpb25zJ10pKQogICB7CiAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25zJyxpbXBsb2RlKCcsJywkcGFyYW1zWydub3RpZmljYXRpb25zJ10pKTsKICAgfQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZpY2F0aW9uX2FkZHJlc3MnLCRwYXJhbXNbJ25vdGlmaWNhdGlvbl9hZGRyZXNzJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZpY2F0aW9uX3N1YmplY3QnLCRwYXJhbXNbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10pOwokdGhpcy0+U2V0VGVtcGxhdGUoJ25vdGlmaWNhdGlvbl90ZW1wbGF0ZScsJHBhcmFtc1snbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10pOwogICAgCiRxdWVyeSA9ICJTRUxFQ1QgcGVybWlzc2lvbl9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJwZXJtaXNzaW9ucyBXSEVSRSBwZXJtaXNzaW9uX25hbWUgTElLRSAnRkVVICUnIjsKJGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKCiRmZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zID0gMDsKaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gKSApCiAgJGZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMgPSAkcGFyYW1zWydpbnB1dF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ107CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJywkZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyk7CgppZiAoaXNzZXQoJHBhcmFtc1snaW5wdXRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddKSAmJiAkcGFyYW1zWydpbnB1dF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ109PTEpCiAgewogICAgLy8gdXNpbmcgRkVVc2VyLXNwZWNpZmljIHBlcm1pc3Npb25zLCBzbyBjcmVhdGUgdGhlbSBpZiBuZWNlc3NhcnkKICAgIGlmIChpbnR2YWwoJGNvdW50KSA9PSAwKQogICAgICB7CgkvLyBjcmVhdGUgJ2VtCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIEFkZCBVc2VycycsJ0FkZCBGcm9udC1FbmQgVXNlcnMnKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IFVzZXJzJywnTW9kaWZ5IEZyb250LUVuZCBVc2VycycpOwoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0ZFVSBSZW1vdmUgVXNlcnMnLCdSZW1vdmUgRnJvbnQtRW5kIFVzZXJzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIEFkZCBHcm91cHMnLCdBZGQgRnJvbnQtRW5kIFVzZXIgR3JvdXBzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cHMnLCdNb2RpZnkgRnJvbnQtRW5kIFVzZXIgR3JvdXBzJyk7CgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cCBBc3NpZ25tZW50cycsJ01vZGlmeSBGcm9udC1FbmQgVXNlciBHcm91cCBBc3NpZ25tZW50cycpOwoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0ZFVSBSZW1vdmUgR3JvdXBzJywnUmVtb3ZlIEZyb250LUVuZCBVc2VyIEdyb3VwcycpOwoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycsJ01vZGlmeSBGcm9udC1FbmQgVXNlcnMgU2l0ZSBQcmVmcycpOwoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnLCdNb2RpZnkgRnJvbnQtRW5kIFVzZXIgUHJvcGVydGllcycpOwoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgVGVtcGxhdGVzJywnTW9kaWZ5IEZyb250LUVuZCBVc2VyIFRlbXBsYXRlcycpOwogICAgICB9CiAgfQogZWxzZQogICB7CiAgICAgLy8gc2hhcmluZyBhY2Nlc3MgcGVybWlzc2lvbnMgd2l0aCBBZG1pbiwgc28gZGVsZXRlIEZFVXNlci1zcGVjaWZpYyBwZXJtaXNzaW9ucyBpZiBuZWNlc3NhcnkKICAgICBpZiAoaW50dmFsKCRjb3VudCkgIT0gMCkKICAgICAgIHsKCSAvLyBkZWxldGUgJ2VtCgkgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBBZGQgVXNlcnMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBVc2VycycpOwoJICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgUmVtb3ZlIFVzZXJzJyk7CgkgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBBZGQgR3JvdXBzJyk7CgkgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgR3JvdXBzJyk7CgkgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgR3JvdXAgQXNzaWdubWVudHMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIFJlbW92ZSBHcm91cHMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyk7CgkgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnKTsKCSAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBUZW1wbGF0ZXMnKTsKICAgICAgIH0KICAgfQogICAgCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_userchangesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2ZldV9jYW5jZWwnXSkgKSAKICAgICAgewoJaWYoIGlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfcmV0dXJudG8nXSApICkKCSAgewoJICAgICRyZXR1cm5pZCA9IChpbnQpJHBhcmFtc1snZmV1X2lucHV0X3JldHVybnRvJ107CgkgIH0KCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKICAgICAgfQoKICAgICR1aWQgPSAkdGhpcy0+TG9nZ2VkSW5JZCgpOwogICAgaWYoICR1aWQgPT0gZmFsc2UgKSAKICAgICAgewoJLy8gdXNlciBpc24ndCBsb2dnZWQgaW4KCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3Jfbm90bG9nZ2VkaW4nKSk7CglyZXR1cm47CiAgICAgIH0KICAgICRyZXN1bHQgPSAkdGhpcy0+R2V0VXNlckluZm8oICR1aWQgKTsKICAgIGlmKCAkcmVzdWx0WzBdID09IEZBTFNFICkKICAgICAgewoJLy8gdXNlciBpc24ndCBsb2dnZWQgaW4KCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAkcmVzdWx0WzFdKTsKCXJldHVybjsKICAgICAgfQogICAgJHVpbmZvID0gJHJlc3VsdFsxXTsKCiAgICAkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddKTsKICAgICRyZXBlYXQgICA9IHRyaW0oJHBhcmFtc1snZmV1X2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pOwogICAgaWYoICRwYXNzd29yZCAhPSAkcmVwZWF0ICYmICRwYXNzd29yZCAhPSAnJykKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCcpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2NoYW5nZXNldHRpbmdzJywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgIH0KCiAgICAvLyBkbyB2YWxpZGF0aW9uIG9mIHRoZSBmaWVsZHMuCiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCiAgICB7CiAgICAgIGlmKCBwcmVnX21hdGNoKCAnL15mZXVfaGlkZGVuXy8nLCAka2V5ICkgKQoJewoJICAkcHJvcG5hbWUgPSBzdWJzdHIoICRrZXksIHN0cmxlbignZmV1X2hpZGRlbl8nKSk7CgkgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CgkgICRyZXF1aXJlZCA9ICRhcnJbM107CgoJICBpZiggJHJlcXVpcmVkID09IDIgKQoJICAgIHsKCSAgICAgIC8vCgkgICAgICAvLyB2YWxpZGF0ZSBhIHJlcXVpcmVkIGZpZWxkLgoJICAgICAgLy8KCSAgICAgIGlmKCAkYXJyWzFdID09IDYgKQoJCXsKCQkgIC8vIGl0J3MgYW4gaW1hZ2UgdHlwZQoJCSAgaWYoICghaXNzZXQoJF9GSUxFU1skaWQuJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0pIHx8ICRfRklMRVNbJGlkLidmZXVfaW5wdXRfJy4kcHJvcG5hbWVdWydzaXplJ10gPT0gMCkgJiYKCQkgICAgICAkYXJyWzRdID09ICcnKQoJCSAgICB7CgkJICAgICAgLy8gYnV0IHdlIGNhbid0IGZpbmQgYSB2YWx1ZQoJCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9yZXF1aXJlZGZpZWxkJywkcHJvcG5hbWUpOwoJCSAgICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnY2hhbmdlc2V0dGluZ3MnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCQkgICAgfQoJCX0KCSAgICAgIGVsc2UgaWYoICFpc3NldCgkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdKSB8fCAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdID09ICcnICkKCQl7CgkJICAvLyBpdCdzIHNvbWUgb3RoZXIgdHlwZSBvZiByZXF1aXJlZCBmaWVsZC4KCQkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJCSAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcXVpcmVkZmllbGQnLCRwcm9wbmFtZSk7CgkJICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2NoYW5nZXNldHRpbmdzJywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkJfQoJICAgIH0KCgkgIC8vCgkgIC8vIHNvbWUgYWR2YW5jZWQgdmFsaWRhdGlvbgoJICAvLyBhbmQgcG9zdCBwcm9jZXNzaW5nCgkgIC8vCgkgIGlmKCAkYXJyWzFdID09ICcyJyAmJiAkcmVxdWlyZWQgPT0gMiApIC8vIGVtYWlsIGZpZWxkCgkgICAgewoJICAgICAgJHJlc3VsdCA9ICR0aGlzLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdLAkJCQkJCQkJCQkJCSR1aWQgKTsKCSAgICAgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCQl7CgkJICAkcGFyYW1zWydlcnJvciddID0gMTsKCQkgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJykuJyAnLiRyZXN1bHRbMV07CgkJICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2NoYW5nZXNldHRpbmdzJywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkJfQoJICAgIH0KCgkgIGlmKCAkYXJyWzFdID09ICc1JyApIC8vIG11bHRpc2VsZWN0CgkgICAgewoJICAgICAgLy8gZW5jb2RlIGl0IGludG8gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdC4KCSAgICAgICRwYXJhbXNbJ2ZldV9pbnB1dF8nLiRwcm9wbmFtZV0gPSBpbXBsb2RlKCcsJywkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdICk7CgkgICAgfQoKCSAgaWYoICRhcnJbMV0gPT0gJzYnICkgLy8gaW1hZ2UgdHlwZQoJICAgIHsKCSAgICAgIGlmKCBpc3NldCggJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lLidfY2xlYXInXSApICYmCgkJICAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWUuJ19jbGVhciddID09ICdjbGVhcicgKQoJCXsKCQkgIC8vIHdlJ3JlIHRvbGQgdG8gY2xlYXIgYW4gaW1hZ2UgcHJvcGVydHksIHdlIG11c3QgYWxzbwoJCSAgLy8gZGVsZXRlIHRoZSBpbWFnZS4KCQkgICRkZXN0RGlyMSA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkJICAkZGVzdERpcjEgLj0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCdmZXVzZXJzJykuRElSRUNUT1JZX1NFUEFSQVRPUjsKCQkgICRmaWxlMSA9ICRkZXN0RGlyMS4kYXJyWzRdOwoJCSAgQHVubGluayggJGZpbGUxICk7CgoJCSAgLy8gdW5zZXQgdGhlIGhpZGRlbiBwYXJhbSB0byBwcmV2ZW50IGFueSBmdXJ0aGVyIHByb2Nlc3NpbmcKCQkgIHVuc2V0KCAkcGFyYW1zWydmZXVfaGlkZGVuXycuJHByb3BuYW1lXSApOwoJCX0KCSAgICAgIGVsc2UKCQl7CgkJICAvLyBpbWFnZSB0eXBlcyBkb24ndCBoYXZlIGEgcGFyYW0gKGV2ZW4gaWYgd2UgaGF2ZSB1cGxvYWRlZCBhIGZpbGUpCgkJICAvLyBzbyB3ZSBzZXQgb25lLgoJCSAgJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXSA9ICRhcnJbNF07CgkJfQoJICAgIH0KCX0KCiAgICB9CgogICAgLy8KICAgIC8vIG5vdyB3ZSBhY3R1YWxseSBjaGFuZ2UgdGhlIHVzZXIgc2V0dGluZ3MKICAgIC8vCgogICAgLy8gcGFzc3dvcmQKICAgIGlmKCAkcGFzc3dvcmQgIT0gJycpCiAgICAgIHsKCSRyZXN1bHQgPSAkdGhpcy0+U2V0VXNlciggJHVpZCwgJHVpbmZvWyd1c2VybmFtZSddLCAkcGFzc3dvcmQgKTsKCWlmKCAkcmVzdWx0WzBdID09IEZBTFNFICkKCSAgewoJICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nKS4nICcuJHJlc3VsdFsxXTsKCSAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2NoYW5nZXNldHRpbmdzJywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgIH0KICAgICAgfQoKICAgIC8vCiAgICAvLyBzb3JyeSwgYnV0IGNoYW5naW5nIHlvdXIgc2V0dGluZ3MgaW52YWxpZGF0ZXMgdG9vCiAgICAvLwogICAgJHRoaXMtPl9BdHRlbXB0SW52YWxpZGF0ZUxvZ2luQ29va2llKCk7CgogICAgLy8KICAgIC8vIG5vdyBkZWxldGUgYWxsIHRoZSBwcm9wZXJ0aWVzIGZvciB0aGlzIHVzZXIKICAgIC8vIGluIHByZXBhcmF0aW9uIGZvciBzZXR0aW5nIG5ldyBvbmVzLgogICAgLy8KICAgICR0aGlzLT5EZWxldGVVc2VyUHJvcGVydHlGdWxsKCAiIiwgJHVpZCwgdHJ1ZSApOwogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQogICAgewogICAgICBpZiggcHJlZ19tYXRjaCggJy9wYXNzd29yZCQvJywgJGtleSApICkKCXsKCSAgY29udGludWU7Cgl9CgogICAgICBpZiggcHJlZ19tYXRjaCgnL19jbGVhciQvJywgJGsgKSApCgl7CgkgIGNvbnRpbnVlOwoJfQoKICAgICAgaWYoIHByZWdfbWF0Y2goICcvXmZldV9oaWRkZW5fLycsICRrZXkgKSApCgl7CgkgICRwcm9wbmFtZSA9IHN1YnN0ciggJGtleSwgc3RybGVuKCdmZXVfaGlkZGVuXycpKTsKCSAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKCgkgIGlmKCAkYXJyWzFdID09IDYgKQoJICAgIHsKCSAgICAgIC8vIGltYWdlIHR5cGUKCSAgICAgICR2YWwgPSAkcGFyYW1zWydmZXVfaW5wdXRfJy4kcHJvcG5hbWVdOwoJICAgICAgaWYoIGlzc2V0KCAkX0ZJTEVTWyRpZC4nZmV1X2lucHV0XycuJHByb3BuYW1lXSApICYmCgkJICAkX0ZJTEVTWyRpZC4nZmV1X2lucHV0XycuJHByb3BuYW1lXVsnc2l6ZSddID4gMCkKCQl7CgkJICAvLyBJdCBpcyBhbiB1cGxvYWQgZmlsZSB0eXBlCgkJICAkcmVzdWx0ID0gJHRoaXMtPk1hbmFnZUltYWdlVXBsb2FkKCRpZCwgJ2ZldV9pbnB1dF8nLCAkcHJvcG5hbWUsICR1aWQsICRhcnJbMl0gKTsKCQkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCQkgICAgewoJCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcicpLicmbmJzcDsnLiRyZXN1bHRbMV07CgkJICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdjaGFuZ2VzZXR0aW5ncycsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJCSAgICB9CgkJICAkdmFsID0gJHJlc3VsdFsxXTsKCQl9CgkgICAgfQoJICBlbHNlIGlmKCBpc3NldCggJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXSApICkKCSAgICB7CgkgICAgICAkdmFsID0gJHBhcmFtc1snZmV1X2lucHV0XycuJHByb3BuYW1lXTsKCSAgICB9CgkgIGVsc2UgCgkgICAgewoJICAgICAgY29udGludWU7CgkgICAgfQoKCSAgJHJldCA9ICR0aGlzLT5TZXRVc2VyUHJvcGVydHlGdWxsKCAkcHJvcG5hbWUsICR2YWwsICR1aWQgKTsKCSAgaWYoICRyZXQgPT0gZmFsc2UgKQoJICAgIHsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eScpLicgJy4kcHJvcG5hbWU7CgkgICAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2NoYW5nZXNldHRpbmdzJywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgICAgICByZXR1cm47CgkgICAgfQoJfQogICAgfQoKLy8gc2VuZCB0aGUgZXZlbnQKJGV2ZW50X3BhcmFtcyA9IGFycmF5KCk7CiRldmVudF9wYXJhbXNbJ25hbWUnXSA9ICR1aW5mb1sndXNlcm5hbWUnXTsKJGV2ZW50X3BhcmFtc1snaWQnXSA9ICR1aWQ7CiR0aGlzLT5TZW5kRXZlbnQoJ09uVXBkYXRlVXNlcicsJGV2ZW50X3BhcmFtcyk7CiR0aGlzLT5fU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCdPblVwZGF0ZVVzZXInLCRldmVudF9wYXJhbXMpOwoKaWYoIGlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfcmV0dXJudG8nXSApICkKICB7CiAgICAkcGFnZSA9IENvbnRlbnRNYW5hZ2VyOjpHZXRQYWdlSURGcm9tQWxpYXMoICRwYXJhbXNbJ2ZldV9pbnB1dF9yZXR1cm50byddICk7CiAgICBpZiggJHBhZ2UgKQogICAgICB7CgkkdGhpcy0+UmVkaXJlY3RDb250ZW50KCAkcGFnZSApOwoJcmV0dXJuOwogICAgICB9CiAgfQoKJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX2FmdGVyY2hhbmdlc2V0dGluZ3MnKTsKaWYoICFlbXB0eSgkcGFnZSkgKQogIHsKICAgICRwYWdlID0gc3RyX3JlcGxhY2UoICJ7XCR1c2VybmFtZX0iLCAkdWluZm9bJ3VzZXJuYW1lJ10sICRwYWdlICk7CiAgICAkZ3JvdXBzID0gJHRoaXMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCAkdGhpcy0+TG9nZ2VkaW5JZCgpICk7CiAgICAkZ3JvdXBuYW1lID0gJHRoaXMtPkdldEdyb3VwTmFtZSggJGdyb3Vwc1swXVsnZ3JvdXBpZCddICk7CiAgICAkcGFnZSA9IHN0cl9yZXBsYWNlKCAie1wkZ3JvdXB9IiwgJGdyb3VwbmFtZSwgJHBhZ2UgKTsKCiAgICAkcGFnZWlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKICAgIGlmKCAkcGFnZWlkICkKICAgICAgewoJJHJldHVybmlkID0gJHBhZ2VpZDsKICAgICAgfQogIH0KCi8vIGFuZCByZWRpcmVjdCBiYWNrIHRvIGRlc3RpbmF0aW9uIHBhZ2UKJHRoaXMtPlJlZGlyZWN0Q29udGVudCggJHJldHVybmlkICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_verifycode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgogICAgJHVpZCA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91aWQnXSApICkKICAgICAgewoJJHVpZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdWlkJ10pOwogICAgICB9CiAgICAkY29kZSA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb2RlJ10gKSApCiAgICAgIHsKCSRjb2RlID0gdHJpbSgkcGFyYW1zWydpbnB1dF9jb2RlJ10pOwogICAgICB9CiAgICAkcGFzc3dvcmQgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICAgICAgewoJJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgICAgfQogICAgJHJlcGVhdHBhc3N3b3JkID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKSApCiAgICAgIHsKCSRyZXBlYXRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgICAgIH0KCiAgICBpZiggJHBhc3N3b3JkID09ICcnIHx8ICRyZXBlYXRwYXNzd29yZCA9PSAnJyB8fCAKCSRwYXNzd29yZCAhPSAkcmVwZWF0cGFzc3dvcmQgfHwgISR0aGlzLT5Jc1ZhbGlkUGFzc3dvcmQoJHBhc3N3b3JkKSkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHBhc3N3b3JkJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAndmVyaWZ5Y29kZScsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8gbm93IHdlIGhhdmUgdG8gdmVyaWZ5IHRoZSBjb2RlCiAgICAkcmVzdWx0ID0gJHRoaXMtPkdldFVzZXJUZW1wQ29kZSggJHVpZCApOwogICAgaWYoICRyZXN1bHRbMF0gPT0gRkFMU0UgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAndmVyaWZ5Y29kZScsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CiAgICAkZGJjb2RlID0gJHJlc3VsdFsxXVsnY29kZSddOwoKICAgIGlmKCAkZGJjb2RlICE9ICRjb2RlICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGNvZGUnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICd2ZXJpZnljb2RlJywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyB3aGV3LCB3ZSBnb3QgaXQuLi4gbm93IHdlIGNhbiByZXNldCB0aGUgcGFzc3dvcmQKICAgICRyZXQgPSAkdGhpcy0+U2V0VXNlclBhc3N3b3JkKCAkdWlkLCAkcGFzc3dvcmQgKTsKICAgIGlmKCAkcmV0WzBdICE9IFRSVUUgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXRbMV07CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAndmVyaWZ5Y29kZScsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8gYW5kIGRlbGV0ZSB0aGUgY29kZQogICAgJHRoaXMtPlJlbW92ZVVzZXJUZW1wQ29kZSggJHVpZCApOwoKICAgIC8vIGFuZCBzZW5kIGFuIGV2ZW50CiAgICAkZXZlbnRfcGFyYW1zID0gYXJyYXkoKTsKICAgICRldmVudF9wYXJhbXNbJ25hbWUnXSA9ICR0aGlzLT5HZXRVc2VybmFtZSgkdWlkKTsKICAgICRldmVudF9wYXJhbXNbJ2lkJ10gPSAkdWlkOwogICAgJHRoaXMtPlNlbmRFdmVudCgnT25VcGRhdGVVc2VyJywkZXZlbnRfcGFyYW1zKTsKICAgICR0aGlzLT5fU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCdPblVwZGF0ZVVzZXInLCRldmVudF9wYXJhbXMpOwoKICAgIC8vIEFuZCByZWRpcmVjdCB0byBhIHNwZWNpZmllZCBwYWdlCiAgICAkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfYWZ0ZXJ2ZXJpZnknKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1sncmV0dXJudG8nXSApICkKICAgICAgewoJJHBhZ2UgPSAkcGFyYW1zWydyZXR1cm50byddOwogICAgICB9CgogICAgLy8gcmVwbGFjZSB7JHVzZXJuYW1lfSB3aXRoIHRoZSB1c2VyIG5hbWUKICAgIC8vIHdlIHNob3VsZCBkbyBhIGNoZWNrIHRvIHNlZSBpZiB0aGUgcGFnZSBleGlzdHMKICAgICRwYWdlID0gc3RyX3JlcGxhY2UoICJ7XCR1c2VybmFtZX0iLCAkcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXSwgJHBhZ2UgKTsKCiAgICAvLyByZXBsYWNlIHskZ3JvdXBuYW1lfSB3aXRoIHRoZSBmaXJzdCBncm91cG5hbWUgd2UgY2FuIGZpbmQgdGhhdCBtYXRjaGVzCiAgICAkZ3JvdXBzID0gJHRoaXMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCAkdGhpcy0+TG9nZ2VkaW5JZCgpICk7CiAgICAkZ3JvdXBuYW1lID0gJHRoaXMtPkdldEdyb3VwTmFtZSggJGdyb3Vwc1swXVsnZ3JvdXBpZCddICk7CiAgICAkcGFnZSA9IHN0cl9yZXBsYWNlKCAie1wkZ3JvdXB9IiwgJGdyb3VwbmFtZSwgJHBhZ2UgKTsKCiAgICBpZiggJHBhZ2UgKQogICAgICB7CgkkcGFnZWlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKCWlmKCAkcGFnZWlkICkKCSAgewoJICAgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRwYWdlaWQgKTsKCSAgICByZXR1cm47CgkgIH0KCWRpZSggImNvdWxkbid0IGdldCBwYWdlaWQgZm9yICRwYWdlIiApOwogICAgICB9CiAgICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRyZXR1cm5pZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editgroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnZWRpdGdyb3VwcycgKSApCiAgewogICAgcmV0dXJuOwogIH0KCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2dyb3VwX2lkJ10gKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcgKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CiAgICByZXR1cm47CiAgfQoKLy8gbm93IGdldCB0aGUgZ3JvdXAgaW5mbwokZ3JvdXAgPSAkdGhpcy0+R2V0R3JvdXBJbmZvKCAkcGFyYW1zWydncm91cF9pZCddICk7CmlmKCAhaXNzZXQoICRncm91cFsnaWQnXSApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZ3JvdXBbMV0gKTsKCQkJCSAKICAgIHJldHVybjsKICB9CgovLyBwb3B1bGF0ZSB0aGUgdGVtcGxhdGUKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCRwYXJhbXNbJ2Vycm9yJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkcGFyYW1zWydtZXNzYWdlJ10pOwogIH0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR0aGlzLT5MYW5nKCdlZGl0Z3JvdXAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdncm91cF9pZCcsICRncm91cFsnaWQnXSApICk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsCgkJCQkJICAgICAgJ2RvX2VkaXRncm91cCcsCgkJCQkJICAgICAgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywKCQkJCQkJJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpLCAnJywgJycsIAoJCQkJCQkkdGhpcy0+TGFuZygnY29uZmlybV9lZGl0Z3JvdXAnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZ3JvdXBuYW1lJywkdGhpcy0+TGFuZygnbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5wdXRfZ3JvdXBuYW1lJywKCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCAoJGlkLCAnaW5wdXRfZ3JvdXBuYW1lJywKCQkJCQkgICAgICAgJGdyb3VwWydncm91cG5hbWUnXSwgMjAsIDgwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Byb21wdF9ncm91cGRlc2MnLAoJCSAgICAgICAkdGhpcy0+TGFuZyAoJ2Rlc2NyaXB0aW9uJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdpbnB1dF9ncm91cGRlc2MnLAoJCSAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0ICgkaWQsICdpbnB1dF9ncm91cGRlc2MnLAoJCQkJCSAgICAgICAkZ3JvdXBbJ2dyb3VwZGVzYyddLCA4MCwgMjU1KSk7CgovLyBkaXNwbGF5IGEgbGlzdCBvZiB0aGUgcHJvcGVydGllcyBpbiBhIGZvcm0KLy8gdG8gYWxsb3cgdGhlIHVzZXIgdG8gcGljayB3aGljaCBvbmVzIGFyZSByZXF1aXJlZCBhbmQgd2hpY2ggb25lcyBhcmVudC4KJHByb3BkZWZuID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbnMoKTsKJGdyb3VwcHJvcG1hcCA9ICR0aGlzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JvdXBbJ2lkJ10gKTsKJHJvd2FycmF5ID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwoka2V5cyA9IGFycmF5X2tleXMoJHRoaXMtPnR5cGVzKTsKJG9wdGlvbnMgPSBhcnJheSggJHRoaXMtPkxhbmcoJ29mZicpID0+IDAsCgkJICAkdGhpcy0+TGFuZygnb3B0aW9uYWwnKSA9PiAxLAoJCSAgJHRoaXMtPkxhbmcoJ3JlcXVpcmVkJykgPT4gMiwKCQkgICR0aGlzLT5MYW5nKCdoaWRkZW4nKSA9PiAzLAoJCSAgJHRoaXMtPkxhbmcoJ3JlYWRvbmx5JykgPT4gNCk7CmZvcmVhY2goICRwcm9wZGVmbiBhcyAkZGVmbiApCnsKICAvLyBmaW5kIHRoZSBncm91cCBwcm9wZXJ0eSBtYXAgZm9yIHRoaXMgZ3JvdXAKICAvLyBpZiBpdCBleGlzdHMsIGlmIGl0IGRvZXNuJ3QsIHRoZW4gdGhlIHZhbHVlIGlzIC0xCiAgJHNlbGVjdGVkdmFsdWUgPSAwOwogICRzb3J0b3JkZXIgPSAnJzsKICAkbG9zdHVuZmxhZyA9IDA7CiAgZm9yZWFjaCggJGdyb3VwcHJvcG1hcCBhcyAkbWFwICkKICAgIHsKICAgICAgaWYoICRtYXBbJ25hbWUnXSA9PSAkZGVmblsnbmFtZSddICkKCXsKCSAgJHNlbGVjdGVkdmFsdWUgPSAkbWFwWydyZXF1aXJlZCddOwoJICAkc29ydG9yZGVyID0gJG1hcFsnc29ydF9rZXknXTsKCSAgJGxvc3R1bmZsYWcgPSAkbWFwWydsb3N0dW5mbGFnJ107CgkgIGJyZWFrOwoJfQogICAgfQogICRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKICAkb25lcm93LT5uYW1lID0gJGRlZm5bJ25hbWUnXTsKICAkb25lcm93LT5wcm9tcHQgPSAkZGVmblsncHJvbXB0J107CiAgJG9uZXJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCRrZXlzWyRkZWZuWyd0eXBlJ11dKTsKICAkb25lcm93LT5zb3J0b3JkZXIgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF9zb3J0b3JkZXJfJy4kZGVmblsnbmFtZSddLAoJCQkJCSAgICAgICAkc29ydG9yZGVyLCAzLCAyKTsKICAkb25lcm93LT5yZXF1aXJlZCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdpbnB1dF9yZXF1aXJlZF8nLiRkZWZuWyduYW1lJ10sCgkJCQkJCSAgJG9wdGlvbnMsLTEsJHNlbGVjdGVkdmFsdWUgICk7CgogIGlmKCAkZGVmblsndHlwZSddICE9IDYgKQogICAgewogICAgICAkb25lcm93LT5hc2tpbmxvc3R1biA9CgkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnaW5wdXRfbG9zdHVuXycuJGRlZm5bJ25hbWUnXSwgMSwgJGxvc3R1bmZsYWcgKTsKICAgIH0KICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCiAgYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkb25lcm93KTsKICAoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvcHMnLCAkcm93YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3Bjb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZXRleHQnLCR0aGlzLT5MYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdHRleHQnLCAkdGhpcy0+TGFuZygncHJvbXB0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R5cGV0ZXh0JywkdGhpcy0+TGFuZygndHlwZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzb3J0b3JkZXJ0ZXh0JywkdGhpcy0+TGFuZygnc29ydG9yZGVyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZpZWxkc3RhdHVzdGV4dCcsJHRoaXMtPkxhbmcoJ2ZpZWxkc3RhdHVzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZWRpbmxvc3R1bnRleHQnLCR0aGlzLT5MYW5nKCd1c2VkaW5sb3N0dW4nKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCdhZGRncm91cC50cGwnKTsKCi8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editprop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ2VkaXRwcm9wJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKICAgIHJldHVybjsKICB9CgovLyBGb3IgdGhlIGJlbG93IGNvbnRyb2wgdHlwZXMgZG9uJ3QgcmVkcmF3IHRoZSBwYWdlLCBqdXN0IHVwZGF0ZS4KLy8gT3RoZXJ3aXNlIHdlJ2xsIG5lZWQgdG8gcmVkcmF3IHRoZSBwYWdlIHdpdGggYWRkaXRpb25hbCBwYXJhbXMsCi8vIHN1Y2ggYXMgbGVuZ3RoIG9yIGRyb3Bkb3duIHNlbGVjdCBvcHRpb25zLgovLyBUaGUgaW5wdXQgdHlwZSB3aWxsIGJlIGtub3duIG9ubHkgYXQgdGhlIHNlY29uZCBnby4KLy8gc3dpdGNoKCRwYXJhbXNbJ2lucHV0X3R5cGUnXSkKLy8gICB7Ci8vICAgY2FzZSAxOiAvLyBjaGVja2JveAovLyAgIGNhc2UgMjogLy8gZW1haWwKLy8gICBjYXNlIDM6IC8vIHRleHRhcmVhCi8vICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZG9fZWRpdHByb3AnLCRyZXR1cm5pZCwgJHBhcmFtcyk7Ci8vICAgICByZXR1cm47Ci8vICAgICByZXR1cm47Ci8vICAgfQoKLy8gZGlzcGxheSBhIGZ1bmt5IHBhZ2UgdG8gdGhlIHVzZXIgdG8gYWxsb3cgaGltIHRvIGVkaXQgYSBwcm9wZXJ0eSBkZWZpbml0aW9uCi8vIGFjdHVhbGx5LCB3ZSdsbCBqdXN0IHNldCBzb21lIHN0dWZmIHVwIGFuZCB1c2UgdGhlIGFkZCBwcm9wZXJ0eSBwYWdlCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3Byb3BuYW1lJ10gKSApCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICRwYXJtc1snZXJyb3InXSA9IDE7CiAgICAkcGFybXNbJ21lc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3Byb3BlcnRpZXMnLCRwYXJtcyk7CiAgICByZXR1cm47CiAgfQoKJGRlZm4gPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZuKCAkcGFyYW1zWydwcm9wbmFtZSddICk7CmlmKCAkZGVmbiA9PSBGQUxTRSApIAogIHsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkcGFybXNbJ2Vycm9yJ10gPSAxOwogICAgJHBhcm1zWydtZXNhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wcm9wbm90Zm91bmQnKTsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdwcm9wZXJ0aWVzJywkcGFybXMpOwogICAgcmV0dXJuOwogIH0KCiRwYXJhbXNbJ2VkaXRwcm9wJ10JPSAkcGFyYW1zWydwcm9wbmFtZSddOwppZiAoIWlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkpIHsKICAkcGFyYW1zWydpbnB1dF9uYW1lJ10gCT0gJHBhcmFtc1sncHJvcG5hbWUnXTsKIH0KaWYgKCFpc3NldCgkcGFyYW1zWydpbnB1dF9wcm9tcHQnXSkpIHsKICAkcGFyYW1zWydpbnB1dF9wcm9tcHQnXQk9ICRkZWZuWydwcm9tcHQnXTsKIH0KaWYoaXNzZXQoJHBhcmFtc1snaW5wdXRfdHlwZSddKSl7CiAgJHBhcmFtc1snbmV3X3R5cGUnXQk9ICRwYXJhbXNbJ2lucHV0X3R5cGUnXTsKIH0KJHBhcmFtc1snaW5wdXRfdHlwZSddCT0gJGRlZm5bJ3R5cGUnXTsKaWYgKCFpc3NldCgkcGFyYW1zWydpbnB1dF9sZW5ndGgnXSkpIHsKICAkcGFyYW1zWydpbnB1dF9sZW5ndGgnXQk9ICRkZWZuWydsZW5ndGgnXTsKIH0KaWYgKCFpc3NldCgkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSkpIHsKICAkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSA9ICRkZWZuWydtYXhsZW5ndGgnXTsKIH0KLy8gaWYoICRwYXJhbXNbJ25ld190eXBlJ10gPT0gNCB8fCAkcGFyYW1zWyduZXdfdHlwZSddID09IDUgKQovLyAgIHsKLy8gICAgICRwYXJhbXNbJ2lucHV0X3NlbG9wdGlvbnMnXSA9ICR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCAkcGFyYW1zWydpbnB1dF9uYW1lJ10gKTsKLy8gICB9CgokdGhpcy0+bXlSZWRpcmVjdCgkaWQsJ2FkZHByb3AnLCRyZXR1cm5pZCwgJHBhcmFtcyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.logout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokdXNlcm5hbWUgPSAkdGhpcy0+TG9nZ2VkSW5OYW1lKCk7CiR1aWQgPSAkdGhpcy0+TG9nZ2VkSW5JZCgpOwoKJHRoaXMtPkxvZ291dCgkdWlkKTsKCiR0aGlzLT5fQXR0ZW1wdEludmFsaWRhdGVMb2dpbkNvb2tpZSgpOwoKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksCgkgICAgICAkdGhpcy0+TGFuZygnZnJvbnRlbmR1c2VyX2xvZ291dCcpKTsKCiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1sndXNlcm5hbWUnXSA9ICR1c2VybmFtZTsKJHBhcm1zWydpZCddID0gJHVpZDsKJHRoaXMtPlNlbmRFdmVudCggJ09uTG9nb3V0JywgJHBhcm1zICk7CiR0aGlzLT5fU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCdPbkxvZ291dCcsJHBhcm1zKTsKCi8vIHdlJ3JlIGxvZ2dlZCBvdXQKLy8gcmVkaXJlY3Qgc29tZXdoZXJlIAovLyB0b2RvLCBhZGQgbW9yZSBvcHRpb25zIGhlcmUuCiRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dvdXQnKTsKaWYoIGlzc2V0KCAkcGFyYW1zWydyZXR1cm50byddICkgKQogIHsKICAgICRwYWdlID0gJHBhcmFtc1sncmV0dXJudG8nXTsKICB9CgovLyByZXBsYWNlIHskdXNlcm5hbWV9IHdpdGggdGhlIHVzZXIgbmFtZQokcGFnZSA9IHN0cl9yZXBsYWNlKCAie1wkdXNlcm5hbWV9IiwgJHVzZXJuYW1lLCAkcGFnZSApOwoKLy8gcmVwbGFjZSB7JGdyb3VwbmFtZX0gd2l0aCB0aGUgZmlyc3QgZ3JvdXBuYW1lIHdlIGNhbiBmaW5kIHRoYXQgbWF0Y2hlcwokZ3JvdXBzID0gJHRoaXMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCAkdWlkICk7CiRncm91cG5hbWUgPSAkdGhpcy0+R2V0R3JvdXBOYW1lKCAkZ3JvdXBzWzBdWydncm91cGlkJ10gKTsKJHBhZ2UgPSBzdHJfcmVwbGFjZSggIntcJGdyb3VwfSIsICRncm91cG5hbWUsICRwYWdlICk7CgppZiggJHBhZ2UgKQogIHsKICAgICRpZCA9IENvbnRlbnRNYW5hZ2VyOjpHZXRQYWdlSURGcm9tQWxpYXMoICRwYWdlICk7CiAgICBpZiggJGlkICkKICAgICAgewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCggJGlkICk7CglyZXR1cm47CiAgICAgIH0KICB9CiR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRyZXR1cm5pZCApOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.userhistory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAnbGlzdHVzZXJzJyApICkKICB7CiAgICByZXR1cm47CiAgfQoKJHVzZXJpZCA9ICcnOwppZiAoaXNzZXQgKCRwYXJhbXNbJ3VzZXJfaWQnXSkgJiYgJHBhcmFtc1sndXNlcl9pZCddICE9ICIiKQogIHsKICAgICR1c2VyaWQgPSAkcGFyYW1zWyd1c2VyX2lkJ107CiAgfSAgCgokcGFnZWxpbWl0cyA9IGFycmF5KCk7CiRwYWdlbGltaXRzWyc1J10gPSA1OwokcGFnZWxpbWl0c1snMTAnXSA9IDEwOwokcGFnZWxpbWl0c1snMjUnXSA9IDI1OwokcGFnZWxpbWl0c1snNTAnXSA9IDUwOwokcGFnZWxpbWl0c1snMTAwJ10gPSAxMDA7CiRwYWdlbGltaXRzWycyNTAnXSA9IDI1MDsKJHBhZ2VsaW1pdHNbJzUwMCddID0gNTAwOwoKJGRhdGVsaXN0ID0gYXJyYXkoKTsKJGRhdGVsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX2FsbHJlY29yZHMnKV0gPSAtMTsKJGRhdGVsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX29uZWhvdXJvbGQnKV0gPSAnMWgnOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfc2l4aG91cm9sZCcpXSA9ICc2aCc7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV90d2VsdmVob3Vyb2xkJyldID0gJzEyaCc7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV9vbmVkYXlvbGQnKV0gPSAnMWQnOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25ld2Vla29sZCcpXSA9ICcxdyc7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV90d293ZWVrc29sZCcpXSA9ICcydyc7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV9vbmVtb250aG9sZCcpXSA9ICcxbSc7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV90aHJlZW1vbnRoc29sZCcpXSA9ICczbSc7CiRkYXRlbGlzdFskdGhpcy0+TGFuZygnZGF0ZV9zaXhtb250aHNvbGQnKV0gPSAnNm0nOwokZGF0ZWxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25leWVhcm9sZCcpXSA9ICcxeSc7Cgokc29ydG9yZGVycyA9IGFycmF5KCk7CiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdzb3J0b3JkZXJfZGF0ZV9kZXNjJyldID0gJ3JlZmRhdGUgREVTQyc7CiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdzb3J0b3JkZXJfZGF0ZV9hc2MnKV0gPSAncmVmZGF0ZSBBU0MnOwokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnc29ydG9yZGVyX2FjdGlvbl9kZXNjJyldID0gJ2FjdGlvbiBERVNDJzsKJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJyldID0gJ2FjdGlvbiBBU0MnOwokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJyldID0gJ2lwYWRkcmVzcyBERVNDJzsKJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJyldID0gJ2lwYWRkcmVzcyBBU0MnOwppZiggJHVzZXJpZCA9PSAnJyApCiAgewogICAgJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJyldID0gJ3VzZXJuYW1lIERFU0MnOwogICAgJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnKV0gPSAndXNlcm5hbWUgQVNDJzsKICB9CgokZXZlbnR0eXBlcyA9IGFycmF5KCk7CiRldmVudHR5cGVzWydhbGwnXSA9ICdhbGwnOwokZXZlbnR0eXBlc1snZmFpbCddID0gJ2ZhaWwnOwokZXZlbnR0eXBlc1snbG9naW4nXSA9ICdsb2dpbic7CiRldmVudHR5cGVzWydsb2dvdXQnXSA9ICdsb2dvdXQnOwokZXZlbnR0eXBlc1snZXhwaXJlJ10gPSAnZXhwaXJlJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXR1c2VyaGlzdG9yeSddICkgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFnZWxpbWl0J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9wYWdlbGltaXQnLCRwYXJhbXNbJ2lucHV0X3BhZ2VsaW1pdCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXInXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3NvcnRvcmRlcicsJHBhcmFtc1snaW5wdXRfc29ydG9yZGVyJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2V2ZW50dHlwZSddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfZXZlbnR0eXBlJywkcGFyYW1zWydpbnB1dF9ldmVudHR5cGUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZmlsdGVyX2RhdGUnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2RhdGUnLCRwYXJhbXNbJ2lucHV0X2ZpbHRlcl9kYXRlJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2dyb3VwX2lwJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9ncm91cF9pcCcsJHBhcmFtc1snaW5wdXRfZ3JvdXBfaXAnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWVfcmVnZXgnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3VzZXJuYW1lX3JlZ2V4JywkcGFyYW1zWydpbnB1dF91c2VybmFtZV9yZWdleCddKTsKICAgICAgfQogICAgaWYoICR1c2VyaWQgPT0gJycgKSAKICAgICAgewoJJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ3VzZXJoaXN0b3J5Jyk7CiAgICAgIH0KICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZXNldCddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9wYWdlbGltaXQnLDEwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9ldmVudHR5cGUnLCdhbGwnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9kYXRlJywnLTEnKTsgLy8gdG9kbwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2dyb3VwX2lwJywwKTsgLy8gdG9kbwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3NvcnRvcmRlcicsJ3JlZmRhdGUgREVTQycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X3VzZXJuYW1lX3JlZ2V4JywnJyk7CiAgICBpZiggJHVzZXJpZCA9PSAnJyApICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCd1c2VyaGlzdG9yeScpOwogIH0KCiRpbnB1dF9wYWdlbGltaXQgPSAoaW50KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9wYWdlbGltaXQnLDEwKTsKJGlucHV0X3NvcnRvcmRlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9zb3J0b3JkZXInLCdyZWZkYXRlIERFU0MnKTsKJGlucHV0X2V2ZW50dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VyaGlzdG9yeV9ldmVudHR5cGUnLCdhbGwnKTsKJGlucHV0X2ZpbHRlcl9kYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJoaXN0b3J5X2RhdGUnLCctMScpOwokaW5wdXRfZ3JvdXBfaXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfZ3JvdXBfaXAnLDApOwokaW5wdXRfdXNlcm5hbWVfcmVnZXggPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcmhpc3RvcnlfdXNlcm5hbWVfcmVnZXgnKTsKCgovLyBBZGQgdGhlIHVzZXIgaW5mbyB0byBzbWFydHkKaWYoICR1c2VyaWQgIT0gJycgKQogIHsKICAgICRyZXN1bHRzID0gJHRoaXMtPkdldFVzZXJJbmZvKCRwYXJhbXNbJ3VzZXJfaWQnXSk7CiAgICAkdXNlcmluZm8gPSAnJzsKICAgIGlmKCAkcmVzdWx0c1swXSA9PT0gVFJVRSApCiAgICAgIHsKCSR1c2VyaW5mbyA9ICRyZXN1bHRzWzFdOwogICAgICB9CiAgICBmb3JlYWNoKCAkdXNlcmluZm8gYXMgJGsgPT4gJHYgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3VzZXJfJy4kaywkdik7CiAgICAgIH0KICAgICRwcm9wcyA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydGllcygkcGFyYW1zWyd1c2VyX2lkJ10pOwogICAgZm9yZWFjaCggJHByb3BzIGFzICRvbmVwcm9wICkKICAgICAgewoJJHNtYXJ0eS0+YXNzaWduKCd1c2VycHJvcF8nLiRvbmVwcm9wWyd0aXRsZSddLCRvbmVwcm9wWydkYXRhJ10pOwogICAgICB9CiAgfQoKLy8gZmlndXJlIG91dCB3aGF0IHBhZ2Ugd2UncmUgb24KJHBhZ2VudW1iZXIgPSAxOwppZiggaXNzZXQoICRwYXJhbXNbJ3BhZ2VudW1iZXInXSApICkKICB7CiAgICAkcGFnZW51bWJlciA9IChpbnQpJHBhcmFtc1sncGFnZW51bWJlciddOwogIH0KJHN0YXJ0ZWxlbWVudCA9ICgkcGFnZW51bWJlci0xKSAqICRpbnB1dF9wYWdlbGltaXQ7CgovLwovLyBBZGQgdGhlIGhpc3RvcnkgdG8gc21hcnR5Ci8vCiR3aGVyZSA9IGFycmF5KCk7CiRwYXJtcyA9IGFycmF5KCk7CiRxdWVyeTEgPSAiU0VMRUNUIEEuKixCLnVzZXJuYW1lIAogICAgICAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSBBLCAKICAgICAgICAgICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIEIKICAgICAgICAgICAgV0hFUkUgQS51c2VyaWQgPSBCLmlkIjsKJHF1ZXJ5MiA9ICJTRUxFQ1QgY291bnQodXNlcmlkKSBhcyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IjsKaWYoICR1c2VyaWQgIT0gJycgKQogIHsKICAgICR3aGVyZVtdID0gJ3VzZXJpZCA9ID8nOwogICAgJHBhcm1zW10gPSAkdXNlcmlkOwogIH0KZWxzZQogIHsKICAgIC8vIG9ubHkgdXNlIHRoZSB1c2VybmFtZSByZWdleCBpZiB0aGUgdXNlcmlkIGlzIGVtcHR5CiAgICBpZiggJGlucHV0X3VzZXJuYW1lX3JlZ2V4ICE9ICcnICkKICAgICAgewoJJHdoZXJlW10gPSAndXNlcm5hbWUgUkVHRVhQID8nOwoJJHBhcm1zW10gPSAkaW5wdXRfdXNlcm5hbWVfcmVnZXg7CiAgICAgIH0KICB9CmlmKCAkaW5wdXRfZXZlbnR0eXBlICE9ICdhbGwnICkgCiAgewogICAgJHdoZXJlW10gPSAnYWN0aW9uID0gPyc7CiAgICAkcGFybXNbXSA9ICRpbnB1dF9ldmVudHR5cGU7CiAgfQppZiggJGlucHV0X2ZpbHRlcl9kYXRlICE9IC0xICkKICB7CiAgICAkZGF0ZSA9ICcnOwogICAgc3dpdGNoKCAkaW5wdXRfZmlsdGVyX2RhdGUgKQogICAgICB7CiAgICAgIGNhc2UgJzFoJzoKCSRkYXRlID0gc3RydG90aW1lKCcxIGhvdXIgYWdvJyk7CglicmVhazsKICAgICAgY2FzZSAnNmgnOgoJJGRhdGUgPSBzdHJ0b3RpbWUoJzYgaG91cnMgYWdvJyk7CglicmVhazsKICAgICAgY2FzZSAnMTJoJzoKCSRkYXRlID0gc3RydG90aW1lKCcxMiBob3VycyBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICcxZCc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnMSBkYXkgYWdvJyk7CglicmVhazsKICAgICAgY2FzZSAnMXcnOgoJJGRhdGUgPSBzdHJ0b3RpbWUoJzEgd2VlayBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICcydyc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnMiB3ZWVrcyBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICcxbSc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnMSBtb250aCBhZ28nKTsKCWJyZWFrOwogICAgICBjYXNlICczbSc6CgkkZGF0ZSA9IHN0cnRvdGltZSgnMyBtb250aHMgYWdvJyk7CglicmVhazsKICAgICAgY2FzZSAnNm0nOgoJJGRhdGUgPSBzdHJ0b3RpbWUoJzYgbW9udGhzIGFnbycpOwoJYnJlYWs7CiAgICAgIGNhc2UgJzF5JzoKCSRkYXRlID0gc3RydG90aW1lKCcxIHllYXIgYWdvJyk7CglicmVhazsKICAgICAgfQogICAgaWYoICRkYXRlICE9ICcnICkKICAgICAgewoJJHdoZXJlW10gPSAncmVmZGF0ZSA+ID8nOwoJJHBhcm1zW10gPSB0cmltKCRkYi0+RGJUaW1lU3RhbXAoJGRhdGUpLCInIik7CiAgICAgIH0KICB9CmlmKCBjb3VudCgkd2hlcmUpID4gMCApCiAgewogICAgJHF1ZXJ5MSAuPSAnIEFORCAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgJHF1ZXJ5MiAuPSAnIEFORCAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogIH0KaWYoICRpbnB1dF9ncm91cF9pcCA9PSAxICkKICB7CiAgICAkcXVlcnkxIC49ICcgR1JPVVAgQlkgaXBhZGRyZXNzJzsKICAgICRxdWVyeTIgLj0gJyBHUk9VUCBCWSBpcGFkZHJlc3MnOwogIH0KJHF1ZXJ5MSAuPSAiIE9SREVSIEJZICIuJGlucHV0X3NvcnRvcmRlcjsKJHF1ZXJ5MSAuPSAiIExJTUlUICRzdGFydGVsZW1lbnQsJGlucHV0X3BhZ2VsaW1pdCI7CgovLyBOb3cgZ2V0IHRoZSBjb3VudCwgYW5kIG51bWJlciBvZiBwYWdlcwokdG1wcm93ID0gJGRiLT5HZXRSb3coICRxdWVyeTIsICRwYXJtcyApOwokcmVjb3JkY291bnQgPSAkdG1wcm93Wydjb3VudCddOwokcGFnZWNvdW50ID0gKGludCkoJHJlY29yZGNvdW50IC8gJGlucHV0X3BhZ2VsaW1pdCk7CmlmKCAoJHJlY29yZGNvdW50ICUgJGlucHV0X3BhZ2VsaW1pdCkgIT0gMCApICRwYWdlY291bnQrKzsKJHNtYXJ0eS0+YXNzaWduKCdyZWNvcmRjb3VudCcsJHJlY29yZGNvdW50KTsKCi8vIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5LgppZiggJHBhZ2VudW1iZXIgPT0gMSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2cGFnZScsJzwnKTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywnPDwnKTsKICB9CmVsc2UKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCRwYXJhbXNbJ2FjdGlvbiddLAoJCQkJICAgICAgJHJldHVybmlkLCc8JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+JHBhZ2VudW1iZXItMSwKCQkJCQkgICAgJ3VzZXJfaWQnPT4kdXNlcmlkKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJHBhcmFtc1snYWN0aW9uJ10sCgkJCQkgICAgICAkcmV0dXJuaWQsJzw8JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+MSwKCQkJCQkgICAgJ3VzZXJfaWQnPT4kdXNlcmlkKSkpOwogIH0KaWYoICRwYWdlbnVtYmVyID49ICRwYWdlY291bnQgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCc+Jyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlJywnPj4nKTsKICB9CmVsc2UKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCRwYXJhbXNbJ2FjdGlvbiddLAoJCQkJICAgICAgJHJldHVybmlkLCc+JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+JHBhZ2VudW1iZXIrMSwKCQkJCQkgICAgJ3VzZXJfaWQnPT4kdXNlcmlkKSkpOwoKICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJHBhcmFtc1snYWN0aW9uJ10sCgkJCQkgICAgICAkcmV0dXJuaWQsJz4+JywKCQkJCSAgICAgIGFycmF5KCdwYWdlbnVtYmVyJz0+JHBhZ2Vjb3VudCwKCQkJCQkgICAgJ3VzZXJfaWQnPT4kdXNlcmlkKSkpOwoKICB9CiRzbWFydHktPmFzc2lnbigncGFnZW51bWJlcicsJHBhZ2VudW1iZXIpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJHBhZ2Vjb3VudCk7CiRzbWFydHktPmFzc2lnbignb2Z0ZXh0JywkdGhpcy0+TGFuZygncHJvbXB0X29mJykpOwoKaWYoICR1c2VyaWQgPT0gJycgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignbXVsdGl1c2VyJywxKTsKICB9CgovLyBUaGUgZGF0YWJhc2UgcXVlcnkKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkxLCAkcGFybXMgKTsKJHJvd2FycmF5ID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwp3aGlsZSggJGRicmVzdWx0ICYmICEkZGJyZXN1bHQtPkVPRiApCiAgewogICAgJGZpZWxkcyA9JiAkZGJyZXN1bHQtPmZpZWxkczsKICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKICAgIGZvcmVhY2goICRmaWVsZHMgYXMgJGtleSA9PiAkdmFsdWUgKQogICAgICB7Cgkkb25lcm93LT4ka2V5ID0gJHZhbHVlOwogICAgICB9CgogICAgLy8gZml4IHNvbWUgZmllbGRzIHVwCiAgICAkb25lcm93LT5yZWZkYXRlID0gJGRiLT5Vbml4VGltZVN0YW1wKCRvbmVyb3ctPnJlZmRhdGUpOwogICAgaWYoICRvbmVyb3ctPmlwYWRkcmVzcyA9PSAnJyApCiAgICAgIHsKCSRvbmVyb3ctPmlwYWRkcmVzcyA9ICR0aGlzLT5MYW5nKCd1bmtub3duJyk7CiAgICAgIH0KICAgICRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoKICAgICRyb3dhcnJheVtdID0gJG9uZXJvdzsKICAgICRyb3djbGFzcyA9ICgkcm93Y2xhc3MgPT0gJ3JvdzEnKSA/ICdyb3cyJyA6ICdyb3cxJzsKICAgICRkYnJlc3VsdC0+TW92ZU5leHQoKTsKICB9CgppZiggY291bnQoJHJvd2FycmF5KSA9PSAwICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCR0aGlzLT5MYW5nKCdpbmZvX25vaGlzdG9yeWRldGVjdGVkJykpOwogIH0KCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlY29yZHNmb3VuZCcsJHRoaXMtPkxhbmcoJ3Byb21wdF9yZWNvcmRzZm91bmQnKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGVfbGVnZW5kX2ZpbHRlcicsJHRoaXMtPkxhbmcoJ2ZpbHRlcicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9sZWdlbmRfZ3JvdXBzb3J0JywkdGhpcy0+TGFuZygndGl0bGVfZ3JvdXBzb3J0JykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJHBhcmFtc1snYWN0aW9uJ10sJHJldHVybmlkLCdwb3N0JywnJyxmYWxzZSwnJywkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXR1c2VyaGlzdG9yeScsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbigncmVzZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc2V0JywkdGhpcy0+TGFuZygncmVzZXQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFnZWxpbWl0JywkdGhpcy0+TGFuZygncHJvbXB0X3BhZ2VsaW1pdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfcGFnZWxpbWl0JywkcGFnZWxpbWl0cywKCQkJCQkgICAtMSwgJGlucHV0X3BhZ2VsaW1pdCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc29ydG9yZGVyJywkdGhpcy0+TGFuZygnc29ydGJ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NvcnRvcmRlcicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9zb3J0b3JkZXInLCRzb3J0b3JkZXJzLAoJCQkJCSAgIC0xLCRpbnB1dF9zb3J0b3JkZXIpKTsKCQkJCSAgICAgICAKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZ3JvdXBfaXAnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZ3JvdXBfaXAnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZ3JvdXBfaXAnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfZ3JvdXBfaXAnLAoJCQkJCSAgIGFycmF5KCR0aGlzLT5MYW5nKCd5ZXMnKT0+MSwKCQkJCQkJICR0aGlzLT5MYW5nKCdubycpPT4wKSwKCQkJCQkgICAtMSwgJGlucHV0X2dyb3VwX2lwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZV9yZWdleCcsJHRoaXMtPkxhbmcoJ3VzZXJmaWx0ZXInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlcm5hbWVfcmVnZXgnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF91c2VybmFtZV9yZWdleCcsCgkJCQkgICAgICAgJGlucHV0X3VzZXJuYW1lX3JlZ2V4LCAyNSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9ldmVudHR5cGUnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfZXZlbnR0eXBlJywKCQkJCQkgICAkZXZlbnR0eXBlcywKCQkJCQkgICAtMSwkaW5wdXRfZXZlbnR0eXBlKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ZpbHRlcl9kYXRlJywkdGhpcy0+TGFuZygncHJvbXB0X2ZpbHRlcl9kYXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9kYXRlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2ZpbHRlcl9kYXRlJywKCQkJCQkgICAkZGF0ZWxpc3QsCgkJCQkJICAgLTEsJGlucHV0X2ZpbHRlcl9kYXRlKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3VzZXJoaXN0b3J5JywkdGhpcy0+TGFuZygndGl0bGVfdXNlcmhpc3RvcnknKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9mb3InLCR0aGlzLT5MYW5nKCdwcm9tcHRfZm9yJykpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkcm93YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlZmRhdGUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWN0aW9uJywkdGhpcy0+TGFuZygncHJvbXB0X2V2ZW50dHlwZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaXBhZGRyZXNzJywkdGhpcy0+TGFuZygncHJvbXB0X2lwYWRkcmVzcycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndXNlcmhpc3RvcnkudHBsJyk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.verifycode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBmaWxsIGluIHRoZSB0ZW1wbGF0ZQokdWlkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdWlkJ10gKSApCiAgewogICAgJHVpZCA9ICRwYXJhbXNbJ2lucHV0X3VpZCddOwogIH0KJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddOwogIH0KIGVsc2UKICAgewogICAgICR1c2VybmFtZSA9ICR0aGlzLT5HZXRVc2VyTmFtZSggJHVpZCApOwogICB9CiRjb2RlID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfY29kZSddICkgKQogIHsKICAgICRjb2RlID0gJHBhcmFtc1snaW5wdXRfY29kZSddOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCRwYXJhbXNbJ2Vycm9yJ10pOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkcGFyYW1zWydtZXNzYWdlJ10pOwogIH0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkgICAgICAkdGhpcy0+ZmVDcmVhdGVGb3JtU3RhcnQoJGlkLCdkb192ZXJpZnljb2RlJywkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2lucHV0X3VpZCcsJHVpZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF91c2VybmFtZScsICR1c2VybmFtZSwKCQkJCQkgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwgCgkJCQkJICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpLAoJCQkJCSAgICAgICdkaXNhYmxlZD0iZGlzYWJsZWQiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jb2RlJywkdGhpcy0+TGFuZygncHJvbXB0X2NvZGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfY29kZScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfY29kZScsICRjb2RlLCAxMCwgMTAgKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3Bhc3N3b3JkJywkdGhpcy0+TGFuZygncHJvbXB0X3Bhc3N3b3JkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Bhc3N3b3JkJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9wYXNzd29yZCcsICcnLAoJCQkJCQkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVwZWF0cGFzc3dvcmQnLCR0aGlzLT5MYW5nKCdyZXBlYXRwYXNzd29yZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXBlYXRwYXNzd29yZCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAnJywKCQkJCQkJICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCQkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZHZlcmlmeWZvcm0nKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.viewuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1sndWlkJ10pICkgcmV0dXJuOwokdWlkID0gKGludCkkcGFyYW1zWyd1aWQnXTsKCiRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2ZldScsJHRoaXMpOwovLyBIZXJlIHdlIGdldCBhIHVuaW9uICh5ZXAsIGEgdW5pb24pIG9mIGFsbCBvZiB0aGUgdXNlcgovLyBwcm9wZXJ0aWVzIGFuZCBkaXNwbGF5IHRoZW0gYWxvbmcgd2l0aCB0aGUgdmFsdWVzCiR1c2VyaW5mbyA9ICR0aGlzLT5HZXRVc2VySW5mbygkdWlkKTsKaWYoICRyZXN1bHRbMF0gPT09IEZBTFNFICkKICB7CiAgICBkaWUoJ2Vycm9yIDEgJy4kdWlkKTsKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkcmVzdWx0WzFdKTsKICAgIHJldHVybjsKICB9CiRzbWFydHktPmFzc2lnbigndXNlcmluZm8nLCR1c2VyaW5mb1sxXSk7CgokZ3JvdXBzID0gJHRoaXMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCAkdWlkICk7CmlmKCAhJGdyb3VwcyApCiAgewogICAgLy8gVGhpcyB1c2VyIGlzbid0IGEgbWVtYmVyIG9mIGFueSBncm91cHMKICAgIHJldHVybjsKICB9CgovLyBub3cgd2UgaGF2ZSB0aGUgZ3JvdXBzLCB3ZSBidWlsZCBhIHVuaW9uIG9mIGFsbCBvZiB0aGUgZ3JvdXBzIHByb3BlcnRpZXMKJHByb3AyID0gYXJyYXkoKTsKZm9yZWFjaCggJGdyb3VwcyBhcyAkZ3JwcmVjb3JkICkKewogICRnaWQgPSAkZ3JwcmVjb3JkWydncm91cGlkJ107CiAgJHByb3ByZWxhdGlvbnMgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdpZCApOwogICRwcm9wMiA9IFJSVXRpbHM6OmFycmF5X21lcmdlX2J5X25hbWVfcmVxdWlyZWQoICRwcm9wMiwgJHByb3ByZWxhdGlvbnMgKTsKICB1YXNvcnQoICRwcm9wMiwgCgkgIGFycmF5KCdSUlV0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JykgKTsKfQoKLy8gbm93IHdlIG1lcmdlIGluIGFsbCBvZiB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbnMKJGRlZm5zID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbnMoKTsKJHByb3AzID0gYXJyYXkoKTsKZm9yZWFjaCggJHByb3AyIGFzICRvbmVwcm9wICkKewogIGZvcmVhY2goICRkZWZucyBhcyAkb25lZGVmbiApCiAgICB7CiAgICAgIGlmKCAkb25lZGVmblsnbmFtZSddID09ICRvbmVwcm9wWyduYW1lJ10gKQoJewoJICAkb25lcHJvcFsncHJvbXB0J10gPSAkb25lZGVmblsncHJvbXB0J107CgkgICRvbmVwcm9wWyd0eXBlJ10gPSAkb25lZGVmblsndHlwZSddOwoJICBicmVhazsKCX0KICAgIH0KICAkcHJvcDNbXSA9ICRvbmVwcm9wOwp9CgovLyBBbmQgbm93IG1lcmdlIGluIHRoZSB2YWx1ZXMKJHVzZXJwcm9wcyA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydGllcygkdWlkKTsKJHByb3BzYnluYW1lID0gYXJyYXkoKTsKJHByb3BlcnRpZXMgPSBhcnJheSgpOwpmb3JlYWNoKCAkcHJvcDMgYXMgJG9uZXByb3AgKQp7CiAgZm9yZWFjaCggJHVzZXJwcm9wcyBhcyAkb25ldmFsICkKICAgIHsKICAgICAgaWYoICRvbmVwcm9wWyduYW1lJ10gPT0gJG9uZXZhbFsndGl0bGUnXSApCgl7CgkgICRvbmVwcm9wWydkYXRhJ10gPSAkb25ldmFsWydkYXRhJ107CgkgIGJyZWFrOwoJfQogICAgfQogICRwcm9wc2J5bmFtZVskb25lcHJvcFsnbmFtZSddXSA9ICRvbmVwcm9wWydkYXRhJ107CiAgJHByb3BlcnRpZXNbXSA9ICRvbmVwcm9wOwogIAp9Cgokc21hcnR5LT5hc3NpZ24oJ3VzZXJfcHJvcGVydGllcycsJHByb3BlcnRpZXMpOwokc21hcnR5LT5hc3NpZ24oJ3VzZXJfcHJvcGVydGllc2J5bmFtZScsJHByb3BzYnluYW1lKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc192aWV3dXNlcicpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPgo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPgo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPgo8bGk+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+CjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPgo8bGk+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPgo8bGk+MC4xLjYgLSBKYW51YXJ5LCAyMDA2CiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+CjxsaT4wLjEuNyAtIEphbnVhcnksIDIwMDYKICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPgogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4KPC9saT4KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+CiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+CiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+CiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+CiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+CiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+CiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4KPC9saT4KPGxpPjEuMC4xIC0gTWFyY2gsIDIwMDYKICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPgogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPgogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+CiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+CiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4KPC9saT4KPGxpPjEuMC4yIC0gTWFyY2gsIDIwMDYKICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPgo8L2xpPgo8bGk+MS4wLjMgLSBNYXJjaCwgMjAwNgogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4KPC9saT4KPGxpPjEuMC40IC0gTWF5LCAyMDA2CiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+CiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+CiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+CiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+CiAgICA8cD5BZGRlZCB0aGUgXCdzaWxlbnRcJyBmb3JtPC9wPgogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+CiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPgo8L2xpPgo8bGk+MS4wLjUgLSBNYXksIDIwMDYKICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+CjxsaT4xLjAuNiAtIE1heSwgMjAwNgogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+CjwvbGk+CjxsaT4xLjEuMCAtIE1heSwgMjAwNgogICAgPHA+RXZlbnRzPC9wPgogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+CiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPgogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBce1wkZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+CjwvbGk+CjxsaT4xLjEuMSAtIFNlcHQsIDIwMDYKICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwnYWxsb3cgZHVwbGljYXRlIGVtYWlsc1wnIHdhcyBvZmY8L3A+CiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPgo8L2xpPgo8bGk+MS4xLjIgLSBEZWMsIDIwMDYKICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+CiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+CiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPgogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+CiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPgogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPgo8L2xpPgogICAgPGxpPjEuMi4wIC0gQXByaWwsIDIwMDcKICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+CiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+CiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgImF0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCIgc3R1ZmY8L3A+CiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+CiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPgogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPgogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPgogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+CiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+CiAgICA8cD5JbXBvcnQgVXNlcnMgZnJvbSBDU1Y8L3A+CiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPgogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIGlmIHRoZSB1c2VyIHNldHRpbmdzIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+CiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+CjwvbGk+CjxsaT4xLjIuMSAtIEp1bmUsIDIwMDcKCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+Cgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYW4gYWRtaW5pc3RyYXRvciB0byBsb2dvdXQgdXNlcnM8L3A+Cgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+Cgk8cD5BZGRlZCBtb3JlIHZhcmlhYmxlcyBpbiBlYWNoIG9iamVjdCBpbiB0aGUgY2hhbmdlc2V0dGluZ3MgZm9ybTwvcD4KPC9saT4KPGxpPgoJPHA+MS4yLjIgLSBKdW5lLCAyMDA3PC9wPgoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPgogICAgICAgIAo8L2xpPgo8bGk+MS4zIC0gT2N0b2JlciwgMjAwNwo8cD5BZGRlZCBzdXBwb3J0IGZvciAncmVtZW1iZXIgbWUnIHNvIHRoYXQgbG9naW4gaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGEgY29va2llLiAgQW5kIHN1cHBvcnQgZm9yIGEgZm9ybSB0byBhbGxvdyB0aGF0IGNvb2tpZSB0byBiZSByZXNldC48L3A+CjxwPk5vIGxvbmdlciBzdXBwb3J0IG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBpbiBwcm9wZXJ0eSBuYW1lcy48L3A+CjxwPk51bWVyb3VzIHNtYWxsIGJ1Z2ZpeGVzLjwvcD4KPHA+UmVxdWlyZSBDTVMgMS4yIG9yIGdyZWF0ZXIuPC9wPgo8L2xpPgo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNwo8cD5GaXhlcyBwcm9ibGVtcyB3aXRoIHBhcmFtZXRlcnMgbm90IGJlaW5nIGNsZWFuZWQgaW4gdGhlIGNoYW5nZSBzZXR0aW5ncyBkaWFsb2cgb24gdGhlIGZyb250IGVuZC48L3A+CjxwPkZpeGVzIGFuIHVwZHJhZGUgaXNzdWUgaW4gdGhlIGRhdGFiYXNlIHNjaGVtYTwvcD4KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPgo8cD5BZGQgYSBwcmVmZXJlbmNlIHRoYXQgYWxsb3dzIGFkbWlucyB0byBzcGVjaWZ5IGEgcGFnZSB0byByZWRpcmVjdCB0byBhZnRlciB0aGUgZm9yZ290IHBhc3N3b3JkIHZhbGlkYXRpb24gZm9ybSBpcyBjb21wbGV0ZS48L3A+CjxwPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGhpZGRlbiBwcm9wZXJ0aWVzIGJlaW5nIGxvc3QgYWZ0ZXIgYSB1c2VyIGNoYW5nZWQgdGhlaXIgc2V0dGluZ3MuPC9wPgo8cD5UaGUgRm9yZ290IFBhc3N3b3JkIGFuZCBMb3N0IFVzZXJuYW1lIGZvcm1zIGFyZSBub3cgaW5saW5lPC9wPgo8cD5GaXhlcyB0byBlcnJvcnMgaW4gZW5jcnlwdGlvbiB3aXRoIHRoZSBzZXNzaW9uaW5nPC9wPgo8cD5GaXhlcyB0byB0aGUgbG9zdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5LjwvcD4KPC9saT4KPGxpPjEuMy4zIC0gRGVjZW1iZXIsIDIwMDcKPHA+Tm93IG9wdGlvbmFsbHkgYWxsb3cgc29tZSBmcm9udGVuZCBmb3JtcyB0byBiZSBpbmxpbmVkLjwvcD4KPHA+QWRkIGVtYWlsIG5vdGlmaWNhdGlvbnMgd2hlbiB1c2VyIGNoYW5nZXMgdGhlaXIgc2V0dGluZ3MsIG9yIG9uIGFueSBvdGhlciBldmVudC48L3A+CjxwPkNoYW5nZSB0aGUgbWF4aW11bSBkYXRhIHNpemUgZm9yIHByb3BlcnRpZXMgZnJvbSAyNTUgY2hhcmFjdGVycyB0byBsb25ndGV4dDwvcD4KPHA+Rml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGxvZ291dCBsaW5rcyBkaWQgbm90IG9iZXkgdGhlIHByZWZlcmVuY2Ugd2hpY2ggZGljdGF0ZWQgd2hpY2ggcGFnZSB0byByZWRpcmVjdCB0byBhZnRlciBsb2dvdXQuPC9wPgo8L2xJPgo8bGk+MS40IC0gRmVicnVhcnksIDIwMDgKPHA+QWRkcyB0aGUgdmlld3VzZXIgYWN0aW9uIHRvIHZpZXcgdGhlIHByb3BlcnRpZXMgZm9yIGEgc3BlY2lmaWMgdXNlcjwvcD4KPGxpPjEuNC4xIC0gRmVicnVhcnksIDIwMDgKPHA+QWRkcyB0aGUgR2V0VXNlckhpc3RvcnkgbWV0aG9kIHRvIHRoZSBhcGk8L3A+CjxwPkFkZHMgYSBwcmVmZXJlbmNlIGZvciBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGNoYW5nZSBzZXR0aW5nczwvcD4KPHA+VXNlIHRoZSBhZnRlcl92ZXJpZnljb2RlIHByZWZlcmVuY2U8L3A+CjwvbGk+CjxsaT4xLjQuMiAtIE1hcmNoLCAyMDA4CjxwPkZpeGVzIHByb2JsZW1zIHdpdGggY2FuY2VsIGJ1dHRvbnM8L3A+CjxwPk1ha2VzIGl0IGVhc2llciBmb3IgdGV4dCBvbiB2YXJpb3VzIGJ1dHRvbnMgYW5kIGxpbmtzIHRvIGJlIGNoYW5nZWQ8L3A+CjxwPlVwZGF0ZSBkZXBlbmRlbmNpZXMsIGV0Yy48L3A+CjxwPlVwZGF0ZSBhbGwgZmlsZXMgYW5kIHRoZSBoZWxwIHRvIHJlZmxlY3QgdGhlIG5ldyBsaWNlbnNlPC9wPgo8cD5BZGp1c3RtZW50cyBzbyB0aGUgc2lnbmluIGFuZCBzaWdub3V0IHRleHQgY2FuIGJlIGNoYW5nZWQgZWFzaWx5PC9wPgo8cD5DbGVhbnVwcyBhbmQgYnVnIGZpeGVzPC9wPgo8L2xpPgo8bGk+MS40LjMgLSBKdW5lLCAyMDA4CjxwPk5vdyB1c2Ugc2Vzc2lvbiB2YXJpYWJsZXMgdG8ga2VlcCB0cmFjayBvZiB1c2VyIHZhcmlhYmxlcyBiZXR3ZWVuIHN0ZXBzIG9mIHRoZSBmb3JtcyBmb3IgYWRkaW5nIGFuZCBlZGl0aW5nIHVzZXJzLjwvcD4KPHA+R2V0IHJpZCBvZiB0aGUgdGltZSBmaWVsZHMgZm9yIHRoZSBleHBpcnkgZGF0ZSwgYW5kIGp1c3QgZXhwaXJlIGF0IDIzOjU5OjU5IG9uIHRoYXQgc3BlY2lmaWVkIGRheTwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGV4dGVybmFsIG1vZHVsZXMgdG8gaW50ZXJhY3QgKHNvbWV3aGF0KSB3aXRoIGZldSwgYW5kIHNwZWNpZnkgYSByZXR1cm4gbG9jYXRpb248L3A+CjxwPkFkZGVkIHRoZSBHZXRGdWxsVXNlcnNJbkdyb3VwKCkgbWV0aG9kIGludG8gdGhlIGFwaTwvcD4KPC9saT4KPGxpPjEuNC40IC0gQXVndXN0LCAyMDA4CjxwPlRoYW5rcyB0byBfU2pHXyB3ZSBub3cgc3VwcG9ydCB1c2luZyBlbWFpbCBhZGRyZXNzZXMgYXMgdXNlcm5hbWUgKHRoZXJlIGlzIGEgcHJlZmVyZW5jZSBpbiB0aGUgYWRtaW4pLjwvcD4KPHA+QWRkcyBhIEdldEVtYWlsIG1ldGhvZCB0byB0aGUgYXBpIHRvIHJldHVybiB0aGUgZmlyc3QgZW1haWwgYWRkcmVzcyBmb3VuZCBmb3IgdGhlIHNwZWNpZmllZCB1c2VyLjwvcD4KPC9saT4KPGxpPjEuNSAtIEF1Z3VzdCwgMjAwOAo8cD5BZGQgdGhlIGZldV9zbWFydHkgY2xhc3Mgd2l0aCBhIGZldyBmdW5jdGlvbnMgaW4gaXQsIGZvciBpdGVyYXRpbmcgdGhyb3VnaCB1c2VycyBpbiBzbWFydHkuPC9wPgo8L2xpPgo8bGk+MS41LjEgLSBBdWd1c3QsIDIwMDgKPHA+S2VlcCB0aGUgbG9naW5pZCBpbiBhIHZhcmlhYmxlLCB0byBjdXQgZG93biBvbiB0aGUgbnVtYmVyIG9mIHJlcGVhdCBxdWVyaWVzLjwvcD4KPHA+Rml4ZXMgdG8gcHJvcGVydGllcyB3aXRoIHNwYWNlcyBpbiB0aGUgdmFsdWVzLjwvcD4KPC9saT4KPGxpPjEuNS4yIC0gQXVndXN0LCAyMDA4CjxwPlNwbGl0IG91dCBhIGZldyBtb3JlIGZpbGVzIHRvIHNocmluayBtZW1vcnkgZm9vdHByaW50IGEgYml0IG1vcmU8L3A+CjxwPkZpeGVzIHNvbWUgdGFiIG5hbWUgc3R1ZmY8L3A+CjxwPlNtYWxsIHZhbGlkYXRpb24gaXNzdWUgd2l0aCBkZWZhdWx0IHRlbXBsYXRlPC9wPgo8cD5NaW5vciBlbmhhbmNlbWV0bnMgdG8gdGhlIHZpZXd1c2VyIHRlbXBsYXRlLjwvcD4KPHA+R2V0IHJpZCBvZiBjb21tZW50ZWQgb3V0IGNvZGUgdG8gc2hyaW5rIHRoZSBmaWxlIGRvd24gYSBiaXQuPC9wPgo8cD5GaXggZm9yZ290IHBhc3N3b3JkIGZvcm0gdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHVzZXJuYW1lID09IGVtYWlsIGFkZHJlc3MuPC9wPgo8cD5BZGQgcHJldHR5IHVybCBzdXBwb3J0IGludG8gdGhlIGxvc3QgcGFzc3dvcmQgZW1haWwuPC9wPgo8L2xpPgo8bGk+MS41LjMgLSBTZXB0ZW1iZXIsIDIwMDgKPHA+TnVtZXJvdXMgc21hbGwsIGJ1dCBhbm5veWluZyBidWcgZml4ZXM8L3A+CjxsaT4xLjUuNCAtIERlY2VtYmVyLCAyMDA4CjxwPk1vcmUgYW5kIG1vcmUgYnVnIGZpeGVzLjwvcD4KPHA+VGhlIHN0YXJ0cyBvZiBwcmV0dHkgdXJsIHN1cHBvcnQgKHRoYW5rIHlvdSBOdW5vKTwvcD4KPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/class.feu_smarty.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgZmV1X3NtYXJ0eSAKewogIHZhciAkX21vZHVsZTsKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgZmV1X3NtYXJ0eSAtLSBDb25zdHJ1Y3RvcgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIGZldV9zbWFydHkoJiRtb2R1bGUpCiAgewogICAgJHRoaXMtPl9tb2R1bGUgPSYgJG1vZHVsZTsKICB9CiAgCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIGdldF91c2Vyc19ieV9ncm91cG5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIGdldF91c2Vyc19ieV9ncm91cG5hbWUoJGdyb3VwbmFtZSwkYXNzaWduKQogIHsKICAgIGlmKCBlbXB0eSgkZ3JvdXBuYW1lKSApIHJldHVybjsKICAgIGlmKCBlbXB0eSgkYXNzaWduKSApIHJldHVybjsKICAgIGlmKCAhaXNfb2JqZWN0KCR0aGlzLT5fbW9kdWxlKSApIHJldHVybjsKCiAgICAkZ2lkID0gJHRoaXMtPl9tb2R1bGUtPkdldEdyb3VwSUQoJGdyb3VwbmFtZSk7CiAgICBpZiggISRnaWQgKSBmYWxzZTsKICAgICR1c2Vyc2Z1bGwgPSAkdGhpcy0+X21vZHVsZS0+R2V0VXNlcnNJbkdyb3VwKCRnaWQpOwogICAgCiAgICAkdXNlcnMgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJHVzZXJzZnVsbCBhcyAkb25ldXNlciApCiAgICAgIHsKCSR1c2Vyc1tdID0gYXJyYXkoJ2lkJz0+JG9uZXVzZXJbJ2lkJ10sJ3VzZXJuYW1lJz0+JG9uZXVzZXJbJ3VzZXJuYW1lJ10pOwogICAgICB9CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCR1c2Vycyk7CiAgICByZXR1cm47CiAgfQoKICBmdW5jdGlvbiBnZXRfdXNlcl9wcm9wZXJ0aWVzKCR1aWQsJGFzc2lnbikKICB7CiAgICBpZiggZW1wdHkoJHVpZCkgKSByZXR1cm47CiAgICBpZiggZW1wdHkoJGFzc2lnbikgKSByZXR1cm47CiAgICBpZiggIWlzX29iamVjdCgkdGhpcy0+X21vZHVsZSkgKSByZXR1cm47CgogICAgJHJlcyA9ICR0aGlzLT5fbW9kdWxlLT5HZXRVc2VyUHJvcGVydGllcygkdWlkKTsKICAgICRyZXMyID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRyZXMgYXMgJG9uZSApCiAgICAgIHsKCSRyZXMyWyRvbmVbJ3RpdGxlJ11dID0gJG9uZVsnZGF0YSddOwogICAgICB9CgogICAgZ2xvYmFsICRnQ21zOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzMik7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/FrontEndUsers.api.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLWZpbGUtc3R5bGU6bGludXg7IHRhYi13aWR0aDoyOyBpbmRlbnQtdGFicy1tb2RlOnQ7IGMtYmFzaWMtb2Zmc2V0OiAyOyAtKi0KI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvVXNlck1hbmlwdWxhdG9yLmNsYXNzLnBocCIgKTsKCmNsYXNzIEZyb250RW5kVXNlcnNNYW5pcHVsYXRvciBleHRlbmRzIFVzZXJNYW5pcHVsYXRvcgp7CiAgZnVuY3Rpb24gQ291bnRUZW1wQ29kZVJlY29yZHMoKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREQigpOwogICAgJHEgPSAiU0VMRUNUIENPVU5UKCopIEFTIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIDA7CiAgICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gJHJvd1snY291bnQnXTsKICB9CgogIGZ1bmN0aW9uIEV4cGlyZVRlbXBDb2RlcygkZXhwaXJ5Y29kZSkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkZXhwaXJlcyA9IHN0cnRvdGltZSggJGV4cGlyeWNvZGUgKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc190ZW1wY29kZQogICAgICAgICAgV0hFUkUgY3JlYXRlZCA+ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRleHBpcmVzICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7ICAgIAogIH0KCiAgZnVuY3Rpb24gUmVtb3ZlVXNlclRlbXBDb2RlKCAkdWlkICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGZhbHNlOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlCiAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gR2V0VXNlclRlbXBDb2RlKCAkdWlkICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGZhbHNlOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUKICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQgKSk7CiAgICBpZiggJGRicmVzdWx0ID09IEZBTFNFIHx8ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gYXJyYXkoVFJVRSwkcm93KTsKICB9CgoKICBmdW5jdGlvbiBTZXRVc2VyVGVtcENvZGUoICR1aWQsICRjb2RlLCAkcmVwbGFjZT1mYWxzZSApCiAgewoJCWlmKCAhJHVpZCApIHJldHVybiBmYWxzZTsKICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUKICAgICAgICAgIFZBTFVFUyg/LD8sPykiOwogICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgJGNvZGUsCgkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIikgKSApOwoKCSBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgIAl7CgkJaWYgKCRyZXBsYWNlKQoJCQl7CiAgICAJCSRxID0gInVwZGF0ZSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUKICAgICAgICAgIHNldCBjb2RlPT8sIGNyZWF0ZWQ9PyBXSEVSRSB1c2VyaWQ9PyI7CiAgICAJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCRjb2RlLAoJCQkJCSB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwiJyIpLCR1aWQgKSApOwoJCQlpZiAoJGRicmVzdWx0ID09IGZhbHNlKQoJCQkJewoJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9CgkgCWVsc2UKCSAgIAl7CgkJCXJldHVybiBmYWxzZTsKICAgICAgCX0KICAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICBmdW5jdGlvbiBTZXRQcm9wZXJ0eURlZm4oICRuYW1lLCAkbmV3bmFtZSwgJHByb21wdCwgJGxlbmd0aCwgJHR5cGUsICRtYXhsZW5ndGggPSAwICkKICB7CiAgICAkZGIgPSAkdGhpcy0+Z2V0RGIoKTsKICAgIAogICAgaWYoICRtYXhsZW5ndGggPT0gMCApCiAgICAgIHsKCSRtYXhsZW5ndGggPSAkbGVuZ3RoOwogICAgICB9CiAgICAkcSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuCiAgICAgICAgICBTRVQgbmFtZSA9ID8sIHByb21wdCA9ID8sIHR5cGUgPSA/LCBsZW5ndGggPSA/LCBtYXhsZW5ndGggPSA/IAogICAgICAgICAgV0hFUkUgbmFtZSA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRuZXduYW1lLCAkcHJvbXB0LCAkdHlwZSwgJGxlbmd0aCwgJG1heGxlbmd0aCwgJG5hbWUgKSk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlUHJvcGVydHlEZWZuKCAkbmFtZSApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbgogICAgICAgICAgV0hFUkUgbmFtZT0/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkbmFtZSApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gR2V0UHJvcGVydHlHcm91cFJlbGF0aW9ucyggJHRpdGxlICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwCiAgICAgICAgICBXSEVSRSBuYW1lID0gPyBPUkRFUiBCWSBzb3J0X2tleSBERVNDIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdGl0bGUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCWFycmF5X3B1c2goICRyZXN1bHQsICRyb3cgKTsKICAgICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKCiAgZnVuY3Rpb24gSXNBY2NvdW50RXhwaXJlZCggJHVpZCApCiAgewoJCWlmKCAhJHVpZCApIHJldHVybiB0cnVlOyAvLyBkdW5ubyBhYm91dCB0aGlzCiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKCQkkbm93ID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKHRpbWUoKSksJyInKTsKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzCiAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIGV4cGlyZXMgPiAkbm93IjsKICAgICRwYXJtcyA9IGFycmF5KCAkdWlkICk7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAxICkKICAgICAgewoJCQkJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gR2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBwcm9wbWFwCiAgICAgICAgICBXSEVSRSBncm91cF9pZCA9ID8gT1JERVIgQlkgc29ydF9rZXkgREVTQyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGdycGlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRyZXN1bHRbXSA9ICRyb3c7CiAgICAgIH0KICAgIHJldHVybiAkcmVzdWx0OwogIH0KCgogIGZ1bmN0aW9uIEFkZEdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUsICRzb3J0a2V5LCAkbG9zdHVuLCAkdmFsICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcAogICAgICAgICAgVkFMVUVTKD8sPyw/LD8sPykiOyAKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcHJvcG5hbWUsICRncnBpZCwgJHNvcnRrZXksICR2YWwsICRsb3N0dW4gKSk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCQkJCWRpZSggJGRiLT5FcnJvck1zZygpLiIgIi4kZGItPnNxbCApOwoJCQkJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKICBmdW5jdGlvbiBEZWxldGVBbGxHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcAogICAgICAgICAgV0hFUkUgZ3JvdXBfaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkZ3JwaWQgKSk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkZ3JwaWQsICRwcm9wbmFtZSApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAKICAgICAgICAgIFdIRVJFIG5hbWUgPSA/IEFORCBncm91cF9pZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwcm9wbmFtZSwgJGdycGlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUpOwogIH0KCgogIGZ1bmN0aW9uIEFkZFByb3BlcnR5RGVmbiggJG5hbWUsICRwcm9tcHQsICR0eXBlLCAkbGVuZ3RoLCAkbWF4bGVuZ3RoID0gMCApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgIGlmKCAkbWF4bGVuZ3RoID09IDAgKQogICAgICB7CgkkbWF4bGVuZ3RoID09ICRsZW5ndGg7CiAgICAgIH0KCiAgICAkcCA9IGFycmF5KCAkbmFtZSwgJHByb21wdCwgJHR5cGUsICRsZW5ndGgsICRtYXhsZW5ndGggKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbgogICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8pIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwICk7CiAgICBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCAkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCiAgZnVuY3Rpb24gQWRkU2VsZWN0T3B0aW9ucyggJG5hbWUsICRvcHRpb25zICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkaW5zZXJ0X3ZhbHMgPSAnJzsKICAgICRvcmRlcl9pZCA9IDA7CiAgICBmb3JlYWNoICgkb3B0aW9ucyBhcyAkb3B0dGV4dCl7CiAgICAgIC8vIGlmIG5vIGFjdHVhbCB0ZXh0IGluIHRoZSBsaW5lLCBtYWtlIHN1cmUgaXQgZXF1YWxzICcnLAogICAgICAvLyBpbiBvcmRlciBub3QgdG8gYWRkIGl0IHRvIHRoZSBkYgogICAgICAkb3B0dGV4dCA9IHRyaW0oJG9wdHRleHQpOwogICAgICBpZih0cmltKCRvcHR0ZXh0KSA9PSAnJyB8fCB0cmltKCRvcHR0ZXh0KSA9PSAnX18nICl7CgkJCQljb250aW51ZTsKICAgICAgfQoKCQkJJG9wdG5hbWUgPSAkb3B0dGV4dDsKICAgICAgaWYoIHN0cmNociggJG9wdHRleHQsICc9JyApICE9PSBGQUxTRSApCgkJCQl7CgkJCQkJJHRtcCA9IGV4cGxvZGUoJz0nLCRvcHR0ZXh0KTsKCQkJCQkkb3B0bmFtZSA9ICR0bXBbMV07CgkJCQkJJG9wdHRleHQgPSAkdG1wWzBdOwoJCQkJfQoJCQkKICAgICAgJG9yZGVyX2lkKys7CiAgICAgICRpbnNlcnRfdmFscyAuPSAiKCciCgkJCQkuICRvcmRlcl9pZCAuICInLCAnIgoJCQkJLiAkb3B0bmFtZSAuICInLCAnIgoJCQkJLiAkb3B0dGV4dCAuICInLCAnIgoJCQkJLiAkbmFtZS4gIicpLCAiOwogICAgfQogICAgCiAgICAkaW5zZXJ0X3ZhbHMgPSBzdWJzdHIoJGluc2VydF92YWxzLCAwLCAtMik7CgogICAgJGRiID0gJHRoaXMtPmdldERiKCk7CiAgICAkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2Ryb3Bkb3ducwoJCQkob3JkZXJfaWQsIG9wdGlvbl9uYW1lLCBvcHRpb25fdGV4dCwgY29udHJvbF9uYW1lKSAKCQkJVkFMVUVTICIgLiAkaW5zZXJ0X3ZhbHM7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKSB7CiAgICAgIHJldHVybiBhcnJheShGQUxTRSwgJGRiLT5FcnJvck1zZygpKTsKICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgkJCgogIAogIAogIGZ1bmN0aW9uIERlbGV0ZVByb3BlcnR5RGVmbnMoKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbiI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxICk7CiAgICBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKICBmdW5jdGlvbiBEZWxldGVTZWxlY3RPcHRpb25zKCAkbmFtZSApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2Ryb3Bkb3ducwogICAgICAgICAgV0hFUkUgY29udHJvbF9uYW1lID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJG5hbWUgKSApOwogICAgaWYoICRkYnJlc3VsdCA9PSBmYWxzZSApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCglmdW5jdGlvbiBHZW5lcmF0ZVJhbmRvbVVzZXJuYW1lKCAkcHJlZml4ID0gJ3VzZXInICkKCXsKCQlzcmFuZCh0aW1lKCkpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAkbW9kID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKCgkJJG51bSA9IHJhbmQoMTAwLDk5OTk5KTsKCQkkY291bnQgPSAwOwoJCSRzdWZmaXggPSAnJzsKCQlpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgidXNlcm5hbWVfaXNfZW1haWwiKSkKICAgICAgICAgewogICAgICAgICAkc3VmZml4ID0gJ0BzYW1wbGUuY29tJzsKICAgICAgICAgfQoJCXdoaWxlKCAkY291bnQgPCAxMDAgKSB7IC8vIHRvZG8sIDEwMCBzaG91bGQgYmUgY29uZmlndXJhYmxlPwoJCQkkcSA9ICJTRUxFQ1QgaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMKICAgICAgICAgICAgIFdIRVJFIHVzZXJuYW1lID0gPyI7CgkJCSRyb3cgPSAkZGItPkdldFJvdyggJHEsIGFycmF5KCAkcHJlZml4LiRudW0uJHN1ZmZpeCApICk7CgkJCWlmKCAhJHJvdyApIAoJCQkJewoJCQkJCXJldHVybiAkcHJlZml4LiRudW0uJHN1ZmZpeDsKCQkJCX0KCQkJJG51bSA9IHJhbmQoMTAwLDk5OTk5KTsKCQkJKyskY291bnQ7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCgogIGZ1bmN0aW9uIEdldFByb3BlcnR5RGVmbiggJG5hbWUgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4KICAgICAgICAgIFdIRVJFIG5hbWUgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkbmFtZSApICk7CiAgICBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgaWYoICRyb3cgKQogICAgICB7CglyZXR1cm4gJHJvdzsKICAgICAgfQogICAgZWxzZQogICAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBmdW5jdGlvbiBHZXRQcm9wZXJ0eURlZm5zKCkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIE9SREVSIGJ5IG5hbWUgQVNDIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICRyZXQgPSBhcnJheSgpOwogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkkcmV0W10gPSAkcm93OwogICAgICB9CiAgICByZXR1cm4gJHJldDsKICB9CgogIC8qKgogICAqIFJldHVybnMgc2VsZWN0IG9wdGlvbnMgYXMgYSBzaW1wbGUgb3IgYSAyIGRpbWVuc2lvbmFsIGFycmF5CiAgICoKICAgKiBAcGFyYW0gU3RyaW5nICRjb250cm9sbmFtZSAtIG5hbWUgb2YgdGhlIGRyb3Bkb3duIGFzIGluIHRoZSBwcm9wZGVmbiB0YWJsZQogICAqIEBwYXJhbSBpbnQgJGRpbSAtIGRpbWVuc2lvbiBvZiB0aGUgYXJyYXkKICAgKiAJaWYgJGRpbSA9PSAxLCByZXR1cm5zIGEgMSBkaW1lbnNpb25hbCBhcnJheSB0ZXh0PT5uYW1lCiAgICogICAgaWYgJGRpbSA9PSAyLCByZXR1cm5zIGEgMiBkaW1lbnNpb25hbCBhcnJheSwgZWFjaCBpdGVtIGJlaW5nIGFuCiAgICogCQlhcnJheSB3aXRoIHByb3BlcnRpZXMgJ29wdGlvbl9uYW1lJywgJ29wdGlvbl90ZXh0JywgJ2NvbnRyb2xfbmFtZScuCiAgICovCiAgZnVuY3Rpb24gR2V0U2VsZWN0T3B0aW9ucyggJGNvbnRyb2xuYW1lLCAkZGltPTEgKQogIHsKCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQoJJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZHJvcGRvd25zCgkJV0hFUkUgY29udHJvbF9uYW1lID0gPyBPUkRFUiBCWSBvcmRlcl9pZCI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSgkY29udHJvbG5hbWUpICk7CglpZiggJGRicmVzdWx0ID09IGZhbHNlICkgewoJCXJldHVybiBmYWxzZTsKCX0KCSRyZXQgPSBhcnJheSgpOwoJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJaWYgKCRkaW09PTIpewoJCSAgJHJldFtdID0gJHJvdzsKCQl9IGVsc2UgewoJCSAgJHJldFskcm93WydvcHRpb25fdGV4dCddXSA9ICRyb3dbJ29wdGlvbl9uYW1lJ107CgkJfQoJfQoJcmV0dXJuICRyZXQ7CiAgfQoKICAKICBmdW5jdGlvbiBMb2dpbiggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRncm91cHMgPSAnJywgJG1kNXB3ID0gZmFsc2UsIAoJCQkJCQkJCQkkZm9yY2VfbG9nb3V0ID0gZmFsc2UpCiAgewogICAgJGVycm9yID0gJyc7CiAgICAkdWlkID0gLTE7CgkJZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJG1vZCA9JiAkdGhpcy0+R2V0TW9kdWxlKCk7CgkJJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgogICAgaWYoICEkdGhpcy0+Q2hlY2tQYXNzd29yZCggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRncm91cHMsICRtZDVwdyApICkKICAgICAgewoJCQkJJHVpZCA9ICR0aGlzLT5HZXRVc2VySUQoICR1c2VybmFtZSApOwoJCQkJaWYoICEkdWlkICkgJHVpZCA9IC0xOwoJCQkJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbG9naW5mYWlsZWQnKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkJCQkkdWlkID0gJHRoaXMtPkdldFVzZXJJRCggJHVzZXJuYW1lICk7CgkJCQlpZiggJGZvcmNlX2xvZ291dCApCgkJCQkJewoJCQkJCQkkdGhpcy0+TG9nb3V0KCR1aWQpOwoJCQkJCX0KCQoJCQkJaWYoICR0aGlzLT5Jc0FjY291bnRFeHBpcmVkKCAkdWlkICkgKQoJCQkJCXsKCQkJCQkJJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfYWNjb3VudGV4cGlyZWQnKTsKCQkJCQl9CgkJCQllbHNlIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19yZXBlYXRlZF9sb2dpbnMnKSA9PSAwICkKCQkJCQl7CgkJCQkJCS8vIG1ha2Ugc3VyZSB0aGlzIHVzZXIgaXNuJ3QgYWxyZWFkeSBsb2dnZWQgaW4KCQkJCQkJJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgCiAgICAgICAgICAgICAgVVNFUklEID0gPyI7CgkJCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkgKTsKCQkJCQkJaWYoICRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgKQoJCQkJCQkJewoJCQkJCQkJCSRlcnJvciA9ICRtb2QtPkxhbmcoJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnKTsKCQkJCQkJCX0KCQkJCQl9CgogICAgICB9CgogICAgJGlwID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOwogICAgaWYoICEkZXJyb3IgKQogICAgICB7CgkJCQkkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gKHNlc3Npb25pZCxsYXN0dXNlZCx1c2VyaWQpCiAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8pIjsKCQkJCQoJCQkJLyogd2UgbWF5IG5lZWQgdG8gc3RhcnQgYSBzZXNzaW9uIG5vdyAqLwoJCQkJaWYoIHNlc3Npb25faWQoKSA9PSAiIiApCgkJCQkJewoJCQkJCQlAc2Vzc2lvbl9zdGFydCgpOwoJCQkJCX0KCQkJCQoJCQkJLy8gbG9nIHRoZSB1c2VyIGluCgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggc2Vzc2lvbl9pZCgpLCB0aW1lKCksICR1aWQgKSk7CgkJCQlpZiggISRkYnJlc3VsdCApIAoJCQkJCXsKCQkJCQkJcmV0dXJuIGFycmF5KEZBTFNFLCAkZGItPkVycm9yTXNnKCkpOwoJCQkJCX0KCQkJCQoJCQkJLy8gc2V0IHRoZSBjb29raWUKCQkJCSRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwoJCQkJaWYoICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZV9rZWVwYWxpdmUnLDApICkgewoJCQkJCSRleHBpcnl0aW1lID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgndXNlcl9zZXNzaW9uX2V4cGlyZXMnKTsKCQkJCQlAc2V0Y29va2llKCdmZXVfc2Vzc2lvbmlkJyxzZXNzaW9uX2lkKCksdGltZSgpKyRleHBpcnl0aW1lLCRjb25maWdbJ3Jvb3RfcGF0aCddKTsKCQkJCQlAc2V0Y29va2llKCdmZXVfdWlkJywkdWlkLHRpbWUoKSskZXhwaXJ5dGltZSwkY29uZmlnWydyb290X3BhdGgnXSk7CgkJCQl9CgoJCQkJLy8gYW5kIGFkZCBoaXN0b3J5IGluZm8KCQkJCSRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IFZBTFVFUyAoPyw/LD8sPyw/KSI7CgkJCQkkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgc2Vzc2lvbl9pZCgpLCAnbG9naW4nLAoJCQkJCQkJCQkJCQkJCQkJIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIiksCgkJCQkJCQkJCQkJCQkJCQkgJGlwICkpOwoJCQkJCgkJCQlyZXR1cm4gYXJyYXkoJHVpZCk7CiAgICAgIH0KICAgIAogICAgLy8gbG9nIGFuIGludmFsaWQgbG9naW4KICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgc2Vzc2lvbl9pZCgpLCAnZmFpbCcsCgkJCSAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksIiciKSwKCQkJICAgICAkaXAgKSk7CiAgICBpZiggISRkYnJlc3VsdCApICRlcnJvciA9ICRkYi0+RXJyb3JNc2coKTsKCiAgICByZXR1cm4gYXJyYXkoRkFMU0UsJGVycm9yKTsKICB9CgoKICBmdW5jdGlvbiBGZXVzZXJzTWFuaXB1bGF0b3IoICR0aGVfbW9kdWxlICkKICB7CiAgICBwYXJlbnQ6OlVzZXJNYW5pcHVsYXRvciggJHRoZV9tb2R1bGUgKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIHRydWUvZmF1c2UKICBmdW5jdGlvbiBDaGVja0dyb3VwUGVybWlzc2lvbiggJGdpZCwgJHBlcm0gKQogIHsKICAgIC8vIHdlIGFsd2F5cyBoYXZlIHRvIHJldHVybiBmYWxzZSB1c2luZyB0aGlzIG1lY2hhbmlzbSAKICAgIC8vIGJlY2F1c2Ugd2UgYXJlIHVzaW5nIGRpZmZlcmVudCB0YWJsZXMgdGhhbiB3aXNoeSBpcyB1c2luZyBmb3IgCiAgICAvLyB1c2VycyBhbmQgZ3JvdXBzCiAgICByZXR1cm4gZmFsc2U7Ci8vICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKLy8gICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuInBlcm1pc3Npb25zIFdIRVJFIHBlcm1pc3Npb25fbmFtZSA9ID8iOwovLyAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwZXJtICkgKTsKLy8gICAgIGlmKCAhJGRicmVzdWx0IHx8ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwICkgcmV0dXJuIGZhbHNlOwoKLy8gICAgICRwcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwovLyAgICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iZ3JvdXBfcGVybXMgV0hFUkUgcGVybWlzc2lvbl9pZCA9ID8KLy8gICAgICAgICAgIEFORCBncm91cF9pZCA9ID8iOwovLyAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwcm93WydwZXJtaXNzaW9uX2lkJ10sICRnaWQgKSApOwovLyAgICAgaWYoICEkZGJyZXN1bHQgfHwgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDAgKSByZXR1cm4gZmFsc2U7CgovLyAgICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgdHJ1ZS9mYWxzZQogIGZ1bmN0aW9uIENoZWNrVXNlclBlcm1pc3Npb24oICRwZXJtICkKICB7CiAgICAkdWlkID0gJHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCAkdWlkID09IGZhbHNlICkgcmV0dXJuIGZhbHNlOwoKICAgIHJldHVybiBDaGVja1VzZXJQZXJtaXNzaW9uQnlVaWQoICR1aWQsICRwZXJtICk7CiAgfQoKCiAgZnVuY3Rpb24gQ2hlY2tVc2VyUGVybWlzc2lvbkJ5VWlkKCAkdWlkLCAkcGVybSApCiAgewogICAgLy8gd2UgYWx3YXlzIGhhdmUgdG8gcmV0dXJuIGZhbHNlIHVzaW5nIHRoaXMgbWVjaGFuaXNtIAogICAgLy8gYmVjYXVzZSB3ZSBhcmUgdXNpbmcgZGlmZmVyZW50IHRhYmxlcyB0aGFuIHdpc2h5IGlzIHVzaW5nIGZvciAKICAgIC8vIHVzZXJzIGFuZCBncm91cHMKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gQXNzaWduVXNlclRvR3JvdXAoICR1aWQsICRnaWQgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gZmFsc2U7CiAgICAvLyB2YWxpZGF0ZSB0aGUgdXNlciBpZAogICAgaWYoICEkdGhpcy0+VXNlckV4aXN0c0J5SUQoICR1aWQgKSApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgCiAgICAvLyB2YWxpZGF0ZSB0aGUgZ3JvdXAgaWQKICAgIGlmKCAhJHRoaXMtPkdyb3VwRXhpc3RzQnlJRCggJGdpZCApICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAKICAgIC8vIGFkZCB0aGUgcmVjb3JkIHRvIHRoZSB0YWJsZSB0byBtYWtlIHRoaXMgCiAgICAvLyB1c2VyIGEgbWVtYmVyIG9mIHRoaXMgZ3JvdXAKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIAogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8pIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkLCAkZ2lkICkgKTsKICAgIHJldHVybiggJGRicmVzdWx0ICE9IGZhbHNlICk7CiAgfQoKICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gSXNWYWxpZFBhc3N3b3JkKCAkcGFzc3dvcmQgKQogIHsKICAgIC8vIGEgcGFzc3dvcmQgaXMgdmFsaWQsIGlmIGl0J3MgbGVuZ3RoIGlzCiAgICAvLyB3aXRoaW4gY2VydGFpbiByYW5nZXMKICAgICRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwogICAgJG1pbmxlbiA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcsIDYgKTsKICAgICRtYXhsZW4gPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnLCAyMCApOwogICAgJGxlbiA9IHN0cmxlbigkcGFzc3dvcmQpOwogICAgaWYoICRsZW4gPCAkbWlubGVuICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICBlbHNlIGlmKCAkbGVuID4gJG1heGxlbiApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgCiAgICAvKgogICAgLy8gdGhlcmUgbXVzdCBiZSBhdGxlYXN0IDMgdW5pcXVlIGNoYXJhY3RlcnMKICAgIGlmKCBzdHJsZW4oY291bnRfY2hhcnMoICR1c2VybmFtZSwgMyApKSA8IG1pbigzLG1pbmxlbikpCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgKi8KICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFuIGFycmF5CiAgZnVuY3Rpb24gRGVsZXRlVXNlckZ1bGwoICRpZCApCiAgewogICAgLy8gbG9nIHRoZSB1c2VyIG91dAogICAgJHRoaXMtPkxvZ291dFVzZXIoICRpZCApOwoKICAgIC8vIGRlbGV0ZSB1c2VyIHByb3BlcnRpZXMKICAgICR0aGlzLT5EZWxldGVBbGxVc2VyUHJvcGVydGllc0Z1bGwoICRpZCApOwoKICAgIC8vIGRlbGV0ZSB1c2VyIGZyb20gZ3JvdXBzCiAgICAkcmV0ID0gJHRoaXMtPlJlbW92ZVVzZXJGcm9tR3JvdXAoICRpZCwgJycgKTsKICAgIGlmKCAkcmV0WzBdID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuICRyZXQ7CiAgICAgIH0KCiAgICAvLyBkZWxldGUgdXNlciByZWNvcmQKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycwogICAgICAgICAgV0hFUkUgaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFPCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQoKICAgIC8vIGFuZCBkZWxldGUgYW55dGhpbmcgZnJvbSB0aGUgdGVtcGNvZGVzIHRhYmxlIHRvbwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlCiAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFPCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgCiAgICByZXR1cm4gYXJyYXkoIFRSVUUsICIiICk7CiAgfQoKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYW4gYXJyYXkKICBmdW5jdGlvbiBHZXRHcm91cEluZm8oICRnaWQgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRnaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIHJldHVybiAkcm93OwogIH0KICAKICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyBhbiBhcnJheQogIC8vIHNlY29uZCBlbGVtZW50IG9mIGFycmF5IG1heSBiZSBhbiBhcnJheQogIGZ1bmN0aW9uIEdldFVzZXJJbmZvKCAkdWlkICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGFycmF5KEZBTFNFKTsgLy8gdG9kbywgYWRkIGEgbWVzc2FnZQogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMKICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCQkJCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAkcm93ICk7CiAgfQogIAoKCWZ1bmN0aW9uIEdldFVzZXJIaXN0b3J5KCR1aWQsJGFjdGlvbj0nJywkY291bnQ9LTEpCgl7CgkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSRwYXJtcyA9IGFycmF5KCR1aWQpOwoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19oaXN0b3J5CiAgICAgICAgICAgICAgIFdIRVJFIHVzZXJpZCA9ID8nOwoJCWlmKCAhZW1wdHkoJGFjdGlvbikgKQoJCQl7CgkJCQkkcXVlcnkgLj0gJyBBTkQgYWN0aW9uID0gPyc7CgkJCQkkcGFybXNbXSA9ICRhY3Rpb247CgkJCX0KCgkJJHJlc3VsdHMgPSAnJzsKCQlpZiggJGNvdW50IDw9IDAgKQoJCQl7CgkJCQkkcmVzdWx0cyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LCRwYXJtcyk7CgkJCX0KCQllbHNlCgkJCXsKCQkJCSRkYnIgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeSwoaW50KSRjb3VudCk7CgkJCQl3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKCQkJCQl7CgkJCQkJCSRyZXN1bHRzW10gPSAkcm93OwoJCQkJCX0KCgkJCQlpZiggY291bnQoJHJlc3VsdHMpID09IDEgKQoJCQkJCXsKCQkJCQkJJHRtcCA9ICRyZXN1bHRzWzBdOwoJCQkJCQkkcmVzdWx0cyA9ICR0bXA7CgkJCQkJfQoJCQl9Cgl9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFuIGFycmF5IG9yIGZhbHNlCiAgZnVuY3Rpb24gQ291bnRVc2Vyc0luR3JvdXAoICRncm91cGlkICkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAKICAgICRxID0gJyc7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgaWYoICRncm91cGlkID09ICcnIHx8ICRncm91cGlkIDwgMCApCiAgICAgIHsKCSRxID0gIlNFTEVDVCBjb3VudChpZCkgYXMgbnVtIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIjsgCiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHEgPSAiU0VMRUNUIGNvdW50KGlkKSBhcyBudW0gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMsIi4KCSAgY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIFdIRVJFIGlkPXVzZXJpZCBBTkQgZ3JvdXBpZCA9ID8iOwoJJHBhcm1zW10gPSAkZ3JvdXBpZDsKICAgICAgfQoKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwYXJtcyApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgcmV0dXJuICRyb3dbJ251bSddOwogIH0KCgkvLyBHZXQgYW4gYXJyYXkgb2YgdXNlcnMgbWF0Y2hpbmcgdGhlIHNwZWNpZmllZCBncm91cAoJLy8gaW5jbHVkaW5nIGFsbCBvZiB0aGVpciBwcm9wZXJ0aWVzCglmdW5jdGlvbiBHZXRGdWxsVXNlcnNJbkdyb3VwKCRncm91cGlkKQoJewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSRxMSA9ICJTRUxFQ1QgQS4qIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIEEgCiAgICAgICAgICAgICBMRUZUIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgQwogICAgICAgICAgICAgICBPTiBBLmlkID0gQy51c2VyaWQKICAgICAgICAgICAgV0hFUkUgQy5ncm91cGlkID0gPyc7CgkJJHR1c2VycyA9ICRkYi0+R2V0QXJyYXkoJHExLGFycmF5KCRncm91cGlkKSk7CgkJaWYoICR0dXNlcnMgKQoJCQl7CgkJCQkkdG1wID0gYXJyYXkoKTsKCQkJCSR1c2VycyA9IGFycmF5KCk7CgkJCQlmb3JlYWNoKCAkdHVzZXJzIGFzICRvbmV1c2VyICkKCQkJCQl7CgkJCQkJCSR0bXBbXSA9ICRvbmV1c2VyWydpZCddOwoJCQkJCQkkdXNlcnNbJG9uZXVzZXJbJ2lkJ11dID0gJG9uZXVzZXI7CgkJCQkJfQoKCQkJCWlmKCBjb3VudCgkdG1wKSApCgkJCQkJewoJCQkJCQkkdG1wMiA9IGltcGxvZGUoJywnLCR0bXApOwoJCQkJCQkkcTIgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyAKICAgICAgICAgICAgICAgICAgICBXSEVSRSB1c2VyaWQgSU4gKCR0bXAyKSBPUkRFUiBCWSB1c2VyaWQsdGl0bGUgQVNDIjsKCQkJCQkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcTIpOwoJCQkJCQkKCQkJCQkJJHVpZCA9ICcnOwoJCQkJCQkkcHJvcHMgPSBhcnJheSgpOwoJCQkJCQl3aGlsZSggJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSApCgkJCQkJCQl7CgkJCQkJCQkJJHRtcCA9IGFycmF5KCk7CgkJCQkJCQkJaWYoICR1aWQgPT0gJycgKSAkdWlkID0gJHJvd1sndXNlcmlkJ107CgkJCQkJCQkJaWYoICRyb3dbJ3VzZXJpZCddICE9ICR1aWQgKQoJCQkJCQkJCQl7CgkJCQkJCQkJCQkvLyBmaXJzdCByb3cgb3IgdWlkIGNoYW5nZWQKCQkJCQkJCQkJCSR1c2Vyc1skdWlkXVsncHJvcHMnXSA9ICRwcm9wczsKCQkJCQkJCQkJCSR1aWQgPSAkcm93Wyd1c2VyaWQnXTsKCQkJCQkJCQkJCSRwcm9wcyA9IGFycmF5KCk7CgkJCQkJCQkJCX0KCQkJCQkJCQkkcHJvcHNbXSA9ICRyb3c7CgkJCQkJCQl9CgkJCQkJCSR1c2Vyc1skdWlkXVsncHJvcHMnXSA9ICRwcm9wczsKCQkJCQl9CgoJCQkJcmV0dXJuICR1c2VyczsKCQkJfQoJCXJldHVybiBmYWxzZTsKCX0KCiAgZnVuY3Rpb24gR2V0VXNlcnNJbkdyb3VwKCAkZ3JvdXBpZCA9ICcnLCAkdXNlcnJlZ2V4ID0gJycsIAoJCQkJCQkJCQkJCQkJCSRsaW1pdCA9ICcnLCAkc29ydCA9ICcnLAoJCQkJCQkJCQkJCQkJCSRwcm9wZXJ0eSA9ICcnLCAkcHJvcHJlZ2V4ID0gJycsCgkJCQkJCQkJCQkJCQkJJGxvZ2dlZGlub25seSA9IDApCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSR0aGVsaW1pdCA9IDEwMDAwMDsKCiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHdoZXJlID0gYXJyYXkoKTsKCQkkZ3JvdXAgPSBhcnJheSgpOwogICAgJG9yZGVyc29ydCA9ICIiOwogICAgJHEgPSAiU0VMRUNUIEEuKixjb3VudChELnVzZXJpZCkgYXMgbG9nZ2VkaW4gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMgQSI7IAoJCSRncm91cFtdID0gIiBBLmlkIjsKCQlpZiggJGxvZ2dlZGlub25seSApCgkJCXsKCQkJCSRxIC49ICIsIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIEQiOwoJCQkJJHdoZXJlW10gPSAiIEEuaWQgPSBELnVzZXJpZCI7CgkJCX0KCQllbHNlCgkJCXsKCQkJCSRxIC49ICIgTEVGVCBPVVRFUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19sb2dnZWRpbiBECiAgICAgICAgICAgICAgICAgIE9OIEEuaWQgPSBELnVzZXJpZCI7CgkJCX0KICAgIGlmKCAkcHJvcGVydHkgIT0gJycgJiYgJHByb3ByZWdleCAhPSAnJyApCiAgICAgIHsKCQkJCSRxIC49ICIsIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgQiI7CgkJCQkkd2hlcmVbXSA9ICIgQS5pZCA9IEIudXNlcmlkIjsKICAgICAgfQogICAgaWYoICRncm91cGlkICE9ICcnICYmICRncm91cGlkID49IDAgKQogICAgICB7CgkJCQkkcSAuPSAiLCIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIEMiOwoJCQkJJHdoZXJlW10gPSAiIEEuaWQgPSBDLnVzZXJpZCI7CgkJCQkkd2hlcmVbXSA9ICIgZ3JvdXBpZCA9ID8iOwoJCQkJJHBhcm1zW10gPSAkZ3JvdXBpZDsKICAgICAgfQogICAgaWYoICRwcm9wZXJ0eSAhPSAnJyAmJiAkcHJvcHJlZ2V4ICE9ICcnICkKICAgICAgewoJCQkJJHdoZXJlW10gPSAiIEIudGl0bGUgPSA/IGFuZCBCLmRhdGEgUkVHRVhQID8iOwoJCQkJJHBhcm1zW10gPSAkcHJvcGVydHk7CgkJCQkkcGFybXNbXSA9ICRwcm9wcmVnZXg7CiAgICAgIH0KICAgIGlmKCAkdXNlcnJlZ2V4ICE9ICcnICkKICAgICAgewoJCQkJJHdoZXJlW10gPSAiIHVzZXJuYW1lIFJFR0VYUCA/IjsKCQkJCSRwYXJtc1tdID0gJHVzZXJyZWdleDsKICAgICAgfQogICAgaWYoICRzb3J0ICE9ICcnICkKICAgICAgewoJCQkJJG9yZGVyc29ydCAuPSAiIE9SREVSIEJZICRzb3J0IjsKICAgICAgfQogICAgaWYoICRsaW1pdCAhPSAnJyAmJiAkbGltaXQgIT0gJzAnICkKICAgICAgewoJCQkJJHRoZWxpbWl0ID0gKGludCkkbGltaXQ7CiAgICAgIH0KCiAgICAvLyBwdXQgdGhlIHF1ZXJ5IHRvZ2V0aGVyCiAgICBpZiggY291bnQoJHdoZXJlICkgKQogICAgICB7CgkJCQkkcSAuPSAiIFdIRVJFICIgLiBpbXBsb2RlKCIgQU5EICIsJHdoZXJlKTsKICAgICAgfQoJCWlmKCBjb3VudCgkZ3JvdXApICkKCQkJewoJCQkJJHEgLj0gIiBHUk9VUCBCWSAiLiBpbXBsb2RlKCIgLCAiLCRncm91cCk7CgkJCX0KICAgICRxIC49ICRvcmRlcnNvcnQ7CiAgICAkZGJyZXN1bHQgPSAkZGItPlNlbGVjdExpbWl0KCAkcSwgJHRoZWxpbWl0LCAwLCAkcGFybXMgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJCQkJcmV0dXJuIGZhbHNlOwogICAgICB9CgoJCSRyZXN1bHQgPSAkZGJyZXN1bHQtPkdldEFycmF5KCk7CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gR3JvdXBFeGlzdHNCeUlEKCAkZ2lkICkKICB7CiAgICAkZGF0YSA9ICR0aGlzLT5HZXRHcm91cEluZm8oICRnaWQgKTsKICAgIHJldHVybiggJGRhdGEgIT0gZmFsc2UgKTsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gR3JvdXBFeGlzdHNCeU5hbWUoICRuYW1lICkKICB7CiAgICAkZ2lkID0gJHRoaXMtPkdldEdyb3VwSUQoICRuYW1lICk7CiAgICByZXR1cm4oICRnaWQgIT0gZmFsc2UgKTsKICB9CgoKICBmdW5jdGlvbiBMb2dnZWRJbkVtYWlsKCkKICB7CiAgICAgICR1c2VyaWQ9JHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgICAgcmV0dXJuICR0aGlzLT5HZXRFbWFpbCgkdXNlcmlkKTsKICB9CiAgCiAgZnVuY3Rpb24gR2V0RW1haWwoJHVpZCkKICAgewoJCSAkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKCQkgJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSAkcmVzdWx0ID0gZmFsc2U7CgkJIAoJCSBpZiAoJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVfaXNfZW1haWwnKSkKCQkJIHsKCQkJCSAkcSA9ICdTRUxFQ1QgdXNlcm5hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4KCQkJCQkgJ21vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIGlkID0gPyc7CgkJCQkgJHJlc3VsdCA9ICRkYi0+R2V0T25lKCAkcSwgYXJyYXkoICR1aWQgKSApOwoJCQkgfQoJCSBlbHNlCgkJCSB7CgkJCQkgJHEgPSAnU0VMRUNUIGRhdGEgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4sJy4KCQkJCQkgY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIG5hbWU9dGl0bGUgQU5ECiAgICAgICAgICB0eXBlPTIgQU5EIHVzZXJpZCA9ID8gTElNSVQgMSc7CgkJCQkgJHJlc3VsdCA9ICRkYi0+R2V0T25lKCAkcSwgYXJyYXkoICR1aWQgKSApOwoJCQkgfQoJCSByZXR1cm4gJHJlc3VsdDsKICAgfQogIAogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gSXNWYWxpZEVtYWlsQWRkcmVzcyggJGVtYWlsLCAkdWlkID0gLTEgKQogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICBpZiggIWVyZWdpKCJeW19hLXowLTktXSsoXC5bX2EtejAtOS1dKykqQFthLXowLTktXSsoXC5bYS16MC05LV0rKSooXC5bYS16XXsyLDR9KSQiLCAkZW1haWwgKSApCiAgICAgIHsKICAgICAgIAkkcmVzdWx0WzBdID0gZmFsc2U7CiAgICAgIAkkcmVzdWx0WzFdID0gJG1vZHVsZS0+TGFuZygnZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCcpOwogICAgICAJcmV0dXJuICRyZXN1bHQ7CiAgICAgIH0KCiAgICAkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKCSAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgogICAgaWYgKCRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lX2lzX2VtYWlsJykpCiAgICAgIHsKCSAgICRxID0gJ1NFTEVDVCB1c2VybmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLgogICAgICAgICAnbW9kdWxlX2ZldXNlcnNfdXNlcnMgV0hFUkUgdXNlcm5hbWUgPSA/JzsKICAgICAgJHBhcm0gPSBhcnJheSgkZW1haWwpOwoJICAgaWYgKCR1aWQgPiAtMSkKICAgICAgICAgewogICAgICAgICAkcSAuPSAnIEFORCBpZCAhPSA/JzsKICAgICAgICAgJHBhcm1bXSA9ICR1aWQ7CiAgICAgICAgIH0KCSAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgJHBhcm0gKTsKCWlmKCAkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpICkKCSAgewoJCQllY2hvICJERUJVRyAyICRlbWFpbDxici8+IjsKCSAgICAkcmVzdWx0WzBdID0gZmFsc2U7CgkgICAgJHJlc3VsdFsxXSA9ICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnKTsKCSAgICByZXR1cm4gJHJlc3VsdDsKCSAgfQogICAgICB9CiAgICBlbHNlIGlmKCAhJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX2VtYWlscycpICkKICAgICAgewoJJHEgPSAiU0VMRUNUIGRhdGEgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4sIi4KCSAgY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIG5hbWU9dGl0bGUgQU5ECiAgICAgICAgICB0eXBlPTIgQU5EIGRhdGEgTElLRSA/IjsKCSRwYXJtcyA9IGFycmF5KCAkZW1haWwgKTsKCWlmKCAkdWlkID4gLTEgKQoJICB7CgkgICAgJHEgLj0gJyBBTkQgdXNlcmlkICE9ID8nOwoJICAgICRwYXJtc1tdID0gJHVpZDsKCSAgfQoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRlbWFpbCApICk7CglpZiggJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSApCgkgIHsKCSAgICAkcmVzdWx0WzBdID0gZmFsc2U7CgkgICAgJHJlc3VsdFsxXSA9ICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnKTsKCSAgICByZXR1cm4gJHJlc3VsdDsKCSAgfQogICAgICB9CgogICAgJHJlc3VsdFswXSA9IHRydWU7CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIHRydWUvZmFsc2UKICBmdW5jdGlvbiBJc1ZhbGlkVXNlcm5hbWUoICR1c2VybmFtZSApCiAgewogICAgLy8gYSB1c2VybmFtZSBpcyB2YWxpZCwgaWYgaXQncyBsZW5ndGggaXMKICAgIC8vIHdpdGhpbiBjZXJ0YWluIHJhbmdlcywgYW5kIGl0IGNvbnRhaW5zCiAgICAvLyBvbmx5IGFscGhhbnVtZXJpY3MKICAgICRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwogICAgJG1pbmxlbiA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21pbl91c2VybmFtZWxlbmd0aCcsIDQgKTsKICAgICRtYXhsZW4gPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnLCAyMCApOwogICAgaWYoIHN0cmxlbiggJHVzZXJuYW1lICkgPCAkbWlubGVuIHx8IHN0cmxlbiggJHVzZXJuYW1lICkgPiAkbWF4bGVuICkKICAgICAgewogICAgICAgCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgaWYgKCRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lX2lzX2VtYWlsJykpCiAgICAgIHsKICAgICAgICAkdGVzdCA9ICR0aGlzLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCR1c2VybmFtZSk7CiAgICAgICAgaWYgKCR0ZXN0WzBdID09PSBmYWxzZSkKICAgICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgfQogICAgICB9CiAgICBlbHNlIGlmKCAhcHJlZ19tYXRjaCggJy9eW2EtekEtWjAtOV8tXSokLycsICR1c2VybmFtZSApICkKICAgICAgewogIAkgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgLyoKICAgIC8vIHRoZXJlIG11c3QgYmUgYXRsZWFzdCAzIHVuaXF1ZSBjaGFyYWN0ZXJzCiAgICBpZiggc3RybGVuKGNvdW50X2NoYXJzKCAkdXNlcm5hbWUsIDMgKSkgPCBtaW4oMyxtaW5sZW4pKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICovCiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFuIGFycmF5CiAgZnVuY3Rpb24gUmVtb3ZlVXNlckZyb21Hcm91cCggJHVpZCwgJGdpZCApCiAgewoJCWlmKCAhJHVpZCApIHJldHVybiBhcnJheSggRkFMU0UgKTsgLy8gdG9kbywgcmV0dXJuIGVycm9yIG1lc3NhZ2UKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRwYXJtcyA9IGFycmF5KCAkdWlkICk7CiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncwogICAgICAgICAgV0hFUkUgdXNlcmlkID0gPyI7CiAgICBpZiggJGdpZCAhPSAnJyApCiAgICAgIHsKCSRxIC49ICIgQU5EIGdyb3VwaWQgPSA/IjsKCWFycmF5X3B1c2goICRwYXJtcywgJGdpZCApOwogICAgICB9CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCAkcGFybXMgKTsKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gYXJyYXkoIFRSVUUgKTsKICAgICAgfQogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gU2V0R3JvdXAoICRpZCwgJG5hbWUsICRkZXNjICkKICB7CiAgICBpZiggIWlzc2V0KCAkbmFtZSApIHx8ICRuYW1lID09ICcnICkKICAgICAgewoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsCgkJCQkgICR0aGlzLT5MYW5nICgnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwoJcmV0dXJuOwogICAgICB9CiAgICAKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAkZWlkID0gJHRoaXMtPkdldEdyb3VwSUQoICRuYW1lICk7CiAgICBpZiggJGVpZCAhPSBmYWxzZSAmJiAkZWlkICE9ICRpZCApCiAgICAgIHsKCSRtb2QgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwoJcmV0dXJuIGFycmF5KEZBTFNFLCRtb2QtPkxhbmcoJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnKSk7CiAgICAgIH0KICAgIAogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgU0VUCiAgICAgICAgICAgICAgICBncm91cG5hbWUgPSA/LCBncm91cGRlc2MgPSA/IFdIRVJFIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJG5hbWUsICRkZXNjLCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAnJyk7CiAgfQoKCiAgZnVuY3Rpb24gU2V0VXNlclBhc3N3b3JkKCAkdWlkLCAkcGFzc3dvcmQgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gYXJyYXkoRkFMU0UsIiIpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycwogICAgICAgICAgU0VUIHBhc3N3b3JkID0gPyBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoIG1kNSgkcGFzc3dvcmQpLCAkdWlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUsIiIpOwogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gU2V0VXNlciggJHVpZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzID0gZmFsc2UgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gYXJyYXkoRkFMU0UsIiIpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgCiAgICAvLyBtYWtlIHN1cmUgdGhhdCB0aGlzIHVzZXIgZXhpc3RzCiAgICAkcmV0ID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CiAgICBpZiggJHJldFswXSA9PSBGQUxTRSApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwgJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpKTsKICAgICAgfQoKICAgIC8vIG1ha2Ugc3VyZSB0aGF0IHRoaXMgdXNlcm5hbWUgaXMgbm90IHRha2VuIGJ5IHNvbWUgb3RoZXIgaWQKICAgICRudWlkID0gJHRoaXMtPkdldFVzZXJJRCgkdXNlcm5hbWUpOwogICAgaWYoICRudWlkICE9IGZhbHNlICYmICRudWlkICE9ICR1aWQgKQogICAgICB7CgkkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKCXJldHVybiBhcnJheShGQUxTRSwgJG1vZHVsZS0+TGFuZygnZXJyb3JfdXNlcm5hbWV0YWtlbicsJHVpZCkpOwogICAgICB9CgogICAgJGRicmVzdWx0ID0gJyc7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyBTRVQKICAgICAgICAgdXNlcm5hbWUgPSA/IjsKCQogICAgJHBhcm1zW10gPSAkdXNlcm5hbWU7CiAgICBpZiggdHJpbSggJHBhc3N3b3JkICkgIT0gJycgKQogICAgICB7CgkkcSAuPSAiLCBwYXNzd29yZCA9ID8iOwoJJHBhcm1zW10gPSBtZDUoJHBhc3N3b3JkKTsKICAgICAgfQogICAgaWYoICRleHBpcmVzICE9IGZhbHNlICkKICAgICAgewoJJHEgLj0gIiwgZXhwaXJlcyA9ID8iOwoJJHBhcm1zW10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGV4cGlyZXMpLCInIik7CiAgICAgIH0KICAgICRxIC49ICIgV0hFUkUgaWQgPSA/IjsKICAgICRwYXJtc1tdID0gJHVpZDsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwYXJtcyApOwoKICAgIGlmKCAkZGJyZXN1bHQgPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAiIiApOwogIH0KCiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgdHJ1ZS9mYWxzZQogIGZ1bmN0aW9uIFNldFVzZXJHcm91cHMoICR1aWQsICRncnBpZHMgKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gYXJyYXkoRkFMU0UsIiIpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoKICAgIC8vIGZpcnN0IG1ha2Ugc3VyZSB0aGlzIHVzZXIgZXhpc3RzCiAgICAkcmV0ID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CiAgICBpZiggJHJldFswXSA9PSBGQUxTRSApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwgIlVzZXIgZG9lcyBub3QgZXhpc3QiKTsKICAgICAgfQoKICAgIC8vIHRoZW4gcmVtb3ZlIGFsbCBoaXMgY3VycmVudCBhc3NpZ25tZW50cwogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgCiAgICAgICAgICBXSEVSRSB1c2VyaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgICk7CiAgICAgIH0KCiAgICAvLyBhbmQgYWRkIGFsbCBvZiB0aGVtIGluCiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncwogICAgICAgICAgVkFMVUVTICg/LD8pIjsKICAgIGZvcmVhY2goICRncnBpZHMgYXMgJGdycGlkICkKICAgIHsKICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQsICRncnBpZCApICk7CiAgICAgIGlmKCAhJGRicmVzdWx0ICkKCXsKCSAgcmV0dXJuIGFycmF5KCBGQUxTRSwgJGRiLT5FcnJvck1zZygpICApOwoJfQogICAgfQogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAiIiApOwogIH0KCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIHRydWUvZmFsc2UKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydGllcyggJHVpZCwgJHByb3BzICkKICB7CgkJaWYoICEkdWlkICkgcmV0dXJuIGZhbHNlOwogICAgLy8gRGVsZXRlIGFsbCB0aGUgdXNlciBwcm9wZXJ0aWVzCiAgICAvLyBhbmQgc2V0IG5ldyBvbmVzCiAgICAkdGhpcy0+RGVsZXRlVXNlclByb3BlcnR5RnVsbCggIiIsICR1aWQsIHRydWUgKTsKCiAgICBmb3JlYWNoKCAkcHJvcHMgYXMgJHByb3AgKQogICAgewogICAgICBsaXN0KCAka2V5LCAkdmFsICkgPSBzcGxpdCgiPSIsJHByb3ApOwogICAgICAkdGhpcy0+U2V0VXNlclByb3BlcnR5KCAka2V5LCAkdmFsLCAkdWlkICk7CiAgICB9CgkJCiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyB0cnVlL2ZhbHNlCiAgZnVuY3Rpb24gVXNlckV4aXN0c0J5SUQoICR1aWQgKQogIHsKICAgIGlmKCAhJHVpZCApIHJldHVybiBmYWxzZTsKICAgICRkYXRhID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CiAgICByZXR1cm4oICRkYXRhWzBdICE9PSBGQUxTRSApOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYW4gYXJyYXkgb3IgZmFsc2UKICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydGllcygkdWlkKQogIHsKCQlpZiggISR1aWQgKSByZXR1cm4gZmFsc2U7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBXSEVSRSB1c2VyaWQ9PyI7CiAgICAkcD1hcnJheSgkdWlkKTsKICAgICRhcnIgPSBhcnJheSgpOwogICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiggJGRicmVzdWx0ID09IGZhbHNlICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgIHsKCSRhcnJbXSA9ICRyb3c7CiAgICAgIH0KICAgIHJldHVybiAkYXJyOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgcmVjb3JkcyBvciBmYWxzZQogIGZ1bmN0aW9uIEdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyaWQpIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIFdIRVJFIHVzZXJpZD0/IjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsYXJyYXkoJHVzZXJpZCkpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkpIHsKICAgICAgJHJlc3VsdD1hcnJheSgpOzsKICAgICAgd2hpbGUgKCRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CglhcnJheV9wdXNoKCAkcmVzdWx0LCAkcm93ICk7CiAgICAgIH0KICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQoKICAvLwogIC8vIGVuZCBvZiByYyBmdW5jdGlvbnMKICAvLwoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnR5KCR0aXRsZSwkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICAkdXNlcmlkPSR0aGlzLT5Mb2dnZWRJbklkKCk7CiAgICBpZiAoJHVzZXJpZD09PWZhbHNlKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4gJHRoaXMtPkdldFVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsJGRlZmF1bHR2YWx1ZSk7CiAgfQogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkdXNlcmlkLCAkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICAkZGI9JHRoaXMtPkdldERCKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllcyBXSEVSRSB0aXRsZT0/IEFORCB1c2VyaWQ9PyI7CiAgICAkcD1hcnJheSgkdGl0bGUsJHVzZXJpZCk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiAoJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpKSB7CiAgICAgICRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgcmV0dXJuICRyb3dbImRhdGEiXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAkZGVmYXVsdHZhbHVlOwogICAgfQogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIFNldFVzZXJQcm9wZXJ0eSgkdGl0bGUsJGRhdGEpIAogIHsKICAgICR1c2VyaWQ9JHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmICgkdXNlcmlkPT09ZmFsc2UpIHJldHVybiBmYWxzZTsKICAgIHJldHVybiAkdGhpcy0+U2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJGRhdGEsJHVzZXJpZCk7CiAgfQoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gU2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJGRhdGEsJHVzZXJpZCkgCiAgewogICAgJGRiPSR0aGlzLT5HZXREQigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgV0hFUkUgdGl0bGU9PyBBTkQgdXNlcmlkPT8iOwogICAgJHA9YXJyYXkoJHRpdGxlLCR1c2VyaWQpOwogICAgJHI9JGRiLT5FeGVjdXRlKCRxLCRwKTsKICAgIGlmICghJHIgfHwgKCRyLT5OdW1Sb3dzKCk9PTApKSB7CiAgICAgICRuZXdpZD0kZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGVydGllc19zZXEiKTsKICAgICAgJHE9IklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIChpZCx1c2VyaWQsdGl0bGUsZGF0YSkgVkFMVUVTICg/LD8sPyw/KSI7CiAgICAgICRwPWFycmF5KCRuZXdpZCwkdXNlcmlkLCR0aXRsZSwkZGF0YSk7CiAgICAgICRyPSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICB9IGVsc2UgewogICAgICAkcm93PSRyLT5GZXRjaFJvdygpOwogICAgICAkcT0iVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFNFVCBkYXRhPT8gV0hFUkUgaWQ9PyI7CiAgICAgICRwPWFycmF5KCRkYXRhLCRyb3dbImlkIl0pOwogICAgICAkcj0kZGItPkV4ZWN1dGUoJHEsJHApOwogICAgfQogICAgcmV0dXJuICgkciE9ZmFsc2UpOwogIH0KCiAgLy8gZGVsZXRlIGFsbCBvY2N1cmFuY2VzIG9mIHRoZSB1c2VycHJvcGVydHkgYnkgbmFtZQogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUJ5TmFtZSggJHRpdGxlICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0REIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHRpdGxlPT8iOwogICAgJHAgPSBhcnJheSggJHRpdGxlICk7CiAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgJHAgKTsKICAgIHJldHVybiAoJHJlc3VsdCE9ZmFsc2UpOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eSgkdGl0bGUsJGFsbD1mYWxzZSkgCiAgewogICAgJHVzZXJpZD0kdGhpcy0+TG9nZ2VkSW5JZCgpOwogICAgaWYgKCR1c2VyaWQ9PT1mYWxzZSkgcmV0dXJuIGZhbHNlOwogICAgJGRiPSR0aGlzLT5HZXREQigpOwogICAgJHE9IkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHVzZXJpZD0/IjsKICAgIGlmICghJGFsbCkgJHEuPSIgQU5EIHRpdGxlPT8iOwogICAgJHA9YXJyYXkoKTsKICAgIGlmICgkYWxsKSAkcD1hcnJheSgkdXNlcmlkKTsgZWxzZSAkcD1hcnJheSgkdXNlcmlkLCR0aXRsZSk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICByZXR1cm4gKCRyZXN1bHQhPWZhbHNlKTsKICB9CiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsJGFsbD1mYWxzZSkgCiAgewogICAgJGRiPSR0aGlzLT5HZXREQigpOwogICAgJHE9IkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIFdIRVJFIHVzZXJpZD0/IjsKICAgIGlmICghJGFsbCkgJHEuPSIgQU5EIHRpdGxlPT8iOwogICAgJHA9YXJyYXkoKTsKICAgIGlmICgkYWxsKSAkcD1hcnJheSgkdXNlcmlkKTsgZWxzZSAkcD1hcnJheSgkdXNlcmlkLCR0aXRsZSk7CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICByZXR1cm4gKCRyZXN1bHQhPWZhbHNlKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBEZWxldGVBbGxVc2VyUHJvcGVydGllcygpIAogIHsKICAgIHJldHVybiAkdGhpcy0+RGVsZXRlVXNlclByb3BlcnR5KCIiLHRydWUpOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIERlbGV0ZUFsbFVzZXJQcm9wZXJ0aWVzRnVsbCgkdXNlcmlkKSAKICB7CiAgICByZXR1cm4gJHRoaXMtPkRlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoIiIsJHVzZXJpZCx0cnVlKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBDaGVja1Bhc3N3b3JkKCR1c2VybmFtZSwkcGFzc3dvcmQsJGdyb3VwcyA9ICcnLCRtZDVwdyA9IGZhbHNlKSAKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUIHUuKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyB1IjsKCQlpZiAoJGdyb3VwcyAhPSAnJykKCQkJewoJCQkJJHEgLj0gJyBJTk5FUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIGIgT04gdS5pZCA9IGIudXNlcmlkIElOTkVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX2dyb3VwcyBnIE9OIGcuaWQgPSBiLmdyb3VwaWQgJzsKCQkJfQoJCSRxIC49ICcgV0hFUkUgdS51c2VybmFtZT0/IEFORCB1LnBhc3N3b3JkPT8nOwoJCSRwID0gJyc7CgkJaWYoICRtZDVwdyApCgkJCXsKCQkJCSRwPWFycmF5KCR1c2VybmFtZSwkcGFzc3dvcmQpOwoJCQl9CgkJZWxzZQoJCQl7CgkJCQkkcD1hcnJheSgkdXNlcm5hbWUsbWQ1KCRwYXNzd29yZCkpOwoJCQl9CgkJaWYgKCRncm91cHMgIT0gJycpCgkJCXsJCQkKCQkJCS8vc3BsaXQgdGhlIHN0cmluZyBvbiB0aGUgY29tbWFzCgkJCQkkZ3JvdXBzID0gc3BsaXQoJyxcID8nLCAkZ3JvdXBzKTsKCQkJCQoJCQkJLy9tYWtlIGEgYml0IGZvciB0aGUgcXVlcnkKCQkJCSRxIC49ICcgQU5EICgnIC4gaW1wbG9kZSgnIE9SICcsIGFycmF5X2ZpbGwoMCwgY291bnQoJGdyb3VwcyksICdnLmdyb3VwbmFtZSA9ID8nKSkgLiAnKSc7CgkJCQlmb3JlYWNoICgkZ3JvdXBzIGFzICRncm91cCkKCQkJCQl7CgkJCQkJCSRwW10gPSAkZ3JvdXA7CgkJCQkJfQoJCQl9CiAgICAkcmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSwkcCk7CiAgICBpZiAoJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpKSByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBmYWxzZTsKICB9CiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIExvZ2dlZEluTmFtZSgpIAogIHsKICAgICR1c2VyaWQ9JHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmICgkdXNlcmlkKSByZXR1cm4gJHRoaXMtPkdldFVzZXJOYW1lKCR1c2VyaWQpOyBlbHNlIHJldHVybiAiIjsKICB9CgoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gTG9nb3V0KCR1aWQgPSAnJykgCiAgewoJCWdsb2JhbCAkZ0NtczsKCQkkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKCQlpZiggISR1aWQgKSByZXR1cm47CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkJJHEgPSAnJzsKCQkkcCA9ICcnOwoJCWlmKCAkdWlkID09ICcnICkKCQkJewoJCQkJJHVpZCA9ICR0aGlzLT5Mb2dnZWRJbklkKCk7CgkJCQlpZiggISR1aWQgKSByZXR1cm4gZmFsc2U7CgkJCQkkcT0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIFdIRVJFIHNlc3Npb25pZD0/IjsKCQkJCSRwPWFycmF5KHNlc3Npb25faWQoKSk7CgkJCX0KCQllbHNlCgkJCXsKCQkJCSRxPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4gV0hFUkUgdXNlcmlkPT8iOwoJCQkJJHA9YXJyYXkoJHVpZCk7CgkJCX0KCQkKICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLCRwKTsKCgkJLy8gZGVsZXRlIHRoZSBjb29raWUKCQlAc2V0Y29va2llKCdmZXVfc2Vzc2lvbmlkJywnJyx0aW1lKCktNjAwMDAsJGNvbmZpZ1sncm9vdF9wYXRoJ10pOwoJCUBzZXRjb29raWUoJ2ZldV91aWQnLCcnLHRpbWUoKS02MDAwMCwkY29uZmlnWydyb290X3BhdGgnXSk7CgogICAgLy8gYW5kIGFkZCBoaXN0b3J5IGluZm8KICAgICRpcCA9IGdldGVudigiUkVNT1RFX0FERFIiKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgc2Vzc2lvbl9pZCgpLCAnbG9nb3V0JywKCQkJICAgICB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwiJyIpLCRpcCApKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBMb2dvdXRVc2VyKCR1aWQsJGV2ZW50bXNnID0gJ2xvZ291dCcpIAogIHsKCQlpZiggISR1aWQgKSByZXR1cm47CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIFdIRVJFIHVzZXJpZD0/IjsKICAgICRwPWFycmF5KCR1aWQpOwogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsJHApOwoKICAgICRpcCA9IGdldGVudigiUkVNT1RFX0FERFIiKTsKICAgICRxID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVpZCwgc2Vzc2lvbl9pZCgpLCAkZXZlbnRtc2cgLAoJCQkJCQkJCQkJCQkJCSB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwiJyIpLCRpcCkgKTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBFeHBpcmVVc2VycygpIAogIHsKICAgICRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwogICAgJGV4cGlyeXRpbWUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCd1c2VyX3Nlc3Npb25fZXhwaXJlcycpOwogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIFdIRVJFIGxhc3R1c2VkPD8iOwogICAgJHA9YXJyYXkodGltZSgpLSRleHBpcnl0aW1lKTsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsICRwICk7CiAgICB3aGlsZSggJGRicmVzdWx0ICYmICgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSApCiAgICAgIHsKCQkJCSRxMiA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeQogICAgICAgICAgICAgICAgICh1c2VyaWQsc2Vzc2lvbmlkLGFjdGlvbixyZWZkYXRlKQogICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPykiOwoJCQkJJGRiLT5FeGVjdXRlKCAkcTIsIGFycmF5KCAkcm93Wyd1c2VyaWQnXSwgJHJvd1snc2Vzc2lvbmlkJ10sJ2V4cGlyZScsCgkJCQkJCQkJCQkJCQkJCQkJdHJpbSgkZGItPkRiVGltZVN0YW1wKHRpbWUoKSksIiciKSkpOwoJCQkJJG1vZHVsZS0+Tm90aWZ5RXhwaXJlZFVzZXIoICRyb3dbJ3VzZXJpZCddICk7CiAgICAgIH0KCiAgICAkcT0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIFdIRVJFIGxhc3R1c2VkPD8iOwogICAgJHJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsJHApOwogIH0KCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIExvZ2dlZEluSWQoKSAKICB7CgkJZ2xvYmFsICRnQ21zOwoJCSRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwoJCWlmKCBpc3NldCgkZ0Ntcy0+dmFyaWFibGVzWydmZXVfbG9nZ2luaWQnXSkgKQoJCQl7CgkJCQkvLyB0aGlzIHdpbGwgc2F2ZSBhIGZldyBxdWVyaWVzIGluIGVhY2ggcmVxdWVzdAoJCQkJcmV0dXJuICRnQ21zLT52YXJpYWJsZXNbJ2ZldV9sb2dnaW5pZCddOwoJCQl9CgogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSRzZXNzaW9uaWQgPSBzZXNzaW9uX2lkKCk7CiAgICAkdGhpcy0+RXhwaXJlVXNlcnMoKTsKCiAgICBpZiggJHNlc3Npb25pZCA9PSAiIiApCiAgICAgIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoKICAgICRxPSJTRUxFQ1QgdXNlcmlkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIFdIRVJFIHNlc3Npb25pZD0/IjsKICAgICRwPWFycmF5KCRzZXNzaW9uaWQpOwogICAgJHJlc3VsdCA9ICRkYi0+R2V0T25lKCRxLCRwKTsKICAgIGlmICgkcmVzdWx0KQoJCQl7CgkJCQkvLyB3ZSBrbm93IHRoaXMgdXNlciBpcyBsb2dnZWQgaW4uCgkJCQkkcmV0dmFsID0gJHJlc3VsdDsKCQkJCQoJCQkJLy8gbm93IHRvdWNoIHRoZSBsYXN0dXNlZAoJCQkJLy8gdGhpcyB3aWxsIGVuc3VyZSB0aGF0IGV2ZXJ5IHRpbWUgd2UgY2hlY2sgdGhhdCBhIHVzZXIgaXMKCQkJCS8vIGxvZ2dlZCBpbiwgaXQgdG91Y2hlcyBoaXMgbG9nZ2VkIGluIGVudHJ5CgkJCQkkcSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIFNFVCBsYXN0dXNlZCA9ID8gd2hlcmUgc2Vzc2lvbmlkID0gPyI7CgkJCQkkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggdGltZSgpLCAkc2Vzc2lvbmlkICkgKTsKCgkJCQkkZ0Ntcy0+dmFyaWFibGVzWydmZXVfbG9nZ2luaWQnXSA9ICRyZXR2YWw7CgkJCQlyZXR1cm4gJHJldHZhbDsKCQkJfSAKCQllbHNlIAoJCQl7CgkJCQkkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGUoKTsKCQkJCWlmKCAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdjb29raWVfa2VlcGFsaXZlJywwKSAmJgoJCQkJCQlpc3NldCgkX0NPT0tJRVsnZmV1X3Nlc3Npb25pZCddKSApCgkJCQkJewoJCQkJCQkvLyBubyBzZXNzaW9uIGlkLCBidXQgd2UgaGF2ZSBhIGNvb2tpZSwgc28gd2hhdCB3ZSdsbCBkbwoJCQkJCQkvLyBpcyBmaXJzdCBjaGVjayB0byBzZWUgaWYgdGhlIHNlc3Npb24gaXMgc3RpbGwgbG9nZ2VkIGluCgkJCQkJCS8vIGlmIGl0IGlzLCBmb3JjZSBhIGxvZ291dCBmb3IgdGhhdCBzZXNzaW9uIGlkCgkJCQkJCS8vIGFuZCBzdGFydCBhIG5ldyByZWNvcmQsIG90aGVyd2lzZSwgaWdub3JlIHRoZSBjb29raWUKCQkJCQkJJHVpZCA9ICRfQ09PS0lFWydmZXVfdWlkJ107CgkJCQkJCSRzZXNzaW9uaWQgPSAkX0NPT0tJRVsnZmV1X3Nlc3Npb25pZCddOwoJCQkJCQkKCQkJCQkJLyoKCQkJCQkJICRxID0gIlNFTEVDVCB1c2VyaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4KCQkJCQkJIFdIRVJFIHNlc3Npb25pZCA9ID8iOwoJCQkJCQkgJHJvdyA9ICRkYi0+R2V0Um93KCRxLCBhcnJheSgkc2Vzc2lvbmlkKSApOwoJCQkJCQkgaWYoICEkcm93ICkKCQkJCQkJIHsKCQkJCQkJIC8vIHVzZXIgaGFzIGEgY29va2llLCBidXQgdGhlIHJlY29yZCBoYXMgcHJvYmFibHkgZXhwaXJlZAoJCQkJCQkgLy8gc28gdGhlIGNvb2tpZSBpcyBub3QgZ29vZCBhbnkgbW9yZS4KCQkJCQkJIAoJCQkJCQkgLy8gZGVsZXRlIHRoZSBjb29raWUKCQkJCQkJIEBzZXRjb29raWUoJ2ZldV9zZXNzaW9uaWQnLCcnLHRpbWUoKS02MDAwMCwkY29uZmlnWydyb290X3BhdGgnXSk7CgkJCQkJCSBAc2V0Y29va2llKCdmZXVfdWlkJywnJyx0aW1lKCktNjAwMDAsJGNvbmZpZ1sncm9vdF9wYXRoJ10pOwoJCQkJCQkgcmV0dXJuIGZhbHNlOwoJCQkJCQkgfQoJCQkJCQkqLwoJCQkJCQkKCQkJCQkJLy8gZGVsZXRlIHRoZSBleGlzdGluZyByZWNvcmQKCQkJCQkJJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIAogICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBzZXNzaW9uaWQgPSA/IjsKCQkJCQkJJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRzZXNzaW9uaWQgKSApOwoJCQkJCQkKCQkJCQkJLy8gbG9nIHRoZSB1c2VyIGluCgkJCQkJCS8vIHRvZG8sIGxvZyB0aGlzIHRvbywKCQkJCQkJLy8gcmF0aW9uYWxpemUgdGhpcyBjb2RlIHdpdGggTG9naW4oKSBhbmQgTG9nb3V0KCkgbWV0aG9kcwoJCQkJCQlAc2Vzc2lvbl9zdGFydCgpOwoJCQkJCQkkc2Vzc2lvbmlkID0gc2Vzc2lvbl9pZCgpOwoJCQkJCQkKCQkJCQkJJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluCiAgICAgICAgICAgICAgICAgICAgKHNlc3Npb25pZCxsYXN0dXNlZCx1c2VyaWQpCiAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8pIjsKCQkJCQkJJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoJHNlc3Npb25pZCwgdGltZSgpLCAkdWlkKSApOwoJCQkJCQkKCQkJCQkJLy8gc2V0IHRoZSBjb29raWUgYWdhaW4KCQkJCQkJJGV4cGlyeXRpbWUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCd1c2VyX3Nlc3Npb25fZXhwaXJlcycpOwoJCQkJCQlAc2V0Y29va2llKCdmZXVfc2Vzc2lvbmlkJywkc2Vzc2lvbmlkLHRpbWUoKSskZXhwaXJ5dGltZSwkY29uZmlnWydyb290X3BhdGgnXSk7CgkJCQkJCUBzZXRjb29raWUoJ2ZldV91aWQnLCR1aWQsdGltZSgpKyRleHBpcnl0aW1lLCRjb25maWdbJ3Jvb3RfcGF0aCddKTsKCQkJCQkJCgkJCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2ZldV9sb2dnaW5pZCddID0gJHVpZDsKCQkJCQkJcmV0dXJuICR1aWQ7CgkJCQkJfQoJCQkJZWxzZQoJCQkJCXsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJfQoJCXJldHVybiBmYWxzZTsKICB9CgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBMb2dnZWRJbigpIAogIHsKICAgIGlmKCAhJHRoaXMtPkxvZ2dlZEluSWQoKSApIAoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7IAoJCQl9CiAgICBlbHNlCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CiAgfQoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gTWVtYmVyT2ZHcm91cCgkdXNlcmlkLCRncm91cGlkKSAKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyBXSEVSRSB1c2VyaWQ9PyBBTkQgZ3JvdXBpZD0/IjsKICAgIAogICAgJHBhcmFtcz1hcnJheSgkdXNlcmlkLCRncm91cGlkKTsKICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLCRwYXJhbXMpOwogICAgaWYgKCRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSkgCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9IAoJCWVsc2UgCgkJCXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQogIH0KICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gR2V0VXNlck5hbWUoJHVzZXJpZCkgCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIGlkPT8iOwogICAgCiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLGFycmF5KCR1c2VyaWQpKTsKICAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpKSB7CiAgICAgICRyb3c9JGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgICByZXR1cm4gJHJvd1sidXNlcm5hbWUiXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIGZ1bmN0aW9uIEdldFVzZXJJRCgkdXNlcm5hbWUpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyBXSEVSRSB1c2VybmFtZT0/IjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsYXJyYXkoJHVzZXJuYW1lKSk7CiAgICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSkgewogICAgICAkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgcmV0dXJuICRyb3dbImlkIl07CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICAvLyByZXR1cm5zIGFycmF5CiAgZnVuY3Rpb24gQWRkR3JvdXAoICRuYW1lLCAkZGVzY3JpcHRpb24gKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgLy8gc2VlIGlmIGl0IGV4aXN0cyBhbHJlYWR5IG9yIG5vdCAoYnkgbmFtZSkKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCiAgICAgICJtb2R1bGVfZmV1c2Vyc19ncm91cHMgV0hFUkUgZ3JvdXBuYW1lID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJG5hbWUgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIGlmKCAkcm93ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCR0aGlzLT5MYW5nKCdlcnJvcl9ncm91cG5hbWVfZXhpc3RzJykpOwogICAgICB9CiAgICAKICAgICRncnBpZCA9IAogICAgICAkZGItPkdlbklEKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3Vwc19zZXEiICk7CiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4KICAgICAgIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyBWQUxVRVMgKD8sPyw/KSI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGdycGlkLCAkbmFtZSwgJGRlc2NyaXB0aW9uICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFLCRncnBpZCk7CiAgfQoKCiAgLy8gdXNlcmlkIGFwaSBmdW5jdGlvbgogIC8vIHJldHVybnMgYXJyYXkKICBmdW5jdGlvbiBBZGRVc2VyKCAkbmFtZSwgJHBhc3N3b3JkLCAkZXhwaXJlcywgJGRvX21kNSA9IHRydWUgKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgLy8gc2VlIGlmIGl0IGV4aXN0cyBhbHJlYWR5IG9yIG5vdCAoYnkgbmFtZSkKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCiAgICAgICJtb2R1bGVfZmV1c2Vyc191c2VycyBXSEVSRSB1c2VybmFtZSA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRuYW1lICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICBpZiggJHJvdyApCiAgICAgIHsKCSRtb2R1bGUgPSYgJHRoaXMtPkdldE1vZHVsZSgpOwoJcmV0dXJuIGFycmF5KEZBTFNFLCRtb2R1bGUtPkxhbmcoJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cycpKTsKICAgICAgfQogICAgCiAgICAvLyBnZW5lcmF0ZSB0aGUgc2VxdWVuY2UKICAgICR1aWQgPSAKICAgICAgJGRiLT5HZW5JRCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2Vyc19zZXEiICk7CgoJCSRwd3R4dCA9ICRwYXNzd29yZDsKCQlpZiggJGRvX21kNSA9PSB0cnVlICkKCQkJewoJCQkJJHB3dHh0ID0gbWQ1KCRwYXNzd29yZCk7CgkJCX0KCiAgICAvLyBpbnNlcnQgdGhlIHJlY29yZAogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuCiAgICAgICJtb2R1bGVfZmV1c2Vyc191c2VycyBWQUxVRVMgKD8sPyw/LD8sPykiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQsICRuYW1lLCAkcHd0eHQsIAoJCQkJCSB0cmltKCRkYi0+RGJUaW1lU3RhbXAodGltZSgpKSwiJyIpLAoJCQkJCSB0cmltKCRkYi0+RGJUaW1lU3RhbXAoJGV4cGlyZXMpLCInIikgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUsJHVpZCk7CiAgfQogIAogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRHcm91cE5hbWUoJGdyb3VwaWQpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxPSJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgV0hFUkUgaWQ9PyI7CiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxLGFycmF5KCRncm91cGlkKSk7CiAgICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSkgewogICAgICAkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgICAgcmV0dXJuICRyb3dbImdyb3VwbmFtZSJdOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICAKICAKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gR2V0R3JvdXBEZXNjKCRncm91cGlkKSB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzIFdIRVJFIGlkPT8iOwogICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSxhcnJheSgkZ3JvdXBpZCkpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkpIHsKICAgICAgJHJvdz0kZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgIHJldHVybiAkcm93WyJncm91cGRlc2MiXTsKICAgIH0gCWVsc2UgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIAoKICAvLyB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgLy8gcmV0dXJucyBhbiBhcnJheQogIGZ1bmN0aW9uIERlbGV0ZUdyb3VwRnVsbCggJGlkICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0REIoKTsKICAgICRyZXN1bHQgPSBhcnJheSgpOwoKICAgIC8vIGRlbGV0ZSBhbGwgcHJvcGVydHkgcmVsYXRpb25zIGZyb20gdGhpcyBncm91cAogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcCBXSEVSRSBncm91cF9pZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheSggRkFMU0UsICRkYi0+RXJyb3JNc2coKSApOwogICAgICB9CgogICAgLy8gZGVsZXRlIGFsbCBpbmRpY2F0aW9uIHRoYXQgYW55Ym9keSBpcyBhIG1lbWJlcgogICAgLy8gb2YgdGhpcyBncm91cAogICAgJHEgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgV0hFUkUgZ3JvdXBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheSggRkFMU0UsICRkYi0+RXJyb3JNc2coKSApOwogICAgICB9CiAgICAKICAgIC8vIGFuZCB0aGVuIGRlbGV0ZSB0aGUgZ3JvdXAKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMgV0hFUkUgaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkaWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoIEZBTFNFLCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgfQogICAgCiAgICByZXR1cm4gYXJyYXkoIFRSVUUsICcnICk7CiAgfQogIAogIAogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRHcm91cExpc3QoKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIAogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAkcSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHMiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSApOwogICAgaWYoICRkYnJlc3VsdCApIHsKICAgIHdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKICAgICAgewoJCSAgJHJlc3VsdFskcm93Wydncm91cG5hbWUnXV0gPSAkcm93WydpZCddOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CiAgCgogIC8vIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRHcm91cExpc3RGdWxsKCkKICB7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkgIAogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5ICk7CiAgICBpZiggJGRicmVzdWx0ICkgewogICAgICB3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCiAgICAgICAgewoJCQlhcnJheV9wdXNoKCRyZXN1bHQsJHJvdyk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKCiAgLy8gb2xkIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRHcm91cElEKCRncm91cG5hbWUpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiAgICAkcT0iU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzIFdIRVJFIGdyb3VwbmFtZT0/IjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEsYXJyYXkoJGdyb3VwbmFtZSkpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkpIAogICAgICB7CgkJCQkkcm93PSRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQkJCXJldHVybiAkcm93WyJpZCJdOwogICAgICB9IAogICAgZWxzZSAKICAgICAgewoJCQkJcmV0dXJuIGZhbHNlOwogICAgICB9CiAgfQoKCiAgLy8gb2xkIHVzZXJpZCBhcGkgZnVuY3Rpb24KICBmdW5jdGlvbiBHZXRNZW1iZXJHcm91cHMoJHVzZXJpZCkgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHE9IlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2JlbG9uZ3MgV0hFUkUgdXNlcmlkPT8iOwogICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkcSxhcnJheSgkdXNlcmlkKSk7CiAgICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSkgewogICAgICAkcmVzdWx0PSIiOwogICAgICB3aGlsZSAoJHJvdz0kZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCWlmICgkcmVzdWx0IT0iIikgewoJICAkcmVzdWx0Lj0iLCIuJHRoaXMtPkdldEdyb3VwTmFtZSgkcm93WyJncm91cGlkIl0pOwoJfSBlbHNlIHsKCSAgJHJlc3VsdD0kdGhpcy0+R2V0R3JvdXBOYW1lKCRyb3dbImdyb3VwaWQiXSk7Cgl9CiAgICAgIH0KICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gIm5vbmUiOwogICAgfQogIH0KCgogIC8vIG9sZCB1c2VyaWQgYXBpIGZ1bmN0aW9uCiAgZnVuY3Rpb24gRGVsZXRlVXNlcigkaWQpIAogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgIGlmIChpc3NldCgkX0dFVFskaWQuInVzZXJpZCJdKSkgCiAgICAgICR1c2VyaWQ9c3RyX3JlcGxhY2UoIiciLCdfJywkX0dFVFskaWQuInVzZXJpZCJdKTsgCiAgICBlbHNlIAogICAgICByZXR1cm47CiAgICAkcT0iREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3VzZXJzIFdIRVJFIGlkPSckdXNlcmlkJyI7CiAgICAkZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxKTsKICAgICRxPSJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyBXSEVSRSB1c2VyaWQ9JyR1c2VyaWQnIjsKICAgICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHEpOwogIH0KCn0gLy8gY2xhc3MKCiRtYW5pcHVsYXRvciA9ICdGcm9udEVuZFVzZXJzTWFuaXB1bGF0b3InOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/FrontEndUsers.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8gYSB2ZXJ5IGltcG9ydGFudCBsaW5lIHRoYXQgaW5jbHVkZXMgYWxsIG9mIG91ciBhcGkgZnVuY3Rpb25zCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL1JhbmRvbS5waHAiICk7CnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2Z1bmN0aW9ucy5waHAiICk7CnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2NsYXNzLmZldV9zbWFydHkucGhwIiApOwoKY2xhc3MgRnJvbnRFbmRVc2VycyBleHRlbmRzIENNU01vZHVsZSAKewogIHZhciAkZGV2ZGVidWcgPSAwOwoKICAvKioKICAgKiBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciB0aGUgbG9naW4gZm9ybQogICAqLwogIHZhciAkZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMiA9ICcKPCEtLSBmb3Jnb3QgcGFzc3dvcmQgZW1haWwgdGVtcGxhdGUgLS0+CjxwPnskbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsfTwvcD4KPHA+eyRwcm9tcHRfY29kZX0mbmJzcDt7JGRhdGFfY29kZX08L3A+CjxwPnskcHJvbXB0X2xpbmt9Jm5ic3A7eyRkYXRhX2xpbmt9PHA+CjwhLS0gZm9yZ290IHBhc3N3b3JkIGVtYWlsIHRlbXBsYXRlIC0tPgogICc7CgoKICB2YXIgJGRmbHRfbG9nb3V0Zm9ybXRlbXBsYXRlID0gJwo8IS0tIExvZ291dCBmb3JtIHRlbXBsYXRlIC0tPgogeyRzdGFydGZvcm19CiAgPHA+eyRwcm9tcHRfbG9nZ2VkaW59Jm5ic3A7eyR1c2VybmFtZX08L3A+IAogIDxwPjxhIGhyZWY9InskdXJsX2xvZ291dH0iIHRpdGxlPSJ7JG1vZC0+TGFuZyhcJ2luZm9fbG9nb3V0XCcpfSI+eyRtb2QtPkxhbmcoXCdsb2dvdXRcJyl9PC9hPjwvcD4KICA8cD48YSBocmVmPSJ7JHVybF9jaGFuZ2VzZXR0aW5nc30iIHRpdGxlPSJ7JG1vZC0+TGFuZyhcJ2luZm9fY2hhbmdlc2V0dGluZ3NcJyl9Ij57JG1vZC0+TGFuZyhcJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc1wnKX08L2E+PC9wPgogeyRlbmRmb3JtfQo8IS0tIExvZ291dCBmb3JtIHRlbXBsYXRlIC0tPgogJzsKCgogIC8vSG93IG1hbnkgc2Vjb25kcyBvZiBpbmFjdGl2aXR5IGJlZm9yZSBhIHVzZXIgaXMgYXV0b21hdGljYWxseSBsb2dnZWQgb3V0LgogIHZhciAkZXhwaXJ5dGltZTsKICAKICAvL1NldCB0aGlzIHRvIHRydWUgaWYgdXNlciBzaG91bGQgYmUgcmVkaXJlY3RlZCB0byBkZWZhdWx0IHBhZ2UgYWZ0ZXIgCiAgLy8gbG9nZ2luZyBpbi9vdXQuCiAgdmFyICRsb2dpbnRhcmdldDsKICB2YXIgJG90aGVyaW50YXJnZXQ7CiAgdmFyICRsb2dvdXR0YXJnZXQ7CiAgdmFyICRvdGhlcm91dHRhcmdldDsgIAogIHZhciAkYWxsb3d1c2VyYWRtaW47CiAgdmFyICRlbmFibGVlbWFpbHB3OwogIHZhciAkbGFuZz0iIjsKICB2YXIgJHVzZXJtYW5pcCA9IGZhbHNlOwogIHZhciAkdHlwZXMgPSBmYWxzZTsKCiAgLy8gY29uc3RydWN0b3IKICBmdW5jdGlvbiBGcm9udEVuZFVzZXJzKCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICBwYXJlbnQ6OkNNU01vZHVsZSgpOwogICAgJHRoaXMtPnR5cGVzID0gYXJyYXkoICd0ZXh0JyA9PiAwLAoJCQkgICdjaGVja2JveCcgPT4gMSwKCQkJICAnZW1haWwnID0+IDIsCgkJCSAgJ3RleHRhcmVhJyA9PiAzLAoJCQkgICdkcm9wZG93bicgPT4gNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlzZWxlY3QnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltYWdlJyA9PiA2KTsKICAgIAogICAgJG9iaiA9IG5ldyBmZXVfc21hcnR5KCR0aGlzKTsKICAgICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwogICAgJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignZmV1X3NtYXJ0eScsJG9iaik7CiAgfQoKICBmdW5jdGlvbiBfbG9hZCgpCiAgewogICAgaWYoICR0aGlzLT51c2VybWFuaXAgPT0gTlVMTCApCiAgICB7CiAgICAgIC8vIGNoZWNrIGEgcHJlZmVyZW5jZSB0byBzZWUgd2hpY2ggdXNlciBtYW5pcHVsYXRvciBjbGFzcwogICAgICAvLyB3ZSBzaG91bGQgdXNlLiAgCiAgICAgICR1c2VybWFuaXAgPSAnRnJvbnRFbmRVc2Vycy5hcGkucGhwJzsKICAgICAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwkdXNlcm1hbmlwKTsKICAgICAgaWYoICFpc19yZWFkYWJsZSggJGZuICkgKSAKICAgICAgICBkaWUoIkNvdWxkIG5vdCByZWFkIHVzZXJtYW5pcHVsYXRvciBjbGFzcyBmaWxlOiAkZm4iKTsKICAgICAgcmVxdWlyZV9vbmNlKCRmbik7CiAgICAgIGlmKCAhaXNzZXQoICRtYW5pcHVsYXRvciApICkKICAgICAgICBkaWUoJ0NvdWxkIG5vdCBkZXRlcm1pbmUgbWFuaXB1bGF0b3IgY2xhc3MgbmFtZScpOwogICAgICAkdGhpcy0+dXNlcm1hbmlwID0gbmV3ICRtYW5pcHVsYXRvciggJHRoaXMgKTsKICAgICAgaWYoICFpc19vYmplY3QoICR0aGlzLT51c2VybWFuaXAgKSApCiAgICAgICAgZGllKCJFcnJvciBpbnN0YW50aWF0aW9uZyAkbWFuaXB1bGF0b3Igb2JqZWN0Iik7CiAgICB9CiAgfQoKCiAgZnVuY3Rpb24gR2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoICRsZW4gPSAxMCApCiAgewogICAgJG8xID0gbmV3IFJhbmRvbSgiMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFVWV1hZWiIpOwogICAgcmV0dXJuICRvMS0+Z2V0KCRsZW4pOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKSAJCiAgewogICAgcmV0dXJuICdGcm9udEVuZFVzZXJzJzsKICB9CgogCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCQogIHsKICAgIHJldHVybiAnMS41LjQnOwogIH0KCiAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBsYW5naWZ5S2V5cygpCiAKICAgR2l2ZW4gYW4gYXNzb2NpYXRpdmUgYXJyYXksIHJlcGxhY2UgdGhlIHZhbHVlcyB3aXRoCiAgIHRyYW5zbGF0ZWQgb25lcy4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBsYW5naWZ5S2V5cyggJGFyciApCiAgewogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkYXJyIGFzICRrPT4kdiApCiAgICB7CiAgICAgICRrID0gJHRoaXMtPkxhbmcoJGspOwogICAgICAkb3V0WyAkayBdID0gJHY7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJc1BsdWdpbk1vZHVsZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS40LjEiOwogIH0KICAKIAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uICgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nICgnbW9kZGVzY3JpcHRpb24nKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbiAoKQogIHsKICAgIHJldHVybiAndXNlcnNncm91cHMnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERlcGVuZGVuY2llcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoICdDTVNNYWlsZXInID0+ICcxLjczLjMnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDb250ZW50UHJlUmVuZGVyKCYkY29udGVudCkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZldXNlcnNfbG9nZ2VkaW4nLCgkdGhpcy0+TG9nZ2VkSW5JZCgpID4gMCkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVzZXJzX2xvZ2dpbm5hbWUnLCR0aGlzLT5Mb2dnZWRJbk5hbWUoKSk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRQYXJhbWV0ZXJzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgIAogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Zvcm0nLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmV0dXJudG8nLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnb25seV9ncm91cHMnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9jYXB0Y2hhJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X3VzZXJuYW1lJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X3Bhc3N3b3JkJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X3JlcGVhdHBhc3N3b3JkJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Vycm9yJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21lc3NhZ2UnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbG9zdHVuX2dyb3VwJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X2NhcHRjaGEnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VibWl0JyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhbmNlbCcsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9yZXR1cm50bycsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF91aWQnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfY29kZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdza2lwZm9ybWRpc3BsYXknLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndWlkJyxDTEVBTl9JTlQpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2lubGluZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vaW5saW5lJywnJywkdGhpcy0+TGFuZygnaGVscF9ub2lubGluZScpKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9mZXVfLiovJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW2ZGXWV1XC92ZXJpZnlcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8dWlkPlswLTldKylcLyg/UDxjb2RlPi4qPykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J3ZlcmlmeWNvZGUnKSk7CgkvL251bm8tZGV2LVByZXR0eSBVcmwncwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bZkZdZXVcL2VkaXRcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidjaGFuZ2VzZXR0aW5ncycpKTsKCQoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bZkZdZXVcL2xvZ291dFwvKD9QPHJldHVybmlkPlswLTldKykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2xvZ291dCcpKTsKCQoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bZkZdZXVcL2ZvcmdvdFwvKD9QPHJldHVybmlkPlswLTldKykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2ZvcmdvdHB3JykpOwoJCgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tmRl1ldVwvbG9zdHVzZXJuYW1lXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywKCQkJYXJyYXkoJ2FjdGlvbic9Pidsb3N0dXNlcm5hbWUnKSk7CgoJLy9lbmQKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfRXhwb3J0TG9nZ2VkSW5Vc2VyVmFyaWFibGVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfRXhwb3J0TG9nZ2VkSW5Vc2VyVmFyaWFibGVzKCRpZCwmJHBhcmFtcywkcmV0dXJuaWQpIAogIHsKICAgIC8vIHJlcGxhY2UgeyR1c2VybmFtZX0gd2l0aCB0aGUgdXNlciBuYW1lCiAgICAkdWlkID0gJHRoaXMtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCAhJHVpZCApIHJldHVybjsKICAgICR1c2VybmFtZSA9ICR0aGlzLT5Mb2dnZWRJbk5hbWUoKTsKCiAgICAvLyByZXBsYWNlIHskZ3JvdXBuYW1lfSB3aXRoIHRoZSBmaXJzdCBncm91cG5hbWUgd2UgY2FuIGZpbmQgdGhhdCBtYXRjaGVzCiAgICAkZ3JvdXBzID0gJHRoaXMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCAkdWlkICk7CiAgICAkZ3JvdXBuYW1lID0gJHRoaXMtPkdldEdyb3VwTmFtZSggJGdyb3Vwc1swXVsnZ3JvdXBpZCddICk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyaWQnLCAkdWlkKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCAkdXNlcm5hbWUgKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19sb2dvdXQnLAoJCQkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwibG9nb3V0IiwkcmV0dXJuaWQsCgkJCQkJICAgICR0aGlzLT5MYW5nKCdsb2dvdXQnKSkpOwogIC8vbnVuby1kZXYtUHJldHR5IFVybCdzCgkgJHByZXR0eXVybF9sb2dvdXQgPSAnZmV1L2xvZ291dC8nLiRyZXR1cm5pZDsKCSAkbG9nb3V0X2ZldSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2xvZ291dCcsICRyZXR1cm5pZCwgICcnLAoJCQkJICAgIGFycmF5KCksICcnLCB0cnVlLCBmYWxzZSwgJycsIGZhbHNlLCAkcHJldHR5dXJsX2xvZ291dCk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsX2xvZ291dCcsICRsb2dvdXRfZmV1KTsKCS8vZW5kCgogICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX2NoYW5nZXNldHRpbmdzJyk7CiAgICBpZiggJHBhZ2UgKQogICAgewogICAgICAkcGFnZWlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKICAgICAgaWYoICRwYWdlaWQgPT0gZmFsc2UgKQogICAgICB7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsaW5rX2NoYW5nZXNldHRpbmdzJywnPCEtLSBFcnJvciBjb3VsZCBub3QgZGV0ZXJtaW5lIHBhZ2UgZnJvbSBhbGlhcy9pZCAtLT4nKTsKICAgICAgfQogICAgICBlbHNlIAogICAgICB7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsaW5rX2NoYW5nZXNldHRpbmdzJywKCQkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcGFnZWlkLAoJCQkJCQkkdGhpcy0+TGFuZygncHJvbXB0X2NoYW5nZXNldHRpbmdzJyksCgkJCQkJCWFycmF5KCdmb3JtJz0+J2NoYW5nZXNldHRpbmdzJykpKTsKCS8vbnVuby1kZXYtUHJldHR5IFVybCdzCgkkcHJldHR5dXJsX2NoYW5nZXNldHRpbmdzID0gJ2ZldS9lZGl0LycuJHBhZ2VpZDsKCSRjaGFuZ2VzZXR0aW5nc19mZXUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHBhZ2VpZCwgICcnLAoJCQkJICAgIGFycmF5KCdmb3JtJz0+J2NoYW5nZXNldHRpbmdzJyksICcnLCAKCQkJCQl0cnVlLCBmYWxzZSwgJycsIGZhbHNlLCAkcHJldHR5dXJsX2NoYW5nZXNldHRpbmdzKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmxfY2hhbmdlc2V0dGluZ3MnLCRjaGFuZ2VzZXR0aW5nc19mZXUpOwoJLy9lbmQgCiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19jaGFuZ2VzZXR0aW5ncycsCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfY2hhbmdlc2V0dGluZ3MnKSwKCQkJCQkgICAgYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSkpOwogICAgICAvL251bm8tZGV2LVByZXR0eSBVcmwncwoJJHByZXR0eXVybF9jaGFuZ2VzZXR0aW5ncyA9ICdmZXUvZWRpdC8nLiRyZXR1cm5pZDsKCSRjaGFuZ2VzZXR0aW5nc19mZXUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAgJycsCgkJCQkgICAgYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSwgJycsIAoJCQkJCXRydWUsIGZhbHNlLCAnJywgZmFsc2UsICRwcmV0dHl1cmxfY2hhbmdlc2V0dGluZ3MpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VybF9jaGFuZ2VzZXR0aW5ncycsJGNoYW5nZXNldHRpbmdzX2ZldSk7CgkvL2VuZAogICAgfQogICAgJHByb3BzID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0aWVzKCAkdGhpcy0+TG9nZ2VkSW5JZCgpICk7CiAgICBmb3JlYWNoKCAkcHJvcHMgYXMgJHAgKQogICAgewogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJHBbJ3RpdGxlJ10sJHBbJ2RhdGEnXSk7CiAgICB9CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnREZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRFdmVudEhlbHAoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEV2ZW50SGVscCAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluICgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiBmdW5jdGlvbiBHZXRQYWdlSWQoJGFsaWFzKSB7CQkKICAgIGlmICgkYWxpYXM9PSIiKSByZXR1cm4gZmFsc2U7CiAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAkcXVlcnkgPSAiU0VMRUNUIGNvbnRlbnRfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSBjb250ZW50X2FsaWFzID0gJyIuc3RyX3JlcGxhY2UoIiciLCdfJywkYWxpYXMpLiInIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQl7CiAgICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgIHJldHVybiAkcm93Wydjb250ZW50X2lkJ107CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiBmdW5jdGlvbiBfSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAkcGVybSA9ICcnICkKIHsKICAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJywnMCcpID09ICcxJykKICAgICB7CiAgICAgICAkcDEgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIEFkZCBVc2VycycgKTsKICAgICAgICRwMiA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdGRVUgTW9kaWZ5IFVzZXJzJyApOwogICAgICAgJHAzID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0ZFVSBSZW1vdmUgVXNlcnMnICk7CiAgICAgICAkcDQgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIEFkZCBHcm91cHMnICk7CiAgICAgICAkcDUgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIE1vZGlmeSBHcm91cHMnICk7CiAgICAgICAkcDYgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIE1vZGlmeSBHcm91cCBBc3NpZ25tZW50cycgKTsKICAgICAgICRwNyA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdGRVUgUmVtb3ZlIEdyb3VwcycgKTsKICAgICAgICRwOCA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdGRVUgTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnICk7CiAgICAgICAkcDkgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIE1vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycgKTsKICAgICAgICRwMTAgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnRkVVIE1vZGlmeSBUZW1wbGF0ZXMnICk7CiAgICAgfQogICBlbHNlCiAgICAgewogICAgICAgJHAxID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0FkZCBVc2VycycgKTsKICAgICAgICRwMiA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVXNlcnMnICk7CiAgICAgICAkcDMgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnUmVtb3ZlIFVzZXJzJyApOwogICAgICAgJHA0ID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ0FkZCBHcm91cHMnICk7CiAgICAgICAkcDUgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IEdyb3VwcycgKTsKICAgICAgICRwNiA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgR3JvdXAgQXNzaWdubWVudHMnICk7CiAgICAgICAkcDcgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnUmVtb3ZlIEdyb3VwcycgKTsKICAgICAgICRwOCA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycgKTsKICAgICAgICRwOSA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnICk7CiAgICAgICAkcDEwID0gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICk7CiAgICAgfQogICAKICAgJHJldCA9IDA7CiAgIHN3aXRjaCggJHBlcm0gKQogICAgIHsKICAgICBjYXNlICcnOiAgLy8gYW55IHBlcm1pc3Npb24KICAgICAgICRyZXQgPSAoJHAxIHx8ICRwMiB8fCAkcDMgfHwgJHA0IHx8ICRwNSB8fCAkcDYgfHwgJHA3IHx8ICRwOCB8fCAkcDkgfHwgJHAxMCApOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdhZGRncm91cCc6CiAgICAgICAkcmV0ID0gKCRwNCk7CiAgICAgICBicmVhazsKICAgICAgIAogICAgIGNhc2UgJ2FkZHVzZXInOgogICAgICAgJHJldCA9ICgkcDEpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdhZGRwcm9wJzoKICAgICBjYXNlICdhZGRwcm9wMic6CiAgICAgY2FzZSAnZWRpdHByb3AnOgogICAgIGNhc2UgJ2RlbGV0ZXByb3AnOgogICAgIGNhc2UgJ3Byb3BlcnRpZXMnOgogICAgICAgJHJldCA9ICgkcDkpOwogICAgICAgYnJlYWs7CiAgICAgCiAgICAgY2FzZSAnbGlzdHVzZXJzJzoKICAgICAgICRyZXQgPSAoJHAyIHx8ICRwMyk7CiAgICAgICBicmVhazsKICAgICAgIAogICAgIGNhc2UgJ2xpc3Rncm91cHMnOgogICAgICAgJHJldCA9ICgkcDUgfHwgJHA2KTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgY2FzZSAnZWRpdGdyb3Vwcyc6CiAgICAgICAkcmV0ID0gKCRwNSB8fCAkcDYpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdlZGl0dXNlcnMnOgogICAgICAgJHJldCA9ICgkcDIpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdyZW1vdmVncm91cHMnOgogICAgICAgJHJldCA9ICgkcDcpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICdyZW1vdmV1c2Vycyc6CiAgICAgICAkcmV0ID0gKCRwMyk7CiAgICAgICBicmVhazsKCiAgICAgY2FzZSAnZWRpdHByZWZzJzoKICAgICBjYXNlICdzaXRlcHJlZnMnOgogICAgICAgJHJldCA9ICgkcDgpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICd1c2Vyc25ncm91cHMnOgogICAgICAgJHJldCA9ICgkcDEgfHwgJHAyIHx8ICRwMyB8fCAkcDQgfHwgJHA1IHx8ICRwNiB8fCAkcDcpOwogICAgICAgYnJlYWs7CiAgICAgICAKICAgICBjYXNlICd0ZW1wbGF0ZXMnOgogICAgICAgJHJldCA9ICgkcDEwKTsKICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICRyZXQgPSAwOwogICAgICAgYnJlYWs7CiAgICAgfQoKICAgcmV0dXJuICRyZXQ7CiB9CgoKICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsbWVzc2FnZScpOwogIH0KCgogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJywnMCcpID09ICcxJykKICAgICAgewoJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBNb2RpZnkgVGVtcGxhdGVzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRkVVIEFkZCBHcm91cHMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IEdyb3VwcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBSZW1vdmUgR3JvdXBzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRkVVIEFkZCBVc2VycycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0ZFVSBNb2RpZnkgVXNlcnMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdGRVUgUmVtb3ZlIFVzZXJzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignRkVVIE1vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZGQgR3JvdXBzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IEdyb3VwcycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1JlbW92ZSBHcm91cHMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZGQgVXNlcnMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVXNlcnMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdSZW1vdmUgVXNlcnMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnKTsKICAgICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKCiAgIFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBhIHNpbXBsZSBtZXRob2QgdG8gZGlzcGxheQogICBlcnJvciBpbmZvcm1hdGlvbiBvbiB0aGUgYWRtaW4gc2lkZS4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlPScnKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CiAgICBpZiAoJG1lc3NhZ2UgIT0gJycpCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRtZXNzYWdlKTsKICAgICAgfQogICAgICAKICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICB9CgoKICBmdW5jdGlvbiBfRG9TZXRDaGFuZ2VTZXR0aW5nc1RlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdHMnXSApICkKICAgICAgewoJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19jaGFuZ2VzZXR0aW5ncy50cGwnOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2NoYW5nZXNldHRpbmdzZm9ybScsIGZpbGVfZ2V0X2NvbnRlbnRzKCRmbikgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfY2hhbmdlc2V0dGluZ3Nmb3JtJywgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10pOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJyApOwogIH0KCgogIGZ1bmN0aW9uIF9Eb1NldEZvcmdvdFBXVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0cyddICkgKQogICAgICB7CgkKCSRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfZm9yZ290cGFzc3dvcmQxLnRwbCc7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRmb3JtJywgZmlsZV9nZXRfY29udGVudHMoJGZuKSApOwoKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGVtYWlsZm9ybScsICR0aGlzLT5kZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUyKTsKCgkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2ZvcmdvdHBhc3N3b3JkMy50cGwnOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkdmVyaWZ5Zm9ybScsZmlsZV9nZXRfY29udGVudHMoJGZuKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZm9ybScsICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudDEnXSk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmRlbWFpbGZvcm0nLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQyJ10pOzsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZHZlcmlmeWZvcm0nLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQzJ10pOzsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZScgKTsKICB9CgoKICBmdW5jdGlvbiBfRG9TZXRMb2dpblRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdHMnXSApICkKICAgICAgewoJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19sb2dpbmZvcm0udHBsJzsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb2dpbmZvcm0nLCBmaWxlX2dldF9jb250ZW50cygkZm4pICk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvZ2luZm9ybScsICRwYXJhbXNbJ3RlbXBsYXRlbG9naW5mb3JtJ10pOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ2xvZ2ludGVtcGxhdGUnICk7CiAgfQoKICAKICBmdW5jdGlvbiBfRG9TZXRMb2dvdXRUZW1wbGF0ZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlZmF1bHRzJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19sb2dvdXRmb3JtJywgJHRoaXMtPmRmbHRfbG9nb3V0Zm9ybXRlbXBsYXRlKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9nb3V0Zm9ybScsICRwYXJhbXNbJ3RlbXBsYXRlbG9nb3V0Zm9ybSddKTsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsICdsb2dvdXR0ZW1wbGF0ZScsICRwYXJhbXMpOwogIH0KICAKCiAgZnVuY3Rpb24gX0RvVXNlckFjdGlvbiggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ2Zvcm0nXSkpCiAgICAgIHsKCS8vIERvIGFuIGF0dGVtcHQgdG8gbG9naW4gdmlhIGNvb2tpZQoJJHRoaXMtPl9BdHRlbXB0TG9naW5XaXRoQ29va2llKCk7CglpZiggISR0aGlzLT5Mb2dnZWRJbigpICkgCgkgIHsKCSAgICAkcGFyYW1zWydmb3JtJ10gPSAnbG9naW4nOwoJICB9CgllbHNlIAoJICB7CgkgICAgJHBhcmFtc1snZm9ybSddID0gJ2xvZ291dCc7CgkgIH0KICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZm9ybSddICkgKQogICAgICB7Cglzd2l0Y2goICRwYXJhbXNbJ2Zvcm0nXSApIAoJICB7CgkgIGNhc2UgJ2xvZ2luJzoKCSAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24udXNlcl9sb2dpbmZvcm0ucGhwJyk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2xvZ291dCc6CgkgICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfbG9nb3V0Zm9ybS5waHAnKTsKCSAgICBicmVhazsKCSAgY2FzZSAnbG9zdHVzZXJuYW1lJzoKCSAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uZGVmYXVsdF9sb3N0dXNlcm5hbWVmb3JtLnBocCcpOwoJICAgIGJyZWFrOwoJICBjYXNlICdmb3Jnb3Rwdyc6CgkgICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnVzZXJfZm9yZ290cGFzc3dvcmQucGhwJyk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2NoYW5nZXNldHRpbmdzJzoKCSAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24udXNlcl9jaGFuZ2VzZXR0aW5ncy5waHAnKTsKCSAgICBicmVhazsKCSAgY2FzZSAnc2lsZW50JzoKCSAgICAkdGhpcy0+X0V4cG9ydExvZ2dlZEluVXNlclZhcmlhYmxlcyggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICBicmVhazsKCSAgfQoJcmV0dXJuOwogICAgICB9CgogIH0KCgogIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3IgZWRpdCwgYW5kIGFkZCB1c2VyCiAgZnVuY3Rpb24gX0Rpc3BsYXlBZG1pbkFkZFVzZXJTdGVwMlBhZ2UoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZ2xvYmFsICRnQ21zOwoKICAgICR0bXAgPSAkdGhpcy0+X3Nlc3Npb25fdG9fcGFyYW1zKCk7CiAgICBpZiggJHRtcCAhPT0gZmFsc2UgKQogICAgICB7CgkkcGFyYW1zID0gYXJyYXlfbWVyZ2UoJHBhcmFtcywkdG1wKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkcGFyYW1zWydtZXNzYWdlJ10gKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogICAgICB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSApOwogICAgICB9CgogICAgLy8gY2FsY3VsYXRlIHRoZSB1bmlvbiAoeWVwLCB1bmlvbiwgbm90IGludGVyc2VjdGlvbikKICAgIC8vIG9mIGFsbCBvZiB0aGUgcHJvcGVydGllcyBvZiBhbGwgb2YgdGhlIG1lbWJlciBncm91cHMKICAgIC8vIHByZWZlcnJpbmcgYWxsIGl0ZW1zIHdpdGggYSBwcmlvcml0eSBvZiAyCiAgICAkcHJvcGVydGllcyA9IGFycmF5KCk7CiAgICAkZ3JvdXBzID0gMDsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKICAgIHsKICAgICAgaWYoIHByZWdfbWF0Y2goICcvXm1lbWJlcm9mXy8nLCAka2V5ICkgKQoJewoJICAkZ3JvdXBzKys7CgkgIC8vIGdldCB0aGUgZ3JvdXBpZCBmcm9tIHRoZSBjaGVja2JveAoJICAkZ3JwaWQgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ21lbWJlcm9mXycpKTsKCSAgCgkgIC8vIGhhdmUgdGhlIGdyb3VwIGlkLCBub3cgZ2V0IGEgbGlzdCBvZiB0aGUgcHJvcGVydGllcwoJICAkcHJvcHJlbGF0aW9ucyA9ICR0aGlzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKTsKCSAgJHByb3BlcnRpZXMgPSBSUlV0aWxzOjphcnJheV9tZXJnZV9ieV9uYW1lX3JlcXVpcmVkKCAkcHJvcGVydGllcywgJHByb3ByZWxhdGlvbnMgKTsKCSAgdWFzb3J0KCAkcHJvcGVydGllcywgCgkJICBhcnJheSgnUlJVdGlscycsJ2NvbXBhcmVfZWxlbWVudHNfYnlfc29ydG9yZGVyX2tleScpICk7Cgl9CiAgICB9CSAgCiAgICBpZiggJGdyb3VwcyA9PSAwICkKICAgICAgewoJaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX29uZWdyb3VwJykgPT0gMSApCgkgIHsKCSAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCcpOwoJICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGR1c2VyJywgJHJldHVybmlkLCAkcGFyYW1zLCB0cnVlICk7CgkgICAgcmV0dXJuOwoJICB9CgoJaWYoIGlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCgkgIHsKCSAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZG9fZWRpdHVzZXIzJywgJHJldHVybmlkLCAkcGFyYW1zLCB0cnVlICk7CgkgIH0KCWVsc2UKCSAgewoJICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkb19hZGR1c2VyMycsICRyZXR1cm5pZCwgJHBhcmFtcywgdHJ1ZSApOwoJICB9CiAgICAgIH0KICAgIGlmKCBjb3VudCgkcHJvcGVydGllcykgPT0gMCApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb3BlcnRpZXMnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdhZGR1c2VyJywgJHJldHVybmlkLCAkcGFyYW1zLCB0cnVlICk7CglyZXR1cm47CiAgICAgfQoKICAgIC8vIG5vdyB3ZSdyZSByZWFkeSB0byBwb3B1bGF0ZSB0aGUgdGVtcGxhdGUKICAgICRyb3dhcnJheSA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkcHJvcGVydGllcyBhcyAkcHJvcCApCiAgICB7CiAgICAgIC8vIGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbgogICAgICAkZGVmbiA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm4oICRwcm9wWyduYW1lJ10gKTsKICAgICAgJHByb3B2YWwgPSAnJzsKICAgICAgaWYoIGlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCgl7CgkgICRwcm9wdmFsID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0eUZ1bGwoICRwcm9wWyduYW1lJ10sICRwYXJhbXNbJ3VzZXJfaWQnXSApOwoJfQoKICAgICAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwoKICAgICAgJGNvbG9yID0gJyc7CiAgICAgIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSAyICkgJGNvbG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVyaWVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwogICAgICBpZiggJHByb3BbJ3JlcXVpcmVkJ10gPT0gMyApICRjb2xvciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdoaWRkZW5fZmllbGRfY29sb3InLCdncmVlbicpOwogICAgICAkbWFya2VyID0gJyc7CiAgICAgIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSAyICkgJG1hcmtlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1cmllZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgICAgIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSAzICkgJG1hcmtlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdoaWRkZW5fZmllbGRfbWFya2VyJywnISEnKTsKICAgICAgJG9uZXJvdy0+cmVxdWlyZWQgPSAoJHByb3BbJ3JlcXVpcmVkJ10gPT0gMik7CiAgICAgICRvbmVyb3ctPmNvbG9yICAgID0gJGNvbG9yOwogICAgICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgICAgICRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl8nLiRwcm9wWyduYW1lJ10sCgkJCQkJICAgICBpbXBsb2RlKCI7IixhcnJheSgkcHJvcFsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAgICAgJGRlZm5bJ2xlbmd0aCddLCRwcm9wWydyZXF1aXJlZCddLAoJCQkJCQkJICAgICAgICRkZWZuWydtYXhsZW5ndGgnXSwkcHJvcHZhbCkpKTsKCiAgICAgICR2YWwgPSBpc3NldCgkcGFyYW1zWydpbnB1dF8nLiRwcm9wWyduYW1lJ11dKSA/ICRwYXJhbXNbJ2lucHV0XycuJHByb3BbJ25hbWUnXV0gOiAnJzsKICAgICAgJHZhbCA9IHVybGRlY29kZSgkdmFsKTsKICAgICAgJHNlbG9wdGlvbnMgPSAkdGhpcy0+R2V0U2VsZWN0T3B0aW9ucygkcHJvcFsnbmFtZSddKTsKICAgICAgJHNlbGVjdGVkID0gYXJyYXkoKTsKICAgICAgaWYoICRkZWZuWyd0eXBlJ10gPT0gNSApCgl7CgkgIC8vIGhhbmRsZSBjb21tYSBzZXBhcmF0ZWQgYXJyYXlzIG9mIHNlbGVjdGVkIHZhbHVlcwoJICAkc2VsZWN0ZWQgPSBleHBsb2RlKCcsJywkdmFsKTsKCX0KCiAgICAgICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAgICAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKCXsKCWNhc2UgMDogLy8gdGV4dAoJICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfJy4kcHJvcFsnbmFtZSddLAoJCQkJCQkgICAgICR2YWwsICRkZWZuWydsZW5ndGgnXSwgJGRlZm5bJ21heGxlbmd0aCddICk7CgkgIGJyZWFrOwoKCWNhc2UgMTogLy8gY2hlY2tib3gKCSAgJG9uZXJvdy0+Y29udHJvbCA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnaW5wdXRfJy4kcHJvcFsnbmFtZSddLCAxLCAkdmFsICk7CgkgIGJyZWFrOwoKCWNhc2UgMjogLy8gZW1haWwKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHByb3BbJ25hbWUnXSwKCQkJCQkJICAgICAkdmFsLCAkZGVmblsnbGVuZ3RoJ10sICRkZWZuWydtYXhsZW5ndGgnXSApOwoJICBicmVhazsKCgljYXNlIDM6IC8vIHRleHRhcmVhCgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHZhbCwgJ2lucHV0XycuJHByb3BbJ25hbWUnXSk7CgkgIGJyZWFrOwoKCWNhc2UgNDogLy8gZHJvcGRvd24KCSAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKAoJCQkJCQkJJGlkLCAKCQkJCQkJCSdpbnB1dF8nLiRwcm9wWyduYW1lJ10sIAoJCQkJCQkJJHNlbG9wdGlvbnMsCgkJCQkJCQktMSwgCgkJCQkJCQkkdmFsKTsKCSAgYnJlYWs7CgoJY2FzZSA1OiAvLyBtdWx0aXNlbGVjdAoJICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgKCQkJCQkJCSRpZCwgCgkJCQkJCQknaW5wdXRfJy4kcHJvcFsnbmFtZSddLidbXScsIAoJCQkJCQkJJHNlbG9wdGlvbnMsCgkJCQkJCQkkc2VsZWN0ZWQsCgkJCQkJCQkkZGVmblsnbGVuZ3RoJ10pOwoJICBicmVhazsKCgljYXNlIDY6IC8vIGltYWdlCgkgIHsKCSAgICBpZiggaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKCSAgICAgIHsKCQkkZGVzdERpcjEgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJCSRkZXN0RGlyMSAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJCSRkZXN0RGlyMiA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUjsKCQkkZGVzdERpcjIgLj0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCdmZXVzZXJzJykuRElSRUNUT1JZX1NFUEFSQVRPUjsKCQkkZmlsZTEgPSAkZGVzdERpcjEuJHZhbDsKCQkkZmlsZTIgPSAkZGVzdERpcjIuJHZhbDsKCQlpZiggaXNfcmVhZGFibGUoICRmaWxlMSApICYmIGlzX2ZpbGUoJGZpbGUxKSApCgkJICB7CgkJICAgICRvbmVyb3ctPmltYWdlID0gJzxpbWcgc3JjPSInLiRmaWxlMi4nIiBhbHQ9IicuJHZhbC4nIi8+JzsKCQkgICAgJG9uZXJvdy0+cHJvbXB0MiA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfY2xlYXInKTsKCQkgICAgJG9uZXJvdy0+Y29udHJvbDIgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2lucHV0XycuJHByb3BbJ25hbWUnXS4nX2NsZWFyJywnY2xlYXInLCcnKTsKCQkgIH0KCSAgICAgIH0KCSAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2lucHV0XycuJHByb3BbJ25hbWUnXSk7CgkgIH0KCSAgYnJlYWs7Cgl9CgogICAgICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7CiAgICB9CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlZGl0dGV4dCcsJHRoaXMtPkxhbmcoJ2VkaXRpbmdfdXNlcicpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLHRyaW0oJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSkpOwogICAgICB9CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsIAoJCQkgIFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ3N0ZXAxX3BhcmFtcycsICRwYXJhbXMgKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xzJywgJHJvd2FycmF5KTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY29udHJvbGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywKCQkJCQkJCSAgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkJICAgICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdiYWNrJywKCQkJCQkJCSAgICAkdGhpcy0+TGFuZygnYmFjaycpKSk7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4yJywgCgkJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3VzZXJfaWQnLCRwYXJhbXNbJ3VzZXJfaWQnXSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkJICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLAoJCQkJCQkJICAgICAgJ2RvX2VkaXR1c2VyMycsCgkJCQkJCQkgICAgICAkcmV0dXJuaWQsCgkJCQkJCQkgICAgICAncG9zdCcsCgkJCQkJCQkgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKICAgICAgfQogICAgZWxzZSAKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsCgkJCQkJCSAgICAgICdkb19hZGR1c2VyMycsCgkJCQkJCSAgICAgICRyZXR1cm5pZCwKCQkJCQkJICAgICAgJ3Bvc3QnLAoJCQkJCQkgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKICAgICAgfQogICAgCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoICdhZGR1c2VyMi50cGwnICk7CiAgfQoKCiAgZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblVzZXJQYWdlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKCiAgICAvLyBwb3B1bGF0ZSB0aGUgdGVtcGxhdGUKICAgICRoaWRkZW4gPSBhcnJheSgpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3JldHVybnRvJ10pICkKICAgICAgewoJJGhpZGRlblsncmV0dXJudG8nXSA9ICRwYXJhbXNbJ3JldHVybnRvJ107CiAgICAgIH0KICAgICRlZGl0aW5nID0gMDsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snYWN0aW9uJ10gKSAmJiAKCSgkcGFyYW1zWydhY3Rpb24nXSA9PSAnZWRpdHVzZXInfHwgJHBhcmFtc1snYWN0aW9uJ10gPT0gJ2RvX2VkaXR1c2VyMScgKSApCiAgICAgIHsKCSRlZGl0aW5nID0gMTsKCSRoaWRkZW5bJ3VzZXJfaWQnXSA9ICRwYXJhbXNbJ3VzZXJfaWQnXTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+TGFuZygnZWRpdHVzZXInKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsCgkJCQkJCQkgICAgICAnZG9fZWRpdHVzZXIxJywKCQkJCQkJCSAgICAgICRyZXR1cm5pZCkpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+TGFuZygnYWRkdXNlcicpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJCSAgICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwKCQkJCQkJCSAgICAgICdkb19hZGR1c2VyMScsCgkJCQkJCQkgICAgICAkcmV0dXJuaWQpKTsKICAgICAgfQoKICAgIGlmKCAhZW1wdHkoJGhpZGRlbikgKQogICAgICB7CgkkdHh0ID0gJyc7Cglmb3JlYWNoKCAkaGlkZGVuIGFzICRrZXkgPT4gJHZhbHVlICkKCSAgewoJICAgICR0eHQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwka2V5LCR2YWx1ZSk7CgkgIH0KCSR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywkdHh0KTsKICAgICAgfQoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydlcnJvciddKSApCiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCRwYXJhbXNbJ2Vycm9yJ10pOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkgKQogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgICAkdXNlcm5hbWUgPSAkdGhpcy0+R2VuZXJhdGVSYW5kb21Vc2VybmFtZSgpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pICkKICAgICAgewoJJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKICAgICAgfQogICAgJHBhc3N3b3JkID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSkgKQogICAgICAkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwogICAgJHJlcGVhdHBhc3N3b3JkID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSkgKQogICAgICAkcmVwZWF0cGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pOwogICAgJGV4cGlyZXMgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9leHBpcmVzJ10pICkKICAgICAgJGV4cGlyZXMgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2V4cGlyZXMnXSk7CiAgICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLAoJCQkJCQkJICAgICR0aGlzLT5MYW5nKCduZXh0JykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLAoJCQkJCQkJICAgICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwogICAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZV9pc19lbWFpbCcpKQogICAgICB7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Byb21wdF91c2VybmFtZScsCgkJCSAgICR0aGlzLT5MYW5nICgncHJvbXB0X2VtYWlsJykpOwogICAgICB9CiAgICAgZWxzZQogICAgICB7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Byb21wdF91c2VybmFtZScsCgkJCSAgICR0aGlzLT5MYW5nICgndXNlcm5hbWUnKSk7CiAgICAgIH0KICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X3VzZXJuYW1lJywKCQkJICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCAoJGlkLCAnaW5wdXRfdXNlcm5hbWUnLAoJCQkJCQkgICAkdXNlcm5hbWUsIAoJCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwgCgkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Byb21wdF9wYXNzd29yZCcsCgkJCSAgICR0aGlzLT5MYW5nICgncGFzc3dvcmQnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdpbnB1dF9wYXNzd29yZCcsCgkJCSAgICR0aGlzLT5DcmVhdGVJbnB1dFBhc3N3b3JkICgkaWQsICdpbnB1dF9wYXNzd29yZCcsCgkJCQkJCSAgICAgICAkcGFzc3dvcmQsIAoJCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3Byb21wdF9yZXBlYXRwYXNzd29yZCcsCgkJCSAgICR0aGlzLT5MYW5nICgncmVwZWF0cGFzc3dvcmQnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24gKCdpbnB1dF9yZXBlYXRwYXNzd29yZCcsCgkJCSAgICR0aGlzLT5DcmVhdGVJbnB1dFBhc3N3b3JkICgkaWQsICdpbnB1dF9yZXBlYXRwYXNzd29yZCcsCgkJCQkJCSAgICAgICAkcmVwZWF0cGFzc3dvcmQsCgkJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKSkpOwoKICAgIGlmKCAkZWRpdGluZyA9PSAxICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgnaW5mb19wYXNzd29yZCcsCgkJCSAgICAgICAkdGhpcy0+TGFuZyAoJ2luZm9fYWRtaW5fcGFzc3dvcmQnKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2luZm9fcmVwZWF0cGFzc3dvcmQnLAoJCQkgICAgICAgJHRoaXMtPkxhbmcgKCdpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJykpOwogICAgICB9CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduICgncHJvbXB0X2V4cGlyZXMnLAoJCQkgICAkdGhpcy0+TGFuZygnZXhwaXJlcycpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2V4cGlyZXNfZGF0ZXByZWZpeCcsICRpZC4nZXhwaXJlc2RhdGVfJyk7CiAgICAkZXhwaXJlc2RhdGUgPSBzdHJ0b3RpbWUoJysxMCB5ZWFycycsIHRpbWUoKSk7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2V4cGlyZXNkYXRlJ10gKSApCiAgICAgIHsKCSRleHBpcmVzZGF0ZSA9ICRwYXJhbXNbJ2lucHV0X2V4cGlyZXNkYXRlJ107CiAgICAgIH0KICAgICR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2V4cGlyZXNkYXRlJywgJGV4cGlyZXNkYXRlICk7CiAgICAKCiAgICAvLyBEaXNwbGF5IHRoaXMgdXNlcidzIHByb3BlcnRpZXMgYW5kIGFsbG93IHVzIHRvIGVkaXQgdGhlbQoKICAgIC8vIGRpc3BsYXkgYW5kIGVkaXQgZ3JvdXBzCiAgICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ2VkaXRncm91cHMnKSApCiAgICAgIHsKCWlmKCBpc3NldCgkcGFyYW1zWydtZW1iZXJvZiddICkgKQoJICB7CgkgICAgJHRtcCA9IChpbnQpJHBhcmFtc1snbWVtYmVyb2YnXTsKCSAgICAkcGFyYW1zWydtZW1iZXJvZl8nLiR0bXBdID0gMTsKCSAgfQoKCS8vIG5vdyBkaXNwbGF5IGEgbGlzdCBvZiBncm91cHMgdGhhdCB0aGlzIHVzZXIgbWF5IG9wdGlvbmFsbHkgYmUgaW4KCSR0aGlzLT5zbWFydHktPmFzc2lnbiggJ2lkdGV4dCcsICR0aGlzLT5MYW5nKCdpZCcpICk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oICduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykgKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbiggJ2Rlc2N0ZXh0JywgJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uJykgKTsKCQoJJGdyb3VwcyA9ICR0aGlzLT5HZXRHcm91cExpc3RGdWxsKCk7Cgkkcm93YXJyYXkgPSBhcnJheSgpOwoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJZm9yZWFjaCggJGdyb3VwcyBhcyAkZ3JvdXAgKQoJewoJICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CgkgICRvbmVyb3ctPmlkID0gJGdyb3VwWydpZCddOwoJICAkb25lcm93LT5uYW1lID0gJGdyb3VwWydncm91cG5hbWUnXTsKCSAgJG9uZXJvdy0+ZGVzYyA9ICRncm91cFsnZ3JvdXBkZXNjJ107CgkgICRvbmVyb3ctPm1lbWJlciA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnbWVtYmVyb2ZfJy4kZ3JvdXBbJ2lkJ10sCgkJCQkJCSAgJGdyb3VwWydpZCddLAoJCQkJCQkgIChpc3NldCgkcGFyYW1zWydtZW1iZXJvZl8nLiRncm91cFsnaWQnXV0pID8gCgkJCQkJCSAgICRwYXJhbXNbJ21lbWJlcm9mXycuJGdyb3VwWydpZCddXSA6IC0xKSk7CgkgICRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJICAKCSAgYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkb25lcm93KTsKCSAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwoJfQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLGNvdW50KCRyb3dhcnJheSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtcycsJHJvd2FycmF5KTsKICAgICAgfQoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvcGFkZCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAncHJvcGFkZCcsCgkJCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FkZCcpKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2dyb3Vwc3RpdGxlJywgJHRoaXMtPkxhbmcoJ2dyb3VwcycpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvcGVydGllc3RpdGxlJywgJHRoaXMtPkxhbmcoJ3Byb3BlcnRpZXMnKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wcycsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3Byb3BzJywgJHRoaXMtPkxhbmcoJ3Byb3BlcnRpZXMnKS4iLi4uIikpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGR1c2VyMS50cGwnKTsKICB9CgoKICBmdW5jdGlvbiBEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCA9IC0xKSAKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPmFzc2lnbignZmV1YWN0aW9uaWQnLCRpZCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZldWFjdGlvbnBhcmFtcycsJHBhcmFtcyk7CiAgICAkc21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtb2QnLCR0aGlzKTsKICAgIAogICAgc3dpdGNoICgkYWN0aW9uKQogICAgICB7CiAgICAgIGNhc2UgJ2FkbWluX2ltcG9ydGdyb3VwJzoKICAgICAgY2FzZSAnYWRtaW5fZXhwb3J0Z3JvdXAnOgogICAgICBjYXNlICdhZG1pbl9sb2dvdXQnOgogICAgICBjYXNlICdhZG1pbl9zZXR2aWV3dXNlcl90ZW1wbGF0ZSc6CiAgICAgIGNhc2UgJ2FkbWluX3NldGxvc3R1bl90ZW1wbGF0ZSc6CiAgICAgIGNhc2UgJ2FkZGdyb3VwJzoKICAgICAgY2FzZSAnYWRkcHJvcCc6CiAgICAgIGNhc2UgJ2FkZHByb3AyJzoKICAgICAgY2FzZSAnYWRkdXNlcic6CiAgICAgIGNhc2UgJ2RlZmF1bHRhZG1pbic6IAogICAgICBjYXNlICdkb19kZWxldGVwcm9wJzoKICAgICAgY2FzZSAnZG9fZGVsZXRlZ3JvdXAnOgogICAgICBjYXNlICdkb19sb2dpbic6CiAgICAgIGNhc2UgJ2RvX2FkZHVzZXIxJzoKICAgICAgY2FzZSAnZG9fYWRkdXNlcjMnOgogICAgICBjYXNlICdkb19kZWxldGV1c2VyJzoKICAgICAgY2FzZSAnZG9fYWRkZ3JvdXAnOgogICAgICBjYXNlICdkb19hZGRwcm9wJzoKICAgICAgY2FzZSAnZG9fZWRpdHByb3AnOgogICAgICBjYXNlICdkb19lZGl0dXNlcjMnOgogICAgICBjYXNlICdkb191c2VyY2hhbmdlc2V0dGluZ3MnOgogICAgICBjYXNlICdkb19lZGl0Z3JvdXAnOgogICAgICBjYXNlICdkb19mb3Jnb3Rwdyc6CiAgICAgIGNhc2UgJ2RvX3NldHByZWZzJzoKICAgICAgY2FzZSAnZG9fZWRpdHVzZXIxJzoKICAgICAgY2FzZSAnZG9fYWRtaW50YXNrcyc6CiAgICAgIGNhc2UgJ2RvX2xvc3R1c2VybmFtZSc6CiAgICAgIGNhc2UgJ2RvX3ZlcmlmeWNvZGUnOgogICAgICBjYXNlICdlZGl0Z3JvdXAnOgogICAgICBjYXNlICdlZGl0cHJvcCc6CiAgICAgIGNhc2UgJ2xvZ291dCc6CiAgICAgIGNhc2UgJ3VzZXJoaXN0b3J5JzoKICAgICAgY2FzZSAndmVyaWZ5Y29kZSc6CiAgICAgIGNhc2UgJ3ZpZXd1c2VyJzoKCXBhcmVudDo6RG9BY3Rpb24oJGFjdGlvbiwkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwoJYnJlYWs7CgoKICAgICAgY2FzZSAiY2hhbmdlc2V0dGluZ3MiOwogICAgICB7CiAJICAkcGFyYW1zWydmb3JtJ10gPSAkYWN0aW9uOwoJICAkdGhpcy0+X0RvVXNlckFjdGlvbiggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7CiAgICAgIH0KCiAgICAgIGNhc2UgJ2xvc3R1c2VybmFtZSc6CiAgICAgIGNhc2UgJ2ZvcmdvdHB3JzoKICAgICAgLy9udW5vLWRldgogICAgICAkcGFyYW1zWydmb3JtJ10gPSAkYWN0aW9uOwogICAgICAKCSAgJHRoaXMtPl9Eb1VzZXJBY3Rpb24oICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgIGJyZWFrOwogICAgICAvL2VuZAogICAgICBjYXNlICJkZWZhdWx0IjogCiAgICAgICAgewogICAgICAkdGhpcy0+X0RvVXNlckFjdGlvbiggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgY2FzZSAnZG9fYWRkdXNlcjInOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdhZGR1c2VyJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pbkFkZFVzZXJTdGVwMlBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlIAoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KCiAgICAgIAogICAgICBjYXNlICdkb19lZGl0dXNlcjInOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdlZGl0dXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUFkbWluQWRkVXNlclN0ZXAyUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CgogICAgICBjYXNlICdkb19zZXRjaGFuZ2VzZXR0aW5nc3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAndGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0RvU2V0Q2hhbmdlU2V0dGluZ3NUZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CgogICAgICBjYXNlICdkb19zZXRmb3Jnb3Rwd3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAndGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0RvU2V0Rm9yZ290UFdUZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CgogICAgICBjYXNlICdkb19zZXRsb2dpbnRlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCAndGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0RvU2V0TG9naW5UZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CgogICAgICBjYXNlICdkb19zZXRsb2dvdXR0ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucyggJ3RlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb1NldExvZ291dFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KCgoKICAgICAgY2FzZSAnZWRpdHVzZXInOgoJewoJICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoICdlZGl0dXNlcnMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUFkbWluRWRpdFVzZXJTdGVwMVBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgfQogIH0KCgogIGZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5FZGl0VXNlclN0ZXAxUGFnZSggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWyd1c2VyX2lkJ10gKSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgJHRoaXMtPkxhbmcgKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyBub3cgZ2V0IHRoZSB1c2VyIGluZm8KICAgICR1c2VyID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkcGFyYW1zWyd1c2VyX2lkJ10gKTsKICAgIGlmKCAkdXNlclswXSA9PSBmYWxzZSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR1c2VyWzFdICk7CglyZXR1cm47CiAgICAgIH0KICAgICR1c2VyID0gJHVzZXJbMV07CgogICAgLy8gZ2V0IHRoZSB1c2VyIHByb3BlcnRpZXMKICAgICRwcm9wcyA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CiAgICAKICAgIC8vIGdldCB0aGUgZ3JvdXAgbWVtYmVyc2hpcHMKICAgICRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICRwYXJhbXNbJ3VzZXJfaWQnXSApOwovLyB0b2RvLCB1c2VycyBtYXkgKG9wdGlvbmFsbHkpIG5vdCBiZSBwYXJ0IG9mIGFueSBncnVvcHMKLy8gICAgIGlmKCAkZ3JvdXBzID09IGZhbHNlICkKLy8gICAgICAgewovLyAJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2Vycm9yX21lbWJlcmdyb3VwcycpICk7Ci8vIAlyZXR1cm47Ci8vICAgICAgIH0KCiAgICAvLyBwb3B1bGF0ZSB0aGUgcGFyYW1zIHdpdGggdGhlIGFwcHJvcHJpYXRlIHN0dWZmCiAgICAvLyB0aGF0IHdlIGp1c3QgbG9hZGVkCiAgICAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddID0gJHVzZXJbJ3VzZXJuYW1lJ107CiAgICAkcGFyYW1zWydpbnB1dF9leHBpcmVzZGF0ZSddID0gJHVzZXJbJ2V4cGlyZXMnXTsKLy8gICAgICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gPSAkdXNlclsncGFzc3dvcmQnXTsgIC8vIHRoZSBwYXNzd29yZCByb3cgaXMgbWQ1IGhhc2hlZCwgZG9uJ3QgYm90aGVyIGRpc3BsYXlpbmcgaXQKLy8gICAgICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gPSAkdXNlclsncGFzc3dvcmQnXTsKICAgICR1c2VycHJvcHMgPSAnJzsKICAgIGZvcmVhY2goICRwcm9wcyBhcyAkcHJvcCApCiAgICB7CiAgICAgIGlmKCAkdXNlcnByb3BzID09ICcnICkKCXsKCSAgJHVzZXJwcm9wcyA9ICRwcm9wWyd0aXRsZSddLiI9Ii4kcHJvcFsnZGF0YSddOwoJfQogICAgICBlbHNlCgl7CgkgICR1c2VycHJvcHMgLj0gIiwiLiRwcm9wWyd0aXRsZSddLiI9Ii4kcHJvcFsnZGF0YSddOwoJfQogICAgfQogICAgJHBhcmFtc1sndXNlcnByb3BzJ10gPSAkdXNlcnByb3BzOwoKICAgICRtZW1iZXJvZiA9ICcnOwogICAgaWYoICRncm91cHMgIT0gZmFsc2UgKQogICAgICB7Cglmb3JlYWNoKCAkZ3JvdXBzIGFzICRncm91cCApCgl7CgkgICRwYXJhbXNbJ21lbWJlcm9mXycuJGdyb3VwWydncm91cGlkJ11dID0gJGdyb3VwWydncm91cGlkJ107Cgl9CiAgICAgIH0KCiAgICAvLyBhbmQgZGlzcGxheSB0aGUgdXNlciBwYWdlCiAgICAvLyB0b2RvLCBwdXQgYSByZWRpcmVjdCBoZXJlCiAgICAkdGhpcy0+X0Rpc3BsYXlBZG1pblVzZXJQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogIH0KCgogIGZ1bmN0aW9uIF9oYW5kbGVVc2VySW5mb1ZhbGlkYXRpb24oICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJiRtZXNzYWdlLCAkbmVlZHB3ID0gdHJ1ZSwgCgkJCQkgICAgICAkZG9leHBpcmUgPSB0cnVlLCAkY2hlY2t1c2VybmFtZSA9IHRydWUgKQogIHsKICAgIC8vIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVycyBhcmUgZmlsbGVkIGluCiAgICAkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogICAgJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgICRyZXBlYXQgICA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgICAKICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVfaXNfZW1haWwnLCcwJykgPT0gJzEnCiAgICAgICYmIHN0cnBvcygkdXNlcm5hbWUsJ0AnKSA9PT0gZmFsc2UpCiAgICAgIHsKICAgICAgJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGVtYWlsJyk7CiAgICAgIHJldHVybiAtMTsKICAgICAgfQogICAgCiAgICBpZiggJHVzZXJuYW1lID09ICcnIAoJfHwgKCRuZWVkcHcgJiYgKCRwYXNzd29yZCA9PSAnJyB8fCAkcmVwZWF0ID09ICcnKSkgICkKICAgICAgewoJLy9kaWUoIiR1c2VybmFtZSwgJG5lZWRwdywgJHBhc3N3b3JkLCAkcmVwZWF0Iik7CgkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyYW1zJyk7CglyZXR1cm4gLTE7CiAgICAgIH0KCiAgICAvLyBtYWtlIHN1cmUgdGhlIHBhc3N3b3JkcyBtYXRjaAogICAgaWYoICRwYXNzd29yZCAhPSAkcmVwZWF0ICkKICAgICAgewoJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCcpOwoJcmV0dXJuIC0xOwogICAgICB9CgogICAgLy8gbWFrZSBzdXJlIHRoZSB1c2VybmFtZSBmaXRzIHRoZSBydWxlcwogICAgaWYoICRjaGVja3VzZXJuYW1lICkKICAgICAgewoJaWYoICEkdGhpcy0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKSApCgkgIHsKCSAgICAkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkdXNlcm5hbWUnKTsKCSAgICByZXR1cm4gLTE7CgkgIH0KICAgICAgfQoKICAgIC8vIG1ha2Ugc3VyZSB0aGUgcGFzc3dvcmQgZml0cyB0aGUgcnVsZXMKICAgIGlmKCAkbmVlZHB3ICYmICEkdGhpcy0+SXNWYWxpZFBhc3N3b3JkKCAkcGFzc3dvcmQgKSApCiAgICAgIHsKCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXNzd29yZCcpOwoJcmV0dXJuIC0xOwogICAgICB9CgogICAgaWYoICRkb2V4cGlyZSA9PSBmYWxzZSApCiAgICAgIHsKCXJldHVybiAxOwogICAgICB9CgogICAgLy8gbWFrZSBzdXJlIGFuIGV4cGlyeSBkYXRlIGlzIHNldAogICAgaWYoICFpc3NldCgkcGFyYW1zWydleHBpcmVzZGF0ZV9Nb250aCddKSApCiAgICAgIHsKCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJyk7CglyZXR1cm4gLTE7CiAgICAgIH0KCiAgICAkZXhwaXJlcyA9IG1rdGltZSgyMyw1OSw1OSwKCQkgICAgICAkcGFyYW1zWydleHBpcmVzZGF0ZV9Nb250aCddLCAkcGFyYW1zWydleHBpcmVzZGF0ZV9EYXknXSwgCgkJICAgICAgJHBhcmFtc1snZXhwaXJlc2RhdGVfWWVhciddKTsKICAgIGlmKCAhJGV4cGlyZXMgKQogICAgICB7CgkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZScpOwoJcmV0dXJuIC0xOwogICAgICB9CiAgICAkcGFyYW1zWydpbnB1dF9leHBpcmVzZGF0ZSddID0gJGV4cGlyZXM7CiAgICByZXR1cm4gMTsKICB9CgoKICBmdW5jdGlvbiBteU1vZHVsZVBhdGgoKQogIHsKICAgJHN0ciA9ICIvbW9kdWxlcy8iLiR0aGlzLT5HZXROYW1lKCkuIi8iOwogICAgcmV0dXJuICRzdHI7CiAgfQoKCmZ1bmN0aW9uIG15UmVkaXJlY3RUb1RhYiggJGlkLCAkdGFiLCAkcGFyYW1zID0gJycsICRpZ25vcmVfcmV0dXJudG8gPSBmYWxzZSApCiAgewogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgIGlmKCBpc19hcnJheSggJHBhcmFtcyApICkKICAgICAgewoJJHBhcm1zID0gJHBhcmFtczsKICAgICAgfQogICAgJHBhcm1zWydhY3RpdmVfdGFiJ10gPSAkdGFiOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFybXMsICRpZ25vcmVfcmV0dXJudG8gKTsKICB9CgoKZnVuY3Rpb24gbXlSZWRpcmVjdCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRwYXJhbXMgPSAnJywgJGlnbm9yZV9yZXR1cm50byA9IGZhbHNlICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sncmV0dXJudG8nXSkgJiYgISRpZ25vcmVfcmV0dXJudG8pCiAgICAgIHsKCWxpc3QoJG1vZCwkYWN0KSA9IGV4cGxvZGUoJywnLCRwYXJhbXNbJ3JldHVybnRvJ10pOwoJJHRoaXMtPkxvYWRSZWRpcmVjdE1ldGhvZHMoKTsKCSRtb2RvYmogPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCRtb2QpOwoJJHRtcCA9IGFycmF5KCk7CglyZXR1cm4gY21zX21vZHVsZV9SZWRpcmVjdCgkbW9kb2JqLCRpZCwkYWN0LCRyZXR1cm5pZCk7CiAgICAgIH0KICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CgoKZnVuY3Rpb24gZmVDcmVhdGVGb3JtU3RhcnQoICRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAkaW5saW5lPXRydWUsICRtZXRob2Q9J3Bvc3QnLCAkZW5jdHlwZT0nJywgJGlkc3VmZml4PScnLCAkcGFyYW1zID0gYXJyYXkoKSApCiAgewogICAgcmV0dXJuICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCRhY3Rpb24sJHJldHVybmlkLCRtZXRob2QsJGVuY3R5cGUsJGlubGluZSwkaWRzdWZmaXgsICRwYXJhbXMpOwogIH0KCgogIGZ1bmN0aW9uIEdldEhlbHAoJGxhbmc9J2VuX1VTJykJCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkgCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CgogIAogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkJCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGhvdG1haWwuY29tJzsKICB9CgogIAogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCQogIHsKICAgIHJldHVybiBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2NoYW5nZWxvZy5pbmMnKTsKICB9CgoKICAvKioKICAgKiBUaGlzIGlzIGEgYXdlc29tZSB1dGlsaXR5IGZ1bmN0aW9uIHRoYXQgcHJvZHVjZXMgdmlydHVhbGx5IGFsbCBoZWxwZnVsCiAgICogZGVidWcgaW5mby4gIFJlbGllcyBvbiB0aGUgdmFsdWUgb2YgdGhlICR2YXJkZWJ1ZyBvZiB0aGUgY2xhc3MuCiAgICoKICAgKiBAcGFyYW0gYXJyYXkgJGRlYnVnYXJyYXkgc2luZ2xlLSBvciBtdWx0aWRpbWVudGlvbmFsIGFycmF5CiAgICogQHBhcmFtIFN0cmluZyAkbWVzc2FnZSB0aGF0IGhlbHAgaWRlbnRpZnkgdGhlIGZ1bmN0aW9uIGNhbGwKICAgKi8KICBmdW5jdGlvbiBfZGVidWdhcnJheSgkZGVidWdhcnJheSwgJG1lc3NhZ2U9JycpCiAgewogICAgaWYgKCR0aGlzLT5kZXZkZWJ1ZyA9PSAxKXsKICAgICAgZWNobyAiXG5cbjxicj48YnI+LS0tLS0tLS0tLS0tLSBEZWJ1ZyBpbmZvOiAtLS0tLS0tLS0tLS0tLS0tPGJyPlxuIjsKICAgICAgJHN0YWNrdHJhY2UgPSBkZWJ1Z19iYWNrdHJhY2UoKTsKICAgICAgaWYgKGNvdW50KCRzdGFja3RyYWNlKSA+IDEgJiYgJHN0YWNrdHJhY2VbMV1bJ2Z1bmN0aW9uJ10gIT0gJycpewoJZWNobyAiSW5zaWRlICIgLiAkc3RhY2t0cmFjZVsxXVsnZnVuY3Rpb24nXSAuICI8YnI+XG4iOwoJZWNobyAiQ2FsbGVkIGZyb20gIgoJICAuICRzdGFja3RyYWNlWzNdWydmdW5jdGlvbiddIC4gIiwgIgoJICAuICRzdGFja3RyYWNlWzJdWydmdW5jdGlvbiddIC4gIjxicj5cbiI7CiAgICAgIH0KICAgICAgaWYgKCRtZXNzYWdlICE9ICcnKXsKCWVjaG8gJG1lc3NhZ2UgLiAiPGJyPiI7CiAgICAgIH0KICAgICAgZWNobyAiXG48dGFibGUgY2VsbHBhZGRpbmc9MTAgYm9yZGVyPTA+XG48dHI+XG48dGQ+IjsKICAgICAgZm9yZWFjaCggJGRlYnVnYXJyYXkgYXMgJGtleSA9PiAkdmFsICl7CgkvLwkJCQllY2hvICI8Yj4ka2V5PC9iPjxicj4iOwoJaWYoaXNfYXJyYXkoJHZhbCkpewoJICBlY2hvICI8L3RkPlxuPHRkPiI7CgkgIGVjaG8gIjxiPkFycmF5PC9iPjxicj4iOwoJICAkdGhpcy0+X2RlYnVnc3ViYXJyYXkoJHZhbCk7Cgl9IGVsc2UgaWYgKGlzX29iamVjdCgkdmFsKSl7CgkgIGVjaG8gIjwvdGQ+XG48dGQ+IjsKCSAgZWNobyAiPGI+T2JqZWN0PC9iPjxicj4iOwoJICAkdGhpcy0+X2RlYnVnc3ViYXJyYXkoZ2V0X29iamVjdF92YXJzKCR2YWwpKTsKCX0gZWxzZSB7CgkgIGVjaG8gIjxiPlZlY3RvcjwvYj48YnI+IjsKCSAgZWNobyAiXHQ8c3BhbiBzdHlsZT1ccGFkZGluZy1sZWZ0OjIwcHhcIj4iCgkgICAgLiAka2V5IC4gIjogIiAuICR2YWwgLiAiPC9zcGFuPjxicj5cbiI7Cgl9CiAgICAgIH07CiAgICAgIGVjaG8gIjwvdGQ+XG48L3RyPlxuPC90YWJsZT5cbiI7CiAgICAgIGVjaG8gIi0tLS0tLS0tLS0tLS0gRW5kIGRlYnVnIGluZm8gLS0tLS0tLS0tLS0tLS0tLTxicj48YnI+XG5cbiI7CiAgICB9CiAgfQoKICAvKioKICAgKiBVdGlsaXR5IGZ1bmN0aW9uLCB1c2VkIGJ5IHRoZSBfZGVidWdhcnJheSBmdW5jdGlvbgogICAqLwogIGZ1bmN0aW9uIF9kZWJ1Z3N1YmFycmF5KCRkZWJ1Z2FycmF5KQogIHsKICAgIGZvcmVhY2goICRkZWJ1Z2FycmF5IGFzICRrZXkgPT4gJHZhbCApCiAgICAgIHsKCWlmKGlzX2FycmF5KCR2YWwpKQoJICB7CgkgICAgZWNobyAiXHQiIC4gJGtleSAuICI6ICIgLiBwcmludF9yKCR2YWwpIC4gIjxicj5cbiI7CgkgIH0gCgllbHNlIAoJICB7CgkgICAgZWNobyAiXHQiIC4gJGtleSAuICI6ICIgLiAkdmFsIC4gIjxicj5cbiI7CgkgIH0KICAgICAgfQogIH0KICAKCiAgLy8gc2VuZCBhbiBldmVudCB0aGF0IHRoaXMgdXNlciBhY2NvdW50IGhhcyBiZWVuIGV4cGlyZWQKICBmdW5jdGlvbiBOb3RpZnlFeHBpcmVkVXNlciggJHVzZXJpZCApCQogIHsKICAgICR1c2VyID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdXNlcmlkICk7CiAgICBpZiggJHVzZXJbMF0gPT0gRkFMU0UgKQogICAgICB7CgkvLyB0aGlzIHNob3VsZCBiZSBhbiBlcnJvcgoJcmV0dXJuOwogICAgICB9CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydpZCddID0gJHVzZXJpZDsKICAgICRwYXJtc1sndXNlcm5hbWUnXSA9ICR1c2VyWzFdWyd1c2VybmFtZSddOwogICAgJHRoaXMtPlNlbmRFdmVudCgnT25FeHBpcmVVc2VyJywkcGFybXMpOwogICAgJHRoaXMtPl9TZW5kTm90aWZpY2F0aW9uRW1haWwoJ09uRXhwaXJlVXNlcicsJHBhcm1zKTsKICB9CgoKICBmdW5jdGlvbiBpbWFnZVRyYW5zZm9ybSgkc3JjU3BlYywgJGRlc3RTcGVjLCAkc2l6ZSwgJiRjb25maWcpCiAgewogICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9DbGFzc2VzL1RyYW5zZm9ybS5waHAnKTsKICAgIAogICAgJGl0ID0gbmV3IEltYWdlX1RyYW5zZm9ybTsKICAgICRpbWcgPSAkaXQtPmZhY3RvcnkoJGNvbmZpZ1snaW1hZ2VfbWFuaXB1bGF0aW9uX3Byb2cnXSk7CiAgICAkaW1nLT5sb2FkKCRzcmNTcGVjKTsKICAgIGlmICgkaW1nLT5pbWdfeCA8ICRpbWctPmltZ195KQogICAgICB7CgkkbG9uZ19heGlzID0gJGltZy0+aW1nX3k7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGxvbmdfYXhpcyA9ICRpbWctPmltZ194OwogICAgICB9CiAgICAKICAgIGlmICgkbG9uZ19heGlzID4gJHNpemUpCiAgICAgIHsKCSRpbWctPnNjYWxlQnlMZW5ndGgoJHNpemUpOwoJJGltZy0+c2F2ZSgkZGVzdFNwZWMsICdqcGVnJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGltZy0+c2F2ZSgkZGVzdFNwZWMsICdqcGVnJyk7CiAgICAgIH0KICAgICRpbWctPmZyZWUoKTsKICB9CgoKICBmdW5jdGlvbiBNYW5hZ2VJbWFnZVVwbG9hZCgkaWQsICRmbGRwcmVmaXgsICRmbGRuYW1lLCAkdWlkLCAkaW1hZ2Vfd2lkdGgpCiAgewogICAgZ2xvYmFsICRnQ21zOwoKICAgICRhbGxvd2VkX2V4dGVuc2lvbnM9JHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucycsCgkJCQkJICAgICAnLmdpZiwucG5nLC5qcGcnKTsKICAgICRtYXhmaWxlc2l6ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXBsb2FkX3NpemUnLDEwKjEwMjQqMTAyNCk7CiAgICAkZGVzdERpciA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiAgICAkZGVzdERpciAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsICdmZXVzZXJzJyk7CgogICAgaWYoICFpc3NldCgkX0ZJTEVTWyRpZC4kZmxkcHJlZml4LiRmbGRuYW1lXSkgfHwgIWlzc2V0KCAkX0ZJTEVTICkgKQogICAgICB7CglyZXR1cm4gYXJyYXkoZmFsc2UsJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfdXBsb2FkJykpOwogICAgICB9CgogICAgLy8kZGVzdG5hbWUgPSAkX0ZJTEVTWyRpZC4kZmxkbmFtZV1bJ25hbWUnXTsKICAgICRmaWxlID0mICRfRklMRVNbJGlkLiRmbGRwcmVmaXguJGZsZG5hbWVdOwogICAgaWYgKCFpc3NldCAoJGZpbGVbJ3R5cGUnXSkpCiAgICAgICRmaWxlWyd0eXBlJ10gPSAnJzsKICAgIGlmICghaXNzZXQgKCRmaWxlWydzaXplJ10pKQogICAgICAkZmlsZVsnc2l6ZSddID0gJyc7CiAgICBpZiAoIWlzc2V0ICgkZmlsZVsndG1wX25hbWUnXSkpCiAgICAgICRmaWxlWyd0bXBfbmFtZSddID0gJyc7CiAgICAkZmlsZVsnbmFtZSddID0KICAgICAgcHJlZ19yZXBsYWNlKCcvW15hLXpBLVowLTlcLlwkXCVcJ1xgXC1cQFx7XH1cflwhXCNcKFwpXCZcX1xeXS8nLCAnJywKICAgICAgIHN0cl9yZXBsYWNlIChhcnJheSAoJyAnLCAnJTIwJyksIGFycmF5ICgnXycsICdfJyksICRmaWxlWyduYW1lJ10pKTsKICAgIAogICAgLy8gc2V0IHRoZSBkZXN0aW5hdGlvbiBuYW1lCiAgICAkZXh0ID0gc3RyY2hyKCRmaWxlWyduYW1lJ10sJy4nKTsKICAgICRkZXN0bmFtZSA9ICR1aWQuJ18nLiRmbGRuYW1lLiRleHQ7CgogICAgLy8gQ3JlYXRlIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkgaWYgbmVjZXNzYXJ5CiAgICBAbWtkaXIoJGRlc3REaXIpOwogICAgaWYoICFpc193cml0YWJsZSggJGRlc3REaXIgKSApCiAgICAgIHsKCXJldHVybiBhcnJheShmYWxzZSwkdGhpcy0+TGFuZygnZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZScpKTsKICAgICAgfQoKICAgIC8vIGhlcmUgd2UnZCByZXNpemUgdGhlIGltYWdlIHRvIHRoZSBkZXNpcmVkIHdpZHRoCiAgICAvLyBpdCBhbHNvIHNhdmVzIHRoZSBmaWxlIHRvIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuCiAgICAkdGhpcy0+aW1hZ2VUcmFuc2Zvcm0oJGZpbGVbJ3RtcF9uYW1lJ10sICRkZXN0RGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGRlc3RuYW1lLCAkaW1hZ2Vfd2lkdGgsICRnQ21zLT5jb25maWcpOwoKICAgIHJldHVybiBhcnJheSh0cnVlLCRkZXN0bmFtZSk7CiAgfQoKCiAgZnVuY3Rpb24gU2V0TG9naW5Db29raWUoJHVzZXJuYW1lLCRwYXNzd29yZCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlY29va2llc3RvcmVtZW1iZXInKSAmJgoJKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJykgIT0gJycpICkKICAgICAgewoJJGNvb2tpZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29va2llbmFtZScpOwoKCS8vJHBhdCA9IGRpcm5hbWUoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10pOwoJJGRvbSA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKCgkkZXhwaXJlcyA9IHRpbWUoKSsoMzYwMCoyNCozNjUpOwoJJHZhbCA9IGFycmF5KCk7CgkkdmFsWyd1J10gPSAkdXNlcm5hbWU7CgkkdmFsWydwJ10gPSBtZDUoJHBhc3N3b3JkKTsKCSRzdHIgPSBzZXJpYWxpemUoICR2YWwgKTsKCSRrZXkgPSAnRkVVJy5tZDUoJGNvbmZpZ1sncm9vdF9wYXRoJ10pLm1kNSgkY29va2llbmFtZSk7Cgkkc3RyID0gJHRoaXMtPl9lbmNyeXB0KCRrZXksJHN0cik7CglpZiggJHN0ciAhPT0gRkFMU0UgKQoJICB7CgkgICAgJHN0ciA9IGJhc2U2NF9lbmNvZGUoJHN0cik7CgkgICAgQHNldGNvb2tpZSggJGNvb2tpZW5hbWUsICRzdHIsCgkJCSRleHBpcmVzLCAkY29uZmlnWydyb290X3BhdGgnXSwgJGRvbSApOwoJICB9CglyZXR1cm47CiAgICAgIH0KICB9CgoKICBmdW5jdGlvbiBfQXR0ZW1wdEludmFsaWRhdGVMb2dpbkNvb2tpZSgpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWNvb2tpZXN0b3JlbWVtYmVyJykgJiYKCSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29va2llbmFtZScpICE9ICcnKSApCiAgICAgIHsKCSRjb29raWVuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZW5hbWUnKTsKCQoJLy8kcGF0ID0gZGlybmFtZSgkX1NFUlZFUlsnU0NSSVBUX05BTUUnXSk7CgkkZG9tID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwoKCSRleHBpcmVzID0gdGltZSgpLTM2MDA7IC8vIG9uZSBob3VyIGFnbwoJQHNldGNvb2tpZSggJGNvb2tpZW5hbWUsICcnLCAkZXhwaXJlcywgJGNvbmZpZ1sncm9vdF9wYXRoJ10sICRkb20gKTsKICAgICAgfQogIH0KCgogIGZ1bmN0aW9uIF9BdHRlbXB0TG9naW5XaXRoQ29va2llKCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlY29va2llc3RvcmVtZW1iZXInKSAmJgoJKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJykgIT0gJycpICkKICAgICAgewoJJGNvb2tpZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29va2llbmFtZScpOwoKCWlmKCAhaXNzZXQoJF9DT09LSUVbJGNvb2tpZW5hbWVdKSApIAoJICB7CgkgICAgcmV0dXJuOwoJICB9CgoJJHN0ciA9ICRfQ09PS0lFWyRjb29raWVuYW1lXTsKCSRzdHIgPSBiYXNlNjRfZGVjb2RlKCRzdHIpOwoJJGtleSA9ICdGRVUnLm1kNSgkY29uZmlnWydyb290X3BhdGgnXSkubWQ1KCRjb29raWVuYW1lKTsKCSRzdHIgPSAkdGhpcy0+X2RlY3J5cHQoJGtleSwkc3RyKTsKCWlmKCAkc3RyID09PSBGQUxTRSApCgkgIHsKCSAgICByZXR1cm47CgkgIH0KCSRhcnIgPSB1bnNlcmlhbGl6ZSggJHN0ciApOwoKCWlmKCBjb3VudCgkYXJyKSAhPSAyIHx8ICFpc3NldCgkYXJyWyd1J10pIHx8ICFpc3NldCgkYXJyWydwJ10pICkKCSAgcmV0dXJuOwoKCSR0aGlzLT5Mb2dpbiggJGFyclsndSddLCAkYXJyWydwJ10sICcnLCB0cnVlLCB0cnVlICk7CiAgICAgIH0KICB9CgoKICBmdW5jdGlvbiBfU2VuZE5vdGlmaWNhdGlvbkVtYWlsKCRldmVudCwkcGFyYW1zKQogIHsKICAgICRub3RpZmljYXRpb25zID0gZXhwbG9kZSgnLCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ25vdGlmaWNhdGlvbnMnLCcnKSk7CiAgICBpZiggIWluX2FycmF5KCAkZXZlbnQsICRub3RpZmljYXRpb25zICkgKSByZXR1cm47CiAgICAkZGVzdCA9IHRyaW0oJHRoaXMtPkdldFByZWZlcmVuY2UoJ25vdGlmaWNhdGlvbl9hZGRyZXNzJykpOwogICAgaWYoIGVtcHR5KCRkZXN0KSApIHJldHVybjsKCiAgICAvLyBTZXR1cCBzb21lIHNtYXJ0eSBzdHVmZi4KICAgIGdsb2JhbCAkZ0NtczsKICAgICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdldmVudCcsJGV2ZW50KTsKICAgICRzbWFydHktPmFzc2lnbignZXZlbnRfbmFtZScsJHRoaXMtPkxhbmcoJGV2ZW50KSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3BsYWludGV4dF9ldmVudCcsJHRoaXMtPkxhbmcoJ2V2ZW50JykpOwogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigncGFyYW1fJy4ka2V5LCR2YWx1ZSk7CiAgICAgIH0KICAgICR0ZXh0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnbm90aWZpY2F0aW9uX3RlbXBsYXRlJyk7CgogICAgJGNtc21haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwogICAgJGNtc21haWxlci0+cmVzZXQoKTsKICAgICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJGRlc3QpOwogICAgJGNtc21haWxlci0+U2V0U3ViamVjdCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZpY2F0aW9uX3N1YmplY3QnKSk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCR0ZXh0KTsKICAgICRjbXNtYWlsZXItPklzSFRNTChmYWxzZSk7CiAgICAkY21zbWFpbGVyLT5TZW5kKCk7CiAgfQoKICBmdW5jdGlvbiBfcGFyYW1zX3RvX3Nlc3Npb24oJiRwYXJhbXMsICRrZXkgPSAnZmV1X3BhcmFtcycpCiAgewogICAgJF9TRVNTSU9OWyRrZXldID0gJHBhcmFtczsKICB9CgogIGZ1bmN0aW9uIF9zZXNzaW9uX3RvX3BhcmFtcygka2V5ID0gJ2ZldV9wYXJhbXMnKQogIHsKICAgIGlmKCAhaXNzZXQoJF9TRVNTSU9OWyRrZXldKSApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgJHRtcCA9ICRfU0VTU0lPTlska2V5XTsKICAgIHVuc2V0KCRfU0VTU0lPTlska2V5XSk7CiAgICByZXR1cm4gJHRtcDsKICB9CgoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAvLyAgQVBJIEZVTkNUSU9OUyAvLwogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKICBmdW5jdGlvbiBBZGRHcm91cCggJG5hbWUsICRkZXNjcmlwdGlvbiApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+QWRkR3JvdXAoICRuYW1lLCAkZGVzY3JpcHRpb24gKTsKICB9CgoKZnVuY3Rpb24gQWRkR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkZ3JwaWQsICRwcm9wbmFtZSwgJHNvcnRrZXksICRsb3N0dW4sICR2YWwgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkFkZEdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUsICRzb3J0a2V5LCAkbG9zdHVuLCAkdmFsICk7CiAgfQoKCiAgZnVuY3Rpb24gQWRkUHJvcGVydHlEZWZuKCAkbmFtZSwgJHByb21wdCwgJHR5cGUsICRsZW5ndGgsICRtYXhsZW5ndGggKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkFkZFByb3BlcnR5RGVmbiggJG5hbWUsICRwcm9tcHQsICR0eXBlLCAkbGVuZ3RoLCAkbWF4bGVuZ3RoICk7CiAgfQoKIAogIGZ1bmN0aW9uIEFkZFNlbGVjdE9wdGlvbnMoICRuYW1lLCAkc2Vsb3B0aW9ucyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+QWRkU2VsZWN0T3B0aW9ucyggJG5hbWUsICRzZWxvcHRpb25zICk7CiAgfQoKIAogIGZ1bmN0aW9uIEFkZFVzZXIoICRuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzLCAkZG9fbWQ1ID0gdHJ1ZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+QWRkVXNlciggJG5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXMgKTsKICB9CgoKICBmdW5jdGlvbiBBc3NpZ25Vc2VyVG9Hcm91cCggJHVpZCwgJGdpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+QXNzaWduVXNlclRvR3JvdXAoICR1aWQsICRnaWQgKTsKICB9CgogCiAgZnVuY3Rpb24gQ2hlY2tQYXNzd29yZCgkdXNlcm5hbWUsJHBhc3N3b3JkLCRncm91cHMgPSAnJywkbWQ1cHcgPSBmYWxzZSkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5DaGVja1Bhc3N3b3JkKCR1c2VybmFtZSwkcGFzc3dvcmQsJGdyb3VwcywkbWQ1cHcpOwogIH0KCiAKICBmdW5jdGlvbiBDb3VudFRlbXBDb2RlUmVjb3JkcygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+Q291bnRUZW1wQ29kZVJlY29yZHMoKTsKICB9CgogCiAgZnVuY3Rpb24gQ291bnRVc2Vyc0luR3JvdXAoICRnaWQgPSAnJyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+Q291bnRVc2Vyc0luR3JvdXAoICRnaWQgKTsKICB9CgoKICAvKiB3aGF0J3MgdGhpcz8gKi8KICBmdW5jdGlvbiBEZWxldGVBbGxHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZUFsbEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCApOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZUFsbEdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZUFsbEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCwgJHByb3BuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBEZWxldGVQcm9wZXJ0eURlZm4oICRuYW1lICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVQcm9wZXJ0eURlZm4oICRuYW1lICk7CiAgfQoKCiAgZnVuY3Rpb24gRGVsZXRlUHJvcGVydHlEZWZucygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RGVsZXRlUHJvcGVydHlEZWZucygpOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVNlbGVjdE9wdGlvbnMoICRuYW1lICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVTZWxlY3RPcHRpb25zKCAkbmFtZSApOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJGdWxsKCAkdWlkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVVc2VyRnVsbCggJHVpZCApOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUJ5TmFtZSggJHRpdGxlICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVVc2VyUHJvcGVydHlCeU5hbWUoJHRpdGxlKTsKICB9CgogIC8qV2hhdCBpcyB0aGlzPyovCiAgZnVuY3Rpb24gRGVsZXRlVXNlclByb3BlcnR5KCR0aXRsZSwkYWxsPWZhbHNlKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVVc2VyUHJvcGVydHkoJHRpdGxlLCRhbGwpOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZUFsbFVzZXJQcm9wZXJ0aWVzKCkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RGVsZXRlQWxsVXNlclByb3BlcnRpZXMoKTsKICB9CgogIAogIGZ1bmN0aW9uIERlbGV0ZUFsbFVzZXJQcm9wZXJ0aWVzRnVsbCgkdXNlcmlkKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVBbGxVc2VyUHJvcGVydGllc0Z1bGwoJHVzZXJpZCk7CiAgfQoKCgogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eUZ1bGwoJHRpdGxlLCR1c2VyaWQsJGFsbD1mYWxzZSkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RGVsZXRlVXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJHVzZXJpZCwkYWxsKTsKICB9CgoKICBmdW5jdGlvbiBEZWxldGVHcm91cEZ1bGwoICRnaWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkRlbGV0ZUdyb3VwRnVsbCggJGdpZCApOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVVzZXIoJGlkKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5EZWxldGVVc2VyKCAkaWQgKTsKICB9CgogIGZ1bmN0aW9uIEV4cGlyZVVzZXJzKCkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+RXhwaXJlVXNlcnMoKTsKICB9CgogIGZ1bmN0aW9uIEV4cGlyZVRlbXBDb2RlcyggJGV4cGlyeWNvZGUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkV4cGlyZVRlbXBDb2RlcyggJGV4cGlyeWNvZGUgKTsKICB9CgoKICBmdW5jdGlvbiBHZW5lcmF0ZVJhbmRvbVVzZXJuYW1lKCAkcHJlZml4ID0gJ3VzZXInICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZW5lcmF0ZVJhbmRvbVVzZXJuYW1lKCAkcHJlZml4ICk7CiAgfQogIAogIGZ1bmN0aW9uIEdldFVzZXJQcm9wZXJ0aWVzKCR1aWQpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlclByb3BlcnRpZXMoJHVpZCk7CiAgfQogIAoKICBmdW5jdGlvbiBHZXRNZW1iZXJHcm91cHNBcnJheSgkdXNlcmlkKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyaWQpOwogIH0KCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnR5KCR0aXRsZSwkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRVc2VyUHJvcGVydHkoICR0aXRsZSwgJGRlZmF1bHR2YWx1ZSApOwogIH0KCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJHVzZXJpZCwgJGRlZmF1bHR2YWx1ZT1mYWxzZSkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJHVzZXJpZCwkZGVmYXVsdHZhbHVlKTsKICB9CgogIGZ1bmN0aW9uIEdldFVzZXJUZW1wQ29kZSggJHVpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlclRlbXBDb2RlKCAkdWlkICk7CiAgfSAgCgoKICBmdW5jdGlvbiBHZXRQcm9wZXJ0eUdyb3VwUmVsYXRpb25zKCAkdGl0bGUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFByb3BlcnR5R3JvdXBSZWxhdGlvbnMoICR0aXRsZSApOwogIH0KCgogIGZ1bmN0aW9uIEdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0R3JvdXBJbmZvKCAkZ2lkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRHcm91cEluZm8oICRnaWQgKTsKICB9CgoKICBmdW5jdGlvbiBHZXRVc2VySGlzdG9yeSggJHVpZCwgJGFjdGlvbiA9ICcnLCAkY291bnQgPSAtMSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0VXNlckhpc3RvcnkoJHVpZCwkYWN0aW9uLCRjb3VudCk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0VXNlckluZm8oICR1aWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFVzZXJJbmZvKCAkdWlkICk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0RnVsbFVzZXJzSW5Hcm91cCgkZ2lkKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldEZ1bGxVc2Vyc0luR3JvdXAoJGdpZCk7CiAgfQoKCiAgZnVuY3Rpb24gR2V0VXNlcnNJbkdyb3VwKCAkZ2lkID0gJycsICRyZWdleCA9ICcnLCAkbGltaXQgPSAnJywgJHNvcnQgPSAnJywKCQkJICAgICRwcm9wZXJ0eSA9ICcnLCAkcHJvcHJlZ2V4ID0gJycsICRsb2dnZWRpbm9ubHkgPSAwKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFVzZXJzSW5Hcm91cCggJGdpZCwgJHJlZ2V4LCAkbGltaXQsICRzb3J0LAoJCQkJCSAgICAgICRwcm9wZXJ0eSwgJHByb3ByZWdleCwgJGxvZ2dlZGlub25seSApOwogIH0KCgogIGZ1bmN0aW9uIEdyb3VwRXhpc3RzQnlJRCggJGdpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R3JvdXBFeGlzdHNCeUlEKCAkZ2lkICk7CiAgfQoKICBmdW5jdGlvbiBHcm91cEV4aXN0c0J5TmFtZSggJG5hbWUgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdyb3VwRXhpc3RzQnlOYW1lKCAkbmFtZSApOwogIH0KCQogIGZ1bmN0aW9uIExvZ2dlZEluRW1haWwoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkxvZ2dlZEluRW1haWwoKTsKICB9CgogIGZ1bmN0aW9uIEdldEVtYWlsKCR1aWQpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0RW1haWwoJHVpZCk7CiAgfQoKICBmdW5jdGlvbiBHZXRQcm9wZXJ0eURlZm5zKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRQcm9wZXJ0eURlZm5zKCk7CiAgfQoKICBmdW5jdGlvbiBHZXRQcm9wZXJ0eURlZm4oICRuYW1lICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRQcm9wZXJ0eURlZm4oICRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBHZXRTZWxlY3RPcHRpb25zKCAkbmFtZSwgJGRpbSA9IDEgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFNlbGVjdE9wdGlvbnMoICRuYW1lLCAkZGltICk7CiAgfQoKICAKICBmdW5jdGlvbiBHZXRVc2VyTmFtZSgkdXNlcmlkKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5HZXRVc2VyTmFtZSgkdXNlcmlkKTsKICB9CgogIAogIGZ1bmN0aW9uIEdldFVzZXJJRCgkdXNlcm5hbWUpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldFVzZXJJRCgkdXNlcm5hbWUpOwogIH0KCgogIGZ1bmN0aW9uIEdldEdyb3VwTmFtZSgkZ3JvdXBpZCkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0R3JvdXBOYW1lKCAkZ3JvdXBpZCApOwogIH0KCiAgZnVuY3Rpb24gR2V0R3JvdXBEZXNjKCRncm91cGlkKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldEdyb3VwRGVzYyggJGdyb3VwaWQgKTsKICB9CgoKICBmdW5jdGlvbiBHZXRHcm91cExpc3QoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldEdyb3VwTGlzdCgpOwogIH0KCiAgCiAgZnVuY3Rpb24gR2V0R3JvdXBMaXN0RnVsbCgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+R2V0R3JvdXBMaXN0RnVsbCgpOwogIH0KCiAgZnVuY3Rpb24gR2V0R3JvdXBJRCgkZ3JvdXBuYW1lKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldEdyb3VwSUQoICRncm91cG5hbWUgKTsKICB9CgogIAogZnVuY3Rpb24gR2V0TWVtYmVyR3JvdXBzKCR1c2VyaWQpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkdldE1lbWJlckdyb3VwcygkdXNlcmlkKTsKICB9CgogIAogIGZ1bmN0aW9uIElzQWNjb3VudEV4cGlyZWQoICR1aWQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPklzQWNjb3VudEV4cGlyZWQoICR1aWQgKTsKICB9CgogIAogIGZ1bmN0aW9uIElzVmFsaWRQYXNzd29yZCggJHBhc3N3b3JkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Jc1ZhbGlkUGFzc3dvcmQoICRwYXNzd29yZCApOwogIH0KCiAKICBmdW5jdGlvbiBJc1ZhbGlkRW1haWxBZGRyZXNzKCAkZW1haWwsICR1aWQgPSAtMSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+SXNWYWxpZEVtYWlsQWRkcmVzcyggJGVtYWlsLCAkdWlkICk7CiAgfQoKICAKICBmdW5jdGlvbiBJc1ZhbGlkVXNlcm5hbWUoICR1c2VybmFtZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKTsKICB9CgogIAogIGZ1bmN0aW9uIExvZ2luKCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGdyb3VwcyA9ICcnLCAkbWQ1cHcgPSBmYWxzZSwKCQkkZm9yY2VfbG9nb3V0ID0gZmFsc2UpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+TG9naW4oICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZ3JvdXBzLAoJCQkJICAgICRtZDVwdywgJGZvcmNlX2xvZ291dCk7CiAgfQoKCiAgZnVuY3Rpb24gTG9nZ2VkSW5OYW1lKCkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkc3RyID0gJHRoaXMtPnVzZXJtYW5pcC0+TG9nZ2VkSW5OYW1lKCk7CiAgICByZXR1cm4gJHN0cjsKICB9CgogIAogIGZ1bmN0aW9uIExvZ291dCgkdWlkID0gJycpIAogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPkxvZ291dCgkdWlkKTsKICB9CgogIAogIGZ1bmN0aW9uIExvZ291dFVzZXIoJHVpZCwkZXZlbnRtc2cgPSAnbG9nb3V0JykgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+TG9nb3V0VXNlcigkdWlkLCRldmVudG1zZyk7CiAgfQoKIAogIGZ1bmN0aW9uIExvZ2dlZEluSWQoKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Mb2dnZWRJbklkKCk7CiAgfQoKIAogIGZ1bmN0aW9uIExvZ2dlZEluKCkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+TG9nZ2VkSW4oKTsKICB9CgogCiAgZnVuY3Rpb24gTWVtYmVyT2ZHcm91cCgkdXNlcmlkLCRncm91cGlkKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5NZW1iZXJPZkdyb3VwKCR1c2VyaWQsJGdyb3VwaWQpOwogIH0KCiAgCiAgZnVuY3Rpb24gUmVtb3ZlVXNlclRlbXBDb2RlKCAkdWlkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5SZW1vdmVVc2VyVGVtcENvZGUoICR1aWQgKTsKICB9ICAKCiAgCiAgZnVuY3Rpb24gUmVtb3ZlVXNlckZyb21Hcm91cCggJHVpZCwgJGdpZCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+UmVtb3ZlVXNlckZyb21Hcm91cCggJHVpZCwgJGdpZCApOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0VXNlclRlbXBDb2RlKCAkdWlkLCAkY29kZSApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+U2V0VXNlclRlbXBDb2RlKCAkdWlkLCAkY29kZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnKSApOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0UHJvcGVydHlEZWZuKCAkbmFtZSwgJG5ld25hbWUsICRwcm9tcHQsICRsZW5ndGgsICR0eXBlLCAkbWF4bGVuZ3RoICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRQcm9wZXJ0eURlZm4oICRuYW1lLCAkbmV3bmFtZSwgJHByb21wdCwgJGxlbmd0aCwgJHR5cGUsICRtYXhsZW5ndGggKTsKICB9CgogIAogIGZ1bmN0aW9uIFNldEdyb3VwKCAkZ2lkLCAkbmFtZSwgJGRlc2MgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlNldEdyb3VwKCAkZ2lkLCAkbmFtZSwgJGRlc2MgKTsKICB9CgogIAogIGZ1bmN0aW9uIFNldFVzZXJQYXNzd29yZCggJHVpZCwgJHBhc3N3b3JkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRVc2VyUGFzc3dvcmQoICR1aWQsICRwYXNzd29yZCApOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0VXNlciggJHVpZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzID0gZmFsc2UgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT51c2VybWFuaXAtPlNldFVzZXIoICR1aWQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZXhwaXJlcyApOwogIH0KCiAgZnVuY3Rpb24gU2V0VXNlckdyb3VwcyggJHVpZCwgJGdycGlkcyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+U2V0VXNlckdyb3VwcyggJHVpZCwgJGdycGlkcyApOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0VXNlclByb3BlcnRpZXMoICR1aWQsICRwcm9wcyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+U2V0VXNlclByb3BlcnRpZXMoICR1aWQsICRwcm9wcyApOwogIH0KCiAgZnVuY3Rpb24gU2V0VXNlclByb3BlcnR5KCR0aXRsZSwkZGF0YSkgCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnVzZXJtYW5pcC0+U2V0VXNlclByb3BlcnR5KCR0aXRsZSwkZGF0YSk7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkZGF0YSwkdXNlcmlkKSAKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5TZXRVc2VyUHJvcGVydHlGdWxsKCR0aXRsZSwkZGF0YSwkdXNlcmlkKTsKICB9CgogIGZ1bmN0aW9uIFVzZXJFeGlzdHNCeUlEKCAkdWlkICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dXNlcm1hbmlwLT5Vc2VyRXhpc3RzQnlJRCggJHVpZCApOwogIH0KCiAgZnVuY3Rpb24gX2VuY3J5cHQoJGtleSwkZGF0YSkKICB7CiAgICBpZiggIWZ1bmN0aW9uX2V4aXN0cygnbWNyeXB0X21vZHVsZV9vcGVuJykgKSByZXR1cm4gRkFMU0U7CiAgICBkaWUoJ2dvdCBoZXJlIDMnKTsKICAgIHNyYW5kKChkb3VibGUpIG1pY3JvdGltZSgpICogMTAwMDAwMCk7CiAgICAkZW5jZGF0YSA9IEZBTFNFOwogICAgJHRkID0gQG1jcnlwdF9tb2R1bGVfb3BlbihNQ1JZUFRfREVTLCcnLE1DUllQVF9NT0RFX0VDQiwnJyk7CiAgICBpZiggJHRkID09PSBGQUxTRSApIHJldHVybiBGQUxTRTsKCiAgICBlY2hvICJERUJVRzoga2V5IHNpemUgPSAiLm1jcnlwdF9lbmNfZ2V0X2tleV9zaXplKCR0ZCkuIjxici8+IjsKICAgICRrZXkgPSBzdWJzdHIoJGtleSwwLG1jcnlwdF9lbmNfZ2V0X2tleV9zaXplKCR0ZCkpOwogICAgZWNobyAiREVCVUc6IGtleSA9ICRrZXk8YnIvPiI7CiAgICAkaXZfc2l6ZSA9IG1jcnlwdF9lbmNfZ2V0X2l2X3NpemUoJHRkKTsKICAgIGVjaG8gIkRFQlVHOiBpdiBzaXplID0gJGl2X3NpemU8YnIvPiI7CiAgICAkaXYgPSBtY3J5cHRfY3JlYXRlX2l2KCRpdl9zaXplLCBNQ1JZUFRfUkFORCk7CgogICAgLy8gaW5pdGlhbGl6ZSBlbmNyeXB0aW9uIGhhbmRsZQogICAgJHRtcCA9ICRtY3J5cHRfZ2VuZXJpY19pbml0KCR0ZCwka2V5LCAkaXYpOwogICAgaWYoICR0bXAgIT0gLTEgKQogICAgICB7CgkkdG1wID0gbWNyeXB0X2dlbmVyaWMoJHRkLCRkYXRhKTsKCXByaXRuX3IoICR0bXAgKTsgCgltY3J5cHRfZ2VuZXJpY19kZWluaXQoJHRkKTsKCSRlbmNkYXRhID0gJGl2LiR0bXA7CiAgICAgIH0KICAgIG1jcnlwdF9tb2R1bGVfY2xvc2UoJHRkKTsKICAgIHJldHVybiAkZW5jZGF0YTsKICAgIGRpZSgpOwogIH0KCiAgZnVuY3Rpb24gX2RlY3J5cHQoJGtleSwkZW5jZGF0YSkKICB7CiAgICBpZiggIWZ1bmN0aW9uX2V4aXN0cygnbWNyeXB0X21vZHVsZV9vcGVuJykgKSByZXR1cm4gRkFMU0U7CiAgICAkZGF0YSA9IEZBTFNFOwogICAgJHRkID0gQG1jcnlwdF9tb2R1bGVfb3BlbihNQ1JZUFRfREVTLCcnLE1DUllQVF9NT0RFX0VDQiwnJyk7CiAgICBpZiggJHRkID09PSBGQUxTRSApIHJldHVybiBGQUxTRTsKCiAgICAka2V5ID0gc3Vic3RyKCRrZXksMCxtY3J5cHRfZW5jX2dldF9rZXlfc2l6ZSgkdGQpKTsKICAgICRpdl9zaXplID0gbWNyeXB0X2VuY19nZXRfaXZfc2l6ZSgkdGQpOwogICAgJGl2ID0gbWNyeXB0X2NyZWF0ZV9pdigkaXZfc2l6ZSwgTUNSWVBUX1JBTkQpOwoKICAgIC8vIGluaXRpYWxpemUgZW5jcnlwdGlvbiBoYW5kbGUKICAgICR0bXAgPSAkbWNyeXB0X2dlbmVyaWNfaW5pdCgkdGQsJGtleSwgJGl2KTsKICAgIGlmKCAkdG1wICE9IC0xICkKICAgICAgewoJJGRhdGEgPSBtZGVjcnlwdF9nZW5lcmljKCR0ZCwkZW5jZGF0YSk7CgltY3J5cHRfZ2VuZXJpY19kZWluaXQoJHRkKTsKICAgICAgfQogICAgbWNyeXB0X21vZHVsZV9jbG9zZSgkdGQpOwogICAgcmV0dXJuICRkYXRhOwogIH0KCn0gLy8gY2xhc3MKCgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.admin_admintab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAvLyBhIGZvcm0gZm9yIHBlcmZvcm1pbmcgdmFyaW91cyBhZG1pbiB0YXNrcwogIC8vIGxpa2UgZXhwb3J0aW5nIHVzZXJzIHRvIENTViwgcmVzZXR0aW5nIGV4cGlyeSBkYXRlcywgZXRjLCBldGMuCiAgICAKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAKCQkgICAgICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19hZG1pbnRhc2tzJywgJHJldHVybmlkLAoJCQkJCSAgICAgICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfaGlkZGVuJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdhY3RpdmVfdGFiJywnYWRtaW4nKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBUaGUgZXhwb3J0IGZpZWxkcy4KJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmRfZXhwb3J0dXNlcnMnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZXhwb3J0dXNlcnMnKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2V4cG9ydHVzZXJzJywkdGhpcy0+TGFuZygncHJvbXB0X2V4cG9ydGNzdicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9leHBvcnR1c2VycycsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnYnV0dG9uX2V4cG9ydHVzZXJzJywKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2V4cG9ydGNzdicpKSk7CgovLyBUaGUgaW1wb3J0IGZpZWxkcwokc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZF9pbXBvcnR1c2VycycsJHRoaXMtPkxhbmcoJ3Byb21wdF9pbXBvcnR1c2VycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW1wb3J0dXNlcnN0b2dyb3VwJywkdGhpcy0+TGFuZygncHJvbXB0X2ltcG9ydGRlc3Rncm91cCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbXBvcnR1c2Vyc3RvZ3JvdXAnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfaW1wb3J0ZGVzdGdyb3VwJywKCQkJCQkgICAkdGhpcy0+R2V0R3JvdXBMaXN0KCkpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW1wb3J0dXNlcnNmaWxlJywkdGhpcy0+TGFuZygncHJvbXB0X2ltcG9ydGZpbGVuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ltcG9ydHVzZXJzZmlsZScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2lucHV0X2ltcG9ydHVzZXJzZmlsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbXBvcnR1c2Vyc2J0bicsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnYnV0dG9uX2ltcG9ydHVzZXJzJywKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2ltcG9ydGNzdicpKSk7CiRzbWFydHktPmFzc2lnbignaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnLAoJCSR0aGlzLT5MYW5nKCdpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCcpKTsKCgokc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZF91c2VyaGlzdG9yeW1haW50ZW5hbmNlJywKCQkkdGhpcy0+TGFuZygndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknKSk7CiRleHBvcnRsaXN0ID0gYXJyYXkoKTsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfYWxscmVjb3JkcycpXSA9IC0xOwokZXhwb3J0bGlzdFskdGhpcy0+TGFuZygnZGF0ZV9vbmVob3Vyb2xkJyldID0gJzFoJzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfc2l4aG91cm9sZCcpXSA9ICc2aCc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3R3ZWx2ZWhvdXJvbGQnKV0gPSAnMTJoJzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25lZGF5b2xkJyldID0gJzFoJzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25ld2Vla29sZCcpXSA9ICcxdyc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3R3b3dlZWtzb2xkJyldID0gJzJ3JzsKJGV4cG9ydGxpc3RbJHRoaXMtPkxhbmcoJ2RhdGVfb25lbW9udGhvbGQnKV0gPSAnMW0nOwokZXhwb3J0bGlzdFskdGhpcy0+TGFuZygnZGF0ZV90aHJlZW1vbnRoc29sZCcpXSA9ICczbSc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX3NpeG1vbnRoc29sZCcpXSA9ICc2bSc7CiRleHBvcnRsaXN0WyR0aGlzLT5MYW5nKCdkYXRlX29uZXllYXJvbGQnKV0gPSAnMXknOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V4cG9ydHVzZXJoaXN0b3J5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2V4cG9ydHVzZXJoaXN0b3J5JywKCQkJCQkgICAkZXhwb3J0bGlzdCkpOwokc21hcnR5LT5hc3NpZ24oJ2J1dHRvbl9leHBvcnR1c2VyaGlzdG9yeScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnYnV0dG9uX2V4cG9ydHVzZXJoaXN0b3J5JywkdGhpcy0+TGFuZygnZXhwb3J0JykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jbGVhcnVzZXJoaXN0b3J5JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2NsZWFydXNlcmhpc3RvcnknLAoJCQkJCSAgICRleHBvcnRsaXN0KSk7CiRzbWFydHktPmFzc2lnbignYnV0dG9uX2NsZWFydXNlcmhpc3RvcnknLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2J1dHRvbl9jbGVhcnVzZXJoaXN0b3J5JywkdGhpcy0+TGFuZygnY2xlYXInKSkpOwoKLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnRhc2tzLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_clearuserhistory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8gR2V0IHRoZSBzdGFydCBkYXRlCiRkYXRlID0gJy0xJzsKc3dpdGNoKCAkcGFyYW1zWydpbnB1dF9jbGVhcnVzZXJoaXN0b3J5J10gKQogIHsKICBjYXNlICcxaCc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMSBob3VyIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnNmgnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzYgaG91cnMgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICcxMmgnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEyIGhvdXJzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMWQnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgZGF5IGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMXcnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgd2VlayBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzJ3JzoKICAgICRkYXRlID0gc3RydG90aW1lKCcyIHdlZWtzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMW0nOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgbW9udGggYWdvJyk7CiAgICBicmVhazsKICBjYXNlICczbSc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMyBtb250aHMgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICc2bSc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnNiBtb250aHMgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICcxeSc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMSB5ZWFyIGFnbycpOwogICAgYnJlYWs7CiAgfQoKJGRiID0mICR0aGlzLT5HZXREYigpOwokcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiOwokcGFybXMgPSBhcnJheSgpOwppZiggJGRhdGUgIT0gLTEgKQogIHsKICAgICRxdWVyeSAuPSAiIFdIRVJFIHJlZmRhdGUgPCA/IjsKICAgICRwYXJtc1tdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwiJyIpOwogIH0KCiRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCAkcGFybXMgKTsKJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJyk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_exportuserhistory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8gR2V0IHRoZSBzdGFydCBkYXRlCiRkYXRlID0gJy0xJzsKc3dpdGNoKCAkcGFyYW1zWydpbnB1dF9leHBvcnR1c2VyaGlzdG9yeSddICkKICB7CiAgY2FzZSAnMWgnOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgaG91ciBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzZoJzoKICAgICRkYXRlID0gc3RydG90aW1lKCc2IGhvdXJzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMTJoJzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxMiBob3VycyBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzFkJzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxIGRheSBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzF3JzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxIHdlZWsgYWdvJyk7CiAgICBicmVhazsKICBjYXNlICcydyc6CiAgICAkZGF0ZSA9IHN0cnRvdGltZSgnMiB3ZWVrcyBhZ28nKTsKICAgIGJyZWFrOwogIGNhc2UgJzFtJzoKICAgICRkYXRlID0gc3RydG90aW1lKCcxIG1vbnRoIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnM20nOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzMgbW9udGhzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnNm0nOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzYgbW9udGhzIGFnbycpOwogICAgYnJlYWs7CiAgY2FzZSAnMXknOgogICAgJGRhdGUgPSBzdHJ0b3RpbWUoJzEgeWVhciBhZ28nKTsKICAgIGJyZWFrOwogIH0KCiR1c2VyaW5mbyA9IGFycmF5KCk7CgovLyB3ZSB3YW50IHRvIGV4cG9ydCBhIGNzdiBmaWxlIGRvIHdlCmhlYWRlcignQ29udGVudC1EZXNjcmlwdGlvbjogRmlsZSBUcmFuc2ZlcicpOwpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQnKTsKaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT11c2VyaGlzdG9yeS5jc3YnKTsKd2hpbGUoQG9iX2VuZF9jbGVhbigpKTsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRvbmUgPSAwOwokc3RhcnQgPSAwOwokbnVtID0gMjsgLy8gdG9kbywgc2hvdWxkIGJlIGEgcHJlZmVyZW5jZQokcWJhc2UgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSAiOwokcGFybXMgPSBhcnJheSgpOwppZiggJGRhdGUgIT0gLTEgKQogIHsKICAgICRxYmFzZSAuPSAnIFdIRVJFIHJlZmRhdGUgPCA/JzsKICAgICRwYXJtc1tdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwiJyIpOwogIH0KCndoaWxlKCAkZG9uZSA9PSAwICkKICB7CiAgICAkcXVlcnkgPSAkcWJhc2UgLiAiIExJTUlUICRzdGFydCwkbnVtIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCAkcGFybXMgKTsKICAgIGlmKCAhJGRicmVzdWx0IHx8ICgkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCkgKQogICAgICB7CgkkZG9uZSA9IDE7CglicmVhazsKICAgICAgfQoKICAgICRvdXRwdXQgPSAnJzsKICAgIHdoaWxlKCAkZGJyZXN1bHQgJiYgISRkYnJlc3VsdC0+RU9GICkKICAgICAgewoJJGZpZWxkcyA9ICRkYnJlc3VsdC0+ZmllbGRzOwoJCgkkdWlkID0gJGZpZWxkc1sndXNlcmlkJ107CglpZiggJHVpZCA+IDAgKQoJICB7CgkgICAgaWYoICFpc3NldCggJHVzZXJpbmZvWyR1aWRdICkgKQoJICAgICAgewoJCSRyZXMgPSAkdGhpcy0+R2V0VXNlckluZm8oJHVpZCk7CgkJJHVzZXJpbmZvWyR1aWRdID0gJHJlc1sxXTsKCSAgICAgIH0KCSAgICAkdXNlcm5hbWUgPSAkdXNlcmluZm9bJHVpZF1bJ3VzZXJuYW1lJ107CgkgICAgJGZpZWxkc1tdID0gJHVzZXJpbmZvWyR1aWRdWyd1c2VybmFtZSddOwoJICB9CgllbHNlCgkgIHsKCSAgICAkZmllbGRzW10gPSAndW5rbm93bic7CgkgIH0KCgkkb3V0cHV0IC49IGltcGxvZGUoJywnLCRmaWVsZHMpLiJcbiI7CgoJLy8gY2hlYXQsIGNvbnZlcnQgdXNlcmlkIHRvIHVzZXJuYW1lCgkkZGJyZXN1bHQtPk1vdmVOZXh0KCk7CiAgICAgIH0KICAgIGVjaG8gJG91dHB1dDsKICAgICRzdGFydCArPSAkbnVtOwogIH0KZXhpdCgpOwoKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_groupstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICRncm91cHMgPSAkdGhpcy0+R2V0R3JvdXBMaXN0RnVsbCgpOwogICRyb3djbGFzcyA9ICdyb3cxJzsKCiAgJHJvd2FycmF5ID0gYXJyYXkoKTsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oICdncm91cHNmb3VuZCcsICR0aGlzLT5MYW5nKCdncm91cHNmb3VuZCcpKTsKICBmb3JlYWNoKCAkZ3JvdXBzIGFzICRvbmVncm91cCApCiAgICB7CiAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnbGlzdGdyb3VwcycpICkKCXsKCSAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJICAkb25lcm93LT5pZCA9ICRvbmVncm91cFsnaWQnXTsKCSAgJG9uZXJvdy0+bmFtZSA9CgkgICAgJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwgJG9uZWdyb3VwWydncm91cG5hbWUnXSwKCQkJCSBhcnJheSAoJ2dyb3VwX2lkJyA9PiAkb25lZ3JvdXBbJ2lkJ10pKTsJCQkgICAgICAgCgkgICRvbmVyb3ctPmRlc2MgPSAkb25lZ3JvdXBbJ2dyb3VwZGVzYyddOwoJICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdGdyb3VwcycpICkKCSAgICB7CgkgICAgICAkb25lcm93LT5lZGl0bGluayA9CgkJJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2VkaXRncm91cCcsICRyZXR1cm5pZCwKCQkJCSAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSAgICAgYXJyYXkgKCdncm91cF9pZCcgPT4gJG9uZWdyb3VwWydpZCddKSk7CgkgICAgICAkb25lcm93LT5leHBvcnRsaW5rID0KCQkkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnYWRtaW5fZXhwb3J0Z3JvdXAnLCAkcmV0dXJuaWQsCgkJCQkgICAnPGltZyBzcmM9Ii4uL2ltYWdlcy9jbXMveG1sX3Jzcy5naWYiLz4nLAoJCQkJICAgYXJyYXkoJ2dyb3VwX2lkJz0+JG9uZWdyb3VwWydpZCddLAoJCQkJCSAnZGlzYWJsZV9idWZmZXInPT4xLAoJCQkJCSAnZGlzYWJsZV90aGVtZSc9PjEpLAoJCQkJICAgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJzeXN0ZW1pY29uIiB0aXRsZT0iJy4kdGhpcy0+TGFuZygndGl0bGVfcnNzZXhwb3J0JykuJyInKTsKCSAgICB9CgkgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygncmVtb3ZlZ3JvdXBzJykgJiYKCSAgICAgIGNvdW50KCR0aGlzLT5HZXRVc2Vyc0luR3JvdXAoICRvbmVncm91cFsnaWQnXSApKSA9PSAwICkKCSAgICB7CgkgICAgICAkb25lcm93LT5kZWxldGVsaW5rID0KCQkkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZG9fZGVsZXRlZ3JvdXAnLCAkcmV0dXJuaWQsCgkJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgICBhcnJheSAoJ2dyb3VwX2lkJyA9PiAkb25lZ3JvdXBbJ2lkJ10pLAoJCQkJICAgICAkdGhpcy0+TGFuZyAoJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnKSk7CgkgICAgfQoJICAKCSAgJHJvd2FycmF5W10gPSAkb25lcm93OwoJICAoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cgl9CgogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJHJvd2FycmF5KSk7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbXMnLCRyb3dhcnJheSk7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBzZm91bmQnLCAkdGhpcy0+TGFuZygnZ3JvdXBzZm91bmQnKSApOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lkdGV4dCcsICR0aGlzLT5MYW5nKCdpZCcpKTsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Rlc2N0ZXh0JywgJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uJykpOwogICAgfQoKICBpZiggJHRoaXMtPl9IYXNTdWZmaWNpZW50UGVybWlzc2lvbnMoJ2xpc3Rncm91cHMnKSApCiAgICB7CiAgICAgICRwcm9wZGVmbnMgPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZucygpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb3Bjb3VudCcsY291bnQoJHByb3BkZWZucykpOwogICAgICBpZiggaXNfYXJyYXkoJHByb3BkZWZucykgJiYgY291bnQoJHByb3BkZWZucykgPiAwICkKCXsKCSAgJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkZGdyb3VwJywgJHJldHVybmlkLAoJCQkJCSAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywKCQkJCQkJCQkJCQkgICR0aGlzLT5MYW5nKCdhZGRncm91cCcpLCcnLCcnLCdzeXN0ZW1pY29uJykpLicgJy4KCQkJICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRkZ3JvdXAnLAoJCQkJCSAgICAgJHJldHVybmlkLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2FkZGdyb3VwJykpKTsKCX0KCiAgICAgICRzbWFydHktPmFzc2lnbignaW1wb3J0bGluaycsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkbWluX2ltcG9ydGdyb3VwJywgJHJldHVybmlkLAoJCQkJCSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ltcG9ydC5naWYnLAoJCQkJCQkJCQkJICAgICAgJHRoaXMtPkxhbmcoJ2ltcG9ydGdyb3VwJyksJycsJycsJ3N5c3RlbWljb24nKSkuJyAnLgoJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9pbXBvcnRncm91cCcsCgkJCQkJICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2ltcG9ydGdyb3VwJykpKTsKICAgICAgCiAgICB9CgogIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSggJ2dyb3VwbGlzdC50cGwnICk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_importusers.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKCi8vIEEgZnVuY3Rpb24gdG8gcmVhZCBhIGxpbmUgZnJvbSB0aGUgZmlsZQovLyB0cmltIGFueSBuZXdsaW5lIG9yIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBmcm9tIGl0Ci8vIGNsZWFyIGFueSBjb21tZW50cyBmcm9tIHRoZSBsaW5lCi8vIGFuZCByZXR1cm4gd2hhdCdzIGxlZnQuCmZ1bmN0aW9uIF9nZXRsaW5lKCYkZmgsJGNvbW1lbnRzID0gJy8vJykKewogICRpbmxpbmUgPSBmZ2V0cygkZmgsNDA5Nik7CiAgJHBvcyA9IHN0cnBvcygkaW5saW5lLCRjb21tZW50cyk7CiAgaWYoICRwb3MgIT09IEZBTFNFICkKICAgIHsKICAgICAgJGxpbmUgPSBzdWJzdHIoJGlubGluZSwwLCRwb3MpOwogICAgfQogIHJldHVybiB0cmltKCRpbmxpbmUpOwp9CgpmdW5jdGlvbiBfZXJyb3JvdXQoJHN0cikKewogIGVjaG8gJzxkaXYgY2xhc3M9ImVycm9yIj4nLiRzdHIuIjwvZGl2PlxuIjsKICBmbHVzaCgpOyBAb2JfZmx1c2goKTsKfQoKZnVuY3Rpb24gX3Jlc3VsdG91dCgkcHJvbXB0LCR2YWx1ZSkKewogIGVjaG8gJzxkaXYgY2xhc3M9InJlcG9ydGxpbmUiPic7CiAgZWNobyAnPHAgY2xhc3M9InByb21wdCI+Jy4kcHJvbXB0Lic8L3A+JzsKICBlY2hvICc8cCBjbGFzcz0idmFsdWUiPicuJHZhbHVlLic8L3A+JzsKICBlY2hvICc8L2Rpdj4nOwp9CgovLwovLyAxLiAgQ2hlY2sgdGhlIGlucHV0IHBhcmFtZXRlcnMKLy8gCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X2ltcG9ydGRlc3Rncm91cCddICkgKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKSk7CiAgICByZXR1cm47CiAgfQoKJGtleSA9ICRpZC4naW5wdXRfaW1wb3J0dXNlcnNmaWxlJzsKaWYoICghaXNzZXQoICRfRklMRVNbJGtleV0gKSkgCiAgICB8fCAkX0ZJTEVTWyRrZXldWydzaXplJ10gPD0gMCAKICAgIHx8ICRfRklMRVNbJGtleV1bJ2Vycm9yJ10gIT0gMCApCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfdXBsb2FkJykpKTsKICAgIHJldHVybjsKICB9CiRncm91cHByb3BtYXAgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJHBhcmFtc1snaW5wdXRfaW1wb3J0ZGVzdGdyb3VwJ10gKTsKaWYoICRncm91cHByb3BtYXBbMF0gPT0gRkFMU0UgKQogIHsKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9ub2dyb3VwcHJvcGVydGllcycpKSk7CiAgICByZXR1cm47CiAgfQokcHJvcGRlZm5zID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbnMoKTsKaWYoICEkcHJvcGRlZm5zICkKICB7CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwnYWRtaW4nLAoJCQkgICBhcnJheSgnZXJyb3InPT4kdGhpcy0+TGFuZygnZXJyb3JfcHJvcGVydHlkZWZucycpKSk7CiAgICByZXR1cm47CiAgfQokaW1hZ2VEaXIgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SOwokaW1hZ2VEaXIgLj0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCAnZmV1c2VycycpOwoKLy8KLy8gMi4gIE9wZW4gdGhlIHVwbG9hZGVkIGZpbGUKLy8KJGhhbmRsZSA9IGZvcGVuKCRfRklMRVNbJGtleV1bJ3RtcF9uYW1lJ10sICJyIik7CmlmKCAhJGhhbmRsZSApCiAgewogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnKSkpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIDMuICBSZWFkIHRoZSBmaXJzdCBsaW5lLCB2YWxpZGF0ZSBpdCdzIHN5bnRheCwgYW5kIGJ1aWxkIGEgZmllbGQgbWFwCi8vCiRmaXJzdGxpbmUgPSBfZ2V0bGluZSgkaGFuZGxlKTsKaWYoIHN1YnN0cigkZmlyc3RsaW5lLCcjIycpICE9IDAgKQogIHsKICAgICMgdGhlIHRvcCBsaW5lIGRvZXNuJ3QgaGF2ZSB0d28gcG91bmQgY2hhcnMKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnRmaWxlZm9ybWF0JykpKTsKICAgIHJldHVybjsKICB9CiRmaXJzdGxpbmUgPSBzdWJzdHIoJGZpcnN0bGluZSwyKTsKJHRtcG1hcCA9IGV4cGxvZGUoJywnLCRmaXJzdGxpbmUpOwppZiggY291bnQoJHRtcG1hcCkgPCAzICkKICB7CiAgICAjIGluc3VmZmljaWVudCBmaWVsZHMKICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgIGFycmF5KCdlcnJvcic9PiR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnRmaWxlZm9ybWF0JykpKTsKICAgIHJldHVybjsKICB9CiR0bXBtYXAyID0gYXJyYXkoKTsKJGk9MDsKZm9yZWFjaCggJHRtcG1hcCBhcyAkdG1wICkKewogIGlmKCBpc3NldCgkdG1wbWFwMlskdG1wXSkgKQogICAgewogICAgICAjIGR1cGxpY2F0ZSBmaWVsZCByZWZlcmVuY2UKICAgICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgICBhcnJheSgnZXJyb3InPT4kdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCcpKSk7CiAgICAgIHJldHVybjsKICAgIH0KICAkdG1wbWFwMlskdG1wXSA9ICRpOwogICRpKys7Cn0KCgovLyAKLy8gNC4gIENoZWNrIHRoZSBmaWVsZCBtYXAgYWdhaW5zdCB0aGUgcmVxdWlyZWQgZmllbGRzLCBhbmQgdGhlIGdyb3VwcyBwcm9wZXJ0aWVzCi8vCgovLwovLyA0LjEgQ2hlY2sgZm9yIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIGV4cGlyZXMgZmllbGRzCiRoYXZlX3VzZXJuYW1lID0gRkFMU0U7CiRoYXZlX3Bhc3N3b3JkID0gRkFMU0U7CiRoYXZlX2V4cGlyZXMgID0gRkFMU0U7CmZvcmVhY2goICR0bXBtYXAyIGFzICRvbmVmaWVsZG5hbWUgPT4gJGluZGV4ICkKewogIGlmKCAkb25lZmllbGRuYW1lID09ICd1c2VybmFtZScgKQogICAgewogICAgICAkaGF2ZV91c2VybmFtZSA9IFRSVUU7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICBpZiggJG9uZWZpZWxkbmFtZSA9PSAncGFzc3dvcmQnICkKICAgIHsKICAgICAgJGhhdmVfcGFzc3dvcmQgPSBUUlVFOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgaWYoICRvbmVmaWVsZG5hbWUgPT0gJ2V4cGlyZXMnICkKICAgIHsKICAgICAgJGhhdmVfZXhwaXJlcyA9IFRSVUU7CiAgICAgIGNvbnRpbnVlOwogICAgfQp9CgovLwovLyA0LjIgY2hlY2sgZm9yIHJlcXVpcmVkIHByb3BlcnRpZXMKZm9yZWFjaCggJGdyb3VwcHJvcG1hcCBhcyAkb25lZ3JvdXBwcm9wICkKewogIGlmKCAkb25lZ3JvdXBwcm9wWydyZXF1aXJlZCddICE9IDIgKQogICAgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgLy8gcmVxdWlyZWQgZmllbGRzIG9ubHkKICAkZm91bmRfcmVxdWlyZWQgPSBGQUxTRTsKICBmb3JlYWNoKCAkdG1wbWFwMiBhcyAkb25lZmllbGRuYW1lICkKICAgIHsKICAgICAgaWYoICRvbmVmaWVsZG5hbWUgPT0gJG9uZWdyb3VwcHJvcFsnbmFtZSddICkKCXsKCSAgJGZvdW5kX3JlcXVpcmVkID0gVFJVRTsKCSAgYnJlYWs7Cgl9CiAgICB9CgogIGlmKCAkZm91bmRfcmVxdWlyZWQgPT09IEZBTFNFICkKICAgIHsKICAgICAgLy8gY291bGQgbm90IGZpbmQgcmVxdWlyZWQgZmllbGQgCiAgICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCdhZG1pbicsCgkJCSAgICAgYXJyYXkoJ2Vycm9yJz0+JHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnLAoJCQkJCQkJJG9uZWdyb3VwcHJvcFsnbmFtZSddKSkpOwogICAgICByZXR1cm47CiAgICB9Cn0KaWYoICRoYXZlX3VzZXJuYW1lID09PSBGQUxTRSApCiAgewogICAgICAvLyBjb3VsZCBub3QgZmluZCByZXF1aXJlZCBmaWVsZCAKICAgICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYigkaWQsJ2FkbWluJywKCQkJICAgICBhcnJheSgnZXJyb3InPT4kdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCcsCgkJCQkJCQkndXNlcm5hbWUnKSkpOwogICAgICByZXR1cm47CiAgfQoKLy8KLy8gNC4zIC0tIFJlbW92ZSBmcm9tIHRoZSBmaWVsZCBtYXAsIGFsbCBmaWVsZHMgdGhhdCB3ZSdyZSBub3QgZ29pbmcgdG8KLy8gICAgICAgIHByb2Nlc3MgKGhpZGRlbiBmaWVsZHMsIG9yIGZpZWxkcyB3ZSBkb24ndCBrbm93IGFib3V0CiRmaWVsZG1hcCA9IGFycmF5KCk7CmZvcmVhY2goICR0bXBtYXAyIGFzICRvbmVmaWVsZG5hbWUgPT4gJHZhbHVlICkKewogIGlmKCAkb25lZmllbGRuYW1lID09ICd1c2VybmFtZScgJiYgJGhhdmVfdXNlcm5hbWUgPT09IFRSVUUgKQogICAgewogICAgICAkZmllbGRtYXBbJG9uZWZpZWxkbmFtZV0gPSAkdmFsdWU7CiAgICAgIGNvbnRpbnVlOwogICAgfQogIGlmKCAkb25lZmllbGRuYW1lID09ICdwYXNzd29yZCcgJiYgJGhhdmVfcGFzc3dvcmQgPT09IFRSVUUgKQogICAgewogICAgICAkZmllbGRtYXBbJG9uZWZpZWxkbmFtZV0gPSAkdmFsdWU7CiAgICAgIGNvbnRpbnVlOwogICAgfQogIGlmKCAkb25lZmllbGRuYW1lID09ICdleHBpcmVzJyAmJiAkaGF2ZV9leHBpcmVzID09PSBUUlVFICkKICAgIHsKICAgICAgJGZpZWxkbWFwWyRvbmVmaWVsZG5hbWVdID0gJHZhbHVlOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgLy8gbm93IHNlZSBpZiBpdCdzIGEgcmVxdWlyZWQsb3B0aW9uYWwgb3IgaGlkZGVuIGZpZWxkLgogIC8vIHRoZXNlIGZpZWxkcyBzdGF5IGluIHRoZSBmaWVsZCBtYXAsIG90aGVycyBkb24ndC4KICAkb2sgPSBGQUxTRTsKICBmb3JlYWNoKCAkZ3JvdXBwcm9wbWFwIGFzICRvbmVncm91cHByb3AgKQogICAgewogICAgICBpZiggJG9uZWZpZWxkbmFtZSAhPSAkb25lZ3JvdXBwcm9wWyduYW1lJ10gKSBjb250aW51ZTsKCiAgICAgIGlmKCAkb25lZ3JvdXBwcm9wWydyZXF1aXJlZCddID09IDAgKSBjb250aW51ZTsKCiAgICAgICRvayA9IFRSVUU7CiAgICB9CiAgaWYoICRvayA9PT0gVFJVRSApCiAgICB7CiAgICAgICRmaWVsZG1hcFskb25lZmllbGRuYW1lXSA9ICR2YWx1ZTsKICAgIH0KfQoKCi8vCi8vIDUuICBQcmVwYXJlIGZvciBwcm9ncmVzcyBvdXRwdXQKLy8KZWNobyAnCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmRpdi5wcm9ncmVzcyB7CiAgY29sb3I6ICMzODQ2NTQ7ICAKfQpkaXYuZXJyb3IgewogIGNvbG9yOiAjY2MwMDAwOwp9CmRpdi5yZXBvcnRsaW5lIHsKICBjbGVhcjogbGVmdDsKICBwYWRkaW5nLXRvcDogMXB4OwogIHdpZHRoOiA5NyU7IAogIG92ZXJmbG93OiBoaWRkZW47Cn0KcC5wcm9tcHQgewogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgZmxvYXQ6IGxlZnQ7CiAgcGFkZGluZy10b3A6IDVweDsKICBwYWRkaW5nLXJpZ2h0OiA1cHg7CiAgd2lkdGg6IDE1ZW07CiAgbWFyZ2luLWJvdHRvbTogMC41ZW07Cn0KcC52YWx1ZSB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgZmxvYXQ6IGxlZnQ7CiAgcGFkZGluZy10b3A6IDVweDsKICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKfQo8L3N0eWxlPic7CmVjaG8gJwo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyIgYWxpZ249ImNlbnRlciI+JzsKCgovLwovLyA2LiAgQmVnaW4gSW1wb3J0aW5nIFJlY29yZHMKLy8KJGxpbmVubyA9IDE7IC8vIHdlJ3ZlIGFscmVhZHkgcmVhZCBvbmUgbGluZQokZXJyb3JzID0gMDsKJGFkZGVkICA9IDA7CndoaWxlKCAhZmVvZiggJGhhbmRsZSApICkKICB7CiAgICAvLwogICAgLy8gNi4xIEdldCBhIGxpbmUsIGFuZCBjb252ZXJ0IGl0IGludG8gZmllbGRzCiAgICAkbGluZSA9IF9nZXRsaW5lKCAkaGFuZGxlICk7CiAgICAkbGluZW5vKys7CiAgICBpZiggJGxpbmUgPT0gJycgKSBjb250aW51ZTsKICAgICRmaWVsZHMgPSBleHBsb2RlKCAnLCcsICRsaW5lICk7CiAgICAKICAgIC8vCiAgICAvLyA2LjIgZ2V0IHRoZSB1c2VybmFtZSwgcGFzc3dvcmQgYW5kIGV4cGlyZXMgZGF0YQogICAgLy8gICAgIGFuZCBhZGQgdGhlIHVzZXIKICAgICR1c2VybmFtZSA9ICRmaWVsZHNbJGZpZWxkbWFwWyd1c2VybmFtZSddXTsKICAgICRwYXNzd29yZCA9ICdjaGFuZ2VtZSc7ICAgICAgICAgICAgICAgLy8gdG9kbywgY3VzdG9taXphYmxlCiAgICAkZXhwaXJlcyAgPSBzdHJ0b3RpbWUoIisxMCB5ZWFycyIpOyAgIC8vIHRvZG8sIGN1c3RvbWl6YWJsZQogICAgaWYoICRoYXZlX3Bhc3N3b3JkICkKICAgICAgewoJLy8gZXhwZWN0IHBsYWludGV4dCBwYXNzd29yZAoJJHBhc3N3b3JkID0gJGZpZWxkc1skZmllbGRtYXBbJ3Bhc3N3b3JkJ11dOwogICAgICB9CiAgICBpZiggJGhhdmVfZXhwaXJlcyApCiAgICAgIHsKCS8vIGV4cGVjdCBhIHN0cmluZyB0aW1lCgkkZXhwaXJlcyA9IHN0cnRvdGltZSgkZmllbGRzWyRmaWVsZG1hcFsnZXhwaXJlcyddXSk7CiAgICAgIH0KICAgICRyZXN1bHQgPSAkdGhpcy0+QWRkVXNlciggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRleHBpcmVzICk7CiAgICBpZiggJHJlc3VsdFswXSA9PT0gRkFMU0UgKQogICAgICB7CglfZXJyb3JvdXQoJHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydHVzZXJzJywkbGluZW5vLCRyZXN1bHRbMV0pKTsKCSRlcnJvcnMrKzsKCWNvbnRpbnVlOyAKICAgICAgfQogICAgJHVpZCA9ICRyZXN1bHRbMV07CiAgICAkdGhpcy0+QXNzaWduVXNlclRvR3JvdXAoJHVpZCwkcGFyYW1zWydpbnB1dF9pbXBvcnRkZXN0Z3JvdXAnXSk7CgogICAgLy8KICAgIC8vIDYuMyBkYXRhIHZhbGlkYXRpb24gb24gdGhlIHByb3BlcnRpZXMKICAgICRpbXBvcnRlcnJvciA9IEZBTFNFOwogICAgZm9yZWFjaCggJGZpZWxkbWFwIGFzICRrZXkgPT4gJGluZGV4ICkKICAgICAgewoJJHNldHByb3AgPSBUUlVFOwoJc3dpdGNoKCAka2V5ICkKCSAgewoJICBjYXNlICd1c2VybmFtZSc6CgkgIGNhc2UgJ3Bhc3N3b3JkJzoKCSAgY2FzZSAnZXhwaXJlcyc6CgkgICAgLy8gdGhlc2UgYXJlIGFscmVhZHkgaGFuZGxlZAoJICAgICRzZXRwcm9wID0gRkFMU0U7CgkgICAgYnJlYWs7CgoJICBkZWZhdWx0OgoJICAgIGJyZWFrOwoJICB9CgoJaWYoICRzZXRwcm9wID09IEZBTFNFICkKCSAgewoJICAgIGNvbnRpbnVlOwoJICB9CgoJJHByb3B2YWx1ZSA9ICRmaWVsZHNbJGluZGV4XTsKCgkvLyBub3cgd2UgaGF2ZSB0byBoYW5kbGUgc3BlY2lhbCBwcm9wZXJ0eSB0eXBlcwoJJGRlZm4gPSAnJzsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCAkcHJvcGRlZm5zICk7ICRpKysgKQoJICB7CgkgICAgaWYoICRrZXkgPT0gJHByb3BkZWZuc1skaV1bJ25hbWUnXSApCgkgICAgICB7CgkJJGRlZm4gPSAkcHJvcGRlZm5zWyRpXTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJaWYoICRkZWZuID09ICcnICkKCSAgewoJICAgIC8vIHRvZG8sIGZhdGFsIGVycm9yCgkgICAgZWNobyAiREVCVUc6IEZBVEFMLCBjb3VsZCBub3QgZmluZCBwcm9wZXJ0eSBkZWZpbml0aW9uIGZvciAka2V5PGJyLz4iOwoJICB9Cglzd2l0Y2goICRkZWZuWyd0eXBlJ10gKQoJICB7CgkgIGNhc2UgMDogLy8gdGV4dAoJICAgIC8vIHZhbGlkYXRlIGl0J3MgbGVuZ3RoCgkgICAgaWYoIHN0cmxlbigkcHJvcHZhbHVlKSA+ICRkZWZuWydtYXhsZW5ndGgnXSApCgkgICAgICB7CgkJX2Vycm9yb3V0KCR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnR1c2VycycsJGxpbmVubywKCQkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCcsJGtleSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgMTogLy8gY2hlY2tib3gKCSAgICAvLyBjb252ZXJ0IHRoZSBzdHJpbmcgdG8gdGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveAoJICAgIC8vIGFjdHVhbGx5LCBub3RoaW5nIHdlIGNhbiBkbyBoZXJlCgkgICAgYnJlYWs7CgoJICBjYXNlIDI6IC8vIGVtYWlsCgkgICAgLy8gdmFsaWRhdGUgdGhlIGxlbmd0aAoJICAgIGlmKCBzdHJsZW4oJHByb3B2YWx1ZSkgPiAkZGVmblsnbWF4bGVuZ3RoJ10gKQoJICAgICAgewoJCV9lcnJvcm91dCgkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0dXNlcnMnLCRsaW5lbm8sCgkJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnLCRrZXkpKSk7CgkJJGltcG9ydGVycm9yID0gVFJVRTsKCQkkZXJyb3JzKys7CgkJYnJlYWs7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBjYXNlIDM6IC8vIHRleHRhcmVhCgkgICAgLy8gbm8gdmFsaWRhdGlvbiBoZXJlCgkgICAgYnJlYWs7CgoJICBjYXNlIDQ6IC8vIGRyb3Bkb3duCgkgICAgLy8gY29udmVydCB0aGUgdmFsdWUgb2YgdGhlIHN0cmluZyB0byBhIHZhbHVlIGluIHRoZSBkcm9wZG93bgoJICAgICRvcHRpb25zID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSk7CgkgICAgJGZvdW5kZHJvcGRvd24gPSBGQUxTRTsKCSAgICBmb3JlYWNoKCAkb3B0aW9ucyBhcyAkb3B0dGV4dCA9PiAkb3B0bmFtZSApCgkgICAgICB7CgkJaWYoICRvcHR0ZXh0ID09ICRwcm9wdmFsdWUgKQoJCSAgewoJCSAgICAkcHJvcHZhbHVlID0gJG9wdG5hbWU7CgkJICAgICRmb3VuZGRyb3Bkb3duID0gVFJVRTsKCQkgIH0KCSAgICAgIH0KCSAgICBpZiggJGZvdW5kZHJvcGRvd24gPT0gRkFMU0UgKQoJICAgICAgewoJCV9lcnJvcm91dCgkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0dXNlcnMnLCRsaW5lbm8sCgkJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZScsJGtleSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgNTogLy8gbXVsdGlzZWxlY3QKCSAgICAvLyBjaGVjayBlYWNoIG9mIHRoZSB2YWx1ZXMgaW4gdGhlIHN0cmluZwoJICAgICRvcHRpb25zID0gJHRoaXMtPkdldFNlbGVjdE9wdGlvbnMoJGRlZm5bJ25hbWUnXSk7CgkgICAgJHRtcHZhbHVlcyA9IGV4cGxvZGUoJzonLCRwcm9wdmFsdWUpOwoJICAgICR0bXAyID0gYXJyYXkoKTsKCSAgICBmb3JlYWNoKCAkdG1wdmFsdWVzIGFzICRvbmV2YWx1ZSApCgkgICAgICB7CgkJZm9yZWFjaCggJG9wdGlvbnMgYXMgJG9wdHRleHQgPT4gJG9wdG5hbWUgKQoJCSAgewoJCSAgICBpZiggJG9wdHRleHQgPT0gJG9uZXZhbHVlICkKCQkgICAgICB7CgkJCSR0bXAyW10gPSAkb3B0bmFtZTsKCQkJYnJlYWs7CgkJICAgICAgfQoJCSAgfQoJICAgICAgfQoJICAgIGlmKCBjb3VudCgkdG1wMikgIT0gY291bnQoJHRtcHZhbHVlcykgKQoJICAgICAgewoJCV9lcnJvcm91dCgkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0dXNlcnMnLCRsaW5lbm8sCgkJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZScsJGtleSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICAkcHJvcHZhbHVlID0gaW1wbG9kZSgnLCcsJHRtcDIpOwoJICAgIGJyZWFrOwoKCSAgY2FzZSA2OiAvLyBpbWFnZQoJICAgIC8vIGVuc3VyZSB0aGUgaW1hZ2UgZXhpc3RzCgkgICAgaWYoICFmaWxlX2V4aXN0cyggJGltYWdlRGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHByb3B2YWx1ZSApICkKCSAgICAgIHsKCQlfZXJyb3JvdXQoJHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydHVzZXJzJywkbGluZW5vLAoJCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCcsJHByb3B2YWx1ZSkpKTsKCQkkaW1wb3J0ZXJyb3IgPSBUUlVFOwoJCSRlcnJvcnMrKzsKCSAgICAgIH0KCSAgICBicmVhazsKCSAgfQoKCWlmKCAhJGltcG9ydGVycm9yICkKCSAgewoJICAgICRyZXN1bHQgPSAkdGhpcy0+U2V0VXNlclByb3BlcnR5RnVsbCgka2V5LCRwcm9wdmFsdWUsJHVpZCk7CgkgICAgaWYoICEkcmVzdWx0ICkKCSAgICAgIHsKCQkvLyBlcnJvciBvY2N1cnJlZCBzZXR0aW5nIHRoZSBwcm9wZXJ0eQoJCS8vIHRvZG8sIG91dHB1dCB0aGUgZXJyb3IKCQkvLyBhbmQgcmVtb3ZlIHRoZSB1c2VyCgkJJGltcG9ydGVycm9yID0gVFJVRTsKCQkkZXJyb3JzKys7CgkgICAgICB9CgkgIH0KICAgICAgfSAvLyBmb3JlYWNoCgogICAgLy8gCiAgICAvLyA2LjQgQ2xlYW51cCwgU2VuZCB0aGUgZXZlbnQKICAgIC8vICAgICBhbmQgZG8gYXVkaXRpbmcKICAgIGlmKCAkaW1wb3J0ZXJyb3IgPT0gVFJVRSApCiAgICAgIHsKCS8vIGhhdmUgdG8gZG8gY2xlYW51cCBhZnRlciBhbiBlcnJvcgoJJHRoaXMtPkRlbGV0ZVVzZXJGdWxsKCR1aWQpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRhZGRlZCsrOwoKCS8vIHNlbmQgdGhlIGV2ZW50CgoJLy8gYWRkIHNvbWV0aGluZyB0byB0aGUgYXVkaXQgbG9nCiAgICAgIH0KCiAgICAKICB9IC8vIHdoaWxlCgoKLy8KLy8gNy4gIERpc3BsYXkgdGhlICdmaW5pc2hlZCcgZm9ybSwgYW5kIGNsb3NlIHRoZSBmaWxlCi8vCmZjbG9zZSgkaGFuZGxlKTsKJGZvcm10ZXh0ID0gJyc7CiRmb3JtdGV4dCAuPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLGZhbHNlLCcnLAoJCQkJICAgIGFycmF5KCdhY3RpdmVfdGFiJz0+J2FkbWluJykpOwokZm9ybXRleHQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygncHJvbXB0X3JldHVybicpKTsKJGZvcm10ZXh0IC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CQkJCSAgICAKZWNobyAnPC9kaXY+PCEtLSBwcm9ncmVzcyAtLT4nOwplY2hvICc8cD4nLiR0aGlzLT5MYW5nKCdpbXBvcnRfY29tcGxldGVfbXNnJykuJzwvcD4nOwpfcmVzdWx0b3V0KCR0aGlzLT5MYW5nKCdwcm9tcHRfbGluZXNwcm9jZXNzZWQnKSwkbGluZW5vKTsKX3Jlc3VsdG91dCgkdGhpcy0+TGFuZygncHJvbXB0X2Vycm9ycycpLCRlcnJvcnMpOwpfcmVzdWx0b3V0KCR0aGlzLT5MYW5nKCdwcm9tcHRfcmVjb3Jkc2FkZGVkJyksJGFkZGVkKTsKZWNobyAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+JzsKZWNobyAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kZm9ybXRleHQuJzwvcD4nOwplY2hvICc8L2Rpdj48IS0tIHBhZ2VvdmVyZmxvdyAtLT4nOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_lostusername_template.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKaWYoICEkZ0NtcyApIHJldHVybjsKaWYoICEkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygndGVtcGxhdGVzJykgKSByZXR1cm47Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnYWRtaW5fc2V0bG9zdHVuX3RlbXBsYXRlJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUxJywkdGhpcy0+TGFuZygnbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUxJywKCQkkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoIGZhbHNlLCAkaWQsCgkJCSAgJHRoaXMtPkdldFRlbXBsYXRlICgnZmV1c2Vyc19sb3N0dW5mb3JtJyksCgkJCQkgICAgICAgJ2xvc3R1bmZvcm0nKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZTInLCR0aGlzLT5MYW5nKCdsb3N0dW5fY29uZmlybV90ZW1wbGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZTInLAoJCSR0aGlzLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwKCQkJICAkdGhpcy0+R2V0VGVtcGxhdGUgKCdmZXVzZXJzX2xvc3R1bmZvcm1fY29uZmlybScpLAoJCQkJICAgICAgICdsb3N0dW5mb3JtX2NvbmZpcm0nKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRzJywKCQkJCQkgICR0aGlzLT5MYW5nKCdkZWZhdWx0cycpKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbG9zdHVuX3RlbXBsYXRlZm9ybS50cGwnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8gZmlsbCBvdXQgdGhlIHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19zZXRwcmVmcycpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3B3ZmxkbGVuJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9wd2ZsZGxlbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wd2ZsZGxlbicsIAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfcHdmbGRsZW4nLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcsMjApLCAKCQkJCSAgICAgICAyLCAyICkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWlucHdsZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21pbnB3bGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21pbnB3bGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9taW5wd2xlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWlucHdsZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWF4cHdsZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21heHB3bGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21heHB3bGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9tYXhwd2xlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWF4cHdsZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VuZmxkbGVuJywgJHRoaXMtPkxhbmcoJ3Byb21wdF91bmZsZGxlbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91bmZsZGxlbicsIAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdW5mbGRsZW4nLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcsMjApLCAKCQkJCSAgICAgICAyLCAyICkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWludW5sZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21pbnVubGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21pbnVubGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9taW51bmxlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21pbl91c2VybmFtZWxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWludW5sZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbWF4dW5sZW4nLCAkdGhpcy0+TGFuZygncHJvbXB0X21heHVubGVuJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21heHVubGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9tYXh1bmxlbicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpLCAyLCAyICkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fbWF4dW5sZW4nLAoJCSR0aGlzLT5MYW5nKCd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCcpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NpZ25pbl9idXR0b24nLCAkdGhpcy0+TGFuZygncHJvbXB0X3NpZ25pbl9idXR0b24nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2lnbmluX2J1dHRvbicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9zaWduaW5fYnV0dG9uJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2lnbmluX2J1dHRvbicsJHRoaXMtPkxhbmcoJ2xvZ2luJykpLCAxNSwgMTUgKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zZXNzaW9udGltZW91dCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2Vzc2lvbnRpbWVvdXQnLCAKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lucHV0X3Nlc3Npb250aW1lb3V0JywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcl9zZXNzaW9uX2V4cGlyZXMnKSwgNCwgNCApKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY29va2lla2VlcGFsaXZlJywKCQlSUlV0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfY29va2lla2VlcGFsaXZlJywgMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZV9rZWVwYWxpdmUnLDApKSk7CiRzbWFydHktPmFzc2lnbignaW5mb19jb29raWVfa2VlcGFsaXZlJywKCQkkdGhpcy0+TGFuZygnaW5mb19jb29raWVfa2VlcGFsaXZlJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlY29va2llc3RvcmVtZW1iZXInLAoJCVJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2lucHV0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJywKCQkJCQkgICAgICAgMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWNvb2tpZXN0b3JlbWVtYmVyJykpKTsKaWYoICFmdW5jdGlvbl9leGlzdHMoJ21jcnlwdF9tb2R1bGVfb3BlbicpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2luZm9fY29va2llc3RvcmVtZW1iZXInLAoJCSR0aGlzLT5MYW5nKCdpbmZvX2Nvb2tpZXN0b3JlbWVtYmVyJykpOwogIH0KCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Nvb2tpZW5hbWUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfY29va2llbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jb29raWVuYW1lJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfY29va2llbmFtZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZW5hbWUnLCcnKSwyMCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVxdWlyZW9uZWdyb3VwJywgCgkJUlJVdGlsczo6bXlDcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2lucHV0X3JlcXVpcmVvbmVncm91cCcsIDEsCgkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX29uZWdyb3VwJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lX2lzX2VtYWlsJywKCQlSUlV0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfdXNlcm5hbWVfaXNfZW1haWwnLCAxLAoJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVfaXNfZW1haWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fdXNlcm5hbWVfaXNfZW1haWwnLCAkdGhpcy0+TGFuZygnaW5mb191c2VybmFtZV9pc19lbWFpbCcpKTsKCgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dfZHVwbGljYXRlX2VtYWlscycsIAoJCVJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbnB1dF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJywgMSwKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscycsICR0aGlzLT5MYW5nKCdpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycsCgkJUlJVdGlsczo6bXlDcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2lucHV0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnLCAxLAoJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycpKSk7CiRzbWFydHktPmFzc2lnbignaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJywgJHRoaXMtPkxhbmcoJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycycpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJywKCQlSUlV0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucycsIDEsCgkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnLCAkdGhpcy0+TGFuZygnaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJykpOwoKCgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZmx0Z3JvdXAnLCAkdGhpcy0+TGFuZygncHJvbXB0X2RmbHRncm91cCcpKTsKJGdyb3VwczEgPSAkdGhpcy0+R2V0R3JvdXBMaXN0KCk7CiRncm91cHMgPSBhcnJheV9tZXJnZSggYXJyYXkoIk5vbmUiID0+IC0xKSwgJGdyb3VwczEgKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZmx0Z3JvdXAnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3BEb3duKCAkaWQsICdpbnB1dF9kZmx0Z3JvdXAnLCAkZ3JvdXBzLCAtMSwKCQkJCQkgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JvdXAnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywKCQkJCQkgICR0aGlzLT5MYW5nKCdzdWJtaXQnKSwnJywnJywKCQkJCQkgICR0aGlzLT5MYW5nKCdjb25maXJtX3N1Ym1pdHByZWZzJykpKTsKJHNtYXJ0eS0+YXNzaWduICgnY2FuY2VsJywKCQkgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLAoJCQkJCSAgICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVxdWlyZWRtYXJrZXInLAoJCSR0aGlzLT5MYW5nKCdyZXF1aXJlZGZpZWxkbWFya2VyJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlcXVpcmVkbWFya2VyJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfcmVxdWlyZWRmaWVsZG1hcmtlcicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKSwyLDIpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlcXVpcmVkY29sb3InLAoJCSR0aGlzLT5MYW5nKCdyZXF1aXJlZGZpZWxkY29sb3InKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVxdWlyZWRjb2xvcicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X3JlcXVpcmVkZmllbGRjb2xvcicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpLDEwLDEwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9oaWRkZW5tYXJrZXInLAoJCSR0aGlzLT5MYW5nKCdoaWRkZW5maWVsZG1hcmtlcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oaWRkZW5tYXJrZXInLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9oaWRkZW5maWVsZG1hcmtlcicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2hpZGRlbl9maWVsZF9tYXJrZXInLCchIScpLDIsMikpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaGlkZGVuY29sb3InLAoJCSR0aGlzLT5MYW5nKCdoaWRkZW5maWVsZGNvbG9yJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZGRlbmNvbG9yJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfaGlkZGVuZmllbGRjb2xvcicsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2hpZGRlbl9maWVsZF9jb2xvcicsJ2dyZWVuJyksMTAsMTApKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfZm9yZ290cHdfcGFnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mb3Jnb3Rwd19wYWdlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfZm9yZ290cHdfcGFnZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZGZvcmdvdHBhc3N3ZCcpLCAyNSwgNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZScsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NoYW5nZXNldHRpbmdzX3BhZ2UnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jaGFuZ2VzZXR0aW5nc19wYWdlJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX2NoYW5nZXNldHRpbmdzJyksIDI1LCA1MCkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9sb2dpbl9wYWdlJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X2xvZ2luX3BhZ2UnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbG9naW5fcGFnZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2xvZ2luX3BhZ2UnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9naW4nKSwgMjUsIDUwKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2xvZ291dF9wYWdlJywKCQkkdGhpcy0+TGFuZygncHJvbXB0X2xvZ291dF9wYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xvZ291dF9wYWdlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfbG9nb3V0X3BhZ2UnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9nb3V0JyksIDI1LCA1MCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWZ0ZXJfdmVyaWZ5X2NvZGUnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9hZnRlcl92ZXJpZnlfY29kZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9hZnRlcnZlcmlmeScpLCAyNSwgNTApKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FmdGVyX2NoYW5nZV9zZXR0aW5ncycsCgkJJHRoaXMtPkxhbmcoJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWlkX2FmdGVyY2hhbmdlc2V0dGluZ3MnKSwgMjUsIDUwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93X3JlcGVhdGVkX2xvZ2lucycsCgkJUlJVdGlsczo6bXlDcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdpbnB1dF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnLCAxLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfcmVwZWF0ZWRfbG9naW5zJykpKTsKCi8qIHsKICAkdXNlcm1hbmlwdWxhdG9ycyA9IGFycmF5KCk7CiAgJGRpciA9IG9wZW5kaXIoZGlybmFtZShfX0ZJTEVfXykpOwogIHdoaWxlKCBmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkZGlyKSkgKQogICAgewogICAgICBpZiggcHJlZ19tYXRjaCgnL1wuYXBpXC5waHAkLycsJGZpbGUpID09IDEgKQoJewoJICAkYm4gPSBiYXNlbmFtZSgkZmlsZSk7CgkgICR1c2VybWFuaXB1bGF0b3JzWyRibl0gPSAkYm47Cgl9CiAgICB9CiAgY2xvc2VkaXIoJGRpcik7CiAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJywKCQkgICR0aGlzLT5MYW5nKCdwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJykpOwogICRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlcm1hbmlwdWxhdG9yJywKCQkgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdpbnB1dF91c2VybWFuaXB1bGF0b3InLAoJCQkJCSAgICAgICR1c2VybWFuaXB1bGF0b3JzLCAtMSwKCQkJCQkgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm1hbmlwdWxhdG9yJywnRnJvbnRFbmRVc2Vycy5hcGkucGhwJykpKTsKfSAqLwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsCgkJCQkkdGhpcy0+TGFuZygncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsCgkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsCgkJCQkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV9kZXN0aW5hdGlvbl9wYXRoJyksNDApKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywKCQkJCSR0aGlzLT5MYW5nKCdwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucycsCgkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywKCQkJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnKSw0MCw0MCkpOwoKJG5vdGlmaWNhdGlvbl9saXN0ID0gYXJyYXkoKTsKJG5vdGlmaWNhdGlvbl9saXN0WyR0aGlzLT5MYW5nKCdPbkxvZ2luJyldID0gJ09uTG9naW4nOwokbm90aWZpY2F0aW9uX2xpc3RbJHRoaXMtPkxhbmcoJ09uTG9nb3V0JyldID0gJ09uTG9nb3V0JzsKJG5vdGlmaWNhdGlvbl9saXN0WyR0aGlzLT5MYW5nKCdPbkV4cGlyZVVzZXInKV0gPSAnT25FeHBpcmVVc2VyJzsKJG5vdGlmaWNhdGlvbl9saXN0WyR0aGlzLT5MYW5nKCdPbkNyZWF0ZVVzZXInKV0gPSAnT25DcmVhdGVVc2VyJzsKJG5vdGlmaWNhdGlvbl9saXN0WyR0aGlzLT5MYW5nKCdPbkRlbGV0ZVVzZXInKV0gPSAnT25EZWxldGVVc2VyJzsKJG5vdGlmaWNhdGlvbl9saXN0WyR0aGlzLT5MYW5nKCdPblVwZGF0ZVVzZXInKV0gPSAnT25VcGRhdGVVc2VyJzsKJG5vdGlmaWNhdGlvbl9saXN0WyR0aGlzLT5MYW5nKCdPbkNyZWF0ZUdyb3VwJyldID0gJ09uQ3JlYXRlR3JvdXAnOwokbm90aWZpY2F0aW9uX2xpc3RbJHRoaXMtPkxhbmcoJ09uRGVsZXRlR3JvdXAnKV0gPSAnT25EZWxldGVHcm91cCc7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X25vdGlmaWNhdGlvbnMnLCR0aGlzLT5MYW5nKCdwcm9tcHRfbm90aWZpY2F0aW9ucycpKTsKJG5vdGlmaWNhdGlvbnMgPSBleHBsb2RlKCcsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZpY2F0aW9ucycsJycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ub3RpZmljYXRpb25zJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwnbm90aWZpY2F0aW9uc1tdJywkbm90aWZpY2F0aW9uX2xpc3QsICRub3RpZmljYXRpb25zKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcycsJHRoaXMtPkxhbmcoJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ub3RpZmljYXRpb25fYWRkcmVzcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ25vdGlmaWNhdGlvbl9hZGRyZXNzJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZpY2F0aW9uX2FkZHJlc3MnKSw1MCwyNTUpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0JywkdGhpcy0+TGFuZygncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25vdGlmaWNhdGlvbl9zdWJqZWN0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnbm90aWZpY2F0aW9uX3N1YmplY3QnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fc3ViamVjdCcpLDUwLDI1NSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJywkdGhpcy0+TGFuZygncHJvbXB0X25vdGlmaWNhdGlvbl90ZW1wbGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ub3RpZmljYXRpb25fdGVtcGxhdGUnLAoJCSR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwkaWQsCgkJCQkgICAgICAkdGhpcy0+R2V0VGVtcGxhdGUoJ25vdGlmaWNhdGlvbl90ZW1wbGF0ZScpLAoJCQkJICAgICAgJ25vdGlmaWNhdGlvbl90ZW1wbGF0ZScpKTsKCiRzbWFydHktPmFzc2lnbignaW5mb19zdGFyJywkdGhpcy0+TGFuZygnaW5mb19zdGFyJykpOwokbnVtID0gJHRoaXMtPkNvdW50VGVtcENvZGVSZWNvcmRzKCk7CmlmKCAkbnVtICkKICAgIHsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbnVtcmVzZXRyZWNvcmRzJywKCQkgICAgICAkdGhpcy0+TGFuZygncHJvbXB0X251bXJlc2V0cmVjb3JkJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2RhdGFfbnVtcmVzZXRyZWNvcmRzJywgJG51bSk7IC8vdG9kbwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlbW92ZWFsbCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfcmVtb3ZlYWxsJywKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3JlbW92ZWFsbCcpLAoJCQkJCSAgICAgICAnb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKSInKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfcmVtb3ZlMXdlZWsnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X3JlbW92ZTF3ZWVrJywKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3JlbW92ZTF3ZWVrJyksCgkJCQkJICAgICAgICdvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKS4nXCcpIicpKTsKICAgICAgCiAgICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfcmVtb3ZlMW1vbnRoJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCQkJCSAgICAgICAkdGhpcy0+TGFuZygncmVtb3ZlMW1vbnRoJyksCgkJCQkJICAgICAgICdvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKS4nXCcpIicpKTsKICAgIH0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnByZWZzLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_propertiestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAkbWVzc2FnZSA9ICcnOwogIGlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogICAgewogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiAgICB9CgogICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCdwcm9wZXJ0aWVzJykpOwoKICAkZGVmbnMgPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZucygpOwogICRyb3dhcnJheSA9IGFycmF5KCk7CiAgJHJvd2NsYXNzID0gJ3JvdzEnOwogICRrZXlzID0gYXJyYXlfa2V5cygkdGhpcy0+dHlwZXMpOwogIGZvcmVhY2goICRkZWZucyBhcyAkZGVmbiApCiAgICB7CiAgICAgICRwcm9wZ3JvdXBzID0gJHRoaXMtPkdldFByb3BlcnR5R3JvdXBSZWxhdGlvbnMoJGRlZm5bJ25hbWUnXSk7CgogICAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdHByb3AnKSkgCgl7CgkgICRvbmVyb3ctPm5hbWUgPSAKCSAgICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnZWRpdHByb3AnLCAkcmV0dXJuaWQsICRkZWZuWyduYW1lJ10sCgkJCQkgYXJyYXkoJ3Byb3BuYW1lJyA9PiAkZGVmblsnbmFtZSddKSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgJG9uZXJvdy0+bmFtZSA9ICRkZWZuWyduYW1lJ107Cgl9CiAgICAgICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAgICAgJG9uZXJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCRrZXlzWyRkZWZuWyd0eXBlJ11dKTsKICAgICAgJG9uZXJvdy0+bGVuZ3RoID0gJGRlZm5bJ2xlbmd0aCddOwogICAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCiAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdHByb3AnKSkKCXsKCSAgJG9uZXJvdy0+ZWRpdGxpbmsgPQoJICAgICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdlZGl0cHJvcCcsICRyZXR1cm5pZCwKCQkJCSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkJCQkJICAgICAgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSBhcnJheSgncHJvcG5hbWUnID0+ICRkZWZuWyduYW1lJ10pKTsKCgkgIGlmKCBjb3VudCgkcHJvcGdyb3VwcykgPT0gMCApCgkgICAgewoJICAgICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9CgkJJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2RvX2RlbGV0ZXByb3AnLCAkcmV0dXJuaWQsCgkJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCQkgICR0aGlzLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSAgICAgYXJyYXkoJ3Byb3BuYW1lJyA9PiAkZGVmblsnbmFtZSddLCAncHJvcHR5cGUnID0+ICRkZWZuWyd0eXBlJ10pLCAKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2NvbmZpcm1fZGVsZXRlX3Byb3AnKSk7CgkgICAgfQoJfQoKICAgICAgYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkb25lcm93KTsKICAgICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwogICAgfQoKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywkdGhpcy0+TGFuZygnbmFtZScpKTsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xlbmd0aHRleHQnLCR0aGlzLT5MYW5nKCdsZW5ndGgnKSk7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHR0ZXh0JywkdGhpcy0+TGFuZygncHJvbXB0JykpOwogICR0aGlzLT5zbWFydHktPmFzc2lnbigndHlwZXRleHQnLCR0aGlzLT5MYW5nKCdwcm9tcHRfdHlwZScpKTsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb3BzJywkcm93YXJyYXkpOwogICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvcGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9wc2ZvdW5kJywkdGhpcy0+TGFuZygncHJvcHNmb3VuZCcpKTsKCiAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdhZGRwcm9wJykgKQogICAgewogICAgICAvLyB0b2RvLCBhZGQgYSBwZXJtaXNzaW9uIGNoZWNrIGFyb3VuZCB0aGlzCiAgICAgIC8vIG1heWJlIGNyZWF0ZSBhbiAiZWRpdCBmcm9udGVuZHVzZXIgcHJvcGVydGllcyIgcGVybWlzc2lvbgogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAKCQkJICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnYWRkcHJvcCcsJHJldHVybmlkLAoJCQkJCSAgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCgkJCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcoJ2FkZHByb3AnKSwnJywnJywnc3lzdGVtaWNvbicpLAoJCQkJCSAgICAgIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuCgkJCSAgICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRkcHJvcCcsCgkJCQkJICAgICAgICRyZXR1cm5pZCwKCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FkZHByb3AnKSwKCQkJCQkgICAgICAgYXJyYXkoKSwgJycsIGZhbHNlLAoJCQkJCSAgICAgICBmYWxzZSwKCQkJCQkgICAgICAgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiAgICB9CgoKICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Byb3BlcnRpZXNmb3JtLnRwbCcpOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_userstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAvLyB0aGlzIHRhYiBoYXMgbWVyZWx5IG9uZSBtb2ZvIGxpc3Qgb2YgdXNlcyBhbmQgdGhlIGFiaWxpdHkgdG8gZWRpdCB0aGVtLCAKICAvLyBzZWUgZGV0YWlscyBhYm91dCB0aGVtLCBhbmQgdGhlbiBkZWxldGUgdGhlbQogIC8vIG1heWJlIHNlbmQgYW4gZW1haWwgdG8gdGhlbSB0b28gaWYgSSBnZXQgYXJvdW5kIHRvIGl0IHRoYXQgaXMuCgogIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnbGlzdHVzZXJzJykgKQogICAgewogICAgICAvLyBmaWx0ZXJpbmcgc3R1ZmYKICAgICAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXInXSkgKQoJewoJICBpZiggaXNzZXQoICRwYXJhbXNbJ2ZpbHRlcl9ncm91cCddICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2dyb3VwJywgJHBhcmFtc1snZmlsdGVyX2dyb3VwJ10gKTsKCSAgICB9CgkgIGlmKCBpc3NldCggJHBhcmFtc1snZmlsdGVyX3JlZ2V4J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfcmVnZXgnLCAkcGFyYW1zWydmaWx0ZXJfcmVnZXgnXSApOwoJICAgIH0KCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXJfbG9nZ2VkaW5vbmx5J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfbG9nZ2VkaW5vbmx5JywgJHBhcmFtc1snZmlsdGVyX2xvZ2dlZGlub25seSddICk7CgkgICAgfQoJICBlbHNlCgkgIHsKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2xvZ2dlZGlub25seScsIDApOwoJICB9CgkgIGlmKCBpc3NldCggJHBhcmFtc1snZmlsdGVyX2xpbWl0J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGltaXQnLCAkcGFyYW1zWydmaWx0ZXJfbGltaXQnXSApOwoJICAgIH0KCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXJfc29ydGJ5J10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfc29ydCcsICRwYXJhbXNbJ2ZpbHRlcl9zb3J0YnknXSApOwoJICAgIH0KCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydmaWx0ZXJfcHJvcGVydHlzZWwnXSApICkKCSAgICB7CgkgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9wcm9wc2VsJywgJHBhcmFtc1snZmlsdGVyX3Byb3BlcnR5c2VsJ10gKTsKCSAgICB9CgkgIGlmKCBpc3NldCggJHBhcmFtc1snZmlsdGVyX3Byb3BlcnR5c2VsJ10gKSApCgkgICAgewoJICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfcHJvcHZhbCcsICRwYXJhbXNbJ2ZpbHRlcl9wcm9wZXJ0eSddICk7CgkgICAgfQoJfQogICAgICAkY3VyZ3JvdXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9ncm91cCcsICcnKTsKICAgICAgJGN1cnJlZ2V4ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfcmVnZXgnLCAnJyk7CgkgICRjdXJybG9nZ2VkaW5vbmx5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfbG9nZ2VkaW5vbmx5JywgMCk7CiAgICAgICRjdXJsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X2xpbWl0JywgMTAwKTsKICAgICAgJGN1cnNvcnQgID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfc29ydCcsICcnKTsKICAgICAgJGN1cnByb3BzZWwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9wcm9wc2VsJywgJ25vbmUnKTsKICAgICAgJGN1cnByb3B2YWwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9wcm9wdmFsJywgJycpOyAKCQogICAgICAvLyBnZXQgYSBncm91cCBsaXN0IGZvciB0aGUgZmlsdGVyCiAgICAgIC8vIGl0IHNob3VsZCBiZSByZWFkeSB0byBnbyByaWdodCBpbnRvIHRoZSBkcm9wZG93biAoY29vbCBlaCkKICAgICAgJGdyb3VwczEgPSAkdGhpcy0+R2V0R3JvdXBMaXN0KCk7CiAgICAgICRncm91cHMgPSBhcnJheV9tZXJnZSggYXJyYXkoIkFsbCBHcm91cHMiID0+IC0xKSwgJGdyb3VwczEgKTsKCQogICAgICAvLyBhIHB1bGxkb3duIGxpc3QgZm9yIGxpbWl0cwogICAgICAkbGltaXRzID0gYXJyYXkoICcxMDAnID0+IDEwMCwKCQkgICAgICAgJzEwJyA9PiAxMCwKCQkgICAgICAgJzI1JyA9PiAyNSwKCQkgICAgICAgJzUwJyA9PiA1MCwKCQkgICAgICAgJzI1MCcgPT4gMjUwLAoJCSAgICAgICAnNTAwJyA9PiA1MDAgKTsKCiAgICAgIC8vIGEgcHVsbGRvd24gbGlzdCBmb3IgcHJvcGVydHkgZGVmaW5pdGlvbnMKICAgICAgJGRlZm5zMSA9ICR0aGlzLT5HZXRQcm9wZXJ0eURlZm5zKCk7CiAgICAgICRkZWZucyA9IGFycmF5KCk7CiAgICAgICRkZWZuc1snTm9uZSddID0gJ25vbmUnOwogICAgICBmb3JlYWNoKCAkZGVmbnMxIGFzICRkZWYgKQoJewoJICAkZGVmbnNbJGRlZlsncHJvbXB0J11dID0gJGRlZlsnbmFtZSddOwoJfQoJCiAgICAgIC8vIGEgcHVsbGRvd24gbGlzdCBmb3Igc29ydGluZwogICAgICAkc29ydHMgPSBhcnJheSAoJ1VzZXJuYW1lJyA9PiAndXNlcm5hbWUnLAoJCSAgICAgICdVc2VybmFtZSAoZGVzY2VuZGluZyknID0+ICd1c2VybmFtZSBkZXNjJywKCQkgICAgICAnQ3JlYXRlIERhdGUnID0+ICdjcmVhdGVkYXRlJywKCQkgICAgICAnQ3JlYXRlIERhdGUgKGRlc2NlbmRpbmcpJyA9PiAnY3JlYXRlZGF0ZSBkZXNjJywKCQkgICAgICAnRXhwaXJ5IERhdGUnID0+ICdleHBpcmVzJywKCQkgICAgICAnRXhwaXJ5IERhdGUgKGRlc2NlbmRpbmcpJyA9PiAnZXhwaXJlcyBkZXNjJyk7CiAgICAgIC8vIG5vdyBzZXR1cCB0aGUgdGVtcGxhdGUgZmllbGRzCiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF9maWx0ZXInLCAkdGhpcy0+TGFuZygnZmlsdGVyJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfc29ydCcsICR0aGlzLT5MYW5nKCdzb3J0JykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nLAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZGVmYXVsdGFkbWluJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfZ3JvdXAnLCAkdGhpcy0+TGFuZygnZ3JvdXAnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ3VzZXJzZm91bmQnLCAkdGhpcy0+TGFuZygndXNlcnNmb3VuZCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAndXNlcnNpbmdyb3VwJywgJHRoaXMtPkxhbmcoJ3VzZXJzaW5ncm91cCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAnZmlsdGVyX2dyb3VwJywKCQkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3BEb3duKCAkaWQsICdmaWx0ZXJfZ3JvdXAnLCAkZ3JvdXBzLCAtMSwKCQkJCQkJCSAgICAgJGN1cmdyb3VwKSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF91c2VyZmlsdGVyJywgJHRoaXMtPkxhbmcoJ3VzZXJmaWx0ZXInKSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ2ZpbHRlcl9yZWdleCcsIAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmlsdGVyX3JlZ2V4JywKCQkJCQkJCSAkY3VycmVnZXgsIDIwLCAyMCApKTsKCiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF9wcm9wZXJ0eWZpbHRlcnNlbCcsJHRoaXMtPkxhbmcoJ3Byb3BlcnR5ZmlsdGVyJykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdmaWx0ZXJfcHJvcGVydHlzZWwnLAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcERvd24oICRpZCwgJ2ZpbHRlcl9wcm9wZXJ0eXNlbCcsCgkJCQkJCQkgICAgICRkZWZucywgLTEsICRjdXJwcm9wc2VsICkpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfcHJvcGVydHlmaWx0ZXInLCR0aGlzLT5MYW5nKCd2YWx1ZXJlZ2V4JykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdmaWx0ZXJfcHJvcGVydHknLAoJCQkgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmlsdGVyX3Byb3BlcnR5JywKCQkJCQkJCSAkY3VycHJvcHZhbCwgMjAsIDIwICkpOwoKCSAgJHNtYXJ0eS0+YXNzaWduKCAncHJvbXB0X2xvZ2dlZGlub25seScsCgkJCQkJICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2dnZWRpbm9ubHknKSk7CgkgICRzbWFydHktPmFzc2lnbiggJ2ZpbHRlcl9sb2dnZWRpbm9ubHknLAoJCQkJCSAgICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZmlsdGVyX2xvZ2dlZGlub25seScsCgkJCQkJCQkJCQkJCSAgMSwkY3VycmxvZ2dlZGlub25seSkpOwogICAgICAkc21hcnR5LT5hc3NpZ24oICdwcm9tcHRfbGltaXQnLAoJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3VzZXJsaW1pdCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAnZmlsdGVyX2xpbWl0JywKCQkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3BEb3duKCAkaWQsICdmaWx0ZXJfbGltaXQnLCAkbGltaXRzLCAtMSwKCQkJCQkJCSAgICAgJGN1cmxpbWl0KSk7CiAgICAgICRzbWFydHktPmFzc2lnbiggJ3Byb21wdF9zb3J0YnknLAoJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3NvcnRieScpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCAnZmlsdGVyX3NvcnRieScsCgkJCSAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wRG93biggJGlkLCAnZmlsdGVyX3NvcnRieScsICRzb3J0cywgLTEsCgkJCQkJCQkgICAgICRjdXJzb3J0KSk7CgogICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlbGVjdCcsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAnZmlsdGVyJywKCQkJCQkJCSAgJHRoaXMtPkxhbmcoJ2FwcGx5ZmlsdGVyJykpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oaWRkZW4nLAoJCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2FjdGl2ZV90YWInLCAndXNlcnMnKQoJCQkgICAgICApOwogICAgICAkc21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQgKCkpOwoKCiAgICAgICR1c2VycyA9ICR0aGlzLT5HZXRVc2Vyc0luR3JvdXAoICRjdXJncm91cCwgJGN1cnJlZ2V4LCAkY3VybGltaXQsICRjdXJzb3J0LAoJCQkJICAgICAgICRjdXJwcm9wc2VsLCAkY3VycHJvcHZhbCwgJGN1cnJsb2dnZWRpbm9ubHkgKTsKICAgICAgaWYoICFpc19hcnJheSgkdXNlcnMpICkKCXsKCSAgLy8gYW4gZXJyb3Igb2NjdXJyZWQKCSAgJGRiID0mICR0aGlzLT5HZXREYigpOwoJICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAgICAgJGRiLT5FcnJvck1zZygpICk7Ci8vIAkgIHJldHVybjsKCX0KCiAgICAgIC8vIGdldCB0aGUgdG90YWwgbnVtYmVyIG9mIHVzZXJzCiAgICAgICRudW11c2VycyA9ICR0aGlzLT5Db3VudFVzZXJzSW5Hcm91cCggJGN1cmdyb3VwICk7CgogICAgICAkcm93YXJyYXkgPSBhcnJheSgpOwogICAgICAkcm93Y2xhc3MgPSAicm93MSI7CiAgICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdudW11c2VycycsICRudW11c2VycyApOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1ldGV4dCcsICR0aGlzLT5MYW5nKCd1c2VybmFtZScpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdlbWFpbHRleHQnLCAkdGhpcy0+TGFuZygnZW1haWwnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignc3RhdHVzdGV4dCcsICR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignY3JlYXRlZHRleHQnLCAkdGhpcy0+TGFuZygnY3JlYXRlZCcpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdleHBpcmVzdGV4dCcsICR0aGlzLT5MYW5nKCdleHBpcmVzJykpOwogICAgICBpZiggaXNfYXJyYXkoJHVzZXJzKSApCgl7CgkgIGZvcmVhY2goICR1c2VycyBhcyAkcm93ICkKCSAgICB7CgkgICAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CgkgICAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCSAgICAgICRvbmVyb3ctPmNyZWF0ZWQgID0gJHJvd1snY3JlYXRlZGF0ZSddOwoJICAgICAgJG9uZXJvdy0+dXNlcm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dXNlcicsICRyZXR1cm5pZCwgJHJvd1sndXNlcm5hbWUnXSwKCQkJCQkJICAgICAgYXJyYXkoJ3VzZXJfaWQnID0+ICRyb3dbJ2lkJ10pKTsKCSAgICAgICRvbmVyb3ctPmV4cGlyZXMgID0gJHJvd1snZXhwaXJlcyddOwoJICAgICAgaWYoICR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCdsaXN0dXNlcnMnKSApCgkJewoJCSAgJG9uZXJvdy0+aGlzdG9yeWxpbmsgPQoJCSAgICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAndXNlcmhpc3RvcnknLCAkcmV0dXJuaWQsCgkJCQkgICAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicsCgkJCQkJCQkJCQkkdGhpcy0+TGFuZygnaGlzdG9yeScpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCQkgICAgICAgYXJyYXkoJ3VzZXJfaWQnPT4kcm93WydpZCddKSk7CgkJfQoKCSAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnZWRpdHVzZXJzJykgKQoJCXsKCQkgICRvbmVyb3ctPmVkaXRsaW5rID0KCQkgICAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2VkaXR1c2VyJywgJHJldHVybmlkLAoJCQkJICAgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJCQkJICAgICR0aGlzLT5MYW5nICgnZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkgICAgICAgYXJyYXkgKCd1c2VyX2lkJyA9PiAkcm93WydpZCddICkpOwoJCSAgaWYoICRyb3dbJ2xvZ2dlZGluJ10gKQoJCQkgIHsKCQkJCSAgJG9uZXJvdy0+bG9nb3V0bGluayA9CgkJCQkJICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCdhZG1pbl9sb2dvdXQnLCRyZXR1cm5pZCwKCQkJCQkJCQkgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9iYWNrLmdpZicsCgkJCQkJCQkJICR0aGlzLT5MYW5nKCdwcm9tcHRfbG9nb3V0JyksJycsJycsJ3N5c3RlbWljb24nKSwKCQkJCQkJYXJyYXkoJ3VzZXJfaWQnPT4kcm93WydpZCddKSk7CgkJCSAgfQoKCQl9CgkgICAgICAKCSAgICAgIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygncmVtb3ZldXNlcnMnKSApCgkJewoJCSAgJG9uZXJvdy0+ZGVsZXRlbGluayA9IAoJCSAgICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCdkb19kZWxldGV1c2VyJywkcmV0dXJuaWQsCgkJCQkgICAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCQkJCQkJCQkJCSAgICAkdGhpcy0+TGFuZyAoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkgICAgICAgYXJyYXkgKCd1c2VyX2lkJyA9PiAkcm93WydpZCddKSwKCQkJCSAgICAgICAkdGhpcy0+TGFuZyAoJ2FyZXlvdXN1cmUnKSk7CgkJfQoJICAgICAgCgkgICAgICBhcnJheV9wdXNoICgkcm93YXJyYXksICRvbmVyb3cpOwoJICAgICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwoJICAgIH0KCX0KCiAgICAgICRzbWFydHktPmFzc2lnbignaXRlbXMnLCRyb3dhcnJheSk7CiAgICAgICRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiAgICB9CgogIGlmKCAkdGhpcy0+X0hhc1N1ZmZpY2llbnRQZXJtaXNzaW9ucygnYWRkdXNlcicpICkKICAgIHsKICAgICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlX29uZWdyb3VwJykgPT0gMCB8fAoJICBjb3VudCgkZ3JvdXBzMSkgPiAwICkKCXsKCSAgJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZGR1c2VyJywkcmV0dXJuaWQsCgkJCQkJICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCgkJCQkJCQkJCQkJICR0aGlzLT5MYW5nKCdhZGR1c2VyJyksJycsJycsJ3N5c3RlbWljb24nKSwKCQkJCQkgICAgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4KCQkJICAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRkdXNlcicsCgkJCQkJICAgICAkcmV0dXJuaWQsCgkJCQkJICAgICAkdGhpcy0+TGFuZygnYWRkdXNlcicpLAoJCQkJCSAgICAgYXJyYXkoKSwgJycsIGZhbHNlLAoJCQkJCSAgICAgZmFsc2UsCgkJCQkJICAgICAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCX0KICAgICAgZWxzZQoJewoJICAkc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLAoJCQkJICAkdGhpcy0+TGFuZygnbm9ncm91cHMnKSk7Cgl9CiAgICB9CgogIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSggJ3VzZXJsaXN0LnRwbCcgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_viewuser_template.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5fSGFzU3VmZmljaWVudFBlcm1pc3Npb25zKCd0ZW1wbGF0ZXMnKSApIHJldHVybjsKCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdhZG1pbl9zZXR2aWV3dXNlcl90ZW1wbGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlMScsJHRoaXMtPkxhbmcoJ3ZpZXd1c2VyX3RlbXBsYXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlMScsCgkJJHRoaXMtPkNyZWF0ZVRleHRBcmVhKCBmYWxzZSwgJGlkLAoJCQkgICR0aGlzLT5HZXRUZW1wbGF0ZSAoJ2ZldXNlcnNfdmlld3VzZXInKSwKCQkJCSAgICAgICAndmlld3VzZXJfdGVtcGxhdGUnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRzJywKCQkJCQkgICR0aGlzLT5MYW5nKCdkZWZhdWx0cycpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ZpZXd1c2VyX3RlbXBsYXRlZm9ybS50cGwnKTsKCi8qCiAqIEVPRgogKi8KPz4=]]></data>
	</file>
	<file>
	  <filename>/function.default_lostusernameform.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZ2xvYmFsICRnQ21zOwokc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogIHsKICAgICRtZXNzYWdlID0gaHRtbF9lbnRpdHlfZGVjb2RlKHRyaW0oJHBhcmFtc1snbWVzc2FnZSddKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCRtZXNzYWdlKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICB7CiAgICAkZXJyb3IgPSBodG1sX2VudGl0eV9kZWNvZGUodHJpbSgkcGFyYW1zWydlcnJvciddKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwogIH0KCiRnaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncm91cCcsLTEpOwppZiggaXNzZXQoJHBhcmFtc1snbG9zdHVuX2dyb3VwJ10pICkKICB7CiAgICAkZ2lkID0gJHRoaXMtPkdldEdyb3VwSUQoICRwYXJhbXNbJ2xvc3R1bl9ncm91cCddICk7CiAgICBpZiggJGdpZCA9PSBmYWxzZSApCiAgICAgIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9ncm91cG5vdGZvdW5kJykpOwoJcmV0dXJuOwogICAgICB9CiAgfQplbHNlIGlmKCAkZ2lkIDw9IDAgKQogIHsKICAgICRncm91cHMgPSAkdGhpcy0+R2V0R3JvdXBMaXN0KCk7CiAgICAkdmFsdWVzID0gYXJyYXlfdmFsdWVzKCRncm91cHMpOwogICAgJGdpZCA9ICR2YWx1ZXNbMF07CiAgfQoKJHJlbG5zID0gJHRoaXMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRnaWQgKTsKaWYoICFpc19hcnJheSggJHJlbG5zICkgfHwgJHJlbG5zWzBdID09PSBGQUxTRSApCiAgewogICAgZWNobyAnPCEtLSBGRVU6IEVycm9yIC0gJy4kcmVsbnNbMV0uJyAtLT4nOwogICAgcmV0dXJuOwogIH0KCiRjYXB0Y2hhID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwppZiggaXNfb2JqZWN0KCRjYXB0Y2hhKSAmJiAhaXNzZXQoJHBhcmFtc1snbm9jYXB0Y2hhJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhcHRjaGFfdGl0bGUnLCAkdGhpcy0+TGFuZygnY2FwdGNoYV90aXRsZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY2FwdGNoYScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CiAgfQoKLy8KLy8gQWRkIGEgcGFzc3dvcmQgZmllbGQKLy8KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcGFzc3dvcmQnLAoJCSR0aGlzLT5MYW5nKCdwcm9tcHRfcGFzc3dvcmQnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFzc3dvcmQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwnZmV1X2lucHV0X3Bhc3N3b3JkJywnJywKCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSksCgkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKTsKCi8vIE5vdzogd2UgbmVlZCB0byBnZXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgbWFya2VkIGFzICdsb3N0dW5mbGFnJyAKLy8gYW5kIGRpc3BsYXkgdGhlbSBpbiB0aGUgZm9ybQokcm93YXJyYXkgPSBhcnJheSgpOwpmb3JlYWNoKCAkcmVsbnMgYXMgJG9uZXJlbG4gKQp7CiAgLy8gaWYgaXQncyBub3QgcmVxdWlyZWQgaGVyZSwgZG9uJ3QgZG8gYW55dGhpbmcKICBpZiggIWlzc2V0KCRvbmVyZWxuWydsb3N0dW5mbGFnJ10pIHx8ICRvbmVyZWxuWydsb3N0dW5mbGFnJ10gPD0gMCApCiAgICBjb250aW51ZTsKCiAgaWYoICRvbmVyZWxuWydyZXF1aXJlZCddID09IDMgfHwgJG9uZXJlbG5bJ3JlcXVpcmVkJ10gPT0gNCkgCiAgICB7CiAgICAgIC8vIEhtbSwgaG93IGNhbiBhbiBhIGZpZWxkIHRoYXQncyByZXF1aXJlZCBpbiBsb3N0dW4gYmUgaGlkZGVuCiAgICAgIC8vIGdvdHRhIGZpZ3VyZSB0aGF0IG91dC4uLi4gdG9kbwogICAgICBlY2hvICc8IS0tIEZFVTogRVJST1IgLSBBIEhpZGRlbi9yZWFkb25seSBmaWVsZCBpcyByZXF1aXJlZCBmb3IgbG9zdCB1c2VybmFtZT8gLS0+JzsKICAgICAgY29udGludWU7CiAgICB9CgogICRkZWZuID0gJHRoaXMtPkdldFByb3BlcnR5RGVmbiggJG9uZXJlbG5bJ25hbWUnXSApOwoKICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgJG9uZXJvdy0+bmFtZSA9ICdpbnB1dF8nLiRvbmVyZWxuWyduYW1lJ107CiAgJG9uZXJvdy0+aWQgICA9ICRpZC4kb25lcm93LT5uYW1lOwogICRvbmVyb3ctPmNvbG9yID0gJyc7CiAgJG9uZXJvdy0+bWFya2VyID0gJyc7CiAgJG9uZXJvdy0+Y2xhc3NuYW1lID0gJG9uZXJlbG5bJ25hbWUnXTsKICAkYWRkdGV4dCA9ICdjbGFzcz0iJy4kb25lcmVsblsnbmFtZSddLiciJzsKICAkb25lcm93LT5oaWRkZW4gPSBSUlV0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsIAoJCQkJCQkgICdmZXVfaGlkZGVuXycuJG9uZXJlbG5bJ25hbWUnXSwKCQkJCQkJICBpbXBsb2RlKCc7JywKCQkJCQkgICAgICBhcnJheSgkb25lcmVsblsnbmFtZSddLAoJCQkJCQkgICAgJGRlZm5bJ3R5cGUnXSwKCQkJCQkJICAgICRvbmVyZWxuWydyZXF1aXJlZCddKSkpOwoKICBzd2l0Y2goICRkZWZuWyd0eXBlJ10gKQogICAgewogICAgY2FzZSAwOiAvLyB0ZXh0CiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdmZXVfJy4kb25lcm93LT5uYW1lLAoJCQkJCQkgJycsJGRlZm5bJ2xlbmd0aCddLAoJCQkJCQkgJGRlZm5bJ21heGxlbmd0aCddLAoJCQkJCQkgJGFkZHRleHQgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAxOiAvLyBjaGVja2JveAogICAgICAkb25lcm93LT5jb250cm9sID0gUlJVdGlsczo6bXlDcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsCgkJCQkJCQkgJ2ZldV8nLiRvbmVyb3ctPm5hbWUsCgkJCQkJCQkgMSwgMCwKCQkJCQkJCSAkYWRkdGV4dCApOwogICAgICBicmVhazsKCiAgICBjYXNlIDI6IC8vIGVtYWlsCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdmZXVfJy4kb25lcm93LT5uYW1lLAoJCQkJCQkgJycsJGRlZm5bJ2xlbmd0aCddLAoJCQkJCQkgJGRlZm5bJ21heGxlbmd0aCddLAoJCQkJCQkgJGFkZHRleHQgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAzOiAvLyB0ZXh0IGFyZWEKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYSggZmFsc2UsICRpZCwgJycsIAoJCQkJCQknZmV1XycuJG9uZXJvdy0+bmFtZSApOwogICAgICBicmVhazsKCiAgICBjYXNlIDQ6IC8vIGRyb3Bkb3duCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigKCQkJCQkJICAgICRpZCwgCgkJCQkJCSAgICAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICAgICR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJICAgIC0xLCAKCQkJCQkJICAgIC0xLAoJCQkJCQkgICAgJGFkZHRleHQpOwogICAgICBicmVhazsKCiAgICBjYXNlIDU6IC8vIG11bHRpc2VsZWN0CiAgICAgIHsKCSRzZWxlY3RlZCA9IGV4cGxvZGUoJywnLCR2YWwpOwoJJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoCgkJCQkJCQkkaWQsIAoJCQkJCQkJJ2ZldV8nLiRvbmVyb3ctPm5hbWUuJ1tdJywgCgkJCQkJCQkkdGhpcy0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLCAxKSwgCgkJCQkJCQkkc2VsZWN0ZWQsCgkJCQkJCQkkZGVmblsnbGVuZ3RoJ10sCgkJCQkJCQkkYWRkdGV4dCk7CglicmVhazsKICAgICAgfQoKICAgIGNhc2UgNjogLy8gaW1hZ2UKICAgICAgLy8gdGhpcyBpc24ndCBhbGxvd2VkCiAgICAgIGJyZWFrOwogICAgfQogICRvbmVyb3ctPmxhYmVsZm9yID0gJGlkLiRvbmVyZWxuWyduYW1lJ107CiAgJG9uZXJvdy0+dHlwZSA9ICRkZWZuWyd0eXBlJ107CiAgJG9uZXJvdy0+bGVuZ3RoID0gJGRlZm5bJ2xlbmd0aCddOwogICRvbmVyb3ctPm1heGxlbmd0aCA9ICRkZWZuWydtYXhsZW5ndGgnXTsKICAkb25lcm93LT5wcm9tcHQgPSAkZGVmblsncHJvbXB0J107CiAgJG9uZXJvdy0+bmFtZSA9ICRvbmVyZWxuWyduYW1lJ107CiAgJHJvd2FycmF5W10gPSAkb25lcm93Owp9CgoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJHRoaXMtPkxhbmcoJ3RpdGxlX2xvc3R1c2VybmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCSR0aGlzLT5mZUNyZWF0ZUZvcm1TdGFydCgkaWQsJ2RvX2xvc3R1c2VybmFtZScsCgkJCQkJICRyZXR1cm5pZCwgdHJ1ZSwgJ3Bvc3QnLCAnJywgJycsCgkJCQkJICRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJywkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKCiRoaWRkZW4gPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ2xvc3R1bl9ncm91cCddKSApIAogIHsKICAgICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnbG9zdHVuX2dyb3VwJywkcGFyYW1zWydsb3N0dW5fZ3JvdXAnXSk7CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ3JldHVybnRvJ10gKSApCiAgewogICAgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdpbnB1dF9yZXR1cm50bycsCgkJCQkJJHBhcmFtc1sncmV0dXJudG8nXSk7CiAgfQppZiggJGhpZGRlbiAhPSAnJyApIAogIHsKICAgICRzbWFydHktPmFzc2lnbignaGlkZGVuJywkaGlkZGVuKTsKICB9CiRzbWFydHktPmFzc2lnbignZm9ybWlkJywkaWQpOwokc21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xzJywgJHJvd2FycmF5KTsKJHNtYXJ0eS0+YXNzaWduKCdjb250cm9sY291bnQnLCBjb3VudCgkcm93YXJyYXkpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19sb3N0dW5mb3JtJyk7Ci8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.user_changesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKJHVpZCA9ICR0aGlzLT5Mb2dnZWRJbklkKCk7CmlmKCAkdWlkID09IGZhbHNlICkgCiAgewogICAgLy8gdXNlciBpc24ndCBsb2dnZWQgaW4KICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm90bG9nZ2VkaW4nKSk7CiAgICByZXR1cm47CiAgfQokcmVzdWx0ID0gJHRoaXMtPkdldFVzZXJJbmZvKCAkdWlkICk7CmlmKCAkcmVzdWx0WzBdID09IEZBTFNFICkKICB7CiAgICAvLyB1c2VyIGlzbid0IGxvZ2dlZCBpbgogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCSAgICAgICRyZXN1bHRbMV0pOwogICAgcmV0dXJuOwogIH0KJHVpbmZvID0gJHJlc3VsdFsxXTsKCmlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICB7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSApOwogIH0KaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddICk7CiAgfQoKLy8gZ2V0IHRoZSB1c2VycyBtZW1iZXIgZ3JvdXBzCiRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICR1aWQgKTsKaWYoICEkZ3JvdXBzICkKICB7CiAgICAvLyB0aGlzIHVzZXIgaXMgbm90IGEgbWVtYmVyIG9mIGFueSBncnVvcHMuLi4KICAgIC8vIGhhbmRsZSB0aGlzIGxhdGVyIHRvZG8KICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9ncm91cHMnKSk7CiAgICByZXR1cm47CiAgfQoKLy8gbm93IHdlIGhhdmUgdGhlIGdyb3Vwcywgd2UgYnVpbGQgYSB1bmlvbiBvZiBhbGwgb2YgdGhlIGdyb3VwcyBwcm9wZXJ0aWVzCiRwcm9wZXJ0aWVzID0gYXJyYXkoKTsKZm9yZWFjaCggJGdyb3VwcyBhcyAkZ3JwcmVjb3JkICkKewogICRnaWQgPSAkZ3JwcmVjb3JkWydncm91cGlkJ107CiAgJHByb3ByZWxhdGlvbnMgPSAkdGhpcy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdpZCApOwogICRwcm9wZXJ0aWVzID0gUlJVdGlsczo6YXJyYXlfbWVyZ2VfYnlfbmFtZV9yZXF1aXJlZCggJHByb3BlcnRpZXMsICRwcm9wcmVsYXRpb25zICk7CiAgdWFzb3J0KCAkcHJvcGVydGllcywgCgkgIGFycmF5KCdSUlV0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JykgKTsKfQoKaWYoIGNvdW50KCRwcm9wZXJ0aWVzKSA9PSAwICkKICB7CiAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVfb25lZ3JvdXAnKSA9PSAxICkKICAgICAgewoJLy8gdGhpcyB1c2VyIGlzIG5vdCBhIG1lbWJlciBvZiBhbnkgZ3J1b3BzLi4uCgkvLyBoYW5kbGUgdGhpcyBsYXRlciB0b2RvCgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CgoKLy8gbm93IHdlJ3JlIHJlYWR5IHRvIHBvcHVsYXRlIHRoZSB0ZW1wbGF0ZQovLyBmaXJzdCB3ZSBwdXQgaW4gc3R1ZmYgdGhhdCBpcyByZXF1aXJlZCAodXNlcm5hbWUsIHBhc3N3b3JkLCBldGMsIGV0YykKJHJvd2FycmF5ID0gYXJyYXkoKTsKCi8vIG1ha2Ugc3VyZSB1c2VybmFtZSBpcyBpbiB0aGVyZQokdmFsID0gJHVpbmZvWyd1c2VybmFtZSddOwokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fdXNlcm5hbWUnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCd1c2VybmFtZScsMCwzMCwzKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygndXNlcm5hbWUnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdmZXVfaW5wdXRfdXNlcm5hbWUnLCAkdmFsLAoJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwKCQkJCQkgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpLAoJCQkJCSAnZGlzYWJsZWQ9ImRpc2FibGVkIicpOwphcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCi8vIGFuZCBwYXNzd29yZAokdmFsID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ10gKSApCiAgJHZhbCA9ICRwYXJhbXNbJ2ZldV9pbnB1dF9wYXNzd29yZCddOwokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fcGFzc3dvcmQnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCdwYXNzd29yZCcsMCwzMCwzKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygncGFzc3dvcmQnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnZmV1X2lucHV0X3Bhc3N3b3JkJywgJHZhbCwKCQkJCQkgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcpLAoJCQkJCSAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcpKTsKJG9uZXJvdy0+YWRkdGV4dCA9JHRoaXMtPkxhbmcoJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJyk7CiRyb3dhcnJheVtdID0gJG9uZXJvdzsKCi8vIGFuZCBtYWtlIGhpbSByZXBlYXQgdGhlIHBhc3N3b3JkCiR2YWwgPSAnJzsKaWYoIGlzc2V0KCAkcGFyYW1zWydmZXVfaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApICkKICAkdmFsID0gJHBhcmFtc1snZmV1X2lucHV0X3JlcGVhdHBhc3N3b3JkJ107CiRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKJG9uZXJvdy0+Y29sb3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiRvbmVyb3ctPm1hcmtlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJG9uZXJvdy0+aGlkZGVuID0gUlJVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnZmV1X2hpZGRlbl9yZXBlYXRwYXNzd29yZCcsCgkJCQkgICAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3JlcGVhdHBhc3N3b3JkJywwLDMwLDMpKSk7CiRvbmVyb3ctPnByb21wdCA9ICR0aGlzLT5MYW5nKCdyZXBlYXRwYXNzd29yZCcpOwokb25lcm93LT5jb250cm9sID0kdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdmZXVfaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAKCSAkdmFsLCAKCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokb25lcm93LT5hZGR0ZXh0ID0kdGhpcy0+TGFuZygnaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnKTsKYXJyYXlfcHVzaCggJHJvd2FycmF5LCAkb25lcm93ICk7CiAgICAgICAgCi8vIG5vdyBmb3IgdGhlIHByb3BlcnRpZXMKZm9yZWFjaCggJHByb3BlcnRpZXMgYXMgJHByb3AgKQp7CiAgJHJlYWRvbmx5dGV4dCA9ICcnOwogIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSA0ICkKICAgIHsKICAgICAgJHJlYWRvbmx5dGV4dD0ncmVhZG9ubHk9IjEiJzsKICAgIH0KICAkY2xhc3NuYW1lID0gJHByb3BbJ25hbWUnXTsKICAkYWRkdGV4dCA9ICRyZWFkb25seXRleHQuJyBjbGFzcz0iJy4kY2xhc3NuYW1lLiciJzsKCiAgLy8gZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uCiAgJGRlZm4gPSAkdGhpcy0+R2V0UHJvcGVydHlEZWZuKCAkcHJvcFsnbmFtZSddICk7CiAgJHZhbCA9ICR0aGlzLT5HZXRVc2VyUHJvcGVydHlGdWxsKCAkcHJvcFsnbmFtZSddLCAkdWlkICk7CiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOyAKCiAgLy8gSGFuZGxlIGhpZGRlbiBmaWVsZHMgZGlmZmVyZW50bHkKICAkb25lcm93LT5uYW1lICAgICA9ICdpbnB1dF8nLiRwcm9wWyduYW1lJ107CiAgJG9uZXJvdy0+aWQgICAgICAgPSAkaWQuJG9uZXJvdy0+bmFtZTsKICBpZiggJHByb3BbJ3JlcXVpcmVkJ10gPT0gMyApCiAgICB7CiAgICAgICRvbmVyb3ctPmhpZGRlbiA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fJy4kcHJvcFsnbmFtZSddLAoJCQkJCQkgICAgICBpbXBsb2RlKCI7IixhcnJheSgkcHJvcFsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkJCSRkZWZuWydsZW5ndGgnXSwkcHJvcFsncmVxdWlyZWQnXSwkdmFsKSkpOwkKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnZmV1X2lucHV0XycuJHByb3BbJ25hbWUnXSwkdmFsKTsJCQkJCQkJCSAgIAkJCQkgICAKICAgICAgJHJvd2FycmF5W10gPSAkb25lcm93OwogICAgICBjb250aW51ZTsKICAgIH0KCiAgJGNvbG9yID0gJyc7CiAgaWYoICRwcm9wWydyZXF1aXJlZCddID09IDIgKSAkY29sb3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiAgJG1hcmtlciA9ICcnOwogIGlmKCAkcHJvcFsncmVxdWlyZWQnXSA9PSAyICkgJG1hcmtlciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgJG9uZXJvdy0+cmVxdWlyZWQgPSAoJHByb3BbJ3JlcXVpcmVkJ10gPT0gMik7CiAgJG9uZXJvdy0+c3RhdHVzICAgPSAkcHJvcFsncmVxdWlyZWQnXTsKICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgJG9uZXJvdy0+Y2xhc3NuYW1lID0gJGNsYXNzbmFtZTsKICAkb25lcm93LT5oaWRkZW4gICA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2ZldV9oaWRkZW5fJy4kcHJvcFsnbmFtZSddLAoJCQkJCSBpbXBsb2RlKCI7IixhcnJheSgkcHJvcFsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAkZGVmblsnbGVuZ3RoJ10sJHByb3BbJ3JlcXVpcmVkJ10sJHZhbCkpKTsKCiAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKICAgIHsKICAgIGNhc2UgMDogLy8gdGV4dAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgCgkJCQkJCSAkZGVmblsnbWF4bGVuZ3RoJ10sCgkJCQkJCSAkYWRkdGV4dCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMTogLy8gY2hlY2tib3gKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9IFJSVXRpbHM6Om15Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAKCQkJCQkJCSAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJCSAxLCAkdmFsLAoJCQkJCQkJICRhZGR0ZXh0KTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAyOiAvLyBlbWFpbAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgCgkJCQkJCSAkZGVmblsnbWF4bGVuZ3RoJ10sCgkJCQkJCSAkYWRkdGV4dCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMzogLy8gdGV4dGFyZWEKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkdmFsLCAKCQkJCQkgICAgICAgJ2ZldV8nLiRvbmVyb3ctPm5hbWUpOwogICAgICBicmVhazsKCiAgICBjYXNlIDQ6IC8vIGRyb3Bkb3duCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigKCQkJCQkJICAgICRpZCwgCgkJCQkJCSAgICAnZmV1XycuJG9uZXJvdy0+bmFtZSwKCQkJCQkJICAgICR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJICAgIC0xLCAKCQkJCQkJICAgICR2YWwsCgkJCQkJCSAgICAkYWRkdGV4dCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgNTogLy8gbXVsdGlzZWxlY3QKICAgICAgewoJJHNlbGVjdGVkID0gZXhwbG9kZSgnLCcsJHZhbCk7Cgkkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgKCQkJCQkJCSRpZCwgCgkJCQkJCQknZmV1XycuJG9uZXJvdy0+bmFtZS4nW10nLCAKCQkJCQkJCSR0aGlzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJCSRzZWxlY3RlZCwKCQkJCQkJCSRkZWZuWydsZW5ndGgnXSwKCQkJCQkJCSRhZGR0ZXh0KTsKCWJyZWFrOwogICAgICB9CgogICAgY2FzZSA2OiAvLyBpbWFnZQogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICRkZXN0RGlyMSA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiAgICAgICRkZXN0RGlyMSAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgICAkZGVzdERpcjIgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiAgICAgICRkZXN0RGlyMiAuPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfZGVzdGluYXRpb25fcGF0aCcsJ2ZldXNlcnMnKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgICAkZmlsZTEgPSAkZGVzdERpcjEuJHZhbDsKICAgICAgJGZpbGUyID0gJGRlc3REaXIyLiR2YWw7CiAgICAgIGlmKCBpc19yZWFkYWJsZSggJGZpbGUxICkgJiYgaXNfZmlsZSgkZmlsZTEpICkKCXsKCSAgJG9uZXJvdy0+aW1hZ2UgPSAnPGltZyBzcmM9IicuJGZpbGUyLiciIGFsdD0iJy4kdmFsLiciLz4nOwoJICAkb25lcm93LT5wcm9tcHQyID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9jbGVhcicpOwoJICAkb25lcm93LT5jb250cm9sMiA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwKCQkJCQkJCSAnZmV1XycuJG9uZXJvdy0+bmFtZS4nX2NsZWFyJywKCQkJCQkJCSAnY2xlYXInLCcnKTsKCX0KICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdmZXVfJy4kb25lcm93LT5uYW1lKTsKICAgICAgYnJlYWs7CiAgICB9CiAgJG9uZXJvdy0+bGFiZWxmb3IgPSAkaWQuJHByb3BbJ25hbWUnXTsKICAkb25lcm93LT50eXBlID0gJGRlZm5bJ3R5cGUnXTsKICAkb25lcm93LT5sZW5ndGggPSAkZGVmblsnbGVuZ3RoJ107CiAgJG9uZXJvdy0+bWF4bGVuZ3RoID0gJGRlZm5bJ21heGxlbmd0aCddOwogICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCi8vIGZpbGwgaW4gdGhlIHZhcmlhYmxlcyBmb3IgdGhlIHRlbXBsYXRlCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCd1c2VyX3NldHRpbmdzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJICAgICAgJHRoaXMtPmZlQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fdXNlcmNoYW5nZXNldHRpbmdzJywKCQkJCQkgICAgICAgJHJldHVybmlkLCB0cnVlLCAncG9zdCcsIAoJCQkJCSAgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScgKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZmV1X3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZmV1X2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgppZiggaXNzZXQoICRwYXJhbXNbJ3JldHVybnRvJ10gKSApCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2ZldV9pbnB1dF9yZXR1cm50bycsCgkJCQkJCSAgICRwYXJhbXNbJ3JldHVybnRvJ10pKTsKICB9CiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybWlkJywkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xzJywgJHJvd2FycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9sY291bnQnLCBjb3VudCgkcm93YXJyYXkpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19jaGFuZ2VzZXR0aW5nc2Zvcm0nKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.user_forgotpassword.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSB0cmltKCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICRlcnJvciA9IGh0bWxfZW50aXR5X2RlY29kZSh0cmltKCRwYXJhbXNbJ2Vycm9yJ10pKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCRlcnJvcik7CiAgfQppZiggaXNzZXQoICRwYXJhbXNbJ21lc3NhZ2UnXSApICkKICB7CiAgICAkbWVzc2FnZSA9IGh0bWxfZW50aXR5X2RlY29kZSh0cmltKCRwYXJhbXNbJ21lc3NhZ2UnXSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkbWVzc2FnZSk7CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1snc2tpcGZvcm1kaXNwbGF5J10gKSApCiAgewogICAgLy8gc2V0dXAgdGhlIHRlbXBsYXRlCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgJHRoaXMtPmZlQ3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19mb3Jnb3RwdycsICRyZXR1cm5pZCApKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJCSAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywKCQkJICAkdGhpcy0+TGFuZygnZm9yZ290cHcnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xvc3Rwd19tZXNzYWdlJywKCQkJICAkdGhpcy0+TGFuZygnbG9zdHB3X21lc3NhZ2UnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZScsCgkJCSAgJHRoaXMtPkxhbmcoJ3Byb21wdF91c2VybmFtZScpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfbGFiZWwnLCRpZCk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF91c2VybmFtZScsCgkJCQkJCSAgJHVzZXJuYW1lLCAKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwgCgkJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ3JldHVybnRvJ10gKSApCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywKCQkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfcmV0dXJudG8nLCRwYXJhbXNbJ3JldHVybnRvJ10pKTsKICAgICAgfQogIH0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCAnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGZvcm0nICk7CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.user_loginform.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZ2xvYmFsICRnQ21zOwokc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCi8vIGJ1aWxkIHRoZSBmb3JtCiRjYXB0Y2hhID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwppZiggaXNfb2JqZWN0KCRjYXB0Y2hhKSAmJiAhaXNzZXQoJHBhcmFtc1snbm9jYXB0Y2hhJ10pICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhcHRjaGFfdGl0bGUnLCAkdGhpcy0+TGFuZygnY2FwdGNoYV90aXRsZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY2FwdGNoYScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CiAgfQoKJHVzZXJuYW1lID0gKGlzc2V0KCRwYXJhbXNbJ2ZldV9pbnB1dF91c2VybmFtZSddKT8kcGFyYW1zWydmZXVfaW5wdXRfdXNlcm5hbWUnXTonJyk7CiRwYXNzd29yZCA9IChpc3NldCgkcGFyYW1zWydmZXVfaW5wdXRfcGFzc3dvcmQnXSk/JHBhcmFtc1snZmV1X2lucHV0X3Bhc3N3b3JkJ106JycpOwokcmVtZW1iZXJtZSA9IChpc3NldCgkcGFyYW1zWydmZXVfcmVtZW1iZXJtZSddKT8kcGFyYW1zWydmZXVfcmVtZW1iZXJtZSddOicnKTsKCiRpbmxpbmUgPSB0cnVlOwppZiggaXNzZXQoJHBhcmFtc1snbm9pbmxpbmUnXSkgKQogIHsKICAgICRpbmxpbmUgPSBmYWxzZTsKICB9CiRzbWFydHktPmFzc2lnbignZXJyb3InLCBpc3NldCgkcGFyYW1zWydlcnJvciddKSA/ICRwYXJhbXNbJ2Vycm9yJ10gOiAnJyk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgCgkJJHRoaXMtPmZlQ3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdkb19sb2dpbicsICRyZXR1cm5pZCwgJGlubGluZSApKTsKJHNtYXJ0eS0+YXNzaWduKCdpZF91c2VybmFtZScsJGlkLidmZXVfaW5wdXRfdXNlcm5hbWUnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlcm5hbWUnLCAkdGhpcy0+TGFuZygncHJvbXB0X3VzZXJuYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJuYW1lJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZmV1X2lucHV0X3VzZXJuYW1lJywKCQkJCQkkdXNlcm5hbWUsCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xhYmVsJywgJGlkICk7CiRzbWFydHktPmFzc2lnbignaWRfcGFzc3dvcmQnLCRpZC4nZmV1X2lucHV0X3Bhc3N3b3JkJyk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3Bhc3N3b3JkJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9wYXNzd29yZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYXNzd29yZCcsCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnZmV1X2lucHV0X3Bhc3N3b3JkJywKCQkJCQkJICRwYXNzd29yZCwgCgkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwgCgkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3JlbWVtYmVybWUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfcmVtZW1iZXJtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpZF9yZW1lbWJlcm1lJywkaWQuJ2ZldV9yZW1lbWJlcm1lJyk7CgppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWNvb2tpZXN0b3JlbWVtYmVyJykgJiYKICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb29raWVuYW1lJykgIT0gJycgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfcmVtZW1iZXJtZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZmV1X3JlbWVtYmVybWUnLDEsCgkJCQkJICAgICAgICRyZW1lbWJlcm1lKSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdWJtaXQnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdmZXVfYnRuX2xvZ2luJywKCQkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ25pbl9idXR0b24nLCR0aGlzLT5MYW5nKCdsb2dpbicpKSwgJ2NsYXNzPSJzaWduaW5fYnV0dG9uIicpKTsKCiRwYXJhbXNbJ3JldHVybnRvJ10gPSAkcmV0dXJuaWQ7CgokcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRmb3Jnb3RwYXNzd2QnKTsKaWYoICRwYWdlICkKICB7CiAgICAkcGlkID0gQ29udGVudE1hbmFnZXI6OkdldFBhZ2VJREZyb21BbGlhcyggJHBhZ2UgKTsKICAgIGlmKCAkcGlkID09IGZhbHNlICkKICAgICAgewogICAgICAgICRzbWFydHktPmFzc2lnbignbGlua19mb3Jnb3QnLCc8IS0tIEVycm9yIGNvdWxkIG5vdCBkZXRlcm1pbmUgcGFnZSBmcm9tIGFsaWFzL2lkIC0tPicpOwogICAgICB9CiAgICBlbHNlIAogICAgICB7CgkkcGFyYW1zWydmb3JtJ10gPSAnZm9yZ290cHcnOwogICAgICAgICRzbWFydHktPmFzc2lnbignbGlua19mb3Jnb3QnLAoJCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRwaWQsCgkJCQkJICAkdGhpcy0+TGFuZygnZm9yZ290cHcnKSwKCQkJCQkgICRwYXJhbXMpKTsKCS8vbnVuby1kZXYtUHJldHR5IFVybCdzCgkkcHJldHR5dXJsX2ZvcmdvdCA9ICdmZXUvZm9yZ290LycuJHBpZDsKCSRmb3Jnb3RfZmV1ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRwaWQsICAnJywKCQkJCSAgICAkcGFyYW1zLCAnJywgCgkJCQkJdHJ1ZSwgZmFsc2UsICcnLCBmYWxzZSwgJHByZXR0eXVybF9mb3Jnb3QpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VybF9mb3Jnb3QnLCRmb3Jnb3RfZmV1KTsKCQkKCQkJLyoKCSAgCSRzbWFydHktPmFzc2lnbigndXJsX2ZvcmdvdCcsCgkgIAkJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHBpZCwnJywKCSAgCQkJCQkgICRwYXJhbXMsJycsdHJ1ZSkpOwoJICovCgkJCQkJICAKCQkJCQkgIC8vZW5kIAoKCQkJCQkgIAoKCSRwYXJhbXNbJ2Zvcm0nXSA9ICdsb3N0dXNlcm5hbWUnOwoJJHNtYXJ0eS0+YXNzaWduKCdsaW5rX2xvc3R1bicsCgkJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHBpZCwKCQkJCQkgICR0aGlzLT5MYW5nKCdsb3N0dXNlcm5hbWUnKSwKCQkJCQkgICRwYXJhbXMpKTsKCSRzbWFydHktPmFzc2lnbigndXJsX2xvc3R1bicsCgkJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHBpZCwnJywKCQkJCQkgICRwYXJhbXMsJycsdHJ1ZSkpOwogICAgICB9CiAgfQogZWxzZSAKICAgewogICAgICRwYXJhbXNbJ2Zvcm0nXSA9ICdmb3Jnb3Rwdyc7CiAgICAgJHNtYXJ0eS0+YXNzaWduKCdsaW5rX2ZvcmdvdCcsCgkJICAgICAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwkcmV0dXJuaWQsJ2RlZmF1bHQnLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdmb3Jnb3RwdycpLAoJCQkJICAgICAgICRwYXJhbXMpKTsKCS8vbnVuby1kZXYtUHJldHR5IFVybCdzCgkkcHJldHR5dXJsX2ZvcmdvdCA9ICdmZXUvZm9yZ290LycuJHJldHVybmlkOwoJJGZvcmdvdF9mZXUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAgJycsCgkJCQkgICAgJHBhcmFtcywgJycsIAoJCQkJCXRydWUsIGZhbHNlLCAnJywgZmFsc2UsICRwcmV0dHl1cmxfZm9yZ290KTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmxfZm9yZ290JywkZm9yZ290X2ZldSk7CgkJCgkJICAgICAgICAgICAgICAgIAkvKgoJICAJJCRzbWFydHktPmFzc2lnbigndXJsX2ZvcmdvdCcsCgkJICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywKCQkJCSAgICAgICAkcGFyYW1zLCcnLHRydWUpKTsKCSAgICAgICAgICAgICAgICAgICAgICAgICovCgkJIC8vZW5kIAoJCQkJCSAgCgkJCQkJICAKICAgICAgICAgJHBhcmFtc1snZm9ybSddID0gJ2xvc3R1c2VybmFtZSc7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdsaW5rX2xvc3R1bicsCgkJICAgICAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwkcmV0dXJuaWQsJ2RlZmF1bHQnLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdsb3N0dXNlcm5hbWUnKSwKCQkJCSAgICAgICAkcGFyYW1zKSk7CgkJCQkgICAgICAgCgkJCQkgICAgICAgCS8vbnVuby1kZXYtUHJldHR5IFVybCdzCgkkcHJldHR5dXJsX2xvc3R1biA9ICdmZXUvbG9zdHVzZXJuYW1lLycuJHJldHVybmlkOwoJJGxvc3R1bl9mZXUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAgJycsCgkJCQkgICAgJHBhcmFtcywgJycsIAoJCQkJCXRydWUsIGZhbHNlLCAnJywgZmFsc2UsICRwcmV0dHl1cmxfbG9zdHVuKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmxfbG9zdHVuJywkbG9zdHVuX2ZldSk7CgkJCgkJICAgICAgICAgICAgICAJLyoKCSAgCSAkc21hcnR5LT5hc3NpZ24oJ3VybF9sb3N0dW4nLAoJCSAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJycsCgkJCQkgICAgICAgJHBhcmFtcywnJyx0cnVlKSk7CgkJCQkJICAgKi8KICAgICAJIAkJCQkgIAoJCS8vZW5kICAKICAgfQppZiAoaXNzZXQoJHBhcmFtc1snb25seV9ncm91cHMnXSkpIHsKICAkc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAnPGRpdj4nLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdvbmx5X2dyb3VwcycsICRwYXJhbXNbJ29ubHlfZ3JvdXBzJ10pIC4nPC9kaXY+Jy4gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiB9CiBlbHNlIHsKICAgJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiB9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZmV1c2Vyc19sb2dpbmZvcm0nKTsKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.user_logoutform.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAgICR1aWQgPSAkdGhpcy0+TG9nZ2VkSW5JZCgpOwogICAgaWYoICEkdWlkICkgcmV0dXJuOwogICAgJHVzZXJuYW1lID0gJHRoaXMtPkxvZ2dlZEluTmFtZSgpOwoKICAgIC8vIHJlcGxhY2UgeyRncm91cG5hbWV9IHdpdGggdGhlIGZpcnN0IGdyb3VwbmFtZSB3ZSBjYW4gZmluZCB0aGF0IG1hdGNoZXMKICAgICRncm91cHMgPSAkdGhpcy0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoICR1aWQgKTsKICAgICRncm91cG5hbWUgPSAkdGhpcy0+R2V0R3JvdXBOYW1lKCAkZ3JvdXBzWzBdWydncm91cGlkJ10gKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9sb2dnZWRpbicsCgkJCSAgJHRoaXMtPkxhbmcoJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyaWQnLCAkdWlkKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCAkdXNlcm5hbWUpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19sb2dvdXQnLAoJCQkgICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCRyZXR1cm5pZCwibG9nb3V0IiwKCQkJCQkJICAgICR0aGlzLT5MYW5nKCdsb2dvdXQnKSkpOwogICAvL251bm8tZGV2LVByZXR0eSBVcmwncwoJJHByZXR0eXVybF9sb2dvdXQgPSAnZmV1L2xvZ291dC8nLiRyZXR1cm5pZDsKCSRsb2dvdXRfZmV1ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnbG9nb3V0JywgJHJldHVybmlkLCAgJycsCgkJCQkgICAgYXJyYXkoKSwgJycsIHRydWUsIGZhbHNlLCAnJywgZmFsc2UsICRwcmV0dHl1cmxfbG9nb3V0KTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmxfbG9nb3V0JywgJGxvZ291dF9mZXUpOwoJLy9lbmQKICAgICRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9jaGFuZ2VzZXR0aW5ncycpOwogICAgaWYoICRwYWdlICkKICAgIHsKICAgICAgJHBhZ2VpZCA9IENvbnRlbnRNYW5hZ2VyOjpHZXRQYWdlSURGcm9tQWxpYXMoICRwYWdlICk7CiAgICAgIGlmKCAkcGFnZWlkID09IGZhbHNlICkKICAgICAgewogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19jaGFuZ2VzZXR0aW5ncycsJzwhLS0gRXJyb3IgY291bGQgbm90IGRldGVybWluZSBwYWdlIGZyb20gYWxpYXMvaWQgLS0+Jyk7CiAgICAgIH0KICAgICAgZWxzZSAKICAgICAgewogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19jaGFuZ2VzZXR0aW5ncycsCgkJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdkZWZhdWx0JywgJHBhZ2VpZCwKCQkJCQkJICR0aGlzLT5MYW5nKCdwcm9tcHRfY2hhbmdlc2V0dGluZ3MnKSwKCQkJCQkJIGFycmF5KCdmb3JtJz0+J2NoYW5nZXNldHRpbmdzJywKCQkJCQkJICAgICAgICdyZXR1cm50byc9PiRyZXR1cm5pZCkpKTsKCQkvL251bm8tZGV2LVByZXR0eSBVcmwncwoJJHByZXR0eXVybF9jaGFuZ2VzZXR0aW5ncyA9ICdmZXUvZWRpdC8nLiRwYWdlaWQ7CgkkY2hhbmdlc2V0dGluZ3NfZmV1ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRwYWdlaWQsICAnJywKCQkJCSAgICBhcnJheSgnZm9ybSc9PidjaGFuZ2VzZXR0aW5ncycpLCAnJywgCgkJCQkJdHJ1ZSwgZmFsc2UsICcnLCBmYWxzZSwgJHByZXR0eXVybF9jaGFuZ2VzZXR0aW5ncyk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsX2NoYW5nZXNldHRpbmdzJywkY2hhbmdlc2V0dGluZ3NfZmV1KTsKCS8vZW5kCiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbGlua19jaGFuZ2VzZXR0aW5ncycsCgkJCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfY2hhbmdlc2V0dGluZ3MnKSwKCQkJCQkgICAgYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSkpOwogICAgICAvL251bm8tZGV2LVByZXR0eSBVcmwncwoJJHByZXR0eXVybF9jaGFuZ2VzZXR0aW5ncyA9ICdmZXUvZWRpdC8nLiRyZXR1cm5pZDsKCSRjaGFuZ2VzZXR0aW5nc19mZXUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAgJycsCgkJCQkgICAgYXJyYXkoJ2Zvcm0nPT4nY2hhbmdlc2V0dGluZ3MnKSwgJycsIAoJCQkJCXRydWUsIGZhbHNlLCAnJywgZmFsc2UsICRwcmV0dHl1cmxfY2hhbmdlc2V0dGluZ3MpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VybF9jaGFuZ2VzZXR0aW5ncycsJGNoYW5nZXNldHRpbmdzX2ZldSk7CgkvL2VuZAogICAgfQogICAgJHByb3BzID0gJHRoaXMtPkdldFVzZXJQcm9wZXJ0aWVzKCAkdGhpcy0+TG9nZ2VkSW5JZCgpICk7CiAgICBpZiggJHByb3BzICE9PSBmYWxzZSApCiAgICAgIHsKCWZvcmVhY2goICRwcm9wcyBhcyAkcCApCgkgIHsKCSAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJHBbJ3RpdGxlJ10sJHBbJ2RhdGEnXSk7CgkgIH0KICAgICAgfQogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdmZXVzZXJzX2xvZ291dGZvcm0nKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgUlJVdGlscwp7CiAgZnVuY3Rpb24gYXJyYXlfa2V5X2V4aXN0c19zdWJzdHIoICRhcnIsICRleHByICkKICB7CiAgICAka2V5cyA9IGFycmF5X2tleXMoICRhcnIgKTsKICAgIGZvcmVhY2goICRrZXlzIGFzICRrICkKICAgICAgewoJaWYoIHN0cnN0ciggJGssICRleHByICkgKSByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gYXJyYXlfZmluZF9rZXlfcmVnZXhwKCAkYXJyLCAkZXhwciApCiAgewogICAgJGtleXMgPSBhcnJheV9rZXlzKCAkYXJyICk7CiAgICBmb3JlYWNoKCAka2V5cyBhcyAkayApCiAgICAgIHsKCWlmKCBwcmVnX21hdGNoKCAkZXhwciwgJGsgKSApIHJldHVybiAkazsKICAgICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCgogIGZ1bmN0aW9uIGFycmF5X21lcmdlX2J5X25hbWVfcmVxdWlyZWQoICRhcnIxLCAkYXJyMiApCiAgewogICAgJHh4cmVzdWx0ID0gYXJyYXkoKTsKICAgIC8vIGFkZCBpdGVtcyBjb21tb24gdG8gYXJyMSBhbmQgYXJyMiAKICAgIC8vIGJ1dCBmYXZvciByZXF1aXJlZCBpdGVtcwogICAgaWYoICFpc19hcnJheSggJGFycjEgKSB8fCAhaXNfYXJyYXkoICRhcnIyICkgKQogICAgICB7CglyZXR1cm47CiAgICAgIH0KICAgIGZvcmVhY2goICRhcnIxIGFzICRhMSApCiAgICAgIHsKCWZvcmVhY2goICRhcnIyIGFzICRhMiApCgkgIHsKCSAgICBpZiggJGExWyduYW1lJ10gPT0gJGEyWyduYW1lJ10gKSAKCSAgICAgIHsKCQlpZiggJGExWydyZXF1aXJlZCddID09IDIgKSAKCQkgIHsKCQkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTEgKTsKCQkgICAgYnJlYWs7CgkJICB9CgkJZWxzZSAKCQkgIHsKCQkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTIgKTsKCQkgICAgYnJlYWs7CgkJICB9CgkgICAgICB9ICAgIAoJICB9CiAgICAgIH0KICAKICAgIC8vIGFkZCBpdGVtcyBpbiBhcnIxIG5vdCBpbiByZXN1bHQKICAgIGZvcmVhY2goICRhcnIxIGFzICRhMSApCiAgICAgIHsKCSRmb3VuZCA9IGZhbHNlOwoJZm9yZWFjaCggJHh4cmVzdWx0IGFzICRyZXMgKQoJICB7CgkgICAgaWYoICRhMVsnbmFtZSddID09ICRyZXNbJ25hbWUnXSApCgkgICAgICB7CgkJJGZvdW5kID0gdHJ1ZTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJaWYoICEkZm91bmQgKQoJICB7CgkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTEgKTsKCSAgfQogICAgICB9CiAgCiAgICAvLyBhZGQgaXRlbXMgaW4gYXJyMiBub3QgaW4gcmVzdWx0CiAgICBmb3JlYWNoKCAkYXJyMiBhcyAkYTIgKQogICAgICB7CgkkZm91bmQgPSBmYWxzZTsKCWZvcmVhY2goICR4eHJlc3VsdCBhcyAkcmVzICkKCSAgewoJICAgIGlmKCAkYTJbJ25hbWUnXSA9PSAkcmVzWyduYW1lJ10gKQoJICAgICAgewoJCSRmb3VuZCA9IHRydWU7CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCWlmKCAhJGZvdW5kICkKCSAgewoJICAgIGFycmF5X3B1c2goICR4eHJlc3VsdCwgJGEyICk7CgkgIH0KICAgICAgfQogICAgcmV0dXJuICR4eHJlc3VsdDsKICB9CgoKICBmdW5jdGlvbiBjb21wYXJlX2VsZW1lbnRzX2J5X3NvcnRvcmRlcl9rZXkoICRlMSwgJGUyICkKICB7CiAgICBpZiggJGUxWydzb3J0X2tleSddIDwgJGUyWydzb3J0X2tleSddICkKICAgICAgewoJcmV0dXJuIC0xOwogICAgICB9CiAgICBlbHNlIGlmKCAkZTFbJ3NvcnRfa2V5J10gPiAkZTJbJ3NvcnRfa2V5J10gKQogICAgICB7CglyZXR1cm4gMTsKICAgICAgfQogICAgcmV0dXJuIDA7CiAgfQoKCiAgZnVuY3Rpb24gZXhwbG9kZV93aXRoX2tleSgkc3RyLCAkaW5nbHVlPSc9JywgJG91dGdsdWU9JyYnKQogIHsKICAgICRyZXQgPSBhcnJheSgpOwogICAgJGExID0gc3BsaXQoJG91dGdsdWUsJHN0cik7CiAgICBmb3JlYWNoKCAkYTEgYXMgJGEyICkKICAgICAgewoJbGlzdCggJGssICR2ICkgPSBzcGxpdCggJGluZ2x1ZSwgJGEyICk7CgkkcmV0WyAkayBdID0gJHY7CiAgICAgIH0KICAgIHJldHVybiAkcmV0OwogIH0KCgogIGZ1bmN0aW9uIGZpbmRfaW5kZXhfb2ZfdmFsdWUoICRkYXRhLCAkdmFsdWUsICRkZmx0ICkKICB7CiAgICAkaSA9IDA7CiAgICBmb3JlYWNoKCAkZGF0YSBhcyAkaz0+JHYgKQogICAgICB7CglpZiggJHYgPT0gJHZhbHVlICkKCSAgewoJICAgIHJldHVybiAkaTsKCSAgfQoJJGkrKzsKICAgICAgfQogICAgcmV0dXJuICRkZmx0OwogIH0KCgogIGZ1bmN0aW9uIGltcGxvZGVfd2l0aF9rZXkoJGFzc29jLCAkaW5nbHVlID0gJz0nLCAkb3V0Z2x1ZSA9ICcmJykKICB7CiAgICAkcmV0dXJuID0gbnVsbDsKICAgIGZvcmVhY2ggKCRhc3NvYyBhcyAkdGsgPT4gJHR2KSAkcmV0dXJuIC49ICRvdXRnbHVlLiR0ay4kaW5nbHVlLiR0djsKICAgIHJldHVybiBzdWJzdHIoJHJldHVybixzdHJsZW4oJG91dGdsdWUpKTsKICB9CgoKCiAgZnVuY3Rpb24gbXlDcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJG5hbWUsICR2YWx1ZT0nJywgJHNlbGVjdGVkdmFsdWU9JycsIAoJCQkJICRhZGR0dGV4dD0nJykKICB7CiAgICAkdGV4dCA9ICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IicuJGlkLiRuYW1lLiciIHZhbHVlPSInLiR2YWx1ZS4nIic7CiAgICAkYXJyID0gc3BsaXQoIiwiLCRzZWxlY3RlZHZhbHVlKTsKICAgIGZvcmVhY2goICRhcnIgYXMgJGEgKQogICAgICB7CglpZiAoJGEgPT0gJHZhbHVlKQoJICB7CgkgICAgJHRleHQgLj0gJyAnIC4gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsKCSAgfQogICAgICB9CiAgICBpZiAoJGFkZHR0ZXh0ICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnICcuJGFkZHR0ZXh0OwogICAgICB9CiAgICAkdGV4dCAuPSAiIC8+XG4iOwogICAgcmV0dXJuICR0ZXh0OwogIH0KCiAgZnVuY3Rpb24gbXlDcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICRuYW1lLCAkdmFsdWU9JycsICRpbWFnZT0nJywgJGFkZHR0ZXh0PScnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICR0ZXh0ID0gJzxpbnB1dCBuYW1lPSInLiRpZC4kbmFtZS4nIiB2YWx1ZT0iJy4kdmFsdWUuJyIgdHlwZT0nOwogICAgaWYgKCRpbWFnZSAhPSAnJykKICAgICAgewoJJHRleHQgLj0gJyJpbWFnZSInOwoJJGltZyA9ICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2U7CgkkdGV4dCAuPSAnIHNyYz0iJy4kaW1nLiciJzsKICAgICAgfQogICAgZWxzZSAKICAgICAgewoJJHRleHQgLj0gJyJzdWJtaXQiJzsKICAgICAgfQogICAgaWYgKCRhZGR0dGV4dCAhPSAnJykKICAgICAgewoJJHRleHQgLj0gJyAnLiRhZGR0dGV4dDsKICAgICAgfQogICAgJHRleHQgLj0gJyAvPic7CiAgICByZXR1cm4gJHRleHQgLiAiXG4iOwogIH0KCgogIGZ1bmN0aW9uIG15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJG5hbWUsICR2YWx1ZT0nJywgJGFkZHRleHQ9JycsICRkZWxpbT0nLCcpCiAgewogICAgaWYoIGlzX2FycmF5KCAkdmFsdWUgKSApCiAgICAgIHsKCSR2YWwgPSBSUlV0aWxzOjppbXBsb2RlX3dpdGhfa2V5KCAkdmFsdWUgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdmFsID0gJHZhbHVlOwogICAgICB9CiAgICAkdmFsID0gc3RyX3JlcGxhY2UoJyInLCAnJnF1b3Q7JywgJHZhbCk7CiAgICAkdGV4dCA9ICc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLiRpZC4kbmFtZS4nIiB2YWx1ZT0iJy4kdmFsLiciJzsKICAgIGlmICgkYWRkdGV4dCAhPSAnJykKICAgICAgewoJJHRleHQgLj0gJyAnLiRhZGR0ZXh0OwogICAgICB9CiAgICAkdGV4dCAuPSAiIC8+XG4iOwogICAgcmV0dXJuICR0ZXh0OwogIH0KCiAgZnVuY3Rpb24gaXNfYXNzb2NpYXRpdmUoJiRhcnJheSl7CiAgICBpZiAoIWlzX2FycmF5KCRhcnJheSkpIHJldHVybiBmYWxzZTsKICAgIGZvcmVhY2goYXJyYXlfa2V5cygkYXJyYXkpIGFzICRrZXk9PiR2YWx1ZSkgewogICAgICBpZiggIWlzX251bWVyaWMoJGtleSkgKSByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKfSAvLyBFbmQgb2YgY2xhc3MKPz4=]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/delete.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAOZ/AAE82AkNrcLT4rHS4gpU4iJr4Cs51gBF4gYjqk1Wyhle4R1m4hk0zQZF2QkMlglJ2wAAfAAAggAuqgAAci514gkOpgBD4mWK3A5R22OK35Wh0bXW4rDL4q/J4jh64QpGzBI6pzNtygtL28DA0x000Qcou6e23hVoxoqKyyBXvmGP0gAi1REjtl9fo3FxzszM6BBW4jF84kmN2JTA4T2G0sjZ4ktXzCZmwhVZ3hE3qQADiAATlAAVmDJnyEKD4RcclgBBthNErBtCvVl/21JcxFNb05a43rjW4gAAXwAzrAYfogkUtgAioAA4tgAAbAovqJ2/4j1T15aW0K6/4gNK38XV4rXT4gEhmiY0yWNjtz2G4pSy4cfH4U5XxBVk4h9q4sHB3CRw4hcuyUiM4kFy2U1z2leU4h8ops3c4lCQ4iM01zl70ExXzyVhy6Gh44iItRBR3SArsCkxtnZ23Rg9qwAMjzx/4ghP4IKy4gAdnQAt13ST3xMpvkWG4g1X3ezs7CH5BAEAAH8ALAAAAAAQABAAAAe6gH+Cg4SFhC9zBiQMDGJYLlyFbgZkazcpQSB0QnxShGoyJ0ASeXURExM5LIRRNE0STDs6EE5IVyWERTMhSTyzExBPfkuEbBscRio9KW0FXgcBhDYDAmh4Y1oxXwQW0YMJ1B1mfXYUC9zegglWVVBpPh4U2wcVhF1HNRcAAA0iGHf0CBHZYqLMCn4PEgYcJGfPlCF6GsDBoUABFQeEUMTRkOEAjAVhCnxw8KYQmCxnEKhU8qPFCEMwDQUCADs=]]></data>
	</file>
	<file>
	  <filename>/icons/edit.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAOZ/ANfq//r+/ur0/+Xy/9/1/9rs/9bu/nehxf/+/fX///H4/+32/+j0/+P3/+bz/+Hw/3+ny3mgxV2XzViTyXqhxVuXzePx//z9/3eew3CYv/j7//r9//3+///+/9zu//f7//j8/3GZv/T6//b6/9/u/93u/+3+//b7/+Dv/1qTyVeY0HGYv/r8/8jf84etz26Xv1eTyfP4/+v1/uX1+FuY0NHq+q/L5IWhwVCKwG6fyun5/+n6/8DL2dzj6VaRyVqAp+T4//z+//T5//L5+9zt/6Kyxc/b5ODy/+Dn63ifxD9nkUdoj+P//1KKv9/v/52ww/D6/3KawfP6/1ORylGSzGOc0N/w/9fi64ykvJWmvPT9//f+/+Xx/////uH0/42ryf7+//7//1qQw0N1pkx5pYuetleNwFiVzePt8luWz+v7/9PZ41qX0J650MPM29ni6vH3++Lv/97u//b4+VJwllZzlVWTytjr/+Lx/16Bp+31/4Sdt+b4/3adw////////yH5BAEAAH8ALAAAAAAQABAAAAfjgH95BxQUGIeHfRERBz9/fyt+fgiSlX5dkhCPIX5rWZVgF35FPH6af0lIdWWSHEEgfk9LRi6PUQg9c5IXGx8fcG9DOY8ZlWEXLBonIgpQCRPEfh0dQRvKIgsDFiYp0R28GiNSC1x4cWrQf8UcGyAfMTLaKHI66ZwX4QoCDhZOJQVAYDx64YeDED0M5Hko4KGBj0dmAqCRsc+ClYUAWhiw80jMFTpYEjx4UOKOly9KbKR51MSPmz1aSJAgAuDIjTYmpjzC4WfLDBM7+DQgQKCGASZUHpGpwlSC0woVztBgo2LMn0AAOw==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY29va2llc3RvcmVtZW1iZXInXSA9ICc8c3Ryb25nPk5vdGU6IDwvc3Ryb25nPiBUaGlzIHVzZXMgdGhlIG1jcnlwdCBmdW5jdGlvbnMgZm9yIGVuY3J5cHRpb24gcHVycG9zZXMsIGFuZCB0aGV5IGNvdWxkIG5vdCBiZSBkZXRlY3RlZCBvbiB5b3VyIGluc3RhbGwuICAgUGxlYXNlIGNvbnRhY3QgeW91ciBzZXJ2ZXIgYWRtaW5pc3RyYXRvci4nOwokbGFuZ1snZWRpdGluZ191c2VyJ10gPSAnRWRpdGluZyBVc2VyJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnRG8gbm90IGlubGluZSBmb3Jtcyc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0NsaWNrIGhlcmUgaWYgeW91IGNhbm5vdCByZW1lbWJlciB5b3VyIGxvZ2luIGRldGFpbHMnOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ0NsaWNrIGhlcmUgaWYgeW91IGNhbm5vdCByZW1lbWJlciB5b3VyIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnQ2xpY2sgaGVyZSB0byBzaWduIG91dCc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnQ2xpY2sgaGVyZSB0byBhZGp1c3QgeW91ciBwYXNzd29yZCBvciBvdGhlciBpbmZvcm1hdGlvbic7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1ZpZXcgVXNlciBUZW1wbGF0ZSc7CiRsYW5nWydldmVudCddID0gJ0V2ZW50JzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdGRVUgRXZlbnQgTm90aWZpY2F0aW9uJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcyddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdOb3RpZmljYXRpb24gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnTm90aWZpY2F0aW9uIEVtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbCBOb3RpZmljYXRpb25zJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdPbiBMb2dpbic7CiRsYW5nWydPbkxvZ291dCddID0gJ09uIExvZ291dCc7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICdPbiBTZXNzaW9uIEV4cGlyeSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdPbiBOZXcgVXNlciBDcmVhdGVkJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ09uIFVzZXIgRGVsZXRlZCc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdPbiBVc2VyIFNldHRpbmdzIENoYW5nZWQnOwokbGFuZ1snT25DcmVhdGVHcm91cCddID0gJ09uIFVzZXIgR3JvdXAgQ3JlYXRlZCc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnT24gVXNlciBHcm91cCBEZWxldGVkJzsKCiRsYW5nWydsb3N0dW5jb25maXJtX3ByZW1zZyddID0gJ1RoZSBsb3N0IGxvZ2luIGRldGFpbHMgZnVuY3Rpb25hbGl0eSBoYXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZC4gIFdlIGhhdmUgZm91bmQgYSB1bmlxdWUgdXNlcm5hbWUgdGhhdCBtYXRjaGVzIHRoZSBkZXRhaWxzIHlvdSBlbnRlcmVkLic7CiRsYW5nWyd5b3VyX3VzZXJuYW1lX2lzJ10gPSAnWW91ciB1c2VybmFtZSBpcyc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdXZSByZWNvbW1lbmQgeW91IHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGluIGEgc2VjdXJlLCBidXQgcmV0cmlldmFibGUgbG9jYXRpb24uJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgRGV0YWlscyBUZW1wbGF0ZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0Vycm9yOiBNb3JlIHRoYW4gb25lIHVzZXIgYWNjb3VudCBtYXRjaGVkIHRoZSBwcm9wZXJ0aWVzIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJvcjogQ291bGQgbm90IGZpbmQgYSBtYXRjaGluZyB1c2VyJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvcjogQ291bGQgbm90IGZpbmQgYSBncm91cCBieSB0aGF0IG5hbWUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdSZWFkIE9ubHknOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnTG9nZ2VkIG91dCBieSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdTaG93IE9ubHkgTG9nZ2VkIEluIFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ1VzZXIgUHJvcGVydGllcyc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ1VzZXIgSGlzdG9yeSc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnQnOwokbGFuZ1snY2xlYXInXSA9ICdDbGVhcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnQgVXNlciBIaXN0b3J5IFRvIEFTQ0lJIHRoYXQgaXMgYXQgbGVhc3QnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdDbGVhciBVc2VyIEhpc3RvcnkgcmVjb3JkcyB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0ZvcmdvdCBZb3VyIExvZ2luIERldGFpbHM/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydCBncm91cCBkZWZpbml0aW9uIChhbmQgcHJvcGVydGllcykgdG8gWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVc2VyIEhpc3RvcnkgTWFpbnRlbmFuY2UnOwokbGFuZ1sneWVzJ10gPSAnWWVzJzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnT2YnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogTm8gTGltaXQgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnT25lIEhvdXIgT2xkJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NpeCBIb3VycyBPbGQnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVHdlbHZlIEhvdXJzIE9sZCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ09uZSBEYXkgT2xkJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ09uZSBXZWVrIE9sZCc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVHdvIHdlZWtzIE9sZCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnT25lIE1vbnRoIE9sZCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVGhyZWUgTW9udGhzIE9sZCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1NpeCBNb250aHMgT2xkJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ09uZSBZZWFyIE9sZCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcm91cGluZyBhbmQgU29ydGluZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVjb3JkcyBtYXRjaGluZyB0aGUgY3JpdGVyaWEnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIFVzZXJuYW1lJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdBc2NlbmRpbmcgVXNlcm5hbWUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0Rlc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdBc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIEV2ZW50IFR5cGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdBc2NlbmRpbmcgRXZlbnQgVHlwZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIElwIEFkZHJlc3MnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdBc2NlbmRpbmcgSXAgQWRkcmVzcyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnTm8gSGlzdG9yeSBEZXRlY3RlZCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dyb3VwIEJ5IElQIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdFdmVudCBUeXBlIEZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdEaXNwbGF5IG9ubHkgZXZlbnRzIHRoYXQgYXJlIGxlc3MgdGhhbjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1BhZ2UgTGltaXQnOwokbGFuZ1snZm9yJ10gPSAnZm9yJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnVXNlciBIaXN0b3J5IFJlcG9ydCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgQWRkcmVzcyc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnRXZlbnQgVHlwZSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IE9wZXJhdGlvbiBDb21wbGV0ZSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdMaW5lcyBQcm9jZXNzZWQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9ycyBFbmNvdW50ZXJlZCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVjb3JkcyBBZGRlZCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgZ3JvdXAgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdDb3VsZCBub3QgZ2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgU01UUCBzZXJ2ZXInOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBzcGVjaWZpZWQgKCVzKSBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ0ludmFsaWQgdmFsdWUgZm9yIGRyb3Bkb3duIG9yIG11bHRpc2VsZWN0IGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmllbGQgJXMgZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBFcnJvciAobGluZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0NvdWxkIG5vdCBvcGVuIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICcKPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPgo8aDU+SGVhZGVyIGxpbmU8L2g1Pgo8dWw+CjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+CjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+CjwvdWw+CjxoNT5Db2x1bW5hciBEYXRhPC9oNT4KPHVsPgo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY2ggYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPgo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4KPGxpPkRyb3Bkb3duIEZpZWxkcwogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+CjwvbGk+CjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMKICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4KPC9saT4KPGxpPkltYWdlIEZpZWxkcwogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG9cJ3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4KPC91bD4KPGg1Pk5vdGVzPC9oNT4KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPgo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPgo8aDU+RXhhbXBsZTwvaDU+CjxwcmU+CiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcAp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1CjwvcHJlPgonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydCBVc2VycyBJbnRvIFRoaXMgR3JvdXAnOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnSW5wdXQgQ1NWIEZpbGUnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdJbnB1dCBYTUwgRmlsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdFeHBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0IFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0NsZWFyJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnSW1hZ2UgRGVzdGluYXRpb24gUGF0aCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0EgcHJvYmxlbSBvY2N1cnJlZCB3aXRoIGEgbWlzc2luZyAoYnV0IHJlcXVpcmVkKSB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0NvdWxkIG5vdCBwYXJzZSB0aGUgcHJvdmlkZWQgWE1MIGZpbGUnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0Nhbm5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2Vycyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnVGhpcyB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RoZSB0ZXh0IGZyb20gdGhlIGltYWdlIHdhcyBub3QgZW50ZXJlZCBjb3JyZWN0bHknOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ0FsbG93IHVzZXJzIHRvIGxvZ2luIG1vcmUgdGhhbiBvbmNlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdJbWFnZSBGaWxlIEV4dGVuc2lvbnMgdGhhdCBVc2VycyBhbGxvd2VkIHRvIHVwbG9hZCc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJwo8aDM+T25EZWxldGVVc2VyPGgzPgo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+CjwvdWw+IAonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICcKPGgzPk9uQ3JlYXRlVXNlcjxoMz4KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+CjwvdWw+IAonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICcKPGgzPk9uVXBkYXRlVXNlcjxoMz4KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4KPC91bD4gCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICcKPGgzPk9uQ3JlYXRlR3JvdXA8aDM+CjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPgo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPgo8L3VsPiAKJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJwo8aDM+T25EZWxldGVHcm91cDxoMz4KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+CjwvdWw+IAonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnCjxoMz5PbkxvZ2luPGgzPgo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBpZCBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPgo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPgo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4KPC91bD4KJzsgCiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4KPC91bD4KJzsgCiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJwo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPgo8L3VsPgonOyAKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpbmZvIGlzIHVwZGF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBkZWxldGVkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIEdyb3VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogVGhlIGZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgaW4gdGhlc2UgZmllbGRzOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gV2hlbiB1c2luZyB0aGUgeyRncm91cH0gbWFjcm8sIHRoZSBzeXN0ZW0gd2lsbCBzdWJzaXR1dGUgdGhlIG5hbWUgb2YgdGhlIGZpcnN0IG1lbWJlciBncm91cCB0aGF0IHRoZSB1c2VyIGJlbG9uZ3MgdG8sIGFuZCB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnQSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdObyByZXN1bHRzIHJldHVybmVkIGZyb20gY3N2IGV4cG9ydCc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMZW5ndGggb2YgdXNlcm5hbWUgZmllbGQnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTGVuZ3RoIG9mIHBhc3N3b3JkIGZpZWxkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IHBhc3N3b3JkIGxlbmd0aHMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggdXNlcm5hbWUgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnSW52YWxpZCBFbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnV2UgY291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBhY2NvdW50JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXNlciBBZGRlZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1VzZXIgRGVsZXRlZCB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdQcm9wZXJ0eSc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsdWUgKHJlZ3VsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYXJuaW5nOiBUaGVzZSBmaWVsZHMgYWZmZWN0IHRoZSBzaXplIG9mIGlucHV0IGZpZWxkcyBmb3IgZm9ybXMuICBEZWNyZWFzaW5nIHRoaXMgbnVtYmVyIG9uIGFuIGV4aXN0aW5nIHNpdGUgbWF5IG5vdCBiZSBhZHZpc2FibGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIG1vZHVsZSBwcmVmZXJlbmNlcz8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0VtYWlsIGFkZHJlc3MgYWxyZWFkeSB1c2VkJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ1VzZSBjb29raWVzIHRvIHJlbWVtYmVyIGxvZ2luIGRldGFpbHMnOwokbGFuZ1sncHJvbXB0X2Nvb2tpZW5hbWUnXSA9ICdUaGUgbmFtZSBvZiB0aGUgY29va2llJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnQWxsb3cgZHVwbGljYXRlIGVtYWlscyc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWVfaXNfZW1haWwnXSA9ICdFbWFpbCBhZGRyZXNzIGlzIHVzZXJuYW1lJzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ0F0dGVtcHQgdG8ga2VlcCBsb2dpbnMgYWxpdmUgYnkgdGhlIHVzZSBvZiBhIGNvb2tpZSA8ZW0+KHRoZSBjb29raWUgaXMgcmVzZXQgb24gYWN0aXZpdHkgaW4gdGhlIHdlYnNpdGUpPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKGFsbG93IG11bHRpcGxlIHVzZXJzIHdpdGggdGhlIHNhbWUgZW1haWwgYWRkcmVzcyknOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyh1c2VyXCdzIGVtYWlsIGFkZHJlc3MgaXMgdGhlaXIgdXNlcm5hbWUgLS0gZG9uXCd0IHNldCB0aGlzIHdpdGggImFsbG93IGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXMiISknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgImZvcmdvdCBwYXNzd29yZCIgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlblwndCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHlvdXIgdXBsb2FkZWQgZmlsZS4gIFBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnWW91IGRpZCBub3QgZW50ZXIgYSB1c2VybmFtZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciB5b3VyIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSJyZWQiPjxiPlVTRSBDQVVUSU9OPC9iPiB3aGVuIGNoYW5naW5nIGV4aXN0aW5nIHByb3BlcnRpZXMgdGhhdCBhcmUgYXNzaWduZWQgdG8gZ3JvdXBzLCB5b3UgbWF5IHBvdGVudGlhbGx5IGNhdXNlIGRhbWFnZSBhbmQgYnJlYWsgYW4gZXhpc3Rpbmcgc2l0ZSA8aT4oZXNwZWNpYWxseSBpZiB5b3UgcmVkdWNlIGZpZWxkIGxlbmd0aHMsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1RoaXMgZnVuY3Rpb24gZG9lcyBub3Qgd29yayBvbiB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdEbyBub3QgY3JlYXRlIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLCBvciBwYXNzd29yZCBhcyB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBidWlsdGluIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0IFVzZXJzIHRvIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnQnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0JzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZGl0IFByb3BlcnR5JzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gTGVuZ3RoJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydCddID0gJ1NvcnRpbmcnOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVXNlcnMgaW4gdGhlIHNlbGVjdGVkIGdyb3VwKHMpJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0xpbWl0IHJlc3VsdHMgdG8nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgZmllbGQgZm9yIHRoaXMgdXNlci4gIFlvdSBtYXkgbmVlZCB0byBjb250YWN0IHRoZSBzeXN0ZW0gYWRtaW5pc3RyYXRvcic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3IgRm9yZ290IFBhc3N3b3JkIGZvcm0nOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIENoYW5nZSBTZXR0aW5ncyBmb3JtJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9naW4gKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBsb2dvdXQgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlc2V0dGluZyBsb3N0IHBhc3N3b3Jkcy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSB3ZWVrIG9sZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgbW9udGggb2xkJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7IAokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdBbiBpbnZhbGlkIGNvZGUgaGFzIGJlZW4gZW50ZXJlZCwgcGxlYXNlIHRyeSBhZ2Fpbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnQSB0ZW1wb3JhcnkgY29kZSBmb3IgeW91ciB1c2VyIGlkIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIHRvIGRpc3BsYXkgdmVyaWZpY2F0aW9uIGZvcm0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgZm9yIGZvcmdvdHRlbiBwYXNzd29yZCBlbWFpbCc7IAokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VpdGhlciB5b3Vyc2VsZiBvciBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgdHJpZ2dlcmVkIGEgcGFzc3dvcmQgcmVzZXQgb3BlcmF0aW9uIGZvciB0aGlzIGFjY291bnQuICBDaGVjayB5b3VyIGVtYWlsLCB5b3UgbWF5IGhhdmUgZnVydGhlciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQgaW4geW91ciBpbmJveCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UgZXJyb3InOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnWW91IGFyZSByZWNlaXZpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2Ugc29tZWJvZHkgdG9sZCBvdXIgc2l0ZSB0aGF0IHlvdSBoYWQgbG9zdCB5b3VyIHBhc3N3b3JkLiAgSWYgdGhpcyBpcyB0aGUgY2FzZSwgcmVhZCB0aGUgaW5zdHJ1Y3Rpb25zIGJlbG93LiAgSWYgeW91IGRvblwndCBoYXZlIGEgY2x1ZSB3aGF0IHRoaXMgaXMsIHRoZW4geW91IGFyZSBzYWZlIHRvIGRlbGV0ZSB0aGlzIG1lc3NhZ2UsIGFuZCB3ZSB0aGFuayB5b3UgZm9yIHlvdXIgdGltZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ1RoZSBmb2xsb3dpbmcgY29kZSBoYXMgYmVlbiBnZW5lcmF0ZWQgcmFuZG9tbHkgZ2VuZXJhdGVkIGluIG9yZGVyIHRvIHZlcmlmeSB0aGUgdXNlciBhY2NvdW50LiAgd2hlbiB5b3UgY2xpY2sgb24gdGhlIGxpbmsgYmVsb3cgeW91IHdpbGwgYmUgcHJlc2VudGVkIHdpdGggYSBmaWVsZCB0byBlbnRlciB0aGlzIGNvZGUuICBOb3JtYWxseSB0aGUgZmllbGQgaXMgcHJlLWNvbXBsZXRlZCBmb3IgeW91LCBidXQgaW5jYXNlIGl0IGlzblwndCB0aGUgY29kZSBpczonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdDbGlja2luZyBvbiB0aGUgZm9sbG93aW5nIGxpbmsgd2lsbCB0YWtlIHlvdSB0byB0aGUgd2Vic2l0ZSB3aGVyZSB5b3UgY2FuIGVudGVyIHRoZSBhYm92ZSBjb2RlLCBhbmQgcmVzZXQgeW91ciBwYXNzd29yZDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0xvc3QgUGFzc3dvcmQnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgQ01TTWFpbGVyIG1vZHVsZSc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdBbiBlbWFpbCBoYXMgYmVlbiBzZW50IHRvICVzIHdpdGggaW5zdHJ1Y3Rpb25zIGFzIHRvIGhvdyB0byByZXNldCB5b3VyIHBhc3N3b3JkLiAgVGhhbmsgeW91JzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnU28geW91IGZvcmdvdCBvciBsb3N0IHlvdXIgcGFzc3dvcmQuIFdlbGwsIHR5cGUgeW91ciB1c2VybmFtZSBpbiBoZXJlLCBhbmQgaWYgd2UgY2FuIGZpbmQgeW91IHdlIHdpbGwgc2VuZCB5b3UgYW4gZW1haWwgd2l0aCBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHJlc2V0IGl0JzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnRm9yZ290IFBhc3N3b3JkIFRlbXBsYXRlcyc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdMb3N0IFVzZXJuYW1lIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ1Byb3BlcnR5ICVzIG5vdCBmb3VuZCc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnUHJvcGVydGllcyBmb3VuZCc7CiRsYW5nWydhZGRwcm9wJ10gPSAnQWRkIFByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdBIHJlcXVpcmVkIGZpZWxkICglcykgd2FzIGVtcHR5JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnRW50ZXIgYSBuZXcgcGFzc3dvcmQgaGVyZSB0byBjaGFuZ2UgeW91ciBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ1lvdSBkbyBub3QgYXBwZWFyIHRvIGJlIGxvZ2dlZCBpbic7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYXRpb24nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdUaGlzIGFjY291bnQgaGFzIGV4cGlyZWQnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ0ltcHJvcGVyIGVtYWlsIGFkZHJlc3MgZm9ybWF0dGluZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ0ludmFsaWQgZXhwaXJ5IGRhdGUuICBUaGlzIG1heSBiZSBzeXN0ZW0gcmVsYXRlZC4gIFRyeSBzZXR0aW5nIGFuIGVhcmxpZXIgeWVhci4nOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0Vycm9yIHNldHRpbmcgcHJvcGVydHkgJXMgZm9yIHVzZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdJbnZhbGlkIGdyb3VwIGlkICVzJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXInOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdIaWRkZW4gZmllbGQgbWFya2VyJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdIaWRkZW4gZmllbGQgY29sb3InOwokbGFuZ1snaGlkZGVuJ10gPSAnSGlkZGVuJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdBIHByb3BlcnR5IHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBwcm9wZXJ0aWVzIHdlcmUgc2VsZWN0ZWQgZm9yIHRoaXMgZ3JvdXAnOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBHcm91cHMgYXJlIGRlZmluZWQnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cHMgZm91bmQnOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lbWJlcnNoaXAgaW4gYXQgbGVhc3Qgb25lIGdyb3VwIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdSZXF1aXJlIG1lbWJlcnNoaXAgaW4gYXRsZWFzdCBvbmUgZ3JvdXAnOwokbGFuZ1snYmFjayddID0gJ0JhY2snOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGlzIGEgcmVxdWlyZWQgZmllbGQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01hcmsgcmVxdWlyZWQgZmllbGRzIHdpdGgnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnSGlsaXRlIHJlcXVpcmVkIGZpZWxkcyBpbic7CiRsYW5nWyduZXh0J10gPSAnTmV4dCc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0EgR3JvdXAgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmFsJzsKJGxhbmdbJ29mZiddID0gJ09mZic7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heGltdW0gc2l6ZSBvZiBhbnkgb25lIGRpbWVuc2lvbiBvZiB0aGUgaW1hZ2UgaW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMZW5ndGgnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdGaWVsZCBTdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnQXNrIGluIExvc3Q8YnIvPlVzZXJuYW1lJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aSBTZWxlY3QgTGlzdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0YXJlYSc7CiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duJzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnV2VsY29tZSc7CiRsYW5nWydsb2dvdXQnXSA9ICdTaWduIG91dCc7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnVXNlIHRoaXMgZ3JvdXAgbmFtZSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdDaGFuZ2UgTXkgU2V0dGluZ3MnOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdMb2dpbiBmYWlsZWQgLSBJbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkPyc7CiRsYW5nWydsb2dpbiddID0gJ1NpZ24gaW4nOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdTaWduIGluIGJ1dHRvbiBsYWJlbCc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnUmVtZW1iZXIgbWUgb24gdGhpcyBjb21wdXRlcic7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdGVyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnRm9yZ290IFlvdXIgUGFzc3dvcmQ/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0ZvcmdvdCBZb3VyIExvZ2luIERldGFpbHM/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnRGVmYXVsdHMnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdVc2VyIElEIG5vdCBmb3VuZCc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVGhhdCB1c2VybmFtZSAoJXMpIGlzIGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdVc2UgU01UUCB0byB2YWxpZGF0ZSBlbWFpbCBhZGRyZXNzZXM/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbmltdW0gUGFzc3dvcmQgTGVuZ3RoJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ01heGltdW0gUGFzc3dvcmQgTGVuZ3RoJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltdW0gVXNlcm5hbWUgTGVuZ3RoJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGltdW0gVXNlcm5hbWUgTGVuZ3RoJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gVGltZW91dCAoc2Vjb25kcyknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzZSBjb29raWVzIHRvIGtlZXAgbG9naW5zIGFsaXZlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnQWxsb3cgRW1haWwgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdEZWZhdWx0IEdyb3VwIGZvciBuZXcgdXNlcnMnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdDaGFuZ2UgU2V0dGluZ3MgVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1Bhc3N3b3JkcyBEbyBub3QgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnSW52YWxpZCBVc2VybmFtZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdJbnZhbGlkIFBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGluZm9ybWF0aW9uIGZvciB0aGlzIHVzZXInOwokbGFuZ1snZWRpdHVzZXInXSA9ICdFZGl0IFVzZXInOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdUaGlzIHVzZXIgaXMgbm90IGEgbWVtYmVyIG9mIGFueSBncm91cHMnOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ05vIFByb3BlcnRpZXMnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdBdHRlbXB0IHRvIGltcG9ydCBkdXBsaWNhdGUgcHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnUHJvcGVydGllcyc7CiRsYW5nWydwcm9wbmFtZSddID0gJ1Byb3BlcnR5IE5hbWUnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnUHJvcGVydHkgVmFsdWUnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3J5JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZnkgRGF0ZSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvdXJzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG91cnMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Vycyc7CiRsYW5nWycxd2VlayddID0gJzEgV2Vlayc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFdlZWtzJzsKJGxhbmdbJzFtb250aCddID0gJzEgTW9udGgnOwokbGFuZ1snM21vbnRocyddID0gJzMgTW9udGhzJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE1vbnRocyc7CiRsYW5nWycxeWVhciddID0gJzEgWWVhcic7CiRsYW5nWyduZXZlciddID0gJ05ldmVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgIk1vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyBwZXJtaXNzaW9uLiAgQWRkaXRpb25hbGx5LCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGUgQ2FwdGNoYSBtb2R1bGUuICBJZiBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgaW4gYWRkaXRpb24gdG8gdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB0byBsb2dpbi4gIFRoaXMgaXMgaW50ZW5kZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLiAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRoaXMgZnVuY3Rpb25hbGl0eSBldmVuIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQuIic7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsIEFkZHJlc3MnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0FnYWluJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdHcm91cCBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdCBHcm91cCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XG5UdXJuaW5nIGEgcHJvcGVydHkgb2ZmIHdpbGwgbm90IGRlbGV0ZSBhbnkgZW50cmllcyBpbiB0aGUgcHJvcGVydGllcyB0YWJsZSBmb3IgdGhpcyBncm91cC91c2VyLiAgVGhleSB3aWxsIG1lcmVseSBiZSB1bmF2YWlsYWJsZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBncm91cD8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGlzIHByb3BlcnR5P1xuRG9pbmcgc28gd2lsbCBhbHNvIGVyYXNlIGFueSB1c2VyIGVudHJpZXMgZm9yIHRoaXMgcHJvcGVydHkuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW0gYWRkaW5nIHByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nXSA9ICdQcm9ibGVtIGFkZGluZyBncm91cCByZWxhdGlvbic7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibGVtIGFkZGluZyBncm91cCc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsZW0gYWRkaW5nIGEgdXNlciB0byBhIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtIGRlbGV0aW5nIGEgcHJvcGVydHknOwokbGFuZ1snZXJyb3JfY291bGRub3RmaW5kZW1haWwnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdObyB3cml0ZSBwZXJtaXNzaW9uIHRvIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnSW52YWxpZCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnQ291bGQgbm90IGZpbmQgYW55IGdyb3Vwcyc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGx5JzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnVXNlcm5hbWUgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3JvdXAgTmFtZSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdBZGQgR3JvdXAnOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdJbXBvcnQgR3JvdXAnOwokbGFuZ1snYWRkdXNlciddID0gJ0FkZCBVc2VyJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnR3JvdXBzIEZvdW5kJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dyb3VwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWN0IEdyb3VwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdMb2dvdXQgVGVtcGxhdGUnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdMb2dpbiBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CiRsYW5nWyd1c2VycyddID0gIlVzZXJzIjsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Zyb250ZW5kIFVzZXIgTWFuYWdlbWVudCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0FsbG93IHVzZXJzIHRvIGxvZyBpbiB0byB0aGUgZnJvbnRlbmQgb2YgeW91ciBzaXRlJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICJEZWZhdWx0IGZyb250IHBhZ2UiOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0xhc3QgYWNjZXNzZWQgcGFnZSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdPdGhlciBwYWdlOiAnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0VudGVyIHRoZSB0ZXh0IGZyb20gdGhlIGltYWdlJzsKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPRgo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+CjxoMz5GZWF0dXJlczwvaDM+Cjx1bD4KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+CjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPgo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPgo8bGk+PHA+Rm9yZ290IHBhc3N3b3JkLCBhbmQgZm9yZ290IHVzZXJuYW1lIGZ1bmN0aW9uYWxpdHkuLi4uIGFsbG93cyB1c2VycyB0byBzZXQgYSBuZXcgcGFzc3dvcmQsIGFuZC9vciB0byByZWNvdmVyIHRoZWlyIHVzZXJuYW1lIGlmIHRoZXkgY29tcGxldGVseSBmb3Jnb3QgbG9naW4gZGV0YWlscy48L3A+PC9saT4KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHVsPgo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJiBnR3JvdXBzJnF1b3Q7IG1lbnUuPC9wPjwvbGk+CjxsaT4KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+CjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPgo8L2xpPgo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+CjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPgo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwnTmV4dFwnPC9wPgo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcyA8ZW0+KFNlZSB0aGUgU2VsZlJlZ2lzdHJhdGlvbiBNb2R1bGUpPC9lbT4sIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+CjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+CjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4KPC91bD4KPGgzPlNtYXJ0eSBGdW5jdGlvbnM8L2gzPgo8cD5Tb21lIGxpbWl0ZWQgaW50ZXJhY3Rpb24gd2l0aCB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZGF0YWJhc2UgaXMgcG9zc2libGUgd2l0aCBzbWFydHkgYW5kIHRoZSBcJGZldV9zbWFydHkgb2JqZWN0LjwvcD4KPGg0PkZ1bmN0aW9uczo8L2g0Pgo8dWw+CjxsaT48c3Ryb25nPjxjb2RlPntcJGZldV9zbWFydHktJmd0O2dldF91c2Vyc19ieV9ncm91cG5hbWUoXCRncm91cG5hbWUsXCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4KPHA+VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBleHRyYWN0IGFuIGFycmF5IG9mIHVzZXJuYW1lcyBhbmQgdXNlcmlkcyBmb3IgYWxsIHVzZXJzIHRoYXQgYmVsb25nIHRvIHRoZSBzcGVjaWZpZWQgZ3JvdXAuICBUaGUgb3V0cHV0IGlzIGFzc2lnbmVkIHRvIGEgc21hcnR5IHZhcmlhYmxlIHNwZWNpZmllZCBpbiB0aGUgJnF1b3Q7YXNzaWduJnF1b3Q7IHBhcmFtZXRlci48L3A+CjxwPkV4YW1wbGU6PGJyLz48Y29kZT57XCRmZXVfc21hcnR5LSZndDtnZXRfdXNlcnNfYnlfZ3JvdXBuYW1lKCdtZW1iZXJzJywnbXltZW1iZXJzJyl9PGJyLz57XCRteW1lbWJlcnN8cHJpbnRfcn08L2NvZGU+PC9wPgo8L2xpPgo8bGk+PHN0cm9uZz48Y29kZT57XCRmZXVfc21hcnR5LSZndDtnZXRfdXNlcl9wcm9wZXJ0aWVzKFwkdWlkLFwkYXNzaWduKX08L2NvZGU+PC9zdHJvbmc+CjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhIGxpc3Qgb2YgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCB1c2VyIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS48L3A+CjxwPkV4YW1wbGU6PGJyLz48Y29kZT57XCRmZXVfc21hcnR5LSZndDtnZXRfdXNlcl9wcm9wZXJ0aWVzKDUsJ3VzZXJwcm9wcycpfTxici8+e1wkdXNlcnByb3BzfHByaW50X3J9PC9jb2RlPjwvcD4KPC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHVsPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSJuYW1lIjwvbGk+CjxwPkZvcm1zOgo8dWw+CiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+CiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+CiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+CiA8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gRGlzcGxheSB0aGUgbG9zdCB1c2VybmFtZSBmb3JtLjwvbGk+CjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4KPC91bD4KPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0icGFnZSI8L2xpPgo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSJncm91cDEsIGdyb3VwMiwgZ3JvdXAzIjwvbGk+CjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSJncm91cCI8L2xpPgo8cD5Vc2VkIHdpdGggdGhlIGxvc3R1c2VybmFtZSBmb3JtLCB0aGlzIGZlYXR1cmUgc3BlY2lmaWVzIHRoZSBmcm9udGVuZCB1c2VyIGdyb3VwIHRvIGFzc3VtZSB0aHQgdXNlcnMgYXJlIG1lbWJlcnMgb2YuPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9IjEiPC9saT4KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249bnVsbDwvbGk+CjxwPlRoZSBvbmx5IHBvc3NpYmxlIHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciBpcyAidmlld3VzZXIiPC9wPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1aWQ9bnVsbDwvbGk+CjxwPlVzZWQgd2l0aCB0aGUgdmlld3VzZXIgYWN0aW9uLiAgVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB3aGljaCB1c2VyIHRvIHZpZXcgdGhlIGRldGFpbHMgb2YuPC9wPgo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+UmVxdWlyZW1lbnRzPC9oMz4KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CkVPRjsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/ca_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ01vZGlmaWNhciB1c3VhcmknOwokbGFuZ1snbm9pbmxpbmUnXSA9ICdObyBwZXJtZXRpcyBmb3JtdWxhcmlzIGlubGluZSc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0NsaWNhIGFxdSZpYWN1dGU7IHNpIG5vIHJlY29yZGVzIGxlcyBkYWRlcyBkZSByZWdpc3RyZSc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3J10gPSAnUGljYSBhcXUmaWFjdXRlOyBzaSBubyByZWNvcmRlcyBlbCB0ZXUgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19sb2dvdXQnXSA9ICdQaWNhIGFxdSZpYWN1dGU7IHBlciBzb3J0aXInOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ1BpY2EgYXF1JmlhY3V0ZTsgcGVyIGFqdXN0YXIgZWwgdGV1IHBhc3N3b3JkIG8gYWx0cmEgaW5mb3JtYWNpJm9hY3V0ZTsnOwokbGFuZ1sndmlld3VzZXJfdGVtcGxhdGUnXSA9ICdWZXVyZSBwbGFudGlsbGEgZCYjMDM5O3VzdWFyaSc7CiRsYW5nWydldmVudCddID0gJ0V2ZW50JzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdOb3RpZmljYWNpJm9hY3V0ZTsgZCYjMDM5O2V2ZW50IEZFVSc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX2FkZHJlc3MnXSA9ICdBZHJlJmNjZWRpbDthIGRlbCBtYWlsIGRlIG5vdGlmaWNhY2kmb2FjdXRlOyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhIGRlbCBtYWlsIGRlIG5vdGlmaWNhY2kmb2FjdXRlOyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICdUZW1hIGRlIGwmIzAzOTtlbWFpbCBkZSBub3RpZmljYWNpJm9hY3V0ZTsnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmljYWNpb25zIHBlciBlLW1haWwnOwokbGFuZ1snT25Mb2dpbiddID0gJ0VuIGVudHJhcic7CiRsYW5nWydPbkxvZ291dCddID0gJ0VuIHNvcnRpcic7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICdRdWFuIGxhIHNlc3NpJm9hY3V0ZTsgY2FkdWNhJzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ1F1YW4gZXMgY3JlYSB1biBub3UgdXN1YXJpJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ1F1YW4gcyYjMDM5O2VsaW1pbmEgdW4gdXN1YXJpJzsKJGxhbmdbJ09uVXBkYXRlVXNlciddID0gJ1F1YW4gZXMgbW9kaWZpY2EgY29uZmlndXJhY2kmb2FjdXRlOyBkJiMwMzk7dXN1YXJpcyc7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnUXVhbiBlcyBjcmVhIHVuIGdydXAnOwokbGFuZ1snT25EZWxldGVHcm91cCddID0gJ1F1YW4gcyYjMDM5O2VsaW1pbmEgdW4gZ3J1cCc7CiRsYW5nWydsb3N0dW5jb25maXJtX3ByZW1zZyddID0gJ1RoZSBsb3N0IGxvZ2luIGRldGFpbHMgZnVuY3Rpb25hbGl0eSBoYXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZC4gIFdlIGhhdmUgZm91bmQgYSB1bmlxdWUgdXNlcm5hbWUgdGhhdCBtYXRjaGVzIHRoZSBkZXRhaWxzIHlvdSBlbnRlcmVkLic7CiRsYW5nWyd5b3VyX3VzZXJuYW1lX2lzJ10gPSAnRWwgdGV1IG5vbSBkJiMwMzk7dXN1YXJpICZlYWN1dGU7cyc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdSZWNvbWFuZW0gcXVlIGRlc2lzIGFxdWVzdGEgaW5mb3JtYWNpJm9hY3V0ZTsgZW4gdW4gbGxvYyBzZWd1ciBwZXImb2dyYXZlOyBhY2Nlc3NpYmxlJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgRGV0YWlscyBUZW1wbGF0ZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0Vycm9yOiBNb3JlIHRoYW4gb25lIHVzZXIgYWNjb3VudCBtYXRjaGVkIHRoZSBwcm9wZXJ0aWVzIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJvcjogQ291bGQgbm90IGZpbmQgYSBtYXRjaGluZyB1c2VyJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvcjogQ291bGQgbm90IGZpbmQgYSBncm91cCBieSB0aGF0IG5hbWUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdSZWFkIE9ubHknOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnTG9nZ2VkIG91dCBieSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdTaG93IE9ubHkgTG9nZ2VkIEluIFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ1VzZXIgUHJvcGVydGllcyc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ1VzZXIgSGlzdG9yeSc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnQnOwokbGFuZ1snY2xlYXInXSA9ICdDbGVhcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnQgVXNlciBIaXN0b3J5IFRvIEFTQ0lJIHRoYXQgaXMgYXQgbGVhc3QnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdDbGVhciBVc2VyIEhpc3RvcnkgcmVjb3JkcyB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0ZvcmdvdCBZb3VyIExvZ2luIERldGFpbHM/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydCBncm91cCBkZWZpbml0aW9uIChhbmQgcHJvcGVydGllcykgdG8gWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVc2VyIEhpc3RvcnkgTWFpbnRlbmFuY2UnOwokbGFuZ1sneWVzJ10gPSAnWWVzJzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnT2YnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogTm8gTGltaXQgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnT25lIEhvdXIgT2xkJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NpeCBIb3VycyBPbGQnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVHdlbHZlIEhvdXJzIE9sZCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ09uZSBEYXkgT2xkJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ09uZSBXZWVrIE9sZCc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVHdvIHdlZWtzIE9sZCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnT25lIE1vbnRoIE9sZCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVGhyZWUgTW9udGhzIE9sZCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1NpeCBNb250aHMgT2xkJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ09uZSBZZWFyIE9sZCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcm91cGluZyBhbmQgU29ydGluZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVjb3JkcyBtYXRjaGluZyB0aGUgY3JpdGVyaWEnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIFVzZXJuYW1lJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdBc2NlbmRpbmcgVXNlcm5hbWUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0Rlc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdBc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIEV2ZW50IFR5cGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdBc2NlbmRpbmcgRXZlbnQgVHlwZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIElwIEFkZHJlc3MnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdBc2NlbmRpbmcgSXAgQWRkcmVzcyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnTm8gSGlzdG9yeSBEZXRlY3RlZCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dyb3VwIEJ5IElQIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdFdmVudCBUeXBlIEZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdEaXNwbGF5IG9ubHkgZXZlbnRzIHRoYXQgYXJlIGxlc3MgdGhhbjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1BhZ2UgTGltaXQnOwokbGFuZ1snZm9yJ10gPSAnZm9yJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnVXNlciBIaXN0b3J5IFJlcG9ydCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgQWRkcmVzcyc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnRXZlbnQgVHlwZSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IE9wZXJhdGlvbiBDb21wbGV0ZSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdMaW5lcyBQcm9jZXNzZWQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9ycyBFbmNvdW50ZXJlZCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVjb3JkcyBBZGRlZCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgZ3JvdXAgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdDb3VsZCBub3QgZ2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgU01UUCBzZXJ2ZXInOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBzcGVjaWZpZWQgKCVzKSBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ0ludmFsaWQgdmFsdWUgZm9yIGRyb3Bkb3duIG9yIG11bHRpc2VsZWN0IGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmllbGQgJXMgZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBFcnJvciAobGluZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0NvdWxkIG5vdCBvcGVuIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjaCBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0IFVzZXJzIEludG8gVGhpcyBHcm91cCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbnB1dCBDU1YgRmlsZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0lucHV0IFhNTCBGaWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydCBVc2Vycyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnRXNib3JyYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdDYW0maWFjdXRlOyBvbiBkZXNhciBpbWF0Z2VzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnSGEgb2NvcnJlZ3V0IHVuIHByb2JsZW1hIGFtYiB1biBhcnhpdSBwdWphdCAocmVxdWVyaXQpIHF1ZSBtYW5jYSc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnQ291bGQgbm90IHBhcnNlIHRoZSBwcm92aWRlZCBYTUwgZmlsZSc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnTm8gZXMgcG90IGVzYm9ycmFyIHVuIGdydXAgcXVlIGVuY2FyYSB0JmVhY3V0ZTsgdXN1YXJpcyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnTCYjMDM5O3VzdWFyaSBqYSBlc3QmYWdyYXZlOyBjb25uZWN0YXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRWwgdGV4dCBkZSBsYSBpbWF0Z2Ugbm8gcyYjMDM5O2hhIGVudHJhdCBjb3JyZWN0YW1lbnQnOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1Blcm1ldCBhbHMgdXN1YXJpcyBjb25uZWN0YXItc2UgbSZlYWN1dGU7cyBkJiMwMzk7dW5hIHZlZ2FkYSAnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbnMgZCYjMDM5O2FyeGl1cyBkJiMwMzk7aW1hdGdlIHF1ZSBlbHMgdXN1YXJpcyBwb2RlbiBwdWphcic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5PbkRlbGV0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+T25DcmVhdGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGdyb3VwIGRlc2NyaXB0aW9uPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gVGhlIGlwIGFkZHJlc3Mgb2YgdGhlIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2Vkb3V0IHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbiB0byB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQgb2YgdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGlzIGV4cGlyZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyB1c2VyIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaW5mbyBpcyB1cGRhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGFjY291bnQgaXMgZGVsZXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgZGVsZXRlZCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBncnVvcCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGNhbiBiZSB1c2VkIGluIHRoZXNlIGZpZWxkczogeyR1c2VybmFtZX0seyRncm91cH0uIFdoZW4gdXNpbmcgdGhlIHskZ3JvdXB9IG1hY3JvLCB0aGUgc3lzdGVtIHdpbGwgc3Vic2l0dXRlIHRoZSBuYW1lIG9mIHRoZSBmaXJzdCBtZW1iZXIgZ3JvdXAgdGhhdCB0aGUgdXNlciBiZWxvbmdzIHRvLCBhbmQgd2lsbCByZWRpcmVjdCB0byB0aGF0IHBhZ2UuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdFZGl0IHRoaXMgZmllbGQgdG8gcmVzZXQgdGhlIHVzZXJzIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdFZGl0IHRoaXMgZmllbGQgdG8gcmVzZXQgdGhlIHVzZXJzIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ0EgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnTm8gcmVzdWx0cyByZXR1cm5lZCBmcm9tIGNzdiBleHBvcnQnOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnTGVuZ3RoIG9mIHVzZXJuYW1lIGZpZWxkJzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ0xlbmd0aCBvZiBwYXNzd29yZCBmaWVsZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluL01heCBwYXNzd29yZCBsZW5ndGhzIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdNaW4vTWF4IHVzZXJuYW1lIGxlbmd0aHMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ0ludmFsaWQgRW1haWwgYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ1dlIGNvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGFkZHJlc3MgZm9yIHRoaXMgYWNjb3VudCc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlbSBzZXR0aW5nIHVzZXIgaW5mbyc7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdQcm9ibGVtIHNldHRpbmcgcHJvcGVydHknOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ1VzZXIgQWRkZWQgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdVc2VyIERlbGV0ZWQgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnUHJvcGVydHknOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1ZhbHVlIChyZWd1bGFyIGV4cHJlc3Npb24pJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnV2FybmluZzogVGhlc2UgZmllbGRzIGFmZmVjdCB0aGUgc2l6ZSBvZiBpbnB1dCBmaWVsZHMgZm9yIGZvcm1zLiAgRGVjcmVhc2luZyB0aGlzIG51bWJlciBvbiBhbiBleGlzdGluZyBzaXRlIG1heSBub3QgYmUgYWR2aXNhYmxlJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdDaGFuZ2UgYWRtaW4gcHJlZmVyZW5jZXM/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdFbWFpbCBhZGRyZXNzIGFscmVhZHkgdXNlZCc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdVc2UgY29va2llcyB0byByZW1lbWJlciBsb2dpbiBkZXRhaWxzJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0FsbG93IGR1cGxpY2F0ZSBlbWFpbHMnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnRW1haWwgYWRkcmVzcyBpcyB1c2VybmFtZSc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdBdHRlbXB0IHRvIGtlZXAgbG9naW5zIGFsaXZlIGJ5IHRoZSB1c2Ugb2YgYSBjb29raWUgPGVtPih0aGUgY29va2llIGlzIHJlc2V0IG9uIGFjdGl2aXR5IGluIHRoZSB3ZWJzaXRlKTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhhbGxvdyBtdWx0aXBsZSB1c2VycyB3aXRoIHRoZSBzYW1lIGVtYWlsIGFkZHJlc3MpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWVfaXNfZW1haWwnXSA9ICcodXNlciYjMDM5O3MgZW1haWwgYWRkcmVzcyBpcyB0aGVpciB1c2VybmFtZSAtLSBkb24mIzAzOTt0IHNldCB0aGlzIHdpdGggJnF1b3Q7YWxsb3cgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlcyZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnQWxsb3cgZHVwbGljYXRlICZxdW90O2ZvcmdvdCBwYXNzd29yZCZxdW90OyByZW1pbmRlcnM/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhhbGxvdyBhIHVzZXJzIHRvIHJlcXVlc3QgYSBwYXNzd29yZCByZXNldCwgZXZlbiBpZiB0aGV5IGhhdmVuJiMwMzk7dCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHlvdXIgdXBsb2FkZWQgZmlsZS4gIFBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnWW91IGRpZCBub3QgZW50ZXIgYSB1c2VybmFtZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciB5b3VyIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHdvcmsgb24gd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnRG8gbm90IGNyZWF0ZSBhIHByb3BlcnR5IGZvciB1c2VybmFtZSwgb3IgcGFzc3dvcmQgYXMgdGhlc2UgcHJvcGVydGllcyBhcmUgYnVpbHRpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydCBVc2VycyB0byBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0JzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydCc7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnRWRpdCBQcm9wZXJ0eSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIExlbmd0aCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0IEJ5JzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0aW5nJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzZXJzIGluIHRoZSBzZWxlY3RlZCBncm91cChzKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdCByZXN1bHRzIHRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGZpZWxkIGZvciB0aGlzIHVzZXIuICBZb3UgbWF5IG5lZWQgdG8gY29udGFjdCB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZXNldHRpbmcgbG9zdCBwYXNzd29yZHMuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdBbiBpbnZhbGlkIGNvZGUgaGFzIGJlZW4gZW50ZXJlZCwgcGxlYXNlIHRyeSBhZ2Fpbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnQSB0ZW1wb3JhcnkgY29kZSBmb3IgeW91ciB1c2VyIGlkIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIHRvIGRpc3BsYXkgdmVyaWZpY2F0aW9uIGZvcm0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgZm9yIGZvcmdvdHRlbiBwYXNzd29yZCBlbWFpbCc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnRWl0aGVyIHlvdXJzZWxmIG9yIHNvbWVvbmUgZWxzZSBoYXMgYWxyZWFkeSB0cmlnZ2VyZWQgYSBwYXNzd29yZCByZXNldCBvcGVyYXRpb24gZm9yIHRoaXMgYWNjb3VudC4gIENoZWNrIHlvdXIgZW1haWwsIHlvdSBtYXkgaGF2ZSBmdXJ0aGVyIGluc3RydWN0aW9ucyBvbiBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZCBpbiB5b3VyIGluYm94JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBlcnJvcic7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdZb3UgYXJlIHJlY2VpdmluZyB0aGlzIG1lc3NhZ2UgYmVjYXVzZSBzb21lYm9keSB0b2xkIG91ciBzaXRlIHRoYXQgeW91IGhhZCBsb3N0IHlvdXIgcGFzc3dvcmQuICBJZiB0aGlzIGlzIHRoZSBjYXNlLCByZWFkIHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cuICBJZiB5b3UgZG9uJiMwMzk7dCBoYXZlIGEgY2x1ZSB3aGF0IHRoaXMgaXMsIHRoZW4geW91IGFyZSBzYWZlIHRvIGRlbGV0ZSB0aGlzIG1lc3NhZ2UsIGFuZCB3ZSB0aGFuayB5b3UgZm9yIHlvdXIgdGltZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ1RoZSBmb2xsb3dpbmcgY29kZSBoYXMgYmVlbiBnZW5lcmF0ZWQgcmFuZG9tbHkgZ2VuZXJhdGVkIGluIG9yZGVyIHRvIHZlcmlmeSB0aGUgdXNlciBhY2NvdW50LiAgd2hlbiB5b3UgY2xpY2sgb24gdGhlIGxpbmsgYmVsb3cgeW91IHdpbGwgYmUgcHJlc2VudGVkIHdpdGggYSBmaWVsZCB0byBlbnRlciB0aGlzIGNvZGUuICBOb3JtYWxseSB0aGUgZmllbGQgaXMgcHJlLWNvbXBsZXRlZCBmb3IgeW91LCBidXQgaW5jYXNlIGl0IGlzbiYjMDM5O3QgdGhlIGNvZGUgaXM6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnQ2xpY2tpbmcgb24gdGhlIGZvbGxvd2luZyBsaW5rIHdpbGwgdGFrZSB5b3UgdG8gdGhlIHdlYnNpdGUgd2hlcmUgeW91IGNhbiBlbnRlciB0aGUgYWJvdmUgY29kZSwgYW5kIHJlc2V0IHlvdXIgcGFzc3dvcmQ6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdMb3N0IFBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIENNU01haWxlciBtb2R1bGUnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnQW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byAlcyB3aXRoIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZC4gIFRoYW5rIHlvdSc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1NvIHlvdSBmb3Jnb3Qgb3IgbG9zdCB5b3VyIHBhc3N3b3JkLiBXZWxsLCB0eXBlIHlvdXIgdXNlcm5hbWUgaW4gaGVyZSwgYW5kIGlmIHdlIGNhbiBmaW5kIHlvdSB3ZSB3aWxsIHNlbmQgeW91IGFuIGVtYWlsIHdpdGggaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCBpdCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0ZvcmdvdCBQYXNzd29yZCBUZW1wbGF0ZXMnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdQcm9wZXJ0eSAlcyBub3QgZm91bmQnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ1Byb3BlcnRpZXMgZm91bmQnOwokbGFuZ1snYWRkcHJvcCddID0gJ0FkZCBQcm9wZXJ0eSc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnQSByZXF1aXJlZCBmaWVsZCAoJXMpIHdhcyBlbXB0eSc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ0VudGVyIGEgbmV3IHBhc3N3b3JkIGhlcmUgdG8gY2hhbmdlIHlvdXIgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdZb3UgZG8gbm90IGFwcGVhciB0byBiZSBsb2dnZWQgaW4nOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ1NldHRpbmdzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnVGhpcyBhY2NvdW50IGhhcyBleHBpcmVkJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdJbXByb3BlciBlbWFpbCBhZGRyZXNzIGZvcm1hdHRpbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdJbnZhbGlkIGV4cGlyeSBkYXRlJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdFcnJvciBzZXR0aW5nIHByb3BlcnR5ICVzIGZvciB1c2VyICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnSW52YWxpZCBncm91cCBpZCAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ0hpZGRlbiBmaWVsZCBtYXJrZXInOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ0hpZGRlbiBmaWVsZCBjb2xvcic7CiRsYW5nWydoaWRkZW4nXSA9ICdIaWRkZW4nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ0EgcHJvcGVydHkgd2l0aCB0aGF0IG5hbWUgaXMgYWxyZWFkeSBkZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ05vIHByb3BlcnRpZXMgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ05vIHByb3BlcnRpZXMgd2VyZSBzZWxlY3RlZCBmb3IgdGhpcyBncm91cCc7CiRsYW5nWydub2dyb3VwcyddID0gJ05vIEdyb3VwcyBhcmUgZGVmaW5lZCc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ0dyb3VwcyBGb3VuZCc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnTWVtYmVyc2hpcCBpbiBhdCBsZWFzdCBvbmUgZ3JvdXAgaXMgcmVxdWlyZWQnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1JlcXVpcmUgbWVtYmVyc2hpcCBpbiBhdGxlYXN0IG9uZSBncm91cCc7CiRsYW5nWydiYWNrJ10gPSAnQmFjayc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgaXMgYSByZXF1aXJlZCBmaWVsZCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFyayByZXF1aXJlZCBmaWVsZHMgd2l0aCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdIaWxpdGUgcmVxdWlyZWQgZmllbGRzIGluJzsKJGxhbmdbJ25leHQnXSA9ICdOZXh0JzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnQSBHcm91cCB3aXRoIHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1JlcXVpcmVkIEZpZWxkJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3B0aW9uYWwnOwokbGFuZ1snb2ZmJ10gPSAnT2ZmJzsKJGxhbmdbJ3NpemUnXSA9ICdTaXplJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWF4aW11bSBzaXplIG9mIGFueSBvbmUgZGltZW5zaW9uIG9mIHRoZSBpbWFnZSBpbiBwaXhlbHMpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0xlbmd0aCc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihjaGFycyBpbiB0aGUgdGV4dCBpbnB1dCknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ0Ryb3Bkb3duIG9wdGlvbnMsIHNlcGFyYXRlZCBieSBsaW5lIGJyZWFrcy4gIFZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIGZyb20gdGV4dCB3aXRoIGEgPSBjaGFyYWN0ZXIuIGkuZTogRmVtYWxlPWYnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwZSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CiRsYW5nWydmaWVsZHN0YXR1cyddID0gJ0ZpZWxkIFN0YXR1cyc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdBc2sgaW4gTG9zdDxici8+VXNlcm5hbWUnOwokbGFuZ1sndGV4dCddID0gJ1RleHQnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ011bHRpIFNlbGVjdCBMaXN0JzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dlbGNvbWUnOwokbGFuZ1snbG9nb3V0J10gPSAnU2lnbiBvdXQnOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ1VzZSB0aGlzIGdyb3VwIG5hbWUnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnQ2hhbmdlIE15IFNldHRpbmdzJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gZmFpbGVkIC0gSW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdTaWduIGluJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnU2lnbiBpbiBidXR0b24gbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ1JlbWVtYmVyIG1lIG9uIHRoaXMgY29tcHV0ZXInOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3Rlcic7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0ZvcmdvdCBZb3VyIFBhc3N3b3JkPyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdGb3Jnb3QgWW91ciBMb2dpbiBEZXRhaWxzPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ0RlZmF1bHRzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVXNlciBJRCBub3QgZm91bmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgKCVzKSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNlIFNNVFAgdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYXhpbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaW9uIFRpbWVvdXQgKHNlY29uZHMpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVc2UgY29va2llcyB0byBrZWVwIGxvZ2lucyBhbGl2ZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0FsbG93IEVtYWlsIFJlZ2lzdHJhdGlvbic7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnRGVmYXVsdCBHcm91cCBmb3IgbmV3IHVzZXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnQ2hhbmdlIFNldHRpbmdzIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdQYXNzd29yZHMgRG8gbm90IG1hdGNoJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ludmFsaWQgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnSW52YWxpZCBQYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RoaXMgdXNlciBpcyBub3QgYSBtZW1iZXIgb2YgYW55IGdyb3Vwcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTm8gUHJvcGVydGllcyc7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0F0dGVtcHQgdG8gaW1wb3J0IGR1cGxpY2F0ZSBwcm9wZXJ0aWVzJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmFsdWUnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvdXBzJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdQcm9wZXJ0aWVzJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnUHJvcGVydHkgTmFtZSc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdQcm9wZXJ0eSBWYWx1ZSc7CiRsYW5nWydhZGQnXSA9ICdBZGQnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcnknOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZXMnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnU3BlY2lmeSBEYXRlJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgaG9yZXMnOwokbGFuZ1snMjRocnMnXSA9ICcyNCBob3Jlcyc7CiRsYW5nWyc0OGhycyddID0gJzQ4IGhvcmVzJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBzZXRtYW5hJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgc2V0bWFuZXMnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBtZXMnOwokbGFuZ1snM21vbnRocyddID0gJzMgbWVzb3MnOwokbGFuZ1snNm1vbnRocyddID0gJzYgbWVzb3MnOwokbGFuZ1snMXllYXInXSA9ICcxIGFueSc7CiRsYW5nWyduZXZlciddID0gJ01haSc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb2R1bGUgaW5zdGFsbGVkIHN1Y2Vzc2Z1bGx5Ljxici8+QmUgc3VyZSB0byBzZXQgdGhlICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyBwZXJtaXNzaW9uLiAgQWRkaXRpb25hbGx5LCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGUgQ2FwdGNoYSBtb2R1bGUuICBJZiBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgaW4gYWRkaXRpb24gdG8gdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB0byBsb2dpbi4gIFRoaXMgaXMgaW50ZW5kZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLiAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRoaXMgZnVuY3Rpb25hbGl0eSBldmVuIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQuJnF1b3Q7JzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdBZ2Fpbic7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnR3JvdXAgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ0VkaXQgR3JvdXAnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdBcmUgeW91IHN1cmUgdGhpcyBpcyB0aGUgcHJvcGVyIHNldHRpbmdzIGZvciB0aGlzIGdyb3VwP1xuVHVybmluZyBhIHByb3BlcnR5IG9mZiB3aWxsIG5vdCBkZWxldGUgYW55IGVudHJpZXMgaW4gdGhlIHByb3BlcnRpZXMgdGFibGUgZm9yIHRoaXMgZ3JvdXAvdXNlci4gIFRoZXkgd2lsbCBtZXJlbHkgYmUgdW5hdmFpbGFibGUuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZ3JvdXA/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29tcGxldGVseSBkZWxldGUgdGhpcyBwcm9wZXJ0eT9cbkRvaW5nIHNvIHdpbGwgYWxzbyBlcmFzZSBhbnkgdXNlciBlbnRyaWVzIGZvciB0aGlzIHByb3BlcnR5Lic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdJbnN1ZmZpY2llbnQgUGFyYW1ldGVycyc7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbSBhZGRpbmcgcHJvcGVydHknOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwIHJlbGF0aW9uJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBhZGRpbmcgYSB1c2VyIHRvIGEgZ3JvdXAnOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eSddID0gJ1Byb2JsZW0gZGVsZXRpbmcgYSBwcm9wZXJ0eSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ05vIHdyaXRlIHBlcm1pc3Npb24gdG8gZGVzdGluYXRpb24gZGlyZWN0b3J5JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdQYXImYWdyYXZlO21ldHJlcyBpbnYmYWdyYXZlO2xpZHMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdDb3VsZCBub3QgZmluZCBhbnkgZ3JvdXBzJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBsaWNhcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmUnOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ1VzZXJuYW1lIFJlZ3VsYXIgRXhwcmVzc2lvbic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXBjaSZvYWN1dGU7JzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ0dyb3VwIE5hbWUnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZCc7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnQWZlZ2lyIG5vdSBncnVwJzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0YXIgbm91IEdydXAnOwokbGFuZ1snYWRkdXNlciddID0gJ0FmZWdpciBVc3VhcmknOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIGNyaXRlcmlhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cCc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1RyaWFyIEdydXAnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUGxhbnhldGEgZGUgcmVnaXN0cmUnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnUGxhbnhldGEgZGUgc29ydGlkYSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ1BsYW54ZXRhIGQmIzAzOTtlbnRyYWRhJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyJmVncmF2ZTtuY2llcyc7CiRsYW5nWyd1c2VycyddID0gJ1VzdWFyaXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9nIGluIHRvIHRoZSBmcm9udGVuZCBvZiB5b3VyIHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ0RlZmF1bHQgZnJvbnQgcGFnZSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnTGFzdCBhY2Nlc3NlZCBwYWdlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090aGVyIHBhZ2U6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMsIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSZxdW90OzEmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zMTA5MTQ1OTc3NTMzMjQ3NTAwLjEyMjUzMTEzMTIuMTIyNzkzOTc0NC4xMjI3OTc0NDU3LjgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjI1MzExMzEyLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJyZVYWN1dGU7cHJhdmEgdcW+aXZhdGVsxa8nOwokbGFuZ1snbm9pbmxpbmUnXSA9ICdEbyBub3QgaW5saW5lIGZvcm1zJzsKJGxhbmdbJ2luZm9fbG9zdHVuJ10gPSAnS2xpa27Em3RlIHpkZSwgcG9rdWQgc2kgbmVtxa/FvmV0ZSB2enBvbWVub3V0IG5hIHDFmWlobGEmc2Nhcm9uO292YWMmaWFjdXRlOyAmdWFjdXRlO2RhamUnOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ0tsaWtuxJt0ZSB6ZGUsIHBva3VkIHNpIG5lbcWvxb5ldGUgdnpwb21lbm91IG5hIHN2JmVhY3V0ZTsgaGVzbG8nOwokbGFuZ1snaW5mb19sb2dvdXQnXSA9ICdLbGlrbsSbdGUgemRlIHBybyBvZGhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsnOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0tsaWtuxJt0ZSB6ZGUsIGNoY2V0ZS1saSB1cHJhdml0IGhlc2xvIGEgZGFsJnNjYXJvbjsmaWFjdXRlOyBpbmZvcm1hY2UnOwokbGFuZ1sndmlld3VzZXJfdGVtcGxhdGUnXSA9ICdQcm9obCZlYWN1dGU7ZG5vdXQgJnNjYXJvbjthYmxvbnUgdcW+aXZhdGVsZSc7CiRsYW5nWydldmVudCddID0gJ1VkJmFhY3V0ZTtsb3N0JzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdGRVUgRXZlbnQgTm90aWZpY2F0aW9uJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcyddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdOb3RpZmljYXRpb24gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnTm90aWZpY2F0aW9uIEVtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbCBOb3RpZmljYXRpb25zJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdPbiBMb2dpbic7CiRsYW5nWydPbkxvZ291dCddID0gJ09uIExvZ291dCc7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICdPbiBTZXNzaW9uIEV4cGlyeSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdPbiBOZXcgVXNlciBDcmVhdGVkJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ09uIFVzZXIgRGVsZXRlZCc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdPbiBVc2VyIFNldHRpbmdzIENoYW5nZWQnOwokbGFuZ1snT25DcmVhdGVHcm91cCddID0gJ09uIFVzZXIgR3JvdXAgQ3JlYXRlZCc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnT24gVXNlciBHcm91cCBEZWxldGVkJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gb2Rwb3YmaWFjdXRlO2RhaiZpYWN1dGU7YyZpYWN1dGU7IFYmYWFjdXRlO21pIHphZGFuJnlhY3V0ZTttICZ1YWN1dGU7ZGFqxa9tIGJ5bG8gbmFsZXplbm8uJzsKJGxhbmdbJ3lvdXJfdXNlcm5hbWVfaXMnXSA9ICdWYSZzY2Fyb247ZSB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyBqZSc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdEb3BvcnXEjXVqZW1lIFYmYWFjdXRlO20gdWxvxb5pdCB0eXRvIGluZm9ybWFjZSBuYSBiZXpwZcSNbiZlYWN1dGU7bSwgbmljbSZlYWN1dGU7bsSbIGRvc2HFvml0ZWxuJmVhY3V0ZTttIG0maWFjdXRlO3N0xJsuJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIGRldGFpbMWvIHDFmWkgenRyJmFhY3V0ZTt0xJsgdcW+aXZhdGVsc2smZWFjdXRlO2hvIGptJmVhY3V0ZTtuYSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHBvdHZyemVuJmlhY3V0ZTsgcMWZaSB6dHImYWFjdXRlO3TEmyB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gam0mZWFjdXRlO25hJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnQ2h5YmE6IFphZGFuJnlhY3V0ZTttIHZsYXN0bm9zdGVtIG9kcG92JmlhY3V0ZTtkJmFhY3V0ZTsgdiZpYWN1dGU7Y2UgbmXFviAxIHXFvml2YXRlbCc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdDaHliYTogVGVudG8gdcW+aXZhdGVsIG5lZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0NoeWJhOiBTa3VwaW5hIHRvaG90byBqbSZlYWN1dGU7bmEgbmVleGlzdHVqZSc7CiRsYW5nWydyZWFkb25seSddID0gJ1BvdXplIGtlIMSNdGVuJmlhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnT2RobCZhYWN1dGU7JnNjYXJvbjtlbiBhZG1pbmlzdHImYWFjdXRlO3RvcmVtJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdVayZhYWN1dGU7emF0IHBvdXplIHDFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZlYWN1dGU7IHXFvml2YXRlbGUnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ09kaGwmYWFjdXRlO3NpdCB0b2hvdG8gdcW+aXZhdGVsZSc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdWbGFzdG5vc3RpIHXFvml2YXRlbGUnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0b3JpZSB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydCc7CiRsYW5nWydjbGVhciddID0gJ1Z5xI1pc3RpdCc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnRvdmF0IGhpc3RvcmlpIHXFvml2YXRlbGUgZG8gQVNDSUknOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdDbGVhciBVc2VyIEhpc3RvcnkgcmVjb3JkcyB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0xvc3QgVXNlcm5hbWUgU3VwcG9ydCBGb3JtJzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydG92YXQgZGVmaW5pY2kgc2t1cGlueSAoYSBqZWomaWFjdXRlOyB2bGFzdG5vc3RpKSBkbyBYTUwnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ1NwciZhYWN1dGU7dmEgaGlzdG9yaWUgdcW+aXZhdGVsZSc7CiRsYW5nWyd5ZXMnXSA9ICdBbm8nOwokbGFuZ1snbm8nXSA9ICdOZSc7CiRsYW5nWydwcm9tcHRfb2YnXSA9ICd6JzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIEJleiBsaW1pdHUgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnSmVkbnUgaG9kaW51IHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICcmU2Nhcm9uO2VzdCBob2RpbiBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnRHZhbiZhYWN1dGU7Y3QgaG9kaW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnSmVkZW4gZGVuIHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdKZWRlbiB0JnlhY3V0ZTtkZW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICdEdmEgdCZ5YWN1dGU7ZG55IHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnSmVkZW4gbcSbcyZpYWN1dGU7YyBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1TFmWkgbcSbcyZpYWN1dGU7Y2Ugc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnJlNjYXJvbjtlc3QgbcSbcyZpYWN1dGU7Y8WvIHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdKZWRlbiByb2sgc3RhciZlYWN1dGU7JzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ1Nlc2t1cG92JmFhY3V0ZTtuJmlhY3V0ZTsgYSB0xZkmaWFjdXRlO2TEm24maWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnWiZhYWN1dGU7em5hbXkgb2Rwb3YmaWFjdXRlO2RhaiZpYWN1dGU7YyZpYWN1dGU7IHBvZG0maWFjdXRlO25jZSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ1BvZGxlIHXFvml2YXRlbHNrJmVhY3V0ZTtobyBqbSZlYWN1dGU7bmEgc2VzdHVwbsSbJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdQb2RsZSB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gam0mZWFjdXRlO25hIHZ6ZXN0dXBuxJsnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ1BvZGxlIGRhdGEgc2VzdHVwbsSbJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ1BvZGxlIGRhdGEgdnplc3R1cG7Emyc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdQb2RsZSB0eXB1IGFrY2Ugc2VzdHVwbsSbJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnUG9kbGUgdHlwdSBha2NlIHZ6ZXN0dXBuxJsnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnU2VzdHVwbsSbIHBvZGxlIElQIGFkcmVzeSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ1Z6ZXN0dXBuxJsnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0hpc3RvcmllIG5lYnlsYSBuYWxlemVuYSc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ1Nlc2t1cGl0IHBvZGxlIElQIGFkcmVzeSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRyb3ZhdCBwb2RsZSB0eXB1IGFrY2UnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnWm9icmF6aXQgcG91emUgYWtjZSwga3RlciZlYWN1dGU7IGpzb3UgbSZlYWN1dGU7bsSbIG5lxb46JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdTdHImYWFjdXRlO25rb3YmeWFjdXRlOyBsaW1pdCc7CiRsYW5nWydmb3InXSA9ICdwcm8nOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICdTaHJudXQmaWFjdXRlOyBoaXN0b3JpZSB1xb5pdmF0ZWxlJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdOZXpuJmFhY3V0ZTttJnlhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQIEFkcmVzYSc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVHlwIHVkJmFhY3V0ZTtsb3N0aSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdacMSbdCc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IHByb3ZlZGVuJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ8WZJmFhY3V0ZTtka8WvIHpwcmFjb3YmYWFjdXRlO25vJzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdWeXNreXRseSBzZSBjaHlieSc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnWiZhYWN1dGU7em5hbXkgYnlseSBwxZlpZCZhYWN1dGU7bnknOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ05lbHplIG5hbCZlYWN1dGU7enQgdmxhc3Rub3N0aSBza3VwaW55ICVzJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnTmVwb2RhxZlpbG8gc2UgeiZpYWN1dGU7c2thdCBvZHBvdsSbxI8gb2QgU01UUCBzZXJ2ZXJ1ICh6a29udHJvbHVqdGUgcHJvcyZpYWN1dGU7bSBuYXN0YXZlbiZpYWN1dGU7LCBwxZkmaWFjdXRlO3BhZG7EmyBrb250YWt0dWp0ZSBzcHImYWFjdXRlO3ZjZSBzZXJ2ZXJ1KSc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdVdmVkZW4meWFjdXRlOyBzb3Vib3IgKCVzKSBuZWJ5bCBuYWxlemVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdOZXBsYXRuJmFhY3V0ZTsgaG9kbm90YSBwcm8gcm96YmFsb3ZhYyZpYWN1dGU7IHBvbCZpYWN1dGU7xI1rbyBuZWJvIHYmeWFjdXRlO2LEm3IgeiB2JmlhY3V0ZTtjZSBtb8W+bm9zdCZpYWN1dGU7ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnUG9sZSAlcyBwxZllc2FodWplIG1heGltJmFhY3V0ZTtsbiZpYWN1dGU7IGQmZWFjdXRlO2xrdSc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0NoeWJhIHDFmWkgaW1wb3J0dSAoxZkmYWFjdXRlO2RlayAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdOZWx6ZSBwxZlpc3RvdXBpdCBrIGRlZmluaWMmaWFjdXRlO20gdmxhc3Rub3N0JmlhY3V0ZTsgKHZuaXTFmW4maWFjdXRlOyBjaHliYSknOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdpbmZvJ10gPSAnUHJvYmwmZWFjdXRlO20gcMWZaSBuYXN0YXZvdiZhYWN1dGU7biZpYWN1dGU7IHXFvml2YXRlbHNrJnlhY3V0ZTtjaCBpbmZvcm1hYyZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdOZW1vaHUgbmFsJmVhY3V0ZTt6dCBzbG91cGVjLCBrdGVyJnlhY3V0ZTsgb2Rwb3YmaWFjdXRlO2QmYWFjdXRlOyB2ecW+YWRvdmFuJmVhY3V0ZTttdSBwb2xpICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnTmVtb2h1IG5hbCZlYWN1dGU7enQgdmxhc3Rub3N0aSBwcm8gdXZlZGVub3Ugc2t1cGludSc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnU291Ym9yIHZ5YnJhbiZ5YWN1dGU7IHBybyBpbXBvcnQgbmVuJmlhY3V0ZTsgdmUgc3ByJmFhY3V0ZTt2biZlYWN1dGU7bSBmb3JtJmFhY3V0ZTt0dSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnTmVtb2h1IG90ZXbFmSZpYWN1dGU7dCBzb3Vib3InOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0b3ZhdCB1xb5pdmF0ZWxlIGRvIHQmZWFjdXRlO3RvIHNrdXBpbnknOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnVmxvxb5pdCBDU1Ygc291Ym9yJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnVmxvxb5pdCBYTUwgc291Ym9yJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydG92YXQgdcW+aXZhdGVsZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnRvdmF0IHXFvml2YXRlbGUnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnVnnEjWlzdGl0JzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnQ2VzdGEgayBvYnImYWFjdXRlO3prdSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ1Z5c2t5dGwgc2UgcHJvYmwmZWFjdXRlO20gcyBjaHlixJtqJmlhY3V0ZTtjJmlhY3V0ZTttIChhbGUgdnnFvmFkb3ZhbiZ5YWN1dGU7bSkgdXBsb2FkZW0nOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ05lbHplIHBhcnNvdmF0IHBvc2t5dG51dCZ5YWN1dGU7IFhNTCBzb3Vib3InOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ05lbHplIHZ5bWF6YXQgc2t1cGludSwga3RlciZhYWN1dGU7IG0mYWFjdXRlOyBqZSZzY2Fyb247dMSbIMSNbGVueSc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnVcW+aXZhdGVsIGplIGppxb4gcMWZaWhsJmFhY3V0ZTsmc2Nhcm9uO2VuIHYnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGV4dCB6IG9iciZhYWN1dGU7emt1IG5lYnlsIHNwciZhYWN1dGU7dm7EmyB2bG/FvmVuJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdQb3ZvbGl0IHXFvml2YXRlbMWvbSB2JmlhY3V0ZTtjZW4mYWFjdXRlO3NvYm4mZWFjdXRlOyBwxZlpaGwmYWFjdXRlOyZzY2Fyb247ZW4maWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnUMWZJmlhY3V0ZTtwb255IHR5cMWvIG9iciZhYWN1dGU7emvFrywga3RlciZlYWN1dGU7IG1vaG91IHXFvml2YXRlbCZlYWN1dGU7IG5haHImYWFjdXRlO3QnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyB1cGRhdGVkIChlaXRoZXIgYnkgdXNlciB0aGVtc2VsZiBvciBhZG1pbik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBncm91cCBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZCBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gdG8gdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBpcyBleHBpcmVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgdXNlciBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGluZm8gaXMgdXBkYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgZ3J1b3AnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBOJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlOyBtYWtyYSBtb2hvdSBiJnlhY3V0ZTt0IHBvdcW+aXRhIHYgdMSbY2h0byBwb2wmaWFjdXRlO2NoIDogeyR1c2VybmFtZX0nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1VwcmF2dGUgdG90byBwb2xlIHBybyByZXNldG92JmFhY3V0ZTtuJmlhY3V0ZTsgaGVzbGEgdcW+aXZhdGVsZSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnVXByYXZ0ZSB0b3RvIHBvbGUgcHJvIHJlc2V0b3YmYWFjdXRlO24maWFjdXRlOyBoZXNsYSB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1XFvml2YXRlbCBzIHQmaWFjdXRlO210byB1xb5pdmF0ZWxzayZ5YWN1dGU7bSBqbSZlYWN1dGU7bmVtIGppxb4gZXhpc3R1amUnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnRXhwb3J0IGNzdiBuZXZyJmFhY3V0ZTt0aWwgxb4mYWFjdXRlO2RuJmVhY3V0ZTsgdiZ5YWN1dGU7c2xlZGt5JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0QmZWFjdXRlO2xrYSBwb2xlIHBybyBqbSZlYWN1dGU7bm8gdcW+aXZhdGVsZSc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdEJmVhY3V0ZTtsa2EgcG9sZSBwcm8gaGVzbG8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggZCZlYWN1dGU7bGthIGhlc2xhIGplIG5lcGxhdG4mYWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCBkJmVhY3V0ZTtsa2EgdcW+aXZhdGVsc2smZWFjdXRlO2hvIGptJmVhY3V0ZTtuYSBqZSBuZXBsYXRuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ05lcGxhdG4mYWFjdXRlOyBlbWFpbG92JmFhY3V0ZTsgYWRkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0UtbWFpbG92JmFhY3V0ZTsgYWRyZXNhIHBybyB0ZW50byAmdWFjdXRlO8SNZXQgbmVieWxhIG5hbGV6ZW5hJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibCZlYWN1dGU7bSBzIG5hc3RhdmVuJmlhY3V0ZTttIGluZm8gbyB1Nml2YXRlbGknOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmwmZWFjdXRlO20gcyBuYXN0YXZlbiZpYWN1dGU7bSB2bGFzdG5vc3RpJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVxb5pdmF0ZWwgcMWZaWRhbCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1XFvml2YXRlbCBzbWF6YWwgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnVmxhc3Rub3N0JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdIb2Rub3RhIChyZWd1bCZlYWN1dGU7cm4maWFjdXRlOyB2JnlhY3V0ZTtyYXopJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnVmFyb3YmYWFjdXRlO24maWFjdXRlOzogVGF0byBwb2xlIG92bGl2biZpYWN1dGU7IHZlbGlrb3N0IHZzdHVwbiZpYWN1dGU7Y2ggcG9sJmlhY3V0ZTsgZm9ybXVsJmFhY3V0ZTvFmcWvLiAgU24maWFjdXRlO8W+ZW4maWFjdXRlOyB0b2hvdG8gxI0maWFjdXRlO3NsYSBuYSBleGlzdHVqJmlhY3V0ZTtjJmlhY3V0ZTsgc3RyJmFhY3V0ZTtuY2UgbmVuJmlhY3V0ZTsgZG9wb3J1xI1lbm8uJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdabcSbbml0IGFkbWluaXN0cmHEjW4maWFjdXRlOyBwcmVmZXJlbmNlPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRS1tYWlsb3YmYWFjdXRlOyBhZHJlc2EgYnlsYSBqacW+IHBvdcW+aXRhJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ1BvdcW+JmlhY3V0ZTt0IGNvb2tpZSBwcm8gemFwYW1hdG92JmFhY3V0ZTtuJmlhY3V0ZTsgcMWZaWhsYSZzY2Fyb247b3ZhYyZpYWN1dGU7Y2ggJnVhY3V0ZTtkYWrFryc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0ptJmVhY3V0ZTtubyBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQb3ZvbGl0IGR1cGxpY2l0biZpYWN1dGU7IGVtYWlseS4nOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnRW1haWwgYWRkcmVzcyBpcyB1c2VybmFtZSc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdQb2tvdSZzY2Fyb247ZXQgc2UgdWRyxb5ldCB1xb5pdmF0ZWxlIHDFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZlYWN1dGU7IHBvbW9jJmlhY3V0ZTsgY29va2llcyA8ZW0+KGNvb2tpZSByZXNldHVqZSBha3Rpdml0dSBuYSBzdHImYWFjdXRlO25rJmFhY3V0ZTtjaCk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcocG92b2xpdCB2JmlhY3V0ZTtjZSB1xb5pdmF0ZWzFryBzZSBzdGVqbm91IGVtYWlsb3ZvdSBhZHJlc291KSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnKHVzZXImIzAzOTtzIGVtYWlsIGFkZHJlc3MgaXMgdGhlaXIgdXNlcm5hbWUgLS0gZG9uJiMwMzk7dCBzZXQgdGhpcyB3aXRoICZxdW90O2FsbG93IGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXMmcXVvdDshKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0FsbG93IGR1cGxpY2F0ZSAmcXVvdDtmb3Jnb3QgcGFzc3dvcmQmcXVvdDsgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlbiYjMDM5O3QgYWN0ZWQgb24gYSBwcmV2aW91cyBvbmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnUG91xb4maWFjdXRlO3Qgb3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7IHNwZWNpZmljayZhYWN1dGU7IHBybyBGcm9udCBFbmQgVXNlcnMgbW9kdWw/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhCxJvFvm7EmyBqc291IHBybyBGRVVzZXJzIG1vZHVsIHBvdcW+JmlhY3V0ZTt2JmFhY3V0ZTtuYSBzdGVqbiZhYWN1dGU7IG9wciZhYWN1dGU7dm7Em24maWFjdXRlOyBqYWtvIHBybyBBZG1uaW5pc3RyYcSNbiZpYWN1dGU7IHJvemhyYW4maWFjdXRlOy4gUG9rdWQgdnliZXJldGUgdHV0byBtb8W+bm9zdCwgYnVkb3UgcHJvIEZFVXNlc3JzIHBvdcW+JmlhY3V0ZTt2JmFhY3V0ZTtuYSBvZGTEm2xlbiZhYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnTmVtb2hsIGpzZW0gdXBsb2Fkb3ZhdCBzb3Vib3IgKGludGVybiZpYWN1dGU7IGNoeWJhKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ1DFmWkgbmFociZhYWN1dGU7diZhYWN1dGU7biZpYWN1dGU7IHNvdWJvcsWvIGRvJnNjYXJvbjtsbyBrIGNoeWLEmy4gWmt1c3RlIHRvIHByb3MmaWFjdXRlO20gem5vdnUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnTmV2bG/FvmlsaSBqc3RlIHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdlbWFpbCddID0gJ1lvdSBkaWQgbm90IGVudGVyIHlvdXIgZW1haWwnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJ10gPSAnTmV2bG/FvmlsaSBqc3RlIGhlc2xvJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBVc2VyIE9kaGwmYWFjdXRlOyZzY2Fyb247ZW4maWFjdXRlOyc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdGcm9udGVuZCBVc2VyIFDFmWlobCZhYWN1dGU7JnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVBPWk9STsSaTiZJYWN1dGU7PC9iPiB6bcSbbmEgc3QmYWFjdXRlO3ZhaiZpYWN1dGU7YyZpYWN1dGU7Y2ggdmxhc3Rub3N0JmlhY3V0ZTssIGt0ZXImZWFjdXRlOyBqc291IHDFmWnFmWF6ZW55IHNrdXBpbiZhYWN1dGU7bSBtxa/FvmUgenDFr3NvYml0IHByb2JsJmVhY3V0ZTtteSA8aT4ocMWZZWRldiZzY2Fyb247JmlhY3V0ZTttIHDFmWkgemtyJmFhY3V0ZTtjZW4maWFjdXRlOyBuxJtrdGVyJnlhY3V0ZTtjaCBwb2wmaWFjdXRlOyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1RhdG8gZnVua2NlIG5lcHJhY3VqZSBwb2Qgd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnTmV2eXR2JmFhY3V0ZTvFmWVqdGUgenZsJmFhY3V0ZTsmc2Nhcm9uO3RuJmlhY3V0ZTsgdmxhc3Rub3N0IHBybyB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubywgcHJvdG/FvmUgdG90byBqZSB1xb4gc291xI0mYWFjdXRlO3N0JmlhY3V0ZTsgbW9kdWx1IEZyb250RW5kVXNlcnMnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydG92YXQgdcW+aXZhdGVsZSBkbyBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0b3ZhdCc7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnRvdmF0JzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW5pc3RyYWNlJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnRWRpdG92YXQgdmxhc3Rub3N0JzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltJmFhY3V0ZTtsbiZpYWN1dGU7IGQmZWFjdXRlO2xrYSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnVnl0dm/FmWVubyc7CiRsYW5nWydzb3J0YnknXSA9ICdTZcWZYWRpdCBwb2RsZSc7CiRsYW5nWydzb3J0J10gPSAnxZhhemVuJmlhY3V0ZTsnOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVcW+aXZhdGVsJmVhY3V0ZTsgdmUgdnlicmFuJnlhY3V0ZTtjaC92eWJyYW4mZWFjdXRlOyBza3VwaW4mYWFjdXRlO2NoL3NrdXBpbsSbLic7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdPbWV6aXQgdiZ5YWN1dGU7c2xlZGt5IGRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ05lbHplIG5haiZpYWN1dGU7dCBwb2xvxb5rdSBlbWFpbCBwcm8gdG9ob3RvIHXFvml2YXRlbGUuIE5lanNwJmlhY3V0ZTsmc2Nhcm9uO2UgYnVkZXRlIHBvdMWZZWJvdmF0IGtvbnRha3RvdmF0IGFkbWluaXN0ciZhYWN1dGU7dG9yYS4nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9ybXVsJmFhY3V0ZTvFmWUgcHJvIHphcG9tZW51dCZlYWN1dGU7IGhlc2xvJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvcm11bCZhYWN1dGU7xZllIHBybyB6bcSbbnUgbmFzdGF2ZW4maWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBzdHImYWFjdXRlO25reSBwbyBwxZlpaGwmYWFjdXRlOyZzY2Fyb247ZW4maWFjdXRlOyAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBzdHImYWFjdXRlO25reSBwbyBvZGhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdQb8WZYWQmaWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZXNldHRpbmcgbG9zdCBwYXNzd29yZHMuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdPZHN0cmFuaXQgdiZzY2Fyb247ZWNobnkgeiZhYWN1dGU7em5hbXkgc3RhciZzY2Fyb247JmlhY3V0ZTsgbmXFviBqZWRlbiB0JnlhY3V0ZTtkZW4nOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnT2RzdHJhbml0IHYmc2Nhcm9uO2VjaG55IHomYWFjdXRlO3puYW15IHN0YXImc2Nhcm9uOyZpYWN1dGU7IG5lxb4gamVkZW4gbcSbcyZpYWN1dGU7Yyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdPZHN0cmFuaXQgdiZzY2Fyb247ZWNobnkgeiZhYWN1dGU7em5hbXknOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0pzdGUgc2kgamlzdD8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdaYWQmYWFjdXRlO24gJnNjYXJvbjtwYXRuJnlhY3V0ZTsgayZvYWN1dGU7ZCwgcHJvcyZpYWN1dGU7bSB6a3VzdGUgdG8gem5vdmEnOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0RvxI1hc24meWFjdXRlOyBrJm9hY3V0ZTtkIHBybyB2YSZzY2Fyb247ZSB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyBuZWx6ZSBuYWomaWFjdXRlO3QgdiBkYXRhYiZhYWN1dGU7emknOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBmb3JtdWwmYWFjdXRlO8WZZSBwcm8gdmVyaWZpa2FjaSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbmEgZm9ybXVsJmFhY3V0ZTvFmWUgcHJvIHphcG9tZW51dCZlYWN1dGU7IGhlc2xvJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdWeSBuZWJvIG7Em2tkbyBqaW4meWFjdXRlOyBqacW+IHphxb4mYWFjdXRlO2RhbCBvIHJlc2V0b3YmYWFjdXRlO24maWFjdXRlOyBoZXNsYSBwcm8gdGVudG8gJnVhY3V0ZTvEjWV0LiBEYWwmc2Nhcm9uOyZpYWN1dGU7IGluc3RydWtjZSBuYWpkZXRlIHZlIHN2JmVhY3V0ZTsgZS1tYWlsb3YmZWFjdXRlOyBzY2hyJmFhY3V0ZTtuY2UuJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdDaHliYTogUHJvYmwmZWFjdXRlO20gcyBkYXRhYiZhYWN1dGU7eiZpYWN1dGU7JzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ1R1dG8genByJmFhY3V0ZTt2dSBkb3N0JmFhY3V0ZTt2JmFhY3V0ZTt0ZSwgcHJvdG/FvmUgbsSba2RvIHphxb4mYWFjdXRlO2RhbCBvIG9ibm92ZW4maWFjdXRlOyB6YXBvbWVudXQmZWFjdXRlO2hvIGhlc2xhIGsgdmEmc2Nhcm9uO2VtdSAmdWFjdXRlO8SNdHUgbmEgbmEmc2Nhcm9uOyZpYWN1dGU7IHN0ciZhYWN1dGU7bmNlLiBQb2t1ZCBqZSB0byB0YWssIHBvc3R1cHVqdGUgcG9kbGUgbiZpYWN1dGU7xb5lIHV2ZWRlbiZ5YWN1dGU7Y2ggaW5zdHJ1a2MmaWFjdXRlOy4gUG9rdWQgbmV0dSZzY2Fyb247JmlhY3V0ZTt0ZSBvIGNvIGpkZSwgdGFrIHRlbnRvIGUtbWFpbCBpZ25vcnVqdGUuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnSyZvYWN1dGU7ZCc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdOJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlOyBrJm9hY3V0ZTtkIGJ5bCBuJmFhY3V0ZTtob2RuxJsgdnlnZW5lcm92JmFhY3V0ZTtuIHBybyB2ZXJpZmlrYWNpIHXFvml2YXRlbHNrJmVhY3V0ZTtobyAmdWFjdXRlO8SNdHUuIFBvIGtsZXBudXQmaWFjdXRlOyBuYSBuJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlOyBvZGtheiBzZSBkb3N0YW5ldGUgbmEgc3RyJmFhY3V0ZTtua3Uga2RlIHphZGF0IHRlbnRvIGsmb2FjdXRlO2QuIFBvbGUgamUgc3RhbmRhcmRuxJsgamnFviBwxZllZHZ5cGxuxJtuby4gUG9rdWQgbmVuJmlhY3V0ZTssIGsmb2FjdXRlO2QgamUgemRlOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0tsZXBudXQmaWFjdXRlO20gbmEgbiZhYWN1dGU7c2xlZHVqJmlhY3V0ZTtjJmlhY3V0ZTsgb2RrYXogc2UgZG9zdGFuZXRlIG5hIHN0ciZhYWN1dGU7bmt1LCBrZGUgbcWvxb5lemUgemFkYXQgdiZ5YWN1dGU7JnNjYXJvbjtlIHV2ZWRlbiZ5YWN1dGU7IGsmb2FjdXRlO2QgYSBvYm5vdml0IHZhJnNjYXJvbjtlIGhlc2xvOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnWmFwb21lbnV0JmVhY3V0ZTsgaGVzbG8nOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdOZWx6ZSBuYWomaWFjdXRlO3QgbW9kdWwgQ01TTWFpbGVyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ05hIGFkcmVzdSAlcyBieWwgemFzbCZhYWN1dGU7biBlLW1haWwgcyBpbnN0cnVrY2VtaSwgamFrIG9ibm92aXQgdmEmc2Nhcm9uO2UgaGVzbG8uIETEm2t1amVtZSc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1Bva3VkIGpzdGUgemFwb23Em2wgbmVibyB6dHJhdGlsIHN2JmVhY3V0ZTsgaGVzbG8sIHRhayBwcm9zJmlhY3V0ZTttIHZ5cGzFiHRlIHN2b2plIHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vIGEgZS1tYWlsZW0gZG9zdGFuZXRlIGluc3RydWtjZSBqYWsgcG9rcmHEjW92YXQgcyBvYm5vdmVuJmlhY3V0ZTttIHRvaG90byBoZXNsYSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0ZvcmdvdCBQYXNzd29yZCBUZW1wYXRlcyc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBwb3XFvml0JmFhY3V0ZTssIHBva3VkIHXFvml2YXRlbCB6dHJhdCZpYWN1dGU7IHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ1ZsYXN0bm9zdCAlcyBuZW5hbGV6ZW5hJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdWbGFzdG5vc3RpIG5hbGV6ZW55JzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdQxZlpZGF0IHZsYXN0bm9zdCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnUG92aW5uJmFhY3V0ZTsgdmxhc3Rub3N0ICglcykgYnlsYSBwciZhYWN1dGU7emRuJmFhY3V0ZTsnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdaYWRlanRlIHNlbSBub3YmZWFjdXRlOyBoZXNsbyc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ1ByYXZkxJtwb2RvYm7EmyBuZWpzdGUgcMWZaWhsJmFhY3V0ZTsmc2Nhcm9uO2VuJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdOYXN0YXZlbiZpYWN1dGU7JzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmFjZSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RlbnRvICZ1YWN1dGU7xI1ldCB2eXByJnNjYXJvbjtlbCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnJlNjYXJvbjtwYXRuJnlhY3V0ZTsgZm9ybSZhYWN1dGU7dCBlLW1haWxvdiZlYWN1dGU7IGFkcmVzeSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ05lcGxhdG4meWFjdXRlOyBkYXR1bSB2eXByJnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdDaHliYSBwxZlpIG5hc3RhdmVuJmlhY3V0ZTsgdmxhc3Rub3N0aSAlcyB1xb5pdmF0ZWxlICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnTmVwbGF0biZlYWN1dGU7IGlkIHNrdXBpbnkgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdabmHEjWtvdmHEjSBza3J5dCZ5YWN1dGU7Y2ggcG9sJmlhY3V0ZTsnOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ0JhcnZhIHNrcnl0JmVhY3V0ZTtobyBwb2xlJzsKJGxhbmdbJ2hpZGRlbiddID0gJ1Nrcnl0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1ZsYXN0bm9zdCBzIHQmaWFjdXRlO210byBqbSZlYWN1dGU7bmVtIGplIGppxb4gZGVmaW5vdiZhYWN1dGU7bmEnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTmVqc291IGRlZmlub3YmYWFjdXRlO255IMW+JmFhY3V0ZTtkbiZlYWN1dGU7IHZsYXN0bm9zdGknOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdQcm8gdHV0byBza3VwaW51IG5lYnlseSB2eWJyJmFhY3V0ZTtueSB2bGFzdG5vc3RpJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgc2t1cGlueSB1xb5pdmF0ZWzFryBuZWpzb3UgZGVmaW5vdiZhYWN1dGU7bnknOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdTa3VwaW55IG5hbGV6ZW55JzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdKZSB2ecW+YWRvdiZhYWN1dGU7bm8gcMWZacWZYXplbiZpYWN1dGU7IGFsZXNwb8WIIGRvIGplZG4mZWFjdXRlOyBza3VwaW55JzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdWecW+YWRvdmF0IHDFmWnFmWF6ZW4maWFjdXRlOyBhbGVzcG/FiCBkbyBqZWRuJmVhY3V0ZTsgc2t1cGlueSc7CiRsYW5nWydiYWNrJ10gPSAnWnDEm3QnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGplIHBvdmlubiZhYWN1dGU7IHBvbG/FvmthJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdPem5hxI1pdCBwb8W+YWRvdmFuJmFhY3V0ZTsgcG9sZSc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdIaWxpdGUgcmVxdWlyZWQgZmllbGRzIGluJzsKJGxhbmdbJ25leHQnXSA9ICdEYWwmc2Nhcm9uOyZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnU2t1cGluYSBzIHQmaWFjdXRlO210byBqbSZlYWN1dGU7bmVtIHXFviBleGlzdHVqZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1Z5xb5hZG92YW4mYWFjdXRlOyBwb2xvxb5rYSc7CiRsYW5nWydvcHRpb25hbCddID0gJ1ZvbGl0ZWxuJmFhY3V0ZTsnOwokbGFuZ1snb2ZmJ10gPSAnVnlwbm91dCc7CiRsYW5nWydzaXplJ10gPSAnVmVsaWtvc3QnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbSZhYWN1dGU7bG4maWFjdXRlOyByb3ptxJtyIG9iciZhYWN1dGU7emt1IHYgcGl4ZWxlY2gpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0QmZWFjdXRlO2xrYSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPih6bmFreSB2ZSB2c3R1cG4maWFjdXRlO20gcG9saSknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ1BvbG/Fvmt5IHJvemJhbG92YWMmaWFjdXRlO2hvIG1lbnUgb2RkxJtsZW4mZWFjdXRlOyBub3YmeWFjdXRlO21pIMWZJmFhY3V0ZTtka3knOwokbGFuZ1sncHJvbXB0J10gPSAnViZ5YWN1dGU7enZhJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdTdGF2IHBvbCZpYWN1dGU7xI1rYSc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdaZXB0YXQgc2UgdiBwxZkmaWFjdXRlO3BhZMSbPGJyLz56YXBvbWVudXQmaWFjdXRlOyB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gam0mZWFjdXRlO25hJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnWmEmc2Nhcm9uO2tydCZhYWN1dGU7dmFjJmlhY3V0ZTsgcG9sJmlhY3V0ZTvEjWtvJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnViZ5YWN1dGU7YsSbciB6IHYmaWFjdXRlO2NlIHBvbG/FvmVrJzsKJGxhbmdbJ2ltYWdlJ10gPSAnT2JyJmFhY3V0ZTt6ZWsnOwokbGFuZ1snZW1haWwnXSA9ICdFLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ09ibGFzdCB0ZXh0dSc7CiRsYW5nWydkcm9wZG93biddID0gJ1JvemJhbG92YWMmaWFjdXRlOyBtZW51JzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnViZpYWN1dGU7dGVqdGUnOwokbGFuZ1snbG9nb3V0J10gPSAnT2RobCZhYWN1dGU7c2l0JzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdQb3XFviZpYWN1dGU7dCBqbSZlYWN1dGU7bm8gdCZlYWN1dGU7dG8gc2t1cGlueSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdVcHJhdml0IG0mYWFjdXRlOyBuYXN0YXZlbiZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnUMWZaWhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsgc2VsaGFsbyAtICZzY2Fyb247cGF0biZlYWN1dGU7IHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vIG5lYm8gaGVzbG8/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnUMWZaWhsJmFhY3V0ZTtzaXQnOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdQb3Bpc2VrIHBvbCZpYWN1dGU7xI1rYSBwcm8gcMWZaWhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8nOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRS1tYWlsb3YmYWFjdXRlOyBhZHJlc2EnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnSGVzbG8nOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdQYW1hdHVqIHNpIG3EmyBuYSB0b210byBwb8SNJmlhY3V0ZTt0YcSNaSc7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdHJvdmF0JzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnWmFwb21lbnV0JmVhY3V0ZTsgaGVzbG8/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ1phcG9tbsSbbGkganN0ZSBwxZlpaGxhJnNjYXJvbjtvdmFjJmlhY3V0ZTsgJnVhY3V0ZTtkYWplPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyBob2Rub3R5JzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbmEnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBJRCBuZW5hbGV6ZW5vJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdUb3RvIHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vICglcykgamnFviBuxJtrZG8gcG91xb4maWFjdXRlO3YmYWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnUG91xb4maWFjdXRlO3ZhdCBTTVRQIHBybyB2YWxpZGFjaSBlLW1haWxvdiZ5YWN1dGU7Y2ggYWRyZXM/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbmltJmFhY3V0ZTtsbiZpYWN1dGU7IGQmZWFjdXRlO2xrYSBoZXNsYSc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbSZhYWN1dGU7bG4maWFjdXRlOyBkJmVhY3V0ZTtsa2EgaGVzbGEnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW0mYWFjdXRlO2xuJmlhY3V0ZTsgZCZlYWN1dGU7bGthIHXFvml2YXRlbHNrJmVhY3V0ZTtobyBqbSZlYWN1dGU7bmEnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWF4aW0mYWFjdXRlO2xuJmlhY3V0ZTsgZCZlYWN1dGU7bGthIHXFvml2YXRlbHNrJmVhY3V0ZTtobyBqbSZlYWN1dGU7bmEnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnRCZlYWN1dGU7bGthIHBsYXRub3N0aSBzZXNzaW9uICh2ZSB2dGXFmWluJmFhY3V0ZTtjaCknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1BvdcW+JmlhY3V0ZTt0IGNvb2tpZXMgcHJvIHVkcsW+ZW4maWFjdXRlOyBwxZlpaGwmYWFjdXRlOyZzY2Fyb247ZW4maWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ1Bvdm9saXQgcmVnaXN0cmFjaSBlLW1haWx1JzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdWJnlhY3V0ZTtjaG96JmlhY3V0ZTsgc2t1cGluYSBwcm8gbm92JmVhY3V0ZTsgdcW+aXZhdGVsZSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHBybyB6bcSbbnUgbmFzdGF2ZW4maWFjdXRlOyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnSGVzbGEgbmVqc291IHN0ZWpuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnQ2h5Ym4mZWFjdXRlOyB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdDaHl5Ym4mZWFjdXRlOyBoZXNsbyc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXRvdmF0IHXFvml2YXRlbGUnOwokbGFuZ1sndmFsaWQnXSA9ICdQbGF0biZlYWN1dGU7JzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3Rhdic7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdUZW50byB1xb5pdmF0ZWwgbmVuJmlhY3V0ZTsgcMWZacWZYXplbiBkbyDFviZhYWN1dGU7ZG4meWFjdXRlO2NoIHNrdXBpbic7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgdmxhc3Rub3N0aSc7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0ltcG9ydG92YXQgZHVwbGlrJmFhY3V0ZTt0biZpYWN1dGU7IHZsYXN0bm9zdGknOwokbGFuZ1sndmFsdWUnXSA9ICdIb2Rub3RhJzsKJGxhbmdbJ2dyb3VwcyddID0gJ1NrdXBpbnknOwokbGFuZ1sncHJvcGVydGllcyddID0gJ1ZsYXN0bm9zdGknOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOJmFhY3V0ZTt6ZXYgdmxhc3Rub3N0aSc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdIb2Rub3RhIHZsYXN0bm9zdGknOwokbGFuZ1snYWRkJ10gPSAnUMWZaWRhdCc7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWUnOwokbGFuZ1snZWRpdCddID0gJ0VkaXRvdmF0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdWeXByJnNjYXJvbjtlbiZpYWN1dGU7JzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZmlrdWp0ZSBkYXR1bSc7CiRsYW5nWycxMmhycyddID0gJzEyIGhvZGluJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgaG9kaW4nOwokbGFuZ1snNDhocnMnXSA9ICc0OCBob2Rpbic7CiRsYW5nWycxd2VlayddID0gJzEgdCZ5YWN1dGU7ZGVuJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdCZ5YWN1dGU7ZG55JzsKJGxhbmdbJzFtb250aCddID0gJzEgbcSbcyZpYWN1dGU7Yyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBtxJtzJmlhY3V0ZTtjZSc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBtxJtzJmlhY3V0ZTtjxa8nOwokbGFuZ1snMXllYXInXSA9ICcxIHJvayc7CiRsYW5nWyduZXZlciddID0gJ05pa2R5JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsICZ1YWN1dGU7c3DEmyZzY2Fyb247bsSbIG5haW5zdGFsb3YmYWFjdXRlO24uPGJyLz5OZXphcG9tZcWIdGUgbmFzdGF2aXQgb3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7ICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ0hlc2xvJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnWm5vdmEnOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ1N1cGluYSBzIHQmaWFjdXRlO210byBuJmFhY3V0ZTt6dmVtIGppxb4gZXhpc3R1amUnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdG92YXQgc2t1cGludSc7CiRsYW5nWydzdWJtaXQnXSA9ICdQb3R2cmRpdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2l0JzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1Z5bWF6YXQnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdKc3RlIHNpIGppc3Qgxb5lIHRvdG8gamUgc3ByJmFhY3V0ZTt2biZlYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsgcHJvIHR1dG8gc2t1cGludT9cbiBWeXBudXQmaWFjdXRlO20gdmxhc3Rub3N0aSBzZSBuZXNtYcW+b3Ugxb4mYWFjdXRlO2RuJmVhY3V0ZTsgJnVhY3V0ZTtkYWplIHZlIHZsYXN0bm9zdGVjaCB0b2hvdG8gdcW+aXZhdGVsZS9za3VwaW55LiAnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0pzdGUgc2kgamlzdCDFvmUgY2hjZXRlIHNtYXphdCB0dXRvIHNrdXBpbnU/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdPcHJhdmR1IGNoY2V0ZSBrb21wbGV0bsSbIHNtYXphdCB0dXRvIHZsYXN0bm9zdD9cblQmaWFjdXRlO20gc2UgdnltYcW+b3UgaSB2JnNjYXJvbjtlY2hueSBob2Rub3R5IHQmZWFjdXRlO3RvIHZsYXN0bm9zdGkgdSB1xb5pdmF0ZWzFry4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTmVkb3N0YXRlxI1uJmVhY3V0ZTsgcGFyYW1ldHJ5JzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ0ptJmVhY3V0ZTtubyc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1DFmWkgcMWZaWQmYWFjdXRlO3YmYWFjdXRlO24maWFjdXRlOyB2bGFzdG5vc3RpIGRvJnNjYXJvbjtsbyBrIGNoeWLEmyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmwmZWFjdXRlO20gcMWZaSBwxZlpZCZhYWN1dGU7diZhYWN1dGU7biZpYWN1dGU7IHZ6dGFodSBza3VwaW55JzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsJmVhY3V0ZTttIHDFmWkgcMWZaWQmYWFjdXRlO3YmYWFjdXRlO24maWFjdXRlOyBza3VwaW55JzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmwmZWFjdXRlO20gcMWZaSBwxZlpZCZhYWN1dGU7diZhYWN1dGU7biZpYWN1dGU7IHXFvml2YXRlbGUgZG8gc2t1cGlueSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmwmZWFjdXRlO20gcMWZaSBtYXomYWFjdXRlO24maWFjdXRlOyB2bGFzdG5vc3RpJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnTmVtb2h1IG5hbCZlYWN1dGU7enQgZS1tYWlsb3ZvdSBhZHJlc3UnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ0RvIGMmaWFjdXRlO2xvdiZlYWN1dGU7aG8gYWRyZXMmYWFjdXRlO8WZZSBuZW4maWFjdXRlOyBwb3ZvbGVuIHomYWFjdXRlO3Bpcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnJlNjYXJvbjtwYXRuJmVhY3V0ZTsgcGFyYW1hdHJ5JzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTmVieWx5IG5hbGV6ZW55IMW+JmFhY3V0ZTtkbiZlYWN1dGU7IHNrdXBpbnknOwokbGFuZ1snYXBwbHlmaWx0ZXInXSA9ICdQb3XFviZpYWN1dGU7dCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnUmVndWwmYWFjdXRlO3JuJmlhY3V0ZTsgdiZ5YWN1dGU7cmF6IHBybyB1xb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ1BvcGlzJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ04mYWFjdXRlO3pldiBza3VwaW55JzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1DFmSZpYWN1dGU7c3R1cCBvZGVwxZllbic7CiRsYW5nWydlcnJvciddID0gJ0NoeWJhJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnUMWZaWRhdCBza3VwaW51JzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0b3ZhdCBza3VwaW51JzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdQxZlpZGF0IHXFvml2YXRlbGUnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1XFvml2YXRlbCZlYWN1dGU7IHNwbMWIdWomaWFjdXRlO2MmaWFjdXRlOyB2eWhsZWQmYWFjdXRlO3ZhYyZpYWN1dGU7IGtyaXRlcmlhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnU2t1cGluYSc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1Z5YnJhdCBza3VwaW51JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHBybyByZWdpc3RyYWNpJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHBybyBvZGhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBwcm8gcMWZaWhsJmFhY3V0ZTsmc2Nhcm9uO2VuJmlhY3V0ZTsnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQxZllZHZvbGJ5JzsKJGxhbmdbJ3VzZXJzJ10gPSAnVcW+aXZhdGVsJmVhY3V0ZTsnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU3ByJmFhY3V0ZTt2YSBmcm9udGVuZCB1xb5pdmF0ZWzFryc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1NwcmF2b3ZhdCBmcm9udGVuZCB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdWJnlhY3V0ZTtjaG96JmlhY3V0ZTsgc3RyJmFhY3V0ZTtua2EnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1N0ciZhYWN1dGU7bmthIHMgcG9zbGVkbiZpYWN1dGU7bSBwxZkmaWFjdXRlO3N0dXBlbSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdKaW4mYWFjdXRlOyBzdHImYWFjdXRlO25rYTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdPcGkmc2Nhcm9uO3RlIHRleHQgeiBvYnImYWFjdXRlO3prdSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNvIGTEm2wmYWFjdXRlOyB0ZW50byBtb2R1bD88L2gzPg0KPHA+VGVudG8gbW9kdWwgdW1vxb7FiHVqZSBzcHImYWFjdXRlO3Z1IGZyb250ZW5kIHXFvml2YXRlbMWvICh0ZWR5IHXFvml2YXRlbMWvLCBrdGXFmSZpYWN1dGU7IHNlIHphcmVnaXN0cm92YWxpIHBybyB6JmlhY3V0ZTtzayZhYWN1dGU7biZpYWN1dGU7IHNwZWNpJmFhY3V0ZTtsbiZpYWN1dGU7Y2ggbW/Fvm5vc3QmaWFjdXRlOywgbmVtYWomaWFjdXRlOyBhbGUgcMWZJmlhY3V0ZTtzdHVwIGsgYWRtaW5pc3RyYcSNbiZpYWN1dGU7bXUgcm96aHJhbiZpYWN1dGU7IHdlYnUpLiBVbW/FvsWIdWplIHZ5dHYmYWFjdXRlO8WZZW4maWFjdXRlOyBza3VwaW4gdcW+aXZhdGVsxa8sIHXFvml2YXRlbHNrJnlhY3V0ZTtjaCAmdWFjdXRlO8SNdMWvIGEgcMWZaWhsYSZzY2Fyb247b3YmYWFjdXRlO24maWFjdXRlOyAob2RobGEmc2Nhcm9uO292JmFhY3V0ZTtuJmlhY3V0ZTspIHXFvml2YXRlbMWvLiBTY2hvcG5vc3RpIHRvaG90byBtb2R1bHUgdnl1xb4maWFjdXRlO3YmYWFjdXRlOyBuxJtrb2xpayBqaW4meWFjdXRlO2NoIG1vZHVsxa8sIG5hcMWZJmlhY3V0ZTtrbGFkICZxdW90O1XFvml2YXRlbHNrJnlhY3V0ZTsgb2JzYWgmcXVvdDsgbmVibyAmcXVvdDtGJm9hY3V0ZTtydW0mcXVvdDsuPC9wPg0KPGgzPkZ1bmtjZTwvaDM+DQo8dWw+DQo8bGk+PHA+VnlwciZzY2Fyb247ZW4maWFjdXRlOyBwbGF0bm9zdGkgdcW+aXZhdGVsc2smeWFjdXRlO2NoICZ1YWN1dGU7xI10xa8uICBNxa/FvmV0ZSB2eXR2JmFhY3V0ZTvFmWV0IGRvxI1hc24mZWFjdXRlOyB1xb5pdmF0ZWxlPC9wPjwvbGk+DQo8bGk+PHA+Vmxhc3Rub3N0aSBza3VwaW4uIFDFmSZpYWN1dGU7c2x1JnNjYXJvbjtuJmlhY3V0ZTtrxa8gcsWvem4meWFjdXRlO2NoIHNrdXBpbiBzZSBtxa/FvmV0ZSBwdCZhYWN1dGU7dCBuYSByxa96biZlYWN1dGU7IHbEm2NpLjwvcD48L2xpPg0KPGxpPjxwPk1vxb5ub3N0IHNwciZhYWN1dGU7dnkgc3RvdmVrIHXFvml2YXRlbMWvPC9wPjwvbGk+DQo8bGk+PHA+T2JzYWh1amUgcm96cyZhYWN1dGU7aGwmZWFjdXRlOyBBUEkgcHJvIHDFmWlkJmFhY3V0ZTt2JmFhY3V0ZTtuJmlhY3V0ZTsgZnVua2MmaWFjdXRlOzwvcD48L2xpPg0KPC91bD4NCjxoMz5KYWsgaG8gbW9odSBwb3XFviZpYWN1dGU7dDwvaDM+DQo8dWw+DQo8bGk+PHA+UG8gaW5zdGFsYWNpIG5hbGV6bmV0ZSBhZG1pbmlzdHJhxI1uJmlhY3V0ZTsgcm96aHJhbiZpYWN1dGU7IG1vZHVsdSB2IG1lbnUgVcW+aXZhdGVsJmVhY3V0ZTsvU2t1cGlueSBqYWtvICZxdW90O1NwciZhYWN1dGU7dmEgZnJvbnRlbmQgdcW+aXZhdGVsxa8mcXVvdDs8L3A+PC9saT4NCjxsaT4NCjxwPk3Em2xpIGJ5c3RlIHRhayZlYWN1dGU7IGRlZmlub3ZhdCB2bGFzdG5vc3RpLiBWbGFzdG5vc3RpIGpzb3UgbnV0biZlYWN1dGU7IGRlZmluaWNlIHBvbCZpYWN1dGU7LCB6ZGUgdXDFmWVzbiZpYWN1dGU7dGUgdHlwIGluZm9ybWFjJmlhY3V0ZTssIGt0ZXImZWFjdXRlOyBjaGNldGUgc2hyb20mYWFjdXRlO8W+ZGl0IG8gdcW+aXZhdGVsJmlhY3V0ZTtjaCwgbmFwxZkuIEptJmVhY3V0ZTtubywgVsSbaywgTcSbc3RvLC4uLjwvcD4NCjxwPjxiPlBvem4mYWFjdXRlO21rYTo8L2I+IE5lbXVzJmlhY3V0ZTt0ZSB2eXR2JmFhY3V0ZTvFmWV0IHZsYXN0bm9zdGkgcHJvIHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vIGEgaGVzbG8sIHR5dG8gYnVkb3Ugdnl0dm/FmWVueSBhdXRvbWF0aWNreS48L2I+DQo8L2xpPg0KPGxpPjxwPlBvdCZlYWN1dGU7IGJ5c3RlIG3Em2xpIHZ5dHZvxZlpdCBqZWRudSBuZWJvIHYmaWFjdXRlO2NlIHNrdXBpbiB1xb5pdmF0ZWzFry4gUMWZaSB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgc2t1cGlueSBtdXMmaWFjdXRlO3RlIHZsb8W+aXQgamVqJmlhY3V0ZTsgam0mZWFjdXRlO25vLCBwb3Bpc2VrLCBwxZlpxZlhZGl0IHZsYXN0bm9zdGkgayB0JmVhY3V0ZTt0byBza3VwaW7EmyBhIG5hc3Rhdml0IGplamljaCBtb8W+bm9zdGkgKHpkYSBqZSB2bGFzdG5vc3Qgdm9saXRlbG4mYWFjdXRlOywgdnnFvmFkb3ZhbiZhYWN1dGU7LCBuZWJvIHpkYSBqZGUgbyBza3J5dCZlYWN1dGU7IHBvbGU8aT4ocG9sZSBtxa/FvmUgYiZ5YWN1dGU7dCB0YWsmZWFjdXRlOyB2eXBudXQmZWFjdXRlOyk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+UG96biZhYWN1dGU7bWthOjwvYj4gUMWZZWQgcG9rcmHEjW92JmFhY3V0ZTtuJmlhY3V0ZTttIHNlIHByb3MmaWFjdXRlO20gdWppc3TEm3RlLCDFvmUgdmxhc3Rub3N0aSBqc291IG5hc3RhdmVueSBzcHImYWFjdXRlO3ZuxJsuPC9wPjwvbGk+DQo8bGk+PHA+TiZhYWN1dGU7c2xlZG7EmyBieXN0ZSBtxJtsaSB2eXR2b8WZaXQgbsSbamFrJmVhY3V0ZTsgdcW+aXZhdGVsZS4gUMWZaWQmYWFjdXRlO24maWFjdXRlOyB1xb5pdmF0ZWxlIHNlIHNrbCZhYWN1dGU7ZCZhYWN1dGU7IHplIGR2b3Uga3Jva8WvLiBOZWpwcnZlIG11cyZpYWN1dGU7dGUgdXLEjWl0IHXFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vIGEgaGVzbG8sIHDFmSZpYWN1dGU7cGFkbsSbIHRhayZlYWN1dGU7IGRhdHVtIHZ5cHImc2Nhcm9uO2VuJmlhY3V0ZTsgdG9ob3RvICZ1YWN1dGU7xI10dS4gUG90JmVhY3V0ZTsgdnliZXJ0ZSBza3UmdWFjdXRlO2lueSwgamljaMW+IGJ1ZGUgdGVudG8gdcW+aXZhdGVsIMSNbGVuZW0gYSBrbGlrbsSbdGUgbmEgXCYjMDM5O0RhbCZzY2Fyb247JmlhY3V0ZTtcJiMwMzk7PC9wPg0KPHA+PGVtPlBvem4mYWFjdXRlO21rYTogPC9lbT5Ub3RvIGplIG4mYWFjdXRlO3JvxI1uJnlhY3V0ZTsgYSBudWRuJnlhY3V0ZTsgcHJvY2VzLCBqZWRub2R1JnNjYXJvbjsmc2Nhcm9uOyZpYWN1dGU7IGplIG5lY2hhdCB1xb5pdmF0ZWxlIHNhbW9zdGF0bsSbIHJlZ2lzdHJvdmF0IDxlbT5Qb2QmaWFjdXRlO3ZlanRlIHNlIG5hIG1vZHVsIFNlbGYgUmVnaXN0cmF0aW9uPC9lbT4sIHBvdCZlYWN1dGU7IGplIG3FvmV0ZSB6YcWZYWRpdCBkbyBza3VwaW55LiBQcm8gJnVhY3V0ZTvEjWVseSB2eXprb3Umc2Nhcm9uO2VuJmlhY3V0ZTsgZnVua8SNbm9zdGkgcHJvcyZpYWN1dGU7bSB2eXR2b8WZdGUgbmVqbSZlYWN1dGU7bsSbIGplZG5vaG8gdcW+aXZhdGVsZS48L3A+PC9saT4NCjxsaT48cD5OJmFhY3V0ZTtzbGVkbsSbIGplIHTFmWViYSB2eXBsbml0IHZsYXN0bm9zdGkgZGVmaW5vdmFuJmVhY3V0ZTsgcHJvIGRhbiZlYWN1dGU7aG8gdcW+aXZhdGVsZSwgYWJ5IGJ5bG8gamVobyB2eXR2b8WZZW4maWFjdXRlOyBkb2tvbsSNZW5vPC9wPjwvbGk+DQo8bGk+PHA+TnluJmlhY3V0ZTsgamUgdiZzY2Fyb247ZSBwxZlpcHJhdmVubyBwcm8gcMWZaWQmYWFjdXRlO24maWFjdXRlOyBmcm9udGVuZG92JmVhY3V0ZTsgZnVua8SNbm9zdGkgayB2YSZzY2Fyb247ZW11IG1vZHVsdS4gIFRvIGplIGplZG5vZHVjaCZlYWN1dGU7LiBQxZlpZGVqdGUgdGFnIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSBkbyBWYSZzY2Fyb247JmlhY3V0ZTsgc3RyJmFhY3V0ZTtua3kgbmVibyAmc2Nhcm9uO2FibG9ueS48L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vaW5saW5lJ10gPSAnVmlzIGlra2UgZm9ybXMgaW5saW5lJzsKJGxhbmdbJ2luZm9fbG9zdHVuJ10gPSAnS2xpayBoZXIgaHZpcyBkdSBpa2tlIGthbiBodXNrZSBkaW5lIGxvZ2luIG9wbHlzbmluZ2VyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdLbGlrIGhlciBodmlzIGR1IGlra2Uga2FuIGh1c2tlIGRpdCBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ0tsaWsgaGVyIGZvciBhdCBsb2dnZSB1ZCc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnS2xpayBoZXIgZm9yIGF0ICZhZWxpZztuZHJlIGRpdCBwYXNzd29yZCBlbGxlciBhbmRlbiBpbmZvcm1hdGlvbic7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1NlIGJydWdlciB0ZW1wbGF0ZSc7CiRsYW5nWydldmVudCddID0gJ0JlZ2l2ZW5oZWQnOwokbGFuZ1snZmV1X2V2ZW50X25vdGlmaWNhdGlvbiddID0gJ0ZFVSBiZXNrZWQgb20gYmVnaXZlbmhlZCc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX2FkZHJlc3MnXSA9ICdCZXNrZWQgZW1haWwgYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnQmVza2VkIGVtYWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCddID0gJ0Jlc2tlZCBlbWFpbCBlbW5lJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25zJ10gPSAnRW1haWwgYmVza2VkZXInOwokbGFuZ1snT25Mb2dpbiddID0gJ1ZlZCBsb2dpbic7CiRsYW5nWydPbkxvZ291dCddID0gJ1ZlZCBsb2dvdXQnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnVmVkIHVkbCZvc2xhc2g7YiBhZiBzZXNzaW9uJzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ1ZlZG9wcmV0dGVsc2UgYWYgZW4gbnkgYnJ1Z2VyJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ1ZlZCBzbGV0bmluZyBhZiBlbiBicnVnZXInOwokbGFuZ1snT25VcGRhdGVVc2VyJ10gPSAnVmVkICZhZWxpZztuZHJpbmcgYWYgYnJ1Z2VyIG9wbHlzbmluZ2VyJzsKJGxhbmdbJ09uQ3JlYXRlR3JvdXAnXSA9ICdWZWQgb3ByZXR0ZWxzZSBhZiBlbiBueSBicnVnZXJncnVwcGUnOwokbGFuZ1snT25EZWxldGVHcm91cCddID0gJ1ZlZCBzbGV0bmluZyBhZiBlbiBicnVnZXJncnVwcGUnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdGdW5rdGlvbmVuLCBkZXIga2FuIGhlbnRlIG1pc3RlZGUgbG9naW4gb3BseXNuaW5nZXIsIGVyIGFmc2x1dHRldCBtZWQgc3VjY2VzLiAgVmkgaGFyIGZ1bmRldCBldCB1bmlrdCBicnVnZXJuYXZuLCBkZXIgbWF0Y2hlZGUgZGluZSBvcGx5c25pbmdlci4gJzsKJGxhbmdbJ3lvdXJfdXNlcm5hbWVfaXMnXSA9ICdEaXQgYnJ1Z2VybmF2biBlcic7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdWaSBhbmJlZmFsZXIgZHUgZ2VtbWVyIGRlbm5lIGluZm9ybWF0aW9uIHAmYXJpbmc7IGV0IHNpa2tlcnQgc3RlZC4nOwokbGFuZ1sncHJvbXB0X2FmdGVyX2NoYW5nZV9zZXR0aW5ncyddID0gJ0cmYXJpbmc7IHRpbCBQYWdlSUQvQWxpYXMgZWZ0ZXIgYXQgaGF2ZSAmYWVsaWc7bmRyZXQgaW5kc3RpbGxpbmdlcic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSA9ICdHJmFyaW5nOyB0aWwgUGFnZUlEL0FsaWFzIGVmdGVyIGtvZGUgdmVyaWZpa2F0aW9uIConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdEZXRhbGplcmV0IHNrYWJlbG9uIGZvciBtaXN0ZXQgYnJ1Z2VybmF2bic7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jla3ImYWVsaWc7ZnRlbHNlcyBza2FiZWxvbiBmb3IgbWlzdGV0IGJydWdlcm5hdm4nOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdGZWpsOiBNZXJlIGVuZCBlbiBicnVnZXIgcGFzc2VyIHRpbCBkZSBhbmdpdm5lIGVnZW5za2FiZXInOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRmVqbDogS3VubmUgaWtrZSBmaW5kZSBlbiBicnVnZXIgbWVkIGRlIGVnZW5za2FiZXInOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0Zlamw6IEt1bm5lIGlra2UgZmluZGUgZW4gZ3J1cHBlIG1lZCBkZXQgbmF2bic7CiRsYW5nWydyZWFkb25seSddID0gJ1Nrcml2ZWJlc2t5dHRldCc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnVXNlciBNYW5pcHVsYXRvciBDbGFzcyc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdMb2dnZWQgb3V0IGFmIGFkbWluaXN0cmF0b3InOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ1ZpcyBrdW4gYnJ1Z2VyZSwgZGVyIGVyIGxvZ2dldCBpbmQnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0xvZyBkZW5uZSBicnVnZXIgYWYnOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnQnJ1Z2VyIGVnZW5za2FiZXInOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdCcnVnZXIgaGlzdG9yaWUnOwokbGFuZ1snZXhwb3J0J10gPSAnRWtzcG9ydCZlYWN1dGU7cic7CiRsYW5nWydjbGVhciddID0gJ1J5ZCc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFa3Nwb3J0JmVhY3V0ZTtyIGJydWdlciBoaXN0b3JpayB0aWwgQVNDSUkgc29tIGVyIG1lcmUgZW5kJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnU2xldCBicnVnZXIgaGlzdG9yaWsgZGVyIGVyIG1lcmUgZW5kJzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ01pc3RldCBicnVnZXJuYXZuIHN1cHBvcnQgZm9ydW0nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRWtzcG9ydCZlYWN1dGU7ciBncnVwcGUgZGVmaW5pdGlvbmVyIChvZyBlZ2Vuc2thYmVyKSB0aWwgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdWZWRsaWdlaG9sZCBicnVnZXIgaGlzdG9yaWUnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWonOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnQWYnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogSW5nZW4gYmVnciZhZWxpZztuc25pbmcgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnRW4gdGltZSBnYW1tZWwnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnU2VrcyB0aW1lciBnYW1tZWwnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVG9sdiB0aW1lciBnYW1tZWwnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdFbiBkYWcgZ2FtbWVsJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ0VuIHVnZSBnYW1tZWwnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1RvIHVnZXIgZ2FtbWVsJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdFbiBtJmFyaW5nO25lZCBnYW1tZWwnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1RyZSBtJmFyaW5nO25lZGVyIGdhbW1lbCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1Nla3MgbSZhcmluZztuZWRlciBnYW1tZWwnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnRXQgJmFyaW5nO3IgZ2FtbWVsJzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ0dydXBwZXJpbmcgb2cgc29ydGVyaW5nJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdQb3N0ZXIsIGRlciBtYXRjaGVyIGtyaXRlcmlldCc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ0ZhbGRlbmRlIGJydWdlcm5hdm4nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ1N0aWdlbmRlIGJydWdlcm5hdm4nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0ZhbGRlbmRlIGRhdG9vcmRlbic7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdTdGlnZW5kZSBkYXRvb3JkZW4nOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnRmFsZGVuZGUgYmVnaXZlbmhlZHNrYXRlZ29yaSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1N0aWdlbmRlIGJlZ2l2ZW5oZWRza2F0ZWdvcmknOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnRmFsZGVuZGUgSVAgYWRyZXNzZSBvcmRlbic7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ1N0aWdlbmRlIElQIGFkcmVzc2Ugb3JkZW4nOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0luZ2VuIGhpc3RvcmllIGZ1bmRldCc7CiRsYW5nWydyZXNldCddID0gJ051bHN0aWwnOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3J1cHAmZWFjdXRlO3IgZWZ0ZXIgSVAgYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0gmYWVsaWc7bmRlbHNlcyB0eXBlIGZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdWaXMga3VuIGJlZ2l2ZW5oZWRlciwgZGVyIGVyIG1pbmRyZSBlbmQ6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdTaWRlIGJlZ3ImYWVsaWc7c25pbmcnOwokbGFuZ1snZm9yJ10gPSAnZm9yJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnQnJ1Z2VyIGhpc3RvcmllIHJhcHBvcnQnOwokbGFuZ1sndW5rbm93biddID0gJ1VrZW5kdCc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnQmVnaXZlbmhlZHNrYXRlZ29yaSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdG8nOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1RpbGJhZ2UnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBrb21wbGV0JzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0xpbmllciBiZWFyYmVqZGV0JzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdGZWpsIGZ1bmRldCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUG9zdGVyIHRpbGYmb3NsYXNoO2pldCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnS3VubmUgaWtrZSBmcmluZGUgZWdlbnNrYWJlciBmb3IgZ3J1cHBlbiAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ0ZpayBpbnRldCBzdmFyIGZyYSBTTVRQLXNlcnZlcmVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0RlbiBhbmdpdm5lIGZpbCAoJXMpIGt1bm5lIGlra2UgZmluZGVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdGZWpsYWd0aWcgdiZhZWxpZztyZGlnIGZvciBkcm9wZG93biBlbGxlciBtdWx0aXNlbGVjdCBmZWx0ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmVsdCAlcyBlciBtZXJlIGVuZCBkZW4gbWFrc2ltYWxlIGwmYWVsaWc7bmdkZSc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBmZWpsIChsaW5pZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdLdW5uZSBpa2tlIGZpbmRlIGVnZW5za2Fic2RlZmluaXRpb25zbiAoaW50ZXJuIGZlamwpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW1lciBtZWQgYXQgJmFlbGlnO25kcmUgYnJ1Z2VyIG9wbHlzbmluZ2VyJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdLdW5uZSBpa2tlIGZpbmRlIGVuIHMmb3NsYXNoO2psZSBkZXIgc3ZhcmVyIHRpbCBkZXQga3ImYWVsaWc7dmVkZSBmZWpsdCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0t1bm5lIGlra2UgZmluZGUgZWdlbnNrYWJlciBmb3IgZGVuIHZhbGd0ZSBncnVwcGUnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ0RlbiB2YWxndGUgZmlsIHRpbCBpbXBvcnQgZXIgaWtrZSBpIGRldCBrb3JyZWt0ZSBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0t1bm5lIGlra2UgJmFyaW5nO2JuZSBmaWwnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0ZXIgYnJ1Z2VyZSBpIGRlbm5lIGdydXBwZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbmRzJmFlbGlnO3QgQ1NWIGZpbCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0luZHMmYWVsaWc7dCBYTUwgZmlsJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0Vrc3BvcnQmZWFjdXRlO3IgYnJ1Z2VyZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnRlciBicnVnZXJlJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1J5ZCc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0JpbGxlZCBkZXN0aW5hdGlvbnMgbWFwcGUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdFdCBwcm9ibGVtIG9wc3RvZCB2ZWQgZW4gbWFuZ2xlbmRlIChtZW4gcCZhcmluZztrciZhZWxpZzt2ZXQpIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnS3VubmUgaWtrZSBvdmVycyZhZWxpZzt0dGUgZGVuIGFuZ2l2bmUgWE1MIGZpbCc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnS2FuIGlra2Ugc2xldHRlIGVuIGdydXBwZSwgZGVyIHN0YWRpZyBpbmRlaG9sZGVyIGJydWdlcmUuJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdEZW5uZSBicnVnZXIgZXIgYWxsZXJlZGUgbG9nZ2V0IGluZCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdGVuIGZyYSBiaWxsZWRlciBibGV2IGlra2Ugc2tyZXZldCBrb3JyZWt0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdUaWxsYWQgYnJ1Z2VyZSBhdCB2JmFlbGlnO3JlIGxvZ2dldCBpbmQgZmxlcmUgZ2FuZ2UnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0JpbGxlZGZpbC10eXBlciBzb20gYnJ1Z2VyZSBtJmFyaW5nOyB1cGxvYWQmIzAzOTtlJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxoMz5PbkxvZ291dDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPGgzPk9uRXhwaXJlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbiB0byB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQgb2YgdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGlzIGV4cGlyZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyB1c2VyIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaW5mbyBpcyB1cGRhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGFjY291bnQgaXMgZGVsZXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgZGVsZXRlZCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBncm91cCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGNhbiBiZSB1c2VkIGluIHRoZXNlIGZpZWxkczogeyR1c2VybmFtZX0nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1JldCBpIGRldHRlIGZlbHQgZm9yIGF0IG51bHN0aWxsZSBicnVnZXJlbnMga29kZW9yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUmV0IGkgZGV0dGUgZmVsdCBmb3IgYXQgbnVsc3RpbGxlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ0VuIGJydWdlciBtZWQgZGV0YnJ1Z2VybmF2biBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0wmYWVsaWc7bmdkZSBwJmFyaW5nOyBmZWx0ZXQgYnJ1Z2VybmF2bic7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMJmFlbGlnO25nZGUgcCZhcmluZzsgZmVsdGV0IGtvZGVvcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9tYWtzIGwmYWVsaWc7bmdlIHAmYXJpbmc7IGtvZGVvcmRldCBlciBpa2tlIGd5bGRpZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL21ha3MgbCZhZWxpZztuZ2UgcCZhcmluZzsgYnJ1Z2VybmF2bmV0IGVyIGlra2UgZ3lsZGlnJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdVZ3lsZGlnIGVtYWlsIGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdWaSBrdW5uZSBpa2tlIGZpbmRlIGVuIGVtYWlsIGFkcmVzc2UgZm9yIGRlbm5lIGtvbnRvJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdGZWpsIHZlZCBpbmRzJmFlbGlnO3RuaW5nIGFmIGJydWdlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnQnJ1Z2VyIHRpbGYmb3NsYXNoO2pldCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ0JydWdlciBzbGV0dGV0IHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ0VnZW5za2FiJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWJmFlbGlnO3JkaSAocmVndWwmYWVsaWc7cnVkdHJ5ayknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdBZHZhcnNlbDogZGlzc2UgZmVsdGVyIHAmYXJpbmc7dmlya2VyIHN0Jm9zbGFzaDtycmVsc2UgcCZhcmluZzsgaW5wdXQgZmVsdGVyIGZvciBmb3JtdWxhcmVyLiBEZXQga2FuIGlra2UgYW5iZWZhbGVzIGF0ICZhZWxpZztuZHJlIGRpc3NlIHRhbCBwJmFyaW5nOyBhbGxlcmVkZSBlbiBla3Npc3RlcmVuZGUgc2lkZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnUmVkaWcmZWFjdXRlO3IgYWRtaW5pc3RyYXRpb25zIGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdFbWFpbC1hZHJlc3NlIGFsbGVyZWRlIGkgYnJ1Zyc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdVc2UgY29va2llcyB0byByZW1lbWJlciBsb2dpbiBkZXRhaWxzJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ1RpbGxhZCBpZGVudGlza2UgZW1haWwtYWRyZXNzZXInOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnQXR0ZW1wdCB0byBrZWVwIGxvZ2lucyBhbGl2ZSBieSB0aGUgdXNlIG9mIGEgY29va2llIDxlbT4odGhlIGNvb2tpZSBpcyByZXNldCBvbiBhY3Rpdml0eSBpbiB0aGUgd2Vic2l0ZSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcodGlsbGFkIGZsZXJlIGJydWdlcmUgbWVkIHNhbW1lIGVtYWlsIGFkcmVzc2UpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnVGlsbGFkIG1lcmUgZW5kIGVuICZxdW90O2dsZW10IGtvZGVvcmQmcXVvdDsgcCZhcmluZzttaW5kZWxzZT8nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKHRpbGxhZCBhdCBlbiBicnVnZXIgZiZhcmluZztyIG11bGlnaGVkIGZvciBhdCAmYWVsaWc7bmRyZSBzaXQga29kZW9yZCwgc2Vsdm9tIGRlbm5lIGlra2UgaGFyIHJlYWdlcmV0IHAmYXJpbmc7IGVuIHRpZGxpZ2VyZSBmb3Jlc3Amb3NsYXNoO2dzZWwpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNlIEZyb250LWVuZCBVc2VyIHNwZWNpZmljIHBlcm1pc3Npb25zPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbHksIEZFVVNlcnMgcGVybWlzc2lvbnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBlcXVpdmFsZW50IEFkbWluIEFyZWEgcGVybWlzc2lvbnMgbGlrZSBBZGQgVXNlciwgQWRkIEdyb3VwLCBldGMuIElmIHlvdSBzZWxlY3QgdGhpcyBvcHRpb24sIHRoZXJlIHdpbGwgYmUgc2VwYXJhdGUgcGVybWlzc2lvbnMgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVwbG9hZGVkIGZpbGUgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ1RoZXJlIHdhcyBhIHByb2JsZW0gd2l0aCB5b3VyIHVwbG9hZGVkIGZpbGUuICBQbGVhc2UgdHJ5IGFnYWluJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0R1IGluZHRhc3RlZGUgaWtrZSBldCBicnVnZXJuYXZuJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ0R1IGluZHRhc3RlZGUgaWtrZSBldCBrb2Rlb3JkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBCcnVnZXIgTG9nIFVkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIEJydWdlciBMb2cgSW5kJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRGVubmUgZnVua3Rpb24gZnVuZ2VyZXIgaWtrZSBpIHdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ0RvIG5vdCBjcmVhdGUgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUsIG9yIHNvbWUgc3VjaCB0aGluZyBhcyB0aGlzIGlzIGJ1aWx0aW4gdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFa3Nwb3J0ZXIgYnJ1Z2VyIHRpbCBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9ydGVyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGVyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdSZWRpZ2VyIGVnZW5za2FiZXInOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrcy4gbCZhZWxpZztuZ2RlJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdPcHJldHRldCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0ZXIgZWZ0ZXInOwokbGFuZ1snc29ydCddID0gJ1NvcnRlcmVyJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ0JydWdlcmUgaSBkZShuKSB2YWxndGUgZ3J1cHBlKHIpJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0JlZ3ImYWVsaWc7bnMgcmVzdWx0YXRlciB0aWwnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnS3VubmUgaWtrZSBmaW5kZSBldCBlbWFpbCBmZWx0IGZvciBkZW5uZSBicnVnZXIuIEtvbnRha3Qgc3lzdGVtIGFkbWluaXN0cmF0b3Jlbi4nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydGVyaW5nc29yZGVuJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlc2V0dGluZyBsb3N0IHBhc3N3b3Jkcy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiB1Z2UgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7ZywgZGVyIGVyIG1lcmUgZW5kIGVuIG0mYXJpbmc7bmVkIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2cnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdBbiBpbnZhbGlkIGNvZGUgaGFzIGJlZW4gZW50ZXJlZCwgcGxlYXNlIHRyeSBhZ2Fpbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnQSB0ZW1wb3JhcnkgY29kZSBmb3IgeW91ciB1c2VyIGlkIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIHRvIGRpc3BsYXkgdmVyaWZpY2F0aW9uIGZvcm0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgZm9yIGZvcmdvdHRlbiBwYXNzd29yZCBlbWFpbCc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnRGlnIHNlbHYgZWxsZXIgZW4gYW5kZW4gaGFyIGFsbGVyZWRlIGJlZHQgb20gYXQgZiZhcmluZzsgbnVsc3RpbGxldCBrb2Rlb3JkZXQgZm9yIGRlbm5lIGJydWdlci4gQ2hlY2sgZGluIGVtYWlsIC0gZHUgaGFyIG11bGlndmlzIGYmYXJpbmc7ZXQgeWRlcmxpZ2VyZSBpbnN0cnVrdGlvbmVyIG9tIGh2b3JkYW4gZHUgbnVsc3RpbGxlciBkaXQga29kZW9yZCBpIGRpbiBtYWlsYm9rcy4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGZlamwnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnRHUgbW9kdGFnZXIgZGVubmUgYmVza2VkLCBkYSBub2dlbiBoYXIgZ2l2ZXQgdm9yZXMgc2l0ZSBiZXNrZWQgb20gYXQgZHUgaGFyIG1pc3RldCBkaXQga29kZW9yZC4gSHZpcyBkZXR0ZSBlciByaWd0aWd0LCBzJmFyaW5nOyBsJmFlbGlnO3MgbmVkZW5zdCZhcmluZztlbmRlIGluc3RydWt0aW9uZXIuIEh2aXMgZHUgaWtrZSBoYXIgbWlzdGV0IGRpdCBrb2Rlb3JkIGthbiBkdSBzbGV0dGUgZGVubmUgYmVza2VkIG9nIHZpIHVuZHNreWxkZXIgdWxlamxpZ2hlZGVuLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0NvZGUnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnVGhlIGZvbGxvd2luZyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCByYW5kb21seSBnZW5lcmF0ZWQgaW4gb3JkZXIgdG8gdmVyaWZ5IHRoZSB1c2VyIGFjY291bnQuICB3aGVuIHlvdSBjbGljayBvbiB0aGUgbGluayBiZWxvdyB5b3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGZpZWxkIHRvIGVudGVyIHRoaXMgY29kZS4gIE5vcm1hbGx5IHRoZSBmaWVsZCBpcyBwcmUtY29tcGxldGVkIGZvciB5b3UsIGJ1dCBpbmNhc2UgaXQgaXNuJiMwMzk7dCB0aGUgY29kZSBpczonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdIdmlzIGR1IGtsaWtrZXIgcCZhcmluZzsgZGV0IGYmb3NsYXNoO2xnZW5kZSBsaW5rLCB2aWwgZHUgYmxpdmUgc2VuZHQgdGlsIGhqZW1tZXNpZGVuLCBodm9yIGR1IGthbiBpbmR0YXN0ZSBvdmVuc3QmYXJpbmc7ZW5kZSBrb2RlIG9nIG51bHN0aWxsZSBkaXQga29kZW9yZDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0dsZW10IGtvZGVvcmQnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdLdW5uZSBpa2tlIGZpbmRlIENNU01haWxlci1tb2R1bGV0JzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0RlciBlciBibGV2ZXQgc2VuZHQgZW4gZW1haWwgdGlsICVzIG1lZCBpbnN0cnVrdGlvbmVyIG9tIGh2b3JkYW4gZHUgbnVsc3RpbGxlciBkaXQga29kZW9yZC4gVGFrLic7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ0hhciBkdSBtaXN0ZXQgZGl0IGtvZGVvcmQ/IEluZHRhc3QgZGl0IGJydWdlcm5hdm4gaGVyIG9nIGh2aXMgdmkga2FuIGZpbmRlIGRpZyBpIHZvcmVzIGRhdGFiYXNlLCB2aWwgdmkgc2VuZGUgZGlnIGVuIGVtYWlsIG1lZCBpbnN0cnVrdGlvbmVyIHRpbCBodm9yZGFuIGR1IG51bHN0aWxsZXIgZGl0IGtvZGVvcmQuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnRm9yZ290IFBhc3N3b3JkIFRlbXBhdGVzJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ01pc3RldCBicnVnZXJuYXZuIHNrYWJlbG9uJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0VnZW5za2FiZW4gJXMgaWtrZSBmdW5kZXQnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ0VnZW5za2FiZXIgZnVuZGV0JzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdUaWxmJm9zbGFzaDtqIGVnZW5za2FiJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdFdCBuJm9zbGFzaDtkdmVuZGlndCBmZWx0ICglcykgdmFyIHRvbXQnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdJbmR0YXN0IGV0IG55dCBrb2Rlb3JkIGhlciBmb3IgYXQgJmFlbGlnO25kcmUgZGl0IGtvZGVvcmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdEdSBlciBpa2tlIGxvZ2dldCBpbmQnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ0luZHN0aWxsaW5nZXInOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZXJpbmcnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdEZW5uZSBrb250byBlciB1ZGwmb3NsYXNoO2JldCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnSW1wcm9wZXIgZW1haWwgYWRkcmVzcyBmb3JtYXR0aW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnVWd5bGRpZyB1ZGwmb3NsYXNoO2JzZGF0byc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3Igc2V0dGluZyBwcm9wZXJ0eSAlcyBmb3IgdXNlciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ1VneWxkaWcgZ3J1cHBlIGlkICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnU2tqdWx0IGZlbHQgbWFyayZvc2xhc2g7cic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnU2tqdWx0IGZlbHQgZmFydmUnOwokbGFuZ1snaGlkZGVuJ10gPSAnU2tqdWx0JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFbiBlZ2Vuc2thYiBtZWQgZGV0IG5hdm4gZXIgYWxsZXJlZGUgZGVmaW5lcmV0JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0RlciBlciBpa2tlIGRlZmluZXJldCBub2dlbiBlZ2Vuc2thYmVyJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnRGVyIGVyIGlra2UgdmFsZ3Qgbm9nZW4gZWdlbnNrYWJlciBmb3IgZGVubmUgZ3J1cHBlJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnRGVyIGVyIGlra2UgZGVmaW5lcmV0IG5vZ2VuIGdydXBwZXInOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcnVwcGVyIGZ1bmRldCc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnQnJ1Z2VyZW4gc2thbCB2JmFlbGlnO3JlIG1lZGxlbSBhZiBtaW5kc3QgZW4gZ3J1cHBlJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdLciZhZWxpZzt2IG1lZGxlbXNrYWIgYWYgbWluZHN0IGVuIGdydXBwZSc7CiRsYW5nWydiYWNrJ10gPSAnVGlsYmFnZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgZXIgZXQgcCZhcmluZztrciZhZWxpZzt2ZXQgZmVsdCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFyayZlYWN1dGU7ciBwJmFyaW5nO2tyJmFlbGlnO3ZlZGUgZmVsdGVyIG1lZCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdGcmVtaCZhZWxpZzt2IHAmYXJpbmc7a3ImYWVsaWc7dmVkZSBmZWx0ZXIgbWVkJzsKJGxhbmdbJ25leHQnXSA9ICdOJmFlbGlnO3N0ZSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0VuIGdydXBwZSBtZWQgZGV0IG5hdm4gZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1AmYXJpbmc7a3ImYWVsaWc7dmV0IGZlbHQnOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdWYWxnZnJpdCc7CiRsYW5nWydvZmYnXSA9ICdGcmEnOwokbGFuZ1snc2l6ZSddID0gJ1N0Jm9zbGFzaDtycmVsc2UnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbXVtIHNpemUgb2YgYW55IG9uZSBkaW1lbnNpb24gb2YgdGhlIGltYWdlIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTCZhZWxpZztuZ2RlJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KHRlZ24gaSB0ZWtzdCBpbnB1dCknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ0Ryb3Bkb3duIG9wdGlvbnMsIHNlcGFyYXRlZCBieSBsaW5lIGJyZWFrcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmVsdCB0YXR1cyc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdBc2sgaW4gTG9zdDxici8+VXNlcm5hbWUnOwokbGFuZ1sndGV4dCddID0gJ1Rla3N0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aSBTZWxlY3QgTGlzdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwgYWRyZXNzZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0b21yJmFyaW5nO2RlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWZWxrb21tZW4nOwokbGFuZ1snbG9nb3V0J10gPSAnTG9nIHVkJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdCZW55dCBkZXR0ZSBncnVwcGUgbmF2bic7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICcmQUVsaWc7bmRyZSBtaW5lIGluZHN0aWxsaW5nZXInOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdMb2dpbiBmZWpsZWRlIC0gdWd5bGRpZ3QgYnJ1Z2VybmF2biBlbGxlciBrb2Rlb3JkPyc7CiRsYW5nWydsb2dpbiddID0gJ0xvZyBpbmQnOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdMb2cgaW5kIGtuYXAgbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdLb2Rlb3JkJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnSHVzayBtaWcgcCZhcmluZzsgZGVubmUgY29tcHV0ZXInOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3RyJmVhY3V0ZTtyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnR2xlbXQgZGl0IGtvZGVvcmQ/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0dsZW10IGRpbmUgb3BseXNuaW5nZXI/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnRGVmYXVsdHMnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdTa2FiZWxvbic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdCcnVnZXIgSUQgaWtrZSBmdW5kZXQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVnZXJuYXZuICglcykgZXIgYWxsZXJlZGUgaSBicnVnJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdCZW55dCBTTVRQIHRpbCBhdCB2YWxpZGVyZSBlbWFpbC1hZHJlc3Nlcj8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW11bSBsJmFlbGlnO25nZGUgYWYga29kZW9yZCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYWtzaW1hbCBsJmFlbGlnO25nZGUgYWYga29kZW9yZCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbXVtIGwmYWVsaWc7bmdkZSBhZiBicnVnZXJuYXZuJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01ha3NpbWFsIGwmYWVsaWc7bmdkZSBhZiBicnVnZXJuYXZuJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gdWRlbCZvc2xhc2g7YmVyIGVmdGVyIChpc2VrdW5kZXIpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdCcnVnIGNvb2tpZXMgdGlsIGF0IGhvbGRlIGxpdiBpIGxvZ2luJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnVGlsbGFkIGVtYWlsIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnU3RhbmRhcmQgZ3J1cHBlIGZvciBueWUgYnJ1Z2VyZSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ0NoYW5nZSBTZXR0aW5ncyBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnS29kZW9yZGVuZSB2YXIgaWtrZSBlbnMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVWd5bGRpZ3QgYnJ1Z2VybmF2bic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdVZ3lsZGlndCBrb2Rlb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWcmZWFjdXRlO3IgYnJ1Z2VyJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnR3lsZGlnJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnRGVubmUgYnJ1Z2VyIGVyIGlra2UgbWVkbGVtIGFmIG5vZ2VuIGdydXBwZXInOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ0luZ2VuIGVnZW5za2FiZXInOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdBdHRlbXB0IHRvIGltcG9ydCBkdXBsaWNhdGUgcHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1YmYWVsaWc7cmRpJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBwZXInOwokbGFuZ1sncHJvcGVydGllcyddID0gJ0VnZW5za2FiZXInOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOYXZuIHAmYXJpbmc7IGVnZW5za2FiJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1YmYWVsaWc7cmRpIGZvciBlZ2Vuc2thYic7CiRsYW5nWydhZGQnXSA9ICdUaWxmJm9zbGFzaDtqJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3JpZSc7CiRsYW5nWydlZGl0J10gPSAnUmVkaWcmZWFjdXRlO3InOwokbGFuZ1snZXhwaXJlcyddID0gJ1VkbCZvc2xhc2g7YmVyJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZmljZXIgZGF0byc7CiRsYW5nWycxMmhycyddID0gJzEyIHRpbWVyJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgdGltZXInOwokbGFuZ1snNDhocnMnXSA9ICc0OCB0aW1lcic7CiRsYW5nWycxd2VlayddID0gJzEgdWdlJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdWdlcic7CiRsYW5nWycxbW9udGgnXSA9ICcxIG0mYXJpbmc7bmVkJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIG0mYXJpbmc7bmVkZXInOwokbGFuZ1snNm1vbnRocyddID0gJzYgbSZhcmluZztuZWRlcic7CiRsYW5nWycxeWVhciddID0gJzEgJmFyaW5nO3InOwokbGFuZ1snbmV2ZXInXSA9ICdBbGRyaWcnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdLb2Rlb3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnSWdlbic7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnRW4gZ3J1cHBlIG1lZCBkZXQgbmF2biBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ1JlZGlnJmVhY3V0ZTtyIGdydXBwZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbmRzZW5kJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsbGVyJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1NsZXQnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZGV0dGUgZXIgZGUgcmlndGlnZSBpbmRzdGlsbGluZ2VyIGZvciBkZW5uZSBncnVwcGU/IEh2aXMgZHUgZmplcm5lciBlbiBlZ2Vuc2thYiBoZXIsIHZpbCBkZXQgaWtrZSBzbGV0dGUgZWdlbnNrYWJlcm5lIGkgZGF0YWJhc2VuIGZvciBkZW5uZSBncnVwcGUuIERlIHZpbCBibG90IHYmYWVsaWc7cmUgdXRpbGcmYWVsaWc7bmdlbGlnZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGdydXBwZT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGVnZW5za2FiIGZ1bGRzdCZhZWxpZztuZGlndD8gSHZpcyBkdSBzbGV0dGVyIGRlbiB2aWwgZGV0IG9ncyZhcmluZzsgc2xldHRlIGJydWdlcmluZHNsYWcgbWVkIGRlbm5lIGVnZW5za2FiLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdVdGlsc3RyJmFlbGlnO2trZWxpZ2UgcGFyYW1ldHJlJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdQcm9ibGVtZXIgbWVkIGF0IHRpbGYmb3NsYXNoO2plIGVuIGVnZW5za2FiJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nXSA9ICdQcm9ibGVtZXIgbWVkIGF0IHRpbGYmb3NsYXNoO2plIGVuIGdydXBwZSByZWxhdGlvbic7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibGVtZXIgbWVkIGF0IHRpbGYmb3NsYXNoO2plIGVuIGdydXBwZSc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsZW1lciBtZWQgYXQgdGlsZiZvc2xhc2g7amUgZW4gYnJ1Z2VyIHRpbCBlbiBncnVwcGUnOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eSddID0gJ1Byb2JsZW1lciBtZWQgYXQgc2xldHRlIGVuIGVnZW5za2FiJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnS3VubmUgaWtrZSBmaW5kZSBlbiBlbWFpbCBhZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdEZXIgZXIgaWtrZSBza3JpdmUtcmV0dGlnaGVkZXIgdGlsIGRlc3RpbmF0aW9ucy1tYXBwZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ1VneWxkaWdlIHBhcmFtZXRyZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0t1bm5lIGlra2UgZmluZGUgbm9nZW4gZ3J1cHBlcic7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FudmVuZCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0JydWdlcm5hdm4nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdCZXNrcml2ZWxzZSc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdHcnVwcGVuYXZuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FkZ2FuZyBuJmFlbGlnO2d0ZXQnOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnVGlsZiZvc2xhc2g7aiBncnVwcGUnOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdJbXBvcnQmZWFjdXRlO3IgZ3J1cHBlJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdUaWxmJm9zbGFzaDtqIGJydWdlcic7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnQnJ1Z2VyZSBtZWQgZGV0IGFuZ2l2bmUga3JpdGVyaWUnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcnVwcGUnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWJmFlbGlnO2xnIGdydXBwZSc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdSZWdpc3RyZXJpbmdzIHNrYWJlbG9uJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ0xvZ291dCBza2FiZWxvbic7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ0xvZ2luIHNrYWJlbG9uJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnSW5kc3RpbGxpbmdlcic7CiRsYW5nWyd1c2VycyddID0gJ0JydWdlcmUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ21lbnQnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNYW5hZ2UgRnJvbnRlbmQgVXNlcnMnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1N0YW5kYXJkIGZvcnNpZGUnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1NpZHN0IHRpbGcmYXJpbmc7ZWRlIHNpZGUnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnQW5kZW4gc2lkZTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdTa3JpdiB0ZWtzdGVuIHAmYXJpbmc7IGJpbGxlZGV0JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4wLjAuMSAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjAgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCByZWxlYXNlPC9saT4NCjxsaT4wLjEuMSAtIE9jdG9iZXIsIDIwMDUgLSBGaXhlZCBpc3N1ZXMgd2l0aCBwcm9wZXJ0aWVzPC9saT4NCjxsaT4wLjEuMiAtIE9jdG9iZXIsIDIwMDUgLSBBZGRlZCBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eTwvbGk+DQo8bGk+PHA+MC4xLjMgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgcmVkaXJlY3QgcGFnZSBvbiBsb2dpbiwgbG9nb3V0LCBmb3Jnb3QgcGFzc3dvcmQsIGFuZCBjaGFuZ2Ugc2V0dGluZ3MsIGFuZCBhZGRlZCB0aGUgcmV0dXJudG8gYW5kIGZvcm0gcGFyYW1ldGVycyB0byB0aGUgdXNlciBzaWRlIG9mIHRoaW5ncywgYWxzbyBkaWQgYSBjb3VwbGUgbGYgbGl0dGxlIGNsZWFudXBzLiAgVGhpcyB2ZXJzaW9uIHJlcXVpcmVzIHYwLjExIGFuZCBhYm92ZSBmb3IgY2VydGFpbi48L3A+PC9saT4NCjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPg0KPGxpPjxwPjAuMS41IC0gTm92ZW1iZXIsIDIwMDU8L3A+DQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS42IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPkNoYW5nZXMgdG8gdGhlIHBlcm1pc3Npb24gbW9kZWwsIGFuZCBtaW5vciBidWcgZml4ZXMgdG8gdGhlIHByZWZlcmVuY2VzLiAgQWxzbyBzb21lIHBocDUgZml4ZXMgYnV0IEkgYW0gc3VyZSB0aGF0IHRoZXJlIGFyZSBtb3JlIG91dCB0aGVyZS48L3A+PC9saT4NCjxsaT48cD4wLjEuNyAtIEphbnVhcnksIDIwMDY8cD4NCiAgICA8cD5NYW55IHRoYW5rcyB0byA8Yj5rYXRvbjwvYj4gZm9yIGFkZGluZyB0aGUgdGV4dGFyZWEgYW5kIGRyb3Bkb3duIHByb3BlcnR5IHR5cGVzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgcHJvcGVydHkgYWRkaW5nIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHNwYWNlcyBpbiBwcm9wZXJ0eSBuYW1lcyAod2Ugbm8gbG9uZ2VyIGxldCB0aGF0IGhhcHBlbikuPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMCAtIEZlYnJ1YXJ5LCAyMDA2PHA+DQogICAgPHA+QWRkZWQgZmlsdGVyaW5nIGFuZCByb3cgbGltaXRpbmcgdG8gdGhlIGFkbWluIHBhbmVsLiBUaGlzIHdpbGwgaGF2ZSBiaWcgYmVuZWZpdHMgdG8gdGhvc2UgdGhhdCBhcmUgdXNpbmcgdGhpcyBtb2R1bGUgZm9yIGhpZ2ggdHJhZmljLCBhbmQgaGlnaCB1c2VyIHNpdGVzLjwvcD4NCiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4NCiAgICA8cD5BZGRlZCBtYXggbGVuZ3RoIGFiaWxpdHkgdG8gdGV4dCBhbmQgZW1haWwgZmllbGRzPC9wPg0KICAgIDxwPkZpeGVkIGEgc21hbGwgcHJvYmxlbSB3aXRoIHRoZSBkZWZhdWx0IGdyb3VwIG5vdCBiZWluZyBjaGVja2VkIHdoZW4gYWRkaW5nIGEgdXNlcjwvcD4NCiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+DQogICAgPHA+RGVsZXRlIHVzZXIgcHJvcGVydGllcyB3aGVuIGEgcHJvcGVydHkgaXMgZGVsZXRlZCA8ZW0+Tm90ZTwvZW0+LCBub3Qgd2hlbiBpdCBpcyBkaXNhYmxlZCBpbiB0aGUgZWRpdCBncm91cCBkaWFsb2c8L3A+DQogICAgPHA+QWRkIGNvbmZpcm1hdGlvbiBtZXNzYWdlIGluIGVkaXQgZ3JvdXBzLjwvcD4NCiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+DQogICAgPHA+QWRkZWQgQ1NWIEV4cG9ydCBvcHRpb248L3A+DQogICAgPHA+VG9kbyAtIEFkZCBwcmVmZXJlbmNlcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkbGVuZ3RoPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMSAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXM8L3A+DQogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4NCiAgICA8cD5BZGQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcHJlZmVyZW5jZXMgc3VibWl0IGJ1dHRvbjwvcD4NCiAgICA8cD5GaXhlZCBhIG1pbm9yIGJ1ZyB3aGVuIGNvdXRpbmcgdGhlIG51bWJlciBvZiB1c2VycyBpbiBhIGdyb3VwPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+DQogICAgPHA+QWRkZWQgYWR2YW5jZWQgZmlsdGVyaW5nIG9uIHByb3BlcnRpZXM8L3A+DQogICAgPHA+Q2hhbmdlcyB0byBsYWJlbGluZyBpbiBhZGQgb3IgZWRpdCB1c2VyPC9wPg0KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+DQogICAgPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4yIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5Nb3JlIGZpZWxkIGxlbmd0aCBmaXhlczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjMgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPkV4cG9ydCB0byBzbWFydHkgYWxsIG9mIHRoZSB1c2VyIHByb3BlcnRpZXMgd2hlbiB0aGV5IGFyZSBsb2dnZWQgaW48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC40IC0gTWF5LCAyMDA2PHA+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGV4cG9ydCBjb2RlPC9wPg0KICAgIDxwPkNvZGUgY2xlYW51cCAoYWxwaGFiZXRpemUgZnVuY3Rpb25zKTwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+DQogICAgPHA+UmVtb3ZlZCB0aGUgcmVxdWlyZW1lbnQgZm9yIENNUyAwLjEyLCBhbmQgcHV0IGl0IGJhY2sgdG8gMC4xMS4yPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBcJiMwMzk7c2lsZW50XCYjMDM5OyBmb3JtPC9wPg0KICAgIDxwPkNsZWFuZWQgdXAgZGF0YWJhc2UgYWNjZXNzIHN0dWZmIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChob3BlZnVsbHkpPC9wPg0KICAgIDxwPkFkZGVkIGNvcHlyaWdodCBpbmZvPC9wPg0KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4NCiAgICA8cD5Ud2Vha3MgdG8gdGhlIGFkbWluIHByZWZlcmVuY2VzIHRhYjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjUgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZXhwaXJ5IGRhdGVzPC9wPg0KICAgIDxwPlN0YXJ0IHNwbGl0dGluZyB0aGUgY29kZSB1cCBpbnRvIHNldmVyYWwgZmlsZXM8L3A+DQo8bGk+PHA+MS4wLjYgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4wIC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkV2ZW50czwvcD4NCiAgICA8cD5PcHRpb25hbGx5IGRpc2FsbG93IHJlcGVhdGVkIGxvZ2luczwvcD4NCiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPg0KICAgIDxwPkFkZGVkIG9wdGlvbmFsbHkgXHskZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4xIC0gU2VwdCwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIGJ1ZyB3aGVuIGEgdXNlciB3YXMgZWRpdGluZyBoaXMgc2V0dGluZ3Mgd2l0aCBcJiMwMzk7YWxsb3cgZHVwbGljYXRlIGVtYWlsc1wmIzAzOTsgd2FzIG9mZjwvcD4NCiAgICA8cD5DaGFuZ2VkIHRoZSBkcm9wZG93biB0YWJsZSB0byAyNTUgY2hhcmFjdGVyczwvcD4NCiAgICA8cD5NaW5vciBjbGVhbnVwczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjIgLSBEZWMsIDIwMDY8L3A+DQogICAgPHA+Rml4ZXMgKGhvcGVmdWx5KSB0byB0aGUgYWRvZGIvYWRvZGItbGl0ZSBEQVRFVElNRSBpc3N1ZTwvcD4NCiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+DQogICAgPHA+Rml4ZXMgdG8gY2FuY2VsIGhhbmRsaW5nIG9uIHRoZSBsb3N0IHBhc3N3b3JkIGFuZCBjaGFuZ2Ugc2V0dGluZ3Mgc2NyZWVuczwvcD4NCiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgZHVwbGljYXRlIHBhc3N3b3JkIHJlbWluZGVyIHJlcXVlc3RzIGFuZCB0byBzcGVjaWZ5IHRleHQgb24gdGhlIHNpZ25pbiBidXR0b24uICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+DQogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbWFpbCBmaWVsZCBpbiB0aGUgY2hhbmdlIHBhc3N3b3JkIGZvcm08L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+DQo8L2xpPg0KICAgIDxsaT48cD4xLjIuMCAtIEFwcmlsLCAyMDA3PC9wPg0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4NCjxwPjEuMi4xIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmcXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzLCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIxMDI0MjY1OC4yNi4xNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzI1NzMyOTQwLjEyMDU0ODk4NDIuMTIxMDI0MjY1OC4xMjEwOTUyNTY3LjI3JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ0JlbnV0emVyLUJlYXJiZWl0dW5nJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnS2VpbmUgSW5saW5lLUZvcm11bGFyZSB2ZXJ3ZW5kZW4nOwokbGFuZ1snaW5mb19sb3N0dW4nXSA9ICdLbGlja2VuIFNpZSBoaWVyLCB3ZW5uIFNpZSBzaWNoIG5pY2h0IG1laHIgYW4gZGllIERldGFpbHMgSWhyZXIgQW5tZWxkdW5nIGVyaW5uZXJuIGsmb3VtbDtubmVuJzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdLbGlja2VuIFNpZSBoaWVyLCB3ZW5uIFNpZSBzaWNoIG5pY2h0IG1laHIgYW4gSWhyIFBhc3N3b3J0IGVyaW5uZXJuIGsmb3VtbDtubmVuJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnWnVtIEFibWVsZGVuIGhpZXIga2xpY2tlbic7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnS2xpY2tlbiBTaWUgaGllciwgdW0gSWhyIFBhc3N3b3J0IG9kZXIgYW5kZXJlIEluZm9ybWF0aW9uZW4genUgJmF1bWw7bmRlcm4uJzsKJGxhbmdbJ3ZpZXd1c2VyX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgZGllIEJlbnV0emVyLUFuemVpZ2UnOwokbGFuZ1snZXZlbnQnXSA9ICdFcmVpZ25pcyc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnRkVVLUVyZWlnbmlzLUJlbmFjaHJpY2h0aWd1bmdlbic7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX2FkZHJlc3MnXSA9ICdFbWFpbC1BZHJlc3NlIGYmdXVtbDtyIEJlbmFjaHJpY2h0aWd1bmdlbic7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgRW1haWwtQmVuYWNocmljaHRpZ3VuZ2VuJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCddID0gJ0JldHJlZmYgZGVyIEVtYWlsLUJlbmFjaHJpY2h0aWd1bmcnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbC1CZW5hY2hyaWNodGlndW5nZW4nOwokbGFuZ1snT25Mb2dpbiddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIHNpY2ggZWluIEJlbnV0emVyIGFubWVsZGV0JzsKJGxhbmdbJ09uTG9nb3V0J10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gc2ljaCBlaW4gQmVudXR6ZXIgYWJtZWxkZXQnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplci1TZXNzaW9uIGFibCZhdW1sO3VmdCc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXJrb250byBuZXUgZXJzdGVsbHQgd3VyZGUnOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVya29udG8gZ2VsJm91bWw7c2NodCB3dXJkZSc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBCZW51dHplcmRhdGVuIGFrdHVhbGlzaWVydCB3dXJkZW4nOwokbGFuZ1snT25DcmVhdGVHcm91cCddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbmUgQmVudXR6ZXJncnVwcGUgbmV1IGVyc3RlbGx0IHd1cmRlJzsKJGxhbmdbJ09uRGVsZXRlR3JvdXAnXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW5lIEJlbnV0emVyZ3J1cHBlIGdlbCZvdW1sO3NjaHQgd3VyZGUnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdEaWUgRGF0ZW4genVtIEF1ZmZpbmRlbiB2ZXJsb3JlbmVyIFBhc3N3Jm91bWw7cnRlciB3dXJkZW4gdm9sbHN0JmF1bWw7bmRpZyBlaW5nZWdlYmVuLiBXaXIgaGFiZW4gZWluZW4gQmVudXR6ZXJuYW1lbiBnZWZ1bmRlbiwgZGVyIGRlbiB2b24gSWhuZW4gZWluZ2VnZWJlbmVuIERldGFpbHMgZW50c3ByaWNodC4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ0lociBCZW51dHplcm5hbWUgaXN0JzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ1dpciBlbXBmZWhsZW4gSWhuZW4sIGRpZXNlIEluZm9ybWF0aW9uIGFuIHNpY2hlcmVyIFN0ZWxsZSBhdWZ6dWJld2FocmVuLic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJ10gPSAnU2VpdGVuLUlELy1BbGlhcyBkZXIgU2VpdGUsIGF1ZiBkaWUgbmFjaCBkZW0gJkF1bWw7bmRlcm4gZGVyIEVpbnN0ZWxsdW5nZW4gZ2VzcHJ1bmdlbiB3ZXJkZW4gc29sbCc7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSA9ICdTZWl0ZW4tSUQvLUFsaWFzIGRlciBTZWl0ZSwgYXVmIGRpZSBuYWNoIGRlciBDb2RlcHImdXVtbDtmdW5nIGdlc3BydW5nZW4gd2VyZGVuIHNvbGwgKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0RldGFpbHMtVGVtcGxhdGUgYmVpIHZlcmdlc3NlbmVtIEJlbnV0emVybmFtZW4nOwokbGFuZ1snbG9zdHVuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdCZXN0JmF1bWw7dGlndW5ncy1UZW1wbGF0ZSBiZWkgdmVyZ2Vzc2VuZW0gQmVudXR6ZXJuYW1lbic7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0ZlaGxlcjogTWVociBhbHMgZWluIEJlbnV0emVyLUtvbnRvIGVudHNwcmljaHQgZGVuIGdlc3VjaHRlbiBFaWdlbnNjaGFmdGVuJzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0ZlaGxlcjogS29ubnRlIGRlbiBnZXN1Y2h0ZW4gQmVudXR6ZXIgbmljaHQgZmluZGVuJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdGZWhsZXI6IEtvbm50ZSBrZWluZSBHcnVwcGUgbWl0IGRpZXNlbSBOYW1lbiBmaW5kZW4nOwokbGFuZ1sncmVhZG9ubHknXSA9ICdOdXIgbGVzZW4nOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ0tsYXNzZSB6dXIgQmVhcmJlaXR1bmcgdm9uIEJlbnV0emVybic7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdEdXJjaCBkZW4gQWRtaW5pc3RyYXRvciBhYmdlbWVsZGV0JzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdOdXIgZGllIGFuZ2VtZWxkZXRlbiBCZW51dHplciBhbnplaWdlbic7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnRGllc2VuIEJlbnV0emVyIGFibWVsZGVuJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0JlbnV0emVyLUVpZ2Vuc2NoYWZ0ZW4nOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdCZW51dHplci1HZXNjaGljaHRlJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydGllcmVuJzsKJGxhbmdbJ2NsZWFyJ10gPSAnTCZvdW1sO3NjaGVuJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0JlbnV0emVyZ2VzY2hpY2h0ZSBpbiBlaW5lIEFTQ0lJLURhdGVpIGV4cG9ydGllcmVuJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnRGF0ZW5zJmF1bWw7dHplIGRlciBCZW51dHplcmdlc2NoaWNodGUgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0hhYmVuIFNpZSBJaHJlIFp1Z2FuZ3NkYXRlbiB2ZXJnZXNzZW4/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0dydXBwZW4tRGVmaW5pdGlvbiAodW5kIEVpZ2Vuc2NoYWZ0ZW4pIGFscyBYTUwtRGF0ZWkgZXhwb3J0aWVyZW4nOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ1ZlcndhbHR1bmcgZGVyIEJlbnV0emVyZ2VzY2hpY2h0ZW4nOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWluJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ3Zvbic7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBLZWluZSBCZXNjaHImYXVtbDtua3VuZyAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdFaW5lIFN0dW5kZSBhbHQnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnU2VjaHMgU3R1bmRlbiBhbHQnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnWncmb3VtbDtsZiBTdHVuZGVuIGFsdCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ0VpbmVuIFRhZyBhbHQnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnRWluZSBXb2NoZSBhbHQnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1p3ZWkgV29jaGVuIGFsdCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnRWluZW4gTW9uYXQgYWx0JzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICdEcmVpIE1vbmF0ZSBhbHQnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZWNocyBNb25hdGUgYWx0JzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ0VpbiBKYWhyIGFsdCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcnVwcGllcnVuZyB1bmQgU29ydGllcnVuZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnTWl0IGRlbiB2b3JnZWdlYmVuZW4gS3JpdGVyaWVuICZ1dW1sO2JlcmVpbnN0aW1tZW5kZSBEYXRlbnMmYXVtbDt0emUnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdOYWNoIEJlbnV0emVybmFtZW4gYWJzdGVpZ2VuZCAnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ05hY2ggQmVudXR6ZXJuYW1lbiBhdWZzdGVpZ2VuZCc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnTmFjaCBEYXR1bSBhYnN0ZWlnZW5kJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ05hY2ggRGF0dW0gYXVmc3RlaWdlbmQnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnTmFjaCBFcmVpZ25pc3R5cCBhYnN0ZWlnZW5kJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnTmFjaCBFcmVpZ25pc3R5cCBhdWZzdGVpZ2VuZCc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdOYWNoIElQLUFkcmVzc2UgYWJzdGVpZ2VuZCc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ05hY2ggSVAtQWRyZXNzZSBhdWZzdGVpZ2VuZCc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnS2VpbmUgR2VzY2hpY2h0ZSB2b3JoYW5kZW4nOwokbGFuZ1sncmVzZXQnXSA9ICdadXImdXVtbDtja3NldHplbic7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdHcnVwcGVuIG5hY2ggSVAtQWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0VyZWlnbmlzdHlwZW4tRmlsdGVyJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ1plaWd0IG51ciBFcmVpZ25pc3NlIGFuLCBkaWUgZ2VyaW5nZXIgc2luZCBhbHM6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdTZWl0ZW5saW1pdCc7CiRsYW5nWydmb3InXSA9ICdmJnV1bWw7cic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0JlcmljaHQgenVyIEJlbnV0emVyZ2VzY2hpY2h0ZSc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5iZWthbm50JzsKJGxhbmdbJ3Byb21wdF9pcGFkZHJlc3MnXSA9ICdJUC1BZHJlc3NlJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdFcmVpZ25pcy1UeXAnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnWnVyJnV1bWw7Y2snOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBrb21wbGV0dCc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdaZWlsZW4gdmVyYXJiZWl0ZXQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0ZlaGxlciBhdWZnZXRyZXRlbic7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnRGF0ZW5zJmF1bWw7dHplIGhpbnp1Z2VmJnV1bWw7Z3QnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ0tvbm50ZSBrZWluZSBFaWdlbnNjaGFmdGVuIGYmdXVtbDtyIGRpZSBHcnVwcGUgJXMgZmluZGVuJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnS29ubnRlIGtlaW5lIEFudHdvcnQgdm9tIFNNVFAtU2VydmVyIGJla29tbWVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0RpZSB2b3JnZWdlYmVuZSBEYXRlaSAoJXMpIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ1VuZyZ1dW1sO2x0aWdlciBXZXJ0IGYmdXVtbDtyIGRhcyBMaXN0ZW5mZWxkIG9kZXIgZGFzIEZlbGQgenVyIE1laHJmYWNoYXVzd2FobCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0RhcyBGZWxkICVzICZ1dW1sO2JlcnNjaHJlaXRldCBkaWUgbWF4aW1hbCBtJm91bWw7Z2xpY2hlIEwmYXVtbDtuZ2UnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQtRmVobGVyIChaZWlsZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdLb25udGUgZGllIEVpZ2Vuc2NoYWZ0c2RlZmluaXRpb24gbmljaHQgYWJydWZlbiAoaW50ZXJuZXIgRmVobGVyKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIGJlaW0gU2V0emVuIGRlciBCZW51dHplcmluZm9ybWF0aW9uJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdLb25udGUga2VpbmUgU3BhbHRlIGZpbmRlbiwgZGllIG1pdCBkZW0gZXJmb3JkZXJsaWNoZW4gRmVsZCAlcyAmdXVtbDtiZXJlaW5zdGltbXQnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdLb25udGUgZiZ1dW1sO3IgZGllIGZlc3RnZWxlZ3RlIEdydXBwZSBrZWluZSBFaWdlbnNjaGFmdGVuIGZpbmRlbic7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnRGFzIEZvcm1hdCBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWkgaXN0IGZhbHNjaCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnS29ubnRlIGRpZSBEYXRlaSBuaWNodCAmb3VtbDtmZm5lbic7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5JbmZvbWF0aW9uZW4genVtIEZvcm1hdCBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWk8L2g0Pg0KPHA+RGllIHp1IGltcG9ydGllcmVuZGUgRGF0ZWkgbXVzcyBpbSBBU0NJSS1Gb3JtYXQgdm9ybGllZ2VuLiBEaWUgZWluemVsbmVuIFdlcnRlIG0mdXVtbDtzc2VuIGR1cmNoIEtvbW1hdGEgZ2V0cmVubnQgc2Vpbi4gSmVkZSBaZWlsZSBpbiBkaWVzZXIgRGF0ZWkgZW50c3ByaWNodCBkZW0gRGF0ZW5zYXR6IGVpbmVzIEJlbnV0emVycyAobWl0IEF1c25haG1lIGRlciBLb3BmemVpbGUsIG1laHIgZGF6dSB3ZWl0ZXIgdW50ZW4pLiBKZWRlIFplaWxlIG11c3MgZGllIGdsZWljaGUgQW56YWhsIGFuIEZlbGRlcm4gZW50aGFsdGVuLiBBdWNoIGRpZSBSZWloZW5mb2xnZSBkZXIgRmVsZGVyIG11c3MgaW4gamVkZXIgWmVpbGUgZ2xlaWNoIHNlaW4uPC9wPg0KPGg1PkRpZSBLb3BmemVpbGU8L2g1Pg0KPHVsPg0KPGxpPkRpZSBlcnN0ZSBaZWlsZSBkZXIgRGF0ZWkgbXVzcyBtaXQgendlaSBSYXV0ZW4gKFwjKSBiZWdpbm5lbi4gSW4gZGllc2VyIFplaWxlIHdlcmRlbiBkaWUgdmVyd2VuZGV0ZW4gRmVsZGVyIGluIGRlciBEYXRlaSBkZWZpbmllcnQuIERpZSBOYW1lbiBkaWVzZXIgRmVsZGVyIHNpbmQgYmVzb25kZXJzIHdpY2h0aWcuIEVpbiBwYWFyIGRlciBGZWxkZXIgc2luZCBQZmxpY2h0ZmVsZGVyIChpbSBmb2xnZW5kZW4gYmVzY2hyaWViZW4pLiBEaWUgYW5kZXJlbiBGZWxkbmFtZW4gbSZ1dW1sO3NzZW4gbWl0IGRlbiBOYW1lbiBkZXIgenVnZW9yZG5ldGVuIEVpZ2Vuc2NoYWZ0ZW4gZGVyIGpld2VpbGlnZW4gQmVudXR6ZXJncnVwcGUgJnV1bWw7YmVyZWluc3RpbW1lbiwgZGVyIGRpZSBCZW51dHplciBoaW56dWdlZiZ1dW1sO2d0IHdlcmRlbiBzb2xsZW4uPC9saT4NCjxsaT5TdGltbWVuIGRpZSBGZWxkZXIgbmljaHQgbWl0IGFsbGVuLCBkZXIgQmVudXR6ZXJncnVwcGUgKGRlciBkaWUgQmVudXR6ZXIgaGluenVnZWYmdXVtbDtndCB3ZXJkZW4gc29sbGVuKSB6dWdlb3JkbmV0ZW4gUGZsaWNodGZlbGRlcm4gJnV1bWw7YmVyZWluLCB3aXJkIGRlciBJbXBvcnQgbWlzc2xpbmdlbi48L2xpPg0KPGxpPkRpZSB6dSBpbXBvcnRpZXJlbmRlIERhdGVpIGthbm4gRmVsZGVyIGVudGhhbHRlbiwgaW4gZGVuZW4gb3B0aW9uYWxlIEVpZ2Vuc2NoYWZ0ZW4gZGVyIGZlc3RnZWxlZ3RlbiBHcnVwcGUgZW50aGFsdGVuIHNpbmQuPC9saT4NCjxsaT5CZWltIEltcG9ydCB3ZXJkZW4gRmVsZGVyIGlnbm9yaWVydCwgZGllIGVudHdlZGVyIHVuYmVrYW5udCBzaW5kIG9kZXIgYXVmIEVpZ2Vuc2NoYWZ0ZW4gdmVyd2Vpc2VuLCBkaWUgZiZ1dW1sO3IgZGllIGZlc3RnZWxlZ3RlIEJlbnV0emVyZ3J1cHBlIG5pY2h0IGFrdGl2aWVydCBzaW5kLjwvbGk+DQo8L3VsPg0KPGg1PkRpZSBEYXRlbiBpbiBkZW4gU3BhbHRlbjwvaDU+DQo8dWw+DQo8bGk+RGFzIEZlbGQgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiAtIGRlciBnZXcmdXVtbDtuc2NodGUgQmVudXR6ZXJuYW1lLg0KICAgIDxwPkRpZXNlcyBGZWxkIG11c3MgaW4gZGVyIEtvcGZ6ZWlsZSBzb3dpZSBpbiBqZWRlciBaZWlsZSBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWkgZW50aGFsdGVuIHNlaW4uIEV4aXN0aWVydCBkZXIgQmVudXR6ZXJuYW1lIGJlcmVpdHMgaW4gZGVyIERhdGVuYmFuaywgd2lyZCBkaWVzZXIgRGF0ZW5zYXR6IG5pY2h0IGltcG9ydGllcnQuPC9wPjwvbGk+DQo8bGk+RGFzIEZlbGQgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiAtIG5vY2ggenUgZXJsZWRpZ2VuPC9saT4NCjxsaT5EYXMgRmVsZCA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gLSBub2NoIHp1IGVybGVkaWdlbjwvbGk+DQo8bGk+TGlzdGVuZmVsZGVyDQogICAgPHA+RGVyIFdlcnQgZGVzIExpc3RlbmZlbGRlcyBpbiBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWkgbXVzcyBlaW5lbiBkZXIgVGV4dHN0cmluZ3MgZW50aGFsdGVuLCBkZXIgaW4gZGVyIExpc3RlbmZlbGRhdXN3YWhsIGRlcyBGcm9udGVuZFVzZXItTW9kdWxzIGFuZ2V6ZWlndCB3aXJkLjwvcD4NCjwvbGk+DQo8bGk+TGlzdGVuZmVsZGVyIG1pdCBNZWhyZmFjaGF1c3dhaGwNCiAgICA8cD5FaW4gTGlzdGVuZmVsZCBtaXQgTWVoZmFjaGF1c3dhaGwgbXVzcyBpbiBkZXIgenUgaW1wb3J0aWVyZW5kZW4gRGF0ZWkgZWluZW4gb2RlciBtZWhyZXJlIGRlciBUZXh0c3RyaW5ncyBlbnRoYWx0ZW4sIGRpZSBpbSBMaXN0ZW5mZWxkIG1pdCBNZWhyZmFjaGF1c3dhaGwgZGVzIEZyb250ZW5kVXNlci1Nb2R1bHMgYW5nZXplaWd0IHdlcmRlbi4gRGllIFdlcnRlIGRpZXNlcyBGZWxkZXMgc2luZCBkdXJjaCBEb3BwZWxwdW5rdCB2b25laW5hbmRlciB6dSB0cmVubmVuLjwvcD4NCjwvbGk+DQo8bGk+QmlsZGZlbGRlcg0KICAgIDxwPkJpbGRmZWxkZXIgc2luZCBGZWxkZXIsIGRlcmVuIFNwYWx0ZW5uYW1lIG1pdCBlaW5lciBFaWdlbnNjaGFmdCB2b20gVHlwIEJpbGQgJnV1bWw7YmVyZWluc3RpbW10LiBXZW5uIGRpZXNlcyBGZWxkIGVpbiBQZmxpY2h0ZmVsZCBkZXJqZW5pZ2VuIEdydXBwZSBpc3QsIGRlciBkaWUgQmVudXR6ZXIgaGluenVnZWYmdXVtbDtndCB3ZXJkZW4gc29sbGVuLCBkYW5uIG11c3MgZWluIEJpbGQgbWl0IGRlbSwgaW4gZGllc2VyIFNwYWx0ZSBhbmdlZ2ViZW5lbiBOYW1lbiBpbSAvdXBsb2Fkcy1WZXJ6ZWljaG5pcyB2b24gQ01TIG1hZGUgc2ltcGxlIHZvcmhhbmRlbiBzZWluLiBXZW5uIGRhcyBCaWxkIG5pY2h0IGV4aXN0aWVydCB1bmQgZGFzIEZlbGQgYWxzIFBmbGljaHRmZWxkIGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGVyIERhdGVuc2F0eiBuaWNodCBpbXBvcnRpZXJ0LjwvcD4NCjwvdWw+DQo8aDU+SGlud2Vpc2U8L2g1Pg0KPHA+RGVyIEVyZm9sZyBkZXMgSW1wb3J0cHJvemVzc2VzIGthbm4gdm9uIHZlcnNjaGllZGVuZW4gQmVzY2hyJmF1bWw7bmt1bmdlbiBJaHJlcyBQcm92aWRlcnMgKHdpZSBldHdhIFNwZWljaGVyYmVzY2hyJmF1bWw7bmt1bmdlbiwgVmVyYXJiZWl0dW5nc3plaXRlbiwgR3Imb3VtbDsmc3psaWc7ZSBkZXIgaG9jaHp1bGFkZW5kZW4gRGF0ZWkgdW5kIHNhZmUgbW9kZS1CZXNjaHImYXVtbDtua3VuZ2VuKSBiZWVpbnRyJmF1bWw7Y2h0aWd0IHdlcmRlbi4gSmVkZXIgZGllc2VyIEJlc2NociZhdW1sO25rdW5nZW4ga2FubiBkZW4gZXJmb2xncmVpY2hlbiBJbXBvcnQgdmVyaGluZGVybi4gQXVmZ3J1bmQgZGVzc2VuIGlzdCBlcyBlbXBmZWhsZW5zd2VydCwgamV3ZWlscyBudXIga2xlaW5lcmUgRGF0ZWllbiBtaXQgZWluZmFjaGVyIFN0cnVrdHVyIHp1IGltcG9ydGllcmVuLjwvcD4NCjxwPlVtIGRlbiBWZXJsdXN0IGRlciBEYXRlbmJhbmsgZHVyY2ggZWluZSBCZXNjaCZhdW1sO2RpZ3VuZyB6dSB2ZXJtZWlkZW4sIGlzdCBlcyBkZXN3ZWl0ZXJlbiBlbXBmZWhsZW5zd2VydCwgVk9SIGRlbSBJbXBvcnQgZWluZSBTaWNoZXJ1bmdza29waWUgZGVyIERhdGVuYmFuayB6dSBlcnN0ZWxsZW4uPC9wPg0KPGg1PkVpbiBCZWlzcGllbCBmJnV1bWw7ciBlaW5lIEltcG9ydGRhdGVpPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLFZvcm5hbWUsTmFjaG5hbWUsRW1haWwsU3RhZHQsQnVuZGVzbGFuZCxTdGFhdCxQTFoNCkJlbnV0emVyMSxUZXN0LEJlbnV0emVyLGJlbnV0emVyMUBtZWluZWRvbWFpbi5kZSxpcmdlbmR3byxTTixERSwwMTIzNA0KPC9wcmU+JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdCZW51dHplciBpbiBkaWVzZSBHcnVwcGUgaW1wb3J0aWVyZW4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnQ1NWLURhdGVpIGVpbmdlYmVuJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnWE1MLURhdGVpIGVpbmdlYmVuJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0JlbnV0emVyIGV4cG9ydGllcmVuJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0JlbnV0emVyIGltcG9ydGllcmVuJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ1ppZWxwZmFkIGYmdXVtbDtyIGRhcyBCaWxkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnRXMgaXN0IGVpbiBQcm9ibGVtIG1pdCBlaW5lciBmZWhsZW5kZW4sIGFiZXIgZXJmb3JkZXJsaWNoZW4gKGhvY2h6dWxhZGVuZGVuKSBEYXRlaSBhdWZnZXRyZXRlbic7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnS29ubnRlIGRpZSBhbmdlZ2ViZW5lIFhNTC1EYXRlaSBuaWNodCB2ZXJhcmJlaXRlbic7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnRGllIEdydXBwZSBrb25udGUgbmljaHQgZ2VsJm91bWw7c2NodCB3ZXJkZW4sIGRhIHNpZSBub2NoIEJlbnV0emVyIGVudGgmYXVtbDtsdC4nOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0RpZXNlciBCZW51dHplciBpc3QgYmVyZWl0cyBhbmdlbWVsZGV0JzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0RlciBUZXh0IGF1cyBkZW0gQmlsZCB3dXJkZSBuaWNodCByaWNodGlnIGVpbmdlZ2ViZW4nOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ0RlbiBCZW51dHplcm4gZXJsYXViZW4sIHNpY2ggbWVociBhbHMgZWlubWFsIGFuenVtZWxkZW4nOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ05hbWVuc2Vyd2VpdGVydW5nZW4gZiZ1dW1sO3IgQmlsZGVyLCBkaWUgZGVyIEJlbnV0emVyIGhvY2hsYWRlbiBkYXJmJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkF1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbiBCZW51dHplcmtvbnRvIGdlbCZvdW1sO3NjaHQgd3VyZGU8L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIGRlciBCZW51dHplcm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyLUlEPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkF1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbiBCZW51dHplcmtvbnRvIG5ldSBlcnN0ZWxsdCB3dXJkZTwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIEJlbnV0emVybmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBkaWUgQmVudXR6ZXItSUQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gQmVudXR6ZXJkYXRlbiBha3R1YWxpc2llcnQgd3VyZGVuIChlbnR3ZWRlciBkdXJjaCBpaG4gc2VsYnN0IG9kZXIgZHVyY2ggZGVuIEFkbWluaXN0cmF0b3IpPC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIGRlciBCZW51dHplcm5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyLUlEPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplcmdydXBwZSBuZXUgZXJzdGVsbHQgd3VyZGU8L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gZGVyIEJlbnV0emVyZ3J1cHBlbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBkaWUgQmVzY2hyZWlidW5nIGRlciBCZW51dHplcmdydXBwZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBkaWUgQmVudXR6ZXJncnVwcGVuLUlEPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplcmdydXBwZSBnZWwmb3VtbDtzY2h0IHd1cmRlPC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIGRlciBCZW51dHplcmdydXBwZW5uYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGRpZSBCZW51dHplcmdydXBwZW4tSUQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BdXNmJnV1bWw7aHJlbiwgd2VubiBzaWNoIGVpbiBCZW51dHplciBhbm1lbGRldDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIElEIGRlcyBhbmdlbWVsZGV0ZW4gQmVudXR6ZXJzPC9saT4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIGRlciBOYW1lIGRlcyBhbmdlbWVsZGV0ZW4gQmVudXR6ZXJzPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIGRpZSBJUC1BZHJlc3NlIGRlcyBDbGllbnRzPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxoMz5PbkxvZ291dDxoMz4NCjxwPkF1c2YmdXVtbDtocmVuLCB3ZW5uIHNpY2ggZWluIEJlbnV0emVyIGFibWVsZGV0PC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBkZXIgTmFtZSBkZXMgYWJnZW1lbGRldGVuIEJlbnV0emVyczwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBkaWUgQmVudXR6ZXItSUQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxoMz5PblNlc3Npb25FeHBpcnk8L2gzPg0KPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplci1TZXNzaW9uIGFibCZhdW1sO3VmdDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIE5hbWUgZGVzIEJlbnV0emVycyBkZXIgYWJnZWxhdWZlbmVuIFNpdHp1bmc8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gZGllIEJlbnV0emVyLUlEIGRlciBhYmdlbGF1ZmVuZW4gU2l0enVuZzwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIHNpY2ggZWluIEJlbnV0emVyIGltIFN5c3RlbSBhbm1lbGRldCc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gc2ljaCBlaW4gQmVudXR6ZXIgaW0gU3lzdGVtIGFibWVsZGV0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplci1TaXR6dW5nIGFibCZhdW1sO3VmdCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbiBuZXVlciBCZW51dHplciBlcnN0ZWxsdCB3dXJkZSc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIGRpZSBJbmZvcm1hdGlvbmVuIHp1IGVpbmVtIEJlbnV0emVyIGFrdHVhbGlzaWVydCB3dXJkZW4nOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXJrb250byBnZWwmb3VtbDtzY2h0IHd1cmRlJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0F1c2YmdXVtbDtocmVuLCB3ZW5uIGVpbmUgQmVudXR6ZXJncnVwcGUgZXJzdGVsbHQgd3VyZGUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluZSBCZW51dHplcmdydXBwZSBnZWwmb3VtbDtzY2h0IHd1cmRlJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdBZG1pbmlzdHJhdGlvbnMtR3J1cHBlJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogRGllIGZvbGdlbmRlbiBNYWtyb3MgayZvdW1sO25uZW4gaW4gZGllc2VuIEZlbGRlcm4gdmVyd2VuZGV0IHdlcmRlbjogeyR1c2VybmFtZX0seyRncm91cH0uIFdlbm4gU2llIGRhcyB7JGdyb3VwfS1NYWtybyB2ZXJ3ZW5kZW4sIGVyc2V0enQgZGFzIFN5c3RlbSBkZW4gTmFtZW4gZGVyIGVyc3RlbiBCZW51dHplcmdydXBwZSwgZGVyIGRlciBCZW51dHplciBhbmdlaCZvdW1sO3J0IHVuZCBsZWl0ZXQgaWhuIGF1ZiBkaWVzZSBTZWl0ZSB3ZWl0ZXIuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdCZWFyYmVpdGVuIFNpZSBkaWVzZXMgRmVsZCwgdW0gZGFzIFBhc3N3b3J0IGRlcyBCZW51dHplcnMgenVyJnV1bWw7Y2t6dXNldHplbi4nOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0JlYXJiZWl0ZW4gU2llIGRpZXNlcyBGZWxkLCB1bSBkYXMgUGFzc3dvcnQgZGVzIEJlbnV0emVycyB6dXImdXVtbDtja3p1c2V0emVuLic7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdFaW4gQmVudXR6ZXIgbWl0IGRpZXNlbSBCZW51dHplcm5hbWVuIGV4aXN0aWVydCBiZXJlaXRzLic7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdWb20gQ1NWLUV4cG9ydCB3dXJkZW4ga2VpbmUgRGF0ZW4genVyJnV1bWw7Y2tnZWdlYmVuLic7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMJmF1bWw7bmdlIGRlcyBCZW51dHplcm5hbWVuLUZlbGRlcyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMJmF1bWw7bmdlIGRlcyBQYXNzd29ydC1GZWxkZXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ0JlaW0gVW50ZXItLyZVdW1sO2JlcnNjaHJlaXRlbiBkaWVzZXIgTCZhdW1sO25nZSBpc3QgZGFzIFBhc3N3b3J0IHVuZyZ1dW1sO2x0aWcuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdCZWltIFVudGVyLS8mVXVtbDtiZXJzY2hyZWl0ZW4gZGllc2VyIEwmYXVtbDtuZ2UgaXN0IGRlciBCZW51dHplcm5hbWUgdW5nJnV1bWw7bHRpZy4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ1VuZyZ1dW1sO2x0aWdlIEVtYWlsLUFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdGJnV1bWw7ciBkaWVzZXMgQmVudXR6ZXJrb250byB3dXJkZSBrZWluZSBFbWFpbGFkcmVzc2UgZ2VmdW5kZW4uJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIGJlaW0gU2V0emVuIGRlciBCZW51dHplcmluZm9ybWF0aW9uZW4nOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlbSBiZWltIFNldHplbiBkZXIgRWlnZW5zY2hhZnRlbic7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnQmVudXR6ZXIgJXMgPSAlcyBoaW56dWdlZiZ1dW1sO2d0JzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ0JlbnV0emVyIG1pdCBkZXIgdWlkPSVzIGdlbCZvdW1sO3NjaHQnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdFaWdlbnNjaGFmdCc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnV2VydCAocmVndWwmYXVtbDtyZXIgQXVzZHJ1Y2spJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnV2FybnVuZzogRGllc2UgRmVsZGVyIGJlZWluZmx1c3NlbiBkaWUgR3Imb3VtbDsmc3psaWc7ZSBkZXIgRWluZ2FiZWZlbGRlciBpbiBGb3JtdWxhcmVuLiAgRGllIFZlcnJpbmdlcnVuZyBkaWVzZXIgWmFobCBpc3QgZGFoZXIgYXVmIGVpbmVyIGJlcmVpdHMgZXhpc3RpZXJlbmRlbiBTZWl0ZSBuaWNodCByYXRzYW0uJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdXb2xsZW4gU2llIHdpcmtsaWNoIGRpZSBFaW5zdGVsbHVuZ2VuICZhdW1sO25kZXJuPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRGllc2UgRW1haWxhZHJlc3NlIGlzdCBiZXJlaXRzIGluIFZlcndlbmR1bmcuJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ0Nvb2tpZXMgZiZ1dW1sO3IgZGllIFNwZWljaGVydW5nIGRlciBBbm1lbGRlLURldGFpbHMgdmVyd2VuZGVuJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnRGVyIE5hbWUgZGVzIENvb2tpZXMnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdFbWFpbC1BZHJlc3NkdXBsaWthdGUgZXJsYXViZW4nOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnRGllIEVtYWlsLUFkcmVzc2UgaXN0IGRlciBCZW51dHplcm5hbWUnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnRXMgd2lyZCB2ZXJzdWNodCwgZGllIGVyZm9sZ3JlaWNoZSBBbm1lbGR1bmcgJnV1bWw7YmVyIGVpbmVuIENvb2tpZSBhdWYgZGVtIFJlY2huZXIgenUgc3BlaWNoZXJuIDxlbT4oZGVyIENvb2tpZSB3aXJkIGJlaSBlbnRzcHJlY2hlbmRlbiBBa3Rpdml0JmF1bWw7dGVuIGF1ZiBkZXIgV2Vic2VpdGUgenVyJnV1bWw7Y2sgZ2VzZXR6dCk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoZXJsYXVidCBtZWhyZXJlbiBCZW51dHplcm4gZGllIE51dHp1bmcgZGVyIGdsZWljaGVuIEVtYWlsYWRyZXNzZSknOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyhkaWUgRW1haWwtQWRyZXNzZSBkZXMgQmVudXR6ZXJzIGlzdCBzZWluIEJlbnV0emVybmFtZSAtLSBzZXR6ZW4gU2llIGRpZXNlIEVpbnN0ZWxsdW5nIG5pZW1hbHMgenVzYW1tZW4gbWl0ICZxdW90O0VtYWlsLUFkcmVzc2R1cGxpa2F0ZSBlcmxhdWJlbiZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnRXJuZXV0ZSBBbmZyYWdlICZxdW90O1Bhc3N3b3J0IHZlcmdlc3NlbiZxdW90OyBlcmxhdWJlbj8nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKGVybGF1YnQgZWluZW0gQmVudXR6ZXIgZGllIGVybmV1dGUgQW5mcmFnZSBhdWYgZGFzIFp1ciZ1dW1sO2Nrc2V0emVuIGRlcyBQYXNzd29ydGVzLCBhdWNoIHdlbm4gZXIgYXVmIGVpbmUgdm9yYW5nZWdhbmdlbmUgWnVyJnV1bWw7Y2tzZXR6dW5nIG5pY2h0IHJlYWdpZXJ0IGhhdCknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdGcm9udGVuZFVzZXItc3BlemlmaXNjaGUgQmVyZWNodGlndW5nZW4gdmVyd2VuZGVuPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsZXJ3ZWlzZSBlbnRzcHJlY2hlbiBkaWUgRkVVc2VycyBCZXJlY2h0aWd1bmdlbiBkZW5lbiBhdXMgZGVyIEFkbWluaXN0cmF0aW9uIHdpZSBldHdhIEJlbnV0emVyIGhpbnp1ZiZ1dW1sO2dlbiwgR3J1cHBlIGhpbnp1ZiZ1dW1sO2dlbiB1c3cuIFdlbm4gU2llIGplZG9jaCBkaWVzZSBPcHRpb24gYXVzdyZhdW1sO2hsZW4sIHdlcmRlbiBmJnV1bWw7ciBkaWUgRnJvbnRlbmRVc2Vycy1CZW51dHplcmtvbnRlbiBzZXBhcmF0ZSBCZXJlY2h0aWd1bmdlbiBnZXNldHp0LiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ0tvbm50ZSBkaWUgaG9jaGdlbGFkZW5lIERhdGVpIG5pY2h0IGZpbmRlbiAoaW50ZXJuZXIgRmVobGVyKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ01pdCBkZXIgaG9jaGdlbGFkZW5lbiBEYXRlaSBpc3QgZWluIFByb2JsZW0gYXVmZ2V0cmV0ZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgbm9jaCBlaW5tYWwuJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ1NpZSBoYWJlbiBrZWluZW4gQmVudXR6ZXJuYW1lbiBlaW5nZWdlYmVuLic7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdTaWUgaGFiZW4gSWhyZSBFbWFpbC1BZHJlc3NlIG5pY2h0IGVpbmdlZ2ViZW4hJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1NpZSBoYWJlbiBrZWluIFBhc3N3b3J0IGVpbmdlZ2ViZW4uJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZFVzZXIgLSBBYm1lbGR1bmcnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnRnJvbnRlbmRVc2VyIC0gQW5tZWxkdW5nJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+QUNIVFVORzwvYj4gV2VubiBTaWUgYmVyZWl0cyBleGlzdGllcmVuZGUgRWlnZW5zY2hhZnRlbiAmYXVtbDtuZGVybiwgZGllIHNjaG9uIEdydXBwZW4genVnZW9yZG5ldCBzaW5kLCBrYW5uIElocmUgU2VpdGUgbSZvdW1sO2dsaWNoZXJ3ZWlzZSB6ZXJzdCZvdW1sO3J0IHdlcmRlbjxpPihiZXNvbmRlcnMsIHdlbm4gU2llIGRpZSBMJmF1bWw7bmdlIGRlciBGZWxkZXIgcmVkdXppZXJlbiwgZXRjKS48L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ0RpZXMgZnVua3Rpb25pZXJ0IE5JQ0hUIHVudGVyIFdpbmRvd3MuJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdFcnN0ZWxsZW4gU2llIE5JRU1BTFMgZWluZSBFaWdlbnNjaGFmdCBmJnV1bWw7ciBlaW5lbiBCZW51dHplcm5hbWVuIG9kZXIgUGFzc3dvcnQuIERpZXMgaXN0IGltIEZyb250RW5kVXNlcnMtTW9kdWwgYmVyZWl0cyBlaW5nZWJhdXQuJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdCZW51dHplciBpbiBlaW5lIENTVi1EYXRlaSBleHBvcnRpZXJlbic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnRpZXJlbic7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnRpZXJlbic7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluaXN0cmF0b3InOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFaWdlbnNjaGFmdCBiZWFyYmVpdGVuJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltYWxlIEwmYXVtbDtuZ2UnOwokbGFuZ1snY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnRpZXJlbiBuYWNoJzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0aWVydW5nJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ0JlbnV0emVyIGluIGRlci9kZW4gYXVzZ2V3JmF1bWw7aGx0ZW4gR3J1cHBlKG4pJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0VyZ2Vibmlzc2UgYmVzY2hyJmF1bWw7bmtlbiBhdWYnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnRiZ1dW1sO3IgZGllc2VuIEJlbnV0emVyIGtvbm50ZSBkYXMgRW1haWwtRmVsZCBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4uIEJpdHRlIGtvbnRha3RpZXJlbiBTaWUgZGVuIFN5c3RlbWFkbWluaXN0cmF0b3IuJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnU2VpdGVuLUlELy1BbGlhcyBmJnV1bWw7ciBkYXMgRm9ybXVsYXIgJnF1b3Q7UGFzc3dvcnQgdmVyZ2Vzc2VuJnF1b3Q7JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnU2VpdGVuLUlELy1BbGlhcyBmJnV1bWw7ciBkYXMgRm9ybXVsYXIgJnF1b3Q7RWluc3RlbGx1bmdlbiAmYXVtbDtuZGVybiZxdW90Oyc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1NlaXRlbi1JRC8tQWxpYXMgZGVyIFNlaXRlLCBhdWYgZGllIG5hY2ggZGVyIEFubWVsZHVuZyBnZXNwcnVuZ2VuIHdlcmRlbiBzb2xsIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnU2VpdGVuLUlELy1BbGlhcyBkZXIgU2VpdGUsIGF1ZiBkaWUgbmFjaCBkZXIgQWJtZWxkdW5nIGdlc3BydW5nZW4gd2VyZGVuIHNvbGwgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdSZWloZW5mb2xnZSBkZXIgU29ydGllcnVuZyc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBbnphaGwgZGVyIEJlbnV0emVybiwgZGllIGlociB2ZXJsb3JlbmVzIFBhc3N3b3J0IHp1ciZ1dW1sO2NrenVzZXR6ZW4gbSZvdW1sO2NodGVuLiBBa3R1ZWxsIHN0ZWh0IGRlciBaJmF1bWw7aGxlciBhdWY6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbiwgZGllICZhdW1sO2x0ZXIgYWxzIGVpbmUgV29jaGUgc2luZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuLCBkaWUgJmF1bWw7bHRlciBhbHMgZWluIE1vbmF0IHNpbmQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnV29sbGVuIFNpZSBkYXMgd2lya2xpY2g/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnU2llIGhhYmVuIGVpbmVuIHVuZyZ1dW1sO2x0aWdlbiBDb2RlIGVpbmdlZ2ViZW47IGJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgbm9jaCBlaW5tYWwuJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdGJnV1bWw7ciBJaHJlIEJlbnV0emVyLUlEIHd1cmRlIGtlaW4gdGVtcG9yJmF1bWw7cmVyIENvZGUgaW4gZGVyIERhdGVuYmFuayBnZWZ1bmRlbi4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBkaWUgQW56ZWlnZSBkZXMgJlV1bWw7YmVycHImdXVtbDtmdW5ncy1Gb3JtdWxhcnMnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIGRpZSBFbWFpbCBiZWkgdmVyZ2Vzc2VuZW0gUGFzc3dvcnQnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VudHdlZGVyIFNpZSBzZWxic3Qgb2RlciBqZW1hbmQgYW5kZXJlcyBoYXQgYmVyZWl0cyBkYXMgWnVyJnV1bWw7Y2tzZXR6ZW4gZGVzIFBhc3N3b3J0cyBmJnV1bWw7ciBkaWVzZSBLb250byBhdXNnZWwmb3VtbDtzdC4gUHImdXVtbDtmZW4gU2llIElocmVuIEVtYWlsLUVpbmdhbmcuIFNpZSBmaW5kZW4gZG9ydCB3ZWl0ZXJlIEFud2Vpc3VuZ2VuIHp1bSBadXImdXVtbDtja3NldHplbiBJaHJlcyBQYXNzd29ydGVzLic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0ZW5iYW5rZmVobGVyJzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ1NpZSBlcmhhbHRlbiBkaWVzZSBOYWNocmljaHQsIGRhIGplbWFuZCBhdWYgdW5zZXJlciBTZWl0ZSBhbmdlZ2ViZW4gaGF0LCBkYXNzIFNpZSBJaHIgUGFzc3dvcnQgdmVybG9yZW4gaGFiZW4uIEZhbGxzIGRpZXMgenV0cmlmZnQsIGxlc2VuIFNpZSBiaXR0ZSBkaWUgd2VpdGVyZW4gQW53ZWlzdW5nZW4uICBXZW5uIFNpZSBrZWluZSBBaG51bmcgaGFiZW4sIHVtIHdhcyBlcyBnZWh0LCBkYW5uIGwmb3VtbDtzY2hlbiBTaWUgc2ljaGVyaGVpdHNoYWxiZXIgZGllc2UgTmFjaHJpY2h0LiBXaXIgYmVkYW5rZW4gdW5zLCBkYXNzIFNpZSBzaWNoIGRpZSBaZWl0IGdlbm9tbWVuIGhhYmVuLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0NvZGUnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnRGVyIGZvbGdlbmRlIENvZGUgd3VyZGUgenVmJmF1bWw7bGxpZyBnZW5lcmllcnQsIHVtIGRhcyBCZW51dHplci1Lb250byB6dSAmdXVtbDtiZXJwciZ1dW1sO2Zlbi4gV2VubiBTaWUgYXVmIGRlbiBmb2xnZW5kZW4gTGluayBrbGlja2VuLCBnZWxhbmdlbiBTaWUgYXVmIGVpbmUgU2VpdGUsIHdvIFNpZSBkaWVzZW4gQ29kZSBlaW5nZWJlbiBtJnV1bWw7c3Nlbi4gTm9ybWFsZXJ3ZWlzZSBlbnRoJmF1bWw7bHQgZGFzIEZlbGQgYmVyZWl0cyBJaHJlbiBDb2RlLiBGYWxscyBhYmVyIG5pY2h0LCBsYXV0ZXQgZGVyIENvZGU6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnRWluIEtsaWNrIGF1ZiBkZW4gZm9sZ2VuZGVuIExpbmsgYnJpbmd0IFNpZSBhdWYgZGllIFdlYnNlaXRlLCB3byBTaWUgZGVuIHVudGVuc3RlaGVuZGVuIENvZGUgZWluZ2ViZW4gdW5kIGRhbWl0IElociBQYXNzd29ydCB6dXImdXVtbDtja3NldHplbiBrJm91bWw7bm5lbjonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1Bhc3N3b3J0IHZlcmxvcmVuJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnRGFzIENNU01haWxlci1Nb2R1bCB3dXJkZSBuaWNodCBnZWZ1bmRlbi4nOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnRWluZSBFbWFpbCBtaXQgSW5mb3JtYXRpb25lbiB6dW0gWnVyJnV1bWw7Y2tzZXR6ZW4gZGVzIFBhc3N3b3J0cyB3dXJkZSBhbiAlcyB2ZXJzYW5kdC4gVmllbGVuIERhbmshJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnU2llIGhhYmVuIElociBQYXNzd29ydCB2ZXJnZXNzZW4gb2RlciB2ZXJsb3Jlbi4gR2ViZW4gU2llIGhpZXIgSWhyZW4gQmVudXR6ZXJuYW1lbiBlaW4uIFdlbm4gd2lyIFNpZSBpbSBTeXN0ZW0gZmluZGVuLCBlcmhhbHRlbiBTaWUgZWluZSBFbWFpbCBtaXQgd2VpdGVyZW4gQW53ZWlzdW5nZW4genVtIFp1ciZ1dW1sO2Nrc2V0emVuIGRlcyBQYXNzd29ydHMuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgdmVyZ2Vzc2VuZSBQYXNzdyZvdW1sO3J0ZXInOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgdmVyZ2Vzc2VuZSBCZW51dHplcm5hbWVuJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0VpZ2Vuc2NoYWZ0ICVzIG5pY2h0IGdlZnVuZGVuJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdFaWdlbnNjaGFmdGVuIGdlZnVuZGVuJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdFaWdlbnNjaGFmdCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0VpbiBlcmZvcmRlcmxpY2hlcyBGZWxkICglcykgd2FyIGxlZXIuJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnVW0gSWhyIFBhc3N3b3J0IHp1ICZhdW1sO25kZXJuLCBnZWJlbiBTaWUgYml0dGUgaGllciBlaW4gbmV1ZXMgUGFzc3dvcnQgZWluLic7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ0VzIHNjaGVpbnQgc28sIGFscyBvYiBTaWUgbmljaHQgYW5nZW1lbGRldCBzaW5kLic7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnRWluc3RlbGx1bmdlbic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJpZXJ1bmcnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdEaWVzZXMgS29udG8gaXN0IGFiZ2VsYXVmZW4nOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ1VuZ2VuYXVlIEZvcm1hdGllcnVuZyBkZXIgRW1haWxhZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnVW5nJnV1bWw7bHRpZ2VzIEFibGF1ZmRhdHVtJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdGZWhsZXIgYmVpbSBTZXR6ZW4gZGVyIEVpZ2Vuc2NoYWZ0ICVzIGYmdXVtbDtyIGRlbiBCZW51dHplciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ1VuZyZ1dW1sO2x0aWdlIEJlbnV0emVyLUlEICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnS2VubnplaWNobnVuZyBkZXMgdmVyYm9yZ2VuZW4gRmVsZGVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdGYXJiZSBkZXMgdmVyYm9yZ2VuZW4gRmVsZGVzJzsKJGxhbmdbJ2hpZGRlbiddID0gJ1ZlcmJvcmdlbic7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnRWluZSBFaWdlbnNjaGFmdCBtaXQgZGllc2VtIE5hbWVuIHd1cmRlIGJlcmVpdHMgZGVmaW5pZXJ0Lic7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdLZWluZSBFaWdlbnNjaGFmdGVuIGRlZmluaWVydCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ0YmdXVtbDtyIGRpZXNlIEJlbnV0emVyZ3J1cHBlIHd1cmRlbiBrZWluZSBFaWdlbnNjaGFmdGVuIGF1c2dldyZhdW1sO2hsdC4nOwokbGFuZ1snbm9ncm91cHMnXSA9ICdFcyB3dXJkZW4gbm9jaCBrZWluZSBHcnVwcGVuIGRlZmluaWVydC4nOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdCZW51dHplcmdydXBwZW4gZ2VmdW5kZW4nOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ0RpZSBNaXRnbGllZHNjaGFmdCBpbiBtaW5kZXN0ZW5zIGVpbmVyIEdydXBwZSBpc3QgZXJmb3JkZXJsaWNoLic7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnRXJmb3JkZXJ0IGRpZSBNaXRnbGllZHNjaGFmdCBpbiBtaW5kZXN0ZW5zIGVpbmVyIEdydXBwZSc7CiRsYW5nWydiYWNrJ10gPSAnWnVyJnV1bWw7Y2snOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGlzdCBlaW4gUGZsaWNodGZlbGQuJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdQZmxpY2h0ZmVsZGVyIGtlbm56ZWljaG5lbiBtaXQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnUGZsaWNodGZlbGRlciBlaW5mJmF1bWw7cmJlbiBtaXQnOwokbGFuZ1snbmV4dCddID0gJ1dlaXRlcic7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0VpbmUgR3J1cHBlIG1pdCBkaWVzZW0gTmFtZW4gZXhpc3RpZXJ0IGJlcmVpdHMuJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnUGZsaWNodGZlbGQnOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdvcHRpb25hbCc7CiRsYW5nWydvZmYnXSA9ICdBdXMnOwokbGFuZ1snc2l6ZSddID0gJ0dyJm91bWw7JnN6bGlnO2UnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIGlyZ2VuZCBlaW5lciBCaWxkZGltZW5zaW9uIGluIFBpeGVsKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMJmF1bWw7bmdlJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KFplaWNoZW4gaW4gZGVyIFRleHRlaW5nYWJlKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnTGlzdGVuZmVsZC1PcHRpb25lbiwgZ2V0cmVubnQgbWl0IFplaWxlbnVtYnImdXVtbDtjaGVuLiBEaWUgV2VydGUgayZvdW1sO25uZW4gbWl0IGEgPSBaZWljaGVuIHZvbSBUZXh0IGdldHJlbm50IHdlcmRlbiwgei5Cc3A6IFdlaWJsaWNoPXcnOwokbGFuZ1sncHJvbXB0J10gPSAnRWluZ2FiZWF1ZmZvcmRlcnVuZyc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cCc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmVsZHN0YXR1cyc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdGcmFnZSBiZWkgdmVyZ2Vzc2VuZW08YnIvPkJlbnV0emVybmFtZW4nOwokbGFuZ1sndGV4dCddID0gJ1RleHQnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdLb250cm9sbGsmYXVtbDtzdGNoZW4nOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNZWhyZmFjaGxpc3RlbmF1c3dhaGwnOwokbGFuZ1snaW1hZ2UnXSA9ICdCaWxkJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwtQWRyZXNzZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRmZWxkJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTGlzdGVuZmVsZCc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dpbGxrb21tZW4nOwokbGFuZ1snbG9nb3V0J10gPSAnQWJtZWxkZW4nOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ0RpZXNlbiBHcnVwcGVubmFtZW4gdmVyd2VuZGVuJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01laW5lIEVpbnN0ZWxsdW5nZW4gJmF1bWw7bmRlcm4nOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdJaHJlIEFubWVsZHVuZyBpc3QgZ2VzY2hlaXRlcnQgLSB1bmcmdXVtbDtsdGlnZXIgQmVudXR6ZXJuYW1lIG9kZXIgdW5nJnV1bWw7bHRpZ2VzIFBhc3N3b3J0Pyc7CiRsYW5nWydsb2dpbiddID0gJ0FubWVsZGVuJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnQmVzY2hyaWZ0dW5nIGRlcyBBbm1lbGRlLUJ1dHRvbnMnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsLUFkcmVzc2UnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFzc3dvcnQnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdBbm1lbGR1bmcgYXVmIGRpZXNlbSBDb21wdXRlciBtZXJrZW4nOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3RyaWVyZW4nOwokbGFuZ1snZm9yZ290cHcnXSA9ICdIYWJlbiBTaWUgSWhyIFBhc3N3b3J0IHZlcmdlc3Nlbj8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnSGFiZW4gU2llIElocmUgQmVudXR6ZXJkYXRlbiB2ZXJnZXNzZW4/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnU3RhbmRhcmQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdEaWUgQmVudXR6ZXItSUQgd3VyZGUgbmljaHQgZ2VmdW5kZW4uJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdEaWVzZXIgQmVudXR6ZXJuYW1lICglcykgd2lyZCBiZXJlaXRzIHZlcndlbmRldC4nOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1NvbGwgU01UUCB2ZXJ3ZW5kZXQgd2VyZGVuLCB1bSBFbWFpbC1BZHJlc3NlbiBhdWYgaWhyZSBHJnV1bWw7bHRpZ2tlaXQgenUgcHImdXVtbDtmZW4/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbmltYWxlIEwmYXVtbDtuZ2UgZGVzIFBhc3N3b3J0cyc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbWFsZSBMJmF1bWw7bmdlIGRlcyBQYXNzd29ydHMnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW1hbGUgTCZhdW1sO25nZSBkZXMgQmVudXR6ZXJuYW1lbnMnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWF4aW1hbGUgTCZhdW1sO25nZSBkZXMgQmVudXR6ZXJuYW1lbnMnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnQXVzemVpdCBmJnV1bWw7ciBTZXNzaW9ucyAoaW4gU2VrdW5kZW4pJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdDb29raWVzIGYmdXVtbDtyIGRpZSBBbm1lbGR1bmcgdmVyd2VuZGVuJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnRW1haWwtUmVnaXN0cmllcnVuZyBlcmxhdWJlbic7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnU3RhbmRhcmQtQmVudXR6ZXJncnVwcGUgZiZ1dW1sO3IgbmV1ZSBCZW51dHplcic7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIEVpbnN0ZWxsdW5nZW4gJmF1bWw7bmRlcm4nOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0RpZSBQYXNzdyZvdW1sO3J0ZXIgc3RpbW1lbiBuaWNodCAmdXVtbDtiZXJlaW4uJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VuZyZ1dW1sO2x0aWdlciBCZW51dHplcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnVW5nJnV1bWw7bHRpZ2VzIFBhc3N3b3J0JzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnQmVudXR6ZXIgYmVhcmJlaXRlbic7CiRsYW5nWyd2YWxpZCddID0gJ0cmdXVtbDtsdGlnJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdEaWVzZXIgQmVudXR6ZXIgaXN0IGtlaW4gTWl0Z2xpZWQgZWluZXIgQmVudXR6ZXJncnVwcGUuJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdLZWluZSBFaWdlbnNjaGFmdGVuJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnU2llIGhhYmVuIHZlcnN1Y2h0LCBFaWdlbnNjaGFmdGVuIGRvcHBlbHQgenUgaW1wb3J0aWVyZW4nOwokbGFuZ1sndmFsdWUnXSA9ICdXZXJ0JzsKJGxhbmdbJ2dyb3VwcyddID0gJ0JlbnV0emVyZ3J1cHBlbic7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnRWlnZW5zY2hhZnRlbic7CiRsYW5nWydwcm9wbmFtZSddID0gJ05hbWUgZGVyIEVpZ2Vuc2NoYWZ0JzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1dlcnQgZGVyIEVpZ2Vuc2NoYWZ0JzsKJGxhbmdbJ2FkZCddID0gJ0hpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydoaXN0b3J5J10gPSAnR2VzY2hpY2h0ZSc7CiRsYW5nWydlZGl0J10gPSAnQmVhcmJlaXRlbic7CiRsYW5nWydleHBpcmVzJ10gPSAnQWJsYXVmJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ0RhdHVtIGZlc3RsZWdlbic7CiRsYW5nWycxMmhycyddID0gJzEyIFN0dW5kZW4nOwokbGFuZ1snMjRocnMnXSA9ICcyNCBTdHVuZGVuJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggU3R1bmRlbic7CiRsYW5nWycxd2VlayddID0gJzEgV29jaGUnOwokbGFuZ1snMndlZWtzJ10gPSAnMiBXb2NoZW4nOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBNb25hdCc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNb25hdGUnOwokbGFuZ1snNm1vbnRocyddID0gJzYgTW9uYXRlJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSBKYWhyJzsKJGxhbmdbJ25ldmVyJ10gPSAnTmllbWFscyc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdEYXMgTW9kdWwgd3VyZGUgaW5zdGFsbGllcnQuPGJyLz5TdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgZGllIEJlcmVjaHRpZ3VuZyAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMmcXVvdDsgZ2VzZXR6dCB3dXJkZS4gWnVzJmF1bWw7dHpsaWNoIHdpcmQgZGllIEluc3RhbGxhdGlvbiBkZXMgQ2FwdGNoYS1Nb2R1bHMgZW1wZm9obGVuLiBOYWNoIGRlc3NlbiBJbnN0YWxsYXRpb24gd2lyZCBiZWkgZGVyIEFubWVsZHVuZyBlcmcmYXVtbDtuemVuZCB6dSBCZW51dHplcm5hbWVuIHVuZCBQYXNzd29ydCBkZXIgSW5oYWx0IGVpbmVzIENhcHRjaGEtQmlsZGVzIGFiZ2VmcmFndC4gRGllcyBzb2xsIGhlbGZlbiwgQnJ1dGUtZm9yY2UtQXR0YWNrZW4genUgdmVyaGluZGVybi4gPHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiBEaWVzZSBGdW5rdGlvbmFsaXQmYXVtbDt0IGthbm4gbWl0IGRlbSBQYXJhbWV0ZXIgbm9jYXB0Y2hhIGRlYWt0aXZpZXJ0IHdlcmRlbiwgYXVjaCB3ZW5uIGRhcyBDYXB0Y2hhLU1vZHVsIGluc3RhbGxpZXJ0IGlzdC4nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29ydCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ05vY2ggZWlubWFsJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdFaW5lIEJlbnV0emVyZ3J1cHBlIG1pdCBkaWVzZW0gTmFtZW4gZXhpc3RpZXJ0IGJlcmVpdHMuJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ0JlbnV0emVyZ3J1cHBlIGJlYXJiZWl0ZW4nOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ1NpbmQgZGFzIHdpcmtsaWNoIGRpZSByaWNodGlnZW4gRWluc3RlbGx1bmdlbiBmJnV1bWw7ciBkaWVzZSBCZW51dHplcmdydXBwZT9cbkRhcyBEZWFrdGl2aWVyZW4gZWluZXIgRWlnZW5zY2hhZnQgbCZvdW1sO3NjaHQga2VpbmUgRWludHImYXVtbDtnZSBpbiBkZXIgRWlnZW5zY2hhZnRlbnRhYmVsbGUgZiZ1dW1sO3IgZGllc2UgQmVudXR6ZXJncnVwcGUvZGllc2VuIEJlbnV0emVyLiBTaWUgc2luZCBsZWRpZ2xpY2ggbmljaHQgbWVociB2ZXJmJnV1bWw7Z2Jhci4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ1dvbGxlbiBTaWUgZGllc2UgQmVudXR6ZXJncnVwcGUgd2lya2xpY2ggbCZvdW1sO3NjaGVuPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnV29sbGVuIFNpZSBkaWVzZSBFaWdlbnNjaGFmdCB3aXJrbGljaCBrb21wbGV0dCBsJm91bWw7c2NoZW4/XG5GYWxscyBqYSwgd2lyZCBhdWNoIGplZGVyIEJlbnV0emVyZWludHJhZyBmJnV1bWw7ciBkaWVzZSBFaWdlbnNjaGFmdCBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdVbnp1cmVpY2hlbmRlIFBhcmFtZXRlcic7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbSBiZWltIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lciBFaWdlbnNjaGFmdCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBiZWltIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lciBHcnVwcGVuYmV6aWVodW5nJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZW0gYmVpbSBIaW56dWYmdXVtbDtnZW4gZWluZXIgR3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBiZWltIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lcyBCZW51dHplcnMgenUgZWluZXIgR3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtIGJlaW0gTCZvdW1sO3NjaGVuIGVpbmVyIEVpZ2Vuc2NoYWZ0JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnS29ubnRlIGtlaW5lIEVtYWlsLUFkcmVzc2UgZmluZGVuJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdTaWUgaGFiZW4ga2VpbmUgU2NocmVpYmJlcmVjaHRpZ3VuZyBmJnV1bWw7ciBkYXMgWmllbHZlcnplaWNobmlzLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVW5nJnV1bWw7bHRpZ2UgUGFyYW1ldGVyJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnS29ubnRlIGtlaW5lIEdydXBwZW4gZmluZGVuJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQW53ZW5kZW4nOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdCZW51dHplcm5hbWUgKHJlZ3VsJmF1bWw7cmVyIEF1c2RydWNrKSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2NocmVpYnVuZyc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdOYW1lIGRlciBCZW51dHplcmdydXBwZSAnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnWnVncmlmZiB2ZXJ3ZWlnZXJ0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnRWluZSBCZW51dHplcmdydXBwZSBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdHcnVwcGUgaW1wb3J0aWVyZW4nOwokbGFuZ1snYWRkdXNlciddID0gJ0VpbmVuIEJlbnV0emVyIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnQmVudXR6ZXIgZ2VmdW5kZW4sIGRpZSBkZW4gS3JpdGVyaWVuIGVudHNwcmVjaGVuJzsKJGxhbmdbJ2dyb3VwJ10gPSAnQmVudXR6ZXJncnVwcGUgJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnQmVudXR6ZXJncnVwcGUgYXVzdyZhdW1sO2hsZW4nOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmllcnVuZ3MtVGVtcGxhdGUnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnQWJtZWxkdW5ncy1UZW1wbGF0ZSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ0FubWVsZHVuZ3MtVGVtcGxhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQmVudXR6ZXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmRVc2VyLVZlcndhbHR1bmcnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFcmxhdWJ0IGRlbiBCZW51dHplcm4sIHNpY2ggYXVmIElocmVyIFdlYnNlaXRlIGFuenVtZWxkZW4nOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1N0YW5kYXJkLVN0YXJ0c2VpdGUnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0xldHp0ZSBTZWl0ZSwgYXVmIGRpZSB6dWdlZ3JpZmZlbiB3dXJkZSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdBbmRlcmUgU2VpdGU6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnR2ViZW4gU2llIGRlbiBUZXh0IGF1cyBkZW0gQmlsZCBlaW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgZXJsYXVidCBkaWUgVmVyd2FsdHVuZyB1bmQgQWRtaW5pc3RyYXRpb24gdm9uIEZyb250RW5kLUJlbnV0emVybiA8aT4oPUJlbnV0emVyLCBkaWUga2VpbmVuIFp1Z3JpZmYgYXVmIGRpZSBBZG1pbmlzdHJhdGlvbiBoYWJlbik8L2k+LiBFcyBlcm0mb3VtbDtnbGljaHQgenVtIGVpbmVuIGRhcyBFcnN0ZWxsZW4gdm9uIEJlbnV0emVyZ3J1cHBlbiB1bmQgQmVudXR6ZXJrb250ZW4gdW5kIHp1bSBhbmRlcmVuIGRhcyBBbi0gdW5kIEFibWVsZGVuIHZvbiBCZW51dHplcm4uIEluIFZlcmJpbmR1bmcgbWl0IGRlbSBDdXN0b21Db250ZW50LU1vZHVsIGsmb3VtbDtubmVuIHVudGVyc2NoaWVkbGljaGVuIEJlbnV0emVybiB1bnRlcnNjaGllZGxpY2hlIEluaGFsdGUgYW5nZXplaWd0IHdlcmRlbiwgamV3ZWlscyBpbiBBYmgmYXVtbDtuZ2lna2VpdCBkYXZvbiwgb2IgZGVyIEJlbnV0emVyIGFuZ2VtZWxkZXQgaXN0IG9kZXIgbmljaHQuPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5BYmxhdWYgZGVyIEJlbnV0emVya29udGVuLiBIaWVybWl0IGsmb3VtbDtubmVuIFNpZSBmJnV1bWw7ciBlaW5lIGJlc3RpbW10ZSBaZWl0ZGF1ZXIgZWluZW4gQmVudXR6ZXIgZXJzdGVsbGVuLjwvcD48L2xpPg0KPGxpPjxwPkJlbnV0emVyZ3J1cHBlbi1FaWdlbnNjaGFmdGVuLiBTaWUgayZvdW1sO25uZW4gdm9uIGRlbiBNaXRnbGllZGVybiB1bnRlcnNjaGllZGxpY2hlIEdydXBwZW4gdW5kIHVudGVyc2NoaWVkbGljaGUgSW5mb3JtYXRpb25lbiBhYmZyYWdlbi48L3A+PC9saT4NCjxsaT48cD5FcyBpc3QgZGllIFZlcndhbHR1bmcgdm9uIEh1bmRlcnRlbiBCZW51dHplcm4gbSZvdW1sO2dsaWNoLjwvcD48L2xpPg0KPGxpPjxwPkZ1bmt0aW9uYWxpdCZhdW1sO3QgZiZ1dW1sO3IgdmVyZ2Vzc2VuZSBCZW51dHplcm5hbWVuIHVuZCBQYXNzdyZvdW1sO3J0ZXIuIEJlbnV0emVyIGsmb3VtbDtubmVuIGVpbiBuZXVlcyBQYXNzd29ydCBmZXN0bGVnZW4sIHVuZC9vZGVyIGlociBCZW51dHplcmtvbnRvIHdpZWRlcmhlcnN0ZWxsZW4sIGZhbGxzIHNpZSBkaWUgQW5tZWxkZWRhdGVuIGtvbXBsZXR0IHZlcmdlc3NlbiBoYWJlbi48L3A+PC9saT4NCjxsaT48cD5oYXQgZWluZSB1bWZhbmdyZWljaGUgQVBJIGYmdXVtbDtyIGRhcyBIaW56dWYmdXVtbDtnZW4gdm9uIEZ1bmt0aW9uZW48L3A+PC9saT4NCjwvdWw+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dCA/PC9oMz4NCjx1bD4NCjxsaT48cD5OYWNoIGRlciBJbnN0YWxsYXRpb24gayZvdW1sO25uZW4gU2llIHVudGVyIGRlbSBNZW4mdXVtbDsgJnF1b3Q7QmVudXR6ZXIgJmFtcDthbXA7IEdydXBwZW4mcXVvdDsgYXVmIGRpZSBBZG1pbmlzdHJhdGlvbiBkZXMgRnJvbnRFbmRVc2Vycy1Nb2R1bHMgenVncmVpZmVuLjwvcD48L2xpPg0KPGxpPg0KPHA+WnVuJmF1bWw7Y2hzdCBzb2xsdGVuIFNpZSBFaWdlbnNjaGFmdGVuIGRlZmluaWVyZW4uIEVpZ2Vuc2NoYWZ0ZW4gc2luZCBGZWxkZGVmaW5pdGlvbmVuLCBtaXQgZGVuZW4gU2llIGRlbiBUeXAgZGVyIHp1IGVyZmFzc2VuZGVuIEluZm9ybWF0aW9uZW4gdW5kIGRlcmVuIEJlc2NociZhdW1sO25rdW5nZW4gZmVzdGxlZ2VuIGsmb3VtbDtubmVuIHdpZSB6dW0gQmVpc3BpZWw6IE5hbWUsIEFsdGVyLCBTdGFkdCwgQnVuZGVzbGFuZCwgU3RhYXQsIEVtYWlsYWRyZXNzZSB1c3cuPC9wPg0KPHA+PGI+SGlud2Vpczo8L2I+IEYmdXVtbDtyIGRlbiBCZW51dHplcm5hbWVuIHVuZCBkYXMgUGFzc3dvcnQgbSZ1dW1sO3NzZW4gU2llIGtlaW5lIEVpZ2Vuc2NoYWZ0ZW4gZmVzdGxlZ2VuOyBkaWVzIHdpcmQgYmVyZWl0cyB2b20gTW9kdWwgZXJsZWRpZ3QuPC9iPg0KPC9saT4NCjxsaT48cD5BbHMgTiZhdW1sO2Noc3RlcyBzb2xsdGVuIFNpZSBlaW5lIG9kZXIgbWVocmVyZSBCZW51dHplcmdydXBwZW4gZXJzdGVsbGVuLiBXZW5uIFNpZSBlaW5lIEdydXBwZSBlcnN0ZWxsZW4sIHdlcmRlbiBTaWUgbmFjaCBkZW0gQmVudXR6ZXJncnVwcGVubmFtZW4sIGVpbmVyIEJlc2NocmVpYnVuZyBzb3dpZSBkZW4gZGVyIEJlbnV0emVyZ3J1cHBlIHp1enVvcmRuZW5kZW4gRWlnZW5zY2hhZnRlbiB1bmQgZGVzc2VuIFNvcnRpZXJ1bmcgZ2VmcmFndC4gT3B0aW9uYWwgc2luZCBhdWNoIFBmbGljaHQtIG9kZXIgdmVyYm9yZ2VuZSBGZWxkZXIgbSZvdW1sO2dsaWNoIDxpPiggYXVjaCBvZmYgaXN0IGcmdXVtbDtsdGlnKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5IaW53ZWlzOjwvYj4gQmV2b3IgU2llIHdlaXRlciBtYWNoZW4sIHNvbGx0ZW4gU2llIHByJnV1bWw7ZmVuLCBvYiBkaWUgRWluc3RlbGx1bmdlbiBrb3JyZWt0IGdlc2V0enQgc2luZC48L3A+PC9saT4NCjxsaT48cD5BbnNjaGxpZSZzemxpZztlbmQgc29sbHRlbiBTaWUgZWluIHBhYXIgQmVudXR6ZXIgZXJzdGVsbGVuLiBCZW51dHplciB3ZXJkZW4gaW4gendlaSBTY2hyaXR0ZW4gaGluenVnZWYmdXVtbDtndC4gV2VubiBTaWUgZWluZW4gQmVudXR6ZXIgZXJzdGVsbGVuLCB3ZXJkZW4gU2llIG5hY2ggZGVtIEJlbnV0emVybmFtZW4gdW5kIGRlbSBQYXNzd29ydCBzb3dpZSBuYWNoIGVpbmVtIEFibGF1ZmRhdHVtIGYmdXVtbDtyIGRpZXNlbiBCZW51dHplciBnZWZyYWd0LiBEYW5uIG0mdXVtbDtzc2VuIFNpZSBub2NoIGRpZSBHcnVwcGVuIGF1c3cmYXVtbDtobGVuLCBpbiB3ZWxjaGVuIGRlciBCZW51dHplciBNaXRnbGllZCBzZWluIHNvbGwuIEtsaWNrZW4gU2llIGRhbm4gYXVmICZhbXA7IzAzOTtXZWl0ZXImYW1wOyMwMzk7PC9wPg0KPHA+PGVtPkhpbndlaXM6IDwvZW0+RGFzIGlzdCBlaW4gc2VociBhcmJlaXRzaW50ZW5zaXZlciB1bmQgbGFuZ3dlaWxpZ2VyIFByb3plc3MuIEVzIGlzdCBkYWhlciBlaW5mYWNoZXIsIHdlbm4gU2llIHNpY2ggZGllIEJlbnV0emVyIHNlbGJzdCByZWdpc3RyaWVyZW4gbGFzc2VuIDxlbT4oenVtIEJlaXNwaWVsIG1pdCBkZW0gU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bCkuIFNpZSBtJnV1bWw7c3NlbiBkaWUgQmVudXR6ZXIgZGFubiBudXIgbm9jaCBlaW5lciBvZGVyIG1laHJlcmVuIEJlbnV0emVyZ3J1cHBlbiB6dW9yZG5lbi4gQWJlciBlcnN0ZWxsZW4gU2llIGJpdHRlIGYmdXVtbDtyIFRlc3R6d2Vja2UgbWluZGVzdGVucyBlaW5lbiBCZW51dHplci48L3A+PC9saT4NCjxsaT48cD5OYWNoZGVtIGRhcyBTeXN0ZW0gYWxsZSBmJnV1bWw7ciBkaWVzZW4gQmVudXR6ZXIgbm90d2VuZGlnZW4gRmVsZGVyIGJlc3RpbW10IGhhdCwgd2lyZCBJaG5lbiBlaW4gRm9ybXVsYXIgbWl0IGRlbiBlcmZvcmRlcmxpY2hlbiBJbmZvcm1hdGlvbmVuICZ1dW1sO2JlciBkZW4gQmVudXR6ZXIgYW5nZXplaWd0LiBNaXQgZGVyIEtvbXBsZXR0aWVydW5nIGRpZXNlcyBGb3JtdWxhcnMgd2lyZCBkYXMgSGluenVmJnV1bWw7Z2VuIGVpbmVzIEJlbnV0emVycyBhYmdlc2NobG9zc2VuLjwvcD48L2xpPg0KPGxpPjxwPkpldHp0IGsmb3VtbDtubmVuIFNpZSBkYXMgRnJvbnRFbmRVc2Vycy1Nb2R1bCBhdWYgSWhyZXIgU2VpdGUgbnV0emVuLiBIaWVyenUgbSZ1dW1sO3NzZW4gU2llIGVpbmZhY2ggbnVyIHtjbXNfbW9kdWxlIG1vZHVsZT0mYW1wOyMwMzk7RnJvbnRFbmRVc2VycyZhbXA7IzAzOTt9IGluIElocmUgU2VpdGUgb2RlciBUZW1wbGF0ZSBlaW5mJnV1bWw7Z2VuLjwvcD48L2xpPg0KPC91bD4NCjxoMz5TbWFydHktRnVua3Rpb25lbjwvaDM+DQo8cD4mVXVtbDtiZXIgU21hcnR5IHVuZCBkYXMgJGZldV9zbWFydHktT2JqZWt0IGthbm4gYXVmIGRpZSBEYXRlbmJhbmsgZGVzIEZyb250RW5kVXNlcnMtTW9kdWwgenVnZWdyaWZmZW4gd2VyZGVuLjwvcD4NCjxoND5GdW5rdGlvbmVuOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz48Y29kZT57JGZldV9zbWFydHktPmdldF91c2Vyc19ieV9ncm91cG5hbWUoJGdyb3VwbmFtZSwkYXNzaWduKX08L2NvZGU+PC9zdHJvbmc+DQo8cD5EaWVzZSBGdW5rdGlvbiBrYW5uIHZlcndlbmRldCB3ZXJkZW4sIHVtIGVpbiBBcnJheSBtaXQgYWxsZW4gQmVudXR6ZXJuYW1lbiB1bmQgQmVudXR6ZXItSURzIGVpbmVyIHZvcmdlZ2ViZW5lbiBHcnVwcGUgenUgZXJoYWx0ZW4uIERhcyBFcmdlYm5pcyB3aXJkIGRlciBpbSBQYXJhbWV0ZXIgJnF1b3Q7YXNzaWduJnF1b3Q7IHZvcmdlZ2ViZW5lbiBTbWFydHktVmFyaWFibGVuIHp1Z2V3aWVzZW4uPC9wPg0KPHA+QmVpc3BpZWw6PGJyLz48Y29kZT57JGZldV9zbWFydHktPmdldF91c2Vyc19ieV9ncm91cG5hbWUoJiMwMzk7bWVtYmVycyYjMDM5OywmIzAzOTtteW1lbWJlcnMmIzAzOTspfTxici8+eyRteW1lbWJlcnN8cHJpbnRfcn08L2NvZGU+PC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJfcHJvcGVydGllcygkdWlkLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPkRpZXNlIEZ1bmt0aW9uIGthbm4gdmVyd2VuZGV0IHdlcmRlbiwgdW0gYXVmIGVpbmUgTGlzdGUgYWxsZXIgRWlnZW5zY2hhZnRlbiBlaW5lcyBiZXN0aW1tdGVuIEJlbnV0emVycyB6dXp1Z3JlaWZlbi4gRGFzIEVyZ2VibmlzIHdpcmQgZGVyIGltIFBhcmFtZXRlciAmcXVvdDthc3NpZ24mcXVvdDsgdm9yZ2VnZWJlbmVuIFNtYXJ0eS1WYXJpYWJsZW4genVnZXdpZXNlbi48L3A+DQo8cD5CZWlzcGllbDo8YnIvPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJfcHJvcGVydGllcyg1LCYjMDM5O3VzZXJwcm9wcyYjMDM5Oyl9PGJyLz57JHVzZXJwcm9wc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+RGllc2VzIE1vZHVsIGJlaW5oYWx0ZXQga2VpbmVuIGtvbW1lcnppZWxsZW4gU3VwcG9ydC4gU2llIGsmb3VtbDtubmVuIGplZG9jaCAmdXVtbDtiZXIgZm9sZ2VuZGUgTSZvdW1sO2dsaWNoa2VpdGVuIEhpbGZlIHp1IGRlbSBNb2R1bCBlcmhhbHRlbjo8L3A+DQo8dWw+DQo8bGk+RiZ1dW1sO3IgZGllIGxldHp0ZSBWZXJzaW9uIGRpZXNlcyBNb2R1bHMsIEZBUXMsIGRlbSBWZXJzYW5kIGVpbmVzIEZlaGxlcnJlcG9ydHMgb2RlciBkZW0gS2F1ZiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQgYmVzdWNoZW4gc2llIGJpdHRlIGNhbGd1eXMgSG9tZXBhZ2UgdW50ZXIgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkVpbmUgd2VpdGVyZSBEaXNrdXNzaW9uIHp1IGRpZXNlbSBNb2R1bCBpc3QgYXVjaCBpbiBkZW4gRm9yZW4gdm9uIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5EZXIgQXV0b3IgY2FsZ3V5MTAwMCwgaXN0IGgmYXVtbDt1ZmlnIGltIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5MZXR6dGxpY2ggZXJyZWljaGVuIHNpZSBkZW4gQXV0b3IgYXVjaCAmdXVtbDtiZXIgZWluZSBkaXJla3RlIEVtYWlsLjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtdWxhcmU6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gWmVpZ3QgZGFzIEFubWVsZGUtRm9ybXVsYXIgYW48L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBaZWlndCBkYXMgQWJtZWxkZS1Gb3JtdWxhciBhbjwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gWmVpZ3QgZGFzIEZvcm11bGFyIHp1bSAmYW1wO0F1bWw7bmRlcm4gZGVyIEVpbnN0ZWxsdW5nZW4gYW48L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIFplaWd0IGRhcyBGb3JtdWxhciBmJnV1bWw7ciB2ZXJnZXNzZW5lIFBhc3N3Jm91bWw7cnRlciBhbjwvbGk+DQo8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gWmVpZ3QgZGFzIEZvcm11bGFyIGYmdXVtbDtyIHZlcmdlc3NlbmUgQmVudXR6ZXJuYW1lbiBhbjwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gWmVpZ3QgbmljaHRzIGFuLCBhYmVyIGRpZSBFaWdlbnNjaGFmdGVuIHVuZCBhbmRlcmUgU21hcnR5LVZhcmlhYmxlbiBkZXIgYWt0dWVsbCBhbmdlbWVsZGV0ZW4gQmVudXR6ZXIgd2VyZGVuIGV4cG9ydGllcnQuIElzdCBrZWluIEJlbnV0emVyIGFuZ2VtZWxkZXQsIHdlcmRlbiBhdWNoIGtlaW5lIFZhcmlhYmxlbiBleHBvcnRpZXJ0LjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5XaXJkIG1pdCBkZW4gRm9ybXVsYXJlbiB6dXIgQW4tIHVuZCBBYm1lbGRlLSBzb3dpZSB6dXIgJkF1bWw7bmRlcnVuZyB2b24gRWluc3RlbGx1bmdlbiB2ZXJ3ZW5kZXQuIERpZXNlciBQYXJhbWV0ZXIgZW50aCZhdW1sO2x0IGRpZSBJRCBvZGVyIGRlbiBBbGlhcyBlaW5lciBTZWl0ZSwgYXVmIGRpZSBkZXIgQmVudXR6ZXIgd2VpdGVyZ2VsZWl0ZXQgd2lyZCwgd2VubiBkYXMgRm9ybXVsYXIgZXJmb2xncmVpY2ggYXVzZ2VmJnV1bWw7bGx0IHd1cmRlLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+V2lyZCBtaXQgZGVtIEFubWVsZGUtRm9ybXVsYXIgdmVyd2VuZGV0LiBFcyBrJm91bWw7bm5lbiBzaWNoIG51ciBkaWUgQmVudXR6ZXIgYW5tZWxkZW4sIGRpZSBNaXRnbGllZGVyIGRlciBmZXN0Z2VsZWd0ZW4gR3J1cHBlKG4pIHNpbmQuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSZxdW90O2dyb3VwJnF1b3Q7PC9saT4NCjxwPkJlaSBWZXJ3ZW5kdW5nIGluIFZlcmJpbmR1bmcgbWl0IGRlbSBGb3JtdWxhciBmJnV1bWw7ciB2ZXJnZXNzZW5lIEJlbnV0emVybmFtZW4ga2FubiBtaXQgZGllc2VtIFBhcmFtZXRlciBlaW5lIEdydXBwZSBmZXN0Z2VsZWd0IHdlcmRlbiwgZGVyIGRpZXNlIEJlbnV0emVyIHp1Z2VvcmRuZXQgd2VyZGVuIHNvbGxlbi48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5XaXJkIG1pdCBkZW4gQW5tZWxkZS1Gb3JtdWxhcmVuIHZlcndlbmRldC4gRGFtaXQgd2VyZGVuIGRpZSBDYXB0Y2hhcyBpbiBkZW4gRm9ybXVsYXJlbiBkZWFrdGl2aWVydC4gV3VyZGUgZGFzIENhcHRjaGEtTW9kdWwgaW5zdGFsbGllcnQsIGlzdCBmJnV1bWw7ciBlaW5lIGVyZm9sZ3JlaWNoZSBBbm1lbGR1bmcgc3RhbmRhcmRtJmF1bWw7JnN6bGlnO2lnIGRpZSBFaW5nYWJlIGRlcyBJbmhhbHRlcyBlaW5lcyBDYXB0Y2hhLUJpbGRlcyBlcmZvcmRlcmxpY2guIERpZXMgaXN0IGVpbmUgU2ljaGVyaGVpdHNtYSZzemxpZztuYWhtZSwgdW0gQnJ1dGUtZm9yY2UtQXR0YWNrZW4gdm9yenViZXVnZW4uPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPW51bGw8L2xpPg0KPHA+RGVyIGVpbnppZyBtJm91bWw7Z2xpY2hlIFdlcnQgZiZ1dW1sO3IgZGllc2VuIFBhcmFtZXRlciBpc3QgJnF1b3Q7dmlld3VzZXImcXVvdDs8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1aWQ9bnVsbDwvbGk+DQo8cD5Jc3QgaW4gVmVyYmluZHVuZyBtaXQgZGVyIEFrdGlvbiB2aWV3dXNlciB6dSB2ZXJ3ZW5kZW4uIE1pdCBkaWVzZW0gUGFyYW1ldGVyIGthbm4gZmVzdGdlbGVndCB3ZXJkZW4sIHdlbGNoZXIgQmVudXR6ZXIgZGllIERldGFpbHMgYW5nZXplaWd0IGJla29tbXQuPC9wPg0KPC91bD4NCjxwPk5hY2ggZGVyIEdQTCB3aXJkIGRpZXNlIFNvZnR3YXJlIHNvIHZlciZvdW1sO2ZmZW50bGljaHQsIHdpZSBzaWUgaXN0LiBCaXR0ZSBsZXNlbiBTaWUgZGVuIExpemVuenRleHQgDQpmJnV1bWw7ciBkZW4gdm9sbGVuIEhhZnR1bmdzYXVzc2NobHVzcy48L3A+DQo8aDM+QW5mb3JkZXJ1bmdlbjwvaDM+DQo8cD5VbSBkaWUgRnVua3Rpb25hbGl0JmF1bWw7dCBmJnV1bWw7ciBkaWUgdmVyZ2Vzc2VuZW4gUGFzc3cmb3VtbDtydGVyIG51dHplbiB6dSBrJm91bWw7bm5lbiwgbXVzcyB6dXZvciBkYXMgQ01TTWFpbGVyLU1vZHVsIGluc3RhbGxpZXJ0IHdlcmRlbi48L3A+DQo8aDM+Q29weXJpZ2h0IHVuZCBMaXplbno8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20iPmNhbGd1eTEwMDBAaG90bWFpbC5jb208L2E+LiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi48L3A+DQo8cD5EaWVzZXMgTW9kdWwgd3VyZGUgdW50ZXIgZGVyIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPiB2ZXImb3VtbDtmZmVudGxpY2h0LiBTaWUgbSZ1dW1sO3NzZW4gZGllc2VyIExpemVueiB6dXN0aW1tZW4sIGJldm9yIFNpZSBkYXMgTW9kdWwgdmVyd2VuZGVuLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjcxNzQ2MjczNi4xMTQ3NTExODU2LjEyMTM3ODA2MjAuMTIxMzc4Mjc2NC4zMjAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjEyOTA2NTM1LjMxOC4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/el_GR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ86czq7Ous6/z4Igz4DOtc60zq/Ov8+FIM6zzrnOsSDPhM6/IM+Mzr3Ov868zrEgz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ86czq7Ous6/z4Igz4DOtc60zq/Ov8+FIM6zzrnOsSDPhM6/zr0gzrrPic60zrnOus+MJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICfOpM6/IM61zrvOrM+HzrnPg8+Ezr8vzrzOrc6zzrnPg8+Ezr8gzrzOrs66zr/PgiDOs865zrEgz4TOv869IM66z4nOtM65zrrPjCDOtM61zr0gzrXOr869zrHOuSDOsc+Azr/OtM61zrrPhM+MJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICfOpM6/IM61zrvOrM+HzrnPg8+Ezr8vzrzOrc6zzrnPg8+Ezr8gzrzOrs66zr/PgiDOs865zrEgz4TOvyDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyDOtM61zr0gzrXOr869zrHOuSDOsc+Azr/OtM61zrrPhM+MJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnzpTOtc69IM61z4XPgc6tzrjOt866zrUgzrTOuc61z43OuM+Fzr3Pg863IGVtYWlsIM6zzrnOsSDOsc+Fz4TPjM69IM+Ezr/OvSDOu86/zrPOsc+BzrnOsc+DzrzPjCc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnzp8gz4fPgc6uz4PPhM63z4Igz4DPgc6/z4PPhM6tzrjOt866zrUgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICfOnyDPh8+Bzq7Pg8+EzrfPgiDOtM65zrHOs8+BzqzPhs63zrrOtSB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICfOmc60zrnPjM+EzrfPhM6xJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICfOpM65zrzOriAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ86gz4HOv861zrnOtM6/z4DOv86vzrfPg863OiDOpM6xIM+AzrXOtM6vzrEgzrHPhc+EzqwgzrXPgM63z4HOtc6szrbOv8+Fzr0gz4TOvyDOvM6tzrPOtc64zr/PgiDPhM+Jzr0gz4DOtc60zq/Pic69IM61zrnPg86xzrPPic6zzq7PgiDOs865zrEgz4TOuc+CIM+Gz4zPgc68zrXPgi4gIM6XIM61zrvOu86sz4TPic+Dzrcgz4TOv8+FIM6xz4HOuc64zrzOv8+NIM6xz4XPhM6/z40gz4POtSDOv8+Azr/Ouc6/zrTOrs+Azr/PhM61IM+Fz4DOsc+BzrrPhM+MIM60zrnOus+Ez4XOsc66z4wgz4TPjM+Azr8gzrTOtc69IM61zr3OtM61zq/Ous69z4XPhM6xzrknOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ86Yzq3Ou861z4TOtSDPhM63zr0gzrHOu867zrHOs86uIM+Ez4nOvSDPgM+Bzr/PhM65zrzOrs+DzrXPic69IM+Ezr/PhSDOtM65zrHPh861zrnPgc65z4PPhM6uPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnzpcgzrTOuc61z43OuM+Fzr3Pg863IEVtYWlsIM6uzrTOtyDPh8+BzrfPg865zrzOv8+Azr/Ouc61zq/PhM6xzrknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICfOnc6xIM61z4DOuc+Ez4HOrc+Azr/Ovc+EzrHOuSDOtM65z4DOu86sIGVtYWlscyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcozp3OsSDOtc+AzrnPhM+Bzq3PgM6/zr3PhM6xzrkgz4DOv867zrvOsc+AzrvOv86vIM+Hz4HOrs+Dz4TOtc+CIM68zrUgz4TOt869IM6vzrTOuc6xIM60zrnOtc+NzrjPhc69z4POtyBlbWFpbCknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnzpTOtc69IM6tz4fOtc+EzrUgzrXOuc+DzqzOs861zrkgzq3Ovc6xIM+Mzr3Ov868zrEgz4fPgc6uz4PPhM63JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ86UzrXOvSDOrc+HzrXPhM61IM61zrnPg86szrPOtc65IM6tzr3Osc69IM66z4nOtM65zrrPjCDPgM+Bz4zPg86yzrHPg863z4InOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ86Rz4DOv8+Dz43Ovc60zrXPg863IM61zrPOs861zrPPgc6xzrzOrc69zr/PhSDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnzqPPjc69zrTOtc+DzrcgzrXOs86zzrXOs8+BzrHOvM6tzr3Ov8+FIM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPs6gz4HOv8+Dzr/Ph86uIM+Dz4TOt869IM+Hz4HOrs+Dzrc8L2I+IM6XIM6xzrvOu86xzrPOriDPhM+Jzr0gzrnOtM65zr/PhM6uz4TPic69IM+Azr/PhSDOuc+Dz4fPjc6/z4XOvSDOs865zrEgz4TOuc+CIM+Fz4DOrM+Bz4fOv8+Fz4POtc+CIM6/zrzOrM60zrXPgiwgzrzPgM6/z4HOtc6vIM69zrEgzrXPgM65z4bOrc+BzrXOuSDOus6xz4TOsc+Dz4TPgc6/z4bOriDOus6xzrkgzrTOuc6xzrrOv8+Azq4gzrvOtc65z4TOv8+Fz4HOs86vzrHPgiDPg861IM6/z4DOv865zr/OtM6uz4DOv8+EzrUgz4XPgM6sz4HPh86/zr3PhM6xIM60zrnOus+Ez4XOsc66z4wgz4TPjM+Azr8gPGk+KM65zrTOuc6xzq/PhM61z4HOsSDOsc69IM61zrvOu86xz4TPjs+DzrXPhM61IM+EzrEgzrzOrs66zrcgz4TPic69IM+AzrXOtM6vz4nOvSwgzrrOu8+AKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnzpHPhc+Ezq4gzrcgzrTOuc6xzrTOuc66zrHPg86vzrEgzrTOtc69IM67zrXOuc+Ezr/Phc+BzrPOtc6vIM+Dz4TOsSB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICfOnM6uzr0gzrTOt868zrnOv8+Fz4HOs86uz4POtc+EzrUgzrzOr86xIM65zrTOuc+Mz4TOt8+EzrEgzrPOuc6xIM6tzr3OsSDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyDOriDOus6sz4TOuSDPgM6xz4HPjM68zr/Ouc6/IM66zrHOuM+Oz4IgzrHPhc+Ez4wgzrXOr869zrHOuSDOtc69z4PPic68zrHPhM+JzrzOrc69zr8gz4PPhM6/IM6sz4HOuM+Bz4nOvM6xICBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICfOlc6+zrHOs8+JzrPOriDPh8+BzrfPg8+Ez47OvSDPg861IM6xz4HPh861zq/OvyDPhM+Nz4DOv8+FIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICfOlc6+zrHOs8+JzrPOric7CiRsYW5nWydhZG1pbiddID0gJ86UzrnOsc+HzrXOuc+BzrnPg8+Ezq7Pgic7CiRsYW5nWydlZGl0cHJvcCddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEgzrnOtM65z4zPhM63z4TOsc+CJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ86czq3Os865z4PPhM6/IM68zq7Ous6/z4InOwokbGFuZ1snY3JlYXRlZCddID0gJ86UzrfOvM65zr/Phc+BzrPOrs64zrfOus61JzsKJGxhbmdbJ3NvcnRieSddID0gJ86kzrHOvs65zr3PjM68zrfPg863IM66zrHPhM6xJzsKJGxhbmdbJ3NvcnQnXSA9ICfOpM6xzr7Ouc69z4zOvM63z4POtyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICfOp8+Bzq7Pg8+EzrXPgiDPg8+EzrcozrnPgikgIM61z4DOuc67zrXOs868zq3Ovc63KM61z4IpIM6/zrzOrM60zrEozrXPgiknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnzpjOrc+Dzrcgzr/Pgc6vzr/PhSDPg8+EzrEgzrHPgM6/z4TOtc67zq3Pg868zrHPhM6xIM+DzrUnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnzpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOtc+Nz4HOtc+DzrcgzrXOvc+Mz4Igz4DOtc60zq/Ov8+FIGVtYWlsIM6zzrnOsSDOsc+Fz4TPjM69IM+Ezr/OvSDPh8+Bzq7Pg8+EzrcuICDOmc+Dz4nPgiDPgM+Bzq3PgM61zrkgzr3OsSDOtc+AzrnOus6/zrnOvc+Jzr3Ors+DzrXPhM61IM68zrUgz4TOv869IM60zrnOsc+HzrXOuc+BzrnPg8+Ezq4gz4PPhc+Dz4TOrs68zrHPhM6/z4InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICfOkc69zrHOs869z4nPgc65z4PPhM65zrrPjCDPg861zrvOr860zrHPgi/OjM69zr/OvM6xIM6xzr3PhM65z4PPhM6/zq/Ph865z4POt8+CIM6zzrnOsSDPhM63zr0gz4bPjM+BzrzOsSAizp7Orc+HzrHPg86xIM+Ezr/OvSDOus+JzrTOuc66z4wgz4DPgc+Mz4POss6xz4POt8+CIic7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZSddID0gJ86Rzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+DzrXOu86vzrTOsc+CL86Mzr3Ov868zrEgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863z4IgzrPOuc6xIM+EzrfOvSDPhs+Mz4HOvM6xICLOkc67zrvOsc6zzq4gz4HPhc64zrzOr8+DzrXPic69Iic7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ86Rzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+DzrXOu86vzrTOsc+CL86Mzr3Ov868zrEgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863z4Igz4PPhM63zr0gzr/PgM6/zq/OsSDOuM6xIM68zrXPhM6xz4bOrc+Bzr/Ovc+EzrHOuSDOvM61z4TOsSDPhM63zr0gzrXOr8+Dzr/OtM6/JzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ86Rzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+DzrXOu86vzrTOsc+CL86Mzr3Ov868zrEgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863z4LPg8+EzrfOvSDOv8+Azr/Or86xIM64zrEgzrzOtc+EzrHPhs6tz4HOv869z4TOsc65IM68zrXPhM6sIM+EzrfOvSDOrc6+zr/OtM6/JzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ86kz4HPjM+Azr/PgiDPhM6xzr7Ouc69z4zOvM63z4POt8+CJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ86Izr3Osc+CIM6xz4HOuc64zrzPjM+CIM+Hz4HOt8+Dz4TPjs69IM61z4XPgc6vz4POus6/zr3PhM6xzrkgz4PPhM63zr0gzrTOuc6xzrTOuc66zrHPg86vzrEgzrHOu867zrHOs86uz4Igz4fOsc68zq3Ovc+Jzr0gzrrPic60zrnOus+Ozr0gz4DPgc+Mz4POss6xz4POt8+CLiAgzqPPhM63zr0gz4DOsc+Bzr/Pjc+DzrEgz4PPhM65zrPOvM6uIM6/IM6xz4HOuc64zrzPjM+CIM6xz4XPhM+Mz4IgzrXOr869zrHOuTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICfOms6xz4TOrM+BzrPOt8+Dzrcgz4zOu8+Jzr0gzrXOus61zq/Ovc+Jzr0gz4TPic69IM61zrPOs8+BzrHPhs+Ozr0gz4DOv8+FIM61zq/Ovc6xzrkgz4DOsc67zrHOuc+Mz4TOtc+BzrXPgiDOsc+Azr8gzrzOuc6xIM61zrLOtM6/zrzOrM60zrEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnzprOsc+EzqzPgc6zzrfPg863IM+MzrvPic69IM61zrrOtc6vzr3Pic69IM+Ez4nOvSDOtc6zzrPPgc6xz4bPjs69IM+Azr/PhSDOtc6vzr3Osc65IM+AzrHOu86xzrnPjM+EzrXPgc61z4IgzrHPgM6/IM6tzr3OsSDOvM6uzr3OsSc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICfOms6xz4TOrM+BzrPOt8+Dzrcgz4zOu8+Jzr0gz4TPic69IM61zrPOs8+BzrHPhs+Ozr0nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuT8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICfOiM+HzrXOuSDOtc65z4POsc+HzrjOtc6vIM68zrcgzq3Os866z4XPgc6/z4IgzrrPjs60zrnOus6xz4IsIM+Az4HOv8+Dz4DOsc64zq7Pg8+EzrUgzr7Osc69zqwnOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ86UzrXOvSDOrc+HzrXOuSDOss+BzrXOuM61zq8gz4DPgc6/z4PPic+BzrnOvc+Mz4IgzrrPjs60zrnOus6xz4Igz4DOv8+FIM69zrEgzrHOvc+EzrnPg8+Ezr/Ouc+HzrXOryDPg8+Ezr8gzrTOuc66z4wgz4POsc+CIM6xzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+Hz4HOrs+Dz4TOtyDPg8+EzrfOvSDOss6sz4POtyDOtM61zrTOv868zq3Ovc+Jzr0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICfOoM+Bz4zPhM+Fz4DOvyDOtc68z4bOrM69zrnPg863z4Igz4TOt8+CIM+Gz4zPgc68zrHPgiDOtc+AzrHOu86uzrjOtc+Fz4POt8+CIM+Dz4TOv865z4fOtc6vz4nOvSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnzqDPgc+Mz4TPhc+Azr8gZW1haWwgzrPOuc6xIM+Ezr/Phc+CIM6+zrXPh86xz4POvM6tzr3Ov8+Fz4IgzrrPic60zrnOus6/z43PgiDPgM+Bz4zPg86yzrHPg863z4InOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ86JIM61z4POtc6vz4Igzq4gzrrOrM+Azr/Ouc6/z4IgzqzOu867zr/PgiDOrc+HzrXOuSDOrs60zrcgzrXOus66zrnOvc6uz4POtc65IM60zrnOsc60zrnOus6xz4POr86xIM6zzrnOsSDPhM63zr0gzrHOu867zrHOs86uIM66z4nOtM65zrrOv8+NIM+Az4HPjM+DzrLOsc+DzrfPgiDOs865zrEgzrHPhc+Ez4zOvSDPhM6/zr0gzrvOv86zzrHPgc65zrHPg868z4wuICDOlc67zq3Os86+z4TOtSDPhM6/IGVtYWlsIM+DzrHPgiwgzrzPgM6/z4HOtc6vz4TOtSDOvc6xIM67zqzOss61z4TOtSDPgM61z4HOsc65z4TOrc+Bz4kgzr/OtM63zrPOr861z4IgzrPOuc6xIM+EzrfOvSDOsc67zrvOsc6zzq4gzrrPic60zrnOus6/z40gz4PPhM6xIM61zrnPg861z4HPh8+MzrzOtc69zrEnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ86jz4bOrM67zrzOsSDOss6sz4POt8+CIM60zrXOtM6/zrzOrc69z4nOvSc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICfOlc67zqzOss6xz4TOtSDOsc+Fz4TPjCDPhM6/IM68zq7Ovc+FzrzOsSDOtc+AzrXOuc60zq4gzrrOrM+Azr/Ouc6/z4IgzrHOvc6tz4bOtc+BzrUgz4PPhM6/zr0gzrTOuc66z4TPhc6xzrrPjCDPhM+Mz4DOvyDPjM+Ezrkgzq3Ph861z4TOtSDOvs61z4fOrM+DzrXOuSDPhM6/zr0gzrrPic60zrnOus+MIM+Az4HPjM+DzrLOsc+DzrfPgi4gIM6Rzr0gz4zOvc+Ez4nPgiDOrc+Ez4POuSDPg8+FzrzOss6xzq/Ovc61zrkgzrTOuc6xzrLOrM+Dz4TOtSDPhM65z4Igz4DOsc+BzrHOus6sz4TPiSDOv860zrfOs86vzrXPgi4gIM6Rzr0gzrTOtc69IM6tz4fOtc+EzrUgzrnOtM6tzrEgzrPOuc6xIM6xz4XPhM+MIM+Ezr8gzrjOrc68zrEgzrTOuc6xzrPPgc6sz4jPhM61IM68zrUgzrHPg8+GzqzOu861zrnOsSDPhM6/IM+AzrHPgc+Mzr0gzrzOrs69z4XOvM6xLCDPg86xz4IgzrXPhc+HzrHPgc65z4PPhM6/z43OvM61IM6zzrnOsSDPhM6/zr0gz4fPgc+Mzr3OvyDPg86xz4IuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnzprPjs60zrnOus6xz4InOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnzp8gz4DOsc+BzrHOus6sz4TPiSDOus+OzrTOuc66zrHPgiDOrc+HzrXOuSDOtM63zrzOuc6/z4XPgc6zzrfOuM61zq8gz4TPhc+HzrHOr86xIM+Az4HOv866zrXOuc68zq3Ovc6/z4Ugzr3OsSDOtc+AzrHOu863zrjOtc+Fz4TOtc6vIM6/IM67zr/Os86xz4HOuc6xz4POvM+Mz4Igz4fPgc6uz4PPhM63LiAgz4zPhM6xzr0gzrrOrM69zrXPhM61IM66zrvOr866IM+Dz4TOv869IM+Fz4DOtc+Bz4PPjc69zrTOtc+DzrzOvyDPgM6/z4UgzrHOus6/zrvOv8+FzrjOtc6vIM64zrEgz4POsc+CIM61zrzPhs6xzr3Ouc+Dz4TOtc6vIM6tzr3OsSDPgM61zrTOr86/IM6zzrnOsSDPhM63zr0gzrXOuc+DzrHOs8+JzrPOriDPhM6/z4UgzrrPjs60zrnOus6xLiAgzqPPhc69zq7OuM+Jz4Igz4TOvyDPgM61zrTOr86/IM6tz4fOtc65IM+Az4HOv8+Dz4XOvM+AzrvOt8+Bz4nOvM6tzr3OvyDPhM6/zr0gzrrPjs60zrnOus6xIM6xzrvOu86xIM+Dz4TOt869IM+AzrXPgc6vz4DPhM+Jz4POtyDPgM6/z4UgzrTOtc69IM61zq/Ovc6xzrksIM6/IM66z47OtM65zrrOsc+CIM61zq/Ovc6xzrk6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnzprOrM69z4nOvc+EzrHPgiDOus67zq/OuiDPg8+Ezr8gz4DOsc+BzrHOus6sz4TPiSDPhc+AzrXPgc+Dz43Ovc60zrXPg868zr8gzrjOsSDOvM61z4TOsc+GzrXPgc64zrXOr8+EzrUgz4PPhM6/IM60zrnOus+Ez4XOsc66z4wgz4TPjM+Azr8gz4zPgM6/z4UgzrjOsSDOtc65z4POrM6zzrXPhM61IM+Ezr/OvSDPgM6xz4HOsc+AzrHOrM69z4IgzrrPjs60zrnOus6xIM66zrHOuSDOuM6xIM6xzrvOu86szr7Otc+EzrUgz4TOv869IM66z4nOtM65zrrPjDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ86ezrXPh86xz4POvM6tzr3Ov8+CIM66z4nOtM65zrrPjM+CJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnzpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOtc+Nz4HOtc+Dzrcgz4TOv8+FIM6xz4HOuM+Bz47OvM6xz4TOv8+CIENNU01haWxlcic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICfOiM+HzrXOuSDOsc+Azr/Pg8+EzrHOu867zrXOryBlbWFpbCDPg8+Ezr/OvSAlcyDOvM61IM6/zrTOt86zzq/Otc+CIM6zzrnOsSDPhM6/zr0gz4TPgc+Mz4DOvyDOsc67zrvOsc6zzq7PgiDOus+JzrTOuc66zr/PjS4gIM6jzrHPgiDOtc+Fz4fOsc+BzrnPg8+Ezr/Pjc68zrUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICfOj8+Dz4TOtSDOvs61z4fOrM+DzrHPhM61IM6uIM+HzqzPg86xz4TOtSDPhM6/zr0gzrrPic60zrnOus+MIM+Az4HPjM+DzrLOsc+DzrfPgi4gzpvOv865z4DPjM69LCDPgM67zrfOus+Ez4HOv867zr/Os86uz4PPhM61IM+Ezr8gz4zOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcgzrXOtM+OLCDOus6xzrkgzqzOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOtc+Nz4HOtc+Dzrcgz4POsc+CIM64zrEgz4POsc+CIM+Dz4TOsc67zrvOtc6vIM6tzr3OsSBlbWFpbCDOvM61IM6/zrTOt86zzq/Otc+CIM6zzrnOsSDPhM63zr0gzrHOu867zrHOs86uIM+Ezr/PhSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ86gz4HPjM+Ez4XPgM6xIM6zzrnOsSDPhM6/z4XPgiDPh86xzrzOrc69zr/Phc+CIM66z4nOtM65zrrOv8+Nz4InOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnzpTOtc69IM61z4XPgc6tzrjOt866zrUgzrcgzrnOtM65z4zPhM63z4TOsSAlcyAnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ86Vz4XPgc6tzrjOt866zrHOvSDOv865IM65zrTOuc+Mz4TOt8+EzrXPgic7CiRsYW5nWydhZGRwcm9wJ10gPSAnzqDPgc6/z4POuM6uzrrOtyDOuc60zrnPjM+EzrfPhM6xz4InOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ86kzr8gzrHPgM6xzrnPhM6/z43OvM61zr3OvyDPgM61zrTOr86/ICglcykgzq7PhM6xzr0gzrrOtc69z4wnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICfOlc65z4POrM6zzrXPhM61IM6tzr3Osc69IM69zrXPjCDOus+JzrTOuc66z4wgzrXOtM+OIM+Az4HOv866zrXOuc68zq3Ovc6/z4Ugzr3OsSDOsc67zrvOrM6+zrXPhM61IM66z4nOtM65zrrPjCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ86UzrXOvSDOrc+HzrXPhM61IM66zqzOvc61zrkgzrXOuc+DzrHOs8+JzrPOric7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnzqHPhc64zrzOr8+DzrXOuc+CJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnzpXOs86zz4HOsc+Gzq4nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICfOkc+Fz4TPjM+CIM6/IM67zr/Os86xz4HOuc6xz4POvM+Mz4Igzq3Ph861zrkgzrvOrs6+zrXOuSc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnzpHOvc+EzrnOus6xzr3Ov869zrnOus6uIM68zr/Pgc+Gzq4gzrTOuc61z43OuM+Fzr3Pg863z4IgZW1haWwnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICfOnM63IM6xz4DOv860zrXOus+Ezq4gzrfOvM61z4HOv868zrfOvc6vzrEgzrvOrs6+zrfPgic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnzqPPhs6szrvOvM6xIM+Dz4TOt869IM+Bz43OuM68zrnPg863IM+EzrfPgiDOuc60zrnPjM+EzrfPhM6xz4IgJXMgzrPOuc6xIM+Ezr/OvSDPh8+Bzq7Pg8+EzrcgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICfOnM63IM6xz4DOv860zrXOus+Ez4wgzrHOvc6xzrPOvc+Jz4HOuc+Dz4TOuc66z4wgzrPOuc6xIM+EzrfOvSDOv868zqzOtM6xICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnzprPgc+Fz4bPjCDPgM61zrTOr86/IM60zrXOr866z4TOtyc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnzprPgc+Fz4bPjCDPgM61zrTOr86/IM+Hz4HPjs68zrHPhM6/z4InOwokbGFuZ1snaGlkZGVuJ10gPSAnzprPgc+Fz4bPjCc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnzpcgzr/Ovc6/zrzOsc+Dzq/OsSDOsc+Fz4TOrs+CIM+EzrfPgiDOmc60zrnPjM+EzrfPhM6xz4Igzq3Ph861zrkgzq7OtM63IM6xz4DOv860zr/OuM61zq8nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnzpTOtc69IM6tz4fOv8+Fzr0gzr/Pgc65z4PPhM61zq8gzrnOtM65z4zPhM63z4TOtc+CJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnzpTOtc69IM6tz4fOv8+Fzr0gzrXPgM65zrvOtc6zzrXOryDOuc60zrnPjM+EzrfPhM61z4IgzrPOuc6xIM6xz4XPhM6uzr0gz4TOt869IM6/zrzOrM60zrEnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICfOlc+Fz4HOrc64zrfOus6xzr0gzr/OvM6szrTOtc+CJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICfOkc+AzrHOuc+EzrXOr8+EzrHOuSDPg8+FzrzOvM61z4TOv8+Hzq4gz4POtSDPhM6/z4XOu86sz4fOuc+Dz4TOv869IM68zq/OsSDOv868zqzOtM6xJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICfOkc+AzrHOuc+EzrXOr8+EzrHOuSDPg8+FzrzOvM61z4TOv8+Hzq4gz4POtSDPhM6/z4XOu86sz4fOuc+Dz4TOv869IM68zq/OsSDOv868zqzOtM6xJzsKJGxhbmdbJ2JhY2snXSA9ICfOoM6vz4PPiSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnzqTOvyAlcyDOtc6vzr3Osc65IM6xz4DOsc65z4TOv8+NzrzOtc69zr8gz4DOtc60zq/Ovyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnzqPOt868zqzOvc61z4TOtSDPhM6xIM6xz4DOsc65z4TOv8+NzrzOtc69zrEgz4DOtc60zq/OsSDOvM61JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ86Vz4DOuc+DzrfOvM6szr3Otc+EzrUgz4TOsSDOsc+AzrHOuc+Ezr/Pjc68zrXOvc6xIM+AzrXOtM6vzrEgzrzOtSc7CiRsYW5nWyduZXh0J10gPSAnzpXPgM+MzrzOtc69zr8nOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICfOpc+AzqzPgc+HzrXOuSDOrs60zrcgzr/OvM6szrTOsSDOvM61IM6xz4XPhM+MIM+Ezr8gz4zOvc6/zrzOsSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ86Rz4DOsc65z4TOv8+NzrzOtc69zr8gz4DOtc60zq/Ovyc7CiRsYW5nWydvcHRpb25hbCddID0gJ86gz4HOv86xzrnPgc61z4TOuc66zqwnOwokbGFuZ1snb2ZmJ10gPSAnzpXOus+Ez4zPgic7CiRsYW5nWydsZW5ndGgnXSA9ICfOnM6uzrrOv8+CJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KM+HzrHPgc6xzrrPhM6uz4HOtc+CIM+Dz4TOt869IM61zrnPg86xzrPPic6zzq4gzrrOtc65zrzOrc69zr/PhSknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ86Vz4DOuc67zr/Os86tz4IgzrzOtc69zr/PjSBEcm9wZG93biwgzrzOtSDOtM65zrHPh8+Jz4HOuc+Dz4TOuc66zq3PgiDOs8+BzrHOvM68zq3Pgic7CiRsYW5nWyd5ZXMnXSA9ICfOnc6xzrknOwokbGFuZ1sncHJvbXB0J10gPSAnzqDPgc6/z4TPgc6/z4DOric7CiRsYW5nWyd0eXBlJ10gPSAnzqTPjc+Azr/Pgic7CiRsYW5nWyd0ZXh0J10gPSAnzprOtc6vzrzOtc69zr8nOwokbGFuZ1snY2hlY2tib3gnXSA9ICfOkc69z4TOuc66zrXOr868zrXOvc6/IM61zrvOrc6zz4fOv8+FIENoZWNrYm94JzsKJGxhbmdbJ2VtYWlsJ10gPSAnzpTOuc61z43OuM+Fzr3Pg863IEVtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnzqDOtc+BzrnOv8+Hzq4gzrrOtc65zrzOrc69zr/PhSc7CiRsYW5nWydkcm9wZG93biddID0gJ86czrXOvc6/z40gRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICfOms6xzrvPjs+CIM6uzrvOuM6xz4TOtSc7CiRsYW5nWydsb2dvdXQnXSA9ICfOkc+Azr/Pg8+Nzr3OtM61z4POtyc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICfOkc67zrvOsc6zzq4gz4DPgc6/z4PPic+AzrnOus+Ozr0gz4HPhc64zrzOr8+DzrXPic69JzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnzpcgz4PPjc69zrTOtc+DzrcgzrHPgM6tz4TPhc+HzrUgLSDOnM63IM6xz4DOv860zrXOus+Ez4wgz4zOvc6/zrzOsSDPh8+Bzq7Pg8+Ezrcgzq4gzrrPic60zrnOus6/z40nOwokbGFuZ1snbG9naW4nXSA9ICfOlc6vz4POv860zr/Pgic7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICfOjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICfOms+JzrTOuc66z4zPgic7CiRsYW5nWydyZWdpc3RlciddID0gJ86VzrPOs8+BzrHPhs6uJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnzp7Otc+HzqzPg86xz4TOtSDPhM6/zr0gzrrPic60zrnOus+MPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ86gz4HOv861z4DOuc67zr/Os86tz4InOwokbGFuZ1sndGVtcGxhdGUnXSA9ICfOoM+Bz4zPhM+Fz4DOvyc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICfOpM6/IM6xzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIM+Hz4HOrs+Dz4TOtyDOtM61zr0gzrXPhc+Bzq3OuM63zrrOtSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnzpHPhc+Ez4wgz4TOvyDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyAoJXMpIM+Hz4HOt8+DzrnOvM6/z4DOv865zrXOr8+EzrHOuSDOrs60zrcnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ86nz4HOrs+DzrcgU01UUCDOs865zrEgz4TOt869IM61z4DOuc66z43Pgc+Jz4POtyDPhM+Jzr0gzrTOuc61z4XOuM+Nzr3Pg861z4nOvSBlbWFpbD8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnzpXOu86sz4fOuc+Dz4TOvyDOvM6uzrrOv8+CIM6az4nOtM65zrrOv8+NJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ86czq3Os865z4PPhM6/IM68zq7Ous6/z4IgzprPic60zrnOus6/z40nOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnzpXOu86sz4fOuc+Dz4TOvyDOvM6uzrrOv8+CIM6/zr3PjM68zrHPhM6/z4Igz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ86czq3Os865z4PPhM6/IM68zq7Ous6/z4Igzr/Ovc+MzrzOsc+Ezr/PgiDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnzqfPgc+Mzr3Ov8+CIM67zq7Ovs63z4IgzrTOuc61z4DOsc+Gzq7PgiAozrTOtc+Fz4TOtc+Bz4zOu861z4DPhM6xKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ86Vz4DOuc+Ez4HOrc+AzrXPhM6xzrkgzrcgzrXOs86zz4HOsc+Gzq4gz4PPhM63zr0gz4XPgM63z4HOtc+Dzq/OsSBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnzqDPgc6/zrXPgM65zrvOtc6zzrzOrc69zrcgzr/OvM6szrTOsSDOs865zrEgz4TOv8+Fz4Igzr3Orc6/z4XPgiDPh8+Bzq7Pg8+EzrXPgic7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ86RzrvOu86xzrPOriDPgc+FzrjOvM6vz4POtc+Jzr0gz4DPgc6/z4TPjc+Azr/PhSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnzp/OuSDOus+JzrTOuc66zr/OryDPgM+Bz4zPg86yzrHPg863z4IgzrTOtc69IM+EzrHOuc+BzrnOrM62zr/Phc69JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ86czrcgzrHPgM6/zrTOtc66z4TPjCDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICfOnM63IM6xz4DOv860zrXOus+Ez4zPgiDOus+JzrTOuc66z4zPgic7CiRsYW5nWydlZGl0dXNlciddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEgz4PPhM6/zrnPh861zq/Pic69IM+Hz4HOrs+Dz4TOtyc7CiRsYW5nWyd2YWxpZCddID0gJ86IzrPOus+Fz4HOvyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ86Mzr3Ov868zrEgz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3N0YXR1cyddID0gJ86azrHPhM6sz4PPhM6xz4POtyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICfOkc+Fz4TPjM+CIM6/IM+Hz4HOrs+Dz4TOt8+CIM60zrXOvSDOtc6vzr3Osc65IM68zq3Ou86/z4IgzrrOsc68zrzOr86xz4Igzr/OvM6szrTOsc+CJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICfOp8+Jz4HOr8+CIM65zrTOuc+Mz4TOt8+EzrXPgic7CiRsYW5nWyd2YWx1ZSddID0gJ86kzrnOvM6uJzsKJGxhbmdbJ2dyb3VwcyddID0gJ86fzrzOrM60zrXPgic7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnzpnOtM65z4zPhM63z4TOtc+CJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnzozOvc6/zrzOsSDOuc60zrnPjM+EzrfPhM6xz4InOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnzqTOuc68zq4gzrnOtM65z4zPhM63z4TOsc+CJzsKJGxhbmdbJ2FkZCddID0gJ86gz4HOv8+DzrjOrs66zrcnOwokbGFuZ1snZWRpdCddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEnOwokbGFuZ1snZXhwaXJlcyddID0gJ86bzq7Os861zrknOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnzp/Pgc65z4POvM+Mz4IgzrfOvM61z4HOv868zrfOvc6vzrHPgic7CiRsYW5nWycxMmhycyddID0gJzEyIM+Oz4HOtc+CJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgz47Pgc61z4InOwokbGFuZ1snNDhocnMnXSA9ICc0OCDPjs+BzrXPgic7CiRsYW5nWycxd2VlayddID0gJzEgzrXOss60zr/OvM6szrTOsSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIM61zrLOtM6/zrzOrM60zrXPgic7CiRsYW5nWycxbW9udGgnXSA9ICcxIM68zq7Ovc6xz4InOwokbGFuZ1snM21vbnRocyddID0gJzMgzrzOrs69zrXPgic7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiDOvM6uzr3Otc+CJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSDOrc+Ezr/Pgic7CiRsYW5nWyduZXZlciddID0gJ86gzr/PhM6tJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ86kzr8gzqzPgc64z4HPic68zrEgzrXOs866zrHPhM6xz4PPhM6szrjOt866zrUgzrXPgM65z4TPhc+Hz47Pgi48YnIvPs6SzrXOss6xzrnPic64zq7PhM61IM+Mz4TOuSDOv8+Bzq/Pg86xz4TOtSDOtM65zrrOsc65z47OvM6xz4TOsSAizqTPgc6/z4DOv8+Azr/Or863z4POtyDOuc60zrnOv8+Ezq7PhM+Jzr0gz4PPhM6xIM60zrnOus6xzrnPjs68zrHPhM6xIM+Ezr/PhSBGcm9udEVuZFVzZXIuIic7CiRsYW5nWydwYXNzd29yZCddID0gJ86az4nOtM65zrrPjM+CIM+Az4HPjM+DzrLOsc+DzrfPgic7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ86Vz4DOsc69zqzOu863z4jOtyc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnzpcgzr/OvM6szrTOsSDOvM61IM6xz4XPhM6uzr0gz4TOt869IM6/zr3Ov868zrHPg86vzrEgz4XPgM6sz4HPh861zrkgzq7OtM63JzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ86Vz4DOtc6+zrXPgc6zzrHPg86vzrEgzr/OvM6szrTOsc+CJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ86Rz4DOv8+Dz4TOv867zq4nOwokbGFuZ1snY2FuY2VsJ10gPSAnzobOus+Fz4HOvyc7CiRsYW5nWydkZWxldGUnXSA9ICfOlM65zrHOs8+BzrHPhs6uJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnzpXOr8+Dz4TOtSDPg86vzrPOv8+Fz4HOv865IM+Mz4TOuSDOsc+Fz4TOrc+CIM61zq/Ovc6xzrkgzr/OuSDOus6xz4TOrM67zrvOt867zrXPgiDPgc+FzrjOvM6vz4POtc65z4IgzrPOuc6xIM6xz4XPhM6uzr0gz4TOt869IM6/zrzOrM60zrE/XG4gzpcgzrHPgM6/zrXOvc61z4HOs86/z4DOv86vzrfPg863IM68zrnOsc+CIM65zrTOuc+Mz4TOt8+EzrHPgiDOtM61zr0gOM6xIM6tz4fOtc65IM+Jz4Igz4PPhc69zq3PgM61zrnOsSDPhM63zr0gzrTOuc6xzrPPgc6xz4bOriDOus6sz4DOv865zrHPgiDOtc6zzrPPgc6xz4bOrs+CIM+Dz4TOv869IM+Azq/Ovc6xzrrOsSDOuc60zrnOv8+Ezq7PhM+Jzr0gzrPOuc6xIM+EzrfOvSDOv868zqzOtM6xL8+Hz4HOrs+Dz4TOty4gIM6Rz4DOu86sIM60zrXOvSA4zrEgzrXOr869zrHOuSDOtM65zrHOuM6tz4POuc68zrEuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICfOlc6vz4PPhM61IM+Dzq/Os86/z4XPgc6/zrkgzrPOuc6xIM+EzrfOvSDOtM65zrHOs8+BzrHPhs6uIM6xz4XPhM6uz4Igz4TOt8+CIM6/zrzOrM60zrHPgj8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuSDOs865zrEgz4TOt869IM+AzrvOrs+BzrcgzrTOuc6xzrPPgc6xz4bOriDOsc+Fz4TOrs+CIM+EzrfPgiDOuc60zrnPjM+EzrfPhM6xz4I/XG7Oms6xz4RcJ86xz4XPhM+Mzr0gz4TOv869IM+Ez4HPjM+Azr8gzrjOsSDOtM65zrHOs8+BzrHPhs6/z43OvSDOus6xzrkgzr/PgM6/zrnOtc+CIM61zrPOs8+BzrHPhs6tz4Igz4fPgc6uz4PPhM63IM6xz4bOv8+Bzr/Pjc69IM+EzrfOvSDOuc60zrnPjM+EzrfPhM6xIM6xz4XPhM6uLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICfOkc66zrHOuM+Mz4HOuc+Dz4TOtc+CIM+AzrHPgc6szrzOtc+Ez4HOv865JzsKJGxhbmdbJ2lkJ10gPSAnzpHOvc6xzrPOvc+Jz4HOuc+Dz4TOuc66z4wnOwokbGFuZ1snbmFtZSddID0gJ86fzr3Ov868zrHPg86vzrEnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdvcnVwJ10gPSAnzqDPgc+MzrLOu863zrzOsSDPg8+EzrfOvSDPgM+Bzr/Pg864zq7Ous63IM6/zrzOrM60zrHPgic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnzpzOriDOrc6zzrrPhc+BzrXPgiDPgM6xz4HOrM68zrXPhM+Bzr/OuSc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ86Vz4bOsc+BzrzOv86zzq4nOwokbGFuZ1snZmlsdGVyJ10gPSAnzqbOr867z4TPgc6/JzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdSZWd1bGFyIEV4cHJlc3Npb24gzrPOuc6xIM+Ezr8gz4zOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfOoM61z4HOuc6zz4HOsc+Gzq4nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnzp/Ovc6/zrzOsc+Dzq/OsSDOv868zqzOtM6xz4InOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnzpHPgM6xzrPOv8+BzrXPjc61z4TOsc65IM63IM+Az4HPjM+DzrLOsc+DzrcuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnzqPPhs6szrvOvM6xJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnzqDPgc6/z4POuM6uzrrOtyDOvc6tzrHPgiDOn868zqzOtM6xz4InOwokbGFuZ1snYWRkdXNlciddID0gJ86gz4HOv8+DzrjOrs66zrcgzr3Orc6/z4Ugz4fPgc6uz4PPhM63JzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICfOlc+Fz4HOrc64zrfOus6xzr0gzr/OuSDPgM6xz4HOsc66zqzPhM+JIM+Hz4HOrs+Dz4TOtc+CIM+Azr/PhSDOuc66zrHOvc6/z4DOv865zr/Pjc69IM+EzrEgzrrPgc65z4TOrs+BzrnOsSc7CiRsYW5nWydncm91cCddID0gJ86fzrzOrM60zrEnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICfOlc+AzrnOu86/zrPOriDOv868zqzOtM6xz4InOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnzqDPgc+Mz4TPhc+Azr8gzrXOs86zz4HOsc+Gzq7Pgic7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICfOoM+Bz4zPhM+Fz4DOvyDOsc+Azr/Pg8+Nzr3OtM61z4POt8+CJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnzqDPgc+Mz4TPhc+Azr8gz4PPjc69zrTOtc+DzrfPgic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ86gz4HOv8+EzrnOvM6uz4POtc65z4InOwokbGFuZ1sndXNlcnMnXSA9ICfOp8+Bzq7Pg8+EzrXPgic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICfOlM65zrHPh861zq/Pgc65z4POtyDOtc6zzrPOtc6zz4HOsc68zq3Ovc+Jzr0gz4fPgc63z4PPhM+Ozr0nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICfOlM65zrHPh861zrnPgc65z4PPhM61zq/PhM61IM+Ezr/Phc+CIM61zrPOs861zrPPgc6xzrzOrc69zr/Phc+CIM+Hz4HOrs+Dz4TOtc+CJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICfOoM+Bzr/Otc+AzrnOu861zrPOvM6tzr3OtyDOsc+Bz4fOuc66zq4gz4POtc67zq/OtM6xJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICfOo861zrvOr860zrEgz4DOv8+FIM+Az4HOv8+Dz4DOtc67zqzPg8+EzrfOus61IM+Az4HPjM+Dz4bOsc+EzrEnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnzobOu867zrcgz4POtc67zq/OtM6xOiAnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCjwvcD4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICJVc2VycyAmIGdHcm91cHMiIG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJ05leHRcJzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzLCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSJuYW1lIjwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89InBhZ2UiPC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ0lEIFAmYWFjdXRlO2cuL0FsaWFzIGEgZG9uZGUgaXIgbHVlZ28gZGUgdmVyaWZpY2FyIGMmb2FjdXRlO2RpZ28gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBEZXRhbGxlcyBkZSBVc3VhcmlvcyBQZXJkaWRvcyc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBDb25maXJtYWNpJm9hY3V0ZTtuIGRlIFVzdWFyaW9zIFBlcmRpZG9zJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRXJyb3I6IE0mYWFjdXRlO3MgZGUgdW5hIGN1ZW50YSBkZSB1c3VhcmlvIGNvaW5jaWRlbiBjb24gbGFzIHByb3BpZWRhZGVzIGVzcGVjaWZpY2FkYXMnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRXJyb3I6IE5vIHNlIHB1ZG8gaGFsbGFyIHVuIHVzdWFyaW8gcXVlIGNvaW5jaWRhJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvcjogTm8gc2UgcHVkbyBoYWxsYXIgdW4gZ3J1cG8gY29uIGVzZSBub21icmUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdTb2xvIExlY3R1cmEnOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ0NsYXNlIFVzZXIgTWFuaXB1bGF0b3InOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnUXVpdGFkbyBkZWwgc2lzdGVtYSBwb3IgZWwgYWRtaW5pc3RyYWRvcic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnTW9zdHJhciBzb2xvIHVzdWFyaW9zIGxvZ3VlYWRvcyc7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnRGVzbG9ndWVhciBlc3RlIHVzdWFyaW8nOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnUHJvcGllZGFkZXMgZGVsIFVzdWFyaW8nOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0b3JpYWwgZGVsIFVzdWFyaW8nOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0YXInOwokbGFuZ1snY2xlYXInXSA9ICdMaW1waWFyJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydGFyIGhpc3RvcmlhbCBkZWwgdXN1YXJpbyBhIEFTQ0lJJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnTGltcGlhciByZWdpc3Ryb3MgZGVsIEhpc3RvcmlhbCBkZWwgVXN1YXJpbyc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICcmaXF1ZXN0O09sdmlkJm9hY3V0ZTsgc3VzIERhdG9zIGRlIEFjY2Vzbz8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXhwb3J0YXIgZGVmaW5pY2kmb2FjdXRlO24gZGUgZ3J1cG8gKHkgcHJvcGllZGFkZXMpIGEgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdNYW50ZW5pbWllbnRvIGRlbCBIaXN0b3JpYWwgZGVsIFVzdWFyaW8nOwokbGFuZ1sneWVzJ10gPSAnUyZpYWN1dGU7JzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnRGUnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogU2luIExpbWl0ZSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdVbmEgSG9yYSc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICdTZWlzIEhvcmFzJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ0RvY2UgSG9yYXMnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdVbiBEJmlhY3V0ZTthJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ1VuYSBTZW1hbmEnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ0RvcyBTZW1hbmFzJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdVbiBNZXMnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1RyZXMgTWVzZXMnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZWlzIE1lc2VzJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ1VuIEEmbnRpbGRlO28nOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnQWdydXBhciB5IE9yZGVuYXInOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ1JlZ2lzdHJvcyBxdWUgY3VtcGxhbiBlbCBjcml0ZXJpbyc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ05vbWJyZSBkZSBVc3VhcmlvIGRlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdOb21icmUgZGUgVXN1YXJpbyBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdGZWNoYSBkZXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdGZWNoYSBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ1RpcG8gZGUgRXZlbnRvIGRlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnVGlwbyBkZSBFdmVudG8gYXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIElQIGRlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBJUCBhc2NlbmRlbnRlJzsKJGxhbmdbJ2luZm9fbm9oaXN0b3J5ZGV0ZWN0ZWQnXSA9ICdIaXN0b3JpYWwgbm8gZGV0ZWN0YWRvJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzdGFibGVjZXInOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnQWdydXBhciBwb3IgRGlyZWNjaSZvYWN1dGU7biBJUCc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRybyBkZSBUaXBvIGRlIEV2ZW50byc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdNb3N0cmFyIHNvbG8gZXZlbnRvcyBpbmZlcmlvcmVzIGE6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdMaW1pdGUgZGUgbGEgUCZhYWN1dGU7Z2luYSc7CiRsYW5nWydmb3InXSA9ICdwYXJhJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnSW5mb3JtZSBkZWwgSGlzdG9yaWFsIGRlbCBVc3VhcmlvJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdEZXNjb25vY2lkbyc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBJUCc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVGlwbyBkZSBFdmVudG8nOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdGZWNoYSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnVm9sdmVyJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdPcGVyYWNpJm9hY3V0ZTtuIGRlIEltcG9ydGFjaSZvYWN1dGU7biBDb21wbGV0YWRhJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0wmaWFjdXRlO25lYXMgUHJvY2VzYWRhcyc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnRXJyb3JlcyBFbmNvbnRyYWRvcyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVnaXN0cm9zIEEmbnRpbGRlO2FkaWRvcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnTm8gc2UgcHVlZGUgaGFsbGFyIGxhcyBwcm9waWVkYWRlcyBkZWwgZ3J1cG8gJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdObyBzZSBwdWRvIG9idGVuZXIgdW5hIHJlc3B1ZXN0YSBkZWwgc2Vydmlkb3IgU01UUCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdObyBzZSBwdWRvIGVuY29udHJhciBlbCBmaWNoZXJvIGVzcGVjaWZpY2FkbyAoJVMpJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdWYWxvciBpbnZhbGlkbyBwYXJhIGxhIGxpc3RhIGRlc3BsZWdhYmxlICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRWwgY2FtcG8gJXMgZXhjZWRlIGxhIGxvbmdpdHVkIG0mYWFjdXRlO3hpbWEnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdFcnJvciBkdXJhbnRlIGxhIEltcG9ydGFjaSZvYWN1dGU7biAobCZpYWN1dGU7bmVhICVzKTogJXMnOwokbGFuZ1snZXJyb3JfcHJvcGVydHlkZWZucyddID0gJ05vIHNlIHB1ZG8gb2J0ZW5lciBsYSBkZWZpbmljaSZvYWN1dGU7biBkZSBsYSBwcm9waWVkYWQgKGVycm9yIGludGVybm8pJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW1hcyBhbCBjb25maWd1cmFyIGluZm8gZGVsIHVzdWFyaW8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ05vIHNlIGVuY29udHImb2FjdXRlOyBsYSBjb2x1bW5hIGNvcnJlc3BvbmRpZW50ZSBhbCBjYW1wbyByZXF1ZXJpZG8gJXMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdObyBzZSBlbmNvbnRyYXJvbiBwcm9waWVkYWRlcyBwYXJhIGVsIGdydXBvIGVzcGVjaWZpY2Fkbyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnRWwgZm9ybWF0byBkZWwgZmljaGVybyBlc3BlY2lmaWNhZG8gbm8gZXMgY29ycmVjdG8nOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ05vIHNlIHB1ZG8gYWJyaXIgZWwgZmljaGVybyc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5JbmZvcm1hY2kmb2FjdXRlO24gZGUgRm9ybWF0byBkZSBBcmNoaXZvPC9oND4NCjxwPkVsIGFyY2hpdm8gcGFyYSBpbXBvcnRhciBkZWJlIHNlciBkZSBmb3JtYXRvIEFTQ0lJIHVzYW5kbyBsb3MgdmFsb3JlcyBzZXBhcmFkb3MgcG9yIGNvbWEuICBDYWRhIGwmaWFjdXRlO25lYSBlbiBlc3RlIGFyY2hpdm8gZGUgaW1wb3J0YWNpJm9hY3V0ZTtuIChjb24gZXhlcGNpJm9hY3V0ZTtuIGRlIGxhIGwmaWFjdXRlO25lYSBkZSBlbmNhYmV6YWRvcywgZGlzY3V0aWRhIGFiYWpvKSByZXByZXNlbnRhIGVsIHJlZ2lzdHJvIGRlIHVuIHVzdWFyaW8uICBDYWRhIGwmaWFjdXRlO25lYSBkZWJlIGNvbnRlbmVyIGVsIG1pc21vIG4mdWFjdXRlO21lcm8gZGUgY2FtcG9zLCB5IGVsIG9yZGVuIGRlIGxvcyBjYW1wb3MgZW4gY2FkYSBsJmlhY3V0ZTtuZWEgZGViZSBzZXIgaWQmZWFjdXRlO250aWNvLjwvcD4NCjxoNT5MJmlhY3V0ZTtuZWEgZGUgZW5jYWJlemFkbzwvaDU+DQo8dWw+DQo8bGk+TGEgcHJpbWVyYSBsJmlhY3V0ZTtuZWEgZGVsIGFyY2hpdm8gZGViZSBjb21lbnphciBjb24gZG9zIGNhcmFjdGVyZXMgbnVtZXJhbCAoXCMpLCB5IGxvcyBub21icmUgZGUgY2FkYSB1bm8gZGUgbG9zIGNhbXBvcyBlbiBlbCBhcmNoaXZvLiAgRWwgbm9tYnJlIGRlIGVzdG9zIGNhbXBvcyBlcyBzaWduaWZpY2F0aXZvLiAgSGF5IGFsZ3Vub3Mgbm9tYnJlIGRlIGNhbXBvcyByZXF1ZXJpZG9zICh2ZXIgYWJham8pLCB5IG90cm9zIG5vbWJyZXMgZGUgY2FtcG9zIGRlYmVuIGNvaW5jaWRpciBjb24gZWwgbm9tYnJlIGRlIGxhcyBwcm9waWVkYWRlcyBhc29jaWFkYXMgYSBsb3MgZ3J1cG9zIGRlIHVzdWFyaW9zIGEgbG9zIGN1YWxlcyB2YW4gYSBzZXIgYWdyZWdhZG9zLjwvbGk+DQo8bGk+RWwgcHJvY2VzbyBkZSBpbXBvcnRhY2kmb2FjdXRlO24gdmEgYSBmYWxsYXIgc2kgbG9zIGNhbXBvcyBlbiBlbCBhcmNoaXZvIGRlIGltcG9ydGFyIG5vIGNvaW5jaWRlbiBjb24gdG9kYXMgbGFzIHByb3BpZWRhZGVzIHJlcXVlcmlkYXMgYXNvY2lhZGFzIGEgbG9zIGdydXBvcyBkZSB1c3VhcmlvcyBhIGxvcyBjdWFsZXMgdmFuIGEgc2VyIGFncmVnYWRvcy48L2xpPg0KPGxpPkVsIGFyY2hpdm8gZGUgaW1wb3J0YXIgcHVlZGUgY29udGVuZXIgY2FtcG9zIHF1ZSByZXByZXNlbnRlbiBhbGd1bmFzIGRlIGxhcyBwcm9waWVkYWRlcyBvcGNpb25hbGVzIGVuIGVsIGdydXBvIGVzcGVjaWZpY2Fkby48L2xpPg0KPGxpPkVsIHByb2Nlc28gZGUgaW1wb3J0YXIgdmEgYSBpZ25vcmFyIGN1YWxxdWllciBjYW1wbyBlbiBlbCBhcmNoaXZvIGRlIGltcG9ydGFyIHF1ZSBwdWVkYSBzZXIgZGVzY29ub2NpZG8sIG8gbWFwZWUgcHJvcGllZGFkZXMgcXVlIHNlIGhhbGxlbiA8ZW0+YXBhZ2FkYXM8L2VtPiBlbiBlbCBncnVwbyBlc3BlY2lmaWNhZG8gZGUgdXN1YXJpb3MuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdJbXBvcnRhciBVc3VhcmlvcyBhIEVzdGUgR3J1cG8nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnSW5wb3J0YXIgRmljaGVybyBDU1YnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdBcmNoaXZvIFhNTCBkZSBFbnRyYWRhJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydGFyIFVzdWFyaW9zJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0ltcG9ydGFyIFVzdWFyaW9zJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0xpbXBpYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdSdXRhIGRlIERlc3Rpbm8gcGFyYSBsYSBJbWFnZW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdIYSBvY3VycmlkbyB1biBwcm9ibGVtYSBjb24gdW5hIHN1YmlkYSBpbmV4aXN0ZW50ZSAocGVybyByZXF1ZXJpZGEpJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdObyBzZSBwdWVkZSBwYXJzZWFyIGVsIGFyY2hpdm8gWE1MIHByb3Zpc3RvJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdObyBzZSBwdWVkZSBlbGltaW5hciB1biBncnVwbyBjb24gdXN1YXJpb3MnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0VzdGUgdXN1YXJpbyB5YSBlc3QmYWFjdXRlOyBsb2d1ZWFkbyc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdFbCB0ZXh0byBkZSBsYSBpbWFnZW4gbm8gZXMgY29ycmVjdG8nOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1Blcm1pdGlyIHF1ZSBsb3MgdXN1YXJpb3Mgc2UgbG9ndWVlbiBtJmFhY3V0ZTtzIGRlIHVuYSB2ZXonOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2lvbmVzIGRlIGltYWdlbiBwZXJtaXRpZGFzIHBhcmEgbG9zIFVzdWFyaW9zJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkV2ZW50byBnZW5lcmFkbyBjdWFuZG8gdW4gdXN1YXJpbyBlcyBlbGltaW5hZG88L3A+DQo8aDQ+UGFyJmFhY3V0ZTttZXRyb3M8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTm9tYnJlIGRlbCB1c3VhcmlvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElkIGRlbCB1c3VhcmlvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPlVuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gc2UgY3JlYSB1biB1c3VhcmlvPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlIHVzdWFyaW88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRWwgaWQgZGUgdXN1YXJpbzwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhZG8gY3VhbmRvIHNlIGFjdHVhbGl6YSB1biB1c3VhcmlvIChjdWFuZG8gbG8gaGFjZSBwb3Igc2kgbWlzbW8gbyBwb3IgZWwgYWRtaW4pPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gTm9tYnJlIGRlbCB1c3VhcmlvPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElkIGRlbCB1c3VhcmlvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBzZSBjcmVhIHVuIGdydXBvPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlIGdydXBvPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIExhIGRlc2NyaXBjaSZvYWN1dGU7biBkZWwgZ3J1cG88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gSWQgZGVsIGdydXBvPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBzZSBlbGltaW5hIHVuIGdydXBvPC9wPg0KPGg0PlBhciZhYWN1dGU7bWV0cm9zPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlbCBncnVwbzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBJZCBkZWwgZ3J1cG88L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhZG8gY3VhbmRvIHVuIHVzdWFyaW8gaW5ncmVzYSBhbCBQb3J0YWw8L3A+DQo8aDQ+UGFyJmFhY3V0ZTttZXRyb3M8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRWwgbm9tYnJlIGRlbCB1c3VhcmlvIHF1ZSBpbmdyZXMmb2FjdXRlOzwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBMYSBkaXJlY2NpJm9hY3V0ZTtuIElQIGRlbCBjbGllbnRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ1VuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gdW4gdXN1YXJpbyBpbmdyZXNhIGFsIHNpc3RlbWEnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1VuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gdW4gdXN1YXJpbyBzYWxlIGRlbCBzaXN0ZW1hJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBsYSBzZXNpJm9hY3V0ZTtuIGRlIHVuIHVzdWFyaW8gZXhwaXJhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyB1biBudWV2byB1c3VhcmlvIGVzIGNyZWFkbyc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ1VuIGV2ZW50byBnZW5lcmFkbyBjdWFuZG8gbGEgaW5mbyBkZSB1biB1c3VhcmlvIGVzIGFjdHVhbGl6YWRhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyBsYSBjdWVudGEgZGUgdW4gdXN1YXJpbyBlcyBlbGltaW5hZGEnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyB1biBncnVwbyBkZSB1c3VhcmlvcyBlcyBjcmVhZG8nOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnVW4gZXZlbnRvIGdlbmVyYWRvIGN1YW5kbyB1biBncnVwbyBkZSB1c3VhcmlvcyBlcyBlbGltaW5hZG8nOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0dydXBvIGRlIEFkbWluaXN0cmFjaSZvYWN1dGU7bic7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIExvcyBzaWd1aWVudGVzIG1hY3JvcyBwdWVkZW4gdXNhcnNlIGVuIGVzdG9zIGNhbXBvczogeyR1c2VybmFtZX0seyRncm91cH0uIEN1YW5kbyBzZSB1c2EgZWwgbWFjcm8geyRncm91cH0sIGVsIHNpc3RlbWEgdmEgYSBzdXN0aXR1aXIgZWwgbm9tYnJlIGRlbCBwcmltZXIgZ3J1cG8gZGUgbWllbWJyb3MgYWwgY3VhbCBlbCB1c3VhcmlvIHBlcnRlbmVjZSwgeSB2YSBhIHJlLWRpcmVjY2lvbmFyIGEgZXNhIHAmYWFjdXRlO2dpbmEuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdFZGl0YXIgZXN0ZSBjYW1wbyBwYXJhIHJlc2V0ZWFyIGxhIGNvbnRyYXNlJm50aWxkZTthIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdFZGl0YXIgZXN0ZSBjYW1wbyBwYXJhIHJlc2V0ZWFyIGxhIGNvbnRyYXNlJm50aWxkZTthIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1lhIGV4aXN0ZSB1biB1c2FyaW8gY29uIGVzZSBub21icmUnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnTm8gc2UgaGFuIGRldnVlbHRvIHJlc3VsdGFkb3MgZGUgbGEgZXhwb3J0YWNpJm9hY3V0ZTtuIGEgQ1NWJzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xvbmdpdHVkIGRlbCBjYW1wbyAmcXVvdDtOb21icmUgZGUgdXN1YXJpbyZxdW90Oyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMb25naXR1ZCBkZWwgY2FtcG8gJnF1b3Q7Q29udHJhc2UmbnRpbGRlO2EmcXVvdDsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ0xhcyBsb25naXR1ZGVzIE1pbi9NYXggZGUgbGEgY29udHJhc2UmbnRpbGRlO2Egc29uIGludmFsaWRhcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTGFzIGxvbmdpdHVkZXMgTWluL01heCBkZWwgbm9tYnJlIGRlIHVzdWFyaW8gc29uIGludmFsaWRhcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBkZSBlLW1haWwgaW52YWxpZGEnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyBwdWRpbW9zIGVuY29udHJhciB1bmEgZGlyZWNjaSZvYWN1dGU7biBkZSBlLW1haWwgcGFyYSBlc3RhIGN1ZW50YSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlbWFzIGFsIGVzdGFibGVjZXIgbGEgaW5mb3JtYWNpJm9hY3V0ZTtuIGRlbCB1c3VhcmlvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW1hcyBhbCBlc3RhYmxlY2VyIGxhIHByb3BpZWRhZCc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXN1YXJpbyBBJm50aWxkZTthZGlkbyAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1VzdWFyaW8gRWxpbWluYWRvIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3BpZWRhZCc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsb3IgKGV4cHJlc2kmb2FjdXRlO24gcmVndWxhciknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdDdWlkYWRvOiBFc3RvcyBjYW1wb3MgYWZlY3RhbiBhbCB0YW1hJm50aWxkZTtvIGRlIGxvcyBjYW1wb3MgZGUgdGV4dG8gZGUgbG9zIGZvcm11bGFyaW9zLiBSZWR1Y2lyIGVsIG4mdWFjdXRlO21lcm8gZW4gdW5hIHdlYiBleGlzdGVudGUsIHB1ZWRlIG5vIHNlciByZWNvbWVuZGFibGUuJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdFc3QmYWFjdXRlO3Mgc2VndXJvIGRlIHF1ZXJlciBhanVzdGFyIGxhcyBwcmVmZXJlbmNpYXMgZGVsIG0mb2FjdXRlO2R1bG8/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIGRlIGUtbWFpbCB5YSB1dGlsaXphZGEnOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNhciBjb29raWVzIHBhcmEgcmVjb3JkYXIgbG9zIGRldGFsbGVzIGRlIGFjY2Vzbyc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0VsIG5vbWJyZSBkZSBsYSBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQZXJtaXRpciBlLW1haWxzIGR1cGxpY2Fkb3MnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnSW50ZW50YXIgbWFudGVuZXIgbG9zIGluZ3Jlc29zIGNvbiB2aWRhIGNvbiBlbCB1c28gZGUgdW5hIGNvb2tpZSA8ZW0+KGxhIGNvb2tpZSBlcyByZXNldGVhZGEgY29uIGxhIGFjdGl2aWRhZCBkZWwgc2l0aW8gd2ViKTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhwZXJtaXRpciB2YXJpb3MgdXN1YXJpb3MgY29uIHVuYSBtaXNtYSBkaXJlY2NpJm9hY3V0ZTtuIGRlIGUtbWFpbCknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdQZXJtaXRpciByZWNvcmRhdG9yaW9zIGRlICZxdW90O2NvbnRyYXNlJm50aWxkZTthIG9sdmlkYWRhJnF1b3Q7IGR1cGxpY2Fkb3M/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhwZXJtaXRpciBsYSBwZXRpY2kmb2FjdXRlO24gZGUgcmVzZXRlbyBkZSBjb250cmFzZSZudGlsZGU7YSwgYXVucXVlIGVsIHVzdWFyaW8gbm8gaGF5YSB1dGlsaXphZG8gbnVuY2EgbGEgYW50ZXJpb3IpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNhciBwZXJtaXNvcyBlc3BlY2lmaWNvcyBwYXJhIGVsIFVzdWFyaW8gZGUgRnJvbnQtZW5kPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbWVudGUsIGxvcyBwZXJtaXNvcyBkZSBsb3MgVXN1YXJpb3MgRkUgc29uIGVxdWl2YWxlbnRlcyBhIGxvcyBwZXJtaXNvcyBkZWwgQXJlYSBkZSBBZG1pbmlzdHJhY2kmb2FjdXRlO24gY29tbyBBJm50aWxkZTthZGlyIFVzdWFyaW8sIEEmbnRpbGRlO2FkaXIgR3J1cG8sIGV0Yy4gU2kgc2VsZWNjaW9uYSBlc3RhIG9wY2kmb2FjdXRlO24sIGhhYnImYWFjdXRlOyBwZXJtaXNvcyBkaWZlcmVudGVzIHBhcmEgbG9zIFVzdWFyaW8gRkUuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnTm8gc2UgcHVkbyBlbmNvbnRyYXIgZWwgZmljaGVybyBzdWJpZG8gKGVycm9yIGludGVybm8pJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnSHVibyB1biBwcm9ibGVtYSBjb24gc3UgYXJjaGl2byBzdWJpZG8uICBQb3IgZmF2b3IgcHJ1ZWJlIG51ZXZhbWVudGUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnTm8gaW5kaWMmb2FjdXRlOyB1biBub21icmUgZGUgdXN1YXJpbyc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdObyBpbmRpYyZvYWN1dGU7IHVuYSBjb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnU2FsaWRhIGRlIFVzdWFyaW8gZGVsIFBvcnRhbCc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdJbmdyZXNvIGRlIFVzdWFyaW8gZGVsIFBvcnRhbCc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPlRFTkdBIFBSRUNBVUNJJk9hY3V0ZTtOPC9iPiBjdWFuZG8gc2UgY2FtYmlhIHByb3BpZWRhZGVzIGV4aXN0ZW50ZXMgcXVlIHNvbiBhc2lnbmFkYXMgYSBncnVwb3MsIHBvdGVuY2lhbG1lbnRlIHVzdGVkIHB1ZWRlIGNhdXNhciBkYSZudGlsZGU7byB5IGRlc2hhY2VyIHVuIHNpdGlvIGV4aXN0ZW50ZSA8aT4oZXNwZWNpYWxtZW50ZSBzaSByZWR1Y2UgbGEgbG9uZ2l0dWQgZGUgbG9zIGNhbXBvcywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRXN0YSBmdW5jaSZvYWN1dGU7biBubyB0cmFiYWphIGVuIFdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ05vIGNyZWFyIHVuYSBwcm9waWVkYWQgcGFyYSBlbCB1c3VhcmlvLCBvIGxhIGNvbnRyYXNlJm50aWxkZTthLCB5YSBxdWUgZXN0YXMgcHJvcGllZGFkZXMgc29uIHBhcnRlIGRlbCBtJm9hY3V0ZTtkdWxvIFVzdWFyaW9zIGRlbCBQb3J0YWwnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydGFyIFVzdWFyaW9zIGEgQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydGFyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGFyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZGl0YXIgUHJvcGllZGFkJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ0xvbmdpdHVkIG0mYWFjdXRlO3hpbWEnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWFkbyc7CiRsYW5nWydzb3J0YnknXSA9ICdPcmRlbmFyIHBvcic7CiRsYW5nWydzb3J0J10gPSAnT3JkZW5hbmRvJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzdWFyaW9zIGVuIGVsL2xvcyBncnVwbyhzKSBzZWxlY2Npb25hZG8ocyknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnTGltaXRhciByZXN1bHRhZG9zIGEnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnTm8gc2UgaGEgcG9kaWRvIGVuY29udHJhciB1biBjYW1wbyBkZSBlLW1haWwgcGFyYSBlc3RlIHVzdWFyaW8uIEVzIHBvc2libGUgcXVlIHRlbmdhIHF1ZSBwb25lcnNlIGVuIGNvbnRhY3RvIGNvbiBlbCBhZG1pbmlzdHJhZG9yIGRlbCBzaXN0ZW1hJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnSURQJmFhY3V0ZTtnL0FsaWFzIHBhcmEgZm9ybXVsYXJpbyBkZSBPbHZpZG8gZGUgQ29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdJRFAmYWFjdXRlO2cvQWxpYXMgcGFyYSBmb3JtdWxhcmlvIGRlIENhbWJpbyBDb25maWd1cmFjaSZvYWN1dGU7bic7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ0lEUCZhYWN1dGU7Zy9BbGlhcyBwYXJhIHNhbHRhciBsdWVnbyBkZWwgaW5ncmVzbyonOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnSURQJmFhY3V0ZTtnL0FsaWFzIHBhcmEgc2FsdGFyIGx1ZWdvIGRlbCBlZ3Jlc28qJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ0Zvcm1hIGRlIG9yZGVuYXInOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSGF5IHVuIGNpZXJ0byBuJnVhY3V0ZTttZXJvIGRlIHVzdWFyaW9zIHF1ZSBlc3QmYWFjdXRlO24gZW4gZWwgbWVkaW8gZGUgdW5hIHJlY3VwZXJhY2kmb2FjdXRlO24gZGUgY29udHJhc2UmbnRpbGRlO2EgcGVyZGlkYS4gRWwgbiZ1YWN1dGU7bWVybyBhc2NpZW5kZSBhOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0VsaW1pbmFyIHRvZGFzIGxhcyBlbnRyYWRhcyBkZSBoYWNlIG0mYWFjdXRlO3MgZGUgdW5hIHNlbWFuYSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdFbGltaW5hciB0b2RhcyBsYXMgZW50cmFkYXMgZGUgaGFjZSBtJmFhY3V0ZTtzIGRlIHVuIG1lcyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdFbGltaW5hciB0b2RhcyBsYXMgZW50cmFkYXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZpcXVlc3Q7RXN0JmFhY3V0ZTsgc2VndXJvPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ1NlIGhhIGludHJvZHVjaWRvIHVuIGMmb2FjdXRlO2RpZ28gaW52YWxpZG8sIHZ1ZWx2YSBhIGludGVudGFybG8nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ05vIHNlIHB1ZG8gaGFsbGFyIHVuIGMmb2FjdXRlO2RpZ28gdGVtcG9yYXJpbyBwYXJhIHN1IGlkIGRlIHVzdWFyaW8gZW4gbGEgYmFzZSBkZSBkYXRvcyc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSB1c2FkYSBwYXJhIG1vc3RyYXIgZWwgZm9ybXVsYXJpbyBkZSB2ZXJpZmljYWNpJm9hY3V0ZTtuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgcGFyYSBlbCBlbWFpbCBkZSBjb250cmFzZSZudGlsZGU7YSBvbHZpZGFkYSc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnQmllbiB1c3RlZCB1IG90cmEgcGVyc29uYSB5YSBoYW4gcmVjbGFtYWRvIHBvciB1bmEgb3BlcmFjaSZvYWN1dGU7biBkZSByZXNldGVvIGRlIGxhIGNvbnRyYXNlJm50aWxkZTthIHBhcmEgZXN0YSBjdWVudGEuICBPYnNlcnZlIHN1IGVtYWlsLCB1c3RlZCB5YSBkZWJlIHRlbmVyIGVuIHN1IGNhc2lsbGEgbGFzIGluc3RydWNjaW9uZXMgbmVjZXNhcmlhcyBjb21vIHBhcmEgcmVzZXRlYXIgc3UgY29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0Vycm9yIGVuIGxhIGJhc2UgZGUgZGF0b3MnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnVXN0ZWQgZXN0YSByZWNpYmllbmRvIGVzdGUgbWVuc2FqZSBwdWVzIGFsZ3VpZW4gbm9zIGhhIGluZGljYWRvIGVuIG51ZXN0cm8gc2l0aW8gd2ViIHF1ZSBoYSBwZXJkaWRvIGxhIGNvbnRyYXNlJm50aWxkZTthLiAgU2kgYXMmaWFjdXRlOyBlcywgbGVhIGxhcyBpbnN0cnVjY2lvbmVzIGRlIGFiYWpvLiAgU2kgdXN0ZWQgbm8gdGllbmUgbmluZ3VuYSBpZGVhIGFsIHJlc3BlY3RvLCBwdWVkZSBlbGltaW5hciBlc3RlIG1lbnNhamUgY29uIHRvZGEgdHJhbnF1aWxpZGFkLCB5IGxlIGFncmFkZWNlbW9zIHBvciBzdSB0aWVtcG8uJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnQyZvYWN1dGU7ZGlnbyc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdFbCBjJm9hY3V0ZTtkaWdvIHNpZ3VpZW50ZSBzZSBoYSBnZW5lcmFkbyBlbiBmb3JtYSBhbGVhdG9yaWEgY29uIGVsIGZpbiBkZSB2ZXJpZmljYXIgYWwgdXN1YXJpbyBkZSBsYSBjdWVudGEuICBDdWFuZG8gdXN0ZWQgaGFnYSBjbGljayBlbiBlbCBlbmxhY2UgZGUgYWJham8gYSB1c3RlZCBsZSBzZXImYWFjdXRlOyBwcmVzZW50YWRvIHVuIGNhbXBvIHBhcmEgaW5ncmVzYXIgZWwgYyZvYWN1dGU7ZGlnby4gIE5vcm1hbG1lbnRlIGVsIGNhbXBvIGVzIHJlbGxlbmFkbyBhdXRvbSZhYWN1dGU7dGljYW1lbnRlLCBwZXJvIGVuIGNhc28gZGUgcXVlIGFzJmlhY3V0ZTsgbm8gZnVlcmEgZWwgYyZvYWN1dGU7ZGlnbyBlczonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdBbCBoYWNlciBjbGljayBzb2JyZSBlbCBzaWd1aWVudGUgZW5sYWNlIHNlIGxlIHJlZGlyaWdpciZhYWN1dGU7IGEgdW5hIHAmYWFjdXRlO2dpbmEgZG9uZGUgcHVlZGEgaW50cm9kdWNpciBlbCBjJm9hY3V0ZTtkaWdvIHkgcmVzZXRlYXIgc3UgY29udHJhc2UmbnRpbGRlO2E6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdDb250cmFzZSZudGlsZGU7YSBQZXJkaWRhJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTm8gc2UgaGEgcG9kaWRvIGVuY29udHJhciBlbCBtJm9hY3V0ZTtkdWxvIENNU01haWxlcic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdTZSBoYSBlbnZpYWRvIHVuIGVtYWlsIGEgJXMgY29uIGxhcyBpbnRydWNjaW9uZXMgZGUgY29tbyByZXNldGVhciBsYSBjb250cmFzZSZudGlsZGU7YS4gTXVjaGFzIGdyYWNpYXMuJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnQXMmaWFjdXRlOyBxdWUgb2x2aWQmb2FjdXRlOyBvIHBlcmRpJm9hY3V0ZTsgc3UgY29udHJhc2UmbnRpbGRlO2EuIEVzY3JpYmEgYXF1JmlhY3V0ZTsgc3Ugbm9tYnJlIGRlIHVzdWFyaW8geSwgc2kgcG9kZW1vcyBlbmNvbnRyYXJsbywgbGUgZW52aWFyZW1vcyB1biBlLW1haWwgY29uIGxhcyBpbnN0cnVjY2lvbmVzIHBhcmEgcmVzZXRlYXIgYWwgbWlzbW8uJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhcyBkZSBDb250cmFzZSZudGlsZGU7YSBQZXJkaWRhJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBOb21icmUgZGUgVXN1YXJpbyBQZXJkaWRvJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ1Byb3BpZWRhZCAlcyBubyBlbmNvbnRyYWRhJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdQcm9waWVkYWRlcyBlbmNvbnRyYWRhcyc7CiRsYW5nWydhZGRwcm9wJ10gPSAnQSZudGlsZGU7YWRpciBQcm9waWVkYWQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1VuIGNhbXBvIG9ibGlnYXRvcmlvICglcykgZXN0JmFhY3V0ZTsgdmFjJmlhY3V0ZTtvJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnSW50cm9kdWNpciB1bmEgbnVldmEgY29udHJhc2UmbnRpbGRlO2EgYXF1JmlhY3V0ZTsgcGFyYSBtb2RpZmljYXIgc3UgY29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdQYXJlY2UgcXVlIG5vIGVzdCZhYWN1dGU7cyBsb2d1ZWFkbyc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnUHJlZmVyZW5jaWFzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cm8nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdFc3RhIGN1ZW50YSBoYSBjYWR1Y2Fkbyc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnRGlyZWNjaSZvYWN1dGU7biBkZSBlLW1haWwgaW52JmFhY3V0ZTtsaWRhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnRmVjaGEgZGUgY2FkdWNpZGFkIGludiZhYWN1dGU7bGlkYSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3IgZXN0YWJsZWNpZW5kbyBsYSBwcm9waWVkYWQgJXMgcGFyYSBlbCB1c3VhcmlvICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnSWQgZGUgZ3J1cG8gJXMgaW52JmFhY3V0ZTtsaWRvJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWFyY2Fkb3IgZGUgY2FtcG8gb2N1bHRvJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdDb2xvciBkZSBjYW1wbyBvY3VsdG8nOwokbGFuZ1snaGlkZGVuJ10gPSAnT2N1bHRvJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdVbmEgcHJvcGllZGFkIGNvbiBlc2Ugbm9tYnJlIHlhIGVzdCZhYWN1dGU7IGRlZmluaWRhJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ05vIGhheSBwcm9waWVkYWRlcyBkZWZpbmlkYXMnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBoYXkgcHJvcGllZGFkZXMgc2VsZWNjaW9uYWRhcyBwYXJhIGVzdGUgZ3J1cG8nOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBoYXkgR3J1cG9zIGRlZmluaWRvcyc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ0dydXBvcyBFbmNvbnRyYWRvcyc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnTGEgcGVydGVuZWNpYSBlbiBhbCBtZW5vcyB1biBncnVwbyBlcyByZXF1ZXJpZGEnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1BlcnRlbmVjaWEgZW4gYWwgbWVub3MgdW4gZ3J1cG8gZXMgcmVxdWVyaWRhJzsKJGxhbmdbJ2JhY2snXSA9ICdBdHImYWFjdXRlO3MnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGVzIHVuIGNhbXBvIG9ibGlnYXRvcmlvJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJjYXIgbG9zIGNhbXBvcyByZXF1ZXJpZG9zIGNvbic7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdEZXN0YWNhciBsb3MgY2FtcG9zIHJlcXVlcmlkb3MgZW4nOwokbGFuZ1snbmV4dCddID0gJ1NpZ3VpZW50ZSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ1lhIGV4aXN0ZSB1biBHcnVwbyBjb24gZXNlIG5vbWJyZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ0NhbXBvIE9ibGlnYXRvcmlvJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3BjaW9uYWwnOwokbGFuZ1snb2ZmJ10gPSAnQXBhZ2Fkbyc7CiRsYW5nWydzaXplJ10gPSAnVGFtYSZudGlsZGU7byc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KFRhbWEmbnRpbGRlO28gbSZhYWN1dGU7eGltbyBkZSBjdWFscXVpZXJhIGRlIGxhcyBkaW1lbnNpb25lcyBkZSBsYSBpbWFnZW4gZW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMb25naXR1ZCc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihjYXJhY3RlcmVzIGVuIGVsIHRleHRvIGludHJvZHVjaWRvKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnT3BjaW9uZXMgZGUgZGVzcGxlZ2FibGUsIHNlcGFyYWRhcyBwb3IgbnVldm8gcmVuZ2wmb2FjdXRlO24uICBMb3MgdmFsb3JlcyBwdWVkZW4gZXN0YXIgc2VwYXJhZG9zIGRlbCB0ZXh0byBjb24gZWwgY2FyYWN0ZXIgPSAuIHAuZWo6IEZlbWVuaW5vPWYnOwokbGFuZ1sncHJvbXB0J10gPSAnU3VnZXJlbmNpYSc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdFc3RhZG8gZGUgQ2FtcG8nOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnUHJlZ3VudGEgc2kgUGVyZGlkbzxici8+Tm9tYnJlIGRlIFVzdWFyaW8nOwokbGFuZ1sndGV4dCddID0gJ1RleHRvJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2FqYSBkZSBUaWxkYXInOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdMaXN0YSBNdWx0aSBTZWxlY3RvcmEnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZW4nOwokbGFuZ1snZW1haWwnXSA9ICdEaXJlY2NpJm9hY3V0ZTtuIGUtbWFpbCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJyZBYWN1dGU7cmVhIGRlIFRleHRvJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVuJnVhY3V0ZTsgZGVzcGxlZ2FibGUnOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdCaWVudmVuaWRvJzsKJGxhbmdbJ2xvZ291dCddID0gJ1NhbGlyJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVc2FyIGVzdGUgbm9tYnJlIGRlIGdydXBvJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01vZGlmaWNhciBtaXMgcHJlZmVyZW5jaWFzJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gZmFsbGlkbyAtIE5vbWJyZSBkZSB1c3VhcmlvIG8gY29udHJhc2UmbnRpbGRlO2EgaW52JmFhY3V0ZTtsaWRvcz8nOwokbGFuZ1snbG9naW4nXSA9ICdFbnRyYXInOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdFdGlxdWV0YSBkZWwgYm90Jm9hY3V0ZTtuIEVudHJhcic7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdVc3VhcmlvJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ0NvbnRyYXNlJm50aWxkZTthJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnUmVjb3JkYXJtZSBlbiBlc3RhIGNvbXB1dGFkb3JhJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmFyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnT2x2aWQmb2FjdXRlOyBzdSBjb250cmFzZSZudGlsZGU7YT8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnJmlxdWVzdDtIYSBPbHZpZGFkbyBzdXMgRGF0b3MgZGUgSW5ncmVzbz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdWYWxvcmVzIHBvciBkZWZlY3RvJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0lEIGRlbCB1c3VhcmlvIG5vIGVuY29udHJhZG8nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0VsIG5vbWJyZSBkZSB1c3VhcmlvICglcykgeWEgZXN0JmFhY3V0ZTsgZW4gdXNvJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdVc2FyIFNNVFAgcGFyYSB2YWxpZGFkIGRpcmVjY2kmb2FjdXRlO25lcyBkZSBlLW1haWw/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ0xvbmdpdHVkIE0maWFjdXRlO25pbWEgZGUgbGEgQ29udHJhc2UmbnRpbGRlO2EnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTG9uZ2l0dWQgTSZhYWN1dGU7eGltYSBkZSBsYSBDb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdMb25naXR1ZCBNJmlhY3V0ZTtuaW1hIGRlbCBOb21icmUgZGUgVXN1YXJpbyc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdMb25naXR1ZCBNJmFhY3V0ZTt4aW1hIGRlbCBOb21icmUgZGUgVXN1YXJpbyc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdGdWVyYSBkZSBUaWVtcG8gZGUgU2VzaSZvYWN1dGU7biAoc2VndW5kb3MpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVc2FyIGNvb2tpZXMgcGFyYSBtYW50ZW5lciBsb3MgaW5ncmVzb3Mgdml2b3MnOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdQZXJtaXRpciBlbCBSZWdpc3RybyBkZSBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnR3J1cG8gcG9yIGRlZmVjdG8gcGFyYSBudWV2b3MgdXN1YXJpb3MnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdDYW1iaWFyIFBsYW50aWxsYSBkZSBQcmVmZXJlbmNpYXMnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0xhcyBjb250cmFzZSZudGlsZGU7YXMgbm8gY29pbmNpZGVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ05vbWJyZSBkZSB1c3VhcmlvIGludmFsaWRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0NvbnRyYXNlJm50aWxkZTthIGludmFsaWRhJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyIFVzdWFyaW8nOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZG8nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc3VhcmlvJzsKJGxhbmdbJ3N0YXR1cyddID0gJ0VzdGFkbyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdFc3RlIHVzdWFyaW8gbm8gZXMgbWllbWJybyBkZSBuaW5nJnVhY3V0ZTtuIGdydXBvJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdTaW4gUHJvcGllZGFkZXMnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdJbnRlbnRvIGRlIGltcG9ydGFyIHByb3BpZWRhZGVzIGR1cGxpY2FkYXMnOwokbGFuZ1sndmFsdWUnXSA9ICdWYWxvcic7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwb3MnOwokbGFuZ1sncHJvcGVydGllcyddID0gJ1Byb3BpZWRhZGVzJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnTm9tYnJlIGRlIGxhIFByb3BpZWRhZCc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdWYWxvciBkZSBsYSBQcm9waWVkYWQnOwokbGFuZ1snYWRkJ10gPSAnQSZudGlsZGU7YWRpcic7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWFsJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXInOwokbGFuZ1snZXhwaXJlcyddID0gJ0NhZHVjYSc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdFc3BlY2lmaWNhciBGZWNoYSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvcmFzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG9yYXMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Jhcyc7CiRsYW5nWycxd2VlayddID0gJzEgU2VtYW5hJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgU2VtYW5hcyc7CiRsYW5nWycxbW9udGgnXSA9ICcxIE1lcyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNZXNlcyc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBNZXNlcyc7CiRsYW5nWycxeWVhciddID0gJzEgQSZudGlsZGU7byc7CiRsYW5nWyduZXZlciddID0gJ051bmNhJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdDb250cmFzZSZudGlsZGU7YSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0RlIG51ZXZvJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdZYSBleGlzdGUgdW4gZ3J1cG8gY29uIGVzZSBub21icmUnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdGFyIEdydXBvJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudmlhcic7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWxhcic7CiRsYW5nWydkZWxldGUnXSA9ICdCb3JyYXInOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICcmaXF1ZXN0O1VzdGVkIGVzdCZhYWN1dGU7IHNlZ3VybyBxdWUgZXN0YSBlcyBsYSBjb25maWd1cmFjaSZvYWN1dGU7biBhcHJvcGlhZGEgcGFyYSBlc3RlIGdydXBvP1xuQXBhZ2FuZG8gdW5hIHByb3BpZWRhZCBubyB2YSBhIGFudWxhciBuaW5ndW5hIGVudHJhZGEgZW4gbGEgdGFibGEgZGUgcHJvcGllZGFkZXMgcGFyYSBlc3RlIGdydXBvL3VzdWFyaW8uICBTaW1wbGVtZW50ZSBsYXMgdmEgYSBoYWNlciBpbmFjY2VzaWJsZXMuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICcmaXF1ZXN0O0VzdCZhYWN1dGU7IHNlZ3VybyBxdWUgcXVpZXJlIGVsaW1pbmFyIGVzdGUgZ3J1cG8/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICcmaXF1ZXN0O0VzdCZhYWN1dGU7IHNlZ3VybyBxdWUgcXVpZXJlIGVsaW1pbmFyIGNvbXBsZXRhbWVudGUgZXN0YSBwcm9waWVkYWQ/XG5IYWNpZW5kb2xvIGFzJmlhY3V0ZTsgYm9ycmFyJmFhY3V0ZTsgY3VhbHF1aWVyIGVudHJhZGEgZGUgdXN1YXJpbyBwYXJhIGVzdGEgcHJvcGllZGFkLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdQYXImYWFjdXRlO21ldHJvcyBpbnN1ZmljaWVudGVzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05vbWJyZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW1hIGFncmVnYW5kbyBsYSBwcm9waWVkYWQnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW1hIGFncmVnYW5kbyBsYSByZWxhY2kmb2FjdXRlO24gZGUgZ3J1cG8nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbWEgYWdyZWdhbmRvIGdydXBvJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbWEgYWdyZWdhbmRvIHVuIHVzdWFyaW8gYSB1biBncnVwbyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbWEgZWxpbWluYW5kbyB1bmEgcHJvcGllZGFkJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnTm8gc2UgcHVkbyBoYWxsYXIgdW5hIGRpcmVjY2kmb2FjdXRlO24gZW1haWwnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ05vIGhheSBwZXJtaXNvIGRlIGVzY3JpdHVyYSBlbiBlbCBkaXJlY3RvcmlvIGRlc3Rpbm8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ1BhciZhYWN1dGU7bWV0cm9zICBpbnZhbGlkb3MnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdObyBzZSBwdWRvIGVuY29udHJhciBuaW5nJnVhY3V0ZTtuIGdydXBvJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBsaWNhcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cm8nOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0V4cHJlc2kmb2FjdXRlO24gTm9ybWFsIGRlIE5vbWJyZSBkZSBVc3VhcmlvJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcGNpJm9hY3V0ZTtuJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ05vbWJyZSBkZWwgR3J1cG8nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNvIERlbmVnYWRvJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IuJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnQSZudGlsZGU7YWRpciBHcnVwbyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGFyIEdydXBvJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdBJm50aWxkZTthZGlyIFVzdWFyaW8nOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzdWFyaW9zIGVuY29udHJhZG9zIHF1ZSBjb2luY2lkZW4gY29uIGVsIGNyaXRlcmlvIGRlIGImdWFjdXRlO3NxdWVkYSc7CiRsYW5nWydncm91cCddID0gJ0dydXBvJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWNjaW9uYXIgR3J1cG8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUGxhbnRpbGxhIGRlIFJlZ2lzdHJvIGRlIFVzdWFyaW9zJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSBTYWxpZGEnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdQbGFudGlsbGEgZGUgQWNjZXNvJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jaWFzJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXN1YXJpb3MnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQWRtaW5pc3RyYWNpJm9hY3V0ZTtuIGRlIFVzdWFyaW9zIGRlbCBQb3J0YWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdQZXJtaXRpciBhIGxvcyB1c3VhcmlvcyBpbmdyZXNhciBhbCBwb3J0YWwgZGVsIHNpdGlvIHdlYic7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnUCZhYWN1dGU7Z2luYSBwb3IgZGVmZWN0byBkZSBpbmljaW8nOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1VsdGltYSBwJmFhY3V0ZTtnaW5hIGFjY2VkaWRhJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090cmEgcCZhYWN1dGU7Z2luYTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbnRyb2R1emNhIGVsIHRleHRvIGRlIGxhIGltYWdlbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4wIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjEgLSBPY3RvYmVyLCAyMDA1IC0gRml4ZWQgaXNzdWVzIHdpdGggcHJvcGVydGllczwvbGk+DQo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPjxwPjAuMS4zIC0gTm92ZW1iZXIsIDIwMDU8L3A+DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+DQo8bGk+MC4xLjQgLSBOb3ZlbWJlciwgMjAwNSAtIFZlcnkgbWlub3IgY2hhbmdlIHdpdGggcmVzcGVjdCB0byBhIGZvcmdvdHRlbiBhbmQgbm8gbG9uZ2VyIG5lZWRlZCBmdW5jdGlvbiBjYWxsPC9saT4NCjxsaT48cD4wLjEuNSAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFub3RoZXIgdmVyeSBtaW5vciBjaGFuZ2UsIGFkZGVkIHNvbWUgdGV4dCB0byB0aGUgUG9zdEluc3RhbGwgbWVzc2FnZS48L3A+PC9saT4NCjxsaT48cD4wLjEuNiAtIEphbnVhcnksIDIwMDY8cD4NCiAgICA8cD5DaGFuZ2VzIHRvIHRoZSBwZXJtaXNzaW9uIG1vZGVsLCBhbmQgbWlub3IgYnVnIGZpeGVzIHRvIHRoZSBwcmVmZXJlbmNlcy4gIEFsc28gc29tZSBwaHA1IGZpeGVzIGJ1dCBJIGFtIHN1cmUgdGhhdCB0aGVyZSBhcmUgbW9yZSBvdXQgdGhlcmUuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjcgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+TWFueSB0aGFua3MgdG8gPGI+a2F0b248L2I+IGZvciBhZGRpbmcgdGhlIHRleHRhcmVhIGFuZCBkcm9wZG93biBwcm9wZXJ0eSB0eXBlcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHByb3BlcnR5IGFkZGluZyB0byBmaXggcHJvYmxlbXMgd2l0aCBzcGFjZXMgaW4gcHJvcGVydHkgbmFtZXMgKHdlIG5vIGxvbmdlciBsZXQgdGhhdCBoYXBwZW4pLjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjAgLSBGZWJydWFyeSwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIGZpbHRlcmluZyBhbmQgcm93IGxpbWl0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbC4gVGhpcyB3aWxsIGhhdmUgYmlnIGJlbmVmaXRzIHRvIHRob3NlIHRoYXQgYXJlIHVzaW5nIHRoaXMgbW9kdWxlIGZvciBoaWdoIHRyYWZpYywgYW5kIGhpZ2ggdXNlciBzaXRlcy48L3A+DQogICAgPHA+QWRkZWQgc29ydGluZyB0byB0aGUgYWRtaW4gcGFuZWw8L3A+DQogICAgPHA+QWRkZWQgbWF4IGxlbmd0aCBhYmlsaXR5IHRvIHRleHQgYW5kIGVtYWlsIGZpZWxkczwvcD4NCiAgICA8cD5GaXhlZCBhIHNtYWxsIHByb2JsZW0gd2l0aCB0aGUgZGVmYXVsdCBncm91cCBub3QgYmVpbmcgY2hlY2tlZCB3aGVuIGFkZGluZyBhIHVzZXI8L3A+DQogICAgPHA+U2F2ZSBmaWx0ZXIgc2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMsIGFuZCB0aGUgYWN0aXZlIHRhYiB0b28uPC9wPg0KICAgIDxwPkRlbGV0ZSB1c2VyIHByb3BlcnRpZXMgd2hlbiBhIHByb3BlcnR5IGlzIGRlbGV0ZWQgPGVtPk5vdGU8L2VtPiwgbm90IHdoZW4gaXQgaXMgZGlzYWJsZWQgaW4gdGhlIGVkaXQgZ3JvdXAgZGlhbG9nPC9wPg0KICAgIDxwPkFkZCBjb25maXJtYXRpb24gbWVzc2FnZSBpbiBlZGl0IGdyb3Vwcy48L3A+DQogICAgPHA+QWRkZWQgYSBjb3VwbGUgbW9yZSBjb25maXJtYXRpb24gbWVzc2FnZXMuPC9wPg0KICAgIDxwPkFkZGVkIENTViBFeHBvcnQgb3B0aW9uPC9wPg0KICAgIDxwPlRvZG8gLSBBZGQgcHJlZmVyZW5jZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZGxlbmd0aDwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjEgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGNoZWNrIGZvciBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzPC9wPg0KICAgIDxwPkZpeCBwcm9ibGVtIHdoZXJlIGV4cGlyeSBkYXRlIHdhcyBiZWluZyBtb2RpZmllZCB3aGVuIGFkbWluIG1vZGlmaWVkIHVzZXIgc2V0dGluZ3M8L3A+DQogICAgPHA+QWRkIGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIHByZWZlcmVuY2VzIHN1Ym1pdCBidXR0b248L3A+DQogICAgPHA+Rml4ZWQgYSBtaW5vciBidWcgd2hlbiBjb3V0aW5nIHRoZSBudW1iZXIgb2YgdXNlcnMgaW4gYSBncm91cDwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgc2l6ZSBvZiB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRzLCBhbmQgbWF4bGVuZ3RoPC9wPg0KICAgIDxwPkFkZGVkIGFkdmFuY2VkIGZpbHRlcmluZyBvbiBwcm9wZXJ0aWVzPC9wPg0KICAgIDxwPkNoYW5nZXMgdG8gbGFiZWxpbmcgaW4gYWRkIG9yIGVkaXQgdXNlcjwvcD4NCiAgICA8cD5GaXhlcyB0byBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uIGlubGluZSBmb3JtcywgdGhlIHBhc3N3b3JkIGlzIG5ldmVyIHNlbnQgb24gdGhlIGdldCBsaW5lPC9wPg0KICAgIDxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMiAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+TW9yZSBmaWVsZCBsZW5ndGggZml4ZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4zIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5FeHBvcnQgdG8gc21hcnR5IGFsbCBvZiB0aGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gdGhleSBhcmUgbG9nZ2VkIGluPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNCAtIE1heSwgMjAwNjxwPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBleHBvcnQgY29kZTwvcD4NCiAgICA8cD5Db2RlIGNsZWFudXAgKGFscGhhYmV0aXplIGZ1bmN0aW9ucyk8L3A+DQogICAgPHA+TWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyAocmVjb21tZW5kZWQgYnkgbmlsczczKSBmb3IgZGVhbGluZyB3aXRoIHRoZSBjaGFuZ2UgcGFzc3dvcmQgc3R1ZmYuPC9wPg0KICAgIDxwPlJlbW92ZWQgdGhlIHJlcXVpcmVtZW50IGZvciBDTVMgMC4xMiwgYW5kIHB1dCBpdCBiYWNrIHRvIDAuMTEuMjwvcD4NCiAgICA8cD5BZGRlZCB0aGUgXCYjMDM5O3NpbGVudFwmIzAzOTsgZm9ybTwvcD4NCiAgICA8cD5DbGVhbmVkIHVwIGRhdGFiYXNlIGFjY2VzcyBzdHVmZiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyAoaG9wZWZ1bGx5KTwvcD4NCiAgICA8cD5BZGRlZCBjb3B5cmlnaHQgaW5mbzwvcD4NCiAgICA8cD5BZGRlZCBtYWNyb3MgZm9yIHJlZGlyZWN0byB0byBhIHVzZXIgc3BlY2lmaWMgcGFnZSBvbiBsb2dpbiBvciBsb2dvdXQ8L3A+DQogICAgPHA+VHdlYWtzIHRvIHRoZSBhZG1pbiBwcmVmZXJlbmNlcyB0YWI8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC41IC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4NCiAgICA8cD5TdGFydCBzcGxpdHRpbmcgdGhlIGNvZGUgdXAgaW50byBzZXZlcmFsIGZpbGVzPC9wPg0KPGxpPjxwPjEuMC42IC0gTWF5LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGVkaXRpbmcgZHJvcGRvd25zPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMCAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5FdmVudHM8L3A+DQogICAgPHA+T3B0aW9uYWxseSBkaXNhbGxvdyByZXBlYXRlZCBsb2dpbnM8L3A+DQogICAgPHA+RXhwb3J0IHRoZSB1c2VyIGlkIHRvIHNtYXJ0eTwvcD4NCiAgICA8cD5BZGRlZCBvcHRpb25hbGx5IFx7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMSAtIFNlcHQsIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHNcJiMwMzk7IHdhcyBvZmY8L3A+DQogICAgPHA+Q2hhbmdlZCB0aGUgZHJvcGRvd24gdGFibGUgdG8gMjU1IGNoYXJhY3RlcnM8L3A+DQogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4yIC0gRGVjLCAyMDA2PC9wPg0KICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCiAgICA8bGk+PHA+MS4yLjAgLSBBcHJpbCwgMjAwNzwvcD4NCiAgICA8cD5lbGlqYWhsb2ZncmVuIC0gRml4ZXMgdG8gY2FwdGNoYSBzdXBwb3J0LCBhbmQgc29tZSB0ZW1wbGF0ZSBjbGVhbnVwcy48L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIG11bHRpIHNlbGVjdCBsaXN0czwvcD4NCiAgICA8cD5UZW1wbGF0ZSBjbGVhbnVwcyAobW9yZSBvZiBlbSk8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIHZhbHVlPWtleSBzdHVmZiBpbiB0aGUgZHJvcGRvd24gYW5kIG11bHRpIHNlbGVjdCBsaXN0cy48L3A+DQogICAgPHA+YmV0dGVyIGNoZWNraW5nIG9mIHRoZSAmcXVvdDthdCBsZWFzdCBvbmUgZ3JvdXAgcmVxdWlyZWQmcXVvdDsgc3R1ZmY8L3A+DQogICAgPHA+T3V0cHV0IG1vcmUgc21hcnR5IHZhcmlhYmxlcyBvbiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCB0byBhbGxvdyBwZW9wbGUgdG8gbW9kaWZ5IHRoZSB0ZW1wbGF0ZSB0byBzb21ldGhpbmcgdGhhdCBpcyBtb3JlIGFjY2Vzc2liaWxlPC9wPg0KICAgIDxwPlNwbGl0IGludG8gbW9yZSBmaWxlcyBmb3IgcGVyZm9ybWFuY2U8L3A+DQogICAgPHA+WW91IGNhbiBub3cgbm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzPC9wPg0KICAgIDxwPk5vdyBoYW5kbGUgcmVnZXggcHJvYmxlbXMgYmV0dGVyIGluIHRoZSBhZG1pbiBzZWN0aW9uIHVzZXJzIHRhYjwvcD4NCiAgICA8cD5FbWFpbCBmaWVsZHMsIHdoZW4gc3BlY2lmaWVkIGFzIG9wdGlvbmFsLCBtYWtlIGVtIGFjdHVhbGx5IG9wdGlvbmFsPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBpbWFnZSB1cGxvYWRzLCB0aGlzIGlzIGEgYmlnIGZlYXR1cmUuICBJbWFnZXMgYXJlIHNjYWxlZCB0byBhIG1heGltdW0gc2l6ZSBpbiBvbmUgZGltZW5zaW9uLCBhbmQgc3RvcmVkIGFzIGZpbGVzIGluIGEgY29uZmlndXJhYmxlIGRpcmVjdG9yeSB1bmRlciB0aGUgdXBsb2Fkc19wYXRoLjwvcD4NCiAgICA8cD5DYXB0Y2hhIG1vZGUgaXMgbm93IG9uIGJ5IGRlZmF1bHQsIHVubGVzcyB5b3UgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGluIHRoZSB0YWcuPC9wPg0KICAgIDxwPkZpeGVzIHRvIENTViBleHBvcnQuLi4gaXQgd2FzIGFzc3VtaW5nIHRoZSBkYl9wcmVmaXggaXMgY21zXzwvcD4NCiAgICA8cD5JbXBvcnQgVXNlcnMgZnJvbSBDU1Y8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGluc3RhbGwgYW5kIHVuaW5zdGFsbCBtZXRob2RzLCBhbmQgbm93IHRoZSBhbGxvd19yZXBlYXRlZF9sb2dpbnMgcHJlZmVyZW5jZSBzaG91bGQgd29yazwvcD4NCiAgICA8cD5BZGRzIHByb3BlciB1c2VyIGhpc3RvcnkgdHJhY2tpbmcuICBOb3cgdHJhY2sgZmFpbGVkIGxvZ2lucywgbG9naW5zLCBleHBpcmllcywgYW5kIGxvZ291dHMsIG9uIGEgcGVyIHVzZXIgYmFzaXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIGlmIHRoZSB1c2VyIHNldHRpbmdzIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIGZvcmdvdCBwYXNzd29yZCBwYWdlLCBpZiB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm0gaXMgb24gYSBkaWZmZXJlbnQgcGFnZS48L3A+DQogICAgPHA+TWlub3IgZml4ZXMgdG8gYmVoYXZpb3VyIG9hZiB0aGUgcHJlZmVyZW5jZXMgcGFuZWxzLjwvcD4NCjwvbGk+DQo8bGk+DQo8cD4xLjIuMSAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+QSBjb29raWUgaXMgbm93IHVzZWQgdG8ga2VlcCB0cmFjayBvZiBsb2dpbiBzdGF0ZSBiZXR3ZWVuIHNlc3Npb25zLCBob3dldmVyIHRoZSBjb29raWUgZG9lcyBub3QgbGFzdCBhbnkgbG9uZ2VyIHRoYW4gdGhlIHRpbWVvdXQgc3BlY2lmaWVkIGluIHRoZSB1c2VyIHNldHRpbmdzLjwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYW4gYWRtaW5pc3RyYXRvciB0byBsb2dvdXQgdXNlcnM8L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGJ5IGxvZ2dlZCBpbiBzdGF0dXM8L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHJlYWQtb25seSBwcm9wZXJ0aWVzLjwvcD4NCgk8cD5BZGRlZCBtb3JlIHZhcmlhYmxlcyBpbiBlYWNoIG9iamVjdCBpbiB0aGUgY2hhbmdlc2V0dGluZ3MgZm9ybTwvcD4NCjwvbGk+DQo8bGk+DQoJPHA+MS4yLjIgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPnRzdyAtIEFkZGVkIGV2ZW50IE9uVXBkYXRlVXNlciB3aGljaCBnZXRzIGNhbGxlZCB3aGVuIHVzZXIgKG9yIGFkbWluKSB1cGRhdGVzIHVzZXIgaW5mbzwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmcXVvdDtVc2VycyAmYW1wOyBnR3JvdXBzJnF1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJiMwMzk7TmV4dFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcyA8ZW0+KFNlZSB0aGUgU2VsZlJlZ2lzdHJhdGlvbiBNb2R1bGUpPC9lbT4sIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSZxdW90OzEmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjgwNTY0MTk1NC4xMTkyNDc1MDQ5LjExOTU4NjAwNjcuMTE5NTg5MDQ3My42OSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTUxMTg3MzYuNTUuMTMudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2Zycy98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdTZWUga2FzdXRhamEgb24ganViYSBzaXNzZSBsb2dpdHVkJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdMdWJhIGthc3V0YWphdGVsIGxvZ2lkYSBzaXNzZSByb2hrZW0sIGt1aSAmdXVtbDtrcyBrb3JkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIGt1c3R1dGFtaXNlbDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0ga2FzdXRhamEgbmltaTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBrYXN1dGFqYSBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5TJnV1bWw7bmRtdXMsIG1pcyBnZW5lcmVlcml0YWtzZSB1dWUga2FzdXRhamEgbG9vbWlzZWw8L3A+DQo8aDQ+UGFyYW1lZXRyaWQ8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uaW1pPC9lbT4gLSBrYXN1dGFqYSBuaW1pPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGthc3V0YWphIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+UyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamFncnVwaSBsb29taXNlbDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5pbWk8L2VtPiAtIGdydXBpIG5pbWk8L2xpPg0KPGxpPjxlbT5raXJqZWxkdXM8L2VtPiAtIGdydXBpIGtpcmplbGR1czwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBncnVwaSBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphZ3J1cGkga3VzdHV0YW1pc2VsPC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+bmltaTwvZW0+IC0gZ3J1cGkgbmltaTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBncnVwaSBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHNpc3NlbG9naW1pc2VsIHMmdXVtbDtzdGVlbWk8L3A+DQo8aDQ+UGFyYW1lZXRyaWQ8L2g0Pg0KPHVsPg0KPGxpPjxlbT5rYXN1dGFqYW5pbWk8L2VtPiAtIFNpc3NlIGxvZ2ludWQga2FzdXRhamEga2FzdXRhamFuaW1pPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIEtsaWVuZGkgSVAgYWFkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPlMmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHYmYXVtbDtsamFsb2dpbWlzZWwgcyZ1dW1sO3N0ZWVtaXN0PC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+a2FzdXRhamFuaW1pPC9lbT4gLSBTaXNzZSBsb2dpbnVkIGthc3V0YWphIGthc3V0YWphbmltaTwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBLbGllbmRpIElQIGFhZHJlc3M8L2xpPg0KPC91bD4NCg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+UyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamEgc2Vzc2lvb25pIGFlZ3VtaXNlbDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0gYWVndW51ZCBrYXN1dGFqYSBrYXN1dGFqYW5pbWk8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gYWVndW51ZCBrYXN1dGFqYSBJRDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHNpc3NlbG9naW1pc2VsIHMmdXVtbDtzdGVlbWknOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphIHYmYXVtbDtsamFsb2dpbWlzZWwgcyZ1dW1sO3N0ZWVtaXN0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamEgc2Vzc2lvb25pIGFlZ3VtaXNlbCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIHV1ZSBrYXN1dGFqYSBsb29taXNlbCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWpha29udG8ga3VzdHV0YW1pc2VsJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ1MmdXVtbDtuZG11cywgbWlzIGdlbmVyZWVyaXRha3NlIGthc3V0YWphZ3J1cGkgbG9vbWlzZWwnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgZ2VuZXJlZXJpdGFrc2Uga2FzdXRhamFncnVwaSBrdXN0dXRhbWlzZWwnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0FkbWluaXN0cmFhdG9yaWxpaWRlc2UgZ3J1cHAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBWJmF1bWw7bGphZGVsIHYmb3RpbGRlO2liIGthc3V0YWRhIGomYXVtbDtyZ25ldmFpZCBtYWtyb3NpOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gS2FzdXRhZGVzIHskZ3JvdXB9IG1ha3JvdCwgYXNlbmRhYiBzJnV1bWw7c3RlZW0gZXNpbWVzZSBncnVwaSBuaW1lLCBtaWxsZXNzZSBrYXN1dGFqYSBrdXVsdWIsIGphIHN1dW5hYiBlZGFzaSBzZWxsZWxlIGxlaGVsZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0thc3V0YWphIHBhcm9vbGkgdGFhc3RhbWlzZWtzIG11dWRhIHNlZGEgdiZhdW1sO2xqYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnS2FzdXRhamEgcGFyb29saSB0YWFzdGFtaXNla3MgbXV1ZGEgc2VkYSB2JmF1bWw7bGphJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1NlbGxpc2Ugbm5pbWVnYSBrYXN1dGFqYSBqdWJhIGVrc2lzdGVlcmliJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ0NTViBla3Nwb3J0IGVpIHRvb251ZCB0dWxlbXVzaSc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdLYXN1dGFqYW5pbWUgbGFodHJpIHBpa2t1cyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdQYXJvb2xpIGxhaHRyaSBwaWtrdXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFyb29saSBwaWtrdXNlZCBvbiB2aWdhc2VkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdNaW4vTWF4IGthc3V0YWphbmltZSBwaWtrdXNlZCBvbiB2aWdhc2VkJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnTWVpIGVpIHN1dXRudWQgbGVpZGEgc2VsbGUga29udG9nYSBzZW90dWQgZS1tYWlsaSBhYWRyZXNzaSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnS2FzdXRhamEgbGlzYXR1ZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ2thc3V0YWphIGt1c3R1dGF0dWQgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnT21hZHVzJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWJmF1bWw7JmF1bWw7cnR1cyAodmFiYXMgdm9ybWlzKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ0hvaWF0dXM6IE5lZWQgbGFodHJpZCBtJm90aWxkZTtqdXRhdmFkIHZvcm1pZGUgbGFodHJpdGUgc3V1cnVzaS4gU2VsbGUgbnVtYnJpIHYmYXVtbDtoZW5kYW1pbmUgb2xlbWFzb2xldmFsIHNhaWRpbCBlaSBwcnV1Z2kgb2xsYSBzb292aXRhdGF2JzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdNdXVkYSBhZG1pbm5pIGVlbGlzdHVzaT8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0UtbWFpbGkgYWFkcmVzcyBvbiBqdWJhIGthc3V0dXNlcyc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0x1YmEgZS1tYWlsaSBkdXBsaWthYXRlJzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhsdWJhIG1pdG1lbCBrYXN1dGFqYWwga2FzdXRhZGEgc2FtYSBlLW1haWxpIGFhZHJlc3NpKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdTYSBlaSBzaXNlc3RhbnVkIGthc3V0YWphbmltZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdTYSBlaSBzaXNlc3RhbnVkIHBhcm9vbGknOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Vlc2xpaWRlc2UgS2FzdXRhamEgViZhdW1sO2xqYWxvZ2ltaW5lJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Vlc2xpaWRlc2UgS2FzdXRhamEgU2lzc2Vsb2dpbWluZSc7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPkVUVEVWQUFUVVNUPC9iPiBvbGVtYXNvbGV2YXRlIG9tYWR1c3RlIG11dXRtaW5lIHYmb3RpbGRlO2liIGomYXVtbDsmYXVtbDtkYXZhbHQga2FoanVzdGFkYSBvbGVtYXNvbGV2YXQgc2FpdGk8aT4oZXJpdGksIGt1aSBsJnV1bWw7aGVuZGFkIHYmYXVtbDtsamFkZSBwaWtrdXNpIHZtcy4pPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdTZWUgZnVua3RzaW9vbiBlaSB0Jm91bWw7Jm91bWw7dGEgd2luZG93cyYjMDM5O2lsJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICcmQXVtbDtyYSBsb28ga2FzdXRhamFuaW1lIHYmb3RpbGRlO2kgcGFyb29saSBsYWh0cmVpZCAtIG5lZWQgb24ganViYSBGcm9udEVuZFVzZXJzIG1vb2R1bGlzc2Ugc2lzc2UgZWhpdGF0dWQnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0Vrc3BvcmRpIEthc3V0YWphZCBDU1YmIzAzOTtzc2UnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9yZGknOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbmlzdHJhYXRvcic7CiRsYW5nWydlZGl0cHJvcCddID0gJ011dWRhIE9tYWR1c3QnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrc2ltYWFsbmUgcGlra3VzJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdMb29kdWQnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydGVlcmknOwokbGFuZ1snc29ydCddID0gJ1NvcnRlZXJpbWluZSc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdLYXN1dGFqYSh0KSB2YWxpdHVkIGdydXBwcGlkZXMnOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnVHVsZW11c2knOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnU2VsbGVsZSBrYXN1dGFqYWxlIGVpIGxlaXR1ZCBlLW1haWxpIHYmYXVtbDtsamEuIFYmb3RpbGRlO2liLW9sbGEgcGVha3NpZCBrb250YWt0ZWVydW1hIHMmdXVtbDtzdGVlbWlhZG1pbmlzdHJhYXRvcmlnYT8nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdMZWhlSUQvQWxpYXMgVW51c3RhdHVkIFBhcm9vbGkgdm9ybWkgamFva3MnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdMZWhlSUQvQWxpYXMgU2VhZGV0ZSB2b3JtaSBqYW9rcyc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ0xlaGVJRC9BbGlhcywga3VodSBzdXVuYXRhIHBlYWxlIHNpc3NlbG9naW1pc3QgKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdMZWhlSUQvQWxpYXMsIGt1aHUgc3V1bmF0YSBwZWFsZSB2JmF1bWw7bGphbG9naW1pc3QgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0ZWVyaW1pc2UgaiZhdW1sO3JqZWtvcmQnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTSZvdGlsZGU7bmVkIGthc3V0YWphZCB0YWFzdGF2YWQgb21hIGthZHVudWQgcGFyb29sZS4gSGV0a2VsIG9uIG5laWQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkLCBtaXMgb24gdmFuZW1hZCBrdWkgMSBuJmF1bWw7ZGFsJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCwgbWlzIG9uIHZhbmVtYWQga3VpIDEga3V1JzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnT2xlZCBzYSBraW5kZWw/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnU2lzZXN0YXR1ZCBrb29kIG9uIHZpZ2FuZSwgcGFsdW4gcHJvb3ZpIHV1ZXN0aSc7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnU2ludSBrYXN1dGFqYSBJRC1sZSB2YXN0YXZhdCBhanV0aXN0IGtvb2RpIGFuZG1lYmFhc2lzdCBlaSBsZWl0dWQnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdLaW5uaXRhbWlzZSB2b3JtaSBtYWxsJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdVbnVzdGF0dWQgcGFyb29saSBlLW1haWxpIG1hbGwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0thcyBzaW5hIHYmb3RpbGRlO2kga2VlZ2kgdGVpbmUgb24ganViYSBzZWxsZSBrYXN1dGFqYWtvbnRvIHBhcm9vbGkgdGFhc3RhbWlzdCBhbHVzdGFudWQuICBLb250cm9sbGkgb21hIGUtbWFpbGksIHNlYWwgdiZvdGlsZGU7aXZhZCBvbGxhIGVkYXNpc2VkIGp1aHRuJm91bWw7Jm91bWw7cmlkLCBrdWlkYXMgb21hIHBhcm9vbGkgbCZhdW1sO2h0ZXN0YWRhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdBbmRtZWJhYXNpIHZpZ2EnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnU2FpZCBzZWxsZSBraXJqYSwga3VuYSBrZWVnaSAmdXVtbDt0bGVzIG1laWUgbGVoZWxlLCBldCBvbGVkIGthb3RhbnVkIG9tYSBwYXJvb2xpLiBLdWkgc2VlIG9uIG5paSwgbG9lIGp1aGlzZWlkIGFsbHBvb2wuIEt1aSBzdWwgcG9sICZvdGlsZGU7cm5hIGFpbXVnaSwgbWlsbGVzdCBqdXR0IGsmYXVtbDtpYiwgdiZvdGlsZGU7aWQgc2VsbGUga2lyamEga3VzdHV0YWRhLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0tvb2QnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnSiZhdW1sO3JnbmV2IGtvb2Qgb24gc3V2YWxpc2VsdCBnZW5lcmVlcml0dWQga2FzdXRhamFrb250byBraW5uaXRhbWlzZWtzLiBLdWkgc2Ega2xpa2lkIGFsbGomYXVtbDtyZ25ldmFsIGxpbmdpbCwgdHVsZWIgc3VsIHNlZSBrb29kIHNpc2VzdGFkYSB2YXN0YXZhc3NlIGxhaHRyaXNzZS4gVGF2YWxpc2VsdCBvbiBrb29kIGp1YmEgbGFodHJpc3NlIHNpc2VzdGF0dWQsIGt1aSBhZ2EgbWl0dGUsIHNpaXMga29vZCBvbjonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdLbGlra2lkZXMgYWxsaiZhdW1sO3JnbmV2YWwgbGluZ2lsIHZpaWFrc2Ugc2luZCBzYWlkaWxlLCBrdXMgc2FhZCBzaXNlc3RhZGEgJnV1bWw7bGFscG9vbCB0b29kdWQga29vZGkgamEgdGFhc3RhZGEgb21hIHBhcm9vbGk6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdLYW90YXNpZCBTYWxhcyZvdGlsZGU7bmEnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdDTVNNYWlsZXIgbW9vZHVsaXQgZWkgc3V1ZGV0dWQgbGVpZGEnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnQWFkcmVzc2lsZSAlcyBvbiBzYWFkZXR1ZCBlLW1haWwganVoaXN0ZWdhLCBrdWlkYXMgc2Egc2FhZCBvbWEgcGFyb29saSB0YWFzdGFkYS4gVCZhdW1sO25hbWUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdUaXBpIHNpc3NlIG9tYSBrYXN1dGFqYW5pbWkgbmluZyBtZSBzYWFkYW1lIHN1bGxlIGUtbWFpbGlnYSBqdWhpc2VkLCBrdWlkYXMgc2Egb21hIHBhcm9vbGkgdGFhc3RhZGEgc2FhZCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ1VudXN0YXR1ZCBQYXJvb2xpIE1hbGxpZCc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICclcyBvbWFkdXNpIGVpIGxlaXR1ZCc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnb21hZHVzKHQpIGxlaXR1ZCc7CiRsYW5nWydhZGRwcm9wJ10gPSAnTGlzYSBPbWFkdXMnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ04mb3RpbGRlO3V0dWQgdiZhdW1sO2xpICglcykgb2xpIHQmdXVtbDtoaSc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ09tYSBwYXJvb2xpIG11dXRtaXNla3Mgc2lzZXN0YSBzaWlhIHV1cyBwYXJvb2wnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdTYSBlaSBvbGUgc2lzc2UgbG9naXR1ZCc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnU2VhZGVkJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmVlcmltaW5lJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnU2VlIGtvbnRvIG9uIGFlZ3VudWQnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ1ZpZ2FuZSBlLW1haWxpIGFhZHJlc3NpIHZvcm1pbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdWaWdhbmUgYWVndW1pc2t1dXAmYXVtbDtldic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnVmlnYSBvbWFkdXNlICVzIG0mYXVtbDsmYXVtbDtyYW1pc2VsIGthc3V0YWphbGUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdWaWdhbmUgZ3J1cGkgSUQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdQZWlkZXR1ZCB2JmF1bWw7bGphIG1hcmtlcic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnUGVpZGV0dWQgdiZhdW1sO2xqYSB2JmF1bWw7cnYnOwokbGFuZ1snaGlkZGVuJ10gPSAnUGVpZGV0dWQnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1NlbGxpc2UgbmltZWdhIG9tYWR1cyBqdWJhIGVrc2lzdGVlcmliJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ09tYWR1c2kgZWkgb2xlJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnU2VsbGUgZ3J1cGkgamFva3MgZWkgdmFsaXR1ZCAmdXVtbDtodGVnaSBvbWFkdXN0JzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnZ3J1cHAoaSkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdLdXVsdXZ1cyB2JmF1bWw7aGVtYWx0ICZ1dW1sO2h0ZSBncnVwcGkgb24ga29odXN0dXNsaWsnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ0t1dWx1dnVzIHYmYXVtbDtoZW1hbHQgJnV1bWw7aHRlIGdydXBwaSBvbiBrb2h1c3R1c2xpayc7CiRsYW5nWydiYWNrJ10gPSAnVGFnYXNpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcmVxdWlyZWRfcGFyYW0nXSA9ICclcyBvbiBuJm90aWxkZTt1dHVkIHYmYXVtbDtsaSc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTSZhdW1sO3JnaXN0YSBuJm90aWxkZTt1dHVkIHYmYXVtbDtsamFkJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ1Qmb3RpbGRlO3N0YSBuJm90aWxkZTt1dHVkIHYmYXVtbDtsamFkIGVzaWxlJzsKJGxhbmdbJ25leHQnXSA9ICdKJmF1bWw7cmdtaW5lJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnU2VsbGlzZSBuaW1lZ2EgZ3J1cHAganViYSBla3Npc3RlZXJpYic7CiRsYW5nWydyZXF1aXJlZCddID0gJ04mb3RpbGRlO3V0dWQgViZhdW1sO2xpJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnVmFsaWt1bGluZSc7CiRsYW5nWydvZmYnXSA9ICdWJmF1bWw7bGphcyc7CiRsYW5nWydsZW5ndGgnXSA9ICdQaWtrdXMnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4odCZhdW1sO2hlbSZhdW1sO3JrZSBsYWh0cmlzKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnVmFsaWttZW4mdXVtbDsmdXVtbDsgdmFsaWt1ZCwgZXJhbGRhdHVkIHJlYXZhaGVnYSc7CiRsYW5nWyd5ZXMnXSA9ICdKYWgnOwokbGFuZ1sncHJvbXB0J10gPSAnUGVhbGtpcmknOwokbGFuZ1sndHlwZSddID0gJ1QmdXVtbDsmdXVtbDtwJzsKJGxhbmdbJ3RleHQnXSA9ICdUZWtzdCc7CiRsYW5nWydjaGVja2JveCddID0gJ0xpbm51a2UnOwokbGFuZ1snZW1haWwnXSA9ICdFLW1haWxpIGFhZHJlc3MnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdGl2JmF1bWw7bGknOwokbGFuZ1snZHJvcGRvd24nXSA9ICdWYWxpa21lbiZ1dW1sOyZ1dW1sOyc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1RlcmUgdHVsZW1hc3QsJzsKJGxhbmdbJ2xvZ291dCddID0gJ0xvZ2kgdiZhdW1sO2xqYSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdTZWFkZWQnOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdTaXNzZWxvZ2ltaW5lIGViYSZvdGlsZGU7bm5lc3R1cy4gVmFsZSBrYXN1dGFqYW5pbWkgdiZvdGlsZGU7aSBwYXJvb2w/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9naSBzaXNzZSc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdLYXN1dGFqYW5pbWknOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFyb29sJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmVlcmknOwokbGFuZ1snZm9yZ290cHcnXSA9ICdVbnVzdGFzaWQgc2FsYXMmb3RpbGRlO25hPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1RhYXN0YSBhbGdzZWFkZWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdNYWxsJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0thc3V0YWphIElELWQgZWkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdTZWUga2FzdXRhamFuaW1pICglcykgb24ganViYSBrYXN1dHVzZWwnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ0thc3V0YSBTTVRQLWQgZS1tYWlsaSBhYWRyZXNzaWRlIGtlaHRpdnVzZSBraW5uaXRhbWlzZWtzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbWFhbG5lIHBhcm9vbGkgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ01ha3NpbWFhbG5lIHBhcm9vbGkgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltYWFsbmUga2FzdXRhamFuaW1lIHBpa2t1cyc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYWtzaW1hYWxuZSBrYXN1dGFqYW5pbWUgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb29uaSB0YWltYXV0IChzZWt1bmRpdGVzKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0x1YmEgRS1tYWlsaSByZWdpc3RyZWVyaW1pc3QnOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ0FsZ25lIGdydXBwIHV1dGVsZSBrYXN1dGFqYXRlbGUnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdTZWFkZXRlIG11dXRtaXNlIE1hbGwnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1Bhcm9vbGlkIGVpIGthdHR1JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ViYXNvYml2IEthc3V0YWphbmltaSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdFYmFzb2JpdiBTYWxhcyZvdGlsZGU7bmEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdXVkYSBLYXN1dGFqYXQnOwokbGFuZ1sndmFsaWQnXSA9ICdLZWh0aXYnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLYXN1dGFqYW5pbWknOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhYXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdTZWUga2FzdXRhamEgZWkga3V1bHUgJnV1bWw7aHRlZ2kgZ3J1cHBpJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdPbWFkdXNpIGVpIG9sZSc7CiRsYW5nWyd2YWx1ZSddID0gJ1YmYXVtbDsmYXVtbDtydHVzJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBpZCc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnT21hZHVzZWQnOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdPbWFkdXNlIE5pbWknOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnT21hZHVzZSBWJmF1bWw7JmF1bWw7cnR1cyc7CiRsYW5nWydhZGQnXSA9ICdMaXNhJzsKJGxhbmdbJ2VkaXQnXSA9ICdNdXVkYSc7CiRsYW5nWydleHBpcmVzJ10gPSAnQWVndWInOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnVCZhdW1sO3BzdXN0YSBrdXVwJmF1bWw7ZXZhZ2EnOwokbGFuZ1snMTJocnMnXSA9ICcxMiBUdW5kaSc7CiRsYW5nWycyNGhycyddID0gJzI0IFR1bmRpJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggVHVuZGknOwokbGFuZ1snMXdlZWsnXSA9ICcxIE4mYXVtbDtkYWwnOwokbGFuZ1snMndlZWtzJ10gPSAnMiBOJmF1bWw7ZGFsYXQnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBLdXUnOwokbGFuZ1snM21vbnRocyddID0gJzMgS3V1ZCc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBLdXVkJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSBBYXN0YSc7CiRsYW5nWyduZXZlciddID0gJ01pdHRlIEt1bmFnaSc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb29kdWwgaW5zdGFsbGVlcml0dWQuPGJyLz5NJmF1bWw7JmF1bWw7cmEga2luZGxhc3RpIGsmb3RpbGRlO2lraWRlbGUgYXNqYWdhIHNlb3R1ZCBrYXN1dGFqYXRlbGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzJnF1b3Q7ICZvdGlsZGU7aWd1cy4nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXJvb2wnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXJvb2wgdXVlc3RpJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdTZWxsaXNlIG5pbWVnYSBncnVwcCBqdWJhIGVrc2lzdGVlcmliJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ011dWRhIEdydXBwaSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTYWFkYSc7CiRsYW5nWydjYW5jZWwnXSA9ICdUJnV1bWw7aGlzdGEnOwokbGFuZ1snZGVsZXRlJ10gPSAnS3VzdHV0YSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ09sZWQgc2Ega2luZGVsLCBldCBuZWVkIG9uIHNlbGxlIGdydXBpIGphb2tzIGtvcnJla3RzZWQgc2VhZGVkP1xuT21hZHVzZSB2JmF1bWw7bGphIGwmdXVtbDtsaXRhbWluZSBlaSBrdXN0dXRhICZ1dW1sO2h0ZWdpIHNpc3Nla2FubmV0IHNlbGxlIGdydXBpL2thc3V0YWphIG9tYWR1c3RlIHRhYmVsaXMuIE5laWQgZWkgc2FhIGxpaHRzYWx0IGthc3V0YWRhLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnT2xlZCBraW5kZWwsIGV0IHNvb3ZpZCBzZWRhIGdydXBwaSBrdXN0dXRhZGE/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdPbGVkIGtpbmRlbCwgZXQgc29vdmlkIHNlbGxlIG9tYWR1c2UgbCZvdGlsZGU7cGxpa3VsdCBrdXN0dXRhZGE/XG5TZWxsZWdhIGthYXNuZWIgayZvdGlsZGU7aWtpZGUga2FzdXRhamF0ZSBzZWxsZSBvbWFkdXNlIGt1c3R1dGFtaW5lLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdFYmFwaWlzYXZhZCBwYXJhbWVldHJpZCc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ25hbWUnXSA9ICdOaW1pJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRnb3J1cCddID0gJ1Byb2JsZWVtIGdydXBpIGxpc2FtaXNlbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVmlnYXNlZCBQYXJhbWVldHJpZCc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1V1ZW5kYSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmVlcmknOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0thc3V0YWphbmltaSB2YWJhcyB2b3JtaXMnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdLaXJqZWxkdXMnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3J1cGkgTmltaSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdMaWdpcCZhdW1sOyZhdW1sO3Mga2VlbGF0dWQnOwokbGFuZ1snZXJyb3InXSA9ICdWaWdhJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnTGlzYSBHcnVwcCc7CiRsYW5nWydhZGR1c2VyJ10gPSAnTGlzYSBLYXN1dGFqYSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnYW50dWQga3JpdGVlcml1bWlsZSB2YXN0YXYoYXQpIGthc3V0YWphKHQpJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHAnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWYWxpIEdydXBwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1Jlc2dpc3RyZWVyaW1pc2UgTWFsbCc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdWJmF1bWw7bGphbG9naW1pc2UgTWFsbCc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ1Npc3NlbG9naW1pc2UgTWFsbGwnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFZWxpc3R1c2VkJzsKJGxhbmdbJ3VzZXJzJ10gPSAnS2FzdXRhamFkJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Zyb250ZW5kIFVzZXIgTWFuYWdtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTHViYSBrYXN1dGFqYXRlbCBvbWEgc2FpZGkgZWVzbGlpdGVsIHNpc3NlIGxvZ2lkYSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnQWxnbmUgZXNpbGVodCc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnVmlpbWF0aSB2YWFkYXR1ZCBsZWh0JzsKJGxhbmdbJ290aGVycGFnZSddID0gJ011dSBsZWh0OiAnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSB7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMsIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJnF1b3Q7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNTI2MzMyMDUzLjExNTcxMjE2MTguMTE1Nzg5Njc2My4xMTU4MTYzMjExLjcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTU3MTIxNjE4LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/eu_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3JlYWRvbmx5J10gPSAnSXJha3VydHpla28gc29pbGlrJzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdVc2VyIE1hbmlwdWxhdG9yIENsYXNzJzsKJGxhbmdbJ2FkbWluX2xvZ2dvdXQnXSA9ICdBZG1pbmlzdHJhdHphaWxlYWsgc2Fpb3RpayBib3RhIGR1JzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdTYWlvYSBoYXNpdGEgZHV0ZW4gZXJhYmlsdHphaWxlYWsgZXJha3V0c2knOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0VyYWJpbHR6YWlsZWEgc2Fpb3RpayBhdGVyYSc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdFcmFiaWx0emFpbGVhcmVuIFByb3BpZXRhdGVhayc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ0VyYWJpbHR6YWlsZWFyZW4gSGlzdG9yaWFsYSc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnRhdHUnOwokbGFuZ1snY2xlYXInXSA9ICdHYXJiaXR1JzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydGF0dSBFcmFiaWx0emFpbGUgSGlzdG9yaWFsYSBBU0NJSSBmb3JtYXR1cmEnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdHYXJiaXR1IEVyYWJpbHR6YWlsZSBIaXN0b3JpYWxhcmVuIGVycmVnaXN0cm9hayc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnRXJhYmlsdHphaWxlIEhpc3RvcmlhbGFyZW4gTWFudGVudWEnOwokbGFuZ1sneWVzJ10gPSAnQmFpJzsKJGxhbmdbJ25vJ10gPSAnRXonOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnT2YnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogTXVnYXJpayBnYWJlICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ09yZHViZXRla29hJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NlaSBvcmR1dGFrb2EnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnSGFtYWJpIG9yZHV0YWtvYSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ0VndW4gYmF0ZWtvYSc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdBc3RlYmV0ZWtvYSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnQmkgQXN0ZXRha29hJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdIaWxhYmV0ZWtvYSc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnSGlydSBIaWxhYmV0ZXRha29hJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnU2VpIEhpbGFiZXRldGFrb2EnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnVXJ0ZWJldGFrb2EnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnVGFsZGVrYWtldGEgZXRhIFNhaWxrYWtldGEnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ0JpbGFrZXRhLWlyaXpwaWRlYSBiZXRldHplbiBkdXRlbiBlcnJlZ2lzdHJvYWsnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdFcmFiaWx0emFpbGUtaXplbmEgYmVoZXJhbnprYSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnRXJhYmlsdHphaWxlLWl6ZW5hIGdvcmFuemthJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdEYXRhIGJlaGVyYW56a2EnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnRGF0YSBnb3JhbnprYSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdHZXJ0YWVyYS1tb3RhIGJlaGVyYW56a2EnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdHZXJ0YWVyYS1tb3RhIGdvcmFuemthJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0lQIGhlbGJpZGVhIGJlaGVyYW56a2EnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdJUCBoZWxiaWRlYSBnb3JhbnprYSc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnRXogZGEgSGlzdG9yaWFsaWsgdG9wYXR1JzsKJGxhbmdbJ3Jlc2V0J10gPSAnQmVycmV6YXJyaSc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdJUCBoZWxiaWRlYXJlbiBhcmFiZXJhIFRhbGRla2F0dSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0dlcnRhZXJhLW1vdGEgaXJhZ2F6a2lhJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ0hhdSBiYWlubyBndXR4aWFnbyBkaXJlbiBnZXJ0YWVyYWsgYmFrYXJyaWsgZXJha3V0c2k6JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdPcnJpYWxkZS1tdWdhJzsKJGxhbmdbJ2ZvciddID0gJ2Zvcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0VyYWJpbHR6YWlsZSBIaXN0b3JpYWxhcmVuIFR4b3N0ZW5hJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdFemV6YWd1bmEnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQIEhlbGJpZGVhJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdHZXJ0YWVyYS1tb3RhJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0YSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnSXR6dWxpJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdJbnBvcnRhc2lvLWVyYWdpa2V0YSBBbWFpdHV0YSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdQcm96ZXNhdHVyaWtvIGxlcnJvYWsnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9yZWFrIGF1cmtpdHUgZGlyYSc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnRXJyZWdpc3RydWFrIGdlaGl0dXRhJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnRXppbiBpemFuIGRhIFNNVFAgemVyYml0emFyaXRpayBlcmFudHp1bmlrIGphc28nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRXppbiBpemFuIGRhIGFkaWVyYXppdGFrbyBmaXR4YXRlZ2lhICglcykgdG9wYXR1JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIGZvciBkcm9wZG93biBvciBtdWx0aXNlbGVjdCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0ZpZWxkICVzIGV4Y2VlZHMgbWF4aW11bSBsZW5ndGgnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgRXJyb3IgKGxpbmUgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnQ291bGQgbm90IGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbnMgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9pbXBvcnRyZXF1aXJlZGZpZWxkJ10gPSAnQ291bGQgbm90IGZpbmQgYSBjb2x1bW4gdG8gbWF0Y2ggdGhlIHJlcXVpcmVkIGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCBncm91cCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnVGhlIGZpbGUgc3BlY2lmaWVkIGZvciBpbXBvcnQgaXMgbm90IGluIHRoZSBjb3JyZWN0IGZvcm1hdCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnQ291bGQgbm90IG9wZW4gZmlsZSc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdJbXBvcnQgVXNlcnMgSW50byBUaGlzIEdyb3VwJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRmaWxlbmFtZSddID0gJ0lucHV0IENTViBGaWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydCBVc2Vycyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnQ2xlYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdJbWFnZSBEZXN0aW5hdGlvbiBQYXRoJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHdpdGggYSBtaXNzaW5nIChidXQgcmVxdWlyZWQpIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnQ2Fubm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdUaGlzIHVzZXIgaXMgYWxyZWFkeSBsb2dnZWQgaW4nOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9naW4gbW9yZSB0aGFuIG9uY2UnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0ltYWdlIEZpbGUgRXh0ZW5zaW9ucyB0aGF0IFVzZXJzIGFsbG93ZWQgdG8gdXBsb2FkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpbmZvIGlzIHVwZGF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBkZWxldGVkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIEdyb3VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogVGhlIGZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgaW4gdGhlc2UgZmllbGRzOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gV2hlbiB1c2luZyB0aGUgeyRncm91cH0gbWFjcm8sIHRoZSBzeXN0ZW0gd2lsbCBzdWJzaXR1dGUgdGhlIG5hbWUgb2YgdGhlIGZpcnN0IG1lbWJlciBncm91cCB0aGF0IHRoZSB1c2VyIGJlbG9uZ3MgdG8sIGFuZCB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnQSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdObyByZXN1bHRzIHJldHVybmVkIGZyb20gY3N2IGV4cG9ydCc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMZW5ndGggb2YgdXNlcm5hbWUgZmllbGQnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTGVuZ3RoIG9mIHBhc3N3b3JkIGZpZWxkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IHBhc3N3b3JkIGxlbmd0aHMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggdXNlcm5hbWUgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnSW52YWxpZCBFbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnV2UgY291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBhY2NvdW50JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXNlciBBZGRlZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1VzZXIgRGVsZXRlZCB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdQcm9wZXJ0eSc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsdWUgKHJlZ3VsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYXJuaW5nOiBUaGVzZSBmaWVsZHMgYWZmZWN0IHRoZSBzaXplIG9mIGlucHV0IGZpZWxkcyBmb3IgZm9ybXMuICBEZWNyZWFzaW5nIHRoaXMgbnVtYmVyIG9uIGFuIGV4aXN0aW5nIHNpdGUgbWF5IG5vdCBiZSBhZHZpc2FibGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIG1vZHVsZSBwcmVmZXJlbmNlcz8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0VtYWlsIGFkZHJlc3MgYWxyZWFkeSB1c2VkJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnQWxsb3cgZHVwbGljYXRlIGVtYWlscyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoYWxsb3cgbXVsdGlwbGUgdXNlcnMgd2l0aCB0aGUgc2FtZSBlbWFpbCBhZGRyZXNzKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0FsbG93IGR1cGxpY2F0ZSAmcXVvdDtmb3Jnb3QgcGFzc3dvcmQmcXVvdDsgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlbiYjMDM5O3QgYWN0ZWQgb24gYSBwcmV2aW91cyBvbmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNlIEZyb250LWVuZCBVc2VyIHNwZWNpZmljIHBlcm1pc3Npb25zPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbHksIEZFVVNlcnMgcGVybWlzc2lvbnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBlcXVpdmFsZW50IEFkbWluIEFyZWEgcGVybWlzc2lvbnMgbGlrZSBBZGQgVXNlciwgQWRkIEdyb3VwLCBldGMuIElmIHlvdSBzZWxlY3QgdGhpcyBvcHRpb24sIHRoZXJlIHdpbGwgYmUgc2VwYXJhdGUgcGVybWlzc2lvbnMgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVwbG9hZGVkIGZpbGUgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciBhIHVzZXJuYW1lJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHdvcmsgb24gd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnRG8gbm90IGNyZWF0ZSBhIHByb3BlcnR5IGZvciB1c2VybmFtZSwgb3IgcGFzc3dvcmQgYXMgdGhlc2UgcHJvcGVydGllcyBhcmUgYnVpbHRpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydCBVc2VycyB0byBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0JzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydCc7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnRWRpdCBQcm9wZXJ0eSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIExlbmd0aCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0IEJ5JzsKJGxhbmdbJ3NvcnQnXSA9ICdTb3J0aW5nJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzZXJzIGluIHRoZSBzZWxlY3RlZCBncm91cChzKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdCByZXN1bHRzIHRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGZpZWxkIGZvciB0aGlzIHVzZXIuICBZb3UgbWF5IG5lZWQgdG8gY29udGFjdCB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZXNldHRpbmcgbG9zdCBwYXNzd29yZHMuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdBbiBpbnZhbGlkIGNvZGUgaGFzIGJlZW4gZW50ZXJlZCwgcGxlYXNlIHRyeSBhZ2Fpbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnQSB0ZW1wb3JhcnkgY29kZSBmb3IgeW91ciB1c2VyIGlkIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIHRvIGRpc3BsYXkgdmVyaWZpY2F0aW9uIGZvcm0nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgZm9yIGZvcmdvdHRlbiBwYXNzd29yZCBlbWFpbCc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnRWl0aGVyIHlvdXJzZWxmIG9yIHNvbWVvbmUgZWxzZSBoYXMgYWxyZWFkeSB0cmlnZ2VyZWQgYSBwYXNzd29yZCByZXNldCBvcGVyYXRpb24gZm9yIHRoaXMgYWNjb3VudC4gIENoZWNrIHlvdXIgZW1haWwsIHlvdSBtYXkgaGF2ZSBmdXJ0aGVyIGluc3RydWN0aW9ucyBvbiBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZCBpbiB5b3VyIGluYm94JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBlcnJvcic7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdZb3UgYXJlIHJlY2VpdmluZyB0aGlzIG1lc3NhZ2UgYmVjYXVzZSBzb21lYm9keSB0b2xkIG91ciBzaXRlIHRoYXQgeW91IGhhZCBsb3N0IHlvdXIgcGFzc3dvcmQuICBJZiB0aGlzIGlzIHRoZSBjYXNlLCByZWFkIHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cuICBJZiB5b3UgZG9uJiMwMzk7dCBoYXZlIGEgY2x1ZSB3aGF0IHRoaXMgaXMsIHRoZW4geW91IGFyZSBzYWZlIHRvIGRlbGV0ZSB0aGlzIG1lc3NhZ2UsIGFuZCB3ZSB0aGFuayB5b3UgZm9yIHlvdXIgdGltZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ1RoZSBmb2xsb3dpbmcgY29kZSBoYXMgYmVlbiBnZW5lcmF0ZWQgcmFuZG9tbHkgZ2VuZXJhdGVkIGluIG9yZGVyIHRvIHZlcmlmeSB0aGUgdXNlciBhY2NvdW50LiAgd2hlbiB5b3UgY2xpY2sgb24gdGhlIGxpbmsgYmVsb3cgeW91IHdpbGwgYmUgcHJlc2VudGVkIHdpdGggYSBmaWVsZCB0byBlbnRlciB0aGlzIGNvZGUuICBOb3JtYWxseSB0aGUgZmllbGQgaXMgcHJlLWNvbXBsZXRlZCBmb3IgeW91LCBidXQgaW5jYXNlIGl0IGlzbiYjMDM5O3QgdGhlIGNvZGUgaXM6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnQ2xpY2tpbmcgb24gdGhlIGZvbGxvd2luZyBsaW5rIHdpbGwgdGFrZSB5b3UgdG8gdGhlIHdlYnNpdGUgd2hlcmUgeW91IGNhbiBlbnRlciB0aGUgYWJvdmUgY29kZSwgYW5kIHJlc2V0IHlvdXIgcGFzc3dvcmQ6JzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdMb3N0IFBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIENNU01haWxlciBtb2R1bGUnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnQW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byAlcyB3aXRoIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gcmVzZXQgeW91ciBwYXNzd29yZC4gIFRoYW5rIHlvdSc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1NvIHlvdSBmb3Jnb3Qgb3IgbG9zdCB5b3VyIHBhc3N3b3JkLiBXZWxsLCB0eXBlIHlvdXIgdXNlcm5hbWUgaW4gaGVyZSwgYW5kIGlmIHdlIGNhbiBmaW5kIHlvdSB3ZSB3aWxsIHNlbmQgeW91IGFuIGVtYWlsIHdpdGggaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCBpdCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0ZvcmdvdCBQYXNzd29yZCBUZW1wbGF0ZXMnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnUHJvcGVydHkgJXMgbm90IGZvdW5kJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdQcm9wZXJ0aWVzIGZvdW5kJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdBZGQgUHJvcGVydHknOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0EgcmVxdWlyZWQgZmllbGQgKCVzKSB3YXMgZW1wdHknOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdFbnRlciBhIG5ldyBwYXNzd29yZCBoZXJlIHRvIGNoYW5nZSB5b3VyIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnWW91IGRvIG5vdCBhcHBlYXIgdG8gYmUgbG9nZ2VkIGluJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhdGlvbic7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RoaXMgYWNjb3VudCBoYXMgZXhwaXJlZCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnSW1wcm9wZXIgZW1haWwgYWRkcmVzcyBmb3JtYXR0aW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnSW52YWxpZCBleHBpcnkgZGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3Igc2V0dGluZyBwcm9wZXJ0eSAlcyBmb3IgdXNlciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ0ludmFsaWQgZ3JvdXAgaWQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdIaWRkZW4gZmllbGQgbWFya2VyJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdIaWRkZW4gZmllbGQgY29sb3InOwokbGFuZ1snaGlkZGVuJ10gPSAnSGlkZGVuJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdBIHByb3BlcnR5IHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBwcm9wZXJ0aWVzIHdlcmUgc2VsZWN0ZWQgZm9yIHRoaXMgZ3JvdXAnOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBHcm91cHMgYXJlIGRlZmluZWQnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cHMgRm91bmQnOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lbWJlcnNoaXAgaW4gYXQgbGVhc3Qgb25lIGdyb3VwIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdSZXF1aXJlIG1lbWJlcnNoaXAgaW4gYXRsZWFzdCBvbmUgZ3JvdXAnOwokbGFuZ1snYmFjayddID0gJ0JhY2snOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGlzIGEgcmVxdWlyZWQgZmllbGQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01hcmsgcmVxdWlyZWQgZmllbGRzIHdpdGgnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnSGlsaXRlIHJlcXVpcmVkIGZpZWxkcyBpbic7CiRsYW5nWyduZXh0J10gPSAnTmV4dCc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0EgR3JvdXAgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdSZXF1aXJlZCBGaWVsZCc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmFsJzsKJGxhbmdbJ29mZiddID0gJ09mZic7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heGltdW0gc2l6ZSBvZiBhbnkgb25lIGRpbWVuc2lvbiBvZiB0aGUgaW1hZ2UgaW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMZW5ndGgnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndGV4dCddID0gJ1RleHQnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ011bHRpIFNlbGVjdCBMaXN0JzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dlbGNvbWUnOwokbGFuZ1snbG9nb3V0J10gPSAnU2lnbiBvdXQnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnQ2hhbmdlIE15IFNldHRpbmdzJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9naW4gZmFpbGVkIC0gSW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdTaWduIGluJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnU2lnbiBpbiBidXR0b24gbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3Rlcic7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0ZvcmdvdCBZb3VyIFBhc3N3b3JkPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ0RlZmF1bHRzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVXNlciBJRCBub3QgZm91bmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgKCVzKSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNlIFNNVFAgdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYXhpbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaW9uIFRpbWVvdXQgKHNlY29uZHMpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVc2UgY29va2llcyB0byBrZWVwIGxvZ2lucyBhbGl2ZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0FsbG93IEVtYWlsIFJlZ2lzdHJhdGlvbic7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnRGVmYXVsdCBHcm91cCBmb3IgbmV3IHVzZXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnQ2hhbmdlIFNldHRpbmdzIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdQYXNzd29yZHMgRG8gbm90IG1hdGNoJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ludmFsaWQgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnSW52YWxpZCBQYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RoaXMgdXNlciBpcyBub3QgYSBtZW1iZXIgb2YgYW55IGdyb3Vwcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTm8gUHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnUHJvcGVydGllcyc7CiRsYW5nWydwcm9wbmFtZSddID0gJ1Byb3BlcnR5IE5hbWUnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnUHJvcGVydHkgVmFsdWUnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3J5JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZnkgRGF0ZSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvdXJzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG91cnMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Vycyc7CiRsYW5nWycxd2VlayddID0gJzEgV2Vlayc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFdlZWtzJzsKJGxhbmdbJzFtb250aCddID0gJzEgTW9udGgnOwokbGFuZ1snM21vbnRocyddID0gJzMgTW9udGhzJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE1vbnRocyc7CiRsYW5nWycxeWVhciddID0gJzEgWWVhcic7CiRsYW5nWyduZXZlciddID0gJ05ldmVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0FnYWluJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdHcm91cCBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdCBHcm91cCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XG5UdXJuaW5nIGEgcHJvcGVydHkgb2ZmIHdpbGwgbm90IGRlbGV0ZSBhbnkgZW50cmllcyBpbiB0aGUgcHJvcGVydGllcyB0YWJsZSBmb3IgdGhpcyBncm91cC91c2VyLiAgVGhleSB3aWxsIG1lcmVseSBiZSB1bmF2YWlsYWJsZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBncm91cD8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGlzIHByb3BlcnR5P1xuRG9pbmcgc28gd2lsbCBhbHNvIGVyYXNlIGFueSB1c2VyIGVudHJpZXMgZm9yIHRoaXMgcHJvcGVydHkuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdvcnVwJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ0ludmFsaWQgUGFyYW1ldGVycyc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGx5JzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnVXNlcm5hbWUgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3JvdXAgTmFtZSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdBZGQgR3JvdXAnOwokbGFuZ1snYWRkdXNlciddID0gJ0FkZCBVc2VyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dyb3VwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWN0IEdyb3VwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdMb2dvdXQgVGVtcGxhdGUnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdMb2dpbiBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXNlcnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9nIGluIHRvIHRoZSBmcm9udGVuZCBvZiB5b3VyIHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ0RlZmF1bHQgZnJvbnQgcGFnZSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnTGFzdCBhY2Nlc3NlZCBwYWdlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090aGVyIHBhZ2U6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBceyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjEgLSBTZXB0LCAyMDA2PC9wPg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwmIzAzOTthbGxvdyBkdXBsaWNhdGUgZW1haWxzXCYjMDM5OyB3YXMgb2ZmPC9wPg0KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPg0KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMiAtIERlYywgMjAwNjwvcD4NCiAgICA8cD5GaXhlcyAoaG9wZWZ1bHkpIHRvIHRoZSBhZG9kYi9hZG9kYi1saXRlIERBVEVUSU1FIGlzc3VlPC9wPg0KICAgIDxwPkFkZCBjYXB0Y2hhIHN1cHBvcnQgdG8gdGhlIGxvZ2luIHNjcmVlbiAob3B0aW9uYWwpLCB0aGFua3MgZGl0dG1hbjwvcD4NCiAgICA8cD5GaXhlcyB0byBjYW5jZWwgaGFuZGxpbmcgb24gdGhlIGxvc3QgcGFzc3dvcmQgYW5kIGNoYW5nZSBzZXR0aW5ncyBzY3JlZW5zPC9wPg0KICAgIDxwPkZpeGVzIHRvIHVzZXIgZXhwaXJ5IChtb3JlIERCVGltZXN0YW1wIGlzc3VlcyksIHRoYW5rcyBhZ2FpbiBkaXR0bWFuPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBGRVVzZXJzIHRvIGhhdmUgaXRzIG93biBzZXQgb2YgcGVybWlzc2lvbnMgYXNzaWRlIGZyb20gdGhlIGFkbWluIHBlcm1pc3Npb25zLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPk9wdGlvbiB0byBhbGxvdyBkdXBsaWNhdGUgcGFzc3dvcmQgcmVtaW5kZXIgcmVxdWVzdHMgYW5kIHRvIHNwZWNpZnkgdGV4dCBvbiB0aGUgc2lnbmluIGJ1dHRvbi4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5HZW5lcmFsIGNsZWFudXAgb2YgZnVuY3Rpb25zIHRoYXQgd2VyZSBub3QgYmVpbmcgdXNlZCBhbmQgbm90aWNlcy93YXJuaW5nczwvcD4NCiAgICA8cD5BZGRlZCB0aGUgb25seV9ncm91cHMgcGFyYW0gZm9yIGxvZ2luIGZvcm1zLiAgVGhhbmtzIHdpc2h5PC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBsZW5ndGggb2YgdGhlIGVtYWlsIGZpZWxkIGluIHRoZSBjaGFuZ2UgcGFzc3dvcmQgZm9ybTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZW1haWwgdmFsaWRhdGlvbiBzdHVmZjwvcD4NCjwvbGk+DQogICAgPGxpPjxwPjEuMi4wIC0gQXByaWwsIDIwMDc8L3A+DQogICAgPHA+ZWxpamFobG9mZ3JlbiAtIEZpeGVzIHRvIGNhcHRjaGEgc3VwcG9ydCwgYW5kIHNvbWUgdGVtcGxhdGUgY2xlYW51cHMuPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+DQogICAgPHA+VGVtcGxhdGUgY2xlYW51cHMgKG1vcmUgb2YgZW0pPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciB2YWx1ZT1rZXkgc3R1ZmYgaW4gdGhlIGRyb3Bkb3duIGFuZCBtdWx0aSBzZWxlY3QgbGlzdHMuPC9wPg0KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgJnF1b3Q7YXQgbGVhc3Qgb25lIGdyb3VwIHJlcXVpcmVkJnF1b3Q7IHN0dWZmPC9wPg0KICAgIDxwPk91dHB1dCBtb3JlIHNtYXJ0eSB2YXJpYWJsZXMgb24gdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgdG8gYWxsb3cgcGVvcGxlIHRvIG1vZGlmeSB0aGUgdGVtcGxhdGUgdG8gc29tZXRoaW5nIHRoYXQgaXMgbW9yZSBhY2Nlc3NpYmlsZTwvcD4NCiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IG5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2VyczwvcD4NCiAgICA8cD5Ob3cgaGFuZGxlIHJlZ2V4IHByb2JsZW1zIGJldHRlciBpbiB0aGUgYWRtaW4gc2VjdGlvbiB1c2VycyB0YWI8L3A+DQogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgaW1hZ2UgdXBsb2FkcywgdGhpcyBpcyBhIGJpZyBmZWF0dXJlLiAgSW1hZ2VzIGFyZSBzY2FsZWQgdG8gYSBtYXhpbXVtIHNpemUgaW4gb25lIGRpbWVuc2lvbiwgYW5kIHN0b3JlZCBhcyBmaWxlcyBpbiBhIGNvbmZpZ3VyYWJsZSBkaXJlY3RvcnkgdW5kZXIgdGhlIHVwbG9hZHNfcGF0aC48L3A+DQogICAgPHA+Q2FwdGNoYSBtb2RlIGlzIG5vdyBvbiBieSBkZWZhdWx0LCB1bmxlc3MgeW91IHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiB0aGUgdGFnLjwvcD4NCiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+DQogICAgPHA+SW1wb3J0IFVzZXJzIGZyb20gQ1NWPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBpbnN0YWxsIGFuZCB1bmluc3RhbGwgbWV0aG9kcywgYW5kIG5vdyB0aGUgYWxsb3dfcmVwZWF0ZWRfbG9naW5zIHByZWZlcmVuY2Ugc2hvdWxkIHdvcms8L3A+DQogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCBpZiB0aGUgdXNlciBzZXR0aW5ncyBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSBmb3Jnb3QgcGFzc3dvcmQgcGFnZSwgaWYgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+DQo8L2xpPg0KPGxpPg0KPHA+MS4yLjEgLSBKdW5lLCAyMDA3PC9wPg0KCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGFuIGFkbWluaXN0cmF0b3IgdG8gbG9nb3V0IHVzZXJzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBsb2dnZWQgaW4gc3RhdHVzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+DQoJPHA+QWRkZWQgbW9yZSB2YXJpYWJsZXMgaW4gZWFjaCBvYmplY3QgaW4gdGhlIGNoYW5nZXNldHRpbmdzIGZvcm08L3A+DQo8L2xpPg0KPGxpPg0KCTxwPjEuMi4yIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD50c3cgLSBBZGRlZCBldmVudCBPblVwZGF0ZVVzZXIgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB1c2VyIChvciBhZG1pbikgdXBkYXRlcyB1c2VyIGluZm88L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43NzUzNzI2NjIuMTE4NzczMDU5My4xMTg3NzMwNTkzLjExODc3MzA1OTMuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE4NzczMDU5My4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ0VkaXRpbmcgVXNlcic7CiRsYW5nWydub2lubGluZSddID0gJ0RvIG5vdCBpbmxpbmUgZm9ybXMnOwokbGFuZ1snaW5mb19sb3N0dW4nXSA9ICdQYWluYSB0JmF1bWw7c3QmYXVtbDssIGpvcyBldCBtdWlzdGEga2lyamF1dHVtaXN0aWV0b2phc2knOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ1BhaW5hIHQmYXVtbDtzdCZhdW1sOywgam9zIGV0IG11aXN0YSBzYWxhc2FuYWFzaSc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ0tsaWtrYWEga2lyamF1dHVha3Nlc2kgdWxvcyc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnUGFpbmEgdCZhdW1sO3N0JmF1bWw7IG11b2thdGFrc2VzaSBzYWxhc2FuYWFzaSB0YWkgbXVpdGEgdGlldG9qYXNpJzsKJGxhbmdbJ3ZpZXd1c2VyX3RlbXBsYXRlJ10gPSAnTiZhdW1sO3l0JmF1bWw7IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7IC1wb2hqYSc7CiRsYW5nWydldmVudCddID0gJ1RhcGFodHVtYSc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnRkVVLXRhcGFodHVtYWh1b21hdXR1cyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX2FkZHJlc3MnXSA9ICdJbG1vaXR1c3ZpZXN0aWVuIGtvaGRlb3NvaXRlJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdJbG1vaXR1c3ZpZXN0aWVuIHBvaGphJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCddID0gJ0lsbW9pdHVzdmllc3RpZW4gYWloZSAoU3ViamVjdCknOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdTJmF1bWw7aGsmb3VtbDtwb3N0aS1pbG1vaXR1a3NldCc7CiRsYW5nWydPbkxvZ2luJ10gPSAnU2lzJmF1bWw7JmF1bWw7bmtpcmphdXR1ZXNzYSc7CiRsYW5nWydPbkxvZ291dCddID0gJ1Vsb3NraXJqYXV0dWVzc2EnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnSXN0dW5ub24gdmFuaGV0ZXNzYSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdLJmF1bWw7eXR0JmF1bWw7amkmYXVtbDsgbHVvZGVzc2EnOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2ppJmF1bWw7IHBvaXN0ZXR0YWVzc2EnOwokbGFuZ1snT25VcGRhdGVVc2VyJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIGFzZXR1a3NpZW4gbXV1dHR1ZXNzYSc7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnTHVvdGFlc3NhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7cnlobSZhdW1sOyc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnUG9pc3RldHRhZXNzYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3J5aG0mYXVtbDsnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICcmcXVvdDtLYWRvbm5lZXQga2lyamF1dHVtaXN0aWVkb3QmcXVvdDstdG9pbWlubmFsbGlzdXVzIG9uIG9ubmlzdHVuZWVzdGkgc3Vvcml0ZXR0dS4gTCZvdW1sO3lkZXR0aWluIHVuaWlra2kgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMsIGpva2EgdmFzdGFhIGFudGFtaWFzaSB0aWV0b2phLic7CiRsYW5nWyd5b3VyX3VzZXJuYW1lX2lzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udWtzZXNpIG9uJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ1N1b3NpdHRlbGVtbWUga2lyamFhbWFhbiB0JmF1bWw7bSZhdW1sO24gdGllZG9uIHlsJm91bWw7cyB0dXJ2YWxsaXNlZW4sIG11dHRhIHNhYXRhdmlsbGEgb2xldmFhbiBzaWphaW50aWluLic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJ10gPSAnUGFnZUlEL0FsaWFzLCBqb25uZSBzaWlycnl0JmF1bWw7JmF1bWw7biBhc2V0dXN0ZW4gbXV1dG9rc2VuIGomYXVtbDtsa2Vlbic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSA9ICdQYWdlSUQvQWxpYXMga29vZGluIHZhcm1lbm51a3NlbiBqJmF1bWw7bGtlZW4gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0thZG9ubnV0IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIHBvaGphJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnS2Fkb25udXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgdmFybWVubnVzIHBvaGphJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnVmlyaGU6IEVuZW1tJmF1bWw7biBrdWluIHlrc2kgdGlsaSBsJm91bWw7eXR5aSBvbWluYWlzdXVrc2lsbGEnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnVmlyaGU6IEsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7JmF1bWw7IGVpIGwmb3VtbDt5dHlueXQgbiZhdW1sO2lsbCZhdW1sOyBlaGRvaWxsYSc7CiRsYW5nWydlcnJvcl9ncm91cG5vdGZvdW5kJ10gPSAnVmlyaGU6IFJ5aG0mYXVtbDsmYXVtbDsgZWkgbCZvdW1sO3l0eW55dCc7CiRsYW5nWydyZWFkb25seSddID0gJ1ZhaW4gbHVrdSc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2ppZW4gbXVva2thdXNsdW9ra2EnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnWWxsJmF1bWw7cGl0JmF1bWw7aiZhdW1sOyBraXJqYXNpIHVsb3MnOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ04mYXVtbDt5dCZhdW1sOyB2YWluIGtpcmphdXR1bmVldCBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0tpcmphYSB0JmF1bWw7bSZhdW1sOyBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyB1bG9zJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBvbWluYWlzdXVkZXQnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gaGlzdG9yaWEnOwokbGFuZ1snZXhwb3J0J10gPSAnVmllJzsKJGxhbmdbJ2NsZWFyJ10gPSAnVHloamVubiZhdW1sOyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdWaWUgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtoaXN0b3JpYSBBU0NJSS1tdW9kb3NzYSBqb2thIG9uIHYmYXVtbDtoaW50JmF1bWw7JmF1bWw7bic7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ1R5aGplbm4mYXVtbDsgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtoaXN0b3JpYSBqb2thIG9uIHYmYXVtbDtoaW50JmF1bWw7JmF1bWw7bic7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdVbm9oZGl0a28gdHVubnVrc2VuIHRhaSBzYWxhc2FuYW4/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ1ZpZSByeWhtJmF1bWw7bSZhdW1sOyZhdW1sO3JpdHlrc2V0IFhNTC1tdW9kb3NzYSc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtoaXN0b3JpYW4gaGFsbGludGEnOwokbGFuZ1sneWVzJ10gPSAnS3lsbCZhdW1sOyc7CiRsYW5nWydubyddID0gJ0VpJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJy8nOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogRWkgcmFqb2l0dXN0YSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdUdW5uaW4gdmFuaGEnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnS3V1c2kgdHVudGlhIHZhbmhhJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ0tha3NpdG9pc3RhIHR1bnRpYSB2YW5oYSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ1AmYXVtbDtpdiZhdW1sO24gdmFuaGEnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnVmlpa29uIHZhbmhhJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICdLYWtzaSB2aWlra29hIHZhbmhhJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdLdXVrYXVkZW4gdmFuaGEnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ0tvbG1lIGt1dWthdXR0YSB2YW5oYSc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ0t1dXNpIGt1dWthdXR0YSB2YW5oYSc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdWdW9kZW4gdmFuaGEnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnUnlobWl0dGVseSBqYSBqJmF1bWw7cmplc3R5cyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnSGFrdWVodG9qYSB2YXN0YWF2YXQgbWVya2lubiZhdW1sO3QnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBsYXNrZXZhJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBub3VzZXZhJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdQJmF1bWw7aXYmYXVtbDttJmF1bWw7JmF1bWw7ciZhdW1sOyBsYXNrZXZhJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ1AmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7IG5vdXNldmEnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnVGFwYWh0dW1hbiB0eXlwcGkgbGFza2V2YSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1RhcGFodHVtYW4gdHl5cHBpIG5vdXNldmEnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnSVAtb3NvaXRlIGxhc2tldmEnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdJUC1vc29pdGUgbm91c2V2YSc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnRWkgaGlzdG9yaWFhJzsKJGxhbmdbJ3Jlc2V0J10gPSAnTm9sbGFhJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ1J5aG1pdHRlbGUgSVAtb3NvaXR0ZWVuIG11a2Fhbic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ1RhcGFodHVtYXR5eXBwaXN1b2RhdHVzJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ04mYXVtbDt5dCZhdW1sOyB2YWluIHRhcGFodHVtYXQgam90a2Egb3ZhdDonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1NpdnVyYWpvaXR1cyc7CiRsYW5nWydmb3InXSA9ICdmb3InOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2hpc3RvcmlhcmFwb3J0dGknOwokbGFuZ1sndW5rbm93biddID0gJ1R1bnRlbWF0b24nOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQLU9zb2l0ZSc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVGFwYWh0dW1hbiB0eXlwcGknOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdQJmF1bWw7aXYmYXVtbDsnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1BhbGFhJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdUdW9udGkgb25uaXN0dWknOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnUml2aSZhdW1sOyBrJmF1bWw7c2l0ZWx0eSc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnVmlyaGVpdCZhdW1sOyBsJm91bWw7eXR5aSc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnTWVya2ludCZhdW1sOyZhdW1sOyBsaXMmYXVtbDt0dHknOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ1J5aG0mYXVtbDtsbGUgJXMgZWkgbCZvdW1sO3l0eW55dCBvbWluYWlzdXVrc2lhJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnU01UUC1zZXJ2ZXJpaW4gZWkgc2FhdHUgeWh0ZXl0dCZhdW1sOyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdUaWVkb3N0b2EgKCVzKSBlaSBsJm91bWw7eXR5bnl0JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdWaXJoZWVsbGluZW4gYXJ2byBrZW50JmF1bWw7c3MmYXVtbDsgJXMnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnXSA9ICdLZW50JmF1bWw7c3MmYXVtbDsgJXMgbGlpYW4gcGl0ayZhdW1sOyBhcnZvJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHVzZXJzJ10gPSAnVHVvbnRpdmlyaGUgKHJpdmkgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnRWkgdm9pdHUgbGFkYXRhIG9taW5haXN1dXN0aWV0b2phIChTaXMmYXVtbDtpbmVuIHZpcmhlKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdPbmdlbG1hIGFzZXRldHRhZXNzYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlldG9qYSc7CiRsYW5nWydlcnJvcl9pbXBvcnRyZXF1aXJlZGZpZWxkJ10gPSAnVmFhZGl0dWxsZSBrZW50JmF1bWw7bGxlICVzIGVpIGwmb3VtbDt5dHlueXQgc2FyYWtldHRhJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnUnlobSZhdW1sO2xsZSBlaSBsJm91bWw7eWR5IG9taW5haXN1dWtzaWEnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1R1b250aXRpZWRvc3RvbiBtdW90byBvbiB2JmF1bWw7JmF1bWw7ciZhdW1sOyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnVGllZG9zdG9hIGVpIHZvaXR1IGF2YXRhJzsKJGxhbmdbJ2luZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0J10gPSAnPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4NCjxwPlRoZSBpbnB1dCBmaWxlIG11c3QgYmUgaW4gQVNDSUkgZm9ybWF0IHVzaW5nIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuICBFYWNoIGxpbmUgaW4gdGhpcyBpbnB1dCBmaWxlICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhlYWRlciBsaW5lLCBkaXNjdXNzZWQgYmVsb3cpIHJlcHJlc2VudHMgb25lIHVzZXIgcmVjb3JkLiAgRWFjaCBsaW5lIG11c3QgY29udGFpbiB0aGUgc2FtZSBudW1iZXIgb2YgZmllbGRzLCBhbmQgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZHMgaW4gZWFjaCBsaW5lIG11c3QgYmUgaWRlbnRpY2FsLjwvcD4NCjxoNT5IZWFkZXIgbGluZTwvaDU+DQo8dWw+DQo8bGk+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgbXVzdCBiZWdpbiB3aXRoIHR3byBwb3VuZCAoXCMpIGNoYXJhY3RlcnMsIGFuZCBuYW1lcyBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGZpbGUuICBUaGUgbmFtZXMgb2YgdGhlc2UgZmllbGRzIGlzIHNpZ25pZmljYW50LiAgVGhlcmUgYXJlIHNvbWUgcmVxdWlyZWQgZmllbGQgbmFtZXMgKHNlZSBiZWxvdyksIGFuZCBvdGhlciBmaWVsZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHVzZXJzIGFyZSBnb2luZyB0byBiZSBhZGRlZCBpbnRvLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgZmFpbCBpZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIGRvZXMgbm90IG1hdGNoIGFsbCBvZiB0aGUgcmVxdWlyZWQgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHRoYXQgdXNlcnMgYXJlIGJlaW5nIGFkZGVkIGludG88L2xpPg0KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgaWdub3JlIGFueSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgdGhhdCBhcmUgZWl0aGVyIG5vdCBrbm93biwgb3IgbWFwIHRvIHByb3BlcnRpZXMgdGhhdCBhcmUgPGVtPm9mZjwvZW0+IGluIHRoZSBzcGVjaWZpZWQgdXNlciBncm91cC48L2xpPg0KPC91bD4NCjxoNT5Db2x1bW5hciBEYXRhPC9oNT4NCjx1bD4NCjxsaT5UaGUgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiBGaWVsZCAtIFRoZSBkZXNpcmVkIHVzZXJuYW1lLg0KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY24gYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPg0KPGxpPlRoZSA8c3Ryb25nPnBhc3N3b3JkPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+ZXhwaXJlczwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPkRyb3Bkb3duIEZpZWxkcw0KICAgIDxwPlRoZSB2YWx1ZSBvZiBkcm9wZG93biBwcm9wZXJ0aWVzIGluIGFuIGltcG9ydCBmaWxlIGlzIHJlcHJlc2VudGVkIGFzIHRoZSBzdHJpbmcgdGhhdCBpcyBzaG93biBpbiB0aGUgZHJvcGRvd24gY29udHJvbCBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUuPC9wPg0KPC9saT4NCjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMNCiAgICA8cD5NdWx0aXNlbGVjdCBmaWVsZHMgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlIEFTQ0lJIGZpbGUgYXMgYSA6IHNlcGFyYXRlZCBsaXN0IG9mIHN0cmluZ3MsIHdoZXJlIGVhY2ggc3RyaW5nIHJlcHJlc2VudHMgdGhlIHRleHQgc2hvd24gaW4gdGhlIG11bHRpc2VsZWN0IGxpc3Q8L3A+DQo8L2xpPg0KPGxpPkltYWdlIEZpZWxkcw0KICAgIDxwPkltYWdlIGFyZSBmaWVsZHMgd2hvJiMwMzk7cyBjb2x1bW4gbmFtZSBtYXRjaGVzIGEgcHJvcGVydHkgb2YgdHlwZSBJbWFnZS4gIElmIHRoaXMgZmllbGQgaXMgYSByZXF1aXJlZCBwYXJ0IG9mIHRoZSBkZXN0aW5hdGlvbiBncm91cCwgdGhlbiB0aGUgbmFtZSBzcGVjaWZpZWQgaW4gdGhlc2UgY29sdW1ucyBtdXN0IGV4aXN0IGluIHRoZSB1cGxvYWRzIGRpc3JlY3Rvcnkgb2YgdGhlIENNUyBpbnN0YWxsYXRpb24uICBJZiB0aGUgaW1hZ2UgZG9lcyBub3QgZXhpc3QsIGFuZCB0aGUgZmllbGQgaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHJlY29yZCB3aWxsIGZhaWwuPC9wPg0KPC91bD4NCjxoNT5Ob3RlczwvaDU+DQo8cD5UaGUgaW1wb3J0IHByb2Nlc3MgaXMgc3ViamVjdCB0byB0aGUgbGltaXRhdGlvbnMgaW1wb3NlZCBieSB0aGUgaG9zdCBwcm92aWRlciwgc3VjaCBhcyBtZW1vcnkgbGltaXRhdGlvbnMsIHByb2Nlc3NpbmcgdGltZSwgZmlsZSBzaXplIHVwbG9hZCwgYW5kIHNhZmUgbW9kZSByZXN0cmljdGlvbnMuICBBbnkgb25lIG9mIHRoZXNlIGxpbWl0YXRpb25zIG1heSBjYXVzZSB0aGUgaW1wb3J0IHRvIGZhaWwuIFRoZXJlZm9yZSBpdCBpcyBhZHZpc2FibGUgdG8gZW5zdXJlIHRoYXQgaW1wb3J0IGZpbGVzIGFyZSBzbWFsbGVyIGluIHNpemUsIGFuZCBzaW1wbGVyIGluIG5hdHVyZS48L3A+DQo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPg0KPGg1PkV4YW1wbGU8L2g1Pg0KPHByZT4NCiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcA0KdXNlcjEsdGVzdCx1c2VyLHVzZXIxQHNvbWVkb21haW4uY29tLHNvbWV3aGVyZSxUWCxVUywxMjM0NQ0KPC9wcmU+JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdUdW8gayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0IHJ5aG0mYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRmaWxlbmFtZSddID0gJ0NTVi10aWVkb3N0byc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ1hNTC10aWVkb3N0byc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdWaWUgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ1R1byBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnVHloamVubiZhdW1sOyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0t1dmFuIGtvaGRlcG9sa3UnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdIYXZhaXR0aWluIG9uZ2VsbWEgcHV1dHR1dmFuIChqYSB2YWFkaXR1bikgdXBsb2FkaW4ga2Fuc3NhJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdYTUwtdGllZG9zdG9hIGVpIHZvaXR1IGx1a2VhJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdFaSB2b2lkYSB0dWhvdGEgcnlobSZhdW1sOyZhdW1sOyBqb3NzYSBvbiB2aWVsYSBrJmF1bWw7eXR0JmF1bWw7amkmYXVtbDsnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7IG9uIGpvIGtpcmphdXR1bmVlbmEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnS3V2YXNzYSBvbGV2YSB0ZWtzdGkgZWkgb2xlIHN5Jm91bWw7dGV0dHkgb2lrZWluJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdTYWxsaSBrJmF1bWw7eXR0JmF1bWw7amllbiBraXJqYXV0dWEgdXNlYW1tYW4ga2VycmFuJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdLdXZpZW4gdGllZG9zdG9wJmF1bWw7JmF1bWw7dHRlZXQgam9pdGEgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0IHNhYXZhdCBsYWRhdGEnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyB1cGRhdGVkIChlaXRoZXIgYnkgdXNlciB0aGVtc2VsZiBvciBhZG1pbik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBncm91cCBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZCBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnU3Vvcml0ZXRhYW4ga3VuIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGtpcmphdXR1dSBqJmF1bWw7cmplc3RlbG0mYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdTdW9yaXRldGFhbiBrdW4gayZhdW1sO3l0dCZhdW1sO2omYXVtbDsga2lyamF1dHV1IHVsb3MgaiZhdW1sO3JqZXN0ZWxtJmF1bWw7c3QmYXVtbDsnOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdTdW9yaXRldGFhbiBrdW4gayZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIGlzdHVudG8gdmFuaGVuZWUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdTdW9yaXRldGFhbiBrdW4gdXVzaSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyBsdW9kYWFuJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnU3Vvcml0ZXRhYW4ga3VuIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biB0aWV0b2phIHAmYXVtbDtpdml0ZXQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnU3Vvcml0ZXRhYW4ga3VuIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biB0aWxpIHBvaXN0ZXRhYW4nOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnU3Vvcml0ZXRhYW4ga3VuIHJ5aG0mYXVtbDsgbHVvZGFhbic7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdTdW9yaXRldGFhbiBrdW4gcnlobSZhdW1sOyBwb2lzdGV0YWFuJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIEdyb3VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogU2V1cmFhdmlhIG1ha3JvamEgdm9pZGFhbiBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7OiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gV2hlbiB1c2luZyB0aGUgeyRncm91cH0gbWFjcm8sIHRoZSBzeXN0ZW0gd2lsbCBzdWJzaXR1dGUgdGhlIG5hbWUgb2YgdGhlIGZpcnN0IG1lbWJlciBncm91cCB0aGF0IHRoZSB1c2VyIGJlbG9uZ3MgdG8sIGFuZCB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ011b2trYWEgdCZhdW1sO3QmYXVtbDsga2VudHQmYXVtbDsmYXVtbDsgbm9sbGF0YWtzZXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBzYWxhc2FuYW4nOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ011b2trYWEgdCZhdW1sO3QmYXVtbDsga2VudHQmYXVtbDsmYXVtbDsgbm9sbGF0YWtzZXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBzYWxhc2FuYW4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgb24gam8gayZhdW1sO3l0Jm91bWw7c3MmYXVtbDsnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnQ1NWIGV4cG9ydCBlaSBwYWxhdXR0YW51dCB0dWxva3NpYSc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51c2tlbnQmYXVtbDtuIHBpdHV1cyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdTYWxhc2FuYWtlbnQmYXVtbDtuIHBpdHV1cyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluaW1pLS9NYWtzaW1pLXBpdHV1ZGV0IHNhbGFzYW5hbGxlIG92YXQgdmlyaGVlbGxpc2V0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdNaW5pbWktL01ha3NpbWktcGl0dXVkZXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udWtzZWxsZSBvdmF0IHZpcmhlZWxsaXNldCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnVmlyaGVlbGxpbmVuIGVtYWlsLW9zb2l0ZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ1RpbGlsbGUgZWkgbCZvdW1sO3l0eW55dCBlbWFpbC1vc29pdGV0dGEnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ09uZ2VsbWEgYXNldGV0dGFlc3NhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biB0aWV0b2phJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ09uZ2VsbWEgYXNldGV0dGFlc3NhIG9taW5haXN1dWtzaWEnOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGxpcyZhdW1sO3R0eSAlcz0lcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyBwb2lzdGV0dHUgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnT21pbmFpc3V1cyc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnQXJ2byAocmVxdWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1Zhcm9pdHVzOiBOJmF1bWw7bSZhdW1sOyBrZW50JmF1bWw7dCB2YWlrdXR0YXZhdCBzeSZvdW1sO3R0Jm91bWw7a2VudHRpZW4ga29rb29uLiBBcnZvamVuIHBpZW5lbnQmYXVtbDttaW5lbiBlaSBvbGUgc3Vvc2l0ZWx0YXZhYSBrJmF1bWw7eXR0Jm91bWw7c3MmYXVtbDsgb2xldmFsbGEgc2l2dXN0b2xsYSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnSGFsdWF0a28gdmFybWFzdGkgbXVva2F0YSBtb2R1bGluIGFzZXR1a3NpYSc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRW1haWwgb3NvaXRlIG9uIGpvIGsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7JzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ0smYXVtbDt5dCZhdW1sOyBrZWtzZWomYXVtbDsga2lyamF1dHVtaXN0aWV0b2plbiB0YWxsZW5udWtzZWVuJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnS2Vrc2luIG5pbWknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdTYWxsaSB0dXBsYS1lbWFpbGl0JzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ1MmYXVtbDtoayZvdW1sO3Bvc3Rpb3NvaXRlIG9uIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7bmltaSc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdZcml0JmF1bWw7IHBpdCZhdW1sOyZhdW1sOyBrJmF1bWw7eXR0JmF1bWw7amllbiBraXJqYXV0dW1pbmVuIGFrdGlpdmlzZW5hIGtla3NpbGwmYXVtbDsnOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnU2FsbGkgdXNlaWxsZSBrJmF1bWw7eXR0JmF1bWw7amlsbGUgc2FtYSBlbWFpbC1vc29pdGUnOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyh1c2VyJiMwMzk7cyBlbWFpbCBhZGRyZXNzIGlzIHRoZWlyIHVzZXJuYW1lIC0tIGRvbiYjMDM5O3Qgc2V0IHRoaXMgd2l0aCAmcXVvdDthbGxvdyBkdXBsaWNhdGUgZW1haWwgYWRkcmVzc2VzJnF1b3Q7ISknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdTYWxsaSB1c2VhdCAmcXVvdDt1bm9oZGl0a28gc2FsYXNhbmFzaSZxdW90OyB2aWVzdGl0Pyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdTYWxsaSBrJmF1bWw7eXR0JmF1bWw7amllbiBweXl0JmF1bWw7JmF1bWw7IHNhbGFzYW5hIHV1ZGVzdGFhbiB2YWlra2EgZWRlbGxpc2VlbiBrdXRzdXVuIGVpIG9sZSB2aWVsJmF1bWw7IHJlYWdvaXR1JzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnSyZhdW1sO3l0JmF1bWw7IEZyb250LWVuZCBVc2VyIHNwZWNpZmljaSZhdW1sOyBvaWtldWtzaWEnOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hbGx5LCBGRVVTZXJzIHBlcm1pc3Npb25zIGFyZSB0aGUgc2FtZSBhcyB0aGUgZXF1aXZhbGVudCBBZG1pbiBBcmVhIHBlcm1pc3Npb25zIGxpa2UgQWRkIFVzZXIsIEFkZCBHcm91cCwgZXRjLiBJZiB5b3Ugc2VsZWN0IHRoaXMgb3B0aW9uLCB0aGVyZSB3aWxsIGJlIHNlcGFyYXRlIHBlcm1pc3Npb25zIGZvciBGRVVzZXJzLiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VwbG9hZCddID0gJ0VpIHZvaXR1IGF2YXRhIGxhZGF0dHVhIHRpZWRvc3RvYSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ0xhZGF0dXNzYSB0aWVkb3N0b3NzYSBvbiBoYXZhaXR0dSBvbmdlbG1hLCBvbGUgaHl2JmF1bWw7IGphIHlyaXQmYXVtbDsgdXVkZWxsZWVuJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0V0IHN5Jm91bWw7dHQmYXVtbDtueXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXN0YSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdFdCBzeSZvdW1sO3R0JmF1bWw7bnl0IHMmYXVtbDtoayZvdW1sO3Bvc3Rpb3NvaXRldHRhc2knOwokbGFuZ1snZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJ10gPSAnRXQgc3kmb3VtbDt0dCZhdW1sO255dCBzYWxhc2FuYWEnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0tpcmphdWR1IHVsb3MnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnS2lyamF1ZHUgc2lzJmF1bWw7JmF1bWw7bic7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9XCZxdW90O3JlZFwmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnVCZhdW1sO20mYXVtbDsgdG9pbWludG8gZWkgdG9pbWkgV2luZG93cy15bXAmYXVtbDtyaXN0Jm91bWw7c3MmYXVtbDsnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJyZBdW1sO0wmQXVtbDsgbHVvIG9taW5haXN1dXR0YSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51a3NlbGxlIHRhaSBzYWxhc2FuYWxsZSwgbiZhdW1sO20mYXVtbDsga2VudCZhdW1sO3QgbHVvZGFhbiBhaW5hIGF1dG9tYWF0dGlzZXN0aS4nOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ1ZpZSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QgQ1NWLXRpZWRvc3Rvb24nOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnVmllJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ1R1byc7CiRsYW5nWydhZG1pbiddID0gJ0hhbGxpbm5vaSc7CiRsYW5nWydlZGl0cHJvcCddID0gJ011b2trYWEgb21pbmFpc3V1dHRhJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01ha3NpbWkgcGl0dXVzJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdMdW90dSc7CiRsYW5nWydzb3J0YnknXSA9ICdKJmF1bWw7cmplc3QmYXVtbDsnOwokbGFuZ1snc29ydCddID0gJ0omYXVtbDtyamVzdHlzJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCB2YWxpdHVzc2EgcnlobSZhdW1sO3NzJmF1bWw7JzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ04mYXVtbDt5dCZhdW1sOyByaXZpJmF1bWw7Oic7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSBlaSBsJm91bWw7eWRldHR5IGVtYWlsIGtlbnR0JmF1bWw7JmF1bWw7LiBPdGEgeWh0ZXR0JmF1bWw7IHdlYm1hc3Rlcmlpbic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyAmcXVvdDt1bm9odHVudXQgc2FsYXNhbmEmcXVvdDsgLWxvbWFra2VlbGxlJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzICZxdW90O211dXRhIGFzZXR1a3NpYSZxdW90OyAtbG9tYWtrZWVsbGUnOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgam9rYSBuJmF1bWw7eXRldCZhdW1sOyZhdW1sO24ga2lyamF1dHVtaXNlbiBqJmF1bWw7bGtlZW4nOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGpva2EgbiZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIHVsb3Mga2lyamF1dHVtaXNlbiBqJmF1bWw7bGtlZW4nOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnSiZhdW1sO3JqZXN0eXMnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSm9pdGFpbiBrJmF1bWw7eXR0JmF1bWw7amkmYXVtbDsgb24gdCZhdW1sO2xsJmF1bWw7IGhldGtlbGwmYXVtbDsgcmVzZXRvaW1hc3NhIHNhbGFzYW5vamFhbi4gVCZhdW1sO2xsJmF1bWw7IGhldGtlbGwmYXVtbDsgbiZhdW1sO2l0JmF1bWw7IGsmYXVtbDt5dHQmYXVtbDtqaSZhdW1sOyBvdmF0OiAnOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdQb2lzdGEga2Fpa2tpIHlsaSB2aWlrb24gdmFuaGF0IG1lcmtpbm4mYXVtbDt0JzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1BvaXN0YSBrYWlra2kgeWxpIGt1dWthdWRlbiB2YW5oYXQgbWVya2lubiZhdW1sO3QnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUG9pc3RhIGthaWtraSBtZXJraW5uJmF1bWw7dCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnT2xldGtvIHZhcm1hPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ1ZpcmhlZWxsaW5lbiBrb29kaSwgb2xlIGh5diZhdW1sOyBqYSB5cml0JmF1bWw7IHV1ZGVsbGVlbic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnViZhdW1sO2xpYWlrYWlzdGEga29vZGlhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VsbGUgZWkgbCZvdW1sO3l0eW55dCB0aWV0b2thbm5hc3RhJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnUG9oamEgdmFodmlzdHVzbG9tYWtrZWVsbGUnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1BvaGphICZxdW90O3Vub2h0dW51dCBzYWxhc2FuYSZxdW90OyAtcyZhdW1sO2hrJm91bWw7cG9zdGlsbGUnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0pva28gc2luJmF1bWw7IHRhaSBqb2t1IG11dSBvbiBoYWx1bm51dCBub2xsYXRhIHNhbGFzYW5hbiB0JmF1bWw7bGxlIHRpbGlsbGUuIFRhcmtpc3RhIHMmYXVtbDtoayZvdW1sO3Bvc3Rpc2ksIGwmYXVtbDt5ZCZhdW1sO3Qgc2llbHQmYXVtbDsgamF0a28tb2hqZWV0IHNhbGFzYW5hbiBub2xsYWFtaXNlZW4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ1RpZXRva2FudGF2aXJoZSc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdTYWl0IHQmYXVtbDttJmF1bWw7biB2aWVzdGluIGtvc2thIGpva3Ugb24gdmFsaW5udXQgc2l2dXN0b2x0YSAmcXVvdDt1bm9oZGl0a28gc2FsYXNhbmFuc2kmcXVvdDsgdG9pbWlubm9uLiBKb3MgdGVpdCB0JmF1bWw7bSZhdW1sO24gdG9pbWlubm9uIGl0c2UgbCZvdW1sO3lkJmF1bWw7dCBvaGplZXQgYWx0YS4gSm9zIGV0IHRpZWQmYXVtbDsgbWlzdCZhdW1sOyBwdWh1dGFhbiB2b2l0IHR1aG90YSB0JmF1bWw7bSZhdW1sO24gcG9zdGluLCBraWl0b2tzaWEgYWphc3Rhc2kuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnS29vZGknOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnU2V1cmFhdmEga29vZGkgb24gbHVvdHUgc2ludWxsZSwgayZhdW1sO3l0JmF1bWw7IGtvb2RpYSB2YWh2aXN0YWFrc2VzaSBldHQmYXVtbDsgb2xldCB0aWxpbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOy4gS3VuIGtsaWtrYWF0IGFsbGEgb2xldmFhIGxpbmtraSZhdW1sOyBzaW51biB0YXJ2aXRzZWUgc3kmb3VtbDt0dCZhdW1sOyZhdW1sOyB0JmF1bWw7bSZhdW1sOyBrb29kaSBsb21ha2tlZXNlZW4uIFlsZWVucyZhdW1sOyBrZW50dCZhdW1sOyBvbiB2YWxtaWlrc2kgdCZhdW1sO3l0ZXR0eSwgbXV0dGEgam9zIGpvc3RhaW4gc3l5c3QmYXVtbDsgZWkgb2xlIGtvb2Rpc2kgb246JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnVCZhdW1sO20mYXVtbDsgbGlua2tpIHZpZSBzaW51dCBzaXZ1bGxlIGpvbm5lIHZvaXQgc3kmb3VtbDt0dCZhdW1sOyZhdW1sOyB5bGwmYXVtbDsgbWFpbml0dW4ga29vZGluIGphIG5vbGxhdGEgc2FsYXNhbmFzaSc7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnS2Fkb25udXQgc2FsYXNhbmEnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdFaSB2b2l0dSBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7IENNU01haWxlci1tb2R1dWxpYSc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdTaW51bGxlIG9uIGwmYXVtbDtoZXRldHR5IGVtYWlsLW9zb2l0dGVzZWVuICVzIGpvc3NhIG9uIHRpZWRvdCBtaXRlbiB2b2l0IG5vbGxhdGEgc2FsYXNhbmFzaS4nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdVbm9oZGl0IHNhbGFzYW5hc2k/IEtpcmpvaXRhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVrc2VzdGkgdCZhdW1sO2gmYXVtbDtuLCBqYSBqb3MgbCZvdW1sO3lkJmF1bWw7bW1lIHRpbGlsbGVzaSBlbWFpbCBvc29pdHRlZW4gbCZhdW1sO2hldCZhdW1sO21tZSBzaW5uZSB0aWVkb3Qgc2FsYXNhbmFuIG5vbGxhdWtzZXN0YSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJyZxdW90O1Vub2h0dW51dCBzYWxhc2FuYSZxdW90OyAtcG9oamEnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnJnF1b3Q7VW5vaHR1bnV0IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzJnF1b3Q7IC1wb2hqYSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdPbWluYWlzdXV0dGEgJXMgZWkgbCZvdW1sO3lkeSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnT21pbmFpc3V1a3NpYSBsJm91bWw7eXR5bnl0JzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdMaXMmYXVtbDsmYXVtbDsgb21pbmFpc3V1cyc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnVmFhZGl0dHUga2VudHQmYXVtbDsgKCVzKSBvbiB0eWhqJmF1bWw7JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnU3kmb3VtbDt0JmF1bWw7IHV1c2kgc2FsYXNhbmEnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdFdCBvbGUga2lyamF1dHVudXQnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1Jla2lzdGVyJm91bWw7aW50aSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1QmYXVtbDttJmF1bWw7IHRpbGxpIG9uIHZhbmhlbnR1bnV0JzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdFbWFpbC1vc29pdHRlZW4gbXVvdG8gb24gdiZhdW1sOyZhdW1sO3ImYXVtbDsnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdWaXJoZWVsbGluZW4gdmFuaGVudHVtaXNwJmF1bWw7aXYmYXVtbDsnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ1ZpcmhlIGFzZXRldHRhZXNzYSBvbWluYWlzdXV0dGEgJXMgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbGUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdWaXJoZWVsbGluZW4gcnlobSZhdW1sOyAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ1BpaWxvdGV0dHUga2VudHQmYXVtbDsgLW1lcmtpbnQmYXVtbDsnOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ1BpaWxvdGV0dW4ga2VudCZhdW1sO24gdiZhdW1sO3JpJzsKJGxhbmdbJ2hpZGRlbiddID0gJ1BpaWxvdGV0dHUnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1NhbWFsbGEgbmltZWxsJmF1bWw7IG9uIGpvIG9taW5haXN1dXMnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnRWkgb21pbmFpc3V1a3NpYSBtJmF1bWw7JmF1bWw7cml0ZWx0eSc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ1QmYXVtbDtsbGUgcnlobSZhdW1sO2xsZSBlaSBvbGUgdmFsaXR0dWphIG9taW5haXN1dWtzaWEnOwokbGFuZ1snbm9ncm91cHMnXSA9ICdFaSBtJmF1bWw7JmF1bWw7cml0ZWx0eWomYXVtbDsgcnlobWkmYXVtbDsnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdSeWhtaSZhdW1sOyBsJm91bWw7eXR5aSc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIHR1bGVlIGt1dWx1YSB2JmF1bWw7aGludCZhdW1sOyZhdW1sO24geWh0ZWVuIHJ5aG0mYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdWYWFkaSB2JmF1bWw7aGludCZhdW1sOyZhdW1sO24geWtzaSByeWhtJmF1bWw7IHBlciBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyc7CiRsYW5nWydiYWNrJ10gPSAnVGFrYWlzaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIG9uIHZhYWRpdHR1IGtlbnR0JmF1bWw7JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNZXJraXRzZSB2YWFkaXR1dCBrZW50JmF1bWw7dCBtZXJraWxsJmF1bWw7JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0tvcm9zdGEgdmFhZGl0dHVqYSBrZW50dGkmYXVtbDsnOwokbGFuZ1snbmV4dCddID0gJ1NldXJhYXZhJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnU2FtYWxsYSBuaW1lbGwmYXVtbDsgb24gam8gcnlobSZhdW1sOyc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1ZhYWRpdHR1IGtlbnR0JmF1bWw7JzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnVmFwYWFlaHRvaW5lbic7CiRsYW5nWydvZmYnXSA9ICdPZmYnOwokbGFuZ1snc2l6ZSddID0gJ0tva28nOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYWtzaW1pIGt1dmFuIGtva28gKGxldmV5cyBqYSBrb3JrZXVzKSBwaWtzZWxlaXNzJmF1bWw7ICknOwokbGFuZ1snbGVuZ3RoJ10gPSAnUGl0dXVzJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KE1lcmtrZWomYXVtbDsgdGVrc3RpIGtlbnQmYXVtbDtzcyZhdW1sOyknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ0FsYXN2ZXRvdmFsaWtvbiB2YWxpbm5hdCwgam9rYWluZW4gYXJ2byBvbWFsbGEgcml2aWxsJmF1bWw7JmF1bWw7bi4gQXJ2byB2b2lkYWFuIGVyb3R0YWEgPSBtZXJraWxsJmF1bWw7LCBlc2ltIE5haW5lbj1ODQonOwokbGFuZ1sncHJvbXB0J10gPSAnS2Vob3RlJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHl5cHBpJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXlwcGknOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdLZW50JmF1bWw7biB0aWxhJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0FzayBpbiBMb3N0PGJyLz5Vc2VybmFtZSc7CiRsYW5nWyd0ZXh0J10gPSAnVGVrc3RpJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnVmFsaW50YWxhYXRpa2tvJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTW9uaXZhbGludGEmcXVvdDtsaXN0YSc7CiRsYW5nWydpbWFnZSddID0gJ0t1dmEnOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbC1vc29pdGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdGlhbHVlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnQWxhc3ZldG92YWxpa2tvJzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnVGVydmV0dWxvYSc7CiRsYW5nWydsb2dvdXQnXSA9ICdLaXJqYXVkdSB1bG9zJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdLJmF1bWw7eXQmYXVtbDsgdCZhdW1sO3QmYXVtbDsgcnlobSZhdW1sOyBuaW1lJmF1bWw7JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ0FzZXR1a3NlbmknOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdLaXJqYXV0dW1pbmVuIGVwJmF1bWw7b25uaXN0dWkgLSB0YXJraXN0YSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBqYSBzYWxhc2FuYSc7CiRsYW5nWydsb2dpbiddID0gJ0tpcmphdWR1JzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnS2lyamF1ZHUgc2lzJmF1bWw7JmF1bWw7biAtbmFwaW4gb3RzaWtrbyc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdTJmF1bWw7aGsmb3VtbDtwb3N0aW9zb2l0ZSc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdTYWxhc2FuYSc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ011aXN0YSBtaW51dCB0JmF1bWw7bGwmYXVtbDsgdGlldG9rb25lZWxsYSc7CiRsYW5nWydyZWdpc3RlciddID0gJ1Jla2lzdGVyJm91bWw7aWR5JzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnVW5vaGRpdGtvIHNhbGFzYW5hc2knOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnVW5vaGRpdGtvIGtpcmphdXR1bWlzIHRpZXRvc2k/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnT2xldHVrc2V0JzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnUG9oamEnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgZWkgbCZvdW1sO3l0eW55dCc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVmFsaXRzZW1hc2kgayZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgb24gam8gayZhdW1sO3l0Jm91bWw7c3MmYXVtbDsnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ0smYXVtbDt5dCZhdW1sOyBTTVRQOnQmYXVtbDsgZW1haWwtb3NvaXR0ZWlkZW4gdGFya2lzdHVrc2Vzc2EnOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnU2FsYXNhbmFuIG1pbmltaXBpdHV1cyc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdTYWxhc2FuYW4gbWFrc2ltaXBpdHV1cyc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51a3NlbiBtaW5pbWlwaXR1dXMnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udWtzZW4gbWFrc2ltaXBpdHV1cyc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdJc3R1bm5vbiBhaWtha2F0a2Fpc3UgKHNla3VudGVqYSknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ0smYXVtbDt5dCZhdW1sOyBrZWtzZWomYXVtbDsgcGl0JmF1bWw7JmF1bWw7a3Nlc2kga2lyamF1dHVtaXNlbiB5bGwmYXVtbDsnOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdTYWxsaSBlbWFpbC1yZWtpc3RlciZvdW1sO2ludGknOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ09sZXR1c3J5aG0mYXVtbDsgdXVzaWxsZSBrJmF1bWw7eXR0JmF1bWw7amlsbGUnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdWYWloZGEgYXNldHVrc2lhIC1wb2hqYSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnU2FsYXNhbmF0IGVpdiZhdW1sO3Qgb2xlIHlodGVuZXYmYXVtbDt0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dHVubnVzIGVpIGtlbHBhYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdTYWxhc2FuYSBlaSBrZWxwYWEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdW9ra2FhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ3ZhbGlkJ10gPSAnS2VscGFhJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMnOwokbGFuZ1snc3RhdHVzJ10gPSAnVGlsYSc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdUJmF1bWw7bSZhdW1sOyBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sOyBlaSBrdXVsdSBtaWhpbmsmYXVtbDsmYXVtbDtuIHJ5aG0mYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdFaSBvbWluYWlzdXVrc2lhJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnWXJpdCZhdW1sOyB0dW9kYSB0dXBsYW9taW5haXN1dWRldCc7CiRsYW5nWyd2YWx1ZSddID0gJ0Fydm8nOwokbGFuZ1snZ3JvdXBzJ10gPSAnUnlobSZhdW1sO3QnOwokbGFuZ1sncHJvcGVydGllcyddID0gJ09taW5haXN1dWRldCc7CiRsYW5nWydwcm9wbmFtZSddID0gJ09taW5haXN1dWRlbiBuaW1pJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ09taW5haXN1dWRlbiBhcnZvJzsKJGxhbmdbJ2FkZCddID0gJ0xpcyZhdW1sOyZhdW1sOyc7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWEnOwokbGFuZ1snZWRpdCddID0gJ011b2trYWEnOwokbGFuZ1snZXhwaXJlcyddID0gJ1ZhbmhlbmVlJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ00mYXVtbDsmYXVtbDtyaXR0ZWxlIHAmYXVtbDtpdiZhdW1sOyc7CiRsYW5nWycxMmhycyddID0gJzEyIHR1bnRpYSc7CiRsYW5nWycyNGhycyddID0gJzI0IHR1bnRpYSc7CiRsYW5nWyc0OGhycyddID0gJzQ4IHR1bnRpYSc7CiRsYW5nWycxd2VlayddID0gJzEgdmlpa2tvJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdmlpa2tvYSc7CiRsYW5nWycxbW9udGgnXSA9ICcxIGt1dWthdXNpJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIGt1dWthdXR0YSc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBrdXVrYXV0dGEnOwokbGFuZ1snMXllYXInXSA9ICcxIHZ1b3NpJzsKJGxhbmdbJ25ldmVyJ10gPSAnRWkga29za2Fhbic7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb2R1bGUgaW5zdGFsbGVkIHN1Y2Vzc2Z1bGx5Ljxici8+QmUgc3VyZSB0byBzZXQgdGhlIFwmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLlwmcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdTYWxhc2FuYSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1V1ZGVzdGFhbic7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnTmltZWxsJmF1bWw7IG9uIGpvIHJ5aG0mYXVtbDsnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnTXVva2thYSByeWhtJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0wmYXVtbDtoZXQmYXVtbDsnOwokbGFuZ1snY2FuY2VsJ10gPSAnUGVydXV0YSc7CiRsYW5nWydkZWxldGUnXSA9ICdQb2lzdGEnOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdBcmUgeW91IHN1cmUgdGhpcyBpcyB0aGUgcHJvcGVyIHNldHRpbmdzIGZvciB0aGlzIGdyb3VwP1xuVHVybmluZyBhIHByb3BlcnR5IG9mZiB3aWxsIG5vdCBkZWxldGUgYW55IGVudHJpZXMgaW4gdGhlIHByb3BlcnRpZXMgdGFibGUgZm9yIHRoaXMgZ3JvdXAvdXNlci4gIFRoZXkgd2lsbCBtZXJlbHkgYmUgdW5hdmFpbGFibGUuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICdIYWx1YXRrbyB2YXJtYXN0aSBwb2lzdGFhIHQmYXVtbDttJmF1bWw7biByeWhtJmF1bWw7JmF1bWw7bic7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbXBsZXRlbHkgZGVsZXRlIHRoaXMgcHJvcGVydHk/XG5Eb2luZyBzbyB3aWxsIGFsc28gZXJhc2UgYW55IHVzZXIgZW50cmllcyBmb3IgdGhpcyBwcm9wZXJ0eS4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUmlpdHQmYXVtbDttJmF1bWw7dHQmb3VtbDttJmF1bWw7dCBwYXJhbWV0cml0JzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05pbWknOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdPbmdlbG1hIG9taW5haXN1dWRlbiBsaXMmYXVtbDt5a3Nlc3MmYXVtbDsnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1J5aG0mYXVtbDtsaWl0b2tzZW4gbGlzJmF1bWw7JmF1bWw7bWlzZXNzYSBlc2lpbnR5aSBvbmdlbG1hJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ09uZ2VsbWEgcnlobSZhdW1sO24gbGlzJmF1bWw7JmF1bWw7bWlzZXNzJmF1bWw7JzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnT25nZWxtYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gbGlzJmF1bWw7JmF1bWw7bWlzZXNzJmF1bWw7IHJ5aG0mYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdPbmdlbG1hIG9taW5haXN1dWRlbiBwb2lzdGFtaXNlc3NhJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnRW1haWwgb3NvaXRldHRhIGVpIGwmb3VtbDt5ZGV0dHknOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ0tvaGRlIGthbnNpb29uIGVpIG9sZSBraXJqb2l0dXNvaWtldXR0YSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVmlyaGVlbGxpc2V0IHBhcmFtZXRyaXQnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdSeWhtaSZhdW1sOyBlaSBsJm91bWw7eXR5bnl0JzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXNldGEnOwokbGFuZ1snZmlsdGVyJ10gPSAnU3VvZGF0YSc7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgKHJlZ3VsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdLdXZhdXMnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnUnlobSZhdW1sO24gbmltaSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQJmF1bWw7JmF1bWw7c3kga2llbGxldHR5JzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlyaGUnOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdMaXMmYXVtbDsmYXVtbDsgcnlobSZhdW1sOyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ1R1byByeWhtJmF1bWw7JzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdMaXMmYXVtbDsmYXVtbDsgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ0hha3VlaHRvaWhpbiBzb3BpdmF0IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCc7CiRsYW5nWydncm91cCddID0gJ1J5aG0mYXVtbDsnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWYWxpdHR1IHJ5aG0mYXVtbDsnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnUmVraXN0ZXImb3VtbDtpbnRpIHBvaGphJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ0tpcmphdWR1IHVsb3MgcG9oamEnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdLaXJqYXV0dW1pcyBwb2hqYSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWyd1c2VycyddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGcm9udGVuZCBVc2VyIE1hbmFnZW1lbnQnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdTYWxsaWkgayZhdW1sO3l0dCZhdW1sO2ppZW4ga2lyamF1dHVhIHNpdnVzdG9sbGVzaSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnT2xldHVzIGV0dXNpdnUnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1ZpaW1la3NpIGsmYXVtbDt5dHkgc2l2dSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdUb2luZW4gc2l2dTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdTeSZvdW1sO3QmYXVtbDsga3V2YXNzYSBuJmF1bWw7a3l2JmF1bWw7IHRla3N0aSc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+MC4wLjEgLSBPY3RvYmVyLCAyMDA1IC0gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4wIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgcmVsZWFzZTwvbGk+DQo8bGk+MC4xLjEgLSBPY3RvYmVyLCAyMDA1IC0gRml4ZWQgaXNzdWVzIHdpdGggcHJvcGVydGllczwvbGk+DQo8bGk+MC4xLjIgLSBPY3RvYmVyLCAyMDA1IC0gQWRkZWQgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHk8L2xpPg0KPGxpPjAuMS4zIC0gTm92ZW1iZXIsIDIwMDUNCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgcmVkaXJlY3QgcGFnZSBvbiBsb2dpbiwgbG9nb3V0LCBmb3Jnb3QgcGFzc3dvcmQsIGFuZCBjaGFuZ2Ugc2V0dGluZ3MsIGFuZCBhZGRlZCB0aGUgcmV0dXJudG8gYW5kIGZvcm0gcGFyYW1ldGVycyB0byB0aGUgdXNlciBzaWRlIG9mIHRoaW5ncywgYWxzbyBkaWQgYSBjb3VwbGUgbGYgbGl0dGxlIGNsZWFudXBzLiAgVGhpcyB2ZXJzaW9uIHJlcXVpcmVzIHYwLjExIGFuZCBhYm92ZSBmb3IgY2VydGFpbi48L3A+PC9saT4NCjxsaT4wLjEuNCAtIE5vdmVtYmVyLCAyMDA1IC0gVmVyeSBtaW5vciBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIGEgZm9yZ290dGVuIGFuZCBubyBsb25nZXIgbmVlZGVkIGZ1bmN0aW9uIGNhbGw8L2xpPg0KPGxpPjAuMS41IC0gTm92ZW1iZXIsIDIwMDUNCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+MC4xLjYgLSBKYW51YXJ5LCAyMDA2DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjAuMS43IC0gSmFudWFyeSwgMjAwNg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjEuMC4xIC0gTWFyY2gsIDIwMDYNCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+MS4wLjIgLSBNYXJjaCwgMjAwNg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT4xLjAuMyAtIE1hcmNoLCAyMDA2DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+MS4wLjQgLSBNYXksIDIwMDYNCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT4xLjAuNSAtIE1heSwgMjAwNg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGV4cGlyeSBkYXRlczwvcD4NCiAgICA8cD5TdGFydCBzcGxpdHRpbmcgdGhlIGNvZGUgdXAgaW50byBzZXZlcmFsIGZpbGVzPC9wPg0KPGxpPjEuMC42IC0gTWF5LCAyMDA2DQogICAgPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggZWRpdGluZyBkcm9wZG93bnM8L3A+DQo8L2xpPg0KPGxpPjEuMS4wIC0gTWF5LCAyMDA2DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSBceyRncm91cFx9IGZvciB0aGUgcGFnZXMgdG8ganVtcCB0byBvbiBsb2dpbjwvcD4NCjwvbGk+DQo8bGk+MS4xLjEgLSBTZXB0LCAyMDA2DQogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHNcJiMwMzk7IHdhcyBvZmY8L3A+DQogICAgPHA+Q2hhbmdlZCB0aGUgZHJvcGRvd24gdGFibGUgdG8gMjU1IGNoYXJhY3RlcnM8L3A+DQogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjEuMS4yIC0gRGVjLCAyMDA2DQogICAgPHA+Rml4ZXMgKGhvcGVmdWx5KSB0byB0aGUgYWRvZGIvYWRvZGItbGl0ZSBEQVRFVElNRSBpc3N1ZTwvcD4NCiAgICA8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSBsb2dpbiBzY3JlZW4gKG9wdGlvbmFsKSwgdGhhbmtzIGRpdHRtYW48L3A+DQogICAgPHA+Rml4ZXMgdG8gY2FuY2VsIGhhbmRsaW5nIG9uIHRoZSBsb3N0IHBhc3N3b3JkIGFuZCBjaGFuZ2Ugc2V0dGluZ3Mgc2NyZWVuczwvcD4NCiAgICA8cD5GaXhlcyB0byB1c2VyIGV4cGlyeSAobW9yZSBEQlRpbWVzdGFtcCBpc3N1ZXMpLCB0aGFua3MgYWdhaW4gZGl0dG1hbjwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgRkVVc2VycyB0byBoYXZlIGl0cyBvd24gc2V0IG9mIHBlcm1pc3Npb25zIGFzc2lkZSBmcm9tIHRoZSBhZG1pbiBwZXJtaXNzaW9ucy4gIFRoYW5rcyBfU2pHXzwvcD4NCiAgICA8cD5PcHRpb24gdG8gYWxsb3cgZHVwbGljYXRlIHBhc3N3b3JkIHJlbWluZGVyIHJlcXVlc3RzIGFuZCB0byBzcGVjaWZ5IHRleHQgb24gdGhlIHNpZ25pbiBidXR0b24uICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+R2VuZXJhbCBjbGVhbnVwIG9mIGZ1bmN0aW9ucyB0aGF0IHdlcmUgbm90IGJlaW5nIHVzZWQgYW5kIG5vdGljZXMvd2FybmluZ3M8L3A+DQogICAgPHA+QWRkZWQgdGhlIG9ubHlfZ3JvdXBzIHBhcmFtIGZvciBsb2dpbiBmb3Jtcy4gIFRoYW5rcyB3aXNoeTwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbWFpbCBmaWVsZCBpbiB0aGUgY2hhbmdlIHBhc3N3b3JkIGZvcm08L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGVtYWlsIHZhbGlkYXRpb24gc3R1ZmY8L3A+DQo8L2xpPg0KICAgIDxsaT4xLjIuMCAtIEFwcmlsLCAyMDA3DQogICAgPHA+ZWxpamFobG9mZ3JlbiAtIEZpeGVzIHRvIGNhcHRjaGEgc3VwcG9ydCwgYW5kIHNvbWUgdGVtcGxhdGUgY2xlYW51cHMuPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciBtdWx0aSBzZWxlY3QgbGlzdHM8L3A+DQogICAgPHA+VGVtcGxhdGUgY2xlYW51cHMgKG1vcmUgb2YgZW0pPC9wPg0KICAgIDxwPkFkZCBzdXBwb3J0IGZvciB2YWx1ZT1rZXkgc3R1ZmYgaW4gdGhlIGRyb3Bkb3duIGFuZCBtdWx0aSBzZWxlY3QgbGlzdHMuPC9wPg0KICAgIDxwPmJldHRlciBjaGVja2luZyBvZiB0aGUgJnF1b3Q7YXQgbGVhc3Qgb25lIGdyb3VwIHJlcXVpcmVkJnF1b3Q7IHN0dWZmPC9wPg0KICAgIDxwPk91dHB1dCBtb3JlIHNtYXJ0eSB2YXJpYWJsZXMgb24gdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgdG8gYWxsb3cgcGVvcGxlIHRvIG1vZGlmeSB0aGUgdGVtcGxhdGUgdG8gc29tZXRoaW5nIHRoYXQgaXMgbW9yZSBhY2Nlc3NpYmlsZTwvcD4NCiAgICA8cD5TcGxpdCBpbnRvIG1vcmUgZmlsZXMgZm9yIHBlcmZvcm1hbmNlPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IG5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2VyczwvcD4NCiAgICA8cD5Ob3cgaGFuZGxlIHJlZ2V4IHByb2JsZW1zIGJldHRlciBpbiB0aGUgYWRtaW4gc2VjdGlvbiB1c2VycyB0YWI8L3A+DQogICAgPHA+RW1haWwgZmllbGRzLCB3aGVuIHNwZWNpZmllZCBhcyBvcHRpb25hbCwgbWFrZSBlbSBhY3R1YWxseSBvcHRpb25hbDwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgaW1hZ2UgdXBsb2FkcywgdGhpcyBpcyBhIGJpZyBmZWF0dXJlLiAgSW1hZ2VzIGFyZSBzY2FsZWQgdG8gYSBtYXhpbXVtIHNpemUgaW4gb25lIGRpbWVuc2lvbiwgYW5kIHN0b3JlZCBhcyBmaWxlcyBpbiBhIGNvbmZpZ3VyYWJsZSBkaXJlY3RvcnkgdW5kZXIgdGhlIHVwbG9hZHNfcGF0aC48L3A+DQogICAgPHA+Q2FwdGNoYSBtb2RlIGlzIG5vdyBvbiBieSBkZWZhdWx0LCB1bmxlc3MgeW91IHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiB0aGUgdGFnLjwvcD4NCiAgICA8cD5GaXhlcyB0byBDU1YgZXhwb3J0Li4uIGl0IHdhcyBhc3N1bWluZyB0aGUgZGJfcHJlZml4IGlzIGNtc188L3A+DQogICAgPHA+SW1wb3J0IFVzZXJzIGZyb20gQ1NWPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBpbnN0YWxsIGFuZCB1bmluc3RhbGwgbWV0aG9kcywgYW5kIG5vdyB0aGUgYWxsb3dfcmVwZWF0ZWRfbG9naW5zIHByZWZlcmVuY2Ugc2hvdWxkIHdvcms8L3A+DQogICAgPHA+QWRkcyBwcm9wZXIgdXNlciBoaXN0b3J5IHRyYWNraW5nLiAgTm93IHRyYWNrIGZhaWxlZCBsb2dpbnMsIGxvZ2lucywgZXhwaXJpZXMsIGFuZCBsb2dvdXRzLCBvbiBhIHBlciB1c2VyIGJhc2lzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgdXNlciBzZXR0aW5ncyBwYWdlLCBpZiB0aGUgdXNlciBzZXR0aW5ncyBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBjYW5jZWwgYnV0dG9uIG9mIHRoZSBmb3Jnb3QgcGFzc3dvcmQgcGFnZSwgaWYgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtIGlzIG9uIGEgZGlmZmVyZW50IHBhZ2UuPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIHRvIGJlaGF2aW91ciBvYWYgdGhlIHByZWZlcmVuY2VzIHBhbmVscy48L3A+DQo8L2xpPg0KPGxpPjEuMi4xIC0gSnVuZSwgMjAwNw0KCTxwPkEgY29va2llIGlzIG5vdyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgbG9naW4gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucywgaG93ZXZlciB0aGUgY29va2llIGRvZXMgbm90IGxhc3QgYW55IGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IHNwZWNpZmllZCBpbiB0aGUgdXNlciBzZXR0aW5ncy48L3A+DQoJPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGFuIGFkbWluaXN0cmF0b3IgdG8gbG9nb3V0IHVzZXJzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBsb2dnZWQgaW4gc3RhdHVzPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciByZWFkLW9ubHkgcHJvcGVydGllcy48L3A+DQoJPHA+QWRkZWQgbW9yZSB2YXJpYWJsZXMgaW4gZWFjaCBvYmplY3QgaW4gdGhlIGNoYW5nZXNldHRpbmdzIGZvcm08L3A+DQo8L2xpPg0KPGxpPg0KCTxwPjEuMi4yIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD50c3cgLSBBZGRlZCBldmVudCBPblVwZGF0ZVVzZXIgd2hpY2ggZ2V0cyBjYWxsZWQgd2hlbiB1c2VyIChvciBhZG1pbikgdXBkYXRlcyB1c2VyIGluZm88L3A+DQogICAgICAgIA0KPC9saT4NCjxsaT4xLjMgLSBPY3RvYmVyLCAyMDA3DQo8cD5BZGRlZCBzdXBwb3J0IGZvciAmIzAzOTtyZW1lbWJlciBtZSYjMDM5OyBzbyB0aGF0IGxvZ2luIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBhIGNvb2tpZS4gIEFuZCBzdXBwb3J0IGZvciBhIGZvcm0gdG8gYWxsb3cgdGhhdCBjb29raWUgdG8gYmUgcmVzZXQuPC9wPg0KPHA+Tm8gbG9uZ2VyIHN1cHBvcnQgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIHByb3BlcnR5IG5hbWVzLjwvcD4NCjxwPk51bWVyb3VzIHNtYWxsIGJ1Z2ZpeGVzLjwvcD4NCjxwPlJlcXVpcmUgQ01TIDEuMiBvciBncmVhdGVyLjwvcD4NCjwvbGk+DQo8bGk+MS4zLjEgLSBOb3ZlbWJlciwgMjAwNw0KPHA+Rml4ZXMgcHJvYmxlbXMgd2l0aCBwYXJhbWV0ZXJzIG5vdCBiZWluZyBjbGVhbmVkIGluIHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZGlhbG9nIG9uIHRoZSBmcm9udCBlbmQuPC9wPg0KPHA+Rml4ZXMgYW4gdXBkcmFkZSBpc3N1ZSBpbiB0aGUgZGF0YWJhc2Ugc2NoZW1hPC9wPg0KPHA+Rml4ZXMgYW4gaXNzdWUgaW4gYSBHZXRTbWFydHkoKSBjYWxsIHRoYXQgd2FzIGFwcGFyZW50bHkgY2F1c2luZyBwZW9wbGUgZGlmZmljdWx0aWVzIHdpdGggdGhlIGxvZ2luIGZvcm0uPC9wPg0KPHA+QWRkIGEgcHJlZmVyZW5jZSB0aGF0IGFsbG93cyBhZG1pbnMgdG8gc3BlY2lmeSBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYWZ0ZXIgdGhlIGZvcmdvdCBwYXNzd29yZCB2YWxpZGF0aW9uIGZvcm0gaXMgY29tcGxldGUuPC9wPg0KPHA+Rml4ZXMgYSBwcm9ibGVtIHdpdGggaGlkZGVuIHByb3BlcnRpZXMgYmVpbmcgbG9zdCBhZnRlciBhIHVzZXIgY2hhbmdlZCB0aGVpciBzZXR0aW5ncy48L3A+DQo8cD5UaGUgRm9yZ290IFBhc3N3b3JkIGFuZCBMb3N0IFVzZXJuYW1lIGZvcm1zIGFyZSBub3cgaW5saW5lPC9wPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+Rm9yZ290IHBhc3N3b3JkLCBhbmQgZm9yZ290IHVzZXJuYW1lIGZ1bmN0aW9uYWxpdHkuLi4uIGFsbG93cyB1c2VycyB0byBzZXQgYSBuZXcgcGFzc3dvcmQsIGFuZC9vciB0byByZWNvdmVyIHRoZWlyIHVzZXJuYW1lIGlmIHRoZXkgY29tcGxldGVseSBmb3Jnb3QgbG9naW4gZGV0YWlscy48L3A+PC9saT4NCjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmYW1wO3F1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZhbXA7cXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+JmFtcDtsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE5NTk1NDcxOTMuMTIxMzg2NTc4My4xMjE1MjAxOTEwLjEyMTUzNDAxNjMuMjgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjE0MDU2MzQ1LjEwLjQudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2ZvcnVtL2ZvcnVtLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY29va2llc3RvcmVtZW1iZXInXSA9ICc8c3Ryb25nPk5vdGUgOiA8L3N0cm9uZz4gQ2VsYSB1dGlsaXNlIGxhIGZvbmN0aW9uIGRlIGNyeXB0YWdlIG1jcnlwdCwgZXQgbmUgcG91dmFpdCBwYXMgJmVjaXJjO3RyZSBkJmVhY3V0ZTt0ZWN0JmVhY3V0ZTsgbG9ycyBkZSB2b3RyZSBpbnN0YWxsYXRpb24uIFMmIzAzOTtpbCB2b3VzIHBsYSZpY2lyYzt0IGNvbnRhY3RleiBsJiMwMzk7YWRtaW5pc3RyYXRldXIgZHUgc2VydmV1cic7CiRsYW5nWydlZGl0aW5nX3VzZXInXSA9ICdFZGl0aW9uIHV0aWxpc2F0ZXVyJm5ic3A7JzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnTmUgcGFzIG1ldHRyZSBlbiBsaWduZSBsZXMgZm9ybXVsYWlyZXMnOwokbGFuZ1snaW5mb19sb3N0dW4nXSA9ICdDbGlxdWVyIGljaSBzaSB2b3VzIG5lIHZvdXMgc291dmVuZXogcGFzIGRlIHZvcyBkJmVhY3V0ZTt0YWlscyBkZSBsb2dpbic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3J10gPSAnQ2xpcXVlciBpY2kgc2kgdm91cyBuZSB2b3VzIHNvdXZlbmV6IHBhcyBkZSB2b3RyZSBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ0NsaXF1ZXIgaWNpIHBvdXIgdm91cyBkJmVhY3V0ZTtjb25uZWN0ZXInOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0NsaXF1ZXIgaWNpIHBvdXIgbW9kaWZpZXIgdm90cmUgbW90IGRlIHBhc3NlIGV0IGF1dHJlcyBpbmZvcm1hdGlvbnMnOwokbGFuZ1sndmlld3VzZXJfdGVtcGxhdGUnXSA9ICdWdWUgZ2FiYXJpdCB1dGlsaXNhdGV1cic7CiRsYW5nWydldmVudCddID0gJyZFYWN1dGU7diZlYWN1dGU7bmVtZW50JzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdOb3RpZmljYXRpb24gZCYjMDM5OyZlYWN1dGU7diZlYWN1dGU7bmVtZW50IG1vZHVsZSBGcm9udEVuZFVzZXInOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnQWRyZXNzZSBlbWFpbCBwb3VyIGxhIG5vdGlmaWNhdGlvbiZuYnNwOyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkJiMwMzk7ZW1haWwgcG91ciBsYSBub3RpZmljYXRpb24mbmJzcDsnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnU3VqZXQgZGUgbCYjMDM5O2VtYWlsIHBvdXIgbGEgbm90aWZpY2F0aW9uJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25zJ10gPSAnTm90aWZpY2F0aW9ucyBwYXIgZW1haWwmbmJzcDsnOwokbGFuZ1snT25Mb2dpbiddID0gJyZBZ3JhdmU7IGxhIGNvbm5leGlvbic7CiRsYW5nWydPbkxvZ291dCddID0gJyZBZ3JhdmU7IGxhIGQmZWFjdXRlO2Nvbm5leGlvbic7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICcmQWdyYXZlOyBsJiMwMzk7ZXhwaXJhdGlvbiBkZSBsYSBzZXNzaW9uJzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ0xvcnNxdSYjMDM5O3VuIG5vdXZlbCB1dGlsaXNhdGV1ciBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7JzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ0xvcnNxdSYjMDM5O3VuIHV0aWxpc2F0ZXVyIGVzdCBzdXBwcmltJmVhY3V0ZTsnOwokbGFuZ1snT25VcGRhdGVVc2VyJ10gPSAnTG9ycyBkZSBjaGFuZ2VtZW50IGRlIHBhcmFtJmVncmF2ZTt0cmVzIHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ09uQ3JlYXRlR3JvdXAnXSA9ICdMb3JzcXUmIzAzOTt1biBncm91cGUgZCYjMDM5O3V0aWxpc2F0ZXVycyBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7JzsKJGxhbmdbJ09uRGVsZXRlR3JvdXAnXSA9ICdMb3JzcXUmIzAzOTt1biBncm91cGUgZCYjMDM5O3V0aWxpc2F0ZXVycyBlc3Qgc3VwcHJpbSZlYWN1dGU7JzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnTGEgZm9uY3Rpb24gZGUgciZlYWN1dGU7Y3VwJmVhY3V0ZTtyYXRpb24gZGUgZCZlYWN1dGU7dGFpbCBkZSBjb25uZXhpb24gZXN0IHRlcm1pbiZlYWN1dGU7ZS4gVm91cyBhdmV6IHRyb3V2JmVhY3V0ZTsgdW4gaWRlbnRpZmlhbnQgdW5pcXVlIHF1aSBjb3JyZXNwb25kIGF1eCBkJmVhY3V0ZTt0YWlscyBxdWUgdm91cyBhdmV6IGVudHImZWFjdXRlOy4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ1ZvdHJlIGlkZW50aWZpYW50IGVzdCc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdOb3VzIHZvdXMgcmVjb21tYW5kb25zIGQmIzAzOTtlbnJlZ2lzdHJlciBjZXR0ZSBpbmZvcm1hdGlvbiBkYW5zIHVuIGVuZHJvaXQgcyZ1Y2lyYztyLCBtYWlzIGZhY2lsZSAmYWdyYXZlOyByZXRyb3V2ZXIgcG91ciB2b3VzLic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJ10gPSAnUGFnZUlEL0FsaWFzIG8mdWdyYXZlOyBzZSByZW5kcmUgYXByJmVhY3V0ZTtzIGxhIG1vZGlmaWNhdGlvbiZuYnNwOyc7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSA9ICdMJiMwMzk7SUQgb3UgbCYjMDM5O2FsaWFzIGRlIGxhIHBhZ2UgbyZ1Z3JhdmU7IHNlIHJlbmRyZSBhcHImZWdyYXZlO3MgbGEgdiZlYWN1dGU7cmlmaWNhdGlvbiBkdSBjb2RlICombmJzcDsnOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdHYWJhcml0IHBvdXIgbGEgciZlYWN1dGU7Y3VwJmVhY3V0ZTtyYXRpb24gZGVzIGQmZWFjdXRlO3RhaWxzIGQmIzAzOTtpZGVudGlmaWFudCc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcG91ciBsYSBjb25maXJtYXRpb24gZGUgbGEgciZlYWN1dGU7Y3VwJmVhY3V0ZTtyYXRpb24gZGVzIGQmZWFjdXRlO3RhaWxzIGQmIzAzOTtpZGVudGlmaWFudCc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0VycmV1ciZuYnNwOzogUGx1cyBkJiMwMzk7dW4gdXRpbGlzYXRldXIgY29ycmVzcG9uZCBhdXggcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIGQmZWFjdXRlO2Zpbmllcyc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJldXImbmJzcDs6IEltcG9zc2libGUgZGUgdHJvdXZlciB1biB1dGlsaXNhdGV1ciBjb3JyZXNwb25kYW50JzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJldXImbmJzcDs6IEltcG9zc2libGUgZGUgdHJvdXZlciB1biBncm91cGUgZGUgY2Ugbm9tJzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnTGVjdHVyZSBzZXVsZSc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnQ2xhc3NlIGRlIG1hbmlwdWxhdGlvbiBkZXMgaWRlbnRpZmlhbnRzJm5ic3A7JzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ0QmZWFjdXRlO2Nvbm5lY3QmZWFjdXRlOyBwYXIgdW4gYWRtaW5pc3RyYXRldXInOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ0FmZmljaGUgdW5pcXVlbWVudCBsZXMgdXRpbGlzYXRldXJzIGNvbm5lY3QmZWFjdXRlO3MnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0QmZWFjdXRlO2Nvbm5lY3RlciBjZXQgdXRpbGlzYXRldXInOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnUHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIGRlIGwmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ0hpc3RvcmlxdWUgZGUgbCYjMDM5O3V0aWxpc2F0ZXVyJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydGVyJzsKJGxhbmdbJ2NsZWFyJ10gPSAnVmlkZXInOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnRXhwb3J0ZXIgZW4gQVNDSUkgbCYjMDM5O2hpc3RvcmlxdWUgZGUgbCYjMDM5O3V0aWxpc2F0ZXVyIHF1aSBlc3QgYXUgbW9pbnMmbmJzcDsnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdWaWRlciBsJiMwMzk7aGlzdG9yaXF1ZSBkZSBsJiMwMzk7dXRpbGlzYXRldXIgcXVpIGVzdCBhdSBtb2lucyZuYnNwOyc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdBdmV6LXZvdXMgb3VibGkmZWFjdXRlOyB2b3MgZCZlYWN1dGU7dGFpbHMgZCYjMDM5O2lkZW50aWZpY2F0aW9uJm5ic3A7Pyc7CiRsYW5nWyd0aXRsZV9yc3NleHBvcnQnXSA9ICdFeHBvcnRlciBsYSBkJmVhY3V0ZTtmaW5pdGlvbiBkdSBncm91cGUgKGV0IHNlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MpIGVuIFhNTCc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnTWFpbnRlbmFuY2UgZGUgbCYjMDM5O2hpc3RvcmlxdWUgdXRpbGlzYXRldXInOwokbGFuZ1sneWVzJ10gPSAnT3VpJzsKJGxhbmdbJ25vJ10gPSAnTm9uJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ2RlJzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIFNhbnMgbGltaXRlICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJzEgaGV1cmUnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnNiBoZXVyZXMnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnMTIgaGV1cmVzJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnMSBqb3VyJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJzEgc2VtYWluZSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnMiBzZW1haW5lcyc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnMSBtb2lzJzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICczIG1vaXMnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICc2IG1vaXMnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnMSBhbic7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcm91cGVyIGV0IHRyaWVyJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdFbnJlZ2lzdHJlbWVudHMgcXVpIGNvcnJlc3BvbmRlbnQgYXV4IGNyaXQmZWdyYXZlO3Jlcyc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ09yZHJlIGRlc2NlbmRhbnQgZGVzIG5vbXMgZCYjMDM5O3V0aWxpc2F0ZXVycyc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnT3JkcmUgYXNjZW5kYW50IGRlcyBub21zIGQmIzAzOTt1dGlsaXNhdGV1cnMnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ09yZHJlIGRlc2NlbmRhbnQgZGUgbGEgZGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdPcmRyZSBhc2NlbmRhbnQgZGUgbGEgZGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdPcmRyZSBkZXNjZW5kYW50IGR1IHR5cGUgZCYjMDM5OyZlYWN1dGU7diZlYWN1dGU7bmVtZW50JzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnT3JkcmUgYXNjZW5kYW50IGR1IHR5cGUgZCYjMDM5OyZlYWN1dGU7diZlYWN1dGU7bmVtZW50JzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ09yZHJlIGRlc2NlbmRhbnQgZGUgbCYjMDM5O2FkcmVzc2UgSVAnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdPcmRyZSBhc2NlbmRhbnQgZGUgbCYjMDM5O2FkcmVzc2UgSVAnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0F1Y3VuIGhpc3RvcmlxdWUgZCZlYWN1dGU7dGVjdCZlYWN1dGU7JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUiZlYWN1dGU7aW5pdGlhbGlzZXInOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3JvdXBlciBwYXIgYWRyZXNzZSBJUCZuYnNwOyc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRyZSBkZSB0eXBlIGQmIzAzOTsmZWFjdXRlO3YmZWFjdXRlO25lbWVudCZuYnNwOyc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdBZmZpY2hlIHVuaXF1ZW1lbnQgbGVzICZlYWN1dGU7diZlYWN1dGU7bmVtZW50cyBxdWkgb24gbW9pbnMgZGUmbmJzcDsnOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ0xpbWl0ZSBkZSBwYWdlJm5ic3A7JzsKJGxhbmdbJ2ZvciddID0gJ3BvdXInOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICdSYXBwb3J0IGQmIzAzOTtoaXN0b3JpcXVlIGQmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWyd1bmtub3duJ10gPSAnSW5jb25udSc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnQWRyZXNzZSBJUCc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVHlwZSBkJiMwMzk7JmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXRlICc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnUmV0b3VyJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdPcCZlYWN1dGU7cmF0aW9uIGQmIzAzOTtpbXBvcnRhdGlvbiB0ZXJtaW4mZWFjdXRlO2UnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnTGlnbmVzIGVmZmVjdHUmZWFjdXRlO2VzJzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdFcnJldXJzIHJlbmNvbnRyJmVhY3V0ZTtlcyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnRW5yZWdyaXN0cmVtZW50cyBham91dCZlYWN1dGU7cyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnSW1wb3NzaWJsZSBkZSB0cm91dmVyIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgcG91ciBsZSBncm91cGUgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdBdWN1bmUgciZlYWN1dGU7cG9uc2UgZHUgc2VydmV1ciBTTVRQJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0ltcG9zc2libGUgZGUgdHJvdXZlciBsZSBmaWNoaWVyIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsgKCVzKSc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnVmFsZXVyIGludmFsaWRlIHBvdXIgbGUgY2hhbXAgbWVudSBkJmVhY3V0ZTtyb3VsYW50IG91IG11bHRpcyZlYWN1dGU7bGVjdGlvbiAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0xlIGNoYW1wICVzIGQmZWFjdXRlO3Bhc3NlIGxhIGxvbmd1ZXVyIG1heGltYWxlJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHVzZXJzJ10gPSAnRXJyZXVyIGQmIzAzOTtpbXBvcnRhdGlvbiAobGlnbmUgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnSW1wb3NzaWJsZSBkJiMwMzk7b2J0ZW5pciBsZXMgZCZlYWN1dGU7ZmluaXRpb25zIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IChlcnJldXIgaW50ZXJuZSknOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdpbmZvJ10gPSAnUHJvYmwmZWdyYXZlO21lIGxvcnMgZGUgbGEgZCZlYWN1dGU7ZmluaXRpb24gZGVzIGluZm9zIHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIGNvbG9ubmUgcXVpIGNvcnJlc3BvbmQgYXUgY2hhbXAgcmVxdWlzICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgcG91ciBsZSBncm91cGUgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnTGUgZmljaGllciBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7IHBvdXIgbCYjMDM5O2ltcG9ydGF0aW9uIG4mIzAzOTtlc3QgcGFzIGF1IGJvbiBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0ltcG9zc2libGUgZCYjMDM5O291dnJpciBsZSBmaWNoaWVyJzsKJGxhbmdbJ2luZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0J10gPSAnPGg0PkluZm9ybWF0aW9uIHN1ciBsZSBmb3JtYXQgZHUgZmljaGllcjwvaDQ+DQo8cD5MZSBmaWNoaWVyIGRvaXQgJmVjaXJjO3RyZSBlbiBmb3JtYXQgQVNDSUkgYXZlYyBsZXMgdmFsZXVycyBzJmVhY3V0ZTtwYXImZWFjdXRlO2VzIHBhciBkZXMgdmlyZ3VsZXMuIENoYXF1ZSBsaWduZSBkZSBjZSBmaWNoaWVyICgmYWdyYXZlOyBsJiMwMzk7ZXhjZXB0aW9uIGRlIGxhIGxpZ25lIGQmIzAzOTtlbi10JmVjaXJjO3RlLCB2b2lyIHBsdXMgYmFzKSByZXByJmVhY3V0ZTtzZW50IHVuIGVucmVnaXN0cmVtZW50IHV0aWxpc2F0ZXVyLiBDaGFxdWUgbGlnbmVyIGRvaXQgY29udGVuaXIgbGUgbSZlY2lyYzttZSBub21icmUgZGUgY2hhbXAsIGV0IGwmIzAzOTtvcmRyZSBkZXMgY2hhbXBzIGRhbnMgY2hhcXVlIGxpZ25lIGRvaXQgJmVjaXJjO3RyZSBpZGVudGlxdWUuPC9wPg0KPGg1PkxpZ25lIGQmIzAzOTtlbi10JmVjaXJjO3RlPC9oNT4NCjx1bD4NCjxsaT5MYSBwcmVtaSZlZ3JhdmU7cmUgbGlnbmUgZHUgZmljaGllciBkb2l0IGNvbW1lbmNlciBwYXIgMiBkaSZlZ3JhdmU7c2VzIChcIyksIGV0IG5vbW1lIGNoYWN1biBkZXMgY2hhbXBzIGRhbnMgbGUgZmljaGllci4gTGVzIG5vbXMgZGUgY2VzIGNoYW1wcyBzb250IGltcG9ydGFudHMuIElsIHkgYSBxdWVscXVlcyBub21zIGRlIGNoYW1wcyByZXF1aXMgKHZvaXIgY2ktZGVzc291cyksIGV0IHBvdXIgbGVzIGF1dHJlcyBjaGFtcHMsIGlscyBkb2l2ZW50IGNvcnJlc3BvbmRyZSBhdXggcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIGFzc29jaSZlYWN1dGU7ZXMgYXUgZ3JvdXBlIGQmIzAzOTt1dGlsaXNhdGV1cnMgZGFucyBsZXF1ZWwgY2UgZmljaGllciB2YSAmZWNpcmM7dHJlIGltcG9ydCZlYWN1dGU7LjwvbGk+DQo8bGk+TGUgcHJvY2Vzc3VzIGQmIzAzOTtpbXBvcnRhdGlvbiAmZWFjdXRlO2Nob3VlcmEgc2kgbGUgZmljaGllciBkJiMwMzk7aW1wb3J0IG5lIGNvcnJlc3BvbmQgcGFzICZhZ3JhdmU7IHRvdXRlcyBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIGFzc29jaSZlYWN1dGU7ZXMgYXUgZ3JvdXBlIGQmIzAzOTt1dGlsaXNhdGV1cnMgZGFucyBsZXF1ZWwgY2UgZmljaGllciB2YSAmZWNpcmM7dHJlIGltcG9ydCZlYWN1dGU7LjwvbGk+DQo8bGk+TGUgZmljaGllciBwZXV0IGNvbnRlbmlyIGRlcyBjaGFtcHMgcmVwciZlYWN1dGU7c2VudGFudCBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIG9wdGlvbm5lbGxlcyBkdSBncm91cGUgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOy48L2xpPg0KPGxpPkxlIHByb2Nlc3N1cyBkJiMwMzk7aW1wb3J0YXRpb24gaWdub3JlcmEgdG91dCBjaGFtcCBkdSBmaWNoaWVyIHF1aSBlc3Qgc29pdCBpbmNvbm51LCBvdSBxdWkgbmUgY29ycmVzcG9uZCBwYXMgYXV4IHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBxdWkgc29udCA8ZW0+ZCZlYWN1dGU7c2FjdGl2JmVhY3V0ZTtlczwvZW0+IGRhbnMgbGUgZ3JvdXBlIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsuPC9saT4NCjwvdWw+DQo8aDU+RG9ubiZlYWN1dGU7ZXMgdGFidWxhaXJlczwvaDU+DQo8dWw+DQo8bGk+TGUgY2hhbXAgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiAoZW4gYW5nbGFpcykgLSBMZSBub20gZCYjMDM5O3V0aWxpc2F0ZXVyIGQmZWFjdXRlO3NpciZlYWN1dGU7Lg0KICAgIDxwPkNlIGNoYW1wIGRvaXQgZXhpc3RlciBkYW5zIGxhIGxpZ25lIGQmIzAzOTtlbi10JmVjaXJjO3RlLCBldCBkb2l0ICZlY2lyYzt0cmUgcmVtcGxpIGRhbnMgY2hhY3VuZSBkZXMgbGlnbmVzIGR1IGZpY2hpZXIgZCYjMDM5O2ltcG9ydGF0aW9uLiBMJiMwMzk7ZW5yZWdpc3RyZW1lbnQgJmVhY3V0ZTtjaG91ZXJhIHNpIHVuIHV0aWxpc2F0ZXVyIGR1IG0mZWNpcmM7bWUgbm9tIGV4aXN0ZSBkJmVhY3V0ZTtqJmFncmF2ZTsgZGFucyBsYSBiYXNlIGRlIGRvbm4mZWFjdXRlO2VzLjwvcD48L2xpPg0KPGxpPkxlIGNoYW1wIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gKGVuIGFuZ2xhaXMpIC0gQSBmYWlyZTwvbGk+DQo8bGk+TGUgY2hhbXAgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IChlbiBhbmdsYWlzKSAtIEEgZmFpcmU8L2xpPg0KPGxpPkNoYW1wIGQmZWFjdXRlO3JvdWxhbnRzDQogICAgPHA+TGEgdmFsZXVyIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgZGUgY2hhbXAgZCZlYWN1dGU7cm91bGFudCBkYW5zIGxlIGZpY2hpZXIgZCYjMDM5O2ltcG9ydGF0aW9uIGVzdCByZXByJmVhY3V0ZTtzZW50JmVhY3V0ZTtlIHBhciBsZSB0ZXh0ZSBxdWkgZXN0IGFmZmljaCZlYWN1dGU7IGRhbnMgbGUgY2hhbXAgZCZlYWN1dGU7cm91bGFudCBkYW5zIGxlIG1vZHVsZSBGcm9udEVuZFVzZXJzLjwvcD4NCjwvbGk+DQo8bGk+Q2hhbXBzICZhZ3JhdmU7IG11bHRpcyZlYWN1dGU7bGVjdGlvbg0KICAgIDxwPkxlcyBjaGFtcHMgJmFncmF2ZTsgbXVsdGlzJmVhY3V0ZTtsZWN0aW9uIHNvbnQgY29udGVudXMgZGFucyBsZSBmaWNoaWVyIEFTQ0lJIGVuIHRhbnQgcXVlJm5ic3A7OiB1bmUgbGlzdGUgcyZlYWN1dGU7cGFyJmVhY3V0ZTtlIGRlIHRleHRlcywgb3UgY2hhcXVlIHRleHRlIHJlcHImZWFjdXRlO3NlbnRlIGxlIHRleHRlIGFmZmljaCZlYWN1dGU7IGRhbnMgbGEgbGlzdGUgJmFncmF2ZTsgbXVsdGlzJmVhY3V0ZTtsZWN0aW9uPC9wPg0KPC9saT4NCjxsaT5DaGFtcHMgaW1hZ2VzDQogICAgPHA+TGVzIGltYWdlcyBzb250IGRlcyBjaGFtcHMgZG9udCBsZSBub20gZGUgY29sb25uZSBjb3JyZXNwb25kICZhZ3JhdmU7IHVuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkZSB0eXBlIEltYWdlLiBTaSBjZSBjaGFtcCBlc3QgcmVxdWlzIGRhbnMgbGUgZ3JvdXBlIGRlIGRlc3RpbmF0aW9uLCBhbG9ycyBsZSBub20gc3AmZWFjdXRlO2NpY2kmZWFjdXRlOyBkYW5zIGNlcyBjb2xvbm5lcyBkb2l0IGV4aXN0ZXIgZGFucyBsZSBkb3NzaWVyICZxdW90O3VwbG9hZHMmcXVvdDsgZGUgbCYjMDM5O2luc3RhbGxhdGlvbiBkZSBDTVMgTWFkZSBTaW1wbGUuIFNpIGwmIzAzOTtpbWFnZSBuJiMwMzk7ZXhpc3RlIHBhcywgYW5kIHF1ZSBsZSBjaGFtcCBlc3QgcmVxdWlzLCBsJiMwMzk7ZW5yZWdpc3RyZW1lbnQgJmVhY3V0ZTtjaG91ZXJhLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+TGUgcHJvY2Vzc3VzIGQmIzAzOTtpbXBvcnRhdGlvbiBlc3Qgc3VqZXQgYXV4IGxpbWl0YXRpb25zIGltcG9zJmVhY3V0ZTtlcyBwYXIgbCYjMDM5O2gmZWFjdXRlO2JlcmdldXIsIHRlbGxlcyBxdWUgbGltaXRhdGlvbiBkZSBtJmVhY3V0ZTttb2lyZSwgZGUgdGVtcHMgZCYjMDM5O2V4JmVhY3V0ZTtjdXRpb24sIGRlIHRhaWxsZSBtYXhpbWFsZSBkZSBmaWNoaWVyIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnJmVhY3V0ZTssIGV0IGxlcyByZXN0cmljdGlvbnMgJnF1b3Q7c2FmZW1vZGUmcXVvdDsuIENoYWN1bmUgZGUgY2VzIGxpbWl0YXRpb25zIHBldXQgY2F1c2VyIGwmIzAzOTsmZWFjdXRlO2NoZWMgZGUgbCYjMDM5O2ltcG9ydGF0aW9uLiBEJmVncmF2ZTtzIGxvcnMsIGlsIGVzdCByZWNvbW1hbmQmZWFjdXRlOyBkZSBzJiMwMzk7YXNzdXJlciBxdWUgbGVzIGZpY2hpZXJzIGQmIzAzOTtpbXBvcnRhdGlvbiBzb2llbnQgcGV0aXRzIGVuIHRhaWxsZSwgZXQgZGUgbmF0dXJlIHNpbXBsZS48L3A+DQo8cD5NYWxnciZlYWN1dGU7IHF1ZSB0b3V0IGFpZSAmZWFjdXRlO3QmZWFjdXRlOyBlbnRyZXByaXMgYWZpbiBkZSBzJiMwMzk7YXNzdXJlciBxdSYjMDM5O2F1Y3VuZSBjb3JydXB0aW9uIGRlIGxhIGJhc2UgZGUgZG9ubiZlYWN1dGU7ZXMgbmUgc3Vydmllbm5lLCBpbCBlc3QgcmVjb21tYW5kJmVhY3V0ZTsgZGUgZmFpcmUgdW5lIHNhdXZlZ2FyZGUgZGUgbGEgYmFzZSBkZSBkb25uJmVhY3V0ZTtlIGF2YW50IGQmIzAzOTtlZmZlY3R1ZXIgdW4gaW1wb3J0IGQmIzAzOTt1dGlsaXNhdGV1cnMuPC9wPg0KPGg1PkV4ZW1wbGU8L2g1Pg0KPHByZT4NCiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcA0KdXNlcjEsdGVzdCx1c2VyLHVzZXIxQHNvbWVkb21haW4uY29tLHNvbWV3aGVyZSxUWCxVUywxMjM0NQ0KPC9wcmU+DQonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydGVyIGxlcyB1dGlsaXNhdGV1cnMgZGFucyBjZSBncm91cGUnOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnRW50cmVyIHVuIGZpY2hpZXIgQ1NWJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnRW50cmVyIHVuIGZpY2hpZXIgWE1MJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydGVyIGRlcyB1dGlsaXNhdGV1cnMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0ZXIgZGVzIHV0aWxpc2F0ZXVycyc7CiRsYW5nWydwcm9tcHRfY2xlYXInXSA9ICdWaWRlcic7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0NoZW1pbiBkZSBkZXN0aW5hdGlvbiBkZSBsJiMwMzk7aW1hZ2UmbmJzcDsnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdVbiBwcm9ibCZlZ3JhdmU7bWUgZXN0IGFwcGFydSBhdmVjIHVuIHQmZWFjdXRlO2wmZWFjdXRlO2NoYXJnZW1lbnQgbWFucXVhbnQgKG1haXMgcmVxdWlzKSc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnSW1wb3NzaWJsZSBkJiMwMzk7YW5hbHlzZXIgbGUgZmljaGllciBYTUwgZm91cm5pJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdJbXBvc3NpYmxlIGRlIHN1cHByaW1lciB1biBncm91cGUgcXVpIGNvbnRpZW50IGVuY29yZSBkZXMgdXRpbGlzYXRldXJzJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdDZXQgdXRpbGlzYXRldXIgZXN0IGQmZWFjdXRlO2omYWdyYXZlOyBjb25uZWN0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnTGUgdGV4dGUgZGUgY2V0dGUgaW1hZ2UgbiYjMDM5O2EgcGFzICZlYWN1dGU7dCZlYWN1dGU7IGVudHImZWFjdXRlOyBjb3JyZWN0ZW1lbnQnOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ0F1dG9yaXNlciBsZXMgdXRpbGlzYXRldXJzICZhZ3JhdmU7ICZlY2lyYzt0cmUgY29ubmVjdCZlYWN1dGU7cyBwbHVzIGQmIzAzOTt1bmUgZm9pcyZuYnNwOyc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnRXh0ZW5zaW9ucyBkZXMgZmljaGllcnMgZCYjMDM5O2ltYWdlcyBxdWUgbGVzIHV0aWxpc2F0ZXVycyBzb250IGF1dG9yaXMmZWFjdXRlO3MgJmFncmF2ZTsgdCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlciZuYnNwOyc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5PbkRlbGV0ZVVzZXI8aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIHV0aWxpc2F0ZXVyIGVzdCBzdXBwcmltJmVhY3V0ZTs8L3A+DQo8aDQ+UGFyYW0mZWdyYXZlO3RyZXM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gbGUgbm9tIGRlIGwmIzAzOTt1dGlsaXNhdGV1cjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBsJiMwMzk7aWQgZGUgbCYjMDM5O3V0aWxpc2F0ZXVyPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPlVuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gdXRpbGlzYXRldXIgZXN0IGNyJmVhY3V0ZTsmZWFjdXRlOzwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIGxlIG5vbSBkZSBsJiMwMzk7dXRpbGlzYXRldXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gbCYjMDM5O2lkIGRlIGwmIzAzOTt1dGlsaXNhdGV1cjwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIHV0aWxpc2F0ZXVyIGVzdCBtaXMgJmFncmF2ZTsgam91ciAocGFyIGx1aS1tJmVjaXJjO21lIG91IHBhciB1biBhZG1pbik8L3A+DQo8aDQ+UGFyYW0mZWdyYXZlO3RyZXM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBsZSBub20gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGwmIzAzOTtpZCBkZSBsJiMwMzk7dXRpbGlzYXRldXI8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIGdyb3VwZSBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7PC9wPg0KPGg0PlBhcmFtJmVncmF2ZTt0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gbGUgbm9tIGR1IGdyb3VwZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBsYSBkZXNjcmlwdGlvbiBkdSBncm91cGU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gbCYjMDM5O2lkIGR1IGdyb3VwZTwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPlVuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gZ3JvdXBlIGVzdCBzdXBwcmltJmVhY3V0ZTs8L3A+DQo8aDQ+UGFyYW0mZWdyYXZlO3RyZXM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBsZSBub20gZHUgZ3JvdXBlPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGwmIzAzOTtpZCBkdSBncm91cGU8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIHV0aWxpc2F0ZXVyIHNlIGNvbm5lY3RlPC9wPg0KPGg0PlBhcmFtJmVncmF2ZTt0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIGxlIG5vbSBkZSBsJiMwMzk7dXRpbGlzYXRldXIgY29ubmVjdCZlYWN1dGU7PC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIGwmIzAzOTthZHJlc3NlIGlwIGR1IGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8aDM+T25Mb2dvdXQ8aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuIHV0aWxpc2F0ZXVyIHNlIGQmZWFjdXRlO2Nvbm5lY3RlPC9wPg0KPGg0PlBhcmFtJmVncmF2ZTt0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIGxlIG5vbSBkZSBsJiMwMzk7dXRpbGlzYXRldXIgZCZlYWN1dGU7Y29ubmVjdCZlYWN1dGU7PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIGwmIzAzOTtpZCBkZSBsJiMwMzk7dXRpbGlzYXRldXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxoMz5PbkV4cGlyZVVzZXI8aDM+DQo8cD5VbiAmZWFjdXRlO3YmZWFjdXRlO25lbWVudCBlc3QgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHF1YW5kIHVuZSBzZXNzaW9uIGV4cGlyZTwvcD4NCjxoND5QYXJhbSZlZ3JhdmU7dHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBsZSBub20gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyIGRvbnQgbGEgc2Vzc2lvbiBhIGV4cGlyJmVhY3V0ZTs8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gbCYjMDM5O2lkIGRlIGwmIzAzOTt1dGlsaXNhdGV1ciBkb250IGxhIHNlc3Npb24gYSBleHBpciZlYWN1dGU7PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBzZSBjb25uZWN0ZSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBzZSBkJmVhY3V0ZTtjb25uZWN0ZSc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW5lIHNlc3Npb24gZXhwaXJlJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBlc3QgY3ImZWFjdXRlOyZlYWN1dGU7JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBlc3QgbWlzICZhZ3JhdmU7IGpvdXIgKHBhciBsdWktbSZlY2lyYzttZSBvdSBwYXIgdW4gYWRtaW4pJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biB1dGlsaXNhdGV1ciBlc3Qgc3VwcHJpbSZlYWN1dGU7JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ1VuICZlYWN1dGU7diZlYWN1dGU7bmVtZW50IGVzdCBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgcXVhbmQgdW4gZ3JvdXBlIGVzdCBjciZlYWN1dGU7JmVhY3V0ZTsnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnVW4gJmVhY3V0ZTt2JmVhY3V0ZTtuZW1lbnQgZXN0IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOyBxdWFuZCB1biBncm91cGUgZXN0IHN1cHByaW0mZWFjdXRlOyc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnR3JvdXBlJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogTGVzIG1hY3JvcyBzdWl2YW50ZXMgcGV1dmVudCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7ZXMgZGFucyBjZXMgY2hhbXBzJm5ic3A7OiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gTG9ycyBkZSBsJiMwMzk7dXRpbGlzYXRpb24gZGUgbGEgbWFjcm8geyRncm91cH0sIGxlIHN5c3QmZWdyYXZlO21lIHJlbXBsYWNlIGxlIG5vbSBkdSBwcmVtaWVyIGdyb3VwZSBhdXF1ZWwgbCYjMDM5O3V0aWxpc2F0ZXVyIGFwcGFydGllbnQsIGV0IHZhIGxlIHJlZGlyaWdlciBzdXIgY2V0dGUgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJyZFYWN1dGU7ZGl0ZXIgY2UgY2hhbXAgcG91ciByJmVhY3V0ZTtpbml0aWFsaXNlciBsZSBtb3QgZGUgcGFzc2UgdXRpbGlzYXRldXInOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJyZFYWN1dGU7ZGl0ZXIgY2UgY2hhbXAgcG91ciByJmVhY3V0ZTtpbml0aWFsaXNlciBsZSBtb3QgZGUgcGFzc2UgdXRpbGlzYXRldXInOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnVW4gdXRpbGlzYXRldXIgYXZlYyBjZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOy4nOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnQXVjdW4gciZlYWN1dGU7c3VsdGF0IHJldG91cm4mZWFjdXRlOyBkZSBsJiMwMzk7ZXhwb3J0IGNzdic7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMb25ndWV1ciBkdSBjaGFtcCBub20gZCYjMDM5O3V0aWxpc2F0ZXVyJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ0xvbmd1ZXVyIGR1IGNoYW1wIG1vdCBkZSBwYXNzZSZuYnNwOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTG9uZ3VldXIgbWluaW1hbGUvbWF4aW1hbGUgaW52YWxpZGUgcG91ciBsZSBtb3QgZGUgcGFzc2UmbmJzcDsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ0xvbmd1ZXVyIG1pbmltYWxlL21heGltYWxlIGludmFsaWRlIHBvdXIgbGUgbm9tIGQmIzAzOTt1dGlsaXNhdGV1ciZuYnNwOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnQWRyZXNzZSBlbWFpbCBpbnZhbGlkZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0lsIG4mIzAzOTt5IGEgcGFzIGQmIzAzOTthZHJlc3NlIGVtYWlsIGVucmVnaXN0ciZlYWN1dGU7ZSBwb3VyIGNlIGNvbXB0ZS4nOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Byb2JsJmVncmF2ZTttZSBsb3JzIGRlIGwmIzAzOTsmZWFjdXRlO2RpdGlvbiBkZXMgaW5mb3MgdXRpbGlzYXRldXInOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmwmZWdyYXZlO21lIGxvcnMgZGUgbCYjMDM5OyZlYWN1dGU7ZGl0aW9uIGRlIGxhIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVdGlsaXNhdGV1ciBham91dCZlYWN1dGU7ICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVXRpbGlzYXRldXIgc3VwcHJpbSZlYWN1dGU7IHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWxldXIgKGV4cHJlc3Npb24gciZlYWN1dGU7Z3VsaSZlZ3JhdmU7cmUpJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnQXR0ZW50aW9uOiBDZXMgY2hhbXBzIGFmZmVjdGVudCBsYSB0YWlsbGUgZGUgY2hhbXBzIGQmIzAzOTtlbnRyJmVhY3V0ZTtlIGRhbnMgbGVzIGZvcm11bGFpcmVzLiAgRGVzY2VuZHJlIGNldHRlIHZhbGV1ciBzdXIgdW4gc2l0ZSBleGlzdGFudCBuJiMwMzk7ZXN0IHBhcyByZWNvbW1hbmQmZWFjdXRlOyc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnTW9kaWZpZXIgbGVzIHByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMgYWRtaW5pc3RyYXRldXImbmJzcDs/JzsKJGxhbmdbJ2Vycm9yX2VtYWlsYWxyZWFkeXVzZWQnXSA9ICdDZXR0ZSBhZHJlc3NlIGVtYWlsIGVzdCBkJmVhY3V0ZTtqJmFncmF2ZTsgdXRpbGlzJmVhY3V0ZTtlJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ1V0aWxpc2VyIGxlcyBjb29raWVzIHBvdXIgbSZlYWN1dGU7bW9yaXNlciBsZXMgZCZlYWN1dGU7dGFpbHMgZCYjMDM5O2lkZW50aWZpY2F0aW9uJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnTGUgbm9tIGR1IGNvb2tpZSZuYnNwOyc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0F1dG9yaXNlciBsZXMgZG91YmxvbnMgZCYjMDM5O2VtYWlsJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ0wmIzAzOTthZHJlc3NlIGVtYWlsIGVzdCBsZSBub20gZCYjMDM5O3V0aWxpc2F0ZXVyJm5ic3A7JzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ1RlbnRlIGRlIGdyYWRlciBsZXMgY29ubmV4aW9ucyBhY3RpdmVzIHBhciBsJiMwMzk7dXRpbGlzYXRpb24gZGUgY29va2llcyA8ZW0+bGUgY29va2llIGVzdCByJmVhY3V0ZTtpbml0aWFsaXMmZWFjdXRlOyBwYXIgbCYjMDM5O2FjdGl2aXQmZWFjdXRlOyBzdXIgbGUgc2l0ZTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhhdXRvcmlzZXIgZGUgbXVsdGlwbGVzIHV0aWxpc2F0ZXVycyBhdmVjIGxhIG0mZWNpcmM7bWUgYWRyZXNzZSBlbWFpbCknOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyhMJiMwMzk7YWRyZXNzZSBlbWFpbCBlc3QgbGUgbm9tIGRlIGwmIzAzOTt1dGlsaXNhdGV1ciAtLSBOZSBwYXMgY29jaGVyIHNpIHZvdXMgJnF1b3Q7QXV0b3Jpc2VyIGxlcyBkb3VibG9ucyBkJiMwMzk7ZW1haWwmcXVvdDsmbmJzcDshKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0F1dG9yaXNlciBkZXMgZGVtYW5kZXMgbXVsdGlwbGVzIGRlIG1vdCBkZSBwYXNzZSBvdWJsaSZlYWN1dGU7Jm5ic3A7JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhhdXRvcmlzZXIgbGVzIHV0aWxpc2F0ZXVycyAmYWdyYXZlOyByZWRlbWFuZGVyIHVuZSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkZSBtb3QgZGUgcGFzc2UsIG1hbGdyJmVhY3V0ZTsgcXUmIzAzOTtpbHMgbiYjMDM5O2FpZW50IHBhcyB1dGlsaXMmZWFjdXRlOyB1bmUgcHImZWFjdXRlO2MmZWFjdXRlO2RlbnRlIGRlbWFuZGUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXRpbGlzZXIgbGVzIHBlcm1pc3Npb25zIHNwJmVhY3V0ZTtjaWZpcXVlIGRlIEZyb250LUVuZCBVc2VyID8mbmJzcDsnOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hbGVtZW50LCBsZXMgcGVybWlzc2lvbnMgZGUgRkVVU2VycyBzb250IGlkZW50aXF1ZXMgYXV4IHBlcm1pc3Npb25zIGR1IHBhbm5lYXUgZCYjMDM5O2FkbWluaXN0cmF0aW9uIHRlbCBxdWUgQWpvdXRlciB1biB1dGlsaXNhdGV1ciwgQWpvdXRlciB1bmUgZ3JvdXBlLCBldGMuIFNpIHZvdXMgcyZlYWN1dGU7bGVjdGlvbm5leiBjZXR0ZSBvcHRpb24sIGlsIHkgYXVyYSBkZXMgcGVybWlzc2lvbnMgZGlmZiZlYWN1dGU7cmVudGVzIHBvdXIgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGUgZmljaGllciB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZyZlYWN1dGU7IChlcnJldXIgaW50ZXJuZSknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdJbCB5IGEgZXUgdW4gcHJvYmwmZWdyYXZlO21lIGF2ZWMgbGUgZmljaGllciB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZyZlYWN1dGU7LiBWZXVpbGxleiByJmVhY3V0ZTtlc3NheWVyLic7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdWb3VzIG4mIzAzOTthdmV6IHBhcyBlbnRyJmVhY3V0ZTsgZGUgbm9tIGQmIzAzOTt1dGlsaXNhdGV1cic7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdWb3VzIG5lIGRldmV6IHBhcyBlbnRyZXIgdm90cmUgYWRyZXNzZSBlbWFpbCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdWb3VzIG4mIzAzOTthdmV6IHBhcyBlbnRyJmVhY3V0ZTsgZGUgbW90IGRlIHBhc3NlJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdEJmVhY3V0ZTtjb25uZXhpb24gdXRpbGlzYXRldXInOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnQ29ubmV4aW9uIHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+QVRURU5USU9OPC9iPiBlbiBjaGFuZ2VhbnQgdW5lIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IHF1aSBhICZlYWN1dGU7dCZlYWN1dGU7IGFzc2lnbiZlYWN1dGU7ZSAmYWdyYXZlOyBkZXMgZ3JvdXBlcywgdm91cyBwb3V2ZXogcG90ZW50aWVsbGVtZW50IGQmZWFjdXRlO3RydWlyZSBvdSBhYiZpY2lyYzttZXIgdW4gc2l0ZSBleGlzdGFudCA8aT4oZW4gcGFydGljdWxpZXIgc2kgdm91cyByJmVhY3V0ZTtkdWlzZXogbGVzIGxvbmd1ZXVycyBkZSBjaGFtcHMsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ0NldHRlIGZvbmN0aW9uIG5lIG1hcmNoZSBwYXMgc291cyBXaW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdOZSBjciZlYWN1dGU7ZXogcGFzIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IHBvdXIgdXRpbGlzYXRldXIsIGNhciBjZWNpIGVzdCBpbmNsdXMgZGFucyBsZSBtb2R1bGUgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0ZXIgbGEgbGlzdGUgZGVzIHV0aWxpc2F0ZXVycyBhdSBmb3JtYXQgQ1NWJm5ic3A7JzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydGVyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGVyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4gJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnJkVhY3V0ZTtkaXRlciBsYSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdMb25ndWV1ciBtYXhpbWFsZSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3ImZWFjdXRlOyZlYWN1dGU7JzsKJGxhbmdbJ3NvcnRieSddID0gJ1RyaWVyIHBhciZuYnNwOyc7CiRsYW5nWydzb3J0J10gPSAnVHJpJm5ic3A7JzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1V0aWxpc2F0ZXVycyBkYW5zIGxlIGdyb3VwZSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdGVyIGxlcyByJmVhY3V0ZTtzdWx0YXRzICZhZ3JhdmU7JzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0F1Y3VuIGVtYWlsIHRyb3V2JmVhY3V0ZTsgcG91ciBjZXQgdXRpbGlzYXRldXIuIFZvdXMgZGV2ZXogJmVhY3V0ZTt2ZW50dWVsbGVtZW50IGNvbnRhY3RlciBsJiMwMzk7YWRtaW5pc3RyYXRldXIuJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGR1IGZvcm11bGFpcmUgbW90IGRlIHBhc3NlIG91YmxpJmVhY3V0ZTsmbmJzcDsnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZHUgZm9ybXVsYWlyZSBkZSBjaGFuZ2VtZW50IGRlIHBhcmFtJmVncmF2ZTt0cmVzJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIG8mdWdyYXZlOyByZWRpcmlnZXIgbCYjMDM5O3V0aWxpc2F0ZXVyIGFwciZlZ3JhdmU7cyBxdSYjMDM5O2lsIHNlIHNvaXQgY29ubmVjdCZlYWN1dGU7Jm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBvJnVncmF2ZTsgcmVkaXJpZ2VyIGwmIzAzOTt1dGlsaXNhdGV1ciBhcHImZWdyYXZlO3MgcXUmIzAzOTtpbCBzZSBzb2l0IGQmZWFjdXRlO2Nvbm5lY3QmZWFjdXRlOyZuYnNwOyc7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdPcmRlIGRlIHRyaSc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdVbiBub21icmUgZCYjMDM5O3V0aWxpc2F0ZXVycyBlc3QgZW4gY291cnMgZGUgciZlYWN1dGU7aW5pdGlhbGlzYXRpb24gZGUgbW90cyBkZSBwYXNzZS4gQ2Ugbm9tYnJlIGVzdCBhY3R1ZWxsZW1lbnQgZGUgOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1N1cHByaW1lciB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzIHZpZWlsbGVzIGRlIHBsdXMgZCYjMDM5O3VuZSBzZW1haW5lJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1N1cHByaW1lciB0b3V0ZXMgbGVzIGVudHImZWFjdXRlO2VzIHZpZWlsbGVzIGRlIHBsdXMgZCYjMDM5O3VuIG1vaXMnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnU3VwcHJpbWVyIHRvdXRlcyBsZXMgZW50ciZlYWN1dGU7ZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3ImbmJzcDs/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnVW4gY29kZSBpbnZhbGlkZSBhICZlYWN1dGU7dCZlYWN1dGU7IGVudHImZWFjdXRlOywgdmV1aWxsZXogciZlYWN1dGU7ZXNzYXllcic7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnTGUgY29kZSB0ZW1wb3JhaXJlIHBvdXIgdm90cmUgaWQgdXRpbGlzYXR1ZXIgbiYjMDM5O2EgcGFzIHB1ICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOyBkYW5zIGxhIGJhc2UgZGUgZG9ubiZlYWN1dGU7ZXMnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdHYWJhcml0IHV0aWxpcyZlYWN1dGU7IHBvdXIgYWZmaWNoZXIgbGUgZm9ybXVsYWlyZSBkZSB2JmVhY3V0ZTtyaWZpY2F0aW9uJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdHYWJhcml0IHV0aWxpcyZlYWN1dGU7IHBvdXIgbCYjMDM5O2VtYWlsIGVudm95JmVhY3V0ZTsgbG9ycyBkZSBsJiMwMzk7b3VibGkgZHUgbW90IGRlIHBhc3NlJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdVbmUgZGVtYW5kZSBkZSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkZSBtb3QgZGUgcGFzc2UgYSAmZWFjdXRlO3QmZWFjdXRlOyBzb3VtaXNlIHBvdXIgY2UgY29tcHRlLCBzb2l0IHBhciB2b3VzLW0mZWNpcmM7bWUsIHNvaXQgcGFyIHF1ZWxxdSYjMDM5O3VuIGQmIzAzOTthdXRyZS4gViZlYWN1dGU7cmlmaWV6IHZvdHJlIGVtYWlsLCB2b3VzIHkgdHJvdXZlcmV6IGxlcyBpbnN0cnVjdGlvbnMgcG91ciBsYSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkZSB2b3RyZSBtb3QgZGUgcGFzc2UuJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJldXIgZGUgYmFzZSBkZSBkb25uJmVhY3V0ZTtlcyc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdWb3VzIHJlY2V2ZXogY2UgbWVzc2FnZSBjYXIgcXVlbHF1JiMwMzk7dW4gbm91cyBhIGRpdCBxdWUgdm91cyBhdmlleiBwZXJkdSB2b3RyZSBtb3QgZGUgcGFzc2UuIFNpIGMmIzAzOTtlc3QgbGUgY2FzLCBsaXNleiBsZXMgaW5zdHJ1Y3Rpb25zIGNpLWRlc3NvdXMuIFNpIHZvdXMgbmUgc2F2ZXogcGFzIGRlIHF1b2kgaWwgcyYjMDM5O2FnaXQsIHZvdXMgcG91dmV6IHNpbXBsZW1lbnQgZWZmYWNlciBjZSBtZXNzYWdlLiBOb3VzIHZvdXMgcmVtZXJjaW9ucy4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RlICc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdMZSBjb2RlIHN1aXZhbnQgYSAmZWFjdXRlO3QmZWFjdXRlOyBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsgYXUgaGFzYXJkIHBvdXIgbGEgdiZlYWN1dGU7cmlmaWNhdGlvbiBkdSBjb21wZSB1dGlsaXNhdGV1ci4gTG9yc3F1ZSB2b3VzIGNsaXF1ZXJleiBzdXIgbGUgbGllbiBjaS1kZXNzb3VzLCB2b3VzIHRyb3V2ZXJleiB1biBjaGFtcCBkYW5zIGxlcXVlbCBlbnRyZXIgY2UgY29kZS4gTm9ybWFsZW1lbnQsIGNlIGNoYW1wIGVzdCByZW1wbGkgcG91ciB2b3VzLCBtYWlzIGRhbnMgbGUgY2FzIGNvbnRyYWlyZSwgbGUgY29kZSBlc3QmbmJzcDs6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnTGUgbGllbiBzdWl2YW50IHZvdXMgYW0mZWdyYXZlO25lIGF1IHNpdGUgbyZ1Z3JhdmU7IHZvdXMgcG91dmV6IGVudHJlciBsZSBjb2RlIGNpLWRlc3N1cywgZXQgciZlYWN1dGU7aW5pdGlhbGlzZXIgdm90cmUgbW90IGRlIHBhc3NlJm5ic3A7Oic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnTW90IGRlIHBhc3NlIG91YmxpJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdMZSBtb2R1bGUgQ01TTWFpbGVyIG4mIzAzOTthIHBhcyAmZWFjdXRlO3QmZWFjdXRlOyB0cm91diZlYWN1dGU7JzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ1VuIGVtYWlsIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgZW52b3kmZWFjdXRlOyAmYWdyYXZlOyAlcyBhdmVjIGxlcyBpbnN0cnVjdGlvbnMgcG91ciBsYSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkdSBtb3QgZGUgcGFzc2UuIE1lcmNpJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnU2kgdm91cyBhdmV6IG91YmxpJmVhY3V0ZTsgdm90cmUgbW90IGRlIHBhc3NlLCB2ZXVpbGxleiBlbnRyZXIgdm90cmUgaWRlbnRpZmlhbnQgaWNpLCBldCBzaSBub3VzIGxlIHRyb3V2b25zLCB2b3VzIHJlY2V2cmV6IHVuIGVtYWlsIGF2ZWMgbGVzIGluc3RydWN0aW9ucyBwb3VyIGxhIHImZWFjdXRlO2luaXRpYWxpc2F0aW9uIGR1IG1vdCBkZSBwYXNzZS4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdHYWJhcml0IHBvdXIgbCYjMDM5O291YmxpIGR1IG1vdCBkZSBwYXNzZSc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdHYWJhcml0IHBvdXIgbGEgciZlYWN1dGU7Y3VwJmVhY3V0ZTtyYXRpb24gZGUgbCYjMDM5O2lkZW50aWZpYW50JzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0xhIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7ICVzIG4mIzAzOTthIHBhcyAmZWFjdXRlO3QmZWFjdXRlOyB0cm91diZlYWN1dGU7ZSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAncHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIHRyb3V2JmVhY3V0ZTtlcyc7CiRsYW5nWydhZGRwcm9wJ10gPSAnQWpvdXRlciB1bmUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1VuIGNoYW1wIHJlcXVpcyAoJXMpIGVzdCB2aWRlJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnVmV1aWxsZXogZW50cmVyIGljaSB1biBub3V2ZWF1IG1vdCBkZSBwYXNzZSc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ1ZvdXMgbmUgc2VtYmxleiBwYXMgJmVjaXJjO3RyZSBjb25uZWN0JmVhY3V0ZTsnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ1BhcmFtJmVncmF2ZTt0cmVzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnRW5yZWdpc3RyZW1lbnQnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdDZSBjb21wdGUgZXN0IHAmZWFjdXRlO3JpbSZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdGb3JtYXQgZCYjMDM5O2FkcmVzc2UgZW1haWwgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdEYXRlIGQmIzAzOTtleHBpcmF0aW9uIGludmFsaWRlLiBFc3NheWV6IGF2ZWMgYW5uJmVhY3V0ZTtlIGFudCZlYWN1dGU7cmlldXJlJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdJbCB5IGEgZXUgdW5lIGVycmV1ciBsb3JzIGRlIGxhIGQmZWFjdXRlO2Zpbml0aW9uICVzIHBvdXIgbCYjMDM5O3V0aWxpc2F0ZXVyICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnaWQgZGUgZ3JvdXBlICVzIGludmFsaWRlJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWFycXVldXIgZGUgY2hhbXAgY2FjaCZlYWN1dGU7Jm5ic3A7JzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdDb3VsZXVyIGRlIGNoYW1wIGNhY2gmZWFjdXRlOyZuYnNwOyc7CiRsYW5nWydoaWRkZW4nXSA9ICdDYWNoJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1VuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkdSBtJmVjaXJjO21lIG5vbSBlc3QgZCZlYWN1dGU7aiZhZ3JhdmU7IGQmZWFjdXRlO2ZpbmllJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0F1Y3VuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkJmVhY3V0ZTtmaW5pZSc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ0F1Y3VuIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IG4mIzAzOTthICZlYWN1dGU7dCZlYWN1dGU7IHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTtlIHBvdXIgY2UgZ3JvdXBlJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnQXVjdW4gZ3JvdXBlIGQmZWFjdXRlO2ZpbmknOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cGVzIHRyb3V2JmVhY3V0ZTtzJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdMJiMwMzk7YXBwYXJ0ZW5hbmNlICZhZ3JhdmU7IGF1IG1vaW5zIHVuIGdyb3VwZSBlc3QgcmVxdWlzZSc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnUmVxdWllcnQgbCYjMDM5O2FwcGFydGVuYW5jZSAmYWdyYXZlOyBhdSBtb2lucyB1biBncm91cGUmbmJzcDsnOwokbGFuZ1snYmFjayddID0gJ1JldG91cic7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgZXN0IHVuIGNoYW1wIHJlcXVpcyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFycXVldXIgZGUgY2hhbXBzIHJlcXVpcyZuYnNwOyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdNaXNlIGVuICZlYWN1dGU7dmlkZW5jZSBkZXMgY2hhbXBzIHJlcXVpcyBlbiZuYnNwOyc7CiRsYW5nWyduZXh0J10gPSAnUHJvY2hhaW4nOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdVbiBncm91cGUgZHUgbSZlY2lyYzttZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydyZXF1aXJlZCddID0gJ0NoYW1wIHJlcXVpcyc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmVsJzsKJGxhbmdbJ29mZiddID0gJ0QmZWFjdXRlO3NhY3RpdiZlYWN1dGU7JzsKJGxhbmdbJ3NpemUnXSA9ICdUYWlsbGUnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihUYWlsbGUgbWF4aW1hbGUgZCYjMDM5O3VuZSBkZXMgZGltZW5zaW9ucyBkZSBsJiMwMzk7aW1hZ2UgZW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMb25ndWV1cic7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihjYXJhY3QmZWdyYXZlO3JlcyBkYW5zIGxlIGNoYW1wIHRleHRlKSc7CiRsYW5nWydzZWxvcHRpb25zJ10gPSAnT3B0aW9ucyBtZW51IGQmZWFjdXRlO3JvdWxhbnQsIHMmZWFjdXRlO3BhciZlYWN1dGU7ZXMgcGFyIGRlcyByZXRvdXJzICZhZ3JhdmU7IGxhIGxpZ25lJzsKJGxhbmdbJ3Byb21wdCddID0gJ0ludml0ZSc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlICc7CiRsYW5nWydmaWVsZHN0YXR1cyddID0gJ1N0YXR1dCBkdSBjaGFtcCc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdEZW1hbmRlIGxvcnMgZGUgbGEgciZlYWN1dGU7Y3VwJmVhY3V0ZTtyYXRpb24gZGU8YnIvPmwmIzAzOTtpZGVudGlmaWFudCc7CiRsYW5nWyd0ZXh0J10gPSAnVGV4dGUnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDYXNlICZhZ3JhdmU7IGNvY2hlcic7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ0xpc3RlIG11bHRpLXMmZWFjdXRlO2xlY3Rpb24nOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSAnOwokbGFuZ1snZW1haWwnXSA9ICdBZHJlc3NlIGVtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEgJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVudSBkJmVhY3V0ZTtyb3VsYW50JzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnQmllbnZlbnVlJzsKJGxhbmdbJ2xvZ291dCddID0gJ0QmZWFjdXRlO2Nvbm5leGlvbic7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnVXRpbGlzZXIgbGUgbm9tIGRlIGNlIGdyb3VwZSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdDaGFuZ2VtZW50IGRlIE1lcyBQYXJhbSZlZ3JhdmU7dHJlcyc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0xhIGNvbm5leGlvbiBhICZlYWN1dGU7Y2hvdSZlYWN1dGU7IC0gaWRlbnRpZmlhbnQgb3UgbW90IGRlIHBhc3NlIGludmFsaWRlJm5ic3A7Pyc7CiRsYW5nWydsb2dpbiddID0gJ1MmIzAzOTtlbnJlZ2lzdHJlcic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ1RleHRlIGR1IGJvdXRvbiBkZSBjb25uZXhpb24mYW1wO25ic3AnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnSWRlbnRpZmlhbnQnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnQWRyZXNzZSBlbWFpbCc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdNb3QgZGUgcGFzc2UnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdNZSBtJmVhY3V0ZTttb3Jpc2VyIHN1ciBjZXQgb3JkaW5hdGV1cic7CiRsYW5nWydyZWdpc3RlciddID0gJ3MmIzAzOTtlbnJlZ2lzdHJlcic7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0F2ZXotdm91cyBvdWJsaSZlYWN1dGU7IHZvdHJlIG1vdCBkZSBwYXNzZSZuYnNwOz8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnQXZlei12b3VzIG91YmxpJmVhY3V0ZTsgdm9zIGQmZWFjdXRlO3RhaWxzIGQmIzAzOTtpZGVudGlmaWNhdGlvbiZuYnNwOz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdQYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ0dhYmFyaXQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSUQgdXRpbGlzYXRldXIgbm9uIHRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0NldCBpZGVudGlmaWFudCAoJXMpIGV4aXN0ZSBkJmVhY3V0ZTtqJmFncmF2ZTsnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1V0aWxpc2VyIFNNVFAgcG91ciBsYSB2YWxpZGF0aW9uIGRlcyBhZHJlc3NlcyBlbWFpbCZuYnNwOz8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTG9uZ3VldXIgbWluaW1hbGUgZHUgbW90IGRlIHBhc3NlJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ0xvbmd1ZXVyIG1heGltYWxlIGR1IG1vdCBkZSBwYXNzZSZuYnNwOyc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdMb25ndWV1ciBtaW5pbWFsZSBkZSBsJiMwMzk7aWRlbnRpZmlhbnQmbmJzcDsnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTG9uZ3VldXIgbWF4aW1hbGUgZGUgbCYjMDM5O2lkZW50aWZpYW50Jm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ0V4cGlyYXRpb24gZGUgc2Vzc2lvbiAoc2Vjb25kZXMpJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVdGlsaXNlciBsZXMgY29va2llcyBwb3VyIGdhcmRlciBsZXMgY29ubmV4aW9ucyBhY3RpdmVzJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnQXV0b3Jpc2UgbCYjMDM5O2VucmVnaXN0cmVtZW50IHBhciBlbWFpbCc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnR3JvdXBlIHBhciBkJmVhY3V0ZTtmYXV0IHBvdXIgbGVzIG5vdXZlYXV4IHV0aWxpc2F0ZXVycyZuYnNwOyc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcG91ciBsZSBjaGFuZ2VtZW50IGRlcyBwYXJhbSZlZ3JhdmU7dHJlcyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnTGVzIG1vdHMgZGUgcGFzc2UgbmUgY29uY29yZGVudCBwYXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnSWRlbnRpZmlhbnQgbm9uIHZhbGlkZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdNb3QgZGUgcGFzc2Ugbm9uIHZhbGlkZSc7CiRsYW5nWydlZGl0dXNlciddID0gJyZFYWN1dGU7ZGl0ZXIgbCYjMDM5O3V0aWxpc2F0ZXVyJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnVmFsaWRlJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnSWRlbnRpZmlhbnQnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHV0JzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ0NldCB1dGlsaXNhdGV1ciBuJiMwMzk7ZXN0IG1lbWJyZSBkJiMwMzk7YXVjdW4gZ3JvdXBlJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdBdWN1bmUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdUZW50ZSBkJiMwMzk7aW1wb3J0ZXIgZGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyAmYWdyYXZlOyBkb3VibGUnOwokbGFuZ1sndmFsdWUnXSA9ICdWYWxldXInOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvdXBlcyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnUHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnTm9tIGRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1ZhbGV1ciBkZSBsYSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyc7CiRsYW5nWydhZGQnXSA9ICdBam91dGVyJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3JpcXVlJzsKJGxhbmdbJ2VkaXQnXSA9ICcmRWFjdXRlO2RpdGVyJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmUnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnU3AmZWFjdXRlO2NpZmlleiB1bmUgZGF0ZSc7CiRsYW5nWycxMmhycyddID0gJzEyIGhldXJlcyc7CiRsYW5nWycyNGhycyddID0gJzI0IGhldXJlcyc7CiRsYW5nWyc0OGhycyddID0gJzQ4IGhldXJlcyc7CiRsYW5nWycxd2VlayddID0gJzEgc2VtYWluZSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIHNlbWFpbmVzJzsKJGxhbmdbJzFtb250aCddID0gJzEgbW9pcyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBtb2lzJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IG1vaXMnOwokbGFuZ1snMXllYXInXSA9ICcxIGFuJzsKJGxhbmdbJ25ldmVyJ10gPSAnSmFtYWlzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ0xlIG1vZHVsZSBhICZlYWN1dGU7dCZlYWN1dGU7IGluc3RhbGwmZWFjdXRlOyBhdmVjIHN1Y2MmZWdyYXZlO3MuPGJyLz5Bc3N1cmV6LXZvdXMgZGUgZCZlYWN1dGU7ZmluaXIgbGEgcGVybWlzc2lvbiAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMmcXVvdDsuIERlIHBsdXMsIG5vdXMgdm91cyByZWNvbW1hbmRvbnMgZCYjMDM5O2luc3RhbGxlciBsZSBtb2R1bGUgQ2FwdGNoYS4gTG9yc3F1ZSBjZSBjZWx1aS1jaSBlc3QgaW5zdGFsbCZlYWN1dGU7LCBsYSB2YWxpZGF0aW9uIGRlIGwmIzAzOTtpbWFnZSBjYXB0Y2hhIHNlcmEgcmVxdWlzZSBwb3VyIHNlIGNvbm5lY3RlciwgZW4gcGx1cyBkZSBsJiMwMzk7aWRlbnRpZmlhbnQgZXQgZHUgbW90IGRlIHBhc3NlLiBDZWNpIGVzdCBjb25zZWlsbCZlYWN1dGU7IHBvdXIgJmVhY3V0ZTt2aXRlciBsZXMgYXR0YXF1ZXMNCg0KPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBMZSBwYXJhbSZlZ3JhdmU7dHJlIG5vY2FwdGNoYSBwZXV0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBkJmVhY3V0ZTtzYWN0aXZlciBjZXR0ZSBmb25jdGlvbiBtJmVjaXJjO21lIGxvcnNxdWUgbGUgbW9kdWxlIENhcHRjaGEgZXN0IGluc3RhbGwmZWFjdXRlOyc7CiRsYW5nWydwYXNzd29yZCddID0gJ01vdCBkZSBwYXNzZSc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0VuY29yZSc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnVW4gZ3JvdXBlIGR1IG0mZWNpcmM7bWUgbm9tIGV4aXN0ZSBkJmVhY3V0ZTtqJmFncmF2ZTsnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnJkVhY3V0ZTtkaXRlciBsZSBncm91cGUnOwokbGFuZ1snc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1N1cHByaW1lcic7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgcXVlIGNldHRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7IGVzdCBjb3JyZWN0ZSBwb3VyIGNlIGdyb3VwZSZuYnNwOz9cbkQmZWFjdXRlO3NhY3RpdmVyIHVuZSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBuJiMwMzk7ZWZmYWNlcmEgcGFzIGxlcyBlbnRyJmVhY3V0ZTtlcyBkYW5zIGxhIHRhYmxlIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgcG91ciBjZSBncm91cGUvdXRpbGlzYXRldXIuIFRvdXQgYXUgcGx1cywgbGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBuZSBzZXJvbnQgcGFzIGRpc3BvbmlibGVzLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBncm91cGUmbmJzcDs/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgY29tcGwmZWdyYXZlO3RlbWVudCBzdXBwcmltZXIgY2V0dGUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTs/XG5DZWxhIHN1cHByaW1lcmEgdG91dGVzIGxlcyBlbnRyJmVhY3V0ZTtlcyBwb3VyIGNldHRlIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1BhcmFtJmVncmF2ZTt0cmVzIGluc3VmZmlzYW50cyc7CiRsYW5nWydpZCddID0gJ0lkICc7CiRsYW5nWyduYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmwmZWdyYXZlO21lIGxvcnMgZGUgbCYjMDM5O2Fqb3V0IGQmIzAzOTt1bmUgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsJmVncmF2ZTttZSBsb3JzIGRlIGwmIzAzOTtham91dCBkJiMwMzk7dW5lIHJlbGF0aW9uIGRlIGdyb3VwZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibCZlZ3JhdmU7bWUgbG9ycyBkZSBsJiMwMzk7YWpvdXQgZCYjMDM5O3VuIGdyb3VwZSc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsJmVncmF2ZTttZSBsb3JzIGRlIGwmIzAzOTtham91dCBkJiMwMzk7dW4gdXRpbGlzYXRldXIgJmFncmF2ZTsgdW4gZ3JvdXBlJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibCZlZ3JhdmU7bWUgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkJiMwMzk7dW5lIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnSW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuZSBhZHJlc3NlIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdQYXMgZCYjMDM5O2FjYyZlZ3JhdmU7cyBlbiAmZWFjdXRlO2NyaXR1cmUgZGFucyBsZSBkb3NzaWVyIGRlIGRlc3RpbmF0aW9uJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBub24gdmFsaWRlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0F1Y3VuIGdyb3VwZSB0cm91diZlYWN1dGU7JzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBwbGlxdWVyJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRyZSZuYnNwOyc7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnSWRlbnRpZmlhbnQgKGV4cHJlc3Npb24gciZlYWN1dGU7Z3VsaSZlZ3JhdmU7cmUpJm5ic3A7JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24gJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ05vbSBkdSBncm91cGUnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjJmVncmF2ZTtzIHJlZnVzJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJldXInOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdBam91dGVyIHVuIGdyb3VwZSc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGVyIGxlIGdyb3VwZSc7CiRsYW5nWydhZGR1c2VyJ10gPSAnQWpvdXRlciB1biB1dGlsaXNhdGV1cic7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRpbGlzYXRldXJzIHRyb3V2JmVhY3V0ZTtzJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvdXBlJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnUyZlYWN1dGU7bGVjdGlvbm5lciBsZSBncm91cGUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkJiMwMzk7ZW5yZWdpc3RyZW1lbnQnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSBkJmVhY3V0ZTtjb25uZXhpb24nOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdHYWJhcml0IGRlIGNvbm5leGlvbic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMnOwokbGFuZ1sndXNlcnMnXSA9ICdVdGlsaXNhdGV1cnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnR2VzdGlvbiBkZXMgdXRpbGlzYXRldXJzIGR1IHNpdGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdHJmVncmF2ZTtyZSBsZXMgdXRpbGlzYXRldXJzIGR1IHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1BhZ2UgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0Rlcm5pJmVncmF2ZTtyZSBwYWdlIGFjYyZlYWN1dGU7ZCZlYWN1dGU7ZSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdBdXRyZSBwYWdlJm5ic3A7Oic7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmV1aWxsZXogZW50cmVyIGxlIHRleHRlIGRlIGwmIzAzOTtpbWFnZSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPkNlIG1vZHVsZSBwZXJtZXQgbGEgZ2VzdGlvbiBldCBsJiMwMzk7YWRtaW5pc3RyYXRpb24gZGVzIHV0aWxpc2F0ZXVycyBkdSBzaXRlIHN1ciBsYSBwYXJ0aWUgcHVibGlxdWUgPGk+KHV0aWxpc2F0ZXVycyBxdWkgbiYjMDM5O29udCBwYXMgYWNjJmVncmF2ZTtzIGF1IHBhbm5lYXUgZCYjMDM5O2FkbWluaXN0cmF0aW9uKTwvaT4uIElsIHBlcm1ldCBsYSBjciZlYWN1dGU7YXRpb24gZGUgZ3JvdXBlcyBkJiMwMzk7dXRpbGlzYXRldXJzLCBkZSBjb21wdGVzIHV0aWxpc2F0ZXVyLCBldCBwZXJtZXQgYXV4IHV0aWxpc2F0ZXVycyBkZSBzZSBjb25uZWN0ZXIgZXQgc2UgZCZlYWN1dGU7Y29ubmVjdGVyLiBJbCBwZXV0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgYXZlYyBsZSBtb2R1bGUgQ3VzdG9tQ29udGVudCBwb3VyIGFmZmljaGVyIGR1IGNvbnRlbnUgZGlmZiZlYWN1dGU7cmVudCBzZWxvbiBsZXMgdXRpbGlzYXRldXJzLCB1bmUgZm9pcyBxdSYjMDM5O2lscyBzb250IGNvbm5lY3QmZWFjdXRlO3MuPC9wPg0KPGgzPkZvbmN0aW9ubmFsaXQmZWFjdXRlO3M8L2gzPg0KPHVsPg0KPGxpPjxwPkV4cGlyYXRpb24gZHUgY29tcHRlIHV0aWxpc2F0ZXVyLiAgVm91cyBwb3V2ZXogY3ImZWFjdXRlO2VyIGRlcyB1dGlsaXNhdGV1cnMgdGVtcG9yYWlyZXM8L3A+PC9saT4NCjxsaT48cD5Qcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MgZGUgZ3JvdXBlLiAgVm91cyBwb3V2ZXogZGVtYW5kZXIgZGVzIGluZm9ybWF0aW9ucyBkaWZmJmVhY3V0ZTtyZW50ZXMgYXV4IG1lbWJyZXMgZGUgZGlmZiZlYWN1dGU7cmVudHMgZ3JvdXBlczwvcD48L2xpPg0KPGxpPjxwPlBldXQgZyZlYWN1dGU7cmVyIGRlcyBjZW50YWluZXMgZCYjMDM5O3V0aWxpc2F0ZXVyczwvcD48L2xpPg0KPGxpPjxwPkNvbnRpZW50IHVuZSBBUEkgJmVhY3V0ZTt0ZW5kdWUsIHBvdXIgbCYjMDM5O2Fqb3V0IGRlIGZvbmN0aW9ubmFsaXQmZWFjdXRlO3M8L3A+PC9saT4NCjwvdWw+DQo8aDM+Q29tbWVudCBsJiMwMzk7dXRpbGlzZXIgPzwvaDM+DQo8dWw+DQo8bGk+PHA+QXByJmVncmF2ZTtzIGluc3RhbGxhdGlvbiwgdm91cyBwb3V2ZXogYWNjJmVhY3V0ZTtkZXIgYXUgbW9kdWxlIEZyb250RW5kVXNlcnMgcGFyIGxlIHBhbm5lYXUgZCYjMDM5O2FkbWluaXN0cmF0aW9uIHNvdXMgbGUgbWVudSAmcXVvdDtHcm91cGVzICZhbXA7IFV0aWxpc2F0ZXVycyZxdW90Oy48L3A+PC9saT4NCjxsaT4NCjxwPkRldXhpJmVncmF2ZTttZW1lbnQsIHZvdXMgZGV2cmV6IGQmZWFjdXRlO2ZpbmlyIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MuIExlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3Mgc29udCBlc3NlbnRpZWxsZW1lbnQgZGVzIGQmZWFjdXRlO2Zpbml0aW9ucyBkZSBjaGFtcCwgdm91cyBwb3V2ZXogaWNpIGQmZWFjdXRlO2ZpbmlyIGxlIHR5cGUgZCYjMDM5O2luZm9ybWF0aW9uIHF1ZSB2b3VzIGQmZWFjdXRlO3NpcmV6IGNvbGxlY3RlciwgZXQgbGVzIGxpbWl0ZXMuIHAuZXguIE5vbSwgQWdlLCBWaWxsZSwgRCZlYWN1dGU7cGFydGVtZW50LCBQYXlzLCBBZHJlc3NlIGVtYWlsLCBldGMuIDwvcD4NCjxwPjxiPk5vdGU6PC9iPiBWb3VzIG4mIzAzOTthdmV6IHBhcyBiZXNvaW4gZGUgZCZlYWN1dGU7ZmluaXIgbGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBkZSBsJiMwMzk7aWRlbnRpZmlhbnQgZXQgZHUgbW90IGRlIHBhc3NlLCBpbHMgc29udCBjciZlYWN1dGU7JmVhY3V0ZTtzIHBvdXIgdm91cy48L2I+DQo8L2xpPg0KPGxpPjxwPkVuc3VpdGUsIHZvdXMgZGV2cmV6IGNyJmVhY3V0ZTtlciB1biBvdSBwbHVzaWV1cnMgbm9tKHMpIGRlIGdyb3VwZS4gUXVhbmQgdm91cyBjciZlYWN1dGU7ZXogdW4gZ3JvdXBlLCB2b3VzIGRldmV6IGVudHJlciB1biBub20gZGUgZ3JvdXBlLCB1bmUgZGVzY3JpcHRpb24gZXQgZGV2ZXogYXNzb2NpZXIgZGVzIHByb3ByaSZlYWN1dGU7dCZlYWN1dGU7cyBhdSBncm91cGUsIHNwJmVhY3V0ZTtjaWZpZXIgbCYjMDM5O29yZHJlIGRlcyBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlO3MsIHNpIGNlbGxlcy1jaSBzb250IG9wdGlvbm5lbGxlcywgcmVxdWlzZXMgb3UgZGUgY2hhbXAgY2FjaCZlYWN1dGU7PGk+KG9mZiBlc3QgYXVzc2kgdmFsaWRlKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlIDo8L2I+IEF2YW50IGRlIGNvbnRpbnVlciwgdmV1aWxsZXogdm91cyBhc3N1cmVyIHF1ZSBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBzb250IGQmZWFjdXRlO2ZpbmllcyBjb3JyZWN0ZW1lbnQuPC9wPjwvbGk+DQo8bGk+PHA+VHJvaXNpJmVncmF2ZTttZW1lbnQsIGNyJmVhY3V0ZTtleiBsZXMgdXRpbGlzYXRldXJzLiBMJiMwMzk7YWpvdXQgZCYjMDM5O3V0aWxpc2F0ZXVyIGVzdCB1biBwcm9jZXNzdXMgZW4gZGV1eCB0ZW1wcy4gUXVhbmQgdm91cyBjciZlYWN1dGU7ZXogdW4gdXRpbGlzYXRldXIsIHZvdXMgZGV2ZXogZW50cmVyIHVuIGlkZW50aWZpYW50IGV0IHVuIG1vdCBkZSBwYXNzZSwgYWluc2kgcXUmIzAzOTt1bmUgZGF0ZSBkJiMwMzk7ZXhwaXJhdGlvbi4gVm91cyBkZXZleiBlbnN1aXRlIHMmZWFjdXRlO2xlY3Rpb25uZXIgbGUgb3UgbGVzIGdyb3VwZShzKSBhdSh4KXF1ZWwocykgY2V0IHV0aWxpc2F0ZXVyIGFwcGFydGllbmRyYSwgcHVpcyBjbGlxdWVyIHN1ciBcJiMwMzk7U3VpdmFudFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZSA6IDwvZW0+Q2VjaSBlc3QgdW4gdHJhdmFpbCBsb25nIGV0IGxhYm9yaWV1eCwgaWwgZXN0IHBsdXMgZmFjaWxlIGRlIGxhaXNzZXIgbGVzIHV0aWxpc2F0ZXVycyBzJiMwMzk7ZW5yZWdpc3RyZXIgZXV4LW0mZWNpcmM7bWVzLiBQdWlzIHZvdXMgcG91dmV6ICZlYWN1dGU7ZGl0ZXIgbGV1ciBncm91cGUgZCYjMDM5O2FwcGFydGVuYW5jZS4gQ2VwZW5kYW50LCBjciZlYWN1dGU7ZXogYXUgbW9pbnMgdW4gdXRpbGlzYXRldXItdGVzdC48L3A+PC9saT4NCjxsaT48cD5FbmZpbiwgYXByJmVncmF2ZTtzIHF1ZSBsZSBzeXN0JmVncmF2ZTttZSBhaXQgZCZlYWN1dGU7dGVybWluJmVhY3V0ZTsgdG91cyBsZXMgY2hhbXBzICZhZ3JhdmU7IHByJmVhY3V0ZTtzZW50ZXIgJmFncmF2ZTsgbCYjMDM5O3V0aWxpc2F0ZXVyLCB2b3VzIHZlcnJleiB1biBmb3JtdWxhaXJlIHF1aSB2b3VzIGRlbWFuZGVyYSBkZSBkJmVhY3V0ZTtmaW5pciB0b3VzIGxlcyBjaGFtcHMgb2JsaWdhdG9pcmVzLiBSZW1wbGlzc2V6IGNlIGZvcm11bGFpcmUgcG91ciB0ZXJtaW5lciBsJiMwMzk7YWpvdXQgZGUgbCYjMDM5O3V0aWxpc2F0ZXVyLjwvcD48L2xpPg0KPGxpPjxwPlZvdXMgJmVjaXJjO3RlcyBtYWludGVuYW50IHByJmVjaXJjO3QgJmFncmF2ZTsgYWpvdXRlciBsYSBmb25jdGlvbiBhdXggcGFnZXMgZGUgdm90cmUgc2l0ZS4gQyYjMDM5O2VzdCB0ciZlZ3JhdmU7cyBzaW1wbGUsIGFqb3V0ZXogbGEgYmFsaXNlIFNtYXJ0eSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gJmFncmF2ZTsgdm90cmUgcGFnZSBvdSBnYWJhcml0PC9wPjwvbGk+DQo8L3VsPg0KDQo8aDM+U21hcnR5IEZ1bmN0aW9uczwvaDM+DQo8cD5Tb21lIGxpbWl0ZWQgaW50ZXJhY3Rpb24gd2l0aCB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZGF0YWJhc2UgaXMgcG9zc2libGUgd2l0aCBzbWFydHkgYW5kIHRoZSAkZmV1X3NtYXJ0eSBvYmplY3QuPC9wPg0KPGg0PkZ1bmN0aW9uczo8L2g0Pg0KPHVsPg0KPGxpPjxzdHJvbmc+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgkZ3JvdXBuYW1lLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhbiBhcnJheSBvZiB1c2VybmFtZXMgYW5kIHVzZXJpZHMgZm9yIGFsbCB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwLiAgVGhlIG91dHB1dCBpcyBhc3NpZ25lZCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgaW4gdGhlICZhbXA7cXVvdDthc3NpZ24mYW1wO3F1b3Q7IHBhcmFtZXRlci48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgmIzAzOTttZW1iZXJzJiMwMzk7LCYjMDM5O215bWVtYmVycyYjMDM5Oyl9PGJyLz57JG15bWVtYmVyc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPjxzdHJvbmc+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJfcHJvcGVydGllcygkdWlkLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhIGxpc3Qgb2YgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCB1c2VyIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJfcHJvcGVydGllcyg1LCYjMDM5O3VzZXJwcm9wcyYjMDM5Oyl9PGJyLz57JHVzZXJwcm9wc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+Q2UgbW9kdWxlIG5lIGNvbnRpZW50IGF1Y3VuIHN1cHBvcnQgY29tbWVyY2lhbC4gQ2VwZW5kYW50LCBjZXMgcmVzc291cmNlcyBzb250IGRpc3BvbmlibGVzIHBvdXIgdm91cyBhaWRlciZuYnNwOzo8L3A+DQo8dWw+DQo8bGk+UG91ciBsYSBkZXJuaSZlZ3JhdmU7cmUgdmVyc2lvbiBkZSBjZSBtb2R1bGUsIGxlcyBGQVFzLCBvdSBwb3VyIGFubm9uY2VyIHVuIGJ1Zywgb3UgcG91ciBhY2hldGVyIGR1IHN1cHBvcnQgY29tbWVyY2lhbCwgdmV1aWxsZXogdmlzaXRlciBsZSBzaXRlIGRlIGNhbGd1eSA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+RGVzIGRpc2N1c3Npb25zIGNvbXBsJmVhY3V0ZTttZW50YWlyZXMgcmVsYXRpdmVzICZhZ3JhdmU7IGNlIG1vZHVsZSBwZXV2ZW50IGF1c3NpICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlO2VzIHN1ciBsZXMgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIiB0YXJnZXQ9Il9ibGFuayI+Rm9ydW1zIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5MJiMwMzk7YXV0ZXVyLCBjYWxndXkxMDAwLCBlc3Qgc291dmVudCBzdXIgSVJDIHN1ciBjYW5hbCAjY21zOiBpcmMuZnJlZW5vZGUubmV0LyNjbXM8L2xpPg0KPGxpPkV0IGVuZmluLCB2b3VzIHBvdXZleiByZW5jb250cmVyIHVuIGNlcnRhaW4gc3VjYyZlZ3JhdmU7cyBlbiBlbnZveWFudCB1biBlbWFpbCBkaXJlY3RlbWVudCAmYWdyYXZlOyBsJiMwMzk7YXV0ZXVyLjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW0mZWdyYXZlO3RyZXM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uZWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm11bGFpcmVzOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIEFmZmljaGUgbGUgZm9ybXVsYWlyZSBkZSBjb25uZXhpb248L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBBZmZpY2hlIGxlIGZvcm11bGFpcmUgZGUgZCZlYWN1dGU7Y29ubmV4aW9uPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBBZmZpY2hlIGxlIGZvcm11bGFpcmUgZGUgY2hhbmdlbWVudCBkZSBwYXJhbSZlZ3JhdmU7dHJlczwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gQWZmaWNoZSBsZSBmb3JtdWxhaXJlIGQmIzAzOTtvdWJsaSBkZSBtb3QgZGUgcGFzc2U8L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IE4mIzAzOTthZmZpY2hlIHJpZW4sIG1haXMgZXhwb3J0ZSBsZXMgcHJvcHJpJmVhY3V0ZTt0JmVhY3V0ZTtzIGV0IGF1dHJlcyB2YXJpYWJsZXMgc21hcnR5IHBvdXIgbCYjMDM5O3V0aWxpc2F0ZXVyIGNvbm5lY3QmZWFjdXRlOy4gU2kgYXVjdW4gdXRpbGlzYXRldXIgbiYjMDM5O2VzdCBjb25uZWN0JmVhY3V0ZTssIGF1Y3VuZSB2YXJpYWJsZSBuJiMwMzk7ZXN0IGV4cG9ydCZlYWN1dGU7ZS48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmVsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXRpbGlzJmVhY3V0ZTsgYXZlYyBsZXMgZm9ybXVsYWlyZXMgZGUgY29ubmV4aW9uLCBkZSBkJmVhY3V0ZTtjb25uZXhpb24sIGV0IGRlIGNoYW5nZW1lbnQgZGUgcGFyYW0mZWdyYXZlO3RyZXMsIGNlIHBhcmFtJmVncmF2ZTt0cmUgY29udGllbnQgbCYjMDM5O2lkIG91IGwmIzAzOTthbGlhcyBkZSBsYSBwYWdlICZhZ3JhdmU7IGxhcXVlbGxlIHJlZGlyaWdlciBsJiMwMzk7dXRpbGlzYXRldXIgYXByJmVncmF2ZTtzIGwmIzAzOTtlbnZvaSBkdSBmb3JtdWxhaXJlLCBzaSBjZWx1aS1jaSBhICZlYWN1dGU7dCZlYWN1dGU7IHRyYWl0JmVhY3V0ZTsgYXZlYyBzdWNjJmVncmF2ZTtzPC9wPg0KPGxpPjxlbT4ob3B0aW9uZWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5VdGlsaXMmZWFjdXRlO3MgYXZlYyBsZXMgZm9ybXVsYWlyZXMgZGUgY29ubmV4aW9uLiBBdXRvcmlzZSBsZXMgdXRpbGlzYXRldXJzICZhZ3JhdmU7IHNlIGNvbm5lY3RlciBzZXVsZW1lbnQgcyYjMDM5O2lscyBhcHBhcnRpZW5uZW50IGF1eCBncm91cGUocykgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyhzKS48L3A+DQo8bGk+PGVtPihvcHRpb25lbCk8L2VtPiBsb3N0dW5fZ3JvdXA9JnF1b3Q7Z3JvdXAmcXVvdDs8L2xpPg0KPHA+VXRpbGlzJmVhY3V0ZTsgYXZlYyBsZSBmb3JtdWxhaXJlIGxvc3R1c2VybmFtZSwgY2V0dGUgZm9uY3Rpb24gc3AmZWFjdXRlO2NpZmllIGxlIGdyb3VwZSBwb3VyIGFzc3VtZXIgZGUgcXVlbCBncm91cGUgbGVzIHV0aWxpc2F0ZXVycyBzb250IG1lbWJyZXMuLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmVsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlV0aWxpcyZlYWN1dGU7IGF2ZWMgbGVzIGZvcm11bGFpcmVzIGRlIGxvZ2luLiBjZWxhIGQmZWFjdXRlO3NhY3RpdmVyYSBsYSBmb25jdGlvbiBjYXB0Y2hhIHN1ciBsZSBmb3JtdWxhaXJlLiBQYXIgZCZlYWN1dGU7ZmF1dCwgc2kgbGUgbW9kdWxlIENhcHRjaGEgZXN0IGluc3RhbGwmZWFjdXRlOywgdW5lIHZhbGlkYXRpb24gZCYjMDM5O2ltYWdlIENhcHRjaGEgc2VyYSByZXF1aXNlIHBvdXIgc2UgY29ubmVjdGVyLiBDZWNpIGVzdCB1bmUgbWVzdXJlIGRlIHMmZWFjdXRlO2N1cml0JmVhY3V0ZTsgcG91ciAmZWFjdXRlO3ZpdGVyIGxlcyBhdHRhcXVlcyB0eXBlICZxdW90O2JydXRlIGZvcmNlJnF1b3Q7LjwvcD4NCjxsaT48ZW0+KG9wdGlvbmVsbCk8L2VtPiBhY3Rpb249bnVsbDwvbGk+DQo8cD5MZSBzZXVsIHBhcmFtJmVncmF2ZTt0cmUgcG9zc2libGUgZXN0ICAmcXVvdDt2aWV3dXNlciZxdW90OzwvcD4NCjxsaT48ZW0+KG9wdGlvbmVsKTwvZW0+IHVpZD1udWxsPC9saT4NCjxwPnV0aWxpcyZlYWN1dGU7IGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDt2aWV3dXNlciZxdW90Oy4gIENlIHBhcmFtJmVncmF2ZTt0cmUgZXN0IGV4aWcmZWFjdXRlOyBwb3VyIGluZGlxdWVyIGRlIHF1ZWwgdXRpbGlzYXRldXIgcG91ciB2b2lyIGxlcyBkJmVhY3V0ZTt0YWlscy48L3A+DQoNCjwvdWw+DQo8cD5Db25mb3JtJmVhY3V0ZTttZW50ICZhZ3JhdmU7IGxhIGxpY2VuY2UgR1BMLCBjZSBtb2R1bGUgZXN0IGRpc3RyaWJ1JmVhY3V0ZTsgdGVsIHF1ZWwuIFZldWlsbGV6IHZvdXMgciZlYWN1dGU7ZiZlYWN1dGU7cmVyIGRpcmVjdGVtZW50ICZhZ3JhdmU7IGxhIGxpY2VuY2UgcG91ciB0b3V0IGF2aXMgZGUgbm9uIHJlc3BvbnNhYmlsaXQmZWFjdXRlOy48L3A+DQo8aDM+UmVxdWlzPC9oMz4NCjxwPlBvdXIgbCYjMDM5O2ltcGwmZWFjdXRlO21lbnRhdGlvbiBkZSBsYSByJmVhY3V0ZTtpbml0aWFsaXNhdGlvbiBkZSBtb3QgZGUgcGFzc2Ugb3VibGkmZWFjdXRlOywgY2UgbW9kdWxlIHJlcXVpZXJ0IHF1ZSBsZSBtb2R1bGUgQ01TTWFpbGVyIHNvaXQgcHImZWFjdXRlO2FsYWJsZW1lbnQgaW5zdGFsbCZlYWN1dGU7LjwvcD4NCjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBUb3VzIGRyb2l0cyByJmVhY3V0ZTtzZXJ2JmVhY3V0ZTtzLjwvcD4NCjxwPkNlIG1vZHVsZSBlc3QgZGlzdHJpYnUmZWFjdXRlOyBzb3VzIGxhIGxpY2VuY2UgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIiB0YXJnZXQ9Il9ibGFuayI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gVm91cyBkZXZleiBhZ3ImZWFjdXRlO2VyIGF1eCB0ZXJtZXMgZGUgY2V0dGUgbGljZW5jZSBwb3VyIHBvdXZvaXIgdXRpbGlzZXIgY2UgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjI5Mjc3NTY0LjEuMS51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNDIzNjEwMjQ1MjI0ODM1ODQwMC4xMjI5Mjc3NTY0LjEyMjkyNzk2NzkuMTIyOTI4NDkwOC4zJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ01vZGlmaWNhIFVzZXInOwokbGFuZ1snbm9pbmxpbmUnXSA9ICdObyBmb3JtIGlubGluZSc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ1NlIG5vbiByaWNvcmRhdGUgaSBkZXR0YWdsaSBkZWwgdm9zdHJvIGxvZ2luJzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdTZSBub24gcmljb3JkYXRlIGxhIHZvc3RyYSBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ1VzY2l0YSc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnUGVyIG1vZGlmaWNhcmUgbGEgdm9zdHJhIHBhc3N3b3JkIGUgYWx0cmUgaW5mb3JtYXppb25pJzsKJGxhbmdbJ3ZpZXd1c2VyX3RlbXBsYXRlJ10gPSAnVmlzdWFsaXp6YSBpbCBNb2RlbGxvIFVzZXInOwokbGFuZ1snZXZlbnQnXSA9ICdFdmVudG8nOwokbGFuZ1snZmV1X2V2ZW50X25vdGlmaWNhdGlvbiddID0gJ05vdGlmaWNhIGRpIGV2ZW50byBGRVUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnTm90aWZpY2EgZGkgaW5kaXJpenpvIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdNb2RlbGxvIGVtYWlsIGRpIG5vdGlmaWNhJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCddID0gJ09nZ2V0dG8gZGVsbGEgZW1haWwgZGkgbm90aWZpY2EnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmljYXppb25pIHZpYSBFbWFpbCc7CiRsYW5nWydPbkxvZ2luJ10gPSAnQWwgTG9naW4nOwokbGFuZ1snT25Mb2dvdXQnXSA9ICdBbCBMb2dvdXQnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnQWxsYSBTY2FkZW56YSBTZXNzaW9uZSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdBbGxhIENyZWF6aW9uZSBOdW92byBVdGVudGUnOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnQWxsYSBDYW5jZWxsYXppb25lIFV0ZW50ZSc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdBbGxhIE1vZGlmaWNhIEltcG9zdGF6aW9uaSBVdGVudGUnOwokbGFuZ1snT25DcmVhdGVHcm91cCddID0gJ0FsbGEgQ3JlYXppb25lIEdydXBwaSBVdGVudGUnOwokbGFuZ1snT25EZWxldGVHcm91cCddID0gJ0FsbGEgQ2FuY2VsbGF6aW9uZSBHcnVwcGkgVXRlbnRlJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnTGEgZnVuemlvbmFsaXQmYWdyYXZlOyBkZXR0YWdsaSBsb2dpbiBwZXJzbyAmZWdyYXZlOyBzdGF0YSBjb21wbGV0YXRhIGNvcnJldHRhbWVudGUuIEUmIzAzOTsgc3RhdG8gdHJvdmF0byB1biBub21lIHV0ZW50ZSB1bml2b2NvIGNoZSBjb3JyaXNwb25kZSBhaSBkZXR0YWdsaSBpbnNlcml0aS4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ0lsIHZvc3RybyB1c2VybmFtZSAmZWdyYXZlOyc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdSYWNjb21hbmRpYW1vIGRpIHJlZ2lzdHJhcmUgcXVlc3RhIGluZm9ybWF6aW9uZSBpbiB1biBwb3N0byBzaWN1cm8gbWEgcmVjdXBlcmFiaWxlLic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJ10gPSAnSUQvQWxpYXMgZGVsbGEgcGFnaW5hIGEgY3VpIGFuZGFyZSBkb3BvIGlsIGNhbWJpbyBkZWxsZSBpbXBvc3RhemlvbmknOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnSUQvQWxpYXMgZGVsbGEgcGFnaW5hIGEgY3VpIGFuZGFyZSBkb3BvIGxhIHZlcmlmaWNhIGRlbCBjb2RpY2UgKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGV0dGFnbGkgUGVyZGl0YSBVc2VybmFtZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gQ29uZmVybWEgUGVyZGl0YSBVc2VybmFtZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0Vycm9yZTogUGkmdWdyYXZlOyBkaSB1biBhY2NvdW50IGNvaW5jaWRlIGNvbiBsYSBwcm9wcmlldCZhZ3JhdmU7IHNwZWNpZmljYXRhJzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0Vycm9yZTogTm9uIHRyb3ZvIG5lc3N1biB1dGVudGUnOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0Vycm9yZTogTm9uIHRyb3ZvIHVuIGdydXBwbyBjb24gcXVlbCBub21lJzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnU29sYSBsZXR0dXJhJzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdDbGFzc2UgcGVyIGxhIG1hbmlwb2xhemlvbmUgdXRlbnRpJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ0Rpc2Nvbm5lc3NvIGRhbGwmIzAzOTthbW1pbmlzdHJhdG9yZSc7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnTW9zdHJhIHNvbG8gdXRlbnRpIGxvZ2dhdGknOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0xvZ291dCBxdWVzdG8gdXRlbnRlJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ1Byb3BpZXQmYWdyYXZlOyB1dGVudGUnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdDcm9ub2xvZ2lhIHV0ZW50ZSc7CiRsYW5nWydleHBvcnQnXSA9ICdFc3BvcnRhemlvbmUnOwokbGFuZ1snY2xlYXInXSA9ICdQdWxpc2NpJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0VzcG9ydGEgbG8gc3RvcmljbyB1dGVudGUgYWQgQVNDSUknOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdQdWxpc2NpIGkgcmVjb3JkIGRlbGxvIHN0b3JpY28gdXRlbnRlJzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0Zvcm0gZGkgc3VwcG9ydG8gUGVyZGl0YSBVc2VybmFtZSc7CiRsYW5nWyd0aXRsZV9yc3NleHBvcnQnXSA9ICdFc3BvcnRhIGRlZmluaXppb25lIGRlbCBncnVwcG8gKGUgcHJvcHJpZXQmYWdyYXZlOykgYSBYTUwnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ0dlc3Rpb25lIHN0b3JpY28gdXRlbnRlJzsKJGxhbmdbJ3llcyddID0gJ1MmaWdyYXZlOyc7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ2RpJzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIE5lc3N1biBsaW1pdGUgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnVmVjY2hpbyBkaSB1biBvcmEnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnVmVjY2hpbyBkaSBzZWkgb3JlJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ1ZlY2NoaW8gZGkgZG9kaWNpIG9yZSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ1ZlY2NoaW8gZGkgdW4gZ2lvcm5vJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ1ZlY2NoaW8gZGkgdW5hIHNldHRpbWFuYSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVmVjY2hpbyBkaSBkdWUgc2V0dGltYW5lJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICdWZWNjaGlvIGRpIHVuIG1lc2UnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1ZlY2NoaW8gZGkgdHJlIG1lc2knOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdWZWNjaGlvIGRpIHNlaSBtZXNpJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ1ZlY2NoaW8gZGkgdW4gYW5ubyc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdSYWdncnVwcGFtZW50byBlIG9yZGluYW1lbnRvJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdSZWNvcmQgY2hlIHZlcmlmaWNhbm8gaWwgY3JpdGVyaW8nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdVc2VybmFtZSBkaXNjZW5kZW50aSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnVXNlcm5hbWUgYXNjZW5kZW50aSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnRGF0YSBkaXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdEYXRhIGFzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnVGlwbyBldmVudG8gZGlzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdUaXBvIGV2ZW50byBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0luZGlyaXp6aSBJcCBkaXNjZW5kZW50aSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ0luZGlyaXp6aSBJcCBhc2NlbmRlbnRpJzsKJGxhbmdbJ2luZm9fbm9oaXN0b3J5ZGV0ZWN0ZWQnXSA9ICdOZXNzdW5hIGNyb25vbG9naWEgdHJvdmF0YSc7CiRsYW5nWydyZXNldCddID0gJ0F6emVyYSc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdHcnVwcG8gcGVyIGluZGlyaXp6byBJUCc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRybyBwZXIgdGlwbyBkaSBldmVudG8nOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnVmlzdWFsaXp6YSBzb2xvIGdsaSBldmVudGkgY2hlIHNvbm8gbWVubyBkaTonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ0xpbWl0ZSBwYWdpbmEnOwokbGFuZ1snZm9yJ10gPSAncGVyJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnUmVwb3J0IHN0b3JpY28gdXRlbnRlJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdTY29ub3NjaXV0byc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSW5kaXJpenpvIElQJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdUaXBvIGV2ZW50byc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdGEnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1JpdG9ybmEnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ09wZXJhemlvbmUgZGkgaW1wb3J0YXppb25lIGNvbXBsZXRhdGEnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnTGluZWUgcHJvY2Vzc2F0ZSc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnRXJyb3JpIGluY29udHJhdGknOwokbGFuZ1sncHJvbXB0X3JlY29yZHNhZGRlZCddID0gJ1JlY29yZCBhZ2dpdW50aSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnTm9uIHRyb3ZvIHByb3ByaWV0JmFncmF2ZTsgcGVyIGlsIGdydXBwbyAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ05vbiBobyByZXNwb25zbyBkYWwgc2VydmVyIFNNVFAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnSWwgZmlsZSBzcGVjaWZpY2F0byAoJXMpIG5vbiAmZWdyYXZlOyBzdGF0byB0cm92YXRvJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdWYWxvcmkgbm9uIHZhbGlkaSBwZXIgY2FtcGkgdGVuZGluYSBvIG11bHRpc2VsZXppb25lICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnSWwgY2FtcG8gJXMgZWNjZWRlIGxhIG1hc3NpbWEgbHVuZ2hlenphJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHVzZXJzJ10gPSAnRXJyb3JlIGRpIGltcG9ydGF6aW9uZSAobGluZWEgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnTm9uIGhvIGRlZmluaXppb25pIGRlbGxhIHByb3ByaWV0JmFncmF2ZTsgKGVycm9yZSBpbnRlcm5vKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdJbmZvcm1hemlvbmkgc3VsIHByb2JsZW1hIGNvbmZpZ3VyYXppb25lIHV0ZW50ZSc7CiRsYW5nWydlcnJvcl9pbXBvcnRyZXF1aXJlZGZpZWxkJ10gPSAnTm9uIHRyb3ZvIHVuYSBjb2xvbm5hIGNoZSBjb2luY2lkYSBjb24gaWwgY2FtcG8gcmljaGllc3RvICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnTm9uIHRyb3ZvIHByb3ByaWV0JmFncmF2ZTsgcGVyIGlsIGdydXBwbyBzcGVjaWZpY2F0byc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnSWwgZmlsZSBzcGVjaWZpY2F0byBwZXIgbCYjMDM5O2ltcG9ydGF6aW9uZSBub24gJmVncmF2ZTsgbmVsIGZvcm1hdG8gY29ycmV0dG8nOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ05vbiBwb3NzbyBhcHJpcmUgaWwgZmlsZSc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNuIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnVXRlbnRpIGltcG9ydGF0aSBpbiBxdWVzdG8gZ3J1cHBvJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRmaWxlbmFtZSddID0gJ0NTViBmaWxlIGRpIGlucHV0JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnSW1wb3J0YSBYTUwgRmlsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdFeHBvcnRhICB1c2Vycyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnRhIHVzZXJzJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1B1bGlzY2knOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdQYXRoIGRlbGwmIzAzOTtpbW1hZ2luZSBkaSBkZXN0aW5hemlvbmUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdQcm9ibGVtYSBvY2NvcnNvIGNvbiB1bm8gc2NvbXBhcnNvIChtYSByaWNoaWVzdG8pIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnTm9uIHJpZXNjbyBhIGNhcGlyZSBpbCBmaWxlIFhNTCc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnTm9uIHBvdGV0ZSBjYW5jZWxsYXJlIHVuIGdydXBwbyBjaGUgY29udGllbmUgYW5jb3JhIHV0ZW50aSc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnUXVlc3RvIHV0ZW50ZSAmZWdyYXZlOyBjb3JyZW50ZW1lbnRlIGNvbGxlZ2F0byc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdJbCB0ZXN0byBkYWxsJiMwMzk7aW1tYWdpbmUgbm9uICZlZ3JhdmU7IHN0YXRvIGluc2VyaXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1Blcm1ldHRlIGFnbGkgdXRlbnRpIGRpIGNvbm5ldHRlcnNpIHBpJnVncmF2ZTsgdm9sdGUgY29udGVtcG9yYW5lYW1lbnRlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdFc3RlbnNpb25pIGRlbCBmaWxlIGltbWFnaW5lIGRpIHVwbG9hZCBwZXJtZXNzaSBhbGwmIzAzOTt1dGVudGUnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB1biB1dGVudGUgdmllbmUgY2FuY2VsbGF0bzwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gSWwgbm9tZSB1dGVudGU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gTCYjMDM5O0lEIHV0ZW50ZTwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNyZWF0byB1biB1dGVudGU8L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gSWwgbm9tZSB1dGVudGU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gTCYjMDM5O0lEIHV0ZW50ZTwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHVuIHV0ZW50ZSAmZWdyYXZlOyBhZ2dpb3JuYXRvIChvIGRhbGxvIHN0ZXNzbyB1c2VyIG8gZGEgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIElsIG5vbWUgdXRlbnRlPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEwmIzAzOTtJRCB1dGVudGU8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNyZWF0byB1biBncnVwcG88L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gSWwgbm9tZSBkZWwgZ3J1cHBvPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIExhIGRlc2NyaXppb25lIGRlbCBncnVwcG88L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gTCYjMDM5O0lEIGRlbCBncnVwcG88L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNhbmNlbGxhdG8gdW4gZ3J1cHBvPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIElsIG5vbWUgZGVsIGdydXBwbzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBMJiMwMzk7SUQgZGVsIGdydXBwbzwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gdXRlbnRlIGVmZmV0dHVhIGwmIzAzOTthY2Nlc3NvPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBJbCBub21lIGRlbGwmIzAzOTt1dGVudGUgY2hlIGhhIGVmZmV0dHVhdG8gbCYjMDM5O2FjY2Vzc288L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gTCYjMDM5O2luZGlyaXp6byBJUCBkZWwgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gdXRlbnRlIHNpIGRpc2Nvbm5ldHRlPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBJbCBub21lIGRlbGwmIzAzOTt1dGVudGUgZGlzY29ubmVzc288L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gTCYjMDM5O0lEIHV0ZW50ZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyBzY2FkZSB1bmEgc2Vzc2lvbmUgdXRlbnRlPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBJbCBub21lIGRlbGwmIzAzOTt1dGVudGUgc2NhZHV0bzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBMJiMwMzk7SUQgZGVsbCYjMDM5O3V0ZW50ZSBzY2FkdXRvPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnVW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB1biB1dGVudGUgc2kgY29ubmV0dGUgYWwgc2lzdGVtYSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnVW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB1biB1dGVudGUgc2kgZGlzY29ubmV0dGUgZGFsIHNpc3RlbWEnOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdVbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIGxhIHNlc3Npb25lIHV0ZW50ZSBzY2FkZSc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ1VuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdmllbmUgY3JlYXRvIHVuIG51b3ZvIHV0ZW50ZSc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ1VuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gbGUgaW5mb3JtYXppb25pIHV0ZW50ZSBzb25vIGFnZ2lvcm5hdGUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdVbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNhbmNlbGxhdG8gdW4gYWNjb3VudCB1dGVudGUnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnVW4gZXZlbnRvIGdlbmVyYXRvIHF1YW5kbyB2aWVuZSBjcmVhdG8gdW4gbnVvdm8gZ3J1cHBvJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ1VuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdmllbmUgY2FuY2VsbGF0byB1biBncnVwcG8nOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0dydXBwbyBkaSBCYWNrZW5kJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogTGUgc2VndWVudGkgbWFjcm8gcG9zc29ubyBlc3NlcmUgdXNhdGUgaW4gcXVlc3RvIGNhbXBpOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gUXVhbmRvIHVzYXRlIGxhIG1hY3JvIHskZ3JvdXB9LCBpbCBzaXN0ZW1hIHNvc3RpdHVpciZhZ3JhdmU7IGlsIG5vbWUgZGVsIHByaW1vIGdydXBwbyB1dGVudGkgYSBjdWkgYXBwYXJ0aWVuZSBsJiMwMzk7dXRlbnRlIGUgcmVkaXJlemlvbmVyJmFncmF2ZTsgYSBxdWVsbGEgcGFnaW5hLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTW9kaWZpY2EgcXVlc3RvIGNhbXBvIHBlciByZXNldHRhcmUgbGUgcGFzc3dvcmQgdXRlbnRpJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdNb2RpZmljYSBxdWVzdG8gY2FtcG8gcGVyIHJlc2V0dGFyZSBsZSBwYXNzd29yZCB1dGVudGknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnRXNpc3RlIGdpJmFncmF2ZTsgdW4gdXRlbnRlIGNvbiBxdWVzdG8gdXNlcm5hbWUnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnTmVzc3VuIHJpc3VsdGF0byByaWNldnV0byBkYWxsJiMwMzk7ZXNwb3J0YXppb25lIGNzdic7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMdW5naGV6emEgZGVsIGNhbXBvIHVzZXJuYW1lJzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ0x1bmdoZXp6YSBkZWwgY2FtcG8gcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ0x1bmdoZXp6ZSBNaW4vTWF4IG5vbiB2YWxpZGUgZGVsbGEgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ0x1bmdoZXp6ZSBNaW4vTWF4IG5vbiB2YWxpZGUgZGVsbG8gdXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ0luZGlyaXp6byBFbWFpbCBpbnZhbGlkbyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vbiB0cm92byB1biBpbmRpcml6em8gZW1haWwgcGVyIHF1ZXN0byBhY2NvdW50JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtYSBuZWxsYSBjb25maWd1cmF6aW9uZSBkZWxsZSBpbmZvcm1hemlvbmkgdXRlbnRlJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW1hIG5lbGxhIGNvbmZpZ3VyYXppb25lIGRlbGxlIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ1V0ZW50ZSBhZ2dpdW50byAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1V0ZW50ZSBjYW5jZWxsYXRvIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1ZhbG9yZSAoZXNwcmVzc2lvbmUgcmVnb2xhcmUpJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnQXR0ZW56aW9uZTogUXVlc3RpIGNhbXBpIGluZmx1aXNjb25vIHN1bGxhIGRpbWVuc2lvbmUgZGVpIGNhbXBpIGRpIGlucHV0IGRlaSBmb3JtLiBQb3RyZWJiZSBub24gZXNzZXJlIGNvbnNpZ2xpYWJpbGUgZGltaW51aXJlIHF1ZXN0byBudW1lcm8gc3UgdW4gc2l0byBlc2lzdGVudGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NhbWJpYXJlIGxlIHByZWZlcmVuemUgZGkgYW1taW5pc3RyYXppb25lPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnSW5kaXJpenpvIGVtYWlsIGdpJmFncmF2ZTsgdXNhdG8nOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNhIGNvb2tpZXMgcGVyIHJpY29yZGFyZSBpIGRldHRhZ2xpIGRlbCBsb2dpbic7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ05vbWUgZGVsIGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ1Blcm1ldHRpIGVtYWlsIGR1cGxpY2F0ZSc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWVfaXNfZW1haWwnXSA9ICdMJiMwMzk7aW5kaXJpenpvIEVtYWlsIGRpdmVudGEgbG8gdXNlcm5hbWUnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnU2kgY2VyY2EgZGkgdGVuZXIgdml2YSBsYSBzZXNzaW9uZSBjb24gbCYjMDM5O3VzbyBkaSB1biBjb29raWUgPGVtPihpbCBjb29raWUgJmVncmF2ZTsgY29udGludWFtZW50ZSByZXNldHRhdG8gY29uIGwmIzAzOTthdHRpdml0JmFncmF2ZTsgc3VsIHNpdG8pPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHBlcm1ldHRpIHBpJnVncmF2ZTsgdXRlbnRpIGNvbiBsbyBzdGVzc28gaW5kaXJpenpvIGVtYWlsKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnKGluZGlyaXp6byBlbWFpbCBkZWxsbyB1c2VyICZlZ3JhdmU7IGlsIGxvcm8gdXNlcm5hbWUgLS0gTk9OIHNldHRhcmUgcXVlc3RvIGNvbiAmcXVvdDtwZXJtZXR0aSBpbmRpcml6emkgZW1haWwgZHVwbGljYXRpJnF1b3Q7ISknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdQZXJtZXR0aSByaWNoaWVzdGUgbXVsdGlwbGUgcGVyIHBhc3N3b3JkIGRpbWVudGljYXRlPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcocGVybWV0dGUgYWQgdW4gdXRlbnRlIGRpIHJpY2hpZWRlcmUgbCYjMDM5O2F6emVyYW1lbnRvIGRlbGxhIHBhc3N3b3JkIGFuY2hlIHNlIG5vbiBoYSBwb3J0YXRvIGEgdGVybWluZSB1bmEgcmljaGllc3RhIHByZWNlZGVudGUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNhIGkgcGVybWVzc2kgc3BlY2lmaWNpIGRlbCBtb2R1bG8gRnJvbnRFbmRVc2VyPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbWVudGUgaSBwZXJtZXNzaSBwZXIgRkVVc2VycyBzb25vIGdsaSBzdGVzc2kgZGVnbGkgZXF1aXZhbGVudGkgcGVybWVzc2kgbmVsbCYjMDM5O2FyZWEgQW1taW5pc3RyYXppb25lIGNvbWUgQWdnaXVuZ2kgVXRlbnRlLCBBZ2dpdW5naSBHcnVwcG8sIGV0Yy4gU2Ugc2VsZXppb25hdGUgcXVlc3RhIG9wemlvbmUgY2kgc2FyYW5ubyBwZXJtZXNzaSBzZXBhcmF0aSBwZXIgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdOb24gdHJvdm8gaWwgZmlsZSBkaSB1cGxvYWQgKGVycm9yZSBpbnRlcm5vKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ1NpICZlZ3JhdmU7IHZlcmlmaWNhdG8gdW4gcHJvYmxlbWEgbmVsIGZpbGUgc3BlZGl0by4gU2kgcHJlZ2EgZGkgcmlwcm92YXJlJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ05vbiBhdmV0ZSBpbnNlcml0byB1biBub21lIHV0ZW50ZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdOb24gYXZldGUgaW5zZXJpdG8gbGEgVm9zdHJhIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ05vbiBhdmV0ZSBpbnNlcml0byB1bmEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0xvZ291dCBVdGVudGUgRnJvbnRFbmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnTG9naW4gVXRlbnRlJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjpyZWQmcXVvdDs+PGI+VVNBUkUgQ09OIENBVVRFTEE8L2I+IHF1YW5kbyBtb2RpZmljYXRlIHByb3ByaWV0JmFncmF2ZTsgZXNpc3RlbnRpIGNoZSBzb25vIGFzc2VnbmF0ZSBhIGdydXBwaSwgcG90ZXRlIHBvdGVuemlhbG1lbnRlIGNhdXNhcmUgZGFubmkgZSBibG9jY2FyZSB1biBzaXRvIGVzaXN0ZW50ZSA8aT4oc3BlY2lhbG1lbnRlIHNlIHJpZHVjZXRlIGxhIGx1bmdoZXp6YSBkZWkgY2FtcGksIGV0Yyk8L2k+PC9zcGFuPic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1F1ZXN0YSBmdW56aW9uZSBub24gZnVuemlvbmEgc3Ugd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnTm9uIGNyZWF0ZSB1bmEgcHJvcHJpZXQmYWdyYXZlOyBwZXIgdXNlcm5hbWUgbyBwYXNzd29yZCwgcG9pY2gmZWdyYXZlOyBxdWVzdGUgcHJvcHJpZXQmYWdyYXZlOyBzb25vIGdpJmFncmF2ZTsgaW5zZXJpdGUgbmVsIG1vZHVsbyBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFc3BvcnRhIGdsaSB1dGVudGkgaW4gQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0VzcG9ydGEnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0YSc7CiRsYW5nWydhZG1pbiddID0gJ0FtbWluaXN0cmF6aW9uZSc7CiRsYW5nWydlZGl0cHJvcCddID0gJ01vZGlmaWNhIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFzc2ltYSBsdW5naGV6emEnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0byc7CiRsYW5nWydzb3J0YnknXSA9ICdPcmRpbmF0byBwZXInOwokbGFuZ1snc29ydCddID0gJ09yZGluYW1lbnRvJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1V0ZW50aSBuZWwgZ3J1cHBvL2kgc2VsZXppb25hdG8vaSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdGEgcmlzdWx0YXRpIGEnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnTm9uIHJpZXNjbyBhIHRyb3ZhcmUgdW4gY2FtcG8gZW1haWwgcGVyIHF1ZXN0byB1dGVudGUuIENvbnRhdHRhcmUgbCYjMDM5O2FtbWluaXN0cmF0b3JlIGRlbCBzaXN0ZW1hJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnSUQvQWxpYXMgZGVsbGEgcGFnaW5hIHBlciBpbCBtb2R1bG8gZGkgUGFzc3dvcmQgZGltZW50aWNhdGEnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdJRC9BbGlhcyBkZWxsYSBwYWdpbmEgcGVyIGlsIG1vZHVsbyBkaSBNb2RpZmljYSBjb25maWd1cmF6aW9uaSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ0lEL0FsaWFzIGRlbGxhIHBhZ2luYSBhIGN1aSBhbmRhcmUgZG9wbyBpbCBsb2dpbiAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ0lEL0FsaWFzIGRlbGxhIHBhZ2luYSBhIGN1aSBhbmRhcmUgZG9wbyBpbCBsb2dvdXQgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdPcmRpbmEnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtZXJvIGRpIHV0ZW50aSBzb25vIG5lbCBtZXp6byBkZWxsJiMwMzk7YXp6ZXJhbWVudG8gZGVsbGEgbG9ybyBwYXNzd29yZCBkaW1lbnRpY2F0ZS4gSW4gcXVlc3RvIG1vbWVudG8gc29ubzonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSaW11b3ZpIHR1dHRlIGxlIGVudGl0JmFncmF2ZTsgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuYSBzZXR0aW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmltdW92aSB0dXR0ZSBsZSBlbnRpdCZhZ3JhdmU7IHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1biBtZXNlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1JpbXVvdmkgdHV0dGUgbGUgZW50aXQmYWdyYXZlOyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU2lldGUgc2ljdXJpPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ0UmIzAzOTsgc3RhdG8gaW4gc2VyaXRvIHVuIGNvZGljZSBub24gdmFsaWRvLCBwcm92YXRlIGRpIG51b3ZvJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdOb24gJmVncmF2ZTsgcG9zc2liaWxlIHRyb3ZhcmUgdW4gY29kaWNlIHRlbXBvcmFuZW8gcGVyIGlsIHZvc3RybyBJRCB1dGVudGUgbmVsIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnTW9kZWxsbyB1c2F0byBwZXIgdmlzdWFsaXp6YXJlIGlsIG1vZHVsbyBkaSB2ZXJpZmljYSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnTW9kZWxsbyB1c2F0byBwZXIgbGEgZW1haWwgcGVyIHBhc3N3b3JkIGRpbWVudGljYXRhJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdWb2kgbyBxdWFsY3VuJiMwMzk7YWx0cm8gaGEgZ2kmYWdyYXZlOyByaWNoaWVzdG8gZGkgYXp6ZXJhcmUgbGEgcGFzc3dvcmQgcGVyIHF1ZXN0byBhY2NvdW50LiBDb250cm9sbGF0ZSBsYSB2b3N0cmEgZW1haWwsIGRvdnJlc3RlIGF2ZXJlIHJpY2V2dXRvIGxlIGlzdHJ1emlvbmkgc3UgY29tZSBhenplcmFyZSBsYSB2b3N0cmEgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0Vycm9yZSBkZWwgZGF0YWJhc2UnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnQXZldGUgcmljZXZ1dG8gcXVlc3RvIG1lc3NhZ2dpbyBwZXJjaCZlZ3JhdmU7IHF1YWxjdW5vIGhhIHNlZ25hbGF0byBzdWwgbm9zdHJvIHNpdG8gY2hlIGF2ZXRlIHBlcnNvIGxhIFZvc3RyYSBwYXNzd29yZC4gU2UgJmVncmF2ZTsgY29ycmV0dG8sIGxlZ2dldGUgbGUgaXN0cnV6aW9uaSBzb3R0b3N0YW50aS4gU2Ugbm9uIHNhcGV0ZSBkaSBjb3NhIHNpIHRyYXR0aSwgcG90ZXRlIHRyYW5xdWlsbGFtZW50ZSBjYW5jZWxsYXJlIHF1ZXN0byBtZXNzYWdnaW8sIGdyYXppZSBwZXIgaWwgdGVtcG8gZGVkaWNhdG9jaS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDb2RpY2UnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnSWwgc2VndWVudGUgY29kaWNlICZlZ3JhdmU7IHN0YXRvIGdlbmVyYXRvIGluIG1hbmllcmEgY2FzdWFsZSBwZXIgdmVyaWZpY2FyZSBsJiMwMzk7YWNjb3VudCB1dGVudGUuIFF1YW5kbyBmYXRlIGNsaWNrIHN1bCBsaW5rIHNvdHRvc3RhbnRlIHZlcnImYWdyYXZlOyB2aXN1YWxpenphdG8gdW4gY2FtcG8gaW4gY3VpIGluc2VyaXJlIHF1ZXN0byBjb2RpY2UuIE5vcm1hbG1lbnRlIGlsIGNhbXBvICZlZ3JhdmU7IHByZS1jb21waWxhdG8gcGVyIFZvaSwgbWEgc2UgY29zJmlncmF2ZTsgbm9uIGZvc3NlIGlsIGNvZGljZSAmZWdyYXZlOzonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdTZWd1ZW5kbyBpbCBsaW5rIHNlZ3VlbnRlIHZlcnJldGUgcG9ydGF0aSBhbCBzaXRvIHdlYiBkb3ZlIGluc2VyaXJlIGlsIGNvZGljZSByaXBvcnRhdG8gc29wcmEgcGVyIGF6emVyYXJlIGxhIHZvc3RyYSBwYXNzd29yZDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1Bhc3N3b3JkIHBlcnNhJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTm9uIHRyb3ZvIGlsIG1vZHVsbyBDTVNNYWlsZXInOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnVW5hIGVtYWlsICZlZ3JhdmU7IHN0YXRhIHNwZWRpdGEgYWxsJiMwMzk7aW5kaXJpenpvICVzIGNvbiBsZSBpc3RydXppb25pIHN1IGNvbWUgYXp6ZXJhcmUgbGEgdm9zdHJhIHBhc3N3b3JkLiBHcmF6aWUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdBdmV0ZSBxdWluZGkgZGltZW50aWNhdG8gbyBwZXJzbyBsYSB2b3N0cmEgcGFzc3dvcmQuIERpZ2l0YXRlIGlsIHZvc3RybyBub21lIHV0ZW50ZSBlIHNlIHZlcnImYWdyYXZlOyB0cm92YXRvIHNwZWRpcmVtbyB1bmEgZW1haWwgY29uIGxlIGlzdHJ1emlvbmkgc3UgY29tZSBhenplcmFybGEnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHBlciBQYXNzd29yZCBkaW1lbnRpY2F0YSc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIFBlcmRpdGEgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnUHJvcHJpZXQmYWdyYXZlOyAlcyBub24gdHJvdmF0YSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnUHJvcHJpZXQmYWdyYXZlOyB0cm92YXRhJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdBZ2dpdW5naSBQcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdVbiBjYW1wbyByaWNoaWVzdG8gKCVzKSBlcmEgdnVvdG8nOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdJbnNlcmlyZSBzb2xvIHBlciBtb2RpZmljYXJlIHF1ZWxsYSBwcmVjZWRlbnRlJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnU2VtYnJhIGNoZSBub24gYWJiaWF0ZSBlZmZldHR1YXRvIGwmIzAzOTthY2Nlc3NvJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmknOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYXppb25lJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnUXVlc3RvIGFjY291bnQgJmVncmF2ZTsgc2NhZHV0byc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnRm9ybWF0dGF6aW9uZSBkZWxsJiMwMzk7aW5kaXJpenpvIGRpIGVtYWlsIG5vbiB2YWxpZGEnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdEYXRhIGRpIHNjYWRlbnphIG5vbiB2YWxpZGEnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0Vycm9yZSBuZWxsJiMwMzk7aW1wb3N0YXppb25lIGRlbGxhIHByb3ByaWV0JmFncmF2ZTsgJXMgcGVyIGwmIzAzOTt1dGVudGUgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdJRCBkaSBncnVwcG8gJXMgbm9uIHZhbGlkbyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ01hcmNhdG9yZSBkZWwgY2FtcG8gbmFzY29zdG8nOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ0NvbG9yZSBkZWwgY2FtcG8gbmFzY29zdG8nOwokbGFuZ1snaGlkZGVuJ10gPSAnTmFzY29zdG8nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1VuYSBwcm9wcmlldCZhZ3JhdmU7IGNvbiBxdWVsIG5vbWUgJmVncmF2ZTsgZ2kmYWdyYXZlOyBkZWZpbml0YSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgZGVmaW5pdGEnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgc2VsZXppb25hdGEgcGVyIHF1ZXN0byBncnVwcG8nOwokbGFuZ1snbm9ncm91cHMnXSA9ICdOZXNzdW4gZ3J1cHBvIGRlZmluaXRvJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnR3J1cHBpIHRyb3ZhdGknOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ0UmIzAzOTsgbmVjZXNzYXJpbyBlc3NlcmUgbWVtYnJvIGRpIGFsbWVubyB1biBncnVwcG8nOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1JpY2hpZWRlIGVzc2VyZSBtZW1icm8gZGkgYWxtZW5vIHVuIGdydXBwbyc7CiRsYW5nWydiYWNrJ10gPSAnSW5kaWV0cm8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzICZlZ3JhdmU7IHVuIGNhbXBvIG9iYmxpZ2F0b3Jpbyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFyY2EgaSBjYW1waSByaWNoaWVzdGkgY29uJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0V2aWRlbnppYXJlIGkgY2FtcGkgcmljaGllc3RpIGluJzsKJGxhbmdbJ25leHQnXSA9ICdQcm9zc2ltbyc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ1VuIGdydXBwbyBjb24gcXVlbCBub21lICZlZ3JhdmU7IGdpJmFncmF2ZTsgcHJlc2VudGUnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdDYW1wbyBvYmJsaWdhdG9yaW8nOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdGYWNvbHRhdGl2byc7CiRsYW5nWydvZmYnXSA9ICdPZmYnOwokbGFuZ1snc2l6ZSddID0gJ0RpbWVuc2lvbmUnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIgLz4oTWFzc2ltbyBsYXRvIGRpIHVuYSBpbW1hZ2luZSBpbiBwaXhlbHMpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0x1bmdoZXp6YSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyIC8+KGNhcmF0dGVyaSBuZWwgY2FtcG8gZGkgdGVzdG8pJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdPcHppb25pIGRlbGxhIHRlbmRpbmEsIHNlcGFyYXRpIGRhIGZpbmUgbGluZWEuIFZhbG9yaSBwb3Nzb25vIGVzc2VyZSBzZXBhcmF0aSBkYWwgdGVzdG8gY29uIHVuID0sIHBlciBlc2VtcGlvIEZlbW1pbmE9Zic7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUaXBvJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXBvJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnU3RhdG8gZGVsIGNhbXBvJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0NoaWVkaSBpbiBQZXJkaXRhPGJyLz5Vc2VybmFtZSc7CiRsYW5nWyd0ZXh0J10gPSAnVGVzdG8nOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ0xpc3RhIE11bHRpIFNlbGVjdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltbWFnaW5lJzsKJGxhbmdbJ2VtYWlsJ10gPSAnSW5kaXJpenpvIGVtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnQXJlYSBkaSB0ZXN0byc7CiRsYW5nWydkcm9wZG93biddID0gJ1RlbmRpbmEnOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdCZW52ZW51dG8nOwokbGFuZ1snbG9nb3V0J10gPSAnVXNjaXRhJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVc2EgcXVlc3RvIG5vbWUgZGkgZ3J1cHBvJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ01vZGlmaWNhIGxlIG1pZSBpbXBvc3RhemlvbmknOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdMb2dpbiBmYWxsaXRvIC0gbm9tZSB1dGVudGUgbyBwYXNzd29yZCBzYmFnbGlhdGk/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnQWNjZWRpJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnRXRpY2hldHRhIGRlbCBwdWxzYW50ZSBkaSBBY2Nlc3NvJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ05vbWUgdXRlbnRlJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0luZGlyaXp6byBFbWFpbCc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ1JpY29yZGFtaSBzdSBxdWVzdG8gY29tcHV0ZXInOwokbGFuZ1sncmVnaXN0ZXInXSA9ICdSZWdpc3RyYXRpJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnUGFzc3dvcmQgZGltZW50aWNhdGE/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0RpbWVudGljYXRvIGlsIFZvc3RybyBsb2dpbj8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdWYWxvcmkgcHJlZGVmaW5pdGknOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdNb2RlbGxvJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0lEIHV0ZW50ZSBub24gdHJvdmF0byc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnUXVlc3RvIHVzZXJuYW1lICglcykgJmVncmF2ZTsgZ2kmYWdyYXZlOyBpbiB1c28nOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1VzYXJlIFNNVFAgcGVyIHZhbGlkYXJlIGluZGlyaXp6aSBlbWFpbD8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTHVuZ2hlenphIG1pbmltYSBkZWxsYSBwYXNzd29yZCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdMdW5naGV6emEgbWFzc2ltYSBkZWxsYSBwYXNzd29yZCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdMdW5naGV6emEgbWluaW1hIGRlbCBub21lIHV0ZW50ZSc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdMdW5naGV6emEgbWFzc2ltYSBkZWwgbm9tZSB1dGVudGUnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnVGltZW91dCBkZWxsYSBzZXNzaW9uZSAoc2Vjb25kaSknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzbyBjb29raWVzIHBlciB0ZW5lciB2aXZvIGlsIGxvZ2luJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnUGVybWV0dGkgcmVnaXN0cmF6aW9uZSBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnR3J1cHBvIHByZWRlZmluaXRvIHBlciBudW92aSB1dGVudGknOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdDYW1iaWEgaWwgTW9kZWxsbyBkZWxsZSBjb25maWd1cmF6aW9uaSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnTGUgcGFzc3dvcmQgbm9uIGNvaW5jaWRvbm8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTm9tZSB1dGVudGUgbm9uIHZhbGlkbyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdQYXNzd29yZCBub24gdmFsaWRhJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnTW9kaWZpY2EgVXRlbnRlJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnVmFsaWRvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tZSB1dGVudGUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdG8nOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnUXVlc3RvIHV0ZW50ZSBub24gJmVncmF2ZTsgbWVtYnJvIGRpIG5lc3N1biBncnVwcG8nOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ05lc3N1bmEgUHJvcHJpZXQmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ1RlbnRhdGl2byBkaSBpbXBvcnRhcmUgcHJvcHJpZXQmYWdyYXZlOyBkdXBsaWNhdGUnOwokbGFuZ1sndmFsdWUnXSA9ICdWYWxvcmUnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3J1cHBpJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdQcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnTm9tZSBkZWxsYSBwcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1ZhbG9yZSBkZWxsYSBwcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ2FkZCddID0gJ0FnZ2l1bmdlcmUnOwokbGFuZ1snaGlzdG9yeSddID0gJ0Nyb25vbG9naWEnOwokbGFuZ1snZWRpdCddID0gJ01vZGlmaWNhJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdTY2FkZW56ZSc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdTcGVjaWZpY2FyZSB1bmEgZGF0YSc7CiRsYW5nWycxMmhycyddID0gJzEyIE9yZSc7CiRsYW5nWycyNGhycyddID0gJzI0IE9yZSc7CiRsYW5nWyc0OGhycyddID0gJzQ4IE9yZSc7CiRsYW5nWycxd2VlayddID0gJzEgU2V0dGltYW5hJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgU2V0dGltYW5lJzsKJGxhbmdbJzFtb250aCddID0gJzEgTWVzZSc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNZXNpJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE1lc2knOwokbGFuZ1snMXllYXInXSA9ICcxIEFubm8nOwokbGFuZ1snbmV2ZXInXSA9ICdNYWknOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxvIGluc3RhbGxhdG8uPGJyIC8+QWNjZXJ0YXJzaSBkaSBjb25maWd1cmFyZSBpIHBlcm1lc3NpIHBlciAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbiZxdW90Oy4gQ29uc2lnbGlhbW8gaW5vbHRyZSBkaSBpbnN0YWxsYXJlIGlsIG1vZHVsbyBDYXB0Y2hhIHBvaWNoJmVncmF2ZTsgcHUmb2dyYXZlOyBlc3NlcmUgcmljaGllc3RvIGxhIHZhbGlkYXppb25lIGRpIHVuYSBpbW1hZ2luZS4gUXVlc3RvICZlZ3JhdmU7IGludGVzbyBwZXIgcHJldmVuaXJlIGF0dGFjY2hpIGJydXRlIGZvcmNlLiAgPHN0cm9uZz5Ob3RhOjwvc3Ryb25nPiBpbCBwYXJhbWV0cm8gbm9jYXB0Y2hhIHB1Jm9ncmF2ZTsgZXNzZXJlIHVzYXRvIHBlciBkaXNhYmlsaXRhcmUgcXVlc3RhIGZ1bnppb25hbGl0JmFncmF2ZTsgYW5jaGUgc2UgaWwgbW9kdWxvICZlZ3JhdmU7IGluc3RhbGxhdG8uJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdkaSBudW92byc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnVW4gZ3J1cHBvIGNvbiBxdWVsIG5vbWUgJmVncmF2ZTsgZ2kmYWdyYXZlOyBwcmVzZW50ZSc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdNb2RpZmljYSBHcnVwcG8nOwokbGFuZ1snc3VibWl0J10gPSAnSW52aWEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxsYSc7CiRsYW5nWydkZWxldGUnXSA9ICdDYW5jZWxsYSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ1NpZXRlIHNpY3VyaSBjaGUgcXVlc3RlIHNpYW5vIGxlIGltcG9zdGF6aW9uaSBjb3JyZXR0ZSBwZXIgcXVlc3RvIGdydXBwbz9cbkRpc2F0dGl2YW5kbyB1bmEgcHJvcHJpZXQmYWdyYXZlOyBub24gc2kgY2FuY2VsbGFubyBpIGRhdGkgbmVsbGEgdGFiZWxsYSBwcm9wcmlldCZhZ3JhdmU7IHBlciBxdWVsIGdydXBwby91dGVudGUuIFNhcmFubm8gc29sbyBub24gZGlzcG9uaWJpbGkuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICdTaWV0ZSBzaWN1cmkgZGkgdm9sZXJlIGNhbmNlbGxhcmUgcXVlc3RvIGdydXBwbz8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ1NpZXRlIHNpY3VybyBkaSB2b2xlcmUgY2FuY2VsbGFyZSBjb21wbGV0YW1lbnRlIHF1ZXN0YSBwcm9wcmlldCZhZ3JhdmU7P1xuRmFjZW5kb2xvIHNhcmFubm8gY2FuY2VsbGF0aSB0dXR0aSBpIGRhdGkgZGVnbGkgdXRlbnRpIHBlciBxdWVzdGEgcHJvcHJpZXQmYWdyYXZlOy4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUGFyYW1ldHJpIGluc3VmZmljaWVudGknOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWyduYW1lJ10gPSAnTm9tZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW1hIG5lbGwmIzAzOTthZ2dpdW5nZXJlIHByb3ByaWV0JmFncmF2ZTsnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW1hIG5lbGwmIzAzOTthZ2dpdW5nZXJlIHJlbGF6aW9uZSBkaSBncnVwcG8nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbWEgbmVsbCYjMDM5O2FnZ2l1bmdlcmUgaWwgZ3J1cHBvJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbWEgbmVsbCYjMDM5O2FnZ2l1bmdlcmUgdW4gdXRlbnRlIGFsIGdydXBwbyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbWEgbmVsbGEgY2FuY2VsbGF6aW9uZSBkaSB1bmEgcHJvcHJpZXQmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ05vbiB0cm92byB1biBpbmRpcml6em8gZW1haWwnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ05lc3N1biBwZXJtZXNzbyBkaSBzY3JpdHR1cmEgbmVsbGEgY2FydGVsbGEgZGkgZGVzdGluYXppb25lJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdQYXJhbWV0cmkgbm9uIHZhbGlkaSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ05vbiB0cm92byBncnVwcGknOwokbGFuZ1snYXBwbHlmaWx0ZXInXSA9ICdBcHBsaWNhJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRybyc7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnRXNwcmVzc2lvbmUgcmVnb2xhcmUgZGkgVXNlcm5hbWUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcml6aW9uZSc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdOb21lIGdydXBwbyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3NvIG5lZ2F0byc7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yZSc7CiRsYW5nWydhZGRncm91cCddID0gJ0FnZ2l1bmdlcmUgZ3J1cHBvJzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0YSBHcnVwcG8nOwokbGFuZ1snYWRkdXNlciddID0gJ0FnZ2l1bmdlcmUgdXRlbnRlJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdUcm92YXRpIHV0ZW50aSBjaGUgc29kZGlzZmFubyBpbCBjcml0ZXJpbyc7CiRsYW5nWydncm91cCddID0gJ0dydXBwbyc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1NlbGV6aW9uYSBHcnVwcG8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkaSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGkgbG9nb3V0JzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkaSBsb2dpbic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuemUnOwokbGFuZ1sndXNlcnMnXSA9ICdVdGVudGknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnR2VzdGlvbmUgdXRlbnRpIGRpIEZyb250ZW5kJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnUGVybWV0dGkgYWdsaSB1dGVudGkgZGkgZWZmZXR0dWFyZSBsJiMwMzk7YWNjZXNzbyBkYWxsJiMwMzk7aW50ZXJmYWNjaWEgZGVsIHNpdG8nOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1BhZ2luYSBkaSBhY2Nlc3NvIHByZWRlZmluaXRhJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICdVbHRpbWEgcGFnaW5hIGFjY2VkdXRhJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ0FsdHJhIHBhZ2luYTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbnNlcml0ZSBpbCB0ZXN0byB2aXN1YWxpenphdG8gbmVsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJmFtcDtxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmYW1wO3F1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayAmIzAzOTtOZXh0JiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U21hcnR5IEZ1bmN0aW9uczwvaDM+DQo8cD5Tb21lIGxpbWl0ZWQgaW50ZXJhY3Rpb24gd2l0aCB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZGF0YWJhc2UgaXMgcG9zc2libGUgd2l0aCBzbWFydHkgYW5kIHRoZSAkZmV1X3NtYXJ0eSBvYmplY3QuPC9wPg0KPGg0PkZ1bmN0aW9uczo8L2g0Pg0KPHVsPg0KPGxpPjxzdHJvbmc+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgkZ3JvdXBuYW1lLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhbiBhcnJheSBvZiB1c2VybmFtZXMgYW5kIHVzZXJpZHMgZm9yIGFsbCB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwLiAgVGhlIG91dHB1dCBpcyBhc3NpZ25lZCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgaW4gdGhlICZhbXA7cXVvdDthc3NpZ24mYW1wO3F1b3Q7IHBhcmFtZXRlci48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgmIzAzOTttZW1iZXJzJiMwMzk7LCYjMDM5O215bWVtYmVycyYjMDM5Oyl9PGJyLz57JG15bWVtYmVyc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPjxzdHJvbmc+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJfcHJvcGVydGllcygkdWlkLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhIGxpc3Qgb2YgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCB1c2VyIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LSZhbXA7Z3Q7Z2V0X3VzZXJfcHJvcGVydGllcyg1LCYjMDM5O3VzZXJwcm9wcyYjMDM5Oyl9PGJyLz57JHVzZXJwcm9wc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9zdHVzZXJuYW1lPC9lbT4gLSBEaXNwbGF5IHRoZSBsb3N0IHVzZXJuYW1lIGZvcm0uPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSZxdW90O2dyb3VwJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9zdHVzZXJuYW1lIGZvcm0sIHRoaXMgZmVhdHVyZSBzcGVjaWZpZXMgdGhlIGZyb250ZW5kIHVzZXIgZ3JvdXAgdG8gYXNzdW1lIHRodCB1c2VycyBhcmUgbWVtYmVycyBvZi48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249bnVsbDwvbGk+DQo8cD5UaGUgb25seSBwb3NzaWJsZSB2YWx1ZSBmb3IgdGhpcyBwYXJhbWV0ZXIgaXMgJnF1b3Q7dmlld3VzZXImcXVvdDs8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1aWQ9bnVsbDwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIHZpZXd1c2VyIGFjdGlvbi4gIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgd2hpY2ggdXNlciB0byB2aWV3IHRoZSBkZXRhaWxzIG9mLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjkwMDYzMTcuNjEwLjEyMi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHAvYm9hcmQsMTUuMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4MDcxNTE2NDAuMTE4Mjk2MDQ1Ni4xMjI4MTY4NzMzLjEyMjkwMDYzMTcuNjEwJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ1JlZGFndW90aSBuYXVkb3RvasSFJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnRG8gbm90IGlubGluZSBmb3Jtcyc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ1NwYXVza2l0ZSDEjWlhLCBqZWkgbmVhdHNpbWVuYXRlIHNhdm8gcHJpc2lqdW5naW1vIGRldGFsacWzJzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdTcGF1c2tpdGUgxI1pYSwgamVpIG5lYXRzaW1lbmF0ZSBzYXZvIHNsYXB0YcW+b2TFvmlvJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnTm9yxJdkYW1pIGF0c2lqdW5ndGkgc3BhdXNraXRlIMSNaWEnOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0NsaWNrIGhlcmUgdG8gYWRqdXN0IHlvdXIgcGFzc3dvcmQgb3Igb3RoZXIgaW5mb3JtYXRpb24nOwokbGFuZ1sndmlld3VzZXJfdGVtcGxhdGUnXSA9ICdWaWV3IFVzZXIgVGVtcGxhdGUnOwokbGFuZ1snZXZlbnQnXSA9ICfErnZ5a2lzJzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdGRVUgRXZlbnQgTm90aWZpY2F0aW9uJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcyddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdOb3RpZmljYXRpb24gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnTm90aWZpY2F0aW9uIEVtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbCBOb3RpZmljYXRpb25zJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdQcmlzaWp1bmd1cyc7CiRsYW5nWydPbkxvZ291dCddID0gJ0F0c2lqdW5ndXMnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnUGFzaWJhaWd1cyBzZXNpamFpJzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ1N1a8WrcnVzIG5hdWrEhSBuYXVkb3RvasSFJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ0kmc2Nhcm9uO3RyeW51cyBuYXVkb3RvasSFJzsKJGxhbmdbJ09uVXBkYXRlVXNlciddID0gJ09uIFVzZXIgU2V0dGluZ3MgQ2hhbmdlZCc7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnT24gVXNlciBHcm91cCBDcmVhdGVkJzsKJGxhbmdbJ09uRGVsZXRlR3JvdXAnXSA9ICdPbiBVc2VyIEdyb3VwIERlbGV0ZWQnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdUaGUgbG9zdCBsb2dpbiBkZXRhaWxzIGZ1bmN0aW9uYWxpdHkgaGFzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQuICBXZSBoYXZlIGZvdW5kIGEgdW5pcXVlIHVzZXJuYW1lIHRoYXQgbWF0Y2hlcyB0aGUgZGV0YWlscyB5b3UgZW50ZXJlZC4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ0rFq3PFsyBuYXVkb3Rvam8gdmFyZGFzIHlyYSc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdXZSByZWNvbW1lbmQgeW91IHJlY29yZCB0aGlzIGluZm9ybWF0aW9uIGluIGEgc2VjdXJlLCBidXQgcmV0cmlldmFibGUgbG9jYXRpb24uJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ1ByYXJhc3RvIG5hdWRvdG9qbyB2YXJkbyBkZXRhbGnFsyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1snbG9zdHVuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdMb3N0IFVzZXJuYW1lIENvbmZpcm0gVGVtcGxhdGUnOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdFcnJvcjogTW9yZSB0aGFuIG9uZSB1c2VyIGFjY291bnQgbWF0Y2hlZCB0aGUgcHJvcGVydGllcyBzcGVjaWZpZWQnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRXJyb3I6IENvdWxkIG5vdCBmaW5kIGEgbWF0Y2hpbmcgdXNlcic7CiRsYW5nWydlcnJvcl9ncm91cG5vdGZvdW5kJ10gPSAnRXJyb3I6IENvdWxkIG5vdCBmaW5kIGEgZ3JvdXAgYnkgdGhhdCBuYW1lJzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnVGlrIHNrYWl0eW11aSc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnTmF1ZG90b2rFsyBtYW5pcHVsaWF0b3JpYXVzIGtsYXPElyc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdBdGp1bmd0YXMgYWRtaW5pc3RyYXRvcmlhdXMnOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ1JvZHl0aSB0aWsgcHJpc2lqdW5ndXNpdXMgbmF1ZG90b2p1cyc7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnQXRqdW5ndGkgJnNjYXJvbjvEryBuYXVkb3RvasSFJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ05hdWRvdG9qbyBzxIV2eWLEl3MnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdOYXVkb3Rvam8gaXN0b3JpamEnOwokbGFuZ1snZXhwb3J0J10gPSAnRWtzcG9ydHVvdGknOwokbGFuZ1snY2xlYXInXSA9ICdWYWx5dGknOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnRXhwb3J0IFVzZXIgSGlzdG9yeSBUbyBBU0NJSSB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnQ2xlYXIgVXNlciBIaXN0b3J5IHJlY29yZHMgdGhhdCBpcyBhdCBsZWFzdCc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdVxb5taXImc2Nhcm9uO290ZSBwcmlzaWp1bmdpbW8gZGV0YWxlcz8/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydCBncm91cCBkZWZpbml0aW9uIChhbmQgcHJvcGVydGllcykgdG8gWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVc2VyIEhpc3RvcnkgTWFpbnRlbmFuY2UnOwokbGFuZ1sneWVzJ10gPSAnVGFpcCc7CiRsYW5nWydubyddID0gJ05lJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ2kmc2Nhcm9uOyc7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKkJlIHJpYsWzICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ09uZSBIb3VyIE9sZCc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICdTaXggSG91cnMgT2xkJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ1R3ZWx2ZSBIb3VycyBPbGQnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdPbmUgRGF5IE9sZCc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdPbmUgV2VlayBPbGQnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1R3byB3ZWVrcyBPbGQnOwokbGFuZ1snZGF0ZV9vbmVtb250aG9sZCddID0gJ09uZSBNb250aCBPbGQnOwokbGFuZ1snZGF0ZV90aHJlZW1vbnRoc29sZCddID0gJ1RocmVlIE1vbnRocyBPbGQnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTaXggTW9udGhzIE9sZCc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdPbmUgWWVhciBPbGQnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3JvdXBpbmcgYW5kIFNvcnRpbmcnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ1JlY29yZHMgbWF0Y2hpbmcgdGhlIGNyaXRlcmlhJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnRGVzY2VuZGluZyBVc2VybmFtZSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnQXNjZW5kaW5nIFVzZXJuYW1lJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIERhdGUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnQXNjZW5kaW5nIERhdGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnRGVzY2VuZGluZyBFdmVudCBUeXBlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnQXNjZW5kaW5nIEV2ZW50IFR5cGUnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19kZXNjJ10gPSAnRGVzY2VuZGluZyBJcCBBZGRyZXNzJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnQXNjZW5kaW5nIElwIEFkZHJlc3MnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ05vIEhpc3RvcnkgRGV0ZWN0ZWQnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldCc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdHcm91cCBCeSBJUCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAnRXZlbnQgVHlwZSBGaWx0ZXInOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnRGlzcGxheSBvbmx5IGV2ZW50cyB0aGF0IGFyZSBsZXNzIHRoYW46JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdQYWdlIExpbWl0JzsKJGxhbmdbJ2ZvciddID0gJ2Zvcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ1VzZXIgSGlzdG9yeSBSZXBvcnQnOwokbGFuZ1sndW5rbm93biddID0gJ05lxb5pbm9tYXMnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQIGFkcmVzYXMnOwokbGFuZ1sncHJvbXB0X2V2ZW50dHlwZSddID0gJ8SudnlraW8gdGlwYXMnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXRhJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdHcsSvxb50aSc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IE9wZXJhdGlvbiBDb21wbGV0ZSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdMaW5lcyBQcm9jZXNzZWQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9ycyBFbmNvdW50ZXJlZCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVjb3JkcyBBZGRlZCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgZ3JvdXAgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdDb3VsZCBub3QgZ2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgU01UUCBzZXJ2ZXInOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBzcGVjaWZpZWQgKCVzKSBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ0ludmFsaWQgdmFsdWUgZm9yIGRyb3Bkb3duIG9yIG11bHRpc2VsZWN0IGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmllbGQgJXMgZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBFcnJvciAobGluZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0NvdWxkIG5vdCBvcGVuIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjaCBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0IFVzZXJzIEludG8gVGhpcyBHcm91cCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbnB1dCBDU1YgRmlsZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0lucHV0IFhNTCBGaWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0Vrc3BvcnR1b3RpIG5hdWRvdG9qdXMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAnSW1wb3J0dW90aSBuYXVkb3RvanVzJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1ZhbHl0aSc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0ltYWdlIERlc3RpbmF0aW9uIFBhdGgnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdBIHByb2JsZW0gb2NjdXJyZWQgd2l0aCBhIG1pc3NpbmcgKGJ1dCByZXF1aXJlZCkgdXBsb2FkJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdDb3VsZCBub3QgcGFyc2UgdGhlIHByb3ZpZGVkIFhNTCBmaWxlJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdHcnVwxJcsIGt1cmlvamUgeXJhIG5hdWRvdG9qxbMsIG5lZ2FsaSBixat0aSBpJnNjYXJvbjt0cmludGEnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJyZTY2Fyb247aXMgbmF1ZG90b2phcyBqYXUgeXJhIHByaXNpanVuZ8SZcyc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdOZXRlaXNpbmdhaSDEr3Zlc3RhcyB0ZWtzdGFzIGkmc2Nhcm9uOyBwYXZlaWtzbGl1a28nOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ0xlaXN0aSBuYXVkb3RvanVpIHByaXNpanVuZ3RpIGRhdWdpYXUgbmVndSB2aWVuxIUga2FydMSFJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdJbWFnZSBGaWxlIEV4dGVuc2lvbnMgdGhhdCBVc2VycyBhbGxvd2VkIHRvIHVwbG9hZCc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5PbkRlbGV0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+T25DcmVhdGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGdyb3VwIGRlc2NyaXB0aW9uPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpbmZvIGlzIHVwZGF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBkZWxldGVkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIEdyb3VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogVGhlIGZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgaW4gdGhlc2UgZmllbGRzOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gV2hlbiB1c2luZyB0aGUgeyRncm91cH0gbWFjcm8sIHRoZSBzeXN0ZW0gd2lsbCBzdWJzaXR1dGUgdGhlIG5hbWUgb2YgdGhlIGZpcnN0IG1lbWJlciBncm91cCB0aGF0IHRoZSB1c2VyIGJlbG9uZ3MgdG8sIGFuZCB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnTmF1ZG90b2phcyB0b2tpdSB2YXJkdSBqYXUgZWd6aXN0dW9qYSc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdObyByZXN1bHRzIHJldHVybmVkIGZyb20gY3N2IGV4cG9ydCc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMZW5ndGggb2YgdXNlcm5hbWUgZmllbGQnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTGVuZ3RoIG9mIHBhc3N3b3JkIGZpZWxkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IHBhc3N3b3JkIGxlbmd0aHMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggdXNlcm5hbWUgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnTmV0ZWlzaW5nYXMgZWwuIHBhJnNjYXJvbjt0byBhZHJlc2FzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnRWwuIHBhJnNjYXJvbjt0byBhZHJlc2FzICZzY2Fyb247aWFpIHPEhXNrYWl0YWkgbmVyYXN0YXMnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlbSBzZXR0aW5nIHByb3BlcnR5JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdOYXVkb3RvamFzIHByaWTEl3RhcyAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ05hdWRvdG9qYXMgaSZzY2Fyb247dHJpbnRhcyB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdTYXZ5YsSXJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWx1ZSAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1dhcm5pbmc6IFRoZXNlIGZpZWxkcyBhZmZlY3QgdGhlIHNpemUgb2YgaW5wdXQgZmllbGRzIGZvciBmb3Jtcy4gIERlY3JlYXNpbmcgdGhpcyBudW1iZXIgb24gYW4gZXhpc3Rpbmcgc2l0ZSBtYXkgbm90IGJlIGFkdmlzYWJsZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFkanVzdCB0aGUgbW9kdWxlIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRWwuIHBhJnNjYXJvbjt0byBhZHJlc2FzIGphdSB5cmEgbmF1ZG9qYW1hcyc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdVc2UgY29va2llcyB0byByZW1lbWJlciBsb2dpbiBkZXRhaWxzJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGNvb2tpZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJ0xlaXN0aSB0xIUgcGF0xK8gZWwuIHBhJnNjYXJvbjt0byBhZHJlc8SFIGtlbGllbXMgbmF1ZG90b2phbXMnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnRW1haWwgYWRkcmVzcyBpcyB1c2VybmFtZSc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdBdHRlbXB0IHRvIGtlZXAgbG9naW5zIGFsaXZlIGJ5IHRoZSB1c2Ugb2YgYSBjb29raWUgPGVtPih0aGUgY29va2llIGlzIHJlc2V0IG9uIGFjdGl2aXR5IGluIHRoZSB3ZWJzaXRlKTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhhbGxvdyBtdWx0aXBsZSB1c2VycyB3aXRoIHRoZSBzYW1lIGVtYWlsIGFkZHJlc3MpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWVfaXNfZW1haWwnXSA9ICcodXNlciYjMDM5O3MgZW1haWwgYWRkcmVzcyBpcyB0aGVpciB1c2VybmFtZSAtLSBkb24mIzAzOTt0IHNldCB0aGlzIHdpdGggJnF1b3Q7YWxsb3cgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlcyZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnQWxsb3cgZHVwbGljYXRlICZxdW90O2ZvcmdvdCBwYXNzd29yZCZxdW90OyByZW1pbmRlcnM/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhhbGxvdyBhIHVzZXJzIHRvIHJlcXVlc3QgYSBwYXNzd29yZCByZXNldCwgZXZlbiBpZiB0aGV5IGhhdmVuJiMwMzk7dCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHlvdXIgdXBsb2FkZWQgZmlsZS4gIFBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnSsWrcyBuZcSvdmVkxJd0ZSBuYXVkb3Rvam8gdmFyZG8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ2VtYWlsJ10gPSAnSsWrcyBuZcSvdmVkxJd0ZSBzYXZvIGVsLiBwYSZzY2Fyb247dG8gYWRyZXNvJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ0rFq3MgbmXEr3ZlZMSXdGUgc2xhcHRhxb5vZMW+aW8nOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHdvcmsgb24gd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnRG8gbm90IGNyZWF0ZSBhIHByb3BlcnR5IGZvciB1c2VybmFtZSwgb3IgcGFzc3dvcmQgYXMgdGhlc2UgcHJvcGVydGllcyBhcmUgYnVpbHRpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydCBVc2VycyB0byBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9ydHVvdGknOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0dW90aSc7CiRsYW5nWydhZG1pbiddID0gJ0FkbWluJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnRWRpdCBQcm9wZXJ0eSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIExlbmd0aCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnU3VrdXJ0YXMnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydCBCeSc7CiRsYW5nWydzb3J0J10gPSAnU29ydGluZyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdOYXVkb3RvamFpIHBhc2lyaW5rdG9zZSBncnVwxJdzZSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdCByZXN1bHRzIHRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJyZTY2Fyb247aW8gbmF1ZG90b2pvIGVsLiBwYSZzY2Fyb247dG8gYWRyZXNhcyBuZXJhbmRhbWFzLiBLcmVpcGtpdMSXcyDEryBzaXN0ZW1vcyBhZG1pbmlzdHJhdG9yacWzLic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3IgRm9yZ290IFBhc3N3b3JkIGZvcm0nOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIENoYW5nZSBTZXR0aW5ncyBmb3JtJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9naW4gKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBsb2dvdXQgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdSxasmc2Nhcm9uO2lhdmltbyB0dmFya2EnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVzZXR0aW5nIGxvc3QgcGFzc3dvcmRzLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUGEmc2Nhcm9uO2FsaW50aSB2aXN1cyBkYXVnaWF1IG5lZ3Ugc2F2YWl0xJdzIHNlbnVtbyDEr3JhJnNjYXJvbjt1cyc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdQYSZzY2Fyb247YWxpbnRpIHZpc3VzIGRhdWdpYXUgbmVndSBtxJduZXNpbyBzZW51bW8gxK9yYSZzY2Fyb247dXMnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUGEmc2Nhcm9uO2FsaW50aSB2aXN1cyDEr3JhJnNjYXJvbjt1cyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXIgasWrcyDEr3NpdGlraW7EmXM/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnQW4gaW52YWxpZCBjb2RlIGhhcyBiZWVuIGVudGVyZWQsIHBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0EgdGVtcG9yYXJ5IGNvZGUgZm9yIHlvdXIgdXNlciBpZCBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCB0byBkaXNwbGF5IHZlcmlmaWNhdGlvbiBmb3JtJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIGZvciBmb3Jnb3R0ZW4gcGFzc3dvcmQgZW1haWwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VpdGhlciB5b3Vyc2VsZiBvciBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgdHJpZ2dlcmVkIGEgcGFzc3dvcmQgcmVzZXQgb3BlcmF0aW9uIGZvciB0aGlzIGFjY291bnQuICBDaGVjayB5b3VyIGVtYWlsLCB5b3UgbWF5IGhhdmUgZnVydGhlciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQgaW4geW91ciBpbmJveCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRHVvbWVuxbMgYmF6xJdzIGtsYWlkYSc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdZb3UgYXJlIHJlY2VpdmluZyB0aGlzIG1lc3NhZ2UgYmVjYXVzZSBzb21lYm9keSB0b2xkIG91ciBzaXRlIHRoYXQgeW91IGhhZCBsb3N0IHlvdXIgcGFzc3dvcmQuICBJZiB0aGlzIGlzIHRoZSBjYXNlLCByZWFkIHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cuICBJZiB5b3UgZG9uJiMwMzk7dCBoYXZlIGEgY2x1ZSB3aGF0IHRoaXMgaXMsIHRoZW4geW91IGFyZSBzYWZlIHRvIGRlbGV0ZSB0aGlzIG1lc3NhZ2UsIGFuZCB3ZSB0aGFuayB5b3UgZm9yIHlvdXIgdGltZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLb2Rhcyc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIHJhbmRvbWx5IGdlbmVyYXRlZCBpbiBvcmRlciB0byB2ZXJpZnkgdGhlIHVzZXIgYWNjb3VudC4gIHdoZW4geW91IGNsaWNrIG9uIHRoZSBsaW5rIGJlbG93IHlvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgZmllbGQgdG8gZW50ZXIgdGhpcyBjb2RlLiAgTm9ybWFsbHkgdGhlIGZpZWxkIGlzIHByZS1jb21wbGV0ZWQgZm9yIHlvdSwgYnV0IGluY2FzZSBpdCBpc24mIzAzOTt0IHRoZSBjb2RlIGlzOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0NsaWNraW5nIG9uIHRoZSBmb2xsb3dpbmcgbGluayB3aWxsIHRha2UgeW91IHRvIHRoZSB3ZWJzaXRlIHdoZXJlIHlvdSBjYW4gZW50ZXIgdGhlIGFib3ZlIGNvZGUsIGFuZCByZXNldCB5b3VyIHBhc3N3b3JkOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnUHJhcmFzdGFzIHNsYXB0YcW+b2Rpcyc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ25lcmFuZGFtYXMgQ01TTWFpbGVyIG1vZHVsaXMnOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnRWwuIGxhaSZzY2Fyb247a2FzIHN1IGluc3RydWtjaWpvbWlzLCBrYWlwIHBha2Vpc3RpIHNsYXB0YcW+b2TErywgaSZzY2Fyb247c2nFs3N0YXMgYWRyZXN1ICVzLiBBxI1pxashJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnxK52ZXNraXRlIG5hdWRvdG9qbyB2YXJkxIUgaXIgamVpZ3UgdG9rcyB2YXJkYXMgZWd6aXN0dW9qYSwgZWwuIGxhaSZzY2Fyb247a2FzIHN1IGluc3RydWtjaWpvbWlzLCBrYWlwIHBha2Vpc3RpIHNsYXB0YcW+b2TErywgYnVzIGp1bXMgaSZzY2Fyb247c2nFs3N0YXMuICc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ0ZvcmdvdCBQYXNzd29yZCBUZW1wbGF0ZXMnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdQcm9wZXJ0eSAlcyBub3QgZm91bmQnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ1Byb3BlcnRpZXMgZm91bmQnOwokbGFuZ1snYWRkcHJvcCddID0gJ1ByaWTEl3RpIHPEhXZ5YsSZJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdQcml2YWxvbWFzIGxhdWthcyAoJXMpIGJ1dm8gdHUmc2Nhcm9uO8SNaWFzJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnxK52ZXNraXRlIG5hdWrEhSBzbGFwdGHFvm9kxK8sIGplaSBub3JpdGUgcGFrZWlzdGkgZGFiYXJ0aW7Eryc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ0rFq3MgbmVwcmlzaWp1bmfEmXMnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ051c3RhdHltYWknOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyYWNpamEnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICcmU2Nhcm9uO2kgcGFza3lyYSBuZWJlZ2FsaW9qYSc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnSW1wcm9wZXIgZW1haWwgYWRkcmVzcyBmb3JtYXR0aW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnSW52YWxpZCBleHBpcnkgZGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3Igc2V0dGluZyBwcm9wZXJ0eSAlcyBmb3IgdXNlciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ0ludmFsaWQgZ3JvdXAgaWQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdIaWRkZW4gZmllbGQgbWFya2VyJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdIaWRkZW4gZmllbGQgY29sb3InOwokbGFuZ1snaGlkZGVuJ10gPSAnUGFzbMSXcHRhJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdBIHByb3BlcnR5IHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBwcm9wZXJ0aWVzIHdlcmUgc2VsZWN0ZWQgZm9yIHRoaXMgZ3JvdXAnOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBHcm91cHMgYXJlIGRlZmluZWQnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdSYXN0b3MgZ3J1cMSXcyc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnTWVtYmVyc2hpcCBpbiBhdCBsZWFzdCBvbmUgZ3JvdXAgaXMgcmVxdWlyZWQnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1JlcXVpcmUgbWVtYmVyc2hpcCBpbiBhdGxlYXN0IG9uZSBncm91cCc7CiRsYW5nWydiYWNrJ10gPSAnQXRnYWwnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJ2xhdWthcyAlcyB5cmEgcHJpdmFsb21hcyc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnTWFyayByZXF1aXJlZCBmaWVsZHMgd2l0aCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdIaWxpdGUgcmVxdWlyZWQgZmllbGRzIGluJzsKJGxhbmdbJ25leHQnXSA9ICdLaXRhcyc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0dydXDElyB0b2tpdSBwYXZhZGluaW11IGphdSB5cmEnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdCxat0aW5hcyc7CiRsYW5nWydvcHRpb25hbCddID0gJ0xhaXN2YWkgcGFzaXJlbmthbWFzJzsKJGxhbmdbJ29mZiddID0gJ0kmc2Nhcm9uO2p1bmd0YSc7CiRsYW5nWydzaXplJ10gPSAnRHlkaXMnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbXVtIHNpemUgb2YgYW55IG9uZSBkaW1lbnNpb24gb2YgdGhlIGltYWdlIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnSWxnaXMnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1RpcGFzJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXBhcyc7CiRsYW5nWydmaWVsZHN0YXR1cyddID0gJ0xhdWtlbGlvIHN0YXR1c2FzJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0FzayBpbiBMb3N0PGJyLz5Vc2VybmFtZSc7CiRsYW5nWyd0ZXh0J10gPSAnVGVrc3Rhcyc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTXVsdGkgU2VsZWN0IExpc3QnOwokbGFuZ1snaW1hZ2UnXSA9ICdQYXZlaWtzbGl1a2FzJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRWwuIHBhJnNjYXJvbjt0byBhZHJlc2FzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGFyZWEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1N2ZWlraSc7CiRsYW5nWydsb2dvdXQnXSA9ICdBdHNpanVuZ3RpJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVc2UgdGhpcyBncm91cCBuYW1lJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ0NoYW5nZSBNeSBTZXR0aW5ncyc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0xvZ2luIGZhaWxlZCAtIEludmFsaWQgdXNlcm5hbWUgb3IgcGFzc3dvcmQ/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnUHJpc2lqdW5ndGknOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdQcmlzaWp1bmdpbW8gbXlndHVrbyBldGlrZXTElyc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdOYXVkb3Rvam8gdmFyZGFzJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VsLiBwYSZzY2Fyb247dG8gYWRyZXNhcyc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdTbGFwdGHFvm9kaXMnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdQcmlzaW1pbmsgbWFuZSc7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdHJ1b3Rpcyc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ1XFvm1pciZzY2Fyb247b3RlIHNsYXB0YcW+b2TErz8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnVcW+bWlyJnNjYXJvbjtvdGUgcHJpc2lqdW5naW1vIGRldGFsZXM/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnTnVtYXR5dGknOwokbGFuZ1sndGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYXMnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSW5mb3JtYWNpamEgYXBpZSAmc2Nhcm9uO8SvIG5hdWRvdG9qxIUgbmVyYXN0YSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnTmF1ZG90b2pvIHZhcmRhcyAoJXMpIGphdSB5cmEgbmF1ZG9qYW1hcyc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNlIFNNVFAgdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbWFsdXMgbmF1ZG90b2pvIHZhcmRvIGlsZ2lzJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGltdW0gVXNlcm5hbWUgTGVuZ3RoJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gVGltZW91dCAoc2Vjb25kcyknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzZSBjb29raWVzIHRvIGtlZXAgbG9naW5zIGFsaXZlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnQWxsb3cgRW1haWwgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdOdW1hdHl0YSBncnVwxJcgbmF1amFtIG5hdWRvdG9qdWknOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdDaGFuZ2UgU2V0dGluZ3MgVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1NsYXB0YcW+b2TFvmlhaSBuZXN1dGFtcGEnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTmV0ZWlzaW5nYXMgbmF1ZG90b2pvIHZhcmRhcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdOZXRlaXNpbmdhcyBzbGFwdGHFvm9kaXMnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRhZ3VvdGkgbmF1ZG90b2phJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnR2FsaW9qYW50aXMnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOYXVkb3Rvam8gdmFyZGFzJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1c2FzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJyZTY2Fyb247aXMgbmF1ZG90b2phcyBuZXByaWtsYXVzbyBqb2tpYWkgZ3J1cGVpJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdOxJdyYSBzxIV2eWJpxbMnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdBdHRlbXB0IHRvIGltcG9ydCBkdXBsaWNhdGUgcHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZlcnTElyc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwxJdzJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdTYXZ5YsSXcyc7CiRsYW5nWydwcm9wbmFtZSddID0gJ1NhdnlixJdzIHZhcmRhcyc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdTYXZ5YsSXcyB2ZXJ0xJcnOwokbGFuZ1snYWRkJ10gPSAnUHJpZMSXdGknOwokbGFuZ1snaGlzdG9yeSddID0gJ0lzdG9yaWphJzsKJGxhbmdbJ2VkaXQnXSA9ICdLZWlzdGknOwokbGFuZ1snZXhwaXJlcyddID0gJ051c3RvamEgZ2FsaW90aSc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdTcGVjaWZ5IERhdGUnOwokbGFuZ1snMTJocnMnXSA9ICcxMiBIb3Vycyc7CiRsYW5nWycyNGhycyddID0gJzI0IEhvdXJzJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggSG91cnMnOwokbGFuZ1snMXdlZWsnXSA9ICcxIFdlZWsnOwokbGFuZ1snMndlZWtzJ10gPSAnMiBXZWVrcyc7CiRsYW5nWycxbW9udGgnXSA9ICcxIE1vbnRoJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIE1vbnRocyc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBNb250aHMnOwokbGFuZ1snMXllYXInXSA9ICcxIFllYXInOwokbGFuZ1snbmV2ZXInXSA9ICdOaWVrYWRhJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsaXMgaW5zdGFsaXVvdGFzIHPEl2ttaW5nYWkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdTbGFwdGHFvm9kaXMnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdWxJdsJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdHcnVwxJcgdG9raXUgcGF2YWRpbmltdSBqYXUgeXJhJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ1JlZGFndW90aSBncnVwxJknOwokbGFuZ1snc3VibWl0J10gPSAnUGF0ZWlrdGknOwokbGFuZ1snY2FuY2VsJ10gPSAnQXQmc2Nhcm9uO2F1a3RpJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1RyaW50aSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XG5UdXJuaW5nIGEgcHJvcGVydHkgb2ZmIHdpbGwgbm90IGRlbGV0ZSBhbnkgZW50cmllcyBpbiB0aGUgcHJvcGVydGllcyB0YWJsZSBmb3IgdGhpcyBncm91cC91c2VyLiAgVGhleSB3aWxsIG1lcmVseSBiZSB1bmF2YWlsYWJsZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0FyIGrFq3MgxK9zaXRpa2luxJlzLCBrYWQgbm9yaXRlIGkmc2Nhcm9uO3RyaW50aSAmc2Nhcm9uO2nEhSBncnVwxJk/Pyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbXBsZXRlbHkgZGVsZXRlIHRoaXMgcHJvcGVydHk/XG5Eb2luZyBzbyB3aWxsIGFsc28gZXJhc2UgYW55IHVzZXIgZW50cmllcyBmb3IgdGhpcyBwcm9wZXJ0eS4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IFBhcmFtZXRlcnMnOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyduYW1lJ10gPSAnVmFyZGFzJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbSBhZGRpbmcgcHJvcGVydHknOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwIHJlbGF0aW9uJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZW0gYWRkaW5nIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBhZGRpbmcgYSB1c2VyIHRvIGEgZ3JvdXAnOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eSddID0gJ1Byb2JsZW0gZGVsZXRpbmcgYSBwcm9wZXJ0eSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ0VsLiBwYSZzY2Fyb247dG8gYWRyZXNhcyBuZXJhc3Rhcyc7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnTm8gd3JpdGUgcGVybWlzc2lvbiB0byBkZXN0aW5hdGlvbiBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ05ldGVpc2luZ2kgcGFyYW1ldHJhaSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0pva2lhIGdydXDElyBuZXJhc3RhJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnUHJpdGFpa3l0aSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmFzJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdVc2VybmFtZSBSZWd1bGFyIEV4cHJlc3Npb24nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdBcHJhJnNjYXJvbjt5bWFzJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ0dydXDEl3MgcGF2YWRpbmltYXMnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHJpc2lqdW5naW1hcyBhdG1lc3Rhcyc7CiRsYW5nWydlcnJvciddID0gJ0tsYWlkYSc7CiRsYW5nWydhZGRncm91cCddID0gJ1ByaWTEl3RpIGdydXDEmSc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydHVvdGkgZ3J1cMSZJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdQcmlkxJd0aSBuYXVkb3RvasSFJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dydXDElyc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1Bhc2lyaW5rdGkgZ3J1cMSZJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhY2lqb3MgJnNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ0F0c2lqdW5naW1vICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ1ByaXNpanVuZ2ltbyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdOdXN0YXR5bWFpJzsKJGxhbmdbJ3VzZXJzJ10gPSAnTmF1ZG90b2phaSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGcm9udGVuZCBuYXVkb3RvasWzIHR2YXJreW1hcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0FsbG93IHVzZXJzIHRvIGxvZyBpbiB0byB0aGUgZnJvbnRlbmQgb2YgeW91ciBzaXRlJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdOdW1hdHl0YXNpcyBwcmllJnNjYXJvbjtha2luaXMgcHVzbGFwaXMnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0xhc3QgYWNjZXNzZWQgcGFnZSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdLaXRhcyBwdXNsYXBpczogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICfErnZlc2tpdGUgdGVrc3TEhSBwYXZlaWtzbGl1a3VpJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQogPGxpPjxlbT5sb3N0dXNlcm5hbWU8L2VtPiAtIERpc3BsYXkgdGhlIGxvc3QgdXNlcm5hbWUgZm9ybS48L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsb3N0dW5fZ3JvdXA9JnF1b3Q7Z3JvdXAmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb3N0dXNlcm5hbWUgZm9ybSwgdGhpcyBmZWF0dXJlIHNwZWNpZmllcyB0aGUgZnJvbnRlbmQgdXNlciBncm91cCB0byBhc3N1bWUgdGh0IHVzZXJzIGFyZSBtZW1iZXJzIG9mLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj1udWxsPC9saT4NCjxwPlRoZSBvbmx5IHBvc3NpYmxlIHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciBpcyAmcXVvdDt2aWV3dXNlciZxdW90OzwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD1udWxsPC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgdmlld3VzZXIgYWN0aW9uLiAgVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB3aGljaCB1c2VyIHRvIHZpZXcgdGhlIGRldGFpbHMgb2YuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMzMwMTE1NTMwNTc2MjU3OTAwMC4xMjIwMzQ1MDcwLjEyMjg5MDI4NDcuMTIyODk4NjM1MS4yMCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjg5ODYzNTEuMjAuMTUudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDI4MjE5LjAuaHRtbHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY29va2llc3RvcmVtZW1iZXInXSA9ICc8c3Ryb25nPk1lcms6IDwvc3Ryb25nPiBEZXR0ZSBiZW55dHRlciBtY3J5cHQgZnVua3Nqb25lbmUgZm9yIGtyeXB0ZXJpbmdzZm9ybSZhcmluZztsLCBvZyBkaXNzZSBibGUgaWtrZSBmdW5uZXQgcCZhcmluZzsgZGluIGluc3RhbGxhc2pvbi4gVmVubmxpZ3N0IGtvbnRha3QgZGluIHNlcnZlcmFkbWluaXN0cmF0b3IuJzsKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ1JlZGlnZXIgYnJ1a2VyJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnSWtrZSBicnVrIHNramVtYSBzb20gaW5saW5lJzsKJGxhbmdbJ2luZm9fbG9zdHVuJ10gPSAnS2xpa2sgaGVyIG9tIGR1IGlra2Uga2FuIGh1c2tlIGRpbmUgaW5ubG9nZ2luZ3NkZXRhbGplcic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3J10gPSAnS2xpa2sgaGVyIG9tIGR1IGlra2Uga2FuIGh1c2tlIGRpdHQgcGFzc29yZCc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ0tsaWtrIGhlciBmb3IgJmFyaW5nOyBsb2dnZSB1dCc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnS2xpa2sgaGVyIGZvciAmYXJpbmc7IGVuZHJlIGRpdHQgcGFzc29yZCBlbGxlciBhbm5lbiBpbmZvcm1hc2pvbic7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1ZpcyBicnVrZXIgbWFsJzsKJGxhbmdbJ2V2ZW50J10gPSAnSGVuZGVsc2UnOwokbGFuZ1snZmV1X2V2ZW50X25vdGlmaWNhdGlvbiddID0gJ0ZFVSBIZW5kZWxzZSB2YXJzZWwnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnVmFyc2VsIGVwb3N0YWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnVmFyc2xpbmcgRXBvc3RtYWwnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnVmFyc2xpbmcgRXBvc3RlbW5lJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25zJ10gPSAnRXBvc3R2YXJzbGluZyc7CiRsYW5nWydPbkxvZ2luJ10gPSAnVmVkIGlubmxvZ2dpbmcnOwokbGFuZ1snT25Mb2dvdXQnXSA9ICdWZWQgdXRsb2dnaW5nJzsKJGxhbmdbJ09uRXhwaXJlVXNlciddID0gJ1ZlZCB1dGwmb3NsYXNoO3AgYXYgc2Vzc2lvbic7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdWZWQgQnJ1a2VyIG9wcHJldHRldCc7CiRsYW5nWydPbkRlbGV0ZVVzZXInXSA9ICdWZWQgQnJ1a2VyIHNsZXR0ZXQnOwokbGFuZ1snT25VcGRhdGVVc2VyJ10gPSAnVmVkIGVuZHJpbmcgYXYgYnJ1a2VyaW5uc3RpbGxpbmdlcic7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnVmVkIG9wcHJldHRlbHNlIGF2IGJydWtlcmdydXBwZSc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnVmVkIHNsZXR0aW5nIGF2IGJydWtlcmdydXBwZSc7CiRsYW5nWydsb3N0dW5jb25maXJtX3ByZW1zZyddID0gJ0Z1bmtzam9uZW4gZm9yIG1pc3RldCBicnVrZXJuYXZuIGRldGFsamVyIGVyIGZ1bGxmJm9zbGFzaDtydC4gVmkgaGFyIGZ1bm5ldCBldCB1bmlrdCBicnVrZXJuYXZuIHNvbSBwYXNzZXIgdGlsIGRlIGRldGFsamVuZSBkdSBoYXIgb3BwZ2l0dC4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ0RpdHQgYnJ1a2VybmF2biBlcic7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICdWaSBhbmJlZmFsZXIgYXQgZHUgdGFyIHZhcmUgcCZhcmluZzsgZGVubmUgaW5mb3JtYXNqb25lbiBwJmFyaW5nOyBlbiBzaWtrZXIsIG1lbiB0aWxnamVuZ2VsaWcgcGxhc3MuJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgJmFyaW5nOyBob3BwZSB0aWwgZXR0ZXIgZW5kcmluZyBhdiBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ1BhZ2VJRC9BbGlhcyAmYXJpbmc7IGhvcHBlIHRpbCBldHRlciBrb2RlIGJla3JlZnRlbHNlIConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdHbGVtdCBCcnVrZXJuYXZuIGRldGFsam1hbCc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0dsZW10IEJydWtlcm5hdm4gYmVrcmVmdGVsc2VzbWFsJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRmVpbDogTWVyZSBlbm4gZW4gYnJ1a2Vya29udG8gcGFzc2VyIG1lZCBkZSBzcGVzaWZpc2VydGUgZWdlbnNrYXBlcic7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdGZWlsOiBLdW5uZSBpa2tlIGZpbm5lIGVuIGJydWtlciBzb20gcGFzc2VyJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdGZWlsOiBLdW5uZSBpa2tlIGZpbm5lIGVuIGdydXBwZSBtZWQgZGV0IG5hdm5ldCc7CiRsYW5nWydyZWFkb25seSddID0gJ1Nrcml2ZWJlc2t5dHRldCc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnQnJ1a2VyIE1hbmlwdWxhdG9yIEtsYXNzZSc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdMb2dnZXQgdXQgYXYgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnVmlzIGt1biBkZSBzb20gZXIgaW5ubG9nZ2V0JzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dnIHV0IGRlbm5lIGJydWtlcmVuJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0JydWtlciBlZ2Vuc2thcGVyJzsKJGxhbmdbJ3VzZXJoaXN0b3J5J10gPSAnQnJ1a2VyIGhpc3RvcmllJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0Vrc3BvcnRlcic7CiRsYW5nWydjbGVhciddID0gJ1Qmb3NsYXNoO20nOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnRWtzcG9ydGVyIEJydWtlcmhpc3RvcmllIHRpbCBBU0NJSSBmaWwgc29tIGVyIG1pbnN0JzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnVCZvc2xhc2g7bSBCcnVrZXJoaXN0b3JpZSBvcHBmJm9zbGFzaDtyaW5nZXIgc29tIGVyIG1pbnN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0dsZW10IGRpbmUgaW5ubG9nZ2luZ3NkZXRhbGplcj8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRWtzcG9ydGVyIGdydXBwZWRlZmluaXNqb24gKG9nIGVnZW5za2FwZXIpIHRpbCBYTUwnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ0JlaGFuZGxlIEJydWtlcmhpc3RvcmllJzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ25vJ10gPSAnTmVpJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ2F2JzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIEluZ2VuIGdyZW5zZSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdFbiB0aW1lIGdhbWxlJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1Nla3MgdGltZXIgZ2FtbGUnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVG9sdiB0aW1lciBnYW1sZSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ0VuIGRhZyBnYW1sZSc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdFbiB1a2UgZ2FtbGUnOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ1RvIHVrZXIgZ2FtbGUnOwokbGFuZ1snZGF0ZV9vbmVtb250aG9sZCddID0gJ0VuIG0mYXJpbmc7bmVkIGdhbWxlJzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICdUcmUgbSZhcmluZztuZWRlciBnYW1sZSc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1Nla3MgbSZhcmluZztuZWRlciBnYW1sZSc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdFdHQgJmFyaW5nO3IgZ2FtbGUnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3J1cHBlcmluZyBvZyBTb3J0ZXJpbmcnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ09wcGYmb3NsYXNoO3JpbmdlciBzb20gcGFzc2VyIGtyaXRlcmlldCc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ1N5bmtlbmRlIGJydWtlcm5hdm4nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ1N0aWdlbmRlIGJydWtlcm5hdm4nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ1N5bmtlbmRlIERhdG8nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnU3RpZ2VuZGUgRGF0byc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdTeW5rZW5kZSBIZW5kZWxzZXN0eXBlJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnU3RpZ2VuZGUgSGVuZGVsc2VzdHlwZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdTeW5rZW5kZSBJUC1hZHJlc3NlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnU3RpZ2VuZGUgSVAtYWRyZXNzZSc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnSWtrZSBub2UgaGlzdG9yaXNrIGZ1bm5ldCc7CiRsYW5nWydyZXNldCddID0gJ1RpbGJha2VzdGlsbCc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdHcnVwcGVyIGV0dGVyIElQLWFkcmVzc2UnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdIZW5kZWxzZXN0eXBlIEZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdWaXMga3VuIGhlbmRlbHNlciBzb20gZXIgbWluZHJlIGVubjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1NpZGVncmVuc2UnOwokbGFuZ1snZm9yJ10gPSAnZm9yICc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ0JydWtlcmhpc3RvcmllIHJhcHBvcnQnOwokbGFuZ1sndW5rbm93biddID0gJ1VramVudCc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAtYWRyZXNzZSc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnSGVuZGVsc2VzdHlwZSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdG8nOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1RpbGJha2UnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBvcHBnYXZlbiBlciBmZXJkaWcnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnTGluamVyIHByb3Nlc3NlcnQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0RldCBvcHBzdG9kIGZlaWwnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNhZGRlZCddID0gJ1Bvc3RlciBsYWd0IHRpbCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnS3VubmUgaWtrZSBmaW5uZSBlZ2Vuc2thcGVyIGZvciBncnVwcGUgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdGaWtrIGluZ2VuIHJlc3BvbnMgZnJhIFNNVFAgc2VydmVyZW4nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnU3Blc2lmaXNlcnRlIGZpbGVyICglcykgYmxlIGlra2UgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdVZ3lsZGlnIHZlcmRpIGZvciBuZWR0cmVrayBlbGxlciBmbGVydmFsZ3NmZWx0ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmVsdCAlcyBvdmVyc2tyaWRlciBtYWtzaW11bSBsZW5nZGUnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgRmVpbCAobGluamUgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnS3VubmUgaWtrZSBmJmFyaW5nOyB0YWsgaSBlZ2Vuc2thcCBkZWZpbmlzam9uZW5lIChpbnRlcm4gZmVpbCknOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdpbmZvJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBzZXR0ZSBicnVrZXJpbmZvJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIGVuIGtvbG9ubmUgc29tIHNhbXN2YXJ0ZSBtZWQgZGV0IG4mb3NsYXNoO2R2ZW5kaWdlIGZlbHRldCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0t1bm5lIGlra2UgZmlubmUgZWdlbnNrYXBlciBmb3IgZGVuIHNwZXNpZmlzZXJ0ZSBncnVwcGVuJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVmb3JtYXQnXSA9ICdGaWxlbiBvcHBnaXR0IGZvciBpbXBvcnQgZXIgaWtrZSBpIGtvcnJla3QgZm9ybWF0JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnXSA9ICdLdW5uZSBpa2tlICZhcmluZztwbmUgZmlsZW4nOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydGVyIEJydWtlcmUgdGlsIGRlbm5lIGdydXBwZW4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnSW5uZGF0YSBDU1YgZmlsJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnSW5uZGF0YSBYTUwgZmlsJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0Vrc3BvcnRlciBCcnVrZXJlJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0ltcG9ydGVyIEJydWtlcmUnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnVCZvc2xhc2g7bSc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0JpbGRlIG0mYXJpbmc7bHN0aSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0V0IHByb2JsZW0gaGFyIG9wcHN0JmFyaW5nO3R0IG1lZCBlbiBtYW5nbGVuZGUgKG1lbiBuJm9zbGFzaDtkdmVuZGlnKSBvcHBsYXN0aW5nJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdLdW5uZSBpa2tlIGJlaGFuZGxlIGRlbiB0aWxidWR0ZSBYTUwgZmlsZW4nOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0thbiBpa2tlIHNsZXR0ZSBlbiBncnVwcGUgc29tIGZvcnRzYXR0IGhhciBicnVrZXJlJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdEZW5uZSBicnVrZXJlbiBlciBhbGxlcmVkZSBpbm5sb2dnZXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGVrc3RlbiBmcmEgYmlsZGV0IGJsZSBpa2tlIHNrcmV2ZXQgcmlrdGlnJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdUaWxsYXRlciBicnVrZXJlICZhcmluZzsgbG9nZ2UgaW5uIG1lciBlbiBlbiBnYW5nJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdCaWxkZSBmaWxlbmRlbHNlciBzb20gYnJ1a2VyZSBmJmFyaW5nO3IgbG92ICZhcmluZzsgbGFzdGUgb3BwJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkVuIGhlbmRlbHNlL2V2ZW50IGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXIgc2xldHRlczwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIEJydWtlcm5hdm5ldDwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBCcnVrZXIgSURlbjwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5FbiBoZW5kZWxzZS9ldmVudCBnZW5lcmVydCBuJmFyaW5nO3IgZW4gYnJ1a2VyIG9wcHJldHRlczwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gQnJ1a2VybmF2bmV0PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEJydWtlciBJRGVuPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkVuIGhlbmRlbHNlIGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXIgZXIgb3BwZGF0ZXJ0IChlbnRlbiBhdiBicnVrZXJlbiBzZWx2IGVsbGVyIGF2IGFkbWluKTwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gQnJ1a2VybmF2bmV0PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEJydWtlcklEJiMwMzk7ZW48L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5FbiBoZW5kZWxzZS9ldmVudCBnZW5lcmVydCBuJmFyaW5nO3IgZW4gZ3J1cHBlIGVyIG9wcHJldHRldDwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gR3J1cHBlbmF2bmV0PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIEdydXBwZWJlc2tyaXZlbHNlbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBHcnVwcGUgSURlbjwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPkVuIGhlbmRlbHNlL2V2ZW50IGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBncnVwcGUgZXIgc2xldHRldDwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gR3J1cHBlbmF2bmV0PC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEdydXBwZSBJRGVuPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+RW4gaGVuZGVsc2UvZXZlbnQgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlciBsb2dnZXIgc2VnIGlubjwvcD4NCjxoND5QYXJhbWV0ZXJlPC9oND4NCjx1bD4NCjxsaT48ZW0+aWQ8L2VtPiAtIGlkJiMwMzk7ZW4gZm9yIGRlbiBpbm5sb2dnZWRlIGJydWtlcjwvbGk+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBOYXZuZXQgcCZhcmluZzsgYnJ1a2VyZW4gc29tIGVyIGxvZ2dldCBpbm48L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gV2Via2xpZW50ZW5zIElQIGFkcmVzc2UgPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkVuIGhlbmRlbHNlL2V2ZW50IGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXIgbG9nZ2VyIHV0PC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTmF2bmV0IHAmYXJpbmc7IGJydWtlcmVuIHNvbSBlciBsb2dnZXQgdXQ8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gQnJ1a2VyIElEZW48L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPkVuIGhlbmRlbHNlL2V2ZW50IGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXJzZXNzaW9uIHV0bCZvc2xhc2g7cGVyPC9wPg0KPGg0PlBhcmFtZXRlcmVoND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIE5hdm5ldCBwJmFyaW5nOyBicnVrZXJlbiBzb20gdXRsJm9zbGFzaDtwPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIEJydWtlciBJRGVuIHRpbCBicnVrZXJlbiBzb20gdXRsJm9zbGFzaDtwPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnRW4gaGVuZGVsc2Ugc29tIGdlbmVyZXJlcyBuJmFyaW5nO3IgZW4gYnJ1a2VyIGxvZ2dlciBzZWcgaW5uIGkgc3lzdGVtZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0VuIGhlbmRlbHNlIHNvbSBnZW5lcmVyZXMgbiZhcmluZztyIGVuIGJydWtlciBsb2dnZXIgc2VnIHV0IGF2IHN5c3RlbWV0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnRW4gaGVuZGVsc2Ugc29tIGdlbmVyZXJlcyBuJmFyaW5nO3IgZW4gYnJ1a2VyLXNlc3Npb24gaGFyIHV0bCZvc2xhc2g7cHQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdFbiBoZW5kZWxzZSBnZW5lcmVydCBuJmFyaW5nO3IgZW4gYnJ1a2VyIGVyIG9wcHJldHRldCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0VuIGhlbmRlbHNlIGdlbmVyZXJ0IG4mYXJpbmc7ciBlbiBicnVrZXJzIGluZm8gZXIgb3BwZGF0ZXJ0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnRW4gaGVuZGVsc2UgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlcmtvbnRvIGVyIHNsZXR0ZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnRW4gaGVuZGVsc2UgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlcmdydXBwZSBlciBvcHByZXR0ZXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnRW4gaGVuZGVsc2UgZ2VuZXJlcnQgbiZhcmluZztyIGVuIGJydWtlcmdydXBwZSBlciBzbGV0dGV0JzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIGdydXBwZSc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIERlIGYmb3NsYXNoO2xnZW5kZSBtYWtyb2VyIGthbiBicnVrZXMgaSBkaXNzZSBmZWx0ZW5lOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gTiZhcmluZztyIHskZ3JvdXB9IG1ha3JvZW4gYnJ1a2VzLCB2aWwgc3lzdGVtZXQgYnl0dGUgdXQgbmF2bmV0IHAmYXJpbmc7IGRlbiBmJm9zbGFzaDtyc3RlIG1lZGxlbXNncnVwcGVuIHNvbSBicnVrZXJlbiBoJm9zbGFzaDtyZXIgdGlsLCBvZyB2aWwgb21kaXJyaWdlcmUgdGlsIGRlbiBzaWRlbi4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1JlZGlnZXIgZGV0dGUgZmVsdGV0IGZvciAmYXJpbmc7IGVuZHJlIGJydWtlcmVucyBwYXNzb3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdSZWRpZ2VyIGRldHRlIGZlbHRldCBmb3IgJmFyaW5nOyBlbmRyZSBicnVrZXJlbnMgcGFzc29yZCc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdFbiBicnVrZXIgbWVkIHNhbW1lIGJydWtlcm5hdm4gZmlubmVzIGFsbGVyZWRlJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ0luZ2VuIHJlc3VsdGF0ZXIgZnJhIGNzdiBla3Nwb3J0ZW4nOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnTGVuZ2RlbiBwJmFyaW5nOyBicnVrZXJuYXZuZmVsdGV0JzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ0xlbmdkZW4gcCZhcmluZzsgcGFzc29yZGZlbHRldCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluL01ha3MgbGVuZ2RlIHAmYXJpbmc7IHBhc3NvcmRldCBlciB1Z3lsZGlnJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdNaW4vTWFrcyBsZW5nZGUgcCZhcmluZzsgYnJ1a2VybmF2biBlciB1Z3lsZGlnJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdVZ3lsZGlnIGVwb3N0YWRyZXNzZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ1ZpIGt1bm5lIGlra2UgZmlubmUgZW4gZXBvc3RhZHJlc3NlIGZvciBkZW5uZSBrb250b2VuJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdLYW4gaWtrZSBsYWdyZSBicnVrZXJpbmZvcm1hc2pvbmVuJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ0thbiBpa2tlIGxhZ3JlIGVnZW5za2FwZW4nOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ0JydWtlciBsYWd0IHRpbCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ0JydWtlciBzbGV0dGV0IHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ0VnZW5za2FwZXInOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1ZlcmRpIChyZWd1bGFyIGV4cHJlc3Npb24pJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnQWR2YXJzZWw6IERpc3NlIGZlbHRlbmUgcCZhcmluZzt2aXJrZXIgc3Qmb3NsYXNoO3JyZWxzZW4gcCZhcmluZzsgaW5udGFzdGluZ3NmZWx0ZW5lIGkgc2tqZW1hZXIuICZBcmluZzsgbWluc2tlIGRpc3NlIHZlcmRpZW5lIHAmYXJpbmc7IGV0IGVrc2lzdGVyZW5kZSBuZXR0c3RlZCBlciBpa2tlICZhcmluZzsgYW5iZWZhbGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgZW5kcmUgZGVubmUgbW9kdWxlbnMgaW5uc3RpbGxpbmdlcj8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0Vwb3N0YWRyZXNzZW4gZXIgYWxsZXJlZGUgaSBicnVrJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ0JydWsgaW5mb3JtYXNqb25za2Fwc2xlcihjb29raWVzKSBmb3IgJmFyaW5nOyBodXNrZSBpbm5sb2dnaW5nc2RldGFsamVyJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnTmF2bmV0IHAmYXJpbmc7IGluZm9ybWFzam9uc2thcHNlbGVuKGNvb2tpZSknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdUaWxsYXQgaWRlbnRpc2tlIGVwb3N0YWRyZXNzZXInOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnRXBvc3RhZHJlc3NlIGVyIGJydWtlcm5hdm4nOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnRm9ycyZvc2xhc2g7ayAmYXJpbmc7IGhvbGRlIGlubmxvZ2dpbmdlbiB2ZWQgbGl2ZSB2ZWQgJmFyaW5nOyBiZW55dHRlIGVuIGluZm9ybWFzam9uc2thcGVsIDxlbT4oaW5mb3JtYXNqb25za2Fwc2VsZW4gdmlsIGJsaSB0aWxiYWtlc2F0dCBuJmFyaW5nO3IgZHUgZXIgYWt0aXYgcCZhcmluZzsgbmV0dHN0ZWRldCk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcodGlsbGF0IGZsZXJlIGJydWtlcmUgbWVkIHNhbW1lIGVwb3N0YWRyZXNzZSknOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyhicnVrZXJzIGVwb3N0YWRyZXNzZSBlciBkZXJlcyBicnVrZXJuYXZuIC0tIGlra2Ugc2V0dCBkZXR0ZSBzYW1tZW4gbWVkICZxdW90O1RpbGxhdCBpZGVudGlza2UgZXBvc3RhZHJlc3NlciZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnVGlsbGF0IGZsZXJlICZxdW90O2dsZW10IHBhc3NvcmQmcXVvdDsgcCZhcmluZzttaW5uZWxzZXI/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyh0aWxsYXQgYXQgZW4gYnJ1a2VyIGJlciBvbSBudWxsc3RpbGxpbmcgYXYgcGFzc29yZGV0LCBzZWx2IG9tIGRlIGlra2UgaGFyIGJlbnl0dGV0IGRldCBmb3JyaWdlKSc7CiRsYW5nWydwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJ0Jlbnl0dCBGcm9udC1lbmQgVXNlciBzcGVzaWZpa2UgdGlsbGF0ZWxzZXI/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWx0IGVyLCBGRVVzZXIgdGlsbGF0ZWxzZXIgZGUgc2FtbWUgc29tIHRpbHN2YXJlbmRlIEFkbWluLW9tciZhcmluZztkZSB0aWxsYXRlbHNlciAtIExlZ2cgdGlsIGJydWtlciwgTGVnZyB0aWwgZ3J1cHBlLCBvc3YuIE9tIGR1IGhha2VyIGF2IGhlciwgdmlsIGRldCB2JmFlbGlnO3JlIGFkc2tpbHRlL2VnbmUgdGlsbGF0ZWxzZXIgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnS2xhcnRlIGlra2UgJmFyaW5nOyBmaW5uZSBkZW4gb3BwbGFzdGVkZSBmaWxhIChpbnRlcm4gZmVpbCknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdEZXQgZXIgZXQgcHJvYmxlbSBtZWQgZGluIG9wcGxhc3RlZGUgZmlsLiBWZW5ubGlnc3QgZm9ycyZvc2xhc2g7ayBwJmFyaW5nOyBueXR0JzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0R1IG9wcGdhIGlra2UgYnJ1a2VybmF2bic7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdEdSBvcHBnYSBpa2tlIGVuIGVwb3N0YWRyZXNzZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdEdSBvcHBnYSBpa2tlIHBhc3NvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIGJydWtlciB1dGxvZ2dpbmcnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnRnJvbnRlbmQgYnJ1a2VyIGlubmxvZ2dpbmcnOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5WJkFFbGlnO1IgVkFSU09NPC9iPiBuJmFyaW5nO3IgZWtzaXN0ZXJlbmRlIGVnZW5za2FwZXIgc29tIGVyIHRpbGVnbmV0IGdydXBwZXIgZm9yYW5kcmVzLCBkdSBrYW4ga29tbWUgaSBza2FkZSBmb3IgJmFyaW5nOyAmb3NsYXNoO2RlbGVnZ2Ugbm9lIG9nIGRlcm1lZCBuZXR0c3RlZGV0IDxpPihzcGVzaWVsdCBodmlzIGR1IG1pbnNrZXIgZmVsdGxlbmdkZXIsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ0Rlbm5lIGZ1bmtzam9uZW4gdmlya2VyIGlra2UgaSBXaW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdJa2tlIG9wcHJldHQgZWdlbnNrYXBlciBmb3IgYnJ1a2VybmF2biBlbGxlciBwYXNzb3JkIGRhIGRpc3NlIGVnZW5za2FwZW5lIGVyIGlubmVieWdnZXQgaSBzZWx2ZSBGcm9udEVuZFVzZXIgbW9kdWxlbi4nOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0Vrc3BvcnRlciBicnVrZXJlIHRpbCBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9ydGVyJzsKJGxhbmdbJ2ltcG9ydGNzdiddID0gJ0ltcG9ydGVyJzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4gJzsKJGxhbmdbJ2VkaXRwcm9wJ10gPSAnUmVkaWdlciBlZ2Vuc2thcCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYWtzIGxlbmdkZSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnRlciBldHRlcic7CiRsYW5nWydzb3J0J10gPSAnU29ydGVyZXInOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnQnJ1a2VyZSBpIHZhbGd0KGUpIGdydXBwZShyKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdCZWdyZW5zIHJlc3VsdGF0ZW5lIHRpbCc7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIGV0IGVwb3N0ZmVsdCBmb3IgZGVubmUgYnJ1a2VyZW4uIER1IG0mYXJpbmc7IGthbnNramUga29udGFrdGUgc3lzdGVtYWRtaW5pc3RyYXRvcmVuJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnU2lkZUlEL0FsaWFzIGZvciBza2plbWFldCBHbGVtdCBwYXNzb3JkJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnU2lkZUlEL0FsaWFzIGZvciBza2plbWFldCBFbmRyZSBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnU2lkZUlEL0FsaWFzIGRldCBza2FsIGhvcHBlcyB0aWwgZXR0ZXIgaW5ubG9nZ2luZyAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1NpZGVJRC9BbGlhcyBkZXQgc2thbCBob3BwZXMgdGlsIGV0dGVyIHV0bG9nZ2luZyAqJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1NvcnRlcmluZ3NyZWtrZWYmb3NsYXNoO2xnZSc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdOb2VuIGJydWtlcmUgaG9sZGVyIHAmYXJpbmc7ICZhcmluZzsgZm9yYW5kcmUgcGFzc29yZGVuZSBzaW5lLiBOJmFyaW5nOyBlciBkZXR0ZSBhbnRhbGxldDogJzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnIHNvbSBlciBtZXIgZW5uIGVuIHVrZSBnYW1sZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdGamVybiBhbGxlIGlubmxlZ2cgc29tIGVyIG1lciBlbm4gZW4gbSZhcmluZztuZWQgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRmplcm4gYWxsZSBpbm5sZWdnJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdFciBkdSBzaWtrZXI/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnRW4gdWd5bGRpZyBrb2RlIGVyIGxhZ3QgaW5uLCB2ZW5ubGlnc3QgcHImb3NsYXNoO3YgaWdqZW4uJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdFbiBtaWRsZXJ0aWRpZyBrb2RlIGZvciBkaW4gYnJ1a2VySUQgYmxlIGlra2UgZnVubmV0IGkgZGF0YWJhc2VuJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnTWFsIHNvbSBiZW55dHRlcyBmb3IgJmFyaW5nOyB2aXNlIHZlcmlmaWthc2pvbnNza2plbWFldCc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnTWFsIHNvbSBiZW55dHRlcyBwJmFyaW5nOyBnbGVtdCBwYXNzb3JkIGVwc290ZW4nOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VuZHJpbmcgYXYgcGFzc29yZCBmb3IgZGVubmUga29udG9lbiBlciBhbGxlcmVkZSBzYXR0IGkgZ2FuZyBhdiBkZWcgZWxsZXIgbm9lbiBhbm5lbi4gU2pla2sgZS1wb3N0ZW4gZGluLCBkdSBrYW4gaGEgbW90dGF0dCB2aWRlcmUgaW5zdHJ1a3Nqb25lciBvbSBodm9yZGFuIGRldHRlIHNrYWwgZ2plbm5vbWYmb3NsYXNoO3Jlcy4gJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBmZWlsJzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ0R1IGYmYXJpbmc7ciBkZW5uZSBtZWxkaW5nZW4gZm9yZGkgbm9lbiBoYXIgZm9ydGFsdCB2JmFyaW5nO3IgbmV0dHNpZGUgYXQgZHUgaGFyIG1pc3RldCBkaXR0IHBhc3NvcmQuICBPbSBkZXR0ZSBlciBrb3JyZWt0LCBsZXMgaW5zdHJ1a3Nqb25lbmUgbmVkZW5mb3IuICBPbSBkdSBpa2tlIHNraiZvc2xhc2g7bm5lciBodmEgZGV0dGUga2FuIHYmYWVsaWc7cmUsIHMmYXJpbmc7IGthbiBkdSB0cnlndCBzbGV0dGUgZGVubmUgbWVsZGluZ2VuLCBvZyB2aSB0YWtrZXIgZm9yIGRpbiBvcHBtZXJrc29taGV0Lic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0tvZGUnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnRGVuIGYmb3NsYXNoO2xnZW5kZSBrb2RlIGhhciBibGl0dCBnZW5lcmVydCB0aWxmZWxkaWcgZm9yICZhcmluZzsgZ2plbmtqZW5uZSBicnVrZXJrb250b2VuLiAgbiZhcmluZztyIGR1IGtsaWtrZXIgbGlua2VuIG5lZGVuZm9yIHZpbCBkdSBmJmFyaW5nOyBvcHAgZXQgZmVsdCBmb3IgJmFyaW5nOyBza3JpdmUgaW5uIGRlbm5lIGtvZGVuLiAgTm9ybWFsIGVyIGZlbHRldCBmb3JoJmFyaW5nO25kc3V0ZnlsdCBmb3IgZGVnLCBtZW4gaSB0aWxmZWxsZSBkZXQgaWtrZSBlciAtIHMmYXJpbmc7IGVyIGtvZGVuOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0h2aXMgZHUga2xpa2tlciBwJmFyaW5nOyBsaW5rZW4gc29tIGYmb3NsYXNoO2xnZXIgdmlsIGR1IGJsaSBmJm9zbGFzaDtydCB0aWwgZW4gbmV0dHNpZGUgaHZvciBkdSBrYW4gbGVnZ2UgaW5uIHZlZGxhZ3RlIGtvZGUgb2cgbGVnZ2UgaW5uIG55dHQgcGFzc29yZC4nOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0dsZW10IHBhc3NvcmQnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIENNU01haWxlciBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0VuIGVwb3N0IGVyIGJsaXR0IHNlbmR0IHRpbCAlcyBtZWQgaW5zdHJ1a3Nqb25lciBvbSBodm9yZGFuIHBhc3NvcmRldCBrYW4gbGVnZ2VzIGlubiBwJmFyaW5nOyBueS4gVGFray4nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdTJmFyaW5nOyBkdSBoYXIgZ2xlbXQgZWxsZXIgbWlzdGV0IHBhc3NvcmRldCBkaXR0LiBWZWwsIGxlZ2cgaW5uIGJydWtlcm5hdm5ldCBkaXR0IGhlciBzJmFyaW5nOyBza2FsIHZpIHNlbmRlIGRlZyBlbiBlcG9zdCBvbSBodm9yZGFuIGR1IGthbiB0aWxiYWtlc3RpbGxlIGRldC4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGdsZW10IHBhc3NvcmQnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnJiMwMzk7TWlzdGV0IGJydWtlcm5hdm4mIzAzOTsgbWFsJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ0VnZW5za2FwICVzIGlra2UgZnVubmV0JzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdFZ2Vuc2thcCBmdW5uZXQnOwokbGFuZ1snYWRkcHJvcCddID0gJ0xlZ2cgdGlsIGVnZW5za2FwJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdFdCBvYmxpZ2F0b3Jpc2sgZmVsdCAoJXMpIHZhciB0b210JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnRXZ0LiBueXR0IHBhc3NvcmQgaGVyIGZvciAmYXJpbmc7IGVuZHJlIGRldCBla3Npc3RlcmVuZGUnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdEZXQgc2VyIGlra2UgdXQgdGlsIGF0IGR1IGVyIGlubmxvZ2dldCc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnSW5uc3RpbGxpbmdlcic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJlcmluZyc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ0tvbnRvZW4gaGFyIHV0bCZvc2xhc2g7cHQnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ0ZlaWwgcCZhcmluZzsgZXBvc3RhZHJlc3NlbnMgZm9ybWF0ZXJpbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdVZ3lsZGlnIHV0bCZvc2xhc2g7cHNkYXRvLiBEZXR0ZSBrYW4gdiZhZWxpZztyZSBzeXN0ZW1yZWxhdGVydC4gRm9ycyZvc2xhc2g7ayBtZWQgJmFyaW5nOyBzZXR0ZSBldCB0aWRsaWdlcmUgJmFyaW5nO3IuJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdGZWlsIHZlZCBzZXR0aW5nIGF2IGVnZW5za2FwICVzIGZvciBicnVrZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdVZ3lsZGlnIGdydXBwZUlEICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWVya2UgZm9yIHNranVsdCBmZWx0JzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdGYXJnZSBmb3Igc2tqdWx0IGZlbHQnOwokbGFuZ1snaGlkZGVuJ10gPSAnU2tqdWx0JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFbiBlZ2Vuc2thcCBtZWQgZGV0IG5hdm5ldCBlciBhbGxlcmVkZSBkZWZpbmVydCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdJbmdlbiBlZ2Vuc2thcCBkZWZpbmVydCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ0luZ2VuIGVnZW5za2FwZXIgYmxlIHZhbGd0IGZvciBkZW5uZSBncnVwcGVuJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnSW5nZW4gZ3J1cHBlciBlciBkZWZpbmVydCc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ0dydXBwZXIgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdEZXQgbSZhcmluZzsgdGlsZGVsZXMgbWVkbGVtc2thcCBmb3IgbWluc3QgZW4gZ3J1cHBlICc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnS3JldiBtZWRsZW1za2FwIGZvciBtaW5zdCBlbiBncnVwcGUnOwokbGFuZ1snYmFjayddID0gJ1RpbGJha2UnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGZlbHRldCBtJmFyaW5nOyBmeWxsZXMgdXQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01lcmsgb2JsaWdhdG9yaXNrZSBmZWx0IG1lZCAnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnVXRoZXYgb2JsaWdhdG9yaXNrZSBmZWx0IG1lZCc7CiRsYW5nWyduZXh0J10gPSAnTmVzdGUnOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdFbiBncnVwcGUgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ09ibGlnYXRvcmlzayc7CiRsYW5nWydvcHRpb25hbCddID0gJ1ZhbGdmcml0dCc7CiRsYW5nWydvZmYnXSA9ICdBdic7CiRsYW5nWydzaXplJ10gPSAnU3Qmb3NsYXNoO3JyZWxzZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1ha3Mgc3Qmb3NsYXNoO3JyZWxzZSBpIHBpeGxlciBmb3IgZW5odmVyIGRpbWVuc2pvbiBwJmFyaW5nOyBiaWxkZXQpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0xlbmdkZSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihib2tzdGF2ZXIgaSB0ZWtzdGlubnNrcml2aW5nZW4pJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdOZWR0cmVra3N2YWxnLCBzZXBhcmVydCBtZWQgbGluamVza2lmdC4gVmVyZGllciBrYW4gc2VwYXJlcmVzIGZyYSB0ZWtzdCBtZWQgZXQgPSB0ZWduLiBGLmVrcy4gSHVubmtqJm9zbGFzaDtubj1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1NwJm9zbGFzaDtyJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRmVsdCBTdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnU3Amb3NsYXNoO3IgaSBNaXN0ZXQ8YnIvPmJydWtlcm5hdm4nOwokbGFuZ1sndGV4dCddID0gJ1Rla3N0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQXZrcnlzc25pbmdzYm9rcyc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ0ZsZXJ2YWxnc2xpc3RlJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZGUnOwokbGFuZ1snZW1haWwnXSA9ICdFcG9zdGFkcmVzc2UnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdG9tciZhcmluZztkZSc7CiRsYW5nWydkcm9wZG93biddID0gJ05lZHRyZWtrc21lbnknOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWZWxrb21tZW4nOwokbGFuZ1snbG9nb3V0J10gPSAnTG9nZyB1dCc7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnQmVueXR0IGRldHRlIGdydXBwZW5hdm5ldCc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdGb3JhbmRyZSBtaW5lIGlubnN0aWxsaW5nZXInOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdJbm5sb2dnaW5nIG1pc3NseWtrZXQgLSB1Z3lsZGlnIGJydWtlcm5hdm4gZWxsZXIgcGFzc29yZD8nOwokbGFuZ1snbG9naW4nXSA9ICdMb2dnIGlubic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ0xvZ2cgaW5uIGtuYXBwIGV0aWtldHQnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bic7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdFcG9zdGFkcmVzc2UnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFzc29yZCc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ0h1c2sgbWVnIHAmYXJpbmc7IGRlbm5lIGRhdGFtYXNraW5lbic7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdHJlcic7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0dsZW10IHBhc3NvcmRldD8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnSGFyIGR1IGdsZW10IGlubmxvZ2dpbmdzZGV0YWxqZW5lPyc7CiRsYW5nWydkZWZhdWx0cyddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnTWFsJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0t1bm5lIGlra2UgZmlubmUgaW5mb3JtYXNqb24gb20gZGVubmUgYnJ1a2VyZW4nOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVrZXJuYXZuZXQgKCVzKSBlciBhbGxlcmVkZSBpIGJydWsnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ0JydWsgU01UUCBmb3IgJmFyaW5nOyBrb250cm9sbGVyZSBlcG9zdGFkcmVzc2VyPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbXVtIGxlbmdkZSBwJmFyaW5nOyBwYXNzb3JkJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ01ha3NpbXVtIGxlbmdkZSBwJmFyaW5nOyBwYXNzb3JkJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltdW0gTGVuZ2RlIHAmYXJpbmc7IGJydWtlcm5hdm4nOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWFrc2ltdW0gbGVuZ2RlIHAmYXJpbmc7IGJydWtlcm5hdm4nOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnU2Vzc2lvbiBUaW1lb3V0IChzZWt1bmRlciknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ0JydWsgY29va2llcyBmb3IgJmFyaW5nOyBob2xkZSBpbm5sb2dnaW5nZW4gdmVkIGxpdic7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ1RpbGxhdCBlLXBvc3QgcmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdTdGFuZGFyZGdydXBwZSBmb3IgbnllIGJydWtlcmUnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGZvcmFuZHJlIGJydWtlcmRhdGEnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ1Bhc3NvcmRlbmUgZXIgaWtrZSBsaWtlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VneWxkaWcgYnJ1a2VybmF2bic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdVZ3lsZGlnIHBhc3NvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRpZ2VyIGJydWtlcic7CiRsYW5nWyd2YWxpZCddID0gJ0d5bGRpZyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWtlcm5hdm4nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdEZW5uZSBicnVrZXJlbiBlciBpa2tlIG1lZGxlbSBhdiBub2VuIGdydXBwZSc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnSW5nZW4gZWdlbnNrYXBlcic7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0ZvcnMmb3NsYXNoO2sgJmFyaW5nOyBpbXBvcnRlcmUgZHVwbGlrYXRlIGVnZW5za2FwZXInOwokbGFuZ1sndmFsdWUnXSA9ICdWZXJkaSc7CiRsYW5nWydncm91cHMnXSA9ICdHcnVwcGVyJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdFZ2Vuc2thcGVyJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnRWdlbnNrYXBlbnMgTmF2biAnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnRWdlbnNrYXBlbnMgdmVyZGknOwokbGFuZ1snYWRkJ10gPSAnTGVnZyB0aWwnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcmllJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdVdGwmb3NsYXNoO3Blcic7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdTcGVzaWZpc2VyIGRhdG8nOwokbGFuZ1snMTJocnMnXSA9ICcxMiB0aW1lcic7CiRsYW5nWycyNGhycyddID0gJzI0IHRpbWVyJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggdGltZXInOwokbGFuZ1snMXdlZWsnXSA9ICcxIHVrZSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIFVrZXInOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBNJmFyaW5nO25lZCc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNJmFyaW5nO25lZGVyJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IE0mYXJpbmc7bmVkZXInOwokbGFuZ1snMXllYXInXSA9ICcxICZBcmluZztyJzsKJGxhbmdbJ25ldmVyJ10gPSAnQWxkcmknOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnVmVsbHlra2V0IGluc3RhbGxhc2pvbiBhdiBtb2R1bGVuLjxici8+SHVzayAmYXJpbmc7IGFrdGl2aXNlcmUgICZxdW90O01vZGlmeSBGcm9udEVuZFVzZXIgUHJvcGVydGllcyBwZXJtaXNzaW9uLiZxdW90Ow0KSSB0aWxsZWdnLCBhbmJlZmFsZXIgdmkgZGVnICZhcmluZzsgaW5zdGFsbGVyZSBDYXB0Y2hhIG1vZHVsZW4uICBPbSBkZW5uZSBlciBpbnN0YWxsZXJ0LCBlbiBneWxkaWdoZXRzdGVzdCBhdiBldCBjYXB0Y2hhYmlsZGUgdmlsIGtyZXZlcyBpIHRpbGxlZ2cgdGlsIGJydWtlcm5hdm4gb2cgcGFzc29yZCBmb3IgJmFyaW5nOyBsb2dnZSBpbm4uIE1lbmluZ2VuIG1lZCBkZXR0ZSBlciAmYXJpbmc7IGhpbmRyZSBicnV0ZSBmb3JjZSBhbmdyZXAuICA8c3Ryb25nPk1lcms6PC9zdHJvbmc+IFBhcmFtZXRlcmVuIG5vY2FwdGNoYSBrYW4gYmVueXR0ZXMgZm9yICZhcmluZzsgc2wmYXJpbmc7IGF2IGRlbm5lIGZ1bmtzam9uZW4gc2VsdiBvbSBDYXB0Y2hhIG1vZHVsZW4gZXIgaW5zdGFsbGVydC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzb3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnR2plbnRhJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdFbiBncnVwcGUgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdSZWRpZ2VyIGdydXBwZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTZW5kJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydkZWxldGUnXSA9ICdTbGV0dCc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkZXR0ZSBlciBrb3JyZWt0ZSB2YWxnIGZvciBkZW5uZSBncnVwcGVuP1xuJkFyaW5nOyBzbCZhcmluZzsgZW4gZWdlbnNrYXAgYXYvb2ZmIHZpbCBpa2tlIHNsZXR0ZSBub2VuIGlubmxlZ2cgaSBlZ2Vuc2thcC10YWJlbGxlbiBmb3IgZGVubmUgZ3J1cHBlbi9icnVrZXJlbi4gIEVnZW5za2FwZW4gdmlsIGkgc3RlZGV0IGJsaSB1dGlsZ2plbmdlbGlnLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZ3J1cHBlbj8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGVnZW5za2FwZW4gaGVsdD9cbiZBcmluZzsgZ2omb3NsYXNoO3JlIGRldHRlIHZpbCBvZ3MmYXJpbmc7IHNsZXR0ZSBlbmh2ZXIgYnJ1a2VycyBpbm5sZWdnIGkgZGVubmUgZWdlbnNrYXBlbi4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnVWZ1bGxzdGVuZGlnZSBwYXJhbWV0cmUnOwokbGFuZ1snaWQnXSA9ICdJZCAnOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdQcm9ibGVtIG1lZCAmYXJpbmc7IGxlZ2dlIHRpbCBlZ2Vuc2thcCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBsZWdnZSB0aWwgZ3J1cHBlZWdlbnNrYXAnOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBsZWdnZSB0aWwgZ3J1cHBlJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBsZWdnZSBlbiBicnVrZXIgdGlsIGdydXBwZW4nOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGVwcm9wZXJ0eSddID0gJ1Byb2JsZW0gbWVkICZhcmluZzsgc2xldHRlIGVuIGVnZW5za2FwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnS3VubmUgaWtrZSBmaW5uZSBlbiBlcG9zdGFkcmVzc2UnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ0luZ2VuIHNrcml2ZXJldHRpZ2hldCBpIG0mYXJpbmc7bG1hcHBlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnVWd5bGRpZ2UgcGFyYW1ldGVyZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0t1bm5lIGlra2UgZmlubmUgbm9lbiBncnVwcGVyJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQnJ1ayc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmVyJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdCcnVrZXJuYXZuIHZhbmxpZyB1dHRyeWtrJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3JpdmVsc2UnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3J1cHBlbmF2bic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbmVrdGV0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVpbCc7CiRsYW5nWydhZGRncm91cCddID0gJ0xlZ2cgdGlsIGdydXBwZSc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGVyIEdydXBwZSc7CiRsYW5nWydhZGR1c2VyJ10gPSAnTGVnZyB0aWwgYnJ1a2VyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCcnVrZXJlIHNvbSBwYXNzZXIgbWVkIGtyaXRlcmllbmUnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcnVwcGUnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWZWxnIGdydXBwZSc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdNYWwgZm9yIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIHV0bG9nZ2luZyc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ01hbCBmb3IgaW5ubG9nZ2luZyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmFuc2VyJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQnJ1a2VyZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGcm9udGVuZCBVc2VyIEFkbWluaXN0cmFzam9uJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWRtaW5pc3RyZXIgRnJvbnRlbmQgVXNlcnMnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1N0YW5kYXJkIGZvcnNpZGUnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1Npc3RlIHZpc3RlIHNpZGUnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnQW5uZW4gc2lkZTogJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdPcHBnaSB0ZWtzdGVuIGZyYSBiaWxkZXQnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+Rm9yZ290IHBhc3N3b3JkLCBhbmQgZm9yZ290IHVzZXJuYW1lIGZ1bmN0aW9uYWxpdHkuLi4uIGFsbG93cyB1c2VycyB0byBzZXQgYSBuZXcgcGFzc3dvcmQsIGFuZC9vciB0byByZWNvdmVyIHRoZWlyIHVzZXJuYW1lIGlmIHRoZXkgY29tcGxldGVseSBmb3Jnb3QgbG9naW4gZGV0YWlscy48L3A+PC9saT4NCjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmYW1wO3F1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZhbXA7cXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlNtYXJ0eSBGdW5jdGlvbnM8L2gzPg0KPHA+U29tZSBsaW1pdGVkIGludGVyYWN0aW9uIHdpdGggdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGRhdGFiYXNlIGlzIHBvc3NpYmxlIHdpdGggc21hcnR5IGFuZCB0aGUgJGZldV9zbWFydHkgb2JqZWN0LjwvcD4NCjxoND5GdW5jdGlvbnM6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0mYW1wO2d0O2dldF91c2Vyc19ieV9ncm91cG5hbWUoJGdyb3VwbmFtZSwkYXNzaWduKX08L2NvZGU+PC9zdHJvbmc+DQo8cD5UaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGV4dHJhY3QgYW4gYXJyYXkgb2YgdXNlcm5hbWVzIGFuZCB1c2VyaWRzIGZvciBhbGwgdXNlcnMgdGhhdCBiZWxvbmcgdG8gdGhlIHNwZWNpZmllZCBncm91cC4gIFRoZSBvdXRwdXQgaXMgYXNzaWduZWQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIGluIHRoZSAmYW1wO3F1b3Q7YXNzaWduJmFtcDtxdW90OyBwYXJhbWV0ZXIuPC9wPg0KPHA+RXhhbXBsZTo8YnIvPjxjb2RlPnskZmV1X3NtYXJ0eS0mYW1wO2d0O2dldF91c2Vyc19ieV9ncm91cG5hbWUoJiMwMzk7bWVtYmVycyYjMDM5OywmIzAzOTtteW1lbWJlcnMmIzAzOTspfTxici8+eyRteW1lbWJlcnN8cHJpbnRfcn08L2NvZGU+PC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0mYW1wO2d0O2dldF91c2VyX3Byb3BlcnRpZXMoJHVpZCwkYXNzaWduKX08L2NvZGU+PC9zdHJvbmc+DQo8cD5UaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGV4dHJhY3QgYSBsaXN0IG9mIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgdXNlciBhbmQgYXNzaWduIHRoZW0gdG8gYSBzbWFydHkgdmFyaWFibGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuPC9wPg0KPHA+RXhhbXBsZTo8YnIvPjxjb2RlPnskZmV1X3NtYXJ0eS0mYW1wO2d0O2dldF91c2VyX3Byb3BlcnRpZXMoNSwmIzAzOTt1c2VycHJvcHMmIzAzOTspfTxici8+eyR1c2VycHJvcHN8cHJpbnRfcn08L2NvZGU+PC9wPg0KPC9saT4NCjwvdWw+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCiA8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gRGlzcGxheSB0aGUgbG9zdCB1c2VybmFtZSBmb3JtLjwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxvc3R1bl9ncm91cD0mcXVvdDtncm91cCZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvc3R1c2VybmFtZSBmb3JtLCB0aGlzIGZlYXR1cmUgc3BlY2lmaWVzIHRoZSBmcm9udGVuZCB1c2VyIGdyb3VwIHRvIGFzc3VtZSB0aHQgdXNlcnMgYXJlIG1lbWJlcnMgb2YuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSZxdW90OzEmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPW51bGw8L2xpPg0KPHA+VGhlIG9ubHkgcG9zc2libGUgdmFsdWUgZm9yIHRoaXMgcGFyYW1ldGVyIGlzICZxdW90O3ZpZXd1c2VyJnF1b3Q7PC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdWlkPW51bGw8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSB2aWV3dXNlciBhY3Rpb24uICBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCB0byBzcGVjaWZ5IHdoaWNoIHVzZXIgdG8gdmlldyB0aGUgZGV0YWlscyBvZi48L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzkwNTI2MjMwODQxMTAxMDAuMTIxMDQyMzU3Ny4xMjI5MTE5NTIzLjEyMjkyMDgwNDQuNzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyNzk5NTI4My43MTYuMjMudXRtY3NyPXRoZW1lcy5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS8nOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTIyOTIwODA0NCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ1dpanppZ2VuIGdlYnJ1aWtlcic7CiRsYW5nWydub2lubGluZSddID0gJ0dlYnJ1aWsgZ2VlbiAmcXVvdDtpbmxpbmUmcXVvdDsgZm9ybXVsaWVyZW4nOwokbGFuZ1snaW5mb19sb3N0dW4nXSA9ICdLbGlrIGhpZXIgd2FubmVlciBqZSBqZSBsb2dpbmdlZ2V2ZW5zIG5pZXQgbWVlciB3ZWV0JzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdLbGlrIGhpZXIgd2FubmVlciBqZSBqZSB3YWNodHdvb3JkIG5pZXQgbWVlciB3ZWV0JzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnS2xpayBoaWVyIG9tIHVpdCB0ZSBsb2dnZW4nOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0tsaWsgaGllciBvbSBqZSB3YWNodHdvb3JkIG9mIGFuZGVyZSBpbmZvcm1hdGllIHRlIHdpanppZ2VuICc7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ0Jla2lqayBnZWJydWlrZXJzc2phYmxvb24nOwokbGFuZ1snZXZlbnQnXSA9ICdHZWJldXJ0ZW5pcyc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnRkVVLWdlYmV1cnRlbmlzbWVsZGluZyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX2FkZHJlc3MnXSA9ICdFLW1haWxhZHJlcyB2b29yIG1lbGRpbmdlbic7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnRS1tYWlsc2phYmxvb24gdm9vciBtZWxkaW5nZW4nOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnRS1tYWlsb25kZXJ3ZXJwIHZvb3IgbWVsZGluZ2VuJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25zJ10gPSAnRS1tYWlsbWVsZGluZ2VuJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdCaWogbG9naW4nOwokbGFuZ1snT25Mb2dvdXQnXSA9ICdCaWogbG9nb3V0JzsKJGxhbmdbJ09uRXhwaXJlVXNlciddID0gJ0JpaiBzZXNzaWV2ZXJsb29wJzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ0JpaiBuaWV1d2UgZ2VicnVpa2VyIGFhbmdlbWFha3QnOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnQmlqIGdlYnJ1aWtlciB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ09uVXBkYXRlVXNlciddID0gJ0JpaiBnZWJydWlrZXJzaW5zdGVsbGluZ2VuIHZlcmFuZGVyZCc7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnQmlqIGdlYnJ1aWtlcnNncm9lcCBhYW5nZW1hYWt0JzsKJGxhbmdbJ09uRGVsZXRlR3JvdXAnXSA9ICdCaWogZ2VicnVpa2Vyc2dyb2VwIHZlcndpamRlcmQnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdEZSBmdW5jdGlvbmFsaXRlaXQgdmFuIHZlcmxvcmVubG9naW5nZWdldmVucyBpcyBhZmdlcm9uZC4gRXIgaXMgZWVuIHVuaWVrZSBnZWJydWlrZXJzbmFhbSBnZXZvbmRlbiBkaWUgb3ZlcmVlbmtvbXQgbWV0IGRlIGdlZ2V2ZW5zIGRpZSB1IGhlZWZ0IGluZ2V2b2VyZC4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ1V3IGdlYnJ1aWtlcnNuYWFtIGlzJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ1dlIGFkdmlzZXJlbiBkZXplIGluZm9ybWF0aWUgb3AgZWVuIHZlaWxpZ2UsIG1hYXIgdmluZGJhcmUgcGxhYXRzIHRlIGJld2FyZW4uJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdpbmFJRC8tYWxpYXMgZGllIGdlb3BlbmQgd29yZHQgbmEgaGV0IHdpanppZ2VuIHZhbiBkZSBpbnN0ZWxsaW5nZW4nOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnaW5hSUQvLWFsaWFzIG9tIHRlIHRvbmVuIG5hIGNvZGV2ZXJpZmljYXRpZSAqJzsKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnU2phYmxvb24gdm9vciB2ZXJsb3JlbiBnZWJydWlrZXJzbmFhbSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1NqYWJsb29uIHZvb3IgYmV2ZXN0aWdpbmcgdmVybG9yZW4gZ2VicnVpa2Vyc25hYW0nOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdGb3V0OiBtZWVyIGRhbiAmZWFjdXRlOyZlYWN1dGU7biBnZWJydWlrZXJzYWNjb3VudCBrd2FtIG92ZXJlZW4gbWV0IGRlIGdlc3BlY2lmaWNlZXJkZSBlaWdlbnNjaGFwcGVuJzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0ZvdXQ6IGthbiBnZWVuIG92ZXJlZW5rb21zdGlnZSBnZWJydWlrZXIgdmluZGVuJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdGb3V0OiBrYW4gZ2VlbiBncm9lcCBtZXQgZGllIG5hYW0gdmluZGVuJzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnQWxsZWVuIGxlemVuJzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdHZWJydWlrZXJzbWFuaXB1bGVlcmtsYXNzZSc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdVaXRnZWxvZ2QgZG9vciBiZWhlZXJkZXInOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ0FsbGVlbiBpbmdlbG9nZGUgZ2VicnVpa2VycyB0b25lbic7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnTG9nIGRlemUgZ2VicnVpa2VyIHVpdCc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdHZWJydWlrZXJzZWlnZW5zY2hhcHBlbic7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ0dlYnJ1aWtlcnNnZXNjaGllZGVuaXMnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0ZWVyJzsKJGxhbmdbJ2NsZWFyJ10gPSAnV2lzJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0dlYnJ1aWtlcnNnZXNjaGllZGVuaXMgbmFhciBBU0NJSSBleHBvcnRlcmVuIHZhbiBtaW5zdGVucyc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ0dlYnJ1aWtlcnNnZXNjaGllZGVuaXMgd2lzc2VuIHZhbiBtaW5zdGVucyc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdGb3JtdWxpZXIgVmVybG9yZW5nZWJydWlrZXJzbmFhbSc7CiRsYW5nWyd0aXRsZV9yc3NleHBvcnQnXSA9ICdHcm9lcGRlZmluaXRpZXMgKGVuIGVpZ2Vuc2NoYXBwZW4pIG5hYXIgWE1MIGV4cG9ydGVyZW4nOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ09uZGVyaG91ZCBnZWJydWlrZXJzZ2VzY2hpZWRlbmlzJzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ25vJ10gPSAnTmVlJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ1Zhbic7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBPbmJlZ3JlbnNkICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ2VlbiB1dXIgb3VkJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ3plcyB1dXIgb3VkJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ3R3YWFsZiB1dXIgb3VkJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnZWVuIGRhZyBvdWQnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnZWVuIHdlZWsgb3VkJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICd0d2VlIHdla2VuIG91ZCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnZWVuIG1hYW5kIG91ZCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnZHJpZSBtYWFuZGVuIG91ZCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ3plcyBtYWFuZGVuIG91ZCc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdlZW4gamFhciBvdWQnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3JvZXBlcmVuIGVuIHNvcnRlcmVuJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdSZWNvcmRzIGRpZSB2b2xkb2VuIGFhbiBkZSBjcml0ZXJpYSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ0FmbG9wZW5kZSBnZWJydWlrZXJzbmFhbSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnT3Bsb3BlbmRlIGdlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdBZmxvcGVuZGUgZGF0dW0nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnT3Bsb3BlbmRlIGRhdHVtJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ0FmbG9wZW5kZSBnZWJldXJ0ZW5pc3R5cGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdPcGxvcGVuZGUgZ2ViZXVydGVuaXN0eXBlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0FmbG9wZW5kIElQLWFkcmVzJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnT3Bsb3BlbmQgSVAtYWRyZXMnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0dlZW4gZ2VzY2hpZWRlbmlzIGdldm9uZGVuJzsKJGxhbmdbJ3Jlc2V0J10gPSAnSGVyc3RlbCc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdPcCBJUC1hZHJlcyBncm9lcGVyZW4nOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdHZWJldXJ0ZW5pc3R5cGVmaWx0ZXInOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnQWxsZWVuIGdlYmV1cnRlbmlzc2VuIHRvbmVuIGRpZSBtaW5kZXIgemlqbiBkYW46JzsKJGxhbmdbJ3Byb21wdF9wYWdlbGltaXQnXSA9ICdQYWdpbmFsaW1pZXQnOwokbGFuZ1snZm9yJ10gPSAndm9vcic7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ1JhcHBvcnQgZ2VicnVpa2Vyc2dlc2NoaWVkZW5pcyc7CiRsYW5nWyd1bmtub3duJ10gPSAnT25iZWtlbmQnOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0lQLWFkcmVzJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdHZWJldXJ0ZW5pc3R5cGUnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnVGVydWcnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydGVyZW4gZ2VzbGFhZ2QnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnUmVnZWxzIHZlcndlcmt0JzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdGb3V0ZW4gb3BnZXRyZWRlbic7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVjb3JkcyB0b2VnZXZvZWdkJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wcmVsbnMnXSA9ICdLYW4gZGUgZWlnZW5zY2hhcHBlbiB2YW4gZ3JvZXAgJXMgbmlldCB2aW5kZW4nOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdLcmVlZyBnZWVuIHJlYWN0aWUgdmFuIGRlIFNNVFAtc2VydmVyJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ09wZ2VnZXZlbiBiZXN0YW5kICglcykgaXMgbmlldCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnT25nZWxkaWdlIHdhYXJkZSB2b29yIGtldXplbGlqc3QtIG9mIG1lZXJzZWxlY3RpZXZlbGQgJXMnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnXSA9ICdWZWxkICVzIG92ZXJzY2hyaWpkdCBtYXhpbXVtIGxlbmd0ZSc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydGVlcmZvdXQgKHJlZ2VsICVzKTogJXMnOwokbGFuZ1snZXJyb3JfcHJvcGVydHlkZWZucyddID0gJ0RlIGVpZ2Vuc2NoYXBzZGVmaW5pdGllcyBuaWV0IGdldm9uZGVuIChpbnRlcm5lIGZvdXQpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZWVtIGJpaiBpbnN0ZWxsZW4gZ2VicnVpa2Vyc2luZm9ybWF0aWUnOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0dlZW4ga29sb20gZ2V2b25kZW4gZGllIG92ZXJlZW5rb210IG1ldCB2ZXJwbGljaHQgdmVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0dlZW4gZWlnZW5zY2hhcCBnZXZvbmRlbiB2b29yIG9wZ2VnZXZlbiBncm9lcCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnSGV0IGltcG9ydGJlc3RhbmQgaGVlZnQgbmlldCBoZXQgZ29lZGUgZm9ybWFhdCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnS2FuIGhldCBiZXN0YW5kIG5pZXQgb3Blbic7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5CZXN0YW5kc2Zvcm1hYXRpbmZvcm1hdGllPC9oND4NCjxwPkhldCBpbnZvZXJiZXN0YW5kIG1vZXQgaW4gQVNDSUktZm9ybWFhdCBzdGFhbiB3YWFyYmlqIGRlIHdhYXJkZW4gZ2VzY2hlaWRlbiB6aWpuIGRvb3IgZWVuIGtvbW1hLiBJZWRlcmUgcmVnZWwgaW4gZGl0IGJlc3RhbmQgKHVpdGdlem9uZGVyZCBkZSBrb3ByZWdlbCwgemllIGhpZXJvbmRlcikgdmVydGVnZW53b29yZGlndCBlZW4gZ2VicnVpa2Vycy1yZWNvcmQuIEllZGVyZSByZWdlbCBtb2V0IGhldHplbGZkZSBhYW50YWwgdmVsZGVuIGJldmF0dGVuIGVuIGRlIHZvbGdvcmRlIHZhbiBkZSB2ZWxkZW4gbW9ldCBpbiBpZWRlcmUgcmVnZWwgaWRlbnRpZWsgemlqbi48L3A+DQo8aDU+S29wcmVnZWw8L2g1Pg0KPHVsPg0KPGxpPkRlIGVlcnN0ZSByZWdlbCBpbiBoZXQgYmVzdGFuZCBtb2V0IGJlZ2lubmVuIG1ldCB0d2VlIGhhc2hlcyAoXCMpIGdldm9sZ2QgZG9vciBkZSBuYW1lbiB2YW4gZGUgdmVsZGVuIGluIGRlIGtvbG9tbWVuLiBEZSBuYW1lbiB2YW4gZGV6ZSB2ZWxkZW4gemlqbiBiZWxhbmdyaWprLiBFciB6aWpuIGVlbiBwYWFyIHZlcnBsaWNodGUgdmVsZGVuICh6aWUgaGllcm9uZGVyKSBlbiBhbmRlcmUgdmVsZG5hbWVuIG1vZXRlbiBvdmVyZWVua29tZW4gbWV0IGRlIGVpZ2Vuc2NoYXBzbmFtZW4gZ2Vhc3NvY2llZXJkIG1ldCBkZSBncm9lcCBnZWJydWlrZXJzIGRpZSB3b3JkdCB0b2VnZXZvZWdkLjwvbGk+DQo8bGk+SGV0IGltcG9ydGVyZW4gbWlzbHVrdCBhbHMgZGUgdmVsZGVuIGluIGhldCBiZXN0YW5kIG5pZXQgb3ZlcmVlbmtvbWVuIG1ldCBhbGxlIHZlcnBsaWNodGUgZWlnZW5zY2hhcHBlbiBnZWFzc29jaWVlcmQgbWV0IGRlIGdyb2VwIHdhYXJhYW4gZGUgZ2VicnVpa2VycyB3b3JkZW4gdG9lZ2V2b2VnZC48L2xpPg0KPGxpPkhldCBiZXN0YW5kIG1hZyB2ZWxkZW4gYmV2YXR0ZW4gZGllIGRlIG9wdGlvbmVsZSBlaWdlbnNjaGFwcGVuIGluIGVlbiBzcGVjaWZpZWtlIGdyb2VwIHZlcnRlZ2Vud29vcmRpZ2VuLjwvbGk+DQo8bGk+VGlqZGVucyBoZXQgaW1wb3J0ZXJlbiB3b3JkZW4gdmVsZGVuIGluIGhldCBiZXN0YW5kIG92ZXJnZXNsYWdlbiBkaWUgb25iZWtlbmQgemlqbiwgb2YgZGllIGdla29wcGVsZCB6aWpuIG1ldCBlaWdlbnNjaGFwcGVuIGRpZSA8ZW0+dWl0PC9lbT4gc3RhYW4gaW4gZWVuIGJlcGFhbGRlIGdyb2VwLjwvbGk+DQo8L3VsPg0KPGg1PktvbG9tc2dld2lqemUgZ2VnZXZlbnM8L2g1Pg0KPHVsPg0KPGxpPkRlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gdmVsZCAtIERlIGdld2Vuc3RlIGdlYnJ1aWtlcnNuYWFtLg0KICAgIDxwPkRpdCB2ZWxkIG1vZXQgYmVzdGFhbiBpbiBkZSBrb3ByZWdlbCBlbiBpbiBpZWRlcmUgdm9sZ2VuZGUgcmVnZWwuIERlIHJlZ2VsIHdvcmR0IG5pZXQgaW5nZWxlemVuIGFscyBlZW4gZ2VicnVpa2VyIG1ldCBkaWUgbmFhbSBhbCBiZXN0YWF0LjwvcD48L2xpPg0KPGxpPkhldCA8c3Ryb25nPnBhc3N3b3JkPC9zdHJvbmc+IHZlbGQgLSB3YWNodHdvb3JkIHZhbiBkZSBnZWJydWlrZXI8L2xpPg0KPGxpPkhldCA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gdmVsZCAtIGRlIGRhdHVtIHdhYXJvcCBoZXQgZ2VicnVpa2Vyc2FjY291bnQgdmVybG9vcHQ8L2xpPg0KPGxpPktldXplbWVudXZlbGRlbg0KICAgIDxwPkRlIHdhYXJkZW4gdmFuIGRlIGtldXplbWVudS1laWdlbnNjaGFwcGVuIGluIGVlbiBpbXBvcnRiZXN0YW5kIHdvcmR0IGdlcmVwcmVzZW50ZWVyZCBhbHMgZWVuIHN0cmluZyBkaWUgaW4gZGUga2V1emVsaWpzdCB2YW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgc3RhYXQuPC9wPg0KPC9saT4NCjxsaT5NdWx0aXNlbGVjdC12ZWxkZW4NCiAgICA8cD5NdWx0aXNlbGVjdC12ZWxkZW4gc3RhYW4gaW4gZWVuIEFTQ0lJLWJlc3RhbmQgYWxzIGVlbiBhcGFydGUgbGlqc3QgdmFuIHN0cmluZ3MsIHdhYXJiaWogaWVkZXJlIHN0cmluZyBkZSB0ZWtzdCByZXByZXNlbnRlZXJ0IGRpZSBpbiBtdWx0aXNlbGVjdC1saWpzdCBzdGFhdC48L3A+DQo8L2xpPg0KPGxpPkFmYmVlbGRpbmdzdmVsZGVuDQogICAgPHA+QWZiZWVsZGluZ3N2ZWxkZW4gemlqbiB2ZWxkZW4gd2FhcnZhbiBkZSBrb2xvbW5hYW0gb3ZlcmVlbmtvbXQgbWV0IGRlIGVpZ2Vuc2NoYXBwZW4gdmFuIGhldCB0eXBlIGFmYmVlbGRpbmcuIEFscyBkaXQgdmVsZCBlZW4gdmVycGxpY2h0IGRlZWwgdmFuIGRlIGJlc3RlbW1pbmdzZ3JvZXAgaXMsIGRhbiBtb2V0IGRlIG5hYW0gZGllIGluIGRlemUga29sb21tZW4gaXMgZ2VzcGVjaWZpY2VlcmQgYmVzdGFhbiBvbiBkZSB1cGxvYWRzLW1hcCB2YW4gZGUgQ01TIGluc3RhbGxhdGllLiBBbHMgZGUgYWZiZWVsZGluZyBuaWV0IGJlc3RhYW4gZW4gaGV0IHZlbGQgaXMgdG9jaCB2ZXJwbGljaHQsIGRhbiB6YWwgaGV0IHJlY29yZCBuaWV0IHdvcmRlbiBpbmdlbGV6ZW4uPC9wPg0KPC91bD4NCjxoNT5PcG1lcmtpbmdlbjwvaDU+DQo8cD5IZXQgaW1wb3J0ZWVycHJvY2VzIGlzIG9uZGVyd29ycGVuIGFhbiBkZSBiZXBlcmtpbmdlbiBkaWUgb3BnZWxlZ2Qgd29yZGVuIGRvb3IgZGUgaG9zdGluZyBwcm92aWRlciwgem9hbHMgZ2VoZXVnZW5ncmVuemVuLCB2ZXJ3ZXJraW5nc3RpamQsIGJlc3RhbmRzZ3Jvb3R0ZSBlbiAmIzAzOTtzYWZlIG1vZGUmIzAzOTsgYmVwZXJraW5nZW4uICBJZWRlciB2YW4gZGV6ZSBiZXBlcmtpbmdlbiBrYW4gZGUgaW1wb3J0IGxhdGVuIG1pc2x1a2tlbi4gRGFhcm9tIGlzIGhldCB2ZXJzdGFuZGlnIGVydm9vciB0ZSB6b3JnZW4gZGF0IGRlIGltcG9ydGJlc3RhbmRlbiBrbGVpbiB6aWpuIGVuIGVlbnZvdWRpZyB2YW4gb3B6ZXQuPC9wPg0KPHA+SG9ld2VsIGFsbGUgaW5zcGFubmluZyBpcyBnZWRhYW4gb20gdGUgdm9vcmtvbWVuIGRhdCBkZSBkYXRhYmFzZSBuaWV0IHZlcm5pZWxkIHdvcmR0LCBpcyBoZXQgcmFhZHphYW0gb20gZWVuIGJhY2t1cCB2YW4gZGUgZGF0YWJhc2UgdGUgbWFrZW4gdm9vciBoZXQgaW1wb3J0ZXJlbi48L3A+DQo8aDU+Vm9vcmJlZWxkPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdHZWJydWlrZXJzIGluIGRlemUgZ3JvZXAgaW1wb3J0ZXJlbic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbnZvZXIgQ1NWLWJlc3RhbmQnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdJbnZvZXIgWE1MLWJlc3RhbmQnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnR2VicnVpa2VycyBleHBvcnRlcmVuJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0dlYnJ1aWtlcnMgaW1wb3J0ZXJlbic7CiRsYW5nWydwcm9tcHRfY2xlYXInXSA9ICdXaXNzZW4nOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdQYWQgYWZiZWVsZGluZ2VuYmVzdGVtbWluZyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0VyIGlzIGVlbiBwcm9ibGVlbSBvcGdldHJlZGVuIG1ldCBlZW4gb250YnJla2VuZGUsIG1hYXIgdmVycGxpY2h0ZSB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0hldCBvcGdlZ2V2ZW4gWE1MLWJlc3RhbmQga2FuIG5pZXQgd29yZGVuIHZlcndlcmt0ICc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnS2FuIGdlZW4gZ3JvZXAgdmVyd2lqZGVyZW4gZGllIG5vZyBnZWJydWlrZXJzIGJldmF0JzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdEZXplIGdlYnJ1aWtlciBpcyByZWVkcyBpbmdlbG9nZCc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdEZSB0ZWtzdCB2YW4gZGUgYWZiZWVsZGluZyBpcyBuaWV0IGp1aXN0IGluZ2V2b2VyZCc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnU3RhIHRvZSBkYXQgZ2VicnVpa2VycyBtZWVyZGVyZSBrZXJlbiBpbmxvZ2dlbic7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnRXh0ZW50aWVzIHZhbiBhZmJlZWxkaW5nc2Jlc3RhbmRlbiBkaWUgZ2VicnVpa2VycyBtb2dlbiB1cGxvYWRlbic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5OYSB2ZXJ3aWpkZXJlbiBnZWJydWlrZXI8aDM+DQo8cD5FZW4gZ2ViZXVydGVuaXMsIGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2VyIHZlcndpamRlcmQgaXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBnZWJydWlrZXJzbmFhbTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBEZSBnZWJydWlrZXJzIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk5hIGFhbm1ha2VuIGdlYnJ1aWtlcjxoMz4NCjxwPkVlbiBnZWJldXJ0ZW5pcywgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXIgYWFuZ2VtYWFrdCBpczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIERlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIERlIGdlYnJ1aWtlcnMgaWQ8L2xpPg0KPC91bD4gDQoNCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5OYSB3aWp6aWdlbiBnZWJydWlrZXI8aDM+DQo8cD5FZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2VyIGlzIGdld2lqemlnZCAoZG9vciBkZSBnZWJydWlrZXIgemVsZiBvZiBkb29yIGRlIGJlaGVlcmRlcik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIERlIGdlYnJ1aWtlcnNuYWFtPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIERlIGdlYnJ1aWtlcnNpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+TmEgYWFubWFrZW4gZ3JvZXA8aDM+DQo8cD5FZW4gZ2ViZXVydGVuaXMsIGdlZ2VuZXJlZXJkIGFscyBlZW4gZ3JvZXAgaXMgYWFuZ2VtYWFrdDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRGUgZ3JvZXBzbmFhbTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBEZSBncm9lcHNvbXNjaHJpanZpbmc8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRGUgZ3JvZXBzIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5OYSB2ZXJ3aWpkZXJlbiBncm9lcDxoMz4NCjxwPkVlbiBnZWJldXJ0ZW5pcywgZ2VnZW5lcmVlcmQgYWxzIGVlbiBncm9lcCBpcyB2ZXJ3aWpkZXJkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBEZSBncm9lcHNuYWFtPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIERlIGdyb2VwcyBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+TmEgaW5sb2dnZW48aDM+DQo8cD5FZW4gZ2ViZXVydGVuaXMsIGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2VyIGlubG9nZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIERlIG5hYW0gdmFuIGRlIGluZ2Vsb2dkZSBnZWJydWlrZXI8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gSGV0IGlwLWFkcmVzIHZhbiBkZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+RWVuIGdlYmV1cnRlbmlzLCBnZWdlbmVyZWVyZCBhbHMgZWVuIGdlYnJ1aWtlciB1aXRsb2dkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRGUgbmFhbSB2YW4gZGUgdWl0Z2Vsb2dkZSBnZWJydWlrZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRGUgZ2VicnVpa2VycyBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+RWVuIGdlYmV1cnRlbmlzLCBnZWdlbmVyZWVyZCBhbHMgZWVuIGdlYnJ1aWtlcnNzZXNzaWUgdmVybG9vcHQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBuYWFtIHZhbiBkZSB2ZXJsb3BlbiBnZWJydWlrZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gRGUgaWQgdmFuIGRlIHZlcmxvcGVuIGdlYnJ1aWtlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGVlbiBnZWJydWlrZXIgaW5sb2d0JzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2VyIHVpdGxvZ3QnOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGRlIHNlc3NpZXRpamQgdmFuIGVlbiBnZWJydWlrZXIgaXMgdmVyc3RyZWtlbic7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgd29yZHQgZ2VnZW5lcmVlcmQgYWxzIGVlbiBuaWV1d2UgZ2VicnVpa2VyIGlzIGFhbmdlbWFha3QnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGFscyBnZWJydWlrZXJzaW5mb3JtYXRpZSBpcyBnZXdpanppZ2QnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2Vyc2FjY291bnQgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdFZW4gZ2ViZXVydGVuaXMgZGllIHdvcmR0IGdlZ2VuZXJlZXJkIGFscyBlZW4gZ2VicnVpa2Vyc2dyb2VwIGlzIGFhbmdlbWFha3QnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSB3b3JkdCBnZWdlbmVyZWVyZCBhbHMgZWVuIGdlYnJ1aWtlcnNncm9lcCBpcyB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kLWdyb2VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogRGUgdm9sZ2VuZGUgbWFjcm8mIzAzOTtzIGt1bm5lbiBpbiBkZXplIHZlbGRlbiB3b3JkZW4gZ2VicnVpa3Q6IHskdXNlcm5hbWV9LHskZ3JvdXB9LiBBbHMgZGUgeyRncm91cH0gbWFjcm8gd29yZHQgZ2VicnVpa3QsIHphbCBoZXQgc3lzdGVlbSBkZSBuYWFtIHZhbiBkZSBlZXJzdCBncm9lcCB3YWFydG9lIGRlIGdlYnJ1aWtlciBiZWhvb3J0IHZlcnZhbmdlbiBlbiB2ZXJ3aWp6ZW4gbmFhciBkaWUgcGFnaW5hLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnRGl0IHZlbGQgd2lqemlnZW4gb20gaGV0IHdhY2h0d29vcmQgdGUgaGVyc3RlbGxlbic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnRGl0IHZlbGQgd2lqemlnZW4gb20gaGV0IHdhY2h0d29vcmQgdGUgaGVyc3RlbGxlbic7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdEZXplIGdlYnJ1aWtlcnNuYWFtIGJlc3RhYXQgYWwnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnQ1NWLWV4cG9ydCBsZXZlcmRlIGdlZW4gd2FhcmRlbiBvcCc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMZW5ndGUgdmFuIGhldCBnZWJydWlrZXJzbmFhbXZlbGQnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTGVuZ3RlIHZhbiBoZXQgd2FjaHR3b29yZHZlbGQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9tYXggd2FjaHR3b29yZGxlbmd0ZSBvbmdlbGRpZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL21heCBnZWJydWlrZXJzbmFhbWxlbmd0ZSBvbmdlbGRpZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnRS1tYWlsYWRyZXMgaXMgZm91dCc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0dlZW4gZS1tYWlsYWRyZXMgdm9vciBkaXQgYWNjb3VudCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlZW0gbWV0IGhldCBpbnN0ZWxsZW4gdmFuIGRlIGdlYnJ1aWtlcnNpbmZvcm1hdGllJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZWVtIG1ldCBoZXQgaW5zdGVsbGVuIHZhbiBlZW4gZWlnZW5zY2hhcCc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnR2VicnVpa2VyIHRvZWdldm9lZ2QgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdHZWJydWlrZXIgdmVyd2lqZGVyZCB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdFaWdlbnNjaGFwJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdXYWFyZGUgKHJlZ3VsaWVyZSBleHByZXNzaWUpJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnV2FhcnNjaHV3aW5nOiBkZXplIHZlbGRlbiBiZSZpdW1sO252bG9lZGVuIGRlIGxlbmd0ZSB2YW4gaW52b2VydmVsZGVuIHZhbiBmb3JtdWxpZXJlbi4gSGV0IGlzIG5pZXQgYWFuIHRlIHJhZGVuIGRlemUgbGVuZ3RlbiB0ZSB2ZXJrbGVpbmVuIHZvb3IgZWVuIGJlc3RhYW5kZSB3ZWJzaXRlLic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQmVoZWVydm9vcmtldXJlbiB3aWp6aWdlbj8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0UtbWFpbGFkcmVzIHdvcmR0IGFsIGdlYnJ1aWt0JzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ0dlYnJ1aWsgY29va2llcyBvbSBkZSBpbmxvZ2RldGFpbHMgdGUgYmV3YXJlbic7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0RlIG5hYW0gdmFuIGhldCBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdHZWxpamtlIGUtbWFpbGFkcmVzc2VuIHRvZXN0YWFuJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ0VtYWlsYWRyZXMgaXMgZ2VicnVpa2Vyc25hYW0nOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnUG9naW5nIG9tIGRlIGxvZ2lucyBhY3RpZWYgdGUgaG91ZGVuIGRvb3IgaGV0IGdlYnJ1aWsgdmFuIGVlbiBjb29raWU8ZW0+KGRlIGNvb2tpZSB3b3JkdCBoZXJzdGVsZCBiaWogYWN0aXZpdGVpdCBvcCBkZSB3ZWJzaXRlKTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhtZWVyZGVyZSBnZWJydWlrZXJzIG1ldCBoZXR6ZWxmZGUgZS1tYWlsYWRyZXMgdG9lc3RhYW4pJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWVfaXNfZW1haWwnXSA9ICcoZ2VicnVpa2VycyBlbWFpbGFkcmVzIGlzIGRlIGdlYnJ1aWtlcnNuYWFtIC0tIHNlbGVjdGVlciBuaWV0IGRlIG9wdGllICZxdW90O2FsbG93IGR1cGxpY2F0ZSBlbWFpbCBhZHJlc3NlcyZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnU3RhIGR1YmJlbGUgaGVyaW5uZXJpbmdlbiAmcXVvdDt3YWNodHdvb3JkdmVyZ2V0ZW4mcXVvdDsgdG9lPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoc3RhIGdlYnJ1aWtlcnMgdG9lIHRlIHZlcnpvZWtlbiB0b3QgaGV0IHJlc2V0dGVuIHZhbiBlZW4gd2FjaHR3b29yZCwgemVsZnMgemFsIHplIG5pZXRzIG1ldCBlZW4gdm9yaWcgdmVyem9layBoZWJiZW4gZ2VkYWFuKSc7CiRsYW5nWydwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJ0dlYnJ1aWsgRnJvbnRFbmRVc2VyIHNwZWNpZmlla2UgcmVjaHRlbj8nOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hYWwgemlqbiBkZSByZWNodGVuIHZhbiBGRVVzZXJzIGdlbGlqayBhYW4gZGllIHZhbiBoZXQgd2Vic2l0ZWJlaGVlciwgem9hbHMgR2VicnVpa2VycyB0b2V2b2VnZW4gb2YgR3JvZXBlbiB0b2V2b2VnZW4uIEFscyB1IGRlemUgb3B0aWUgc2VsZWN0ZWVydCwgZGFuIGtvbWVuIGVyIGFwYXJ0ZSByZWNodGVuIHZvb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdLYW4gaGV0IGdldXBsb2FkZSBiZXN0YW5kIG5pZXQgdmluZGVuIChpbnRlcm5lIGZvdXQpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnRXIgd2FzIGVlbiBwcm9ibGVlbSBtZXQgdXcgZ2V1cGxvYWRlIGJlc3RhbmQuIFByb2JlZXIgaGV0IG9wbmlldXcnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnR2VlbiBnZWJydWlrZXJzbmFhbSBpbmdldm9lcmQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2VtYWlsJ10gPSAnSmUgaGVidCBnZWVuIGVtYWlsIGluZ2V2b2VyZCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdHZWVuIHdhY2h0d29vcmQgaW5nZXZvZXJkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZHVzZXIgbG9ndWl0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kdXNlciBsb2dpbic7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPlZPT1JaSUNIVElHPC9iPiBhbHMgZWlnZW5zY2hhcHBlbiBnZXdpanppZ2Qgd29yZGVuIGRpZSBhYW4gZ3JvZXBlbiB6aWpuIHRvZWdla2VuZCwgZGFuIGt1bnQgdSBtb2dlbGlqayBzY2hhZGUgdmVyb29yemFrZW4gZW4gZGUgYmVzdGFhbmRlIHdlYnNpdGUgdmVybmllbGVuPGk+KG1ldCBuYW1lIGFscyB1IHZlbGRsZW5ndGVuIHJlZHVjZWVydCwgZXRjLik8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ0RlemUgZnVuY3RpZSB3ZXJrdCBuaWV0IG9uZGVyIFdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ01hYWsgZ2VlbiBlaWdlbnNjaGFwIGFhbiB2b29yIGdlYnJ1aWtlcnNuYWFtIGVuIHdhY2h0d29vcmQuIERlemUgemlqbiBhbCBpbmdlYm91d2QgaW4gZGUgbW9kdWxlLic7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnR2VicnVpa2VycyBuYWFyIENTViBleHBvcnRlcmVuJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydGVyZW4nOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0ZXJlbic7CiRsYW5nWydhZG1pbiddID0gJ0JlaGVlcic7CiRsYW5nWydlZGl0cHJvcCddID0gJ1dhYXJkZSB3aWp6aWdlbic7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIGxlbmd0ZSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQWFuZ2VtYWFrdCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0ZXJlbiBvcCc7CiRsYW5nWydzb3J0J10gPSAnU29ydGVyZW4nOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnR2VicnVpa2VyKHMpIGluIGRlIGdlc2VsZWN0ZWVyZGUgZ3JvZXAoZW4pJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ1Jlc3VsdGF0ZW4gYmVwZXJrZW4gdG90JzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0thbiBnZWVuIGUtbWFpbHZlbGQgdmluZGVuIHZvb3IgZGV6ZSBnZWJydWlrZXIuIE5lZW0gY29udGFjdCBvcCBtZXQgZGUgYmVoZWVyZGVyLic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2luYUlEL2FsaWFzIHZvb3IgZm9ybXVsaWVyICZxdW90O3dhY2h0d29vcmQgdmVyZ2V0ZW4mcXVvdDsnOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdpbmFJRC9hbGlhcyB2b29yIGZvcm11bGllciAmcXVvdDt3aWp6aWcgaW5zdGVsbGluZ2VuJnF1b3Q7JzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnaW5hSUQvYWxpYXMgb20gdGUgdG9uZW4gbmEgaW5sb2dnZW4gKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdpbmFJRC9hbGlhcyBvbSB0ZSB0b25lbiBuYSB1aXRsb2dnZW4gKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0ZWVydm9sZ29yZGUnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnRWVuIGFhbnRhbCBnZWJydWlrZXJzIGhlZWZ0IGVlbiB2ZXJ6b2VrIHRvdCByZXNldHRlbiB2YW4gd2FjaHR3b29yZGVuIGluZ2VkaWVuZC4gTW9tZW50ZWVsIHppam4gZGl0IGVyOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1ZlcndpamRlciBhbGxlIHZlcnpvZWtlbiB2YW4gbWVlciBkYW4gZWVuIHdlZWsgb3VkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1ZlcndpamRlciBhbGxlIHZlcnpvZWtlbiB2YW4gbWVlciBkYW4gZWVuIG1hYW5kIG91ZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdBbGxlIHZlcnpvZWtlbiB2ZXJ3aWpkZXJlbic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnWmVrZXIgd2V0ZW4/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnRXIgaXMgZWVuIHZlcmtlZXJkZSBjb2RlIGluZ2V2b2VyZCwgcHJvYmVlciBoZXQgbm9nbWFhbHMnOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0RlIHRpamRlbGlqa2UgY29kZSB2b29yIHV3IGFjY291bnQga2FuIG5pZXQgaW4gb256ZSBkYXRhYmFzZSB3b3JkZW4gZ2V2b25kZW4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICdTamFibG9vbiBvbSBoZXQgYmV2ZXN0aWdpbmdzZm9ybXVsaWVyIHRlIHRvbmVuLic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnU2phYmxvb24gb20gaGV0IGZvcm1saWVyICZxdW90O3dhY2h0d29vcmQgdmVyZ2V0ZW4mcXVvdDsgdGUgdG9uZW4uJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdVIG9mIGllbWFuZCBhbmRlcnMgaGVlZnQgYWwgZWVuIHByb2NlZHVyZSBvbSBoZXQgd2FjaHR3b29yZCB0ZSBoZXJzdGVsbGVuIGluIGdhbmcgZ2V6ZXQuIENvbnRyb2xlZXIgdXcgZS1tYWlsOiBlciB6aWpuIGluc3RydWN0aWVzIHZlcnpvbmRlbiBob2UgdXcgd2FjaHR3b29yZCBoZXJzdGVsZCBrYW4gd29yZGVuLic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UtZm91dCc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdVIG9udHZhbmd0IGRlemUgYm9vZHNjaGFwIG9tZGF0IGVyIGlzIGdlbWVsZCBkYXQgdSB1dyB3YWNodHdvb3JkIGt3aWp0IGJlbnQuIEFscyBkaXQgem8gaXMsIGxlZXMgZGFuIGRlIG9uZGVyc3RhYW5kZSBhYW53aWp6aW5nZW4gYWFuZGFjaHRpZyBkb29yLiBBbHMgZGl0IGJlcmljaHQgbmlldCB2b29yIHUgYmVzdGVtZCBpcywgZGFuIGt1bnQgdSBkaXQgd2VnZ29vaWVuLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0NvZGUgJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ0RlIHZvbGdlbmRlIGNvZGUgaXMgd2lsbGVrZXVyaWcgZ2VnZW5lcmVlcmQgb20gaGV0IGdlYnJ1aWtlcnMtYWNjb3VudCB0ZSBjb250cm9sZXJlbi4gQWxzIHUgb3AgZGUgbGluayBoaWVyb25kZXIga2xpa3QsIGtyaWpndCB1IGVlbiB2ZWxkIHdhYXIgZGV6ZSBjb2RlIGluZ2V2b2VyZCBrYW4gd29yZGVuLiBOb3JtYWFsIHphbCBkaXQgdmVsZCByZWVkcyBpbmdldnVsZCB6aWpuLiBJcyBkaXQgbmlldCBoZXQgZ2V2YWwsIHZvZXIgZGFuIGRlIHZvbGdlbmRlIGNvZGUgaW46ICc7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0FscyB1IG9wIGRlIHZvbGdlbmRlIGxpbmsga2xpa3QsIGtvbXQgdSBvcCBkZSB3ZWJzaXRlIHdhYXIgdSBib3ZlbnN0YWFuZGUgY29kZSBrdW50IGludm9lcmVuIGVuIGRhYXJtZWUgdSB1dyB3YWNodHdvb3JkIGt1bnQgcmVzZXR0ZW4uJzsKJGxhbmdbJ2xvc3RwYXNzd29yZF9lbWFpbHN1YmplY3QnXSA9ICdXYWNodHdvb3JkIHZlcmdldGVuJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnS29uIGRlIENNU01haWxlci1tb2R1bGUgbmlldCB2aW5kZW4nOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnRWVuIGVtYWlsIGlzIG5hYXIgJXMgZ2V6b25kZW4gbWV0IGluc3RydWN0aWVzIGhvZSBoZXQgd2FjaHR3b29yZCBnZXJlc2V0IGthbiB3b3JkZW4uICc7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1UgZ2VlZnQgYWFuIGhldCB3YWNodHdvb3JkIHZlcmxvcmVuIG9mIHZlcmdldGVuIHRlIHppam4uIFZvZXIgaGllciB1dyBnZWJydWlrZXJzbmFhbSBpbi4gSW5kaWVuIGRlemUgYmVzdGFhdCwgb250dmFuZ3QgdSBlZW4gZW1haWwgbWV0IGluc3RydWN0aWVzIGhvZSB1IGhldCB3YWNodHdvb3JkIGt1bnQgcmVzZXR0ZW4uJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAnU2phYmxvb24gJnF1b3Q7VmVyZ2V0ZW4gd2FjaHR3b29yZCZxdW90Oyc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdTamFibGxvbiAmcXVvdDtWZXJnZXRlbiBnZWJydWlrZXJzbmFhbSZxdW90Oyc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdFaWdlbnNjaGFwICVzIG5pZXQgZ2V2b25kZW4nOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ2dldm9uZGVuIGVpZ2Vuc2NoYXAocGVuKSc7CiRsYW5nWydhZGRwcm9wJ10gPSAnRWlnZW5zY2hhcCB0b2V2b2VnZW4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0VlbiB2ZXJwbGljaHQgdmVsZCAoJXMpIGlzIG5pZXQgaW5nZXZ1bGQnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdWdWwgaGllciBlZW4gbmlldXcgd2FjaHR3b29yZCBpbiBvbSB1dyBiZXN0YWFuZGUgd2FjaHR3b29yZCB0ZSB2ZXJhbmRlcmVuJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnSGV0IGxpamt0IGVyIGRhdCB1IG5pZXQgaW5nZWxvZ2QgYmVudCc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnSW5zdGVsbGluZ2VuJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmF0aWUnOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdEaXQgYWNjb3VudCBpcyB2ZXJsb3Blbic7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnVmVya2VlcmRlIG9wbWFhayBlLW1haWxhZHJlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ09uZ2VsZGlnZSBhZmxvb3BkYXR1bSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRm91dCBiaWogaW5zdGVsbGVuIGVpZ2Vuc2NoYXAgJXMgdm9vciBnZWJydWlrZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdPbmdlbGRpZ2UgZ3JvZXAgaWQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdWZXJib3JnZW52ZWxkLWFhbmR1aWRpbmcnOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ1ZlcmJvcmdlbnZlbGQta2xldXInOwokbGFuZ1snaGlkZGVuJ10gPSAnVmVyYm9yZ2VuJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFZW4gZWlnZW5zY2hhcCBtZXQgZGllIG5hYW0gaXMgYWwgaW4gZ2VicnVpayc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdHZWVuIGVpZ2Vuc2NoYXBwZW4gZ2VkZWZpbmllZXJkJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnVm9vciBkZXplIGdyb2VwIHppam4gZ2VlbiBlaWdlbnNjaGFwcGVuIGdlc2VsZWN0ZWVyZCc7CiRsYW5nWydub2dyb3VwcyddID0gJ0VyIHppam4gZ2VlbiBncm9lcGVuIGdlZGVmaW5pZWVyZCc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ2dldm9uZGVuIGdyb2VwKGVuKSc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnTGlkbWFhdHNjaGFwIHZhbiBtaW5zdGVucyAmZWFjdXRlOyZlYWN1dGU7biBncm9lcCBpcyB2ZXJwbGljaHQnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVvbmVncm91cCddID0gJ1ZlcnBsaWNodCBsaWRtYWF0c2NoYXAgdmFuIG1pbnN0ZW5zICZlYWN1dGU7JmVhY3V0ZTtuIGdyb2VwJzsKJGxhbmdbJ2JhY2snXSA9ICdUZXJ1Zyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgaXMgZWVuIHZlcnBsaWNodCB2ZWxkJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdWZXJwbGljaHRlIHZlbGRlbiBtYXJrZXJlbiBtZXQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnVmVycGxpY2h0ZSB2ZWxkZW4gYmVuYWRydWtrZW4gbWV0JzsKJGxhbmdbJ25leHQnXSA9ICdWb2xnZW5kZSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0VlbiBncm9lcCBtZXQgZGllIG5hYW0gYmVzdGFhdCBhbCc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1ZlcnBsaWNodCB2ZWxkJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3B0aW9uZWVsJzsKJGxhbmdbJ29mZiddID0gJ1VpdCc7CiRsYW5nWydzaXplJ10gPSAnR3Jvb3R0ZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heGltYWxlIGFmbWV0aW5nIHZhbiBkZSBhZmJlZWxkaW5nIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTGVuZ3RlJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KGthcmFrdGVycyBpbiBkZSB0ZWtzdGludm9lciknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ09wdGllcyBrZXV6ZWxpanN0LCBnZXNjaGVpZGVuIGRvb3IgcmVnZWxlaW5kZW4uIFdhYXJkZW4ga3VubmVuIHZhbiB0ZWtzdCBnZXNjaGVpZGVuIHdvcmRlbiBtZXQgJnF1b3Q7PSZxdW90OywgYmlqdm9vcmJlZWxkOiBWcm91d2VsaWprPXYgJzsKJGxhbmdbJ3Byb21wdCddID0gJ09tc2NocmlqdmluZyc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlICc7CiRsYW5nWydmaWVsZHN0YXR1cyddID0gJ1ZlbGRzdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnVnJhYWcgaW4gVmVyZ2V0ZW48YnIvPmdlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ3RleHQnXSA9ICdUZWtzdCc7CiRsYW5nWydjaGVja2JveCddID0gJ1NlbGVjdGlldmFrJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTWVlcmtldXplbGlqc3QnOwokbGFuZ1snaW1hZ2UnXSA9ICdBZmJlZWxkaW5nJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRS1tYWlsYWRyZXMnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdHZlbGQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdLZXV6ZWxpanN0JzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnV2Vsa29tJzsKJGxhbmdbJ2xvZ291dCddID0gJ1VpdGxvZ2dlbic7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnR2VicnVpayBkZXplIGdyb2Vwc25hYW0nOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzJ10gPSAnTWlqbiBJbnN0ZWxsaW5nZW4gd2lqemlnZW4nOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdMb2dpbiBuaWV0IGdlbHVrdCAtIG9uZ2VsZGlnZSBnZWJydWlrZXJzbmFhbSBvZiB3YWNodHdvb3JkPyc7CiRsYW5nWydsb2dpbiddID0gJ0xvZ2luJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnJnF1b3Q7TG9naW4mcXVvdDsgYnV0dG9udGVrc3QnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWxhZHJlcyc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdXYWNodHdvb3JkJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAnT250aG91ZCBtaWpuIGluc3RlbGxpbmdlbiBvcCBkZXplIGNvbXB1dGVyJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmVyZW4nOwokbGFuZ1snZm9yZ290cHcnXSA9ICdXYWNodHdvb3JkIHZlcmdldGVuPyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdCZW50IHUgZGUgbG9naW5nZWdldmVucyB2ZXJnZXRlbj8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdTdGFuZGFhcmQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdTamFibG9vbic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdHZWJydWlrZXIgSUQgbmlldCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGllIGdlYnJ1aWtlcnNuYWFtICglcykgaXMgYWwgaW4gZ2VicnVpayc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnR2VicnVpayBTTVRQIG9tIGUtbWFpbGFkcmVzc2VuIHRlIHZhbGlkZXJlbj8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW11bXdhY2h0d29vcmRsZW5ndGUnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW11bXdhY2h0d29vcmRsZW5ndGUnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW11bWdlYnJ1aWtlcnNuYWFtbGVuZ3RlJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGltdW1nZWJydWlrZXJzbmFhbWxlbmd0ZSc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaWV2ZXJsb29wdGlqZCAoc2Vjb25kZW4pJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdHZWJydWlrIGNvb2tpZXMgb20gZGUgbG9naW5zIGFjdGllZiB0ZSBob3VkZW4nOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdTdGEgZS1tYWlscmVnaXN0cmF0aWUgdG9lJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdTdGFuZGFhcmRncm9lcCB2b29yIG5pZXV3ZSBnZWJydWlrZXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnV2lqemlnIGluc3RlbGxpbmdlbnNqYWJsb29uJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdXYWNodHdvb3JkZW4ga29tZW4gbmlldCBvdmVyZWVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ZvdXRpZXZlIGdlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0ZvdXRpZWYgd2FjaHR3b29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ1ZlcmFuZGVyIGdlYnJ1aWtlcic7CiRsYW5nWyd2YWxpZCddID0gJ0dlbGRpZyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnRGV6ZSBnZWJydWlrZXIgaXMgZ2VlbiBsaWQgdmFuIGVuaWdlIGdyb2VwJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdHZWVuIGVpZ2Vuc2NoYXBwZW4nOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdQb2dpbmcgb20gZHViYmVsZSBlaWdlbnNjaGFwcGVuIHRlIGltcG9ydGVyZW4nOwokbGFuZ1sndmFsdWUnXSA9ICdXYWFyZGUnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvZXBlbic7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnRWlnZW5zY2hhcHBlbic7CiRsYW5nWydwcm9wbmFtZSddID0gJ0VpZ2Vuc2NoYXBzbmFhbSc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdFaWdlbnNjaGFwc3dhYXJkZSc7CiRsYW5nWydhZGQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcmllJzsKJGxhbmdbJ2VkaXQnXSA9ICdCZXdlcmtlbic7CiRsYW5nWydleHBpcmVzJ10gPSAnVmVybG9vcHQnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnRGF0dW0gb3BnZXZlbic7CiRsYW5nWycxMmhycyddID0gJzEyIHV1cic7CiRsYW5nWycyNGhycyddID0gJzI0IHV1cic7CiRsYW5nWyc0OGhycyddID0gJzQ4IHV1cic7CiRsYW5nWycxd2VlayddID0gJzEgd2Vlayc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIHdla2VuJzsKJGxhbmdbJzFtb250aCddID0gJzEgbWFhbmQnOwokbGFuZ1snM21vbnRocyddID0gJzMgbWFhbmRlbic7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBtYWFuZGVuJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSBqYWFyJzsKJGxhbmdbJ25ldmVyJ10gPSAnTm9vaXQnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnRGUgbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZC48YnIvPlN0ZWwgZGUgcmVjaHRlbiAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMmcXVvdDsgaW4uIERhYXJuYWFzdCBiZXZlbGVuIHdlIGFhbiBvbSBkZSBDYXB0Y2hhLW1vZHVsZSB0ZSBpbnN0YWxsZXJlbi4gTmEgaW5zdGFsbGF0aWUgaXMsIG5hYXN0IGRlIGdlYnJ1aWtlcnNuYWFtIGVuIGhldCB3YWNodHdvb3JkLCBkZSB2YWxpZGF0aWUgdmFuIGVlbiBDYXB0Y2hhLWFmYmVlbGRpbmcgdmVycGxpY2h0IG9tIGluIHRlIGt1bm5lbiBsb2dnZW4uIERpdCBpcyBiZWRvZWxkIG9tICYjMDM5O2JydXRlIGZvcmNlJiMwMzk7IGFhbnZhbGxlbiB0ZSB2b29ya29tZW4uIDxzdHJvbmc+TGV0IG9wOjwvc3Ryb25nPiBEZSBub2NhcHRjaGEtcGFyYW1ldGVyIGthbiBnZWJydWlrdCB3b3JkZW4gb20gZGV6ZSBmdW5jdGlvbmFsaXRlaXQgdWl0IHRlIHNjaGFrZWxlbiwgemVsZnMgYWxzIGRlIENhcHRjaGEtbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdXYWNodHdvb3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnTm9nbWFhbHMnOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ0VyIGJlc3RhYXQgYWwgZWVuIGdyb2VwIG1ldCBkaWUgbmFhbSc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdHcm9lcCBiZXdlcmtlbic7CiRsYW5nWydzdWJtaXQnXSA9ICdWZXJzdHVyZW4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcmVuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1ZlcndpamRlcmVuJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnV2VldCB1IHpla2VyIGRhdCBkaXQgZGUganVpc3RlIGluc3RlbGxpbmdlbiB2b29yIGRlemUgZ3JvZXAgemlqbj9cbkhldCB1aXR6ZXR0ZW4gdmFuIGVlbiBlaWdlbnNjaGFwIHZlcndpamRlcnQgbmlldHMgdWl0IGRlIGVpZ2Vuc2NoYXBwZW50YWJlbCB2YW4gZGV6ZSBncm9lcC9nZWJydWlrZXI7IGhldCBpcyBhbGxlZW4gbmlldCBiZXNjaGlrYmFhci4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIGdyb2VwIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3Byb3AnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBlaWdlbnNjaGFwIGRlZmluaXRpZWYgd2lsdCB2ZXJ3aWpkZXJlbj9cbkFscyB1IGRhdCBkb2V0LCB2ZXJ3aWpkZXJ0IHUgbWV0ZWVuIG9vayBhbGxlIGVpZ2Vuc2NoYXBwZW4gZGllIGdla29wcGVsZCB6aWpuIGFhbiBkZSBnZWJydWlrZXJzLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdPbnZvbGRvZW5kZSBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQgJzsKJGxhbmdbJ25hbWUnXSA9ICdOYWFtJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlZW0gbWV0IGhldCB0b2V2b2VnZW4gdmFuIGVpZ2Vuc2NoYXBwZW4nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwcmVsbiddID0gJ1Byb2JsZWVtIG1ldCBoZXQgdG9ldm9lZ2VuIHZhbiBncm9lcHNyZWxhdGllcyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibGVlbSBtZXQgaGV0IHRvZXZvZWdlbiB2YW4gZWVuIGdyb2VwJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlZW0gbWV0IGhldCB0b2V2b2VnZW4gdmFuIGVlbiBnZWJydWlrZXIgYWFuIGVlbiBncm9lcCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlZW0gbWV0IGhldCB2ZXJ3aWpkZXJlbiB2YW4gZWVuIGVpZ2Vuc2NoYXAnOwokbGFuZ1snZXJyb3JfY291bGRub3RmaW5kZW1haWwnXSA9ICdLYW4gZWVuIGUtbWFpbGFkcmVzIG5pZXQgdmluZGVuJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdHZWVuIHNjaHJpamZyZWNodGVuIGluIGRlIGJlc3RlbW1pbmdzbWFwJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICdPbmdlbGRpZ2UgcGFyYW1ldGVycyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0thbiBnZWVuIGdyb2VwZW4gdmluZGVuJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnVG9lcGFzc2VuJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlciAnOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ0dlYnJ1aWtlcnNuYWFtIChyZWd1bGllcmUgZXhwcmVzc2llKSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09tc2NocmlqdmluZyc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdHcm9lcHNuYWFtJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRm91dCc7CiRsYW5nWydhZGRncm91cCddID0gJ0dyb2VwIHRvZXZvZWdlbic7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0dyb2VwIGltcG9ydGVyZW4nOwokbGFuZ1snYWRkdXNlciddID0gJ0dlYnJ1aWtlciB0b2V2b2VnZW4nOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ2dlYnJ1aWtlcihzKSBnZXZvbmRlbiBkaWUgdm9sZG9lbiBhYW4gZGUgZ2VnZXZlbiBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dyb2VwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnR3JvZXAgc2VsZWN0ZXJlbic7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpZXNqYWJsb29uJzsKJGxhbmdbJ2xvZ291dF90ZW1wbGF0ZSddID0gJ1VpdGxvZ3NqYWJsb29uJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnSW5sb2dzamFibG9vbic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1Zvb3JrZXVyZW4nOwokbGFuZ1sndXNlcnMnXSA9ICdHZWJydWlrZXJzJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0JlaGVlciBGcm9udGVuZHVzZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdTdGEgZ2VicnVpa2VycyB0b2UgaW4gdGUgbG9nZ2VuIG9wIGRlIGZyb250ZW5kIHZhbiB1dyBzaXRlJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdTdGFuZGFhcmQgYmlubmVua29tc3RwYWdpbmEnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0xhYXRzdCBiZXpvY2h0ZSBwYWdpbmEnOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnQW5kZXJlIHBhZ2luYTonOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1ZvZXIgZGUgdGVrc3QgdWl0IGRlIGFmYmVlbGRpbmcgaW4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT48cD4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KICAgIDxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSByZWRpcmVjdCBwYWdlIG9uIGxvZ2luLCBsb2dvdXQsIGZvcmdvdCBwYXNzd29yZCwgYW5kIGNoYW5nZSBzZXR0aW5ncywgYW5kIGFkZGVkIHRoZSByZXR1cm50byBhbmQgZm9ybSBwYXJhbWV0ZXJzIHRvIHRoZSB1c2VyIHNpZGUgb2YgdGhpbmdzLCBhbHNvIGRpZCBhIGNvdXBsZSBsZiBsaXR0bGUgY2xlYW51cHMuICBUaGlzIHZlcnNpb24gcmVxdWlyZXMgdjAuMTEgYW5kIGFib3ZlIGZvciBjZXJ0YWluLjwvcD48L2xpPg0KPGxpPjAuMS40IC0gTm92ZW1iZXIsIDIwMDUgLSBWZXJ5IG1pbm9yIGNoYW5nZSB3aXRoIHJlc3BlY3QgdG8gYSBmb3Jnb3R0ZW4gYW5kIG5vIGxvbmdlciBuZWVkZWQgZnVuY3Rpb24gY2FsbDwvbGk+DQo8bGk+PHA+MC4xLjUgLSBOb3ZlbWJlciwgMjAwNTwvcD4NCiAgICA8cD5Bbm90aGVyIHZlcnkgbWlub3IgY2hhbmdlLCBhZGRlZCBzb21lIHRleHQgdG8gdGhlIFBvc3RJbnN0YWxsIG1lc3NhZ2UuPC9wPjwvbGk+DQo8bGk+PHA+MC4xLjYgLSBKYW51YXJ5LCAyMDA2PHA+DQogICAgPHA+Q2hhbmdlcyB0byB0aGUgcGVybWlzc2lvbiBtb2RlbCwgYW5kIG1pbm9yIGJ1ZyBmaXhlcyB0byB0aGUgcHJlZmVyZW5jZXMuICBBbHNvIHNvbWUgcGhwNSBmaXhlcyBidXQgSSBhbSBzdXJlIHRoYXQgdGhlcmUgYXJlIG1vcmUgb3V0IHRoZXJlLjwvcD48L2xpPg0KPGxpPjxwPjAuMS43IC0gSmFudWFyeSwgMjAwNjxwPg0KICAgIDxwPk1hbnkgdGhhbmtzIHRvIDxiPmthdG9uPC9iPiBmb3IgYWRkaW5nIHRoZSB0ZXh0YXJlYSBhbmQgZHJvcGRvd24gcHJvcGVydHkgdHlwZXMuPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBwcm9wZXJ0eSBhZGRpbmcgdG8gZml4IHByb2JsZW1zIHdpdGggc3BhY2VzIGluIHByb3BlcnR5IG5hbWVzICh3ZSBubyBsb25nZXIgbGV0IHRoYXQgaGFwcGVuKS48L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4wIC0gRmVicnVhcnksIDIwMDY8cD4NCiAgICA8cD5BZGRlZCBmaWx0ZXJpbmcgYW5kIHJvdyBsaW1pdGluZyB0byB0aGUgYWRtaW4gcGFuZWwuIFRoaXMgd2lsbCBoYXZlIGJpZyBiZW5lZml0cyB0byB0aG9zZSB0aGF0IGFyZSB1c2luZyB0aGlzIG1vZHVsZSBmb3IgaGlnaCB0cmFmaWMsIGFuZCBoaWdoIHVzZXIgc2l0ZXMuPC9wPg0KICAgIDxwPkFkZGVkIHNvcnRpbmcgdG8gdGhlIGFkbWluIHBhbmVsPC9wPg0KICAgIDxwPkFkZGVkIG1heCBsZW5ndGggYWJpbGl0eSB0byB0ZXh0IGFuZCBlbWFpbCBmaWVsZHM8L3A+DQogICAgPHA+Rml4ZWQgYSBzbWFsbCBwcm9ibGVtIHdpdGggdGhlIGRlZmF1bHQgZ3JvdXAgbm90IGJlaW5nIGNoZWNrZWQgd2hlbiBhZGRpbmcgYSB1c2VyPC9wPg0KICAgIDxwPlNhdmUgZmlsdGVyIHNldHRpbmdzIGluIHByZWZlcmVuY2VzLCBhbmQgdGhlIGFjdGl2ZSB0YWIgdG9vLjwvcD4NCiAgICA8cD5EZWxldGUgdXNlciBwcm9wZXJ0aWVzIHdoZW4gYSBwcm9wZXJ0eSBpcyBkZWxldGVkIDxlbT5Ob3RlPC9lbT4sIG5vdCB3aGVuIGl0IGlzIGRpc2FibGVkIGluIHRoZSBlZGl0IGdyb3VwIGRpYWxvZzwvcD4NCiAgICA8cD5BZGQgY29uZmlybWF0aW9uIG1lc3NhZ2UgaW4gZWRpdCBncm91cHMuPC9wPg0KICAgIDxwPkFkZGVkIGEgY291cGxlIG1vcmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzLjwvcD4NCiAgICA8cD5BZGRlZCBDU1YgRXhwb3J0IG9wdGlvbjwvcD4NCiAgICA8cD5Ub2RvIC0gQWRkIHByZWZlcmVuY2VzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRsZW5ndGg8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMC4xIC0gTWFyY2gsIDIwMDY8cD4NCiAgICA8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBjaGVjayBmb3IgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlczwvcD4NCiAgICA8cD5GaXggcHJvYmxlbSB3aGVyZSBleHBpcnkgZGF0ZSB3YXMgYmVpbmcgbW9kaWZpZWQgd2hlbiBhZG1pbiBtb2RpZmllZCB1c2VyIHNldHRpbmdzPC9wPg0KICAgIDxwPkFkZCBhIGNvbmZpcm1hdGlvbiBtZXNzYWdlIHRvIHRoZSBwcmVmZXJlbmNlcyBzdWJtaXQgYnV0dG9uPC9wPg0KICAgIDxwPkZpeGVkIGEgbWlub3IgYnVnIHdoZW4gY291dGluZyB0aGUgbnVtYmVyIG9mIHVzZXJzIGluIGEgZ3JvdXA8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIHNpemUgb2YgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcywgYW5kIG1heGxlbmd0aDwvcD4NCiAgICA8cD5BZGRlZCBhZHZhbmNlZCBmaWx0ZXJpbmcgb24gcHJvcGVydGllczwvcD4NCiAgICA8cD5DaGFuZ2VzIHRvIGxhYmVsaW5nIGluIGFkZCBvciBlZGl0IHVzZXI8L3A+DQogICAgPHA+Rml4ZXMgdG8gcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbiBpbmxpbmUgZm9ybXMsIHRoZSBwYXNzd29yZCBpcyBuZXZlciBzZW50IG9uIHRoZSBnZXQgbGluZTwvcD4NCiAgICA8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjIgLSBNYXJjaCwgMjAwNjxwPg0KICAgIDxwPk1vcmUgZmllbGQgbGVuZ3RoIGZpeGVzPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMyAtIE1hcmNoLCAyMDA2PHA+DQogICAgPHA+RXhwb3J0IHRvIHNtYXJ0eSBhbGwgb2YgdGhlIHVzZXIgcHJvcGVydGllcyB3aGVuIHRoZXkgYXJlIGxvZ2dlZCBpbjwvcD4NCjwvbGk+DQo8bGk+PHA+MS4wLjQgLSBNYXksIDIwMDY8cD4NCiAgICA8cD5GaXhlcyB0byB0aGUgZXhwb3J0IGNvZGU8L3A+DQogICAgPHA+Q29kZSBjbGVhbnVwIChhbHBoYWJldGl6ZSBmdW5jdGlvbnMpPC9wPg0KICAgIDxwPk1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMgKHJlY29tbWVuZGVkIGJ5IG5pbHM3MykgZm9yIGRlYWxpbmcgd2l0aCB0aGUgY2hhbmdlIHBhc3N3b3JkIHN0dWZmLjwvcD4NCiAgICA8cD5SZW1vdmVkIHRoZSByZXF1aXJlbWVudCBmb3IgQ01TIDAuMTIsIGFuZCBwdXQgaXQgYmFjayB0byAwLjExLjI8L3A+DQogICAgPHA+QWRkZWQgdGhlIFwmIzAzOTtzaWxlbnRcJiMwMzk7IGZvcm08L3A+DQogICAgPHA+Q2xlYW5lZCB1cCBkYXRhYmFzZSBhY2Nlc3Mgc3R1ZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKGhvcGVmdWxseSk8L3A+DQogICAgPHA+QWRkZWQgY29weXJpZ2h0IGluZm88L3A+DQogICAgPHA+QWRkZWQgbWFjcm9zIGZvciByZWRpcmVjdG8gdG8gYSB1c2VyIHNwZWNpZmljIHBhZ2Ugb24gbG9naW4gb3IgbG9nb3V0PC9wPg0KICAgIDxwPlR3ZWFrcyB0byB0aGUgYWRtaW4gcHJlZmVyZW5jZXMgdGFiPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuNSAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT48cD4xLjAuNiAtIE1heSwgMjAwNjwvcD4NCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBlZGl0aW5nIGRyb3Bkb3duczwvcD4NCjwvbGk+DQo8bGk+PHA+MS4xLjAgLSBNYXksIDIwMDY8L3A+DQogICAgPHA+RXZlbnRzPC9wPg0KICAgIDxwPk9wdGlvbmFsbHkgZGlzYWxsb3cgcmVwZWF0ZWQgbG9naW5zPC9wPg0KICAgIDxwPkV4cG9ydCB0aGUgdXNlciBpZCB0byBzbWFydHk8L3A+DQogICAgPHA+QWRkZWQgb3B0aW9uYWxseSB7JGdyb3VwXH0gZm9yIHRoZSBwYWdlcyB0byBqdW1wIHRvIG9uIGxvZ2luPC9wPg0KPC9saT4NCjxsaT48cD4xLjEuMSAtIFNlcHQsIDIwMDY8L3A+DQogICAgPHA+Rml4ZWQgYSBidWcgd2hlbiBhIHVzZXIgd2FzIGVkaXRpbmcgaGlzIHNldHRpbmdzIHdpdGggXCYjMDM5O2FsbG93IGR1cGxpY2F0ZSBlbWFpbHNcJiMwMzk7IHdhcyBvZmY8L3A+DQogICAgPHA+Q2hhbmdlZCB0aGUgZHJvcGRvd24gdGFibGUgdG8gMjU1IGNoYXJhY3RlcnM8L3A+DQogICAgPHA+TWlub3IgY2xlYW51cHM8L3A+DQo8L2xpPg0KPGxpPjxwPjEuMS4yIC0gRGVjLCAyMDA2PC9wPg0KICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCiAgIDxsaT48cD4xLjIuMCAtIEFwcmlsLCAyMDA3PC9wPg0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4NCjxwPjEuMi4xIC0gSnVuZSwgMjAwNzwvcD4NCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KPC9saT4NCjxsaT4xLjMgLSBTZXB0ZW1iZXIsIDIwMDcNCjxwPkFkZGVkIHN1cHBvcnQgZm9yICYjMDM5O3JlbWVtYmVyIG1lJiMwMzk7IHNvIHRoYXQgbG9naW4gaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGEgY29va2llLiAgQW5kIHN1cHBvcnQgZm9yIGEgZm9ybSB0byBhbGxvdyB0aGF0IGNvb2tpZSB0byBiZSByZXNldC48L3A+DQo8L2xpPg0KPGxpPjEuMy4xIC0gTm92ZW1iZXIsIDIwMDcNCjxwPkZpeGVzIHByb2JsZW1zIHdpdGggcGFyYW1ldGVycyBub3QgYmVpbmcgY2xlYW5lZCBpbiB0aGUgY2hhbmdlIHNldHRpbmdzIGRpYWxvZyBvbiB0aGUgZnJvbnQgZW5kLjwvcD4NCjxwPkZpeGVzIGFuIHVwZ3JhZGUgaXNzdWUgaW4gdGhlIGRhdGFiYXNlIHNjaGVtYTwvcD4NCjxwPkZpeGVzIGFuIGlzc3VlIGluIGEgR2V0U21hcnR5KCkgY2FsbCB0aGF0IHdhcyBhcHBhcmVudGx5IGNhdXNpbmcgcGVvcGxlIGRpZmZpY3VsdGllcyB3aXRoIHRoZSBsb2dpbiBmb3JtLjwvcD4NCjxwPkFkZCBhIHByZWZlcmVuY2UgdGhhdCBhbGxvd3MgYWRtaW5zIHRvIHNwZWNpZnkgYSBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHRoZSBmb3Jnb3QgcGFzc3dvcmQgdmFsaWRhdGlvbiBmb3JtIGlzIGNvbXBsZXRlLjwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkhvZSB3ZXJrdCBoZXQ/PC9oMz4NCjxwPkRlemUgbW9kdWxlIG1hYWt0IGJlaGVlciBlbiBhZG1pbmlzdHJhdGllIHZhbiBmcm9udC1lbmQgZ2VicnVpa2VycyBtb2dlbGlqayA8aT4oZ2VicnVpa2VycyBkaWUgZ2VlbiBiZWhlZXJ0b2VnYW5nIGhlYmJlbik8L2k+LiAgVSBrdW50IGthbiBlciBnZWJydWlrZXJzZ3JvZXBlbiBlbiAtYWNjb3VudHMgbWVlIGFhbm1ha2VuIGVuIGdlYnJ1aWtlcnMga3VubmVuIGVyIG1lZSBpbi0gZW4gdWl0bG9nZ2VuLiBEZSBtb2R1bGUga2FuIHNhbWVuIG1ldCBkZSBDdXN0b21Db250ZW50IG1vZHVsZSBnZWJydWlrdCB3b3JkZW4gb20gc3BlY2lmaWVrZSBpbmhvdWQgYWFuIGJlcGFhbGRlIGdlYnJ1aWtlcnMgdGUgdG9uZW4gbmFkYXQgemUgaW5nZWxvZ2Qgemlqbi48L3A+DQo8aDM+TW9nZWxpamtoZWRlbjwvaDM+DQo8dWw+DQo8bGk+PHA+R2VicnVpa2Vyc2FjY291bnRzIG1ldCBiZXBlcmt0ZSBsZXZlbnNkdXVyLiAgVSBrdW50IHRpamRlbGlqa2UgZ2VicnVpa2VycyBhYW5tYWtlbi48L3A+PC9saT4NCjxsaT48cD5Hcm9lcHNlaWdlbnNjaGFwcGVuLiBVIGt1bnQgdmVyc2NoaWxsZW5kZSBnZWdldmVucyB2cmFnZW4gYWFuIGxlZGVuIHZhbiB2ZXJzY2hpbGxlbmRlIGdyb2VwZW4uPC9wPjwvbGk+DQo8bGk+PHA+R2VzY2hpa3Qgb20gaG9uZGVyZGVuIGdlYnJ1aWtlcnMgYWYgdGUgaGFuZGVsZW4uPC9wPjwvbGk+DQo8bGk+PHA+SGVlZnQgZWVuIHVpdGdlYnJlaWRlIEFQSSBvbSBmdW5jdGlvbmFsaXRlaXQgdG9lIHRlIHZvZWdlbjwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib2UgZ2VicnVpa3QgdSBoZXQ/PC9oMz4NCjx1bD4NCjxsaT48cD5OYSBpbnN0YWxsYXRpZSBoZWVmdCB1IHRvZWdhbmcgdG90IGhldCBiZWhlZXJzY2hlcm0gdmFuIGRlIEZyb250RW5kVXNlcnMtbW9kdWxlIG9uZGVyIGhldCBHZWJydWlrZXJzL0dyb2VwZW4gbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlRlbiBlZXJzdGUgbW9ldCB1IGVpZ2Vuc2NoYXBwZW4gaW5zdGVsbGVuLiBFaWdlbnNjaGFwcGVuIHppam4gb25taXNiYXJlIHZlbGRkZWZpbml0aWVzIHdhYXIgdSBoZXQgdHlwZSBpbmZvcm1hdGllIG9wZ2VlZnQgZGF0IHUgd2lsdCB2ZXJ6YW1lbGVuIGVuIGRlIGJlcGVya2luZ2VuLCBiaWp2b29yYmVlbGQ6ICBuYWFtLCBsZWVmdGlqZCwgc3RhZCwgbGFuZCwgZS1tYWlsYWRyZXMuPC9wPg0KPHA+PGI+T3BtZXJraW5nOjwvYj4gVSBob2VmdCBkZSBlaWdlbnNjaGFwcGVuIHZvb3IgZ2VicnVpa2Vyc25hYW0gZW4gd2FjaHR3b29yZCBuaWV0IG9wIHRlIGdldmVuLCBkZXplIHppam4gYWwgaW5nZXN0ZWxkLjwvYj4NCjwvbGk+DQo8bGk+PHA+VGVuIHR3ZWVkZSBtb2V0IHUgJmVhY3V0ZTsmZWFjdXRlO24gb2YgbWVlcmRlcmUgZ3JvZXBlbiBhYW5tYWtlbi4gQWxzIHUgZWVuIGdyb2VwIGFhbm1hYWt0IHdvcmR0IHUgZ2V2cmFhZ2Qgb20gZWVuIGdyb2Vwc25hYW0sIGVlbiBvbXNjaHJpanZpbmcsIG9tIGVpZ2Vuc2NoYXBwZW4gYWFuIGRlIGdyb2VwIHRvZSB0ZSBrZW5uZW4gZW4gb2YgaGV0IG9wdGlvbmVsZSwgdmVycGxpY2h0ZSBvZiB2ZXJib3JnZW4gdmVsZGVuIGJldHJlZnQgPGk+KHVpdCBpcyBvb2sgZ2VsZGlnKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5PcG1lcmtpbmc6PC9iPiBDb250cm9sZWVyIHZvb3JkYXQgdSB2ZXJkZXIgZ2FhdCBvZiBkZSB2b29ya2V1cmVuIGdvZWQgemlqbiBpbmdlc3RlbGQuPC9wPjwvbGk+DQo8bGk+PHA+VGVuIGRlcmRlIG1vZXQgdSAmZWFjdXRlOyZlYWN1dGU7biBvZiBtZWVyZGVyZSBnZWJydWlrZXJzIGFhbm1ha2VuLiBEaXQgaXMgZWVuIHByb2NlcyBpbiB0d2VlIHN0YXBwZW4uIEFscyB1IGVlbiBnZWJydWlrZXIgYWFubWFha3QsIHdvcmR0IGVyIGdldnJhYWdkIG9tIGVlbiBnZWJydWlrZXJzbmFhbSwgZWVuIHdhY2h0d29vcmQgZW4gZWVuIHZlcmxvb3BkYXR1bS4gIFZlcnZvbGdlbnMgc2VsZWN0ZWVydCB1IGRlIGdyb2VwIHdhYXIgZGUgZ2VicnVpa2VyIGxpZCB2YW4gaXMgZW4ga2xpa3QgdSBvcCBcJiMwMzk7Vm9sZ2VuZGVcJiMwMzk7PC9wPg0KPHA+PGVtPk9wbWVya2luZzogPC9lbT5EaXQgaXMgZWVuIGFyYmVpZHNpbnRlbnNpZXZlIGVuIHNhYWllIGtsdXMuIEhldCBpcyBlZW52b3VkaWdlciBvbSBnZWJydWlrZXJzIHppY2h6ZWxmIHRlIGxhdGVuIHJlZ2lzdHJlcmVuIGVuIHZlcnZvbGdlbnMgZGUgZ3JvZXBzaW5mb3JtYXRpZSBhYW4gdGUgcGFzc2VuLiBPbSBkZXplIG1vZHVsZSB0ZSB0ZXN0ZW4gaXMgaGV0IGVjaHRlciByYWFkemFhbSBlbmtlbGUgZ2VicnVpa2VycyBhYW4gdGUgbWFrZW4uPC9wPjwvbGk+DQo8bGk+PHA+VGVuc2xvdHRlLCBuYWRhdCBoZXQgc3lzdGVlbSBhbGxlIGdlZ2V2ZW5zdmVsZGVuIGRpZSBhYW4gZGUgZ2VicnVpa2VycyB3b3JkZW4gZ2V0b29uZCBoZWVmdCBiZXBhYWxkLCB3b3JkdCBlZW4gZm9ybXVsaWVyIGdldG9vbmQgd2FhcmluIHUgZGUgdmVycGxpY2h0ZSBnZWJydWlrZXJzaW5mb3JtYXRpZSBrdW50IGFhbmdldmVuLiBWdWwgZGV6ZSBpbmZvcm1hdGllIGluIG9tIGhldCB0b2V2b2VnZW4gdmFuIGVlbiBuaWV1d2UgZ2VicnVpa2VyIGFmIHRlIHJvbmRlbi48L3A+PC9saT4NCjxsaT48cD5OdSBiZW50IHUgem92ZXIgb20gZGUgRnJvbnRFbmQgZnVuY3Rpb25hbGl0ZWl0IGFhbiB1dyBzaXRlIHRvZSB0ZSB2b2VnZW4uIERpdCBrYW4gZWVudm91ZGlnZSBtZXQgaGV0IHRvZXZvZWdlbiB2YW4gZGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyBhYW4gZGUgcGFnaW5hIG9mIHNqYWJsb29uLjwvcD48L2xpPg0KPC91bD4NCjxoMz5PbmRlcnN0ZXVuaW5nPC9oMz4NCjxwPkRlemUgbW9kdWxlIGJldmF0IGdlZW4gY29tbWVyY2kmZXVtbDtsZSBzdXBwb3J0LiBFY2h0ZXIsIGVyIHppam4gZWVuIGFhbnRhbCBpbmZvcm1hdGllYnJvbm5lbiBvbSB1IHRlIGhlbHBlbjo8L3A+DQo8dWw+DQo8bGk+Vm9vciBkZSBuaWV1d3N0ZSB2ZXJzaWUgdmFuIGRlemUgbW9kdWxlLCB2b29yIEZBUXMsIG9tIGVlbiBCdWcgUmVwb3J0IGluIHRlIHN0dXJlbiBvZiBvbSBjb21tZXJjaSZldW1sO2xlIHN1cHBvcnQgdGUga29wZW4sIGJlem9la3QgdSBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIG9wIDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5FeHRyYSBiZXNwcmVraW5nZW4gdmFuIGRlemUgbW9kdWxlIGt1bm5lbiBvb2sgZ2V2b25kZW4gd29yZGVuIGluIGRlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5EZSBhdXRldXIsIGNhbGd1eTEwMDAsIGthbiB2YWFrIHdvcmRlbiBhYW5nZXRyb2ZmZW4gaW4gZGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+VGVuc2xvdHRlIGt1bnQgdSBtb2dlbGlqayBzdWNjZXMgaGViYmVuIGRvb3IgZGUgYXV0ZXVyIGRpcmVjdCB0ZSBlLW1haWxlbi48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uZWVsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtdWxpZXJlbjoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBUb29uIGhldCBsb2dpbi1mb3JtdWxpZXI8L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBUb29uIGhldCBsb2dvdXQtZm9ybXVsaWVyPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBUb29uIGhldCAmcXVvdDt3aWp6aWcgaW5zdGVsbGluZ2VuJnF1b3Q7IGZvcm11bGllcjwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gVG9vbiBoZXQgJnF1b3Q7d2FjaHR3b29yZCB2ZXJnZXRlbiZxdW90OyBmb3JtdWxpZXI8L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmVlbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPkdlYnJ1aWt0IG1ldCBkZSBsb2dpbiwgbG9nb3V0ICBlbiAmcXVvdDt3aWp6aWcgaW5zdGVsbGluZ2VuJnF1b3Q7IGZvcm11bGllcmVuLiBEZXplIHBhcmFtZXRlciBiZXZhdCBkZSBwYWdpbmEtaWQgb2YgYWxpYXMgb20gbmFhciB0ZSByZWRpcmVjdGVuIG5hZGF0IGhldCBmb3JtdWxpZXIgZ29lZCBpcyBpbmdldnVsZDwvcD4NCjwvdWw+DQo8aDM+VmVyZWlzdGVuPC9oMz4NCjxwPk9tIGRlIHZlcmdldGVuIHdhY2h0d29vcmQgZnVuY3Rpb25hbGl0ZWl0IHRlIGltcGxlbWVudGVyZW4gbW9ldCB2Jm9hY3V0ZTsmb2FjdXRlO3IgZGV6ZSBtb2R1bGUgZGUgQ01TTWFpbGVyIG1vZHVsZSB6aWpuIGdlJml1bWw7bnN0YWxsZWVyZC48L3A+DQo8aDM+Q29weXJpZ2h0IGVuIExpY2VudGllPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20iPjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbGUgcmVjaHRlbiB6aWpuIHZvb3JiZWhvdWRlbi48L3A+DQo8cD5Wb2xnZW5zIGRlIEdQTCB3b3JkdCBkZXplIHNvZnR3YXJlIGJlc2NoaWtiYWFyIGdlc3RlbGQgJnF1b3Q7YXMtaXMmcXVvdDsuIExlZXMgZGUgdGVrc3QgdmFuIGRlIGxpY2VudGllIHZvb3IgZGUgdm9sbGVkaWdlIGRpc2NsYWltZXIuPC9wPg0KPHA+RGV6ZSBtb2R1bGUgaXMgdnJpamdlZ2V2ZW4gb25kZXIgZGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBVIG1vZXQgaGV0IGVlbnMgemlqbiBtZXQgZGV6ZSBsaWNlbnRpZSBhbHZvcmVucyBkZSBtb2R1bGUgdGUgZ2VicnVpa2VuLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zNTczODY1NjQuMTIxNjc1NzgzNC4xMjE2NzU3ODM0LjEyMTcwNTM5NTguMic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMTY3NTc4MzQuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ0VkeXRvd2FuaWUgdcW8eXRrb3duaWthJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnTmllIHdzdGF3aWFqIGZvcm11bGFyenkgaW5saW5lICh3IHRyZcWbY2kpJzsKJGxhbmdbJ2luZm9fbG9zdHVuJ10gPSAnS2xpa25paiB0dXRhaiwgZ2R5IG5pZSBwYW1pxJl0YXN6IHN3b2ljaCBkYW55Y2ggZG8gemFsb2dvd2FuaWEnOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ0tsaWtuaWogdHV0YWosIGplxZtsaSBuaWUgcGFtacSZdGFzeiBzd29qZWdvIGhhc8WCYSc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ0tsaWtuaWogdHV0YWosIGJ5IHNpxJkgd3lsb2dvd2HEhyc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnS2xpa25paiB0dXRhaiBieSB6bWllbmnEhyBzd29qZSBoYXPFgm8gbHViIGlubmUgZGFuZSc7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1N6YWJsb24gcG9kZ2zEhWR1IHXFvHl0a293bmlrYSc7CiRsYW5nWydldmVudCddID0gJ1pkYXJ6ZW5pZSc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnWmF3aWFkb21pZW5pZSBvIHpkYXJ6ZW5pdSBGRVUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnQWRyZXMgZW1haWwgZG8gemF3aWFkb21pZW5pYSc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnU3phYmxvbiBtYWlsYSBwb3dpYWRhbWlhasSFY2Vnbyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICdUeXR1xYIgbWFpbGEgcG93aWFkYW1pYWrEhWNlZ28nOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdQb3dpYWRvbWllbmllIGVtYWlsJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdHZHkgemFsb2dvd2FuaWUnOwokbGFuZ1snT25Mb2dvdXQnXSA9ICdHZHkgd3lsb2dvd2FuaWUnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnR2R5IHd5Z2FzYSBzZXNqYSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdHZHkgc3R3b3J6b255IG5vd3kgdcW8eXRrb3duaWsnOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnR2R5IHXFvHl0a293bmlrIHNrYXNvd2FueSc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdHZHkgem1pZW5pb25lIHVzdGF3aWVuaWEgdcW8eXRrb3duaWthJzsKJGxhbmdbJ09uQ3JlYXRlR3JvdXAnXSA9ICdHZHkgc3R3b3J6b25hIGdydXDEmSB1xbx5dGtvd25payZvYWN1dGU7dyc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnR2R5IHNrYXNvd2FubyBncnVwxJknOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdGdW5rY2pvbmFsbm/Fm8SHIHphZ3ViaW9ueWNoIGRhbnljaCBsb2dvd2FuaWEgdXJ1Y2hvbWlvbmEuIFpuYWxlemlvbm8gdW5pa2FsbnkgbG9naW4sIGt0Jm9hY3V0ZTtyeSBwYXN1amUgZG8gVHdvaWNoIGRhbnljaC4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ1R3b2phIG5hendhIHXFvHl0a293bmlrYSB0bzonOwokbGFuZ1snbG9zdHVuY29uZmlybV9wb3N0bXNnJ10gPSAnUG9sZWNhbXksIMW8ZWJ5IHRhIGluZm9ybWFjamEgem9zdGHFgmEgemFub3Rvd2FuYSB3IGJlenBpZWN6bnltLCBhbGUgem5hbnltIENpIG1pZWpzY3UhJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdJRCBzdHJvbi9BbGlhcyBkbyBwcnplc2tvY3plbmlhIHBvIHptaWFuaWUgdXN0YXdpZcWEJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ0lkLXN0cm9ueS9BbGlhcy1zdHJvbnkgZG8gcHJ6ZXNrb2N6ZW5pYSBwbyB3ZXJ5ZmlrYWNqaSBrb2R1IConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdTemFibG9uIHpndWJpb25lZ28gbG9naW51JzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3phYmxvbiBwb3R3aWVyZHplbmlhIHBvIHpndWJpb255bSBsb2dpbmllJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnQsWCxIVkOiB3acSZY2VqIG5pxbwgamVkbm8ga29udG8gc3BlxYJuaWEgd2FydW5raSB3cHJvd2Fkem9uZSBkbyBzeXN0ZW11JzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0LFgsSFZDogbmllIG1vZ8SZIHpuYWxlxbrEhyBwYXN1asSFY2VnbyB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0LFgsSFZDogbmllIG1vZ8SZIHpuYWxlxbrEhyB0YWtpZWogZ3J1cHknOwokbGFuZ1sncmVhZG9ubHknXSA9ICdUeWxrbyBkbyBvZGN6eXR1JzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdLbGFzYSBvcGVyYWNqaSB1xbx5dGtvd25pa2EgKFVzZXIgTWFuaXB1bGF0b3IgQ2xhc3MpJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ1d5bG9nb3dhbnkgcHJ6ZXogYWRtaW5pc3RyYXRvcmEnOwokbGFuZ1sncHJvbXB0X2xvZ2dlZGlub25seSddID0gJ1Bva2F6dWogdHlsa28gemFsb2dvd2FueWNoIHXFvHl0a293bmlrJm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdXeWxvZ3VqIHRlZ28gdcW8eXRrb3duaWthJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ0NlY2h5IGtvbnQnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0b3JpYSc7CiRsYW5nWydleHBvcnQnXSA9ICdFa3Nwb3J0JzsKJGxhbmdbJ2NsZWFyJ10gPSAnV3ljennFm8SHJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ1phcGlzeiBoaXN0b3JpxJkgdyB0cnliaWUgQVNDSUkgeiBwcnplZHppYcWCdSBjemFzdSc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ1d5Y3p5xZvEhyBoaXN0b3JpxJkgeiBvc3RhdG5pZWdvIG9rcmVzdSc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdaYXBvbW5pYW55IGxvZ2luPyc7CiRsYW5nWyd0aXRsZV9yc3NleHBvcnQnXSA9ICdFa3Nwb3J0dWogZGVmaW5pY2plIGdydXB5IChpIGNlY2h5KSBkbyBmb3JtYXR1IFhNTCc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeW1haW50ZW5hbmNlJ10gPSAnWmFyesSFZHphbmllIGhpc3RvcmnEhSc7CiRsYW5nWyd5ZXMnXSA9ICdUYWsnOwokbGFuZ1snbm8nXSA9ICdOaWUnOwokbGFuZ1sncHJvbXB0X29mJ10gPSAneic7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBCZXogbGltaXR1ICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJzEgZ29kemlueSc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICc2IGdvZHppbic7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICcxMiBnb2R6aW4nOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICcxIGRuaWEnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnMSB0eWdvZG5pYSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnMiB0eWdvZG5pJzsKJGxhbmdbJ2RhdGVfb25lbW9udGhvbGQnXSA9ICcxIG1pZXNpxIVjYSc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnMyBtaWVzacSZY3knOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICc2IG1pZXNpxJljeSc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICcxIHJva3UnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3J1cG93YW5pZSBpIHNvcnRvd2FuaWUnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ1Jla29yZHksIGt0Jm9hY3V0ZTtyZSBzcGXFgmFuaWFqxIUga3J5dGVyaWEnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdOYXp3YSB1xbx5dGtvd25pa2EgLSBtYWxlasSFY28nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ05hendhIHXFvHl0a293bmlrYSAtIHJvc27EhWNvJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdEYXRhIC0gbWFsZWrEhWNvJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ0RhdGEgLSByb3NuxIVjbyc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdUeXAgemRhcnplbmlhIC0gbWFsZWrEhWNvJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnVHlwIHpkYXJ6ZW5pYSAtIHJvc27EhWNvJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0FkcmVzIElQIC0gbWFsZWrEhWNvJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnQWRyZXMgSVAgLSByb3NuxIVjbyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnTmllIG9kbm90b3dhbm8gxbxhZG55Y2ggemRhcnplxYQnOwokbGFuZ1sncmVzZXQnXSA9ICdXeWN6ecWbxIcnOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3J1cHVqIHBvZCBhZHJlc2llIElQJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAnRmlsdHIgdHlwJm9hY3V0ZTt3IHpkYXJ6ZcWEJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ1d5xZt3aWV0bCB0eWxrbyB6ZGFyemVuaWEgeiBvc3RhdG5pZWdvIG9rcmVzdSc7CiRsYW5nWydwcm9tcHRfcGFnZWxpbWl0J10gPSAnTGltaXQgcmVrb3JkJm9hY3V0ZTt3IG5hIHN0cm9uaWUnOwokbGFuZ1snZm9yJ10gPSAnZGxhJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnUmFwb3J0IGhpc3RvcmlpJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdOaWV6bmFuZSc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnQWRyZXMgSVAnOwokbGFuZ1sncHJvbXB0X2V2ZW50dHlwZSddID0gJ1R5cCB6ZGFyemVuaWEnOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXRhJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdQb3dyJm9hY3V0ZTt0JzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdPcGVyYWNqYSBpbXBvcnR1IHpha2/FhGN6ecWCYSBzacSZIHN1a2Nlc2VtJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ3ByemV0d29yem9uZSBsaW5pZSc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnT2Rrcnl0ZSBixYLEmWR5JzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzYWRkZWQnXSA9ICdEb2RhbmUgcmVrb3JkeSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnTmllIG1vZ8SZIHpuYWxlxbrEhyBjZWNoeSBncnVweSAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ05pZSBtb2fEmSB1enlza2HEhyBvZHBvd2llZHppIHogc2Vyd2VyYSBTTVRQJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ1BsaWsgbyBuYXp3aWUgKCVzKSBuaWUgem9zdGHFgiBvZG5hbGV6aW9ueSc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnTmllcHJhd2lkxYJvd2Egd2FydG/Fm8SHIGRsYSB3YXJ0b8WbY2kgbHViIGxpc3R5ICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnUG9sZSAlcyBwcnpla3JhY3phIG1ha3N5bWFsbsSFIGTFgnVnb8WbxIcnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdCxYLEhWQgcHJ6eSBpbXBvcmNpZSAobGluaWEgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnTmllIG1vxbxuYSBwb2JyYcSHIGNlY2ggKGLFgsSFZCB3ZXduxJl0cnpueSBtb2R1xYJ1KSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHByenkgdXN0YXdpYW5pdSBpbmZvcm1hY2ppIG8gdcW8eXRrb3duaWt1JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdOaWUgb2RuYWxlemlvbm8gxbxhZG5laiBrb2x1bW55LCBrdCZvYWN1dGU7cmEgc3BlxYJuaWEgd2FydW5raSAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ05pZSBvZG5hbGV6aW9ubyBjZWNoIGRsYSB3c2themFuZWogZ3J1cHknOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1BsaWsgd3NrYXphbnkgZG8gaW1wb3J0dSBuaWUgemFjaG93dWplIHd5bWFnYW5lZ28gZm9ybWF0dSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnTmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3UnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjbiBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0dWogdcW8eXRrb3duaWsmb2FjdXRlO3cgZG8gZ3J1cHknOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnxblyJm9hY3V0ZTtkxYJvd3kgcGxpayBDU1YnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdQbGlrIFhNTCBkbyBvZGN6eXR1JzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0Vrc3BvcnR1aiB1xbx5dGtvd25payZvYWN1dGU7dyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnR1aiB1xbx5dGtvd25pa293JzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ1d5Y3p5xZvEhyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0RvY2Vsb3dhIMWbY2llxbxrYSBwbGlrJm9hY3V0ZTt3IHogb2JyYXprYW1pJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnUG9qYXdpxYIgc2nEmSBwcm9ibGVtIHogYnJha3VqxIVjeW0gKGFsZSB3eW1hZ2FueW0pIHdncnl3YW5pZW0gcGxpayZvYWN1dGU7dyc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnTmllIG1vZ8SZIHByemV0d29yennEhyB3c2themFuZWdvIHBsaWt1IFhNTCAoesWCeSBmb3JtYXQ/KSc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnTmllIG1vxbxuYSBza2Fzb3dhxIcgZ3J1cHksIGt0Jm9hY3V0ZTtyYSBtYSBwcnp5cGlzYW55Y2ggdcW8eXRrb3duaWsmb2FjdXRlO3cnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ1RlbiB1xbx5dGtvd25payBqdcW8IGplc3QgemFsb2dvd2FueSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZWtzdCB6IG9icmF6a2EgbmllIHpvc3RhxYIgcHJ6ZXBpc2FueSBwb3ByYXduaWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ1Bvencmb2FjdXRlO2wgdcW8eXRrb3duaWtvbSBsb2dvd2HEhyBzacSZIHdpxJljZWogbmnFvCByYXonOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ1JvenN6ZXJ6ZW5pZSBwbGlrJm9hY3V0ZTt3IHogb2JyYXprYW1pLCBrdCZvYWN1dGU7cmUgdcW8eXRrb3duaWN5IG1vZ8SFIHdncnl3YcSHJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpbmZvIGlzIHVwZGF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBkZWxldGVkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdHcnVwYSBzeXN0ZW11IENNUyc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIE5hc3TEmXB1asSFY2Ugem5hY3puaWtpIG1vZ8SFIHpvc3RhxIcgd3lrb3J6eXN0YW5lIHcgdHljaCBwb2xhY2g6IHskdXNlcm5hbWV9LCB7JGdyb3VwfS4gVcW8eXdhasSFYyB6bmFjem5pa2EgeyRncm91cH0sIHN5c3RlbSBwb2RtaWVuaSBuYXp3xJkgcGllcndzemVnbyBjesWCb25rYSBncnVweSwgZG8ga3Qmb2FjdXRlO3JlaiB1xbx5dGtvd25payBuYWxlxbx5IC0gaSBwcnpla2llcnVqZSBkbyB0ZWogc3Ryb255Lic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnRWR5dHVqIHRvIHBvbGUgYnkgd3lrYXNvd2HEhyBoYXPFgm8gdcW8eXRrb3duaWthJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdFZHl0dWogdG8gcG9sZSBieSB3eWthc293YcSHIGhhc8WCbyB1xbx5dGtvd25pa2EnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnVcW8eXRrb3duaWsgbyB0ZWogbmF6d2llIGp1xbwgaXN0bmllamUnOwokbGFuZ1snbm9jc3ZyZXN1bHRzJ10gPSAnRWtzcG9ydCBkbyBDU1YgbmllIHphcGlzYcWCIMW8YWRueWNoIHd5bmlrJm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0TFgnVnb8WbxIcgcG9sYSBuYXp3eSB1xbx5dGtvd25pa2EnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnRMWCdWdvxZvEhyBwb2xhIGhhc8WCYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluL01heCBkxYJ1Z2/Fm2NpIGhhc8WCYSBzxIUgbmllcHJhd2lkxYJvd2UnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggZMWCdWdvxZtjaSBuYXp3eSB1xbx5dGtvd25pa2Egc8SFIG5pZXByYXdpZMWCb3dlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdOaWVwcmF3aWTFgm93eSBhZHJlcyBlbWFpbCc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05pZSB6bmFsZXppb25vIGFkcmVzdSBlbWFpbCBwcnp5cGlzYW5lZ28gZG8gdGVnbyBrb250YSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmxlbSB6IHVzdGFsZW5pZW0gaW5mb3JtYWNqaSBvIHXFvHl0a293bmlrdSc7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdQcm9ibGVtIHogdXN0YWxlbmllbSBjZWNoJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVxbx5dGtvd25payBkb2RhbnkgJXMgPSAlcyc7CiRsYW5nWyd1c2VyX2RlbGV0ZWQnXSA9ICdVxbx5dGtvd25payB1c3VuacSZdHkgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnQ2VjaGEnOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1dhcnRvxZvEhyAod3lyYcW8ZW5pZSByZWd1bGFybmUpJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnVXdhZ2E6IHRlIHBvbGEgbWFqxIUgd3DFgnl3IG5hIHdpZWxrb8WbxIcgcCZvYWN1dGU7bCB3ecWbd2lldGxhbmVnbyBmb3JtdWxhcnphLiBabWllbmlhbmllIHRlaiBsaWN6YnkgbmEgaXN0bmllasSFY2VqIHN0cm9uaWUgbW/FvGUgbmllIGJ5xIcgbmFqbGVwc3p5bSBwb215c8WCZW0hJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdabWllbmnEhyBwcmVmZXJlbmNqZSBhZG1pbmlzdHJhdG9yYT8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ1RlbiBlbWFpbCBqdcW8IGplc3QgdcW8eXdhbnkgdyBzeXN0ZW1pZSc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdVxbx5d2FqIGNpYXN0ZWN6ZWsgYnkgemFwYW1pxJl0YcSHIHN6Y3plZyZvYWN1dGU7xYJ5IGxvZ293YW5pYSc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ05hendhIGNpYXN0ZWN6a2EgKGNvb2tpZSknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIHdpZWxva3JvdG5lIGVtYWlsZSc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWVfaXNfZW1haWwnXSA9ICdBZHJlcyBlbWFpbCBqZXN0IHImb2FjdXRlO3duaWXFvCBuYXp3xIUgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ1ByJm9hY3V0ZTtiYSB1dHJ6eW1hbmlhIHphbG9nb3dhbmlhIHByemV6IHXFvHljaWUgY2lhc3RlY3prYSAoY29va2llKSA8ZW0+KGNpYXN0ZWN6a28gamVzdCB1c3Rhd2lhbmUgcHJ6ZXogYWt0eXdub8WbxIcgbmEgc3Ryb25pZSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcocG96dyZvYWN1dGU7bCB3aWVsdSB1xbx5dGtvd25pa29tIHXFvHl3YcSHIHRlZ28gc2FtZWdvIGVtYWlsYSknOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyhlbWFpbCB3cGlzYW55IHByemV6IHXFvHl0a293bmlrYSBqZXN0IHXFvHl0eSBqYWtvIG5hendhIHRlZ28gdcW8eXRrb3duaWthIChqZWdvIGxvZ2luKSAtIHR5bGtvIG5pZSB6ZXN0YXdpYWogdGVnbyB6IG9wY2rEhSAmcXVvdDtwb3p3Jm9hY3V0ZTtsIG5hIHdpZWxva3JvdG5lIGVtYWlsZSZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnUG96dyZvYWN1dGU7bCBuYSB3aWVsb2tyb3RuZSAmcXVvdDtwcnp5cG9taW5hY3plIGhhc2XFgiZxdW90Oz8nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnKHBvencmb2FjdXRlO2wgdcW8eXRrb3duaWtvbSB3eXPFgmHEhyDFvMSFZGFuaWUga2Fzb3dhbmlhIGhhc8WCYSBuYXdldCBnZHkgbmllIHXFvHl3YWxpIHBvcHJ6ZWRuaWVnbyknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVxbx5d2HEhyB1cHJhd25pZcWEIGRlZHlrb3dhbnljaCBkbGEgVcW8eXRrb3duaWsmb2FjdXRlO3cgRkVVPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoWmF6d3ljemFqLCB1xbx5dGtvd25pY3kgRkVVIG1hasSFIHRha2llIHNhbWUgdXByYXduaWVuaWEgamFrIHVwcmF3bmllbmlhIGFkbWluaXN0cmFjeWpuZSBDTVMtYSwgdGFraWUgamFrICZxdW90O2RvZGF3YW5pYSB1xbx5dGtvd25payZvYWN1dGU7dyZxdW90OywgJnF1b3Q7ZG9kYXdhbmllIGdydXAmcXVvdDsgaXRwLiBKYWsgemF6bmFjenlzeiB0xJkgb3BjasSZIC0gdXByYXduaWVuaWEgQ01TLWEgaSB1xbx5dGtvd25payZvYWN1dGU7dyBGRVUgem9zdGFuxIUgcm96ZHppZWxvbmUpJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdOaWUgem5hbGV6aW9ubyB3Z3JhbmVnbyBwbGlrdSAoYsWCxIVkIHdld27EmXRyem55IHN5c3RlbXUpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnQnnFgiBwcm9ibGVtIHogdHdvaW0gcGxpa2llbSBkbyB3Z3J5d2FuaWEuIFNwciZvYWN1dGU7YnVqIHBvbm93bmllLic7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdOaWUgd3Byb3dhZHpvbm8gbmF6d3kgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdlbWFpbCddID0gJ05pZSB3cGlzYW5vIGVtYWlsYSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdOaWUgd3Byb3dhZHpvbm8gaGFzxYJhJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdXeWxvZ3VqIHXFvHl0a293bmlrYSBGRVUnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnWmFsb2d1aiB1xbx5dGtvd25pa2EgRkVVJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mYW1wO2FtcDthbXA7YW1wO3F1b3Q7cmVkJmFtcDthbXA7YW1wO2FtcDtxdW90Oz48Yj5VxbtZV0FKIE9TVFJPxbtOSUU8L2I+IGdkeSB6bWllbmlhc3ogaXN0bmllasSFY2UgY2VjaHksIGt0Jm9hY3V0ZTtyZSBzxIUganXFvCBwcnp5cGlzYW5lIGRvIGdydXAsIG1vxbxlc3ogY2/FmyB1c3prb2R6acSHLCBzdHJhY2nEhyBkYW5lIGx1YiBzcG93b2Rvd2HEhywgxbxlIHN0cm9uYSBixJlkemllIHNpxJkgaW5hY3plaiB3ecWbd2lldGxhxYJhISA8aT4obnAuIGdkeSB6bW5pZWpzemFzeiBkxYJ1Z2/Fm2NpIHAmb2FjdXRlO2wpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUYSBmdW5rY2phIG5pZSBkemlhxYJhIG5hIHN5c3RlbWllIFdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ05pZSB0dyZvYWN1dGU7cnogY2VjaHkgZGxhIG5hend5IHXFvHl0a293bmlrYSBhbmkgaGFzxYJhIC0gc8SFIG9uZSBqdcW8IHdidWRvd2FuZSBzdGFuZGFyZG93byB3IG1vZHXFgiB1xbx5dGtvd25payZvYWN1dGU7dyBGRVUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0Vrc3BvcnQgdcW8eXRrb3duaWsmb2FjdXRlO3cgZG8gZm9ybWF0dSBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRWtzcG9ydCc7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnQnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbic7CiRsYW5nWydlZGl0cHJvcCddID0gJ0VkeWNqYSBjZWNoJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01ha3N5bWFsbmEgZMWCdWdvxZvEhyc7CiRsYW5nWydjcmVhdGVkJ10gPSAnU3R3b3J6b25vJzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnR1aiBwbyc7CiRsYW5nWydzb3J0J10gPSAnU29ydHVqZSc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdVxbx5dGtvd25payZvYWN1dGU7dyB6IHphem5hY3pvbmVqIGdydXB5IChncnVwKSc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdPZ3JhbmljeiB3eW5pa2kgZG8nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnTmllIHpuYWxlemlvbm8gcG9sYSBlbWFpbCBkbGEgdGVnbyB1xbx5dGtvd25pa2EuIEJ5xIcgbW/FvGUga29uaWVjem55IGLEmWR6aWUga29udGFrdCB6IGFkbWluaXN0cmF0b3JlbSBzeXN0ZW11JzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnSURTdHJvbnkvQWxpYXMgZGxhIGZvcm11bGFyemEgemFwb21uaWFuZWdvIGhhc8WCYSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZSddID0gJ0lEU3Ryb255L0FsaWFzIGRsYSBmb3JtdWxhcnphIHptaWFueSB1c3Rhd2llxYQnOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdJRFN0cm9ueS9BbGlhcyBkbyBwcnplc2tvY3plbmlhIHBvIHphbG9nb3dhbml1IConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnSURTdHJvbnkvQWxpYXMgZG8gcHJ6ZXNrb2N6ZW5pYSBwbyB3eWxvZ293YW5pdSAqJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1BvcnrEhWRlayBzb3J0b3dhbmlhJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0N6xJnFm8SHIHXFvHl0a293bmlrJm9hY3V0ZTt3IHfFgmHFm25pZSBqZXN0IHcgdHJha2NpZSByZXNldG93YW5pYSB6YWd1YmlvbmVnbyBoYXPFgmEuIE9iZWNuaWUgdHljaCB1xbx5dGtvd25payZvYWN1dGU7dyBqZXN0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1VzdcWEIHdzenlzdGtpZSB3cGlzeSBzdGFyc3plIG5pxbwgdHlkemllxYQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnVXN1xYQgd3N6eXN0a2llIHdwaXN5IHN0YXJzemUgbmnFvCBtaWVzacSFYyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdVc3XFhCB3c3p5c3RraWUgd3Bpc3knOwokbGFuZ1snYXJleW91c3VyZSddID0gJ05hIHBld25vPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ05pZXByYXdpZMWCb3d5IGtvZCB6b3N0YcWCIHdwcm93YWR6b255LCBzcHImb2FjdXRlO2J1aiBwb25vd25pZSc7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnVHltY3phc293eSBrb2QgZGxhIGlkIHXFvHl0a293bmlrYSBuaWUgem9zdGHFgiB6bmFsZXppb255IHcgYmF6aWUgZGFueWNoJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnU3phYmxvbiB1xbx5d2FueSBkbyB3ecWbd2lldGxhbmlhIGZvcm11bGFyeiB3ZXJ5ZmlrdWrEhWNlZ28nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1N6YWJsb24gdcW8eXdhbnkgZG8gemFwb21uaWFueWNoIGhhc2XFgiBkbGEga29udCBlbWFpbCc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnQWxibyBrdG/FmyBqdcW8IHVydWNob21pxYIgb3BlcmFjasSZIG9wZXJhY2rEmSByZXNldG93YW5pYSBoYXPFgmEgZGxhIHRlZ28ga29udGEsIGFsYm8gc2FtIGp1xbwgdG8genJvYmnFgmXFmy4gU3ByYXdkxbogc3dvasSFIHBvY3p0xJkgZW1haWwsIGJ5xIcgbW/FvGUganXFvCBvdHJ6eW1hxYJlxZsgZGFsc3plIGluc3RydWtjamUsIGphayB6cmV6ZXRvd2HEhyBzd29qZSBoYXPFgm8uJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdCxYLEhWQgYmF6eSBkYW55Y2gnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnT3RyenltYcWCYcWbL8WCZcWbLCBnZHnFvCBrdG/FmyB6Z8WCb3NpxYIgbmFtLCBpxbwgemd1YmnFgmHFmy/FgmXFmyBzd29qZSBoYXPFgm8uIFcgdHltIHByenlwYWRrdSBwcnplY3p5dGFqIHBvbmnFvHN6ZSBpbnN0cnVrY2plLiBKZcW8ZWxpIG5pZSBtYXN6IHBvasSZY2lhIGNvIHRvIGplc3QsIG1vxbxlc3ogYmV6cGllY3puaWUgdXN1bsSFxIcgdMSFIHdpYWRvbW/Fm8SHOyBkemnEmWt1amVteSB6YSBwb8Wbd2nEmWNvbnkgY3phcy4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLb2QnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnUG9uacW8c3p5IGtvZCB6b3N0YcWCIHd5Z2VuZXJvd2FueSBhdXRvbWF0eWN6bmllIHcgY2VsdSB3ZXJ5ZmlrYWNqaSBrb250YSB1xbx5dGtvd25pa2EuIEdkeSBrbGlrbmllc3ogcG9uacW8c3p5IGxpbmssIHd5xZt3aWV0bGkgc2nEmSBwb2xlLCB3IGt0Jm9hY3V0ZTtyeW0gbmFsZcW8eSB3cGlzYcSHIHRlbiBrb2QuIFphend5Y3phaiB0byBwb2xlIGplc3QganXFvCB3eXBlxYJuaW9uZSwgamXFvGVsaSBqZWRuYWsgbmllIGplc3QsIHRvIGtvZCBqZXN0IG5hc3TEmXB1asSFY3k6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnS2xpa2FqxIVjIG5hIHRlbiBvZG5vxZtuaWsgcHJ6ZW5pZXNpZXN6IHNpxJkgZG8gc3Ryb255LCBnZHppZSBwbyB3cHJvd2FkemVuaXUgcG93ecW8c3plZ28ga29kdSBixJlkemllIG1vxbxsaXdlIHd5a2Fzb3dhbmllIHR3b2plZ28gaGFzxYJhOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnWmFndWJpb25lIGhhc8WCbyc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ05pZSBtb8W8bmEgb2RuYWxlxbrEhyBtb2R1xYJ1IENNUyBNYWlsZXInOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnV2lhZG9tb8WbxIcgZW1haWwgem9zdGHFgmEgd3lzxYJhbmEgZG8gJXMgeiBpbnN0cnVrY2phbWkgZG90eWN6xIVjeW1pIHptaWFueSBoYXPFgmEuIER6acSZa3VqZW15Lic7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ1pndWJpb25lIGx1YiB6YXBvbW5pYW5lIGhhc8WCbz8gV3Byb3dhZMW6IHN3b2rEhSBuYXp3xJkgdcW8eXRrb3duaWthIC0gamXFm2xpIG5hc3ogc3lzdGVtIHpuYWpkemllIHByenl3acSFemFueSBkbyB0ZWdvIHXFvHl0a293bmlrYSBhZHJlcyBlbWFpbCwgd3nFm2xlbXkgaW5zdHJ1a2NqZSBkb3R5Y3rEhWNlIHVzdGF3aWVuaWEgbm93ZWdvIGhhc8WCYS4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdTemFibG9uIHN0cm9ueSB6YXBvbW5pYW5lZ28gaGFzxYJhJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ1N6YWJsb24gemd1YmlvbmVqIG5hend5IHXFvHl0a293bmlrYSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdDZWNoYSAlcyBuaWUgem9zdGHFgmEgem5hbGV6aW9uYSc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnem5hbGV6aW9ueWNoIGNlY2gnOwokbGFuZ1snYWRkcHJvcCddID0gJ0RvZGFqIGNlY2jEmSc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnV3ltYWdhbmUgcG9sZSAoJXMpIGplc3QgcHVzdGUnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdXcHJvd2FkxbogdHV0YWogbm93ZSBoYXPFgm8gYnkgem1pZW5pxIcgc3RhcmUnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdXeWRhamUgc2nEmSwgxbxlIG5pZSBqZXN0ZcWbIHphbG9nb3dhbmEoeSknOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ1VzdGF3aWVuaWEnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWplc3RyYWNqYSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RvIGtvbnRvIHd5Z2FzxYJvJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdOaWV3xYJhxZtjaXd5IGZvcm1hdCBhZHJlc3UgZW1haWwnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdOaWVwcmF3aWTFgm93YSBkYXRhIHd5Z2HFm25pxJljaWEnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0LFgsSFZCBwcnp5IHVzdGF3aWFuaXUgY2VjaHkgJXMgZGxhIHXFvHl0a293bmlrYSAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ05pZXByYXdpZMWCb3dlIElEIGdydXB5ICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnWm5hY3puaWsgdWtyeXRlZ28gcG9sYSc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnS29sb3IgdWtyeXRlZ28gcG9sYSc7CiRsYW5nWydoaWRkZW4nXSA9ICdVa3J5dGUnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ0NlY2hhIG8gdGVqIG5hendpZSBqdcW8IGplc3QgemRlZmluaW93YW5hJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0JyYWsgemRlZmluaW93YW55Y2ggY2VjaCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ05pZSB6YXpuYWN6b25vIGNlY2ggZGxhIHRlaiBncnVweSc7CiRsYW5nWydub2dyb3VwcyddID0gJ05pZSB6ZGVmaW5pb3dhbnkgxbxhZG5laiBncnVweSc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ2dydXAgem5hbGV6aW9ubyc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnQ3rFgm9ua29zdHdvIHcgY28gbmFqbW5pZWogamVkbmVqIGdydXBpZSBqZXN0IHd5bWFnYW5lJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdXeW1hZ2FqIGN6xYJvbmtvc3R3YSB3IGNvIG5ham1uaWVqIGplZG5laiBncnVwaWUnOwokbGFuZ1snYmFjayddID0gJ1dyJm9hY3V0ZTvEhyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgdG8gd3ltYWdhbmUgcG9sZSc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnWmF6bmFjeiB3eW1hZ2FuZSBwb2xhIHXFvHl3YWrEhWMnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnUG9kxZt3aWV0bCB3eW1hZ2FuZSBwb2xhIHcnOwokbGFuZ1snbmV4dCddID0gJ0RhbGVqJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnR3J1cGEgbyB0ZWogbmF6d2llIGp1xbwgaXN0bmllamUnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdXeW1hZ2FuZSBwb2xlJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3Bjam9uYWxuaWUnOwokbGFuZ1snb2ZmJ10gPSAnV3nFgsSFY3pvbmUnOwokbGFuZ1snc2l6ZSddID0gJ1Jvem1pYXInOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYWtzeW1hbG55IHJvem1pYXIgbmFqd2nEmWtzemVnbyBib2t1IG9icmF6a2EgLSB3IHBpa3NlbGFjaCknOwokbGFuZ1snbGVuZ3RoJ10gPSAnRMWCdWdvxZvEhyc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyIC8+KHpuYWsmb2FjdXRlO3cgdyBwb2x1IHdwcm93YWR6ZW5pYSB0ZWtzdHUpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdPcGNqZSBsaXN0IHJvendpamFueWNoLCBvZGR6aWVsb25lIG5vd3ltaSBsaW5pYW1pJzsKJGxhbmdbJ3Byb21wdCddID0gJ1phY2jEmXRhJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdTdGF0dXMgcG9sYSc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdaYXB5dGFqIHcgWmd1YmlvbmVqPGJyIC8+bmF6d2llIHXFvHl0a293bmlrYSc7CiRsYW5nWyd0ZXh0J10gPSAnVGVrc3QnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ0xpc3RhIHdpZWxva3JvdG5lZ28gd3lib3J1JzsKJGxhbmdbJ2ltYWdlJ10gPSAnT2JyYXplayc7CiRsYW5nWydlbWFpbCddID0gJ0FkcmVzIGVtYWlsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnUG9sZSB0ZWtzdG93ZSc7CiRsYW5nWydkcm9wZG93biddID0gJ0xpc3RhIHJvendpamFuYSc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1dpdGFteSc7CiRsYW5nWydsb2dvdXQnXSA9ICdXeWxvZ3VqJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVxbx5d2FqIHRlbiBuYXp3eSBncnVweSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdabWllxYQgbW9qZSB1c3Rhd2llbmlhJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTG9nb3dhbmllIG5pZSBwb3dpb2TFgm8gc2nEmSAtIHrFgnkgdcW8eXRrb3duaWsgbHViIGhhc8WCbz8nOwokbGFuZ1snbG9naW4nXSA9ICdaYWxvZ3VqJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnRXR5a2lldGEgZ3V6aWthIFphcGlzeiBzacSZJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ1XFvHl0a293bmlrJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0FkcmVzIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ0hhc8WCbyc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ1BhbWnEmXRhaiBtbmllIG5hIHR5bSBrb21wdXRlcnplJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVqZXN0cmFjamEnOwokbGFuZ1snZm9yZ290cHcnXSA9ICdaYXBvbW5pYW5lIGhhc8WCbz8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnWmd1YmlvbnkgbG9naW4/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnV2FydG/Fm2NpIGRvbXnFm2xuZSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1N6YWJsb24nOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnTmllIHpuYWxlemlvbm8gSUQgdcW8eXRrb3duaWthJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdUYSBuYXp3YSB1xbx5dGtvd25pa2EgKCVzKSBqZXN0IGp1xbwgdcW8eXdhbmEnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1XFvHl3YWogU01UUCBieSBzcHJhd2R6YcSHIGFkcmVzIGVtYWlsPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbWFsbmEgZMWCdWdvxZvEhyBoYXPFgmEnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWFrc3ltYWxuZSBkxYJ1Z2/Fm8SHIGhhc8WCYSc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbWFsbmEgZMWCdWdvxZvEhyBuYXp3eSB1xbx5dGtvd25pa2EnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWFrc3ltYWxuYSBkxYJ1Z2/Fm8SHIG5hend5IHXFvHl0a293bmlrYSc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdUaW1lb3V0IHNlc2ppICh3IHNla3VuZGFjaCknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1XFvHl3YWogY2lhc3RlY3playwgYnkgbG9nb3dhbmllIGJ5xYJvIHphcGFtacSZdHl3YW5lIGkgdXRyenlteXdhbmUnOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIHJlamVzdHJhY2rEmSBlbWFpbG93xIUnOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ0RvbXnFm2xuYSBncnVwYSBkbGEgbm93eWNoIHXFvHl0a293bmlrJm9hY3V0ZTt3JzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnU3phYmxvbiB6bWlhbnkgdXN0YXdpZcWEJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdIYXPFgmEgbmllIHpnYWR6YWrEhSBzacSZJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ05pZXByYXdpZMWCb3dhIG5hendhIHXFvHl0a293bmlrYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdOaWVwcmF3aWTFgm93ZSBoYXPFgm8nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdFZHl0dWogdcW8eXRrb3duaWthJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnUG9wcmF3bmllJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdUZW4gdcW8eXRrb3duaWsgbmllIGplc3QgY3rFgm9ua2llbSDFvGFkbmVqIGdydXB5JzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnRpZXMnXSA9ICdCcmFrIGNlY2gnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdQciZvYWN1dGU7YnVqIHphaW1wb3J0b3dhxIcgemR1cGxpa293YW5lIGNlY2h5JzsKJGxhbmdbJ3ZhbHVlJ10gPSAnV2FydG/Fm8SHJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXB5JzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdDZWNoeSc7CiRsYW5nWydwcm9wbmFtZSddID0gJ05hendhIGNlY2h5JzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1dhcnRvxZvEhyBjZWNoeSc7CiRsYW5nWydhZGQnXSA9ICdEb2Rhaic7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWEnOwokbGFuZ1snZWRpdCddID0gJ0VkeXR1aic7CiRsYW5nWydleHBpcmVzJ10gPSAnV3lnYXNhJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1BvZGFqIGRhdMSZJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgZ29kemluJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgZ29kemlueSc7CiRsYW5nWyc0OGhycyddID0gJzQ4IGdvZHppbnknOwokbGFuZ1snMXdlZWsnXSA9ICcxIHR5ZHppZcWEJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgdHlnb2RuaWUnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBtaWVzacSFYyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBtaWVzacSFY2UnOwokbGFuZ1snNm1vbnRocyddID0gJzYgbWllc2nEhWNlJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSByb2snOwokbGFuZ1snbmV2ZXInXSA9ICdOaWdkeSc7CiRsYW5nWydwb3N0aW5zdGFsbG1lc3NhZ2UnXSA9ICdNb2R1xYIgem9zdGHFgiB6YWluc3RhbG93YW55IHBvcHJhd25pZS4gPGJyLz5VcGV3bmlqIHNpxJksIMW8ZSB1c3Rhd2lzeiB1cHJhd25pZW5pYSBkbyAmcXVvdDtabWlhbiB3xYJhxZtjaXdvxZtjaSBtb2R1xYJ1IHXFvHl0a293bmlrJm9hY3V0ZTt3IEZFVS4mcXVvdDs8YnIgLz48YnIgLz4NCkRvZGF0a293byAtIHBvbGVjYW15IHphaW5zdGFsb3dhbmllIG1vZHXFgnUgQ2FwdGNoYS4gUG8gemFpbnN0YWxvd2FuaXUgLSBvZGN6eXRhbmllIHdhcnRvxZtjaSB6IG9icmF6a2EgYsSZZHppZSBrb25pZWN6bmUsIMW8ZWJ5IHd5cGXFgm5pxIcgZm9ybXVsYXJ6LiBUbyB0YWtpIHRyaWNrLCDFvGVieSB6cmVkdWtvd2HEhyBsaWN6YsSZIHNwYW11IGkgYXV0b21hdHljem55Y2ggcm9ib3Qmb2FjdXRlO3csIGt0Jm9hY3V0ZTtyZSB1dHJ1ZG5pYWrEhSDFvHljaWUgdyBzaWVjaS4NCg0KPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRoaXMgZnVuY3Rpb25hbGl0eSBldmVuIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQuJnF1b3Q7JzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnSGFzxYJvJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9ub3duaWUnOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ0dydXBhIG8gdGFraWVqIG5hendpZSBqdcW8IGlzdG5pZWplJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ0VkeXR1aiBncnVwxJknOwokbGFuZ1snc3VibWl0J10gPSAnV3nFm2xpaic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbnVsdWonOwokbGFuZ1snZGVsZXRlJ10gPSAnS2FzdWonOwokbGFuZ1snY29uZmlybV9lZGl0Z3JvdXAnXSA9ICdDenkgbmEgcGV3bm8gc8SFIHRvIHfFgmHFm2Npd2UgdXN0YXdpZW5pYSBkbGEgdGVqIGdydXB5P1xuIFd5xYLEhWN6ZW5pZSB0ZWogY2VjaHkgbmllIHVzdW5pZSDFvGFkbnljaCB3cGlzJm9hY3V0ZTt3IHogdGFiZWxpIGNlY2ggZGxhIHRlaiBncnVweS91xbx5dGtvd25pa2EuIFBvIHByb3N0dSBixJlkxIUgb25lIG5pZWRvc3TEmXBuZSc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnTmEgcGV3bm8gdXN1bsSFxIcgdMSZIGdydXDEmT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ05hIHBld25vIHVzdW7EhcSHIHTEmSBjZWNoxJk/IFxuIHBvIHRlaiBha2NqaSBza2Fzb3dhbmUgem9zdGFuxIUgdGXFvCBkYW5lIHXFvHl0a293bmlrJm9hY3V0ZTt3IGRvIG5pZWogcHJ6eXBpc2FueWNoLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdaYSBtYcWCbyBwYXJhbWV0ciZvYWN1dGU7dyc7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ25hbWUnXSA9ICdOYXp3YSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW0geiBkb2RhbmllbSBjZWNoeSc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSB6IGRvZGFuaWVtIHJlbGFjamkgZ3J1cHknOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbSB6IGRvZGFuaWVtIGdydXB5JzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnUHJvYmxlbSB6IGRvZGFuaWVtIHXFvHl0a293bmlrYSBkbyBncnVweSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbSB6ZSBza2Fzb3dhbmllbSBjZWNoeSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ05pZSBtb2fEmSBvZG5hbGXFusSHIGFkcmVzdSBlbWFpbCc7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnQnJhayB1cHJhd25pZcWEIGRvIHphcGlzdSB3IGthdGFsb2d1IGRvY2Vsb3d5bSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnTmllcHJhd2lkxYJvd2UgcGFyYW1ldHJ5JzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTmllIG1vZ8SZIG9kbmFsZcW6xIcgxbxhZG55Y2ggZ3J1cCc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1phc3Rvc3VqJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRydWonOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ05hendhIHXFvHl0a293bmlrYSAtIHd5cmHFvGVuaWUgcmVndWxhcm5lJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnT3Bpcyc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdOYXp3YSBncnVweSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdEb3N0xJlwIHphYnJvbmlvbnknOwokbGFuZ1snZXJyb3InXSA9ICdCxYLEhWQnOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdEb2RhaiBncnVwxJknOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdJbXBvcnR1aiBncnVwxJknOwokbGFuZ1snYWRkdXNlciddID0gJ0RvZGFqIHXFvHl0a293bmlrYSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVcW8eXRrb3duaWsmb2FjdXRlO3cgem5hbGV6aW9ubyBzcGXFgm5pYWrEhWN5Y2gga3J5dGVyaWEnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcnVwYSc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1d5YmllcnogZ3J1cMSZJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1N6YWJsb24gcmVqZXN0cmFjamknOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnU3phYmxvbiB3eWxvZ293YW5pYSBzacSZJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnU3phYmxvbiB6YWxvZ293YW5pYSBzacSZJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnVXN0YXdpZW5pYSc7CiRsYW5nWyd1c2VycyddID0gJ1XFvHl0a293bmljeSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdaYXJ6xIVkemFuaWUgdcW8eXRrb3duaWthbWkgRkVVJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnUG96dyZvYWN1dGU7bCB1xbx5dGtvd25pa29tIGxvZ293YcSHIHNpxJkgbmEgc3Ryb25pZSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnRG9tecWbbG5hIHN0cm9uYSBnxYImb2FjdXRlO3duYSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnT3N0YXRuaW8gb3R3aWVyYW5hIHN0cm9uYSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdJbm5hIHN0cm9uYTonOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1dwcm93YWTFuiB0ZWtzdCB6IG9icmF6a2EnOwokbGFuZ1snaGVscCddID0gJzxoMz5EbyBjemVnbyBzxYJ1xbx5PzwvaDM+DQo8cD5Nb2R1xYIgdGVuIHVtb8W8bGl3aWEgemFyesSFZHphbmllIGkgYWRtaW5pc3RyYWNqxJkgdcW8eXRrb3duaWthbWkgRkVVIDxpPih1xbx5dGtvd25pa2FtaSwga3Qmb2FjdXRlO3J6eSBuaWUgbWFqxIUgZG9zdMSZcHUgYWRtaW5pc3RyYWN5am5lZ28pPC9pPi4gUG96d2FsYSBuYSB0d29yemVuaWUgZ3J1cCB1xbx5dGtvd25payZvYWN1dGU7dyBvcmF6IG9yYXoga29udCwga3Qmb2FjdXRlO3JlIHVtb8W8bGl3aWFqxIUgdcW8eXRrb3duaWtvbSBsb2dvd2FuaWUgaSB3eWxvZ293YW5pZS4gTW/FvGUgYnnEhyB0YWvFvGUgdcW8eXdhbnkgcmF6ZW0geiBtb2R1xYJlbSBDdXN0b21Db250ZW50IGRvIHd5d2/Fgnl3YW5pYSBpIHd5xZt3aWV0bGFuaWEgciZvYWN1dGU7xbxuZWogdHJlxZtjaSByJm9hY3V0ZTvFvG55bSB1xbx5dGtvd25pa29tLCBwbyB1cHJ6ZWRuaW0gemFsb2dvd25pdS48L3A+DQo8aDM+Q2VjaHk8L2gzPg0KPHVsPg0KPGxpPjxwPld5Z2HFm25pxJljaWUga29udGEgdcW8eXRrb3duaWthLiBNb8W8ZXN6IFR3b3J6ecSHIHR5bWN6YXNvd3ljaCB1xbx5dGtvd25payZvYWN1dGU7dzwvcD48L2xpPg0KPGxpPjxwPkNlY2h5IGdydXB5IChkYXduaWVqOiB3xYJhxZtjaXdvxZtjaSkuIE1vxbxlc3ogxbzEhWRhxIcgciZvYWN1dGU7xbxuZWogaW5mb3JtYWNqaSBvZCB1xbx5dGtvd25payZvYWN1dGU7dyByJm9hY3V0ZTvFvG55Y2ggZ3Imb2FjdXRlO2I8L3A+PC9saT4NCjxsaT48cD5KZXN0IHcgc3RhbmllIG9ic8WCdcW8ecSHIHNldGtpIHXFvHl0a293bmlrJm9hY3V0ZTt3PC9wPjwvbGk+DQo8bGk+PHA+UG9zaWFkYSBvYnN6ZXJuZSBBUEkgdyBjZWx1IGRvZGF3YW5pYSBmdW5rY2pvbmFsbm/Fm2NpPC9wPjwvbGk+DQo8L3VsPg0KPGgzPkphayB0ZWdvIHXFvHl3YcSHPzwvaDM+DQo8dWw+DQo8bGk+PHA+UG8gaW5zdGFsYWNqaSBtYXN6IGRvc3TEmXAgZG8gcGFuZWx1IGFkbWluaXN0cmFjeWpuZWdvIG1vZHXFgnUgdcW8eXRrb3duaWsmb2FjdXRlO3cgRkVVIHcgbWVudSAmcXVvdDtVxbx5dGtvd25pY3kgaSBHcnVweSZxdW90Oy48L3A+PC9saT4NCjxsaT4NCjxwPlBvIGRydWdpZSwgbmFsZcW8eSB6ZGVmaW5pb3dhxIcgY2VjaHkuIFPEhSBvbmUgbmllemLEmWRueW1pIHBvbGFtaSBkZWZpbmljamksIHR1dGFqIG9rcmXFm2xhIHNpxJkgdHlwIGluZm9ybWFjamksIGt0Jm9hY3V0ZTtyZSB6YW1pZXJ6YSBzacSZIHByemVjaG93eXdhxIcgb3JheiBsaW1pdHkuIE5wLiBJbWnEmSwgV2llaywgV29qZXcmb2FjdXRlO2R6dHdvLCBLcmFqLCBFbWFpbCwgaXRwLjwvcD4NCjxwPjxiPlBhbWnEmXRhajo8L2I+IE5pZSBtdXNpc3ogZGVmaW5pb3dhxIcgY2VjaCBuYXp3eSB1xbx5dGtvd25pa2EgaSBoYXPFgmEsIHPEhSBvbmUgemFwZXduaW9uZSBhdXRvbWF0eWN6bmllPC9iPg0KPC9saT4NCjxsaT48cD5OYXN0xJlwbmllIG5hbGXFvHkgdXR3b3J6ecSHIGplZG7EhSAobHViIHdpxJljZWopIGdydXDEmSB1xbx5dGtvd25payZvYWN1dGU7dy4gS2llZHkgdXR3b3J6eXN6IGdydXDEmSwgem9zdGFuaWVzeiBwb3Byb3N6b25hL255IG8gcG9kYW5pZSBuYXp3eSBncnVweSwgb3BpcyBvcmF6IG8gc2tvamFyemVuaWUgY2VjaCB6IHTEhSBncnVwxIUsIHd5c3pjemVnJm9hY3V0ZTtsbmllbmllIGtvbGVqbm/Fm2NpIGljaCBzb3J0b3dhbmlhLCBvcmF6LCBjenkgamVzdCB0byBwb2xlIG9wY2pvbmFsbmUsIHd5bWFnYW5lLCBjenkgdWtyeXRlLjxpPih3ecWCxIVjemVuaWUgcG9sYSB0ZcW8IGplc3QgbW/FvGxpd2UgLSBtb8W8ZXN6IHphdGVtIG5pZSB6YXpuYWN6YcSHIGRhbmVqIGNlY2h5IHcgZ3J1cGllLCBrdCZvYWN1dGU7cmEgamVqIG5pZSBixJlkemllIHd5a29yenlzdHl3YcSHKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5QYW1pxJl0YWo6PC9iPiBaYW5pbSBwcnplamR6aWVzeiBkYWxlaiwgc3ByYXdkxbogY3p5IHdzenlzdGtpZSBwcmVmZXJlbmNqZSBzxIUgd8WCYcWbY2l3aWUgdXN0YXdpb25lLjwvcD48L2xpPg0KPGxpPjxwPlBvIHRyemVjaWUsIG5hbGXFvHkgdXR3b3J6ecSHIHXFvHl0a293bmlrJm9hY3V0ZTt3LiBOYSBwcm9jZXMgZG9kYXdhbmlhIHXFvHl0a293bmlrJm9hY3V0ZTt3IHNrxYJhZGFqxIUgc2nEmSBkd2Ega3Jva2kuIFBvZGN6YXMgdHdvcnplbmlhIHXFvHl0a293bmlrYSBuYXN0xIVwaSB6YXB5dGFuaWUgbyBqZWdvIG5henfEmSAobmF6d2EgdcW8eXRrb3duaWthKSwgaGFzxYJvIG9yYXogZGF0xJkgd3lnYcWbbmnEmWNpYSBrb250YSAoa2llZHkgamVnbyBsb2dpbiBwcnplc3RhbmllIGJ5xIcgYWt0eXdueSkuIE5hc3TEmXBuaWUgbmFsZcW8eSB3eWJyYcSHIGdydXB5LCBkbyBrdCZvYWN1dGU7cnljaCB1xbx5dGtvd25payBtYSBuYWxlxbxlxIcgaSBuYWNpc27EhcSHIFwmIzAzOTtEYWxlalwmIzAzOTs8L3A+DQo8cD48ZW0+UGFtacSZdGFqOiA8L2VtPkplc3QgdG8gcHJhY29jaMWCb25ueSBpIG51ZG55IHByb2NlcywgxYJhdHdpZWogamVzdCBwb3p3b2xpxIcgdcW8eXRrb3duaWtvbSBuYSBzYW1vZHppZWxuxIUgcmVqZXN0cmFjasSZLCBhIHBvdGVtIHR5bGtvIGVkeXRvd2HEhyBpbmZvcm1hY2plIGRvdHljesSFY2UgaWNoIHByenluYWxlxbxub8WbY2kgZ3J1cG93ZWouIFByb3NpbXkgamVkbmFrIHV0d29yennEhyBwcnp5bmFqbW5pZWogamVkbmVnbyB1xbx5dGtvd25pa2EgZG8gY2VsJm9hY3V0ZTt3IHRlc3Rvd3ljaCEgUFMgd2Vyc2ppIHBvbHNraWVqOiBtb8W8bmEgc2tvcnp5c3RhxIcgeiBtb2R1xYJ1IFNlbGZSZWdpc3RyYXRpb24sIMW8ZWJ5IHByb2NlcyBzYW1vZHppZWxuZWogcmVqZXN0cmFjamkgYnnFgiBqZXN6Y3plIMWCYXR3aWVqc3p5IDspPC9wPjwvbGk+DQo8bGk+PHA+TmEga29uaWVjLCBnZHkganXFvCBzeXN0ZW0gdXN0YWxpIHdzenlzdGtpZSB6IHd5xZt3aWV0bGFueWNoIHAmb2FjdXRlO2wgaW5mb3JtYWN5am55Y2ggZG90eWN6xIVjeWNoIGRhbmVnbyB1xbx5dGtvd25pa2EsIHd5xZt3aWV0bG9ueSB6b3N0YW5pZSBmb3JtdWxhcnosIGRvIGt0Jm9hY3V0ZTtyZWdvIG5hbGXFvHkgd3Bpc2HEhyB3c3p5c3RraWUgd3ltYWdhbmUgZGFuZSBvIHXFvHl0a293bmlrdS4gV3lwZcWCbmllbmllIGZvcm11bGFyemEgemFrb8WEY3p5IHByb2NlcyBkb2Rhd2FuaWEgdcW8eXRrb3duaWthPC9wPjwvbGk+DQo8bGk+PHA+VGVyYXogbW/FvG5hIGp1xbwgZG9kYcSHIGRvIHN0cm9ueSBrb8WEY293xIUgZnVua2Nqb25hbG5vxZvEhy4gUG9sZWdhIHRvIG5hIGRvZGFuaXUgem5hY3puaWthIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSBkbyBzdHJvbnkgbHViIHN6YWJsb251LCBnZHppZSBtYSBwb2phd2nEhyBzacSZIG9raWVua28gZG9zdMSZcG93ZSAoZm9ybXVsYXJ6IGxvZ3VqxIVjeSk8L3A+PC9saT4NCjwvdWw+DQo8aDM+V3NwYXJjaWU8L2gzPg0KPHA+TW9kdcWCIHRlbiBuaWUgamVzdCB3c3BpZXJhbnkga29tZXJjeWpuaWUuIEplZG5hayBkb3N0xJlwbmUgc8SFIHphc29ieSwga3Qmb2FjdXRlO3JlIG1vZ8SFIHBvbSZvYWN1dGU7Yzo8L3A+DQo8dWw+DQo8bGk+VyBjZWx1IHpuYWxlemllbmlhIG5ham5vd3N6ZWogd2Vyc2ppIG1vZHXFgnUsIEZBUSwgbHViIHpnxYJvc3plbmlhIGLFgsSZZHUgbHViIHpha3VwdSBrb21lcmN5am5lZ28gd3NwYXJjaWEgLSBuYWpwaWVydyBwcnplY3p5dGFqIHRlZ28gaGVscGEgcG8gYW5naWVsc2t1LCBwb3RlbSBvZHdpZWTFuiBzdHJvbsSZIGRvbW93xIUgbW9kdcWCdSBjYWxndXlcJiMwMzk7YSA8YSBocmVmPSZhbXA7YW1wO3F1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZhbXA7YW1wO3F1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5Eb2RhdGtvd2UgZHlza3VzamUgbmEgdGVtYXQgdGVnbyBtb2R1xYJ1IHpuYWpkdWrEhSBzacSZIHImb2FjdXRlO3duaWXFvCBuYSBzdHJvbmllIDxhIGhyZWY9JmFtcDthbXA7cXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmYW1wO2FtcDtxdW90Oz5Gb3J1bSBDTVMgTWFkZSBTaW1wbGU8L2E+LjwvbGk+DQo8bGk+QXV0b3IgbW9kdcWCdSwgY2FsZ3V5MTAwMCwgY3rEmXN0byBqZXN0IG9iZWNueSBuYSA8YSBocmVmPSZhbXA7YW1wO3F1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJmFtcDthbXA7cXVvdDs+a2FuYWxlIENNUyBJUkM8L2E+LjwvbGk+DQo8bGk+TmEga29uaWVjLCBtb8W8bmEgc3ByJm9hY3V0ZTtib3dhxIcgb3NvYmnFm2NpZSBza29udGFrdG93YcSHIHNpxJkgeiBhdXRvcmVtIHByemV6IGVtYWlsLjwvbGk+DQo8L3VsPg0KPGgzPlBhcmFtZXRyeTwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcGNqb25hbG5pZSk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXk6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gV3nFm3dpZXRsYSBmb3JtdWxhcnogbG9naW51PC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gV3nFm3dpZXRsYSBmb3JtdWxhcnogbG9nb3V0dTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gV3nFm3dpZXRsYSBmb3JtdWxhcnogem1pYW55IHVzdGF3aWXFhDwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gV3nFm3dpZXRsYSBmb3JtdWxhcnogZG90eWN6xIVjeSB6YXBvbW5pYW5lZ28gaGFzxYJhPC9saT4NCiA8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gRGlzcGxheSB0aGUgbG9zdCB1c2VybmFtZSBmb3JtLjwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gTmljIG5pZSB3ecWbd2lldGxhLCBsZWN6IGVrc3BvcnR1amUgd8WCYcWbY2l3b8WbY2kgaSBpbm5lIHptaWVubmUgZG90eWN6xIVjZSBvYmVjbmllIHphbG9nb3dhbmVnbyB1xbx5dGtvd25pa2EuIEplxbxlbGkgbmlrdCBuaWUgamVzdCB6YWxvZ293YW55LCDFvGFkbmUgem1pZW5uZSBuaWUgc8SFIGVrc3BvcnRvd2FuZS48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wY2pvbmFsbmllKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VcW8eXdhbmUgcmF6ZW0geiBmb3JtdWxhcnphbWkgbG9naW51LCBsb2dvdXR1IGkgem1pYW55IHVzdGF3aWXFhCwgcGFyYW1ldHIgdGVuIHphd2llcmEgaWQgc3Ryb255IGx1YiBhbGlhcyBzdHJvbnksIGRvIGt0Jm9hY3V0ZTtyZWogbmFzdMSZcHVqZSBwcnpla2llcm93YW5pZSwgcG8gdXByemVkbmltIHfFgmHFm2Npd3ltIHd5cGXFgm5pZW5pdSBmb3JtdWxhcnphPC9wPg0KPGxpPjxlbT4ob3Bjam9uYWxuaWUpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vxbx5d2FuZSB3cmF6IHogZm9ybXVsYXJ6YW1pIGxvZ2ludS4gWmV6d2FsYSB1xbx5dGtvd25pa29tIG5hIHphbG9nb3dhbmllIHNpxJksIGplxbxlbGkgbmFsZcW8xIUgZG8gb2Rwb3dpZWRuaWVqIGdydXB5L2dydXAuPC9wPg0KPGxpPjxlbT4ob3Bjam9uYWxuaWUpPC9lbT4gY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlXFvHl3YW5lIHdyYXogeiBmb3JtdWxhcnphbWkgbG9naW51LiBVYWt0eXduaWEgY2FwdGNoYSB3IHR5bSBmb3JtdWxhcnp1LiBBYnkgdGVuIHBhcmFtZXRyIG0mb2FjdXRlO2fFgiBkemlhxYJhxIcgcG9wcmF3bmllLCBtb2R1xYIgQ2FwdGNoYSBtdXNpIGJ5xIcgemFpbnN0YWxvd2FueS48L3A+DQo8L3VsPg0KPGgzPld5bWFnYW5pYTwvaDM+DQo8cD5XIGNlbHUgemFpbXBsZW1lbnRvd2FuaWEgZnVua2Nqb25hbG5vxZtjaSB6d2nEhXphbmVqIHogemFwb21uaWFueW1pIGhhc8WCYW1pLCBtb2R1xYIgdGVuIHd5bWFnYSB3Y3plxZtuaWVqc3plZ28gemFpbnN0YWxvd2FuaWEgbW9kdcWCdSBDTVNNYWlsZXI8L3A+DQo8aDM+UHJhd2EgYXV0b3Jza2llIGkgTGljZW5jamE8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZhbXA7YW1wO3F1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2FtcDtxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5Nb2R1xYIgdGVuIHpvc3RhxYIgd3lkYW55IG5hIGxpY2VuY2ppIDxhIGhyZWY9JmFtcDthbXA7cXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmYW1wO2FtcDtxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBQcnplZCB1xbx5Y2llbSB0ZWdvIG1vZHXFgnUgbmFsZcW8eSB6YWFrY2VwdG93YcSHIHdhcnVua2kgbGljZW5jamkuPC9wPg0KPHA+DQpUxYJ1bWFjemVuaWUgdyB3ZXJzamkgcG9sc2tpZWogcm9iaW9uZSBqZXN0IHByemV6IHNwb8WCZWN6bm/Fm8SHIENNUyBNUywgb2R3aWVkxbogbmFzIG5hIHBvbHNraW0gZm9ydW0gQ01TIE1TIC0gbnVtZXI5LiBXYXJ0byB3c3BvbW5pZcSHLCDFvGUgdHlsa28gYW5naWVsc2thIHdlcnNqYSBqZXN0IG5hamJhcmR6aWVqIGFrdHVhbG5hLCB6d8WCYXN6Y3phIGRsYSBkZXZlbG9wZXImb2FjdXRlO3cgLSBuaWUgemFwb21uaWpjaWUgbyB0eW0sIHRhbSBzxIUgbGVwc3plIGhlbHB5IDopDQo8L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTgwNzU4ODkuMTIyMDUxODIwMS4xMjIwNTE4MjAxLjEyMjA1Mzc5ODUuMic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjA1MTgyMDEuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1wb21vYy5wcGVscHJvLnBsfHV0bWNjdD0vYWRtaW4vZWRpdHRlbXBsYXRlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My40LjEwLjEyMjA1Mzc5ODUnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_BR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ0VkaXRhbmRvIFVzdSZhYWN1dGU7cmlvJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnRG8gbm90IGlubGluZSBmb3Jtcyc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0NsaXF1ZSBhcXVpIHNlIHZvYyZlY2lyYzsgbiZhdGlsZGU7byBzZSBsZW1icmEgZGFzIGluZm9ybWEmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgbG9naW4nOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ0NsaXF1ZSBhcXVpIHNlIHZvYyZlY2lyYzsgZXNxdWVjZXUgc3VhIHNlbmhhJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnQ2xpcXVlIGFxdWkgcGFyYSBmYXplciBsb2dvZmYnOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0NsaXF1ZSBhcXVpIHBhcmEgYXR1YWxpemFyIHN1YSBzZW5oYSBvdSBvdXRyYXMgaW5mb3JtYSZjY2VkaWw7Jm90aWxkZTtlcyc7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1ZpZXcgVXNlciBUZW1wbGF0ZSc7CiRsYW5nWydldmVudCddID0gJ0V2ZW50byc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnTm90aWZpY2EmY2NlZGlsOyZhdGlsZGU7byBkZSBFdmVudG8gZG8gRkVVJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcyddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdOb3RpZmljYXRpb24gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnTm90aWZpY2F0aW9uIEVtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbCBOb3RpZmljYXRpb25zJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdPbiBMb2dpbic7CiRsYW5nWydPbkxvZ291dCddID0gJ09uIExvZ291dCc7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICdPbiBTZXNzaW9uIEV4cGlyeSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdBbyBjcmlhciBub3ZvIHVzdSZhYWN1dGU7cmlvJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ0FvIGRlbGV0YXIgdXN1JmFhY3V0ZTtyaW8nOwokbGFuZ1snT25VcGRhdGVVc2VyJ10gPSAnT24gVXNlciBTZXR0aW5ncyBDaGFuZ2VkJzsKJGxhbmdbJ09uQ3JlYXRlR3JvdXAnXSA9ICdBbyBjcmlhciBncnVwbyBkZSB1c3UmYWFjdXRlO3Jpb3MnOwokbGFuZ1snT25EZWxldGVHcm91cCddID0gJ0FvIGRlbGV0YXIgZ3J1cG8gZGUgdXN1JmFhY3V0ZTtyaW9zJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnQXMgaW5mb3JtYSZjY2VkaWw7Jm90aWxkZTtlcyBkZSBsb2dpbiBmb3ImYXRpbGRlO28gdmVyaWZpY2FkYXMgZSBhY2hhbW9zIHVtIHVzdSZhYWN1dGU7cmlvIHF1ZSBjb3JyZXNwb25kZSBhb3MgZGV0YWxoZXMgcXVlIHZvYyZlY2lyYzsgZGlnaXRvdS4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ1NldSBub21lIGRlIHVzdSZhYWN1dGU7cmlvICZlYWN1dGU7JzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ04mb2FjdXRlO3MgcmVjb21lbmRhZG9zIHF1ZSB2b2MmZWNpcmM7IGd1YXJkZSBlc3NhcyBpbmZvcm1hJmNjZWRpbDsmb3RpbGRlO2VzIG51bSBsdWdhciBzZWd1cm8gbWFzIHF1ZSB2b2MmZWNpcmM7IHBvc3NhIGFjZXNzYXIuJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgRGV0YWlscyBUZW1wbGF0ZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0Vycm86IE1haXMgZGUgdW1hIGNvbnRhIGRlIHVzdSZhYWN1dGU7cmlvIGNvcnJlc3BvbmRlIGFzIGluZm9ybWEmY2NlZGlsOyZvdGlsZGU7ZXMgZGlnaXRhZGFzLic7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJvOiBOJmF0aWxkZTtvIGZvaSBwb3NzJmlhY3V0ZTt2ZWwgYWNoYXIgdW0gdXN1JmFhY3V0ZTtyaW8gY29ycmVzcG9uZGVudGUuJzsKJGxhbmdbJ2Vycm9yX2dyb3Vwbm90Zm91bmQnXSA9ICdFcnJvOiBOJmF0aWxkZTtvIGZvaSBwb3NzJmlhY3V0ZTt2ZWwgZW5jb250cmFyIHVtIGdydXBvIGNvbSBlc3NlIG5vbWUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdSZWFkIE9ubHknOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnTG9nZ2VkIG91dCBieSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdNb3N0cmFyIGFwZW5hcyB1c3UmYWFjdXRlO3Jpb3MgbG9nYWRvcyc7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnRGVzbG9nYXIgZXN0ZSB1c3UmYWFjdXRlO3Jpbyc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICdQcm9wcmllZGFkZXMgZG8gdXN1JmFhY3V0ZTtyaW8nOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0Jm9hY3V0ZTtyaWNvIGRvIHVzdSZhYWN1dGU7cmlvJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydGFyJzsKJGxhbmdbJ2NsZWFyJ10gPSAnTGltcGFyJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VyaGlzdG9yeSddID0gJ0V4cG9ydCBVc2VyIEhpc3RvcnkgVG8gQVNDSUkgdGhhdCBpcyBhdCBsZWFzdCc7CiRsYW5nWydwcm9tcHRfY2xlYXJ1c2VyaGlzdG9yeSddID0gJ0NsZWFyIFVzZXIgSGlzdG9yeSByZWNvcmRzIHRoYXQgaXMgYXQgbGVhc3QnOwokbGFuZ1sndGl0bGVfbG9zdHVzZXJuYW1lJ10gPSAnRXNxdWVjZXUgc2V1cyBkZXRhbGhlcyBkZSBsb2dpbj8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXhwb3J0YXIgYXMgZGVmaW5pJmNjZWRpbDsmb3RpbGRlO2VzIChlIHByb3ByaWVkYWRlcykgZGUgZ3J1cG8gcGFyYSBYTUwnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ01hbnV0ZW4mY2NlZGlsOyZhdGlsZGU7byBkbyBoaXN0Jm9hY3V0ZTtyaWNvIGRlIHVzdSZhYWN1dGU7cmlvcyc7CiRsYW5nWyd5ZXMnXSA9ICdTaW0nOwokbGFuZ1snbm8nXSA9ICdOJmF0aWxkZTtvJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ2RlJzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIFNlbSBMaW1pdGUgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnVW1hIGhvcmEgYXRyJmFhY3V0ZTtzJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NlaXMgaG9yYXMgYXRyJmFhY3V0ZTtzJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ0RvemUgaG9yYXMgYXRyJmFhY3V0ZTtzJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnVW0gZGlhIGF0ciZhYWN1dGU7cyc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdVbWEgc2VtYW5hIGF0ciZhYWN1dGU7cyc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnRHVhcyBzZW1hbmFzIGF0ciZhYWN1dGU7cyc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnVW0gbSZlY2lyYztzIGF0ciZhYWN1dGU7cyc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVHImZWNpcmM7cyBtZXNlcyBhdHImYWFjdXRlO3MnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZWlzIG1lc2VzIGF0ciZhYWN1dGU7cyc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdVbSBhbm8gYXRyJmFhY3V0ZTtzJzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ0FncnVwYW5kbyBlIEFycnVtYW5ybyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVnaXN0cm9zIGRlIGFjb3JkbyBjb20gbyBjcml0JmVhY3V0ZTtyaW8nOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdOb21lIGRlIHVzdSZhYWN1dGU7cmlvIC0gZGVzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2FzYyddID0gJ05vbWUgZGUgdXN1JmFhY3V0ZTtyaW8gLSBhc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdEYXRhIC0gZGVzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfYXNjJ10gPSAnRGF0YSAtIGFzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnVGlwbyBkZSBldmVudG8gLSBkZXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1RpcG8gZGUgZXZlbnRvIC0gYXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdFbmRlcmUmY2NlZGlsO28gSVAgLSBkZXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ0VuZGVyZSZjY2VkaWw7byBJUCAtIGFzY2VuZGVudGUnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ05lbmh1bSBoaXN0Jm9hY3V0ZTtyaWNvIGRldGVjdGFkbyc7CiRsYW5nWydyZXNldCddID0gJ0xpbXBhcic7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdBZ3J1cGFyIHBvciBlbmRlcmUmY2NlZGlsO28gSVAnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdGaWx0cm8gcG9yIHRpcG8gZGUgZXZlbnRvJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ0Rpc3BsYXkgb25seSBldmVudHMgdGhhdCBhcmUgbGVzcyB0aGFuOic7CiRsYW5nWydwcm9tcHRfcGFnZWxpbWl0J10gPSAnUGFnZSBMaW1pdCc7CiRsYW5nWydmb3InXSA9ICdwYXJhJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnVXNlciBIaXN0b3J5IFJlcG9ydCc7CiRsYW5nWyd1bmtub3duJ10gPSAnRGVzY29uaGVjaWRvJzsKJGxhbmdbJ3Byb21wdF9pcGFkZHJlc3MnXSA9ICdJUCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdFdmVudCBUeXBlJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0YSc7CiRsYW5nWydwcm9tcHRfcmV0dXJuJ10gPSAnVm9sdGFyJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdJbXBvcnQgT3BlcmF0aW9uIENvbXBsZXRlJzsKJGxhbmdbJ3Byb21wdF9saW5lc3Byb2Nlc3NlZCddID0gJ0xpbmVzIFByb2Nlc3NlZCc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnRXJyb3JzIEVuY291bnRlcmVkJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzYWRkZWQnXSA9ICdSZWNvcmRzIEFkZGVkJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wcmVsbnMnXSA9ICdDb3VsZCBub3QgZmluZCBwcm9wZXJ0aWVzIGZvciBncm91cCAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ0NvdWxkIG5vdCBnZXQgYSByZXNwb25zZSBmcm9tIHRoZSBTTVRQIHNlcnZlcic7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdGaWxlIHNwZWNpZmllZCAoJXMpIGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnSW52YWxpZCB2YWx1ZSBmb3IgZHJvcGRvd24gb3IgbXVsdGlzZWxlY3QgZmllbGQgJXMnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnXSA9ICdPIGNhbXBvICVzIGV4Y2VkZSBvIHRhbW5haG8gbSZhYWN1dGU7eGltbyc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBFcnJvciAobGluZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0NvdWxkIG5vdCBvcGVuIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjaCBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0IFVzZXJzIEludG8gVGhpcyBHcm91cCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbnB1dCBDU1YgRmlsZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0lucHV0IFhNTCBGaWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydCBVc2Vycyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnTGltcGFyJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnSW1hZ2UgRGVzdGluYXRpb24gUGF0aCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0EgcHJvYmxlbSBvY2N1cnJlZCB3aXRoIGEgbWlzc2luZyAoYnV0IHJlcXVpcmVkKSB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0NvdWxkIG5vdCBwYXJzZSB0aGUgcHJvdmlkZWQgWE1MIGZpbGUnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0Nhbm5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2Vycyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnRXNzZSB1c3UmYWFjdXRlO3JpbyBqJmFhY3V0ZTsgZXN0JmFhY3V0ZTsgbG9nYWRvLic7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUaGUgdGV4dCBmcm9tIHRoZSBpbWFnZSB3YXMgbm90IGVudGVyZWQgY29ycmVjdGx5JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdBbGxvdyB1c2VycyB0byBsb2dpbiBtb3JlIHRoYW4gb25jZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnSW1hZ2UgRmlsZSBFeHRlbnNpb25zIHRoYXQgVXNlcnMgYWxsb3dlZCB0byB1cGxvYWQnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyB1cGRhdGVkIChlaXRoZXIgYnkgdXNlciB0aGVtc2VsZiBvciBhZG1pbik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBncm91cCBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGlkIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gVGhlIGlwIGFkZHJlc3Mgb2YgdGhlIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2Vkb3V0IHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbiB0byB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQgb2YgdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGlzIGV4cGlyZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyB1c2VyIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaW5mbyBpcyB1cGRhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGFjY291bnQgaXMgZGVsZXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgZGVsZXRlZCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBHcm91cCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGNhbiBiZSB1c2VkIGluIHRoZXNlIGZpZWxkczogeyR1c2VybmFtZX0seyRncm91cH0uIFdoZW4gdXNpbmcgdGhlIHskZ3JvdXB9IG1hY3JvLCB0aGUgc3lzdGVtIHdpbGwgc3Vic2l0dXRlIHRoZSBuYW1lIG9mIHRoZSBmaXJzdCBtZW1iZXIgZ3JvdXAgdGhhdCB0aGUgdXNlciBiZWxvbmdzIHRvLCBhbmQgd2lsbCByZWRpcmVjdCB0byB0aGF0IHBhZ2UuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdFZGl0IHRoaXMgZmllbGQgdG8gcmVzZXQgdGhlIHVzZXJzIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdFZGl0IHRoaXMgZmllbGQgdG8gcmVzZXQgdGhlIHVzZXJzIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ0Vzc2Ugbm9tZSBkZSB1c3UmYWFjdXRlO3JpbyBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xlbmd0aCBvZiB1c2VybmFtZSBmaWVsZCc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMZW5ndGggb2YgcGFzc3dvcmQgZmllbGQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFzc3dvcmQgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCB1c2VybmFtZSBsZW5ndGhzIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdJbnZhbGlkIEVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdXZSBjb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGFjY291bnQnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlbSBzZXR0aW5nIHByb3BlcnR5JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVc2VyIEFkZGVkICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVXNlciBEZWxldGVkIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3BlcnR5JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWx1ZSAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1dhcm5pbmc6IFRoZXNlIGZpZWxkcyBhZmZlY3QgdGhlIHNpemUgb2YgaW5wdXQgZmllbGRzIGZvciBmb3Jtcy4gIERlY3JlYXNpbmcgdGhpcyBudW1iZXIgb24gYW4gZXhpc3Rpbmcgc2l0ZSBtYXkgbm90IGJlIGFkdmlzYWJsZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFkanVzdCB0aGUgbW9kdWxlIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRW5kZXJlJmNjZWRpbDtvIGRlIGVtYWlsIGomYWFjdXRlOyB1dGlsaXphZG8nOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNhciBjb29raWVzIHBhcmEgbGVtYnJhciBvIGxvZ2luJzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnTm9tZSBkbyBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgZW1haWxzJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ08gZW5kZXJlJmNjZWRpbDtvIGRlIGVtYWlsICZlYWN1dGU7IG8gbm9tZSBkZSB1c3UmYWFjdXRlO3Jpbyc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdBdHRlbXB0IHRvIGtlZXAgbG9naW5zIGFsaXZlIGJ5IHRoZSB1c2Ugb2YgYSBjb29raWUgPGVtPih0aGUgY29va2llIGlzIHJlc2V0IG9uIGFjdGl2aXR5IGluIHRoZSB3ZWJzaXRlKTwvZW0+JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX2VtYWlscyddID0gJyhhbGxvdyBtdWx0aXBsZSB1c2VycyB3aXRoIHRoZSBzYW1lIGVtYWlsIGFkZHJlc3MpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWVfaXNfZW1haWwnXSA9ICcodXNlciYjMDM5O3MgZW1haWwgYWRkcmVzcyBpcyB0aGVpciB1c2VybmFtZSAtLSBkb24mIzAzOTt0IHNldCB0aGlzIHdpdGggJnF1b3Q7YWxsb3cgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlcyZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnQWxsb3cgZHVwbGljYXRlICZxdW90O2ZvcmdvdCBwYXNzd29yZCZxdW90OyByZW1pbmRlcnM/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhhbGxvdyBhIHVzZXJzIHRvIHJlcXVlc3QgYSBwYXNzd29yZCByZXNldCwgZXZlbiBpZiB0aGV5IGhhdmVuJiMwMzk7dCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHlvdXIgdXBsb2FkZWQgZmlsZS4gIFBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnVm9jJmVjaXJjOyBuJmF0aWxkZTtvIGRpZ2l0b3UgdW0gbm9tZSBkZSB1c3UmYWFjdXRlO3Jpbyc7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdWb2MmZWNpcmM7IG4mYXRpbGRlO28gZGlnaXRvdSBzZXUgZW5kZXJlJmNjZWRpbDtvIGRlIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1ZvYyZlY2lyYzsgbiZhdGlsZGU7byBkaWdpdG91IHVtYSBzZW5oYSc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnRnJvbnRlbmQgVXNlciBMb2dvdXQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnRnJvbnRlbmQgVXNlciBMb2dpbic7CiRsYW5nWydlZGl0cHJvcF9pbmZvbXNnJ10gPSAnPGZvbnQgY29sb3I9JnF1b3Q7cmVkJnF1b3Q7PjxiPlVTRSBDQVVUSU9OPC9iPiB3aGVuIGNoYW5naW5nIGV4aXN0aW5nIHByb3BlcnRpZXMgdGhhdCBhcmUgYXNzaWduZWQgdG8gZ3JvdXBzLCB5b3UgbWF5IHBvdGVudGlhbGx5IGNhdXNlIGRhbWFnZSBhbmQgYnJlYWsgYW4gZXhpc3Rpbmcgc2l0ZSA8aT4oZXNwZWNpYWxseSBpZiB5b3UgcmVkdWNlIGZpZWxkIGxlbmd0aHMsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1RoaXMgZnVuY3Rpb24gZG9lcyBub3Qgd29yayBvbiB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdEbyBub3QgY3JlYXRlIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLCBvciBwYXNzd29yZCBhcyB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBidWlsdGluIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0IFVzZXJzIHRvIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnQnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0JzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZGl0IFByb3BlcnR5JzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ0NvbXByaW1lbnRvIG0mYWFjdXRlO3hpbW8nOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyaWFkbyc7CiRsYW5nWydzb3J0YnknXSA9ICdPcmRlbmFyIHBvcic7CiRsYW5nWydzb3J0J10gPSAnT3JkZW5hbmRvJzsKJGxhbmdbJ3VzZXJzaW5ncm91cCddID0gJ1VzdSZhYWN1dGU7cmlvcyBub3MgZ3J1cG9zIHNlbGVjaW9uYWRvcyc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdMaW1pdGFyIHJlc3VsdGFkb3MgZW0gJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ04mYXRpbGRlO28gZm9pIHBvc3MmaWFjdXRlO3ZlbCBsb2NhbGl6YXIgdW0gY2FtcG8gZGUgZW1haWwgcGFyYSBlc3RlIHVzdSZhYWN1dGU7cmlvLiBWb2MmZWNpcmM7IHBvZGUgcHJlY2lzYXIgZW50cmFyIGVtIGNvbnRhdG8gY29tIG8gYWRtaW5pc3RyYWRvciBkbyBzaXN0ZW1hLic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3IgRm9yZ290IFBhc3N3b3JkIGZvcm0nOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIENoYW5nZSBTZXR0aW5ncyBmb3JtJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9naW4gKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBsb2dvdXQgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlc2V0dGluZyBsb3N0IHBhc3N3b3Jkcy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0FwYWdhciB0b2RhcyBhcyBlbnRyYWRhcyBtYWlzIHZlbGhhcyBxdWUgdW1hIHNlbWFuYSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdBcGFnYXIgdG9kYXMgYXMgZW50cmFkYXMgbWFpcyB2ZWxoYXMgcXVlIHVtIG0mZWNpcmM7cyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdBcGFnYXIgdG9kYXMgYXMgZW50cmFkYXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1RlbSBjZXJ0ZXphPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ0FuIGludmFsaWQgY29kZSBoYXMgYmVlbiBlbnRlcmVkLCBwbGVhc2UgdHJ5IGFnYWluJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdBIHRlbXBvcmFyeSBjb2RlIGZvciB5b3VyIHVzZXIgaWQgY291bGQgbm90IGJlIGZvdW5kIGluIHRoZSBkYXRhYmFzZSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgdG8gZGlzcGxheSB2ZXJpZmljYXRpb24gZm9ybSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCBmb3IgZm9yZ290dGVuIHBhc3N3b3JkIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdFaXRoZXIgeW91cnNlbGYgb3Igc29tZW9uZSBlbHNlIGhhcyBhbHJlYWR5IHRyaWdnZXJlZCBhIHBhc3N3b3JkIHJlc2V0IG9wZXJhdGlvbiBmb3IgdGhpcyBhY2NvdW50LiAgQ2hlY2sgeW91ciBlbWFpbCwgeW91IG1heSBoYXZlIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCB5b3VyIHBhc3N3b3JkIGluIHlvdXIgaW5ib3gnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGVycm9yJzsKJGxhbmdbJ21lc3NhZ2VfZm9yZ290cHdlbWFpbCddID0gJ1lvdSBhcmUgcmVjZWl2aW5nIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHNvbWVib2R5IHRvbGQgb3VyIHNpdGUgdGhhdCB5b3UgaGFkIGxvc3QgeW91ciBwYXNzd29yZC4gIElmIHRoaXMgaXMgdGhlIGNhc2UsIHJlYWQgdGhlIGluc3RydWN0aW9ucyBiZWxvdy4gIElmIHlvdSBkb24mIzAzOTt0IGhhdmUgYSBjbHVlIHdoYXQgdGhpcyBpcywgdGhlbiB5b3UgYXJlIHNhZmUgdG8gZGVsZXRlIHRoaXMgbWVzc2FnZSwgYW5kIHdlIHRoYW5rIHlvdSBmb3IgeW91ciB0aW1lLic7CiRsYW5nWydwcm9tcHRfY29kZSddID0gJ0Mmb2FjdXRlO2RpZ28nOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnVGhlIGZvbGxvd2luZyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCByYW5kb21seSBnZW5lcmF0ZWQgaW4gb3JkZXIgdG8gdmVyaWZ5IHRoZSB1c2VyIGFjY291bnQuICB3aGVuIHlvdSBjbGljayBvbiB0aGUgbGluayBiZWxvdyB5b3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGZpZWxkIHRvIGVudGVyIHRoaXMgY29kZS4gIE5vcm1hbGx5IHRoZSBmaWVsZCBpcyBwcmUtY29tcGxldGVkIGZvciB5b3UsIGJ1dCBpbmNhc2UgaXQgaXNuJiMwMzk7dCB0aGUgY29kZSBpczonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdDbGlja2luZyBvbiB0aGUgZm9sbG93aW5nIGxpbmsgd2lsbCB0YWtlIHlvdSB0byB0aGUgd2Vic2l0ZSB3aGVyZSB5b3UgY2FuIGVudGVyIHRoZSBhYm92ZSBjb2RlLCBhbmQgcmVzZXQgeW91ciBwYXNzd29yZDonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1NlbmhhIFBlcmRpZGEnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdOJmF0aWxkZTtvIGZvaSBwb3NzJmlhY3V0ZTt2ZWwgbG9jYWxpemFyIG8gbSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXInOwokbGFuZ1snaW5mb19mb3Jnb3Rwd21lc3NhZ2VzZW50J10gPSAnVW0gZW1haWwgZm9pIGVudmlhZG8gcGFyYSAlcyBjb20gYXMgaW5zdHJ1JmNjZWRpbDsmb3RpbGRlO2VzIGRvIGNvbW8gcmVzZXRhciBzdWEgc2VuaGEuIE9icmlnYWRvLic7CiRsYW5nWydsb3N0cHdfbWVzc2FnZSddID0gJ0VudCZhdGlsZGU7byB2b2MmZWNpcmM7IGVzcXVlY2V1IHN1YSBzZW5oYS4gRW50JmF0aWxkZTtvLCBlc2NyZXZhIHNldSBub21lIGRlIHVzdSZhYWN1dGU7cmlvIGFxdWksIGNhc28gcG9zc2Ftb3MgbG9jYWxpemFyIHZvYyZlY2lyYzsgbiZvYWN1dGU7cyBlbnZpYXJlbW9zIHVtIGVtYWlsIGNvbSBhcyBpbnN0cnUmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgY29tbyByZXNldGFyIHN1YSBzZW5oYS4nOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdGb3Jnb3QgUGFzc3dvcmQgVGVtcGxhdGVzJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnUHJvcGVydHkgJXMgbm90IGZvdW5kJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdQcm9wZXJ0aWVzIGZvdW5kJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdBZGQgUHJvcGVydHknOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0EgcmVxdWlyZWQgZmllbGQgKCVzKSB3YXMgZW1wdHknOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdFbnRyZSBjb20gdW1hIG5vdmEgc2VuaGEgYXF1aSBwYXJhIGFsdGVyYXIgYSBzZW5oYSBleGlzdGVudGUnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdWb2MmZWNpcmM7IG4mYXRpbGRlO28gcGFyZWNlIGVzdGFyIGxvZ2Fkbyc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnQ29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ2Vycm9yX2FjY291bnRleHBpcmVkJ10gPSAnRXNzYSBjb250YSBleHBpcm91JzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdGb3JtYXRvIGVycmFkbyBkZSBlbWFpbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ0ludmFsaWQgZXhwaXJ5IGRhdGUnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0Vycm9yIHNldHRpbmcgcHJvcGVydHkgJXMgZm9yIHVzZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdJbnZhbGlkIGdyb3VwIGlkICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnSGlkZGVuIGZpZWxkIG1hcmtlcic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnSGlkZGVuIGZpZWxkIGNvbG9yJzsKJGxhbmdbJ2hpZGRlbiddID0gJ0hpZGRlbic7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnQSBwcm9wZXJ0eSB3aXRoIHRoYXQgbmFtZSBpcyBhbHJlYWR5IGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gcHJvcGVydGllcyBkZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydGllcyB3ZXJlIHNlbGVjdGVkIGZvciB0aGlzIGdyb3VwJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnTm8gR3JvdXBzIGFyZSBkZWZpbmVkJzsKJGxhbmdbJ2dyb3Vwc2ZvdW5kJ10gPSAnR3JvdXBzIEZvdW5kJzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdNZW1iZXJzaGlwIGluIGF0IGxlYXN0IG9uZSBncm91cCBpcyByZXF1aXJlZCc7CiRsYW5nWydwcm9tcHRfcmVxdWlyZW9uZWdyb3VwJ10gPSAnUmVxdWlyZSBtZW1iZXJzaGlwIGluIGF0bGVhc3Qgb25lIGdyb3VwJzsKJGxhbmdbJ2JhY2snXSA9ICdWb2x0YXInOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGlzIGEgcmVxdWlyZWQgZmllbGQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01hcmsgcmVxdWlyZWQgZmllbGRzIHdpdGgnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnSGlsaXRlIHJlcXVpcmVkIGZpZWxkcyBpbic7CiRsYW5nWyduZXh0J10gPSAnUHImb2FjdXRlO3hpbW8nOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdBIEdyb3VwIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnUmVxdWVyaWRvJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3BjaW9uYWwnOwokbGFuZ1snb2ZmJ10gPSAnRGVzbGlnYWRvJzsKJGxhbmdbJ3NpemUnXSA9ICdTaXplJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWF4aW11bSBzaXplIG9mIGFueSBvbmUgZGltZW5zaW9uIG9mIHRoZSBpbWFnZSBpbiBwaXhlbHMpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ1RhbWFuaG8nOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdGaWVsZCBTdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnQXNrIGluIExvc3Q8YnIvPlVzZXJuYW1lJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aSBTZWxlY3QgTGlzdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRhcmVhJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdCZW0gdmluZG8nOwokbGFuZ1snbG9nb3V0J10gPSAnU2Fpcic7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnVXNlIGVzdGUgbm9tZSBkZSBncnVwbyc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdBbHRlcmFyIG1pbmhhcyBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdPIGxvZ2luIGZhbGhvdSAtIE5vbWUgZGUgdXN1JmFhY3V0ZTtyaW8gb3Ugc2VuaGEgaW52JmFhY3V0ZTtsaWRvcyA/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9naW4nOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdMb2dpbic7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdVc3UmYWFjdXRlO3Jpbyc7CiRsYW5nWydwcm9tcHRfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWydwcm9tcHRfcGFzc3dvcmQnXSA9ICdTZW5oYSc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ0xlbWJyYXIgbmVzdGUgY29tcHV0YWRvcic7CiRsYW5nWydyZWdpc3RlciddID0gJ0NhZGFzdHJhLXNlJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnRXNxdWVjZXUgc3VhIHNlbmhhPyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdFc3F1ZWNldSBzZXUgTG9naW4/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnRGVmYXVsdHMnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdDb3VsZCBub3QgZmluZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyB1c2VyJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdUaGF0IHVzZXJuYW1lICglcykgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ1VzZSBTTVRQIHRvIHZhbGlkYXRlIGVtYWlsIGFkZHJlc3Nlcz8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnTWluaW11bSBQYXNzd29yZCBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW11bSBQYXNzd29yZCBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnTWluaW11bSBVc2VybmFtZSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAnTWF4aW11bSBVc2VybmFtZSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnU2Vzc2lvbiBUaW1lb3V0IChzZWNvbmRzKSc7CiRsYW5nWydwcm9tcHRfY29va2lla2VlcGFsaXZlJ10gPSAnVXNlIGNvb2tpZXMgdG8ga2VlcCBsb2dpbnMgYWxpdmUnOwokbGFuZ1sncHJvbXB0X2FsbG93ZW1haWxyZWcnXSA9ICdBbGxvdyBFbWFpbCBSZWdpc3RyYXRpb24nOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ0RlZmF1bHQgR3JvdXAgZm9yIG5ldyB1c2Vycyc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJ0NoYW5nZSBTZXR0aW5ncyBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAnUGFzc3dvcmRzIERvIG5vdCBtYXRjaCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdJbnZhbGlkIFVzZXJuYW1lJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0ludmFsaWQgUGFzc3dvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdFZGl0IFVzZXInOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdUaGlzIHVzZXIgaXMgbm90IGEgbWVtYmVyIG9mIGFueSBncm91cHMnOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ05vIFByb3BlcnRpZXMnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdBdHRlbXB0IHRvIGltcG9ydCBkdXBsaWNhdGUgcHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dyb3Vwcyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnUHJvcGVydGllcyc7CiRsYW5nWydwcm9wbmFtZSddID0gJ1Byb3BlcnR5IE5hbWUnOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnUHJvcGVydHkgVmFsdWUnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdIaXN0b3J5JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ1NwZWNpZnkgRGF0ZSc7CiRsYW5nWycxMmhycyddID0gJzEyIEhvcmFzJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgSG9yYXMnOwokbGFuZ1snNDhocnMnXSA9ICc0OCBIb3Jhcyc7CiRsYW5nWycxd2VlayddID0gJzEgU2VtYW5hJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgU2VtYW5hcyc7CiRsYW5nWycxbW9udGgnXSA9ICcxIE0mZWNpcmM7cyc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNZXNlcyc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBNZXNlcyc7CiRsYW5nWycxeWVhciddID0gJzEgQW5vJzsKJGxhbmdbJ25ldmVyJ10gPSAnTnVuY2EnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLiZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ1NlbmhhJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnU2VuaGEgTm92YW1lbnRlJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdHcm91cCBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnRWRpdCBHcm91cCc7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZpYXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsYXInOwokbGFuZ1snZGVsZXRlJ10gPSAnRXhjbHVpcic7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XG5UdXJuaW5nIGEgcHJvcGVydHkgb2ZmIHdpbGwgbm90IGRlbGV0ZSBhbnkgZW50cmllcyBpbiB0aGUgcHJvcGVydGllcyB0YWJsZSBmb3IgdGhpcyBncm91cC91c2VyLiAgVGhleSB3aWxsIG1lcmVseSBiZSB1bmF2YWlsYWJsZS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBncm91cD8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGlzIHByb3BlcnR5P1xuRG9pbmcgc28gd2lsbCBhbHNvIGVyYXNlIGFueSB1c2VyIGVudHJpZXMgZm9yIHRoaXMgcHJvcGVydHkuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ05vbWUnOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdQcm9ibGVtIGFkZGluZyBwcm9wZXJ0eSc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAgcmVsYXRpb24nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAnOwokbGFuZ1snZXJyb3JfY2FudGFzc2lnbnVzZXInXSA9ICdQcm9ibGVtIGFkZGluZyBhIHVzZXIgdG8gYSBncm91cCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbSBkZWxldGluZyBhIHByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnTm8gd3JpdGUgcGVybWlzc2lvbiB0byBkZXN0aW5hdGlvbiBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ0ludmFsaWQgUGFyYW1ldGVycyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0NvdWxkIG5vdCBmaW5kIGFueSBncm91cHMnOwokbGFuZ1snYXBwbHlmaWx0ZXInXSA9ICdBcGxpY2FyJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRyYXInOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ1VzZXJuYW1lIFJlZ3VsYXIgRXhwcmVzc2lvbic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ0dyb3VwIE5hbWUnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZCc7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnQWRkIEdyb3VwJzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0IEdyb3VwJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdBZGQgVXNlcic7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXNlcnMgZm91bmQgdGhhdCBtYXRjaCB0aGUgY3JpdGVyaWEnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcm91cCc7CiRsYW5nWydzZWxlY3Rncm91cCddID0gJ1NlbGVjdCBHcm91cCc7CiRsYW5nWydyZWdpc3RyYXRpb25fdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpb24gVGVtcGxhdGUnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnTG9nb3V0IFRlbXBsYXRlJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnTG9naW4gVGVtcGxhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWyd1c2VycyddID0gJ1VzZXJzJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Zyb250ZW5kIFVzZXIgTWFuYWdlbWVudCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0FsbG93IHVzZXJzIHRvIGxvZyBpbiB0byB0aGUgZnJvbnRlbmQgb2YgeW91ciBzaXRlJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdEZWZhdWx0IGZyb250IHBhZ2UnOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ0xhc3QgYWNjZXNzZWQgcGFnZSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdPdGhlciBwYWdlOiAnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0VudGVyIHRoZSB0ZXh0IGZyb20gdGhlIGltYWdlJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJnF1b3Q7VXNlcnMgJmFtcDsgZ0dyb3VwcyZxdW90OyBtZW51LjwvcD48L2xpPg0KPGxpPg0KPHA+U2Vjb25kbHksIHlvdSBzaG91bGQgZGVmaW5lIHByb3BlcnRpZXMuICBQcm9wZXJ0aWVzIGFyZSBlc3NlbnRpYWxseSBmaWVsZCBkZWZpbml0aW9ucywgaGVyZSB5b3Ugc3BlY2lmeSB0aGUgdHlwZSBvZiBpbmZvcm1hdGlvbiB5b3Ugd2FudCB0byBnYXRoZXIsIGFuZCBsaW1pdHMuIGkuZTogIE5hbWUsIEFnZSwgQ2l0eSwgU3RhdGUsIENvdW50cnksIEVtYWlsIGFkZHJlc3MsIGV0Yy48L3A+DQo8cD48Yj5Ob3RlOjwvYj4gWW91IGRvIG5vdCBuZWVkIHRvIGRlZmluZSBwcm9wZXJ0aWVzIGZvciB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIHRoZXNlIHdpbGwgYmUgcHJvdmlkZWQgZm9yIHlvdTwvYj4NCjwvbGk+DQo8bGk+PHA+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSB1c2VyIGdyb3Vwcy4gIFdoZW4geW91IGNyZWF0ZSBhIGdyb3VwLCB5b3UgYXJlIGFza2VkIGZvciBhIGdyb3VwIG5hbWUsIGEgZGVzY3JpcHRpb24gYW5kIHRvIGFzc29jaWF0ZSBwcm9wZXJ0aWVzIHdpdGggdGhhdCBncm91cCwgc3BlY2lmeSB0aGUgcHJvcGVydGllcyBzb3J0IG9yZGVyLCBhbmQgd2V0aGVyIGl0IGlzIGFuIG9wdGlvbmFsLCByZXF1aXJlZCwgb3IgaGlkZGVuIGZpZWxkIDxpPihvZmYgaXMgYWxzbyB2YWxpZCk8L2k+PC9wPjwvbGk+DQo8bGk+PHA+PGI+Tm90ZTo8L2I+IEJlZm9yZSBwcm9jZWVkaW5nLCB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBwcmVmZXJlbmNlcyBhcmUgc2V0IGNvcnJlY3RseS48L3A+PC9saT4NCjxsaT48cD5UaGlyZGx5IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgdXNlcnMuICBBZGRpbmcgdXNlcnMgaXMgYSB0d28gc3RlcCBwcm9jZXNzLiAgV2hlbiBjcmVhdGluZyBhIHVzZXIgeW91IGFyZSBhc2tlZCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgYW5kIGFuIGV4cGlyeSBkYXRlIGZvciB0aGF0IHVzZXIuICBZb3UgdGhlbiBtdXN0IHNlbGVjdCB0aGUgZ3JvdXBzIHRoYXQgdGhhdCB1c2VyIGlzIGEgbWVtYmVyIG9mLCBhbmQgY2xpY2sgXCYjMDM5O05leHRcJiMwMzk7PC9wPg0KPHA+PGVtPk5vdGU6IDwvZW0+VGhpcyBpcyBhIGxhYm91ciBpbnRlbnNpdmUgYW5kIGJvcmluZyBwcm9jZXNzLCBpdCBpcyBlYXNpZXIgdG8gbGV0IHVzZXJzIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgPGVtPihTZWUgdGhlIFNlbGZSZWdpc3RyYXRpb24gTW9kdWxlKTwvZW0+LCBhbmQgdGhlbiB5b3UgY2FuIGVkaXQgdGhlaXIgZ3JvdXAgaW5mb3JtYXRpb24uICBidXQgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHBsZWFzZSBjcmVhdGUgYXQgbGVzdCBvbmUgdXNlcjwvcD48L2xpPg0KPGxpPjxwPkxhc3RseSwgYWZ0ZXIgdGhlIHN5c3RlbSBoYXMgZGV0ZXJtaW5lZCBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZpZWxkcyB0byBiZSBwcmVzZW50ZWQgZm9yIHRoYXQgdXNlciwgeW91IGFyZSBwcmVzZW50ZWQgd2l0aCBhIGZvcm0gYXNraW5nIGZvciBhbGwgb2YgdGhlIHJlcXVpcmVkIHVzZXIgaW5mb3JtYXRpb24uICBDb21wbGV0ZSB0aGlzIGZvcm0gdG8gY29tcGxldGUgdGhlIHVzZXIgYWRkaXRpb248L3A+PC9saT4NCjxsaT48cD5Zb3UgYXJlIG5vdyByZWFkeSB0byBhZGQgdGhlIGZyb250IGVuZCBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgc2l0ZS4gIFRoaXMgaXMgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUge2Ntc19tb2R1bGUgbW9kdWxlPUZyb250RW5kVXNlcnN9IHRhZyB0byB5b3VyIHBhZ2Ugb3IgdGVtcGxhdGU8L3A+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQogPGxpPjxlbT5sb3N0dXNlcm5hbWU8L2VtPiAtIERpc3BsYXkgdGhlIGxvc3QgdXNlcm5hbWUgZm9ybS48L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsb3N0dW5fZ3JvdXA9JnF1b3Q7Z3JvdXAmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb3N0dXNlcm5hbWUgZm9ybSwgdGhpcyBmZWF0dXJlIHNwZWNpZmllcyB0aGUgZnJvbnRlbmQgdXNlciBncm91cCB0byBhc3N1bWUgdGh0IHVzZXJzIGFyZSBtZW1iZXJzIG9mLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj1udWxsPC9saT4NCjxwPlRoZSBvbmx5IHBvc3NpYmxlIHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciBpcyAmcXVvdDt2aWV3dXNlciZxdW90OzwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD1udWxsPC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgdmlld3VzZXIgYWN0aW9uLiAgVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB3aGljaCB1c2VyIHRvIHZpZXcgdGhlIGRldGFpbHMgb2YuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTMxNzE4Nzg3NS4xMjI0MDEwMDAwLjEyMjUyMjc2ODMuMTIyNTMwMzA2NS4xNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjUzMDMwNjUuMTcuMTEudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2ZvcnVtL2ZvcnVtLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ0VkaXRhbmRvIFV0aWxpemFkb3InOwokbGFuZ1snbm9pbmxpbmUnXSA9ICdOJmF0aWxkZTtvIGFsaW5oYXIgZm9ybXVsJmFhY3V0ZTtyaW9zJzsKJGxhbmdbJ2luZm9fbG9zdHVuJ10gPSAnQ2xpcXVlIGFxdWkgY2FzbyBuJmF0aWxkZTtvIGNvbnNpZ2EgbGVtYnJhci1zZSBkb3Mgc2V1cyBkZXRhbGhlcyBkZSB1dGlsaXphZG9yJzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdDbGlxdWUgYXF1aSBjYXNvIG4mYXRpbGRlO28gY29uc2lnYSBsZW1icmFyLXNlIGRhIHN1YSBwYWxhdnJhIGNoYXZlJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnQ2xpcXVlIGFxdWkgcGFyYSBsb2dvdXQnOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0NsaXF1ZSBhcXVpIHBhcmEgYWp1c3RhciBhIHN1YSBwYWxhdnJhIGNoYXZlIG91IG91dHJhcyBpbmZvcm1hJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3ZpZXd1c2VyX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgVmlzdWFsaXphciBVdGlsaXphZG9yJzsKJGxhbmdbJ2V2ZW50J10gPSAnRXZlbnRvJzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdGRVUgTm90aWZpY2EmY2NlZGlsOyZhdGlsZGU7byBFdmVudG8nOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnRW5kZXJlJmNjZWRpbDtvIEVtYWlsIHBhcmEgTm90aWZpY2EmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGRvIEVtYWlsIGRlIE5vdGlmaWNhJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCddID0gJ0Fzc3VudG8gZG8gRW1haWwgZGUgTm90aWZpY2EmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbCBOb3RpZmljYSZjY2VkaWw7Jm90aWxkZTtlcyc7CiRsYW5nWydPbkxvZ2luJ10gPSAnTm8gTG9naW4nOwokbGFuZ1snT25Mb2dvdXQnXSA9ICdObyBMb2dvdXQnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnTmEgRXhwcmlyYSZjY2VkaWw7JmF0aWxkZTtvIGRhIFNlc3MmYXRpbGRlO28nOwokbGFuZ1snT25DcmVhdGVVc2VyJ10gPSAnTmEgQ3JpYSZjY2VkaWw7JmF0aWxkZTtvIGRlIHVtIE5vdm8gVXRpbGl6YWRvcic7CiRsYW5nWydPbkRlbGV0ZVVzZXInXSA9ICdOYSBSZW1vJmNjZWRpbDsmYXRpbGRlO28gZGUgdW0gVXRpbGl6YWRvcic7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdOYSBBbHRlcmEmY2NlZGlsOyZhdGlsZGU7byBkb3MgRGV0YWxoZXMgZGUgVXRpbGl6YWRvcic7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnTmEgQ3JpYSZjY2VkaWw7JmF0aWxkZTtvIGRlIHVtIEdydXBvIGRlIFV0aWxpemFkb3Jlcyc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnTmEgUmVtbyZjY2VkaWw7JmF0aWxkZTtvIGRlIHVtIEdydXBvIGRlIFV0aWxpemFkb3Jlcyc7CiRsYW5nWydsb3N0dW5jb25maXJtX3ByZW1zZyddID0gJ0EgcGVzcXVpc2EgcGVsb3Mgc2V1cyBkYWRvcyBkZSB1dGlsaXphZG9yIHRlcm1pbm91LiBGb2kgZW5jb250cmFkbyB1bSBub21lIGRlIHV0aWxpemFkb3IgY29tIGRldGFsaGVzIGlndWFpcyBhb3MgcXVlIGludHJvZHV6aXUuJzsKJGxhbmdbJ3lvdXJfdXNlcm5hbWVfaXMnXSA9ICdPIHNldSBub21lIGRlIHV0aWxpemFkb3IgJmVhY3V0ZTsnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wb3N0bXNnJ10gPSAnUmVjb21lbmRhbW9zIHF1ZSBndWFyZGUgZXN0YSBpbmZvcm1hJmNjZWRpbDsmYXRpbGRlO28gbnVtIGxvY2FsIHNlZ3VybywgbWFzIGFjZXNzJmlhY3V0ZTt2ZWwuJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgRGV0YWlscyBUZW1wbGF0ZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ0Vycm86IE1haXMgZG8gcXVlIHVtIHV0aWxpemFkb3IgZm9pIGVuY29udHJhZG8gY29tIG9zIGRhZG9zIHF1ZSBmb3JuZWNldSc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdFcnJvOiBOJmF0aWxkZTtvIGZvaSBlbmNvbnRyYWRvIG5lbmh1bSB1dGlsaXphZG9yIGNvbSBlc3NlIG5vbWUnOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0Vycm86IE4mYXRpbGRlO28gZm9pIGVuY29udHJhZG8gbmVuaHVtIGdydXBvIGNvbSBlc3NlIG5vbWUnOwokbGFuZ1sncmVhZG9ubHknXSA9ICdTJm9hY3V0ZTsgTGVpdHVyYSc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnVXNlciBNYW5pcHVsYXRvciBDbGFzcyc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdMb2dnZWQgb3V0IHBlbG8gYWRtaW5pc3RyYWRvcic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnTW9zdHJhciBBcGVuYXMgVXRpbGl6YWRvcmVzIEF1dGVudGljYWRvcyc7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAnTG9nb3V0IHV0aWxpemFkb3InOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnUHJvcHJpZWRhZGVzIGRvIFV0aWxpemFkb3InOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0b3JpYWwgZG8gVXRpbGl6YWRvcic7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnRhcic7CiRsYW5nWydjbGVhciddID0gJ0xpbXBhcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnRhciBIaXN0b3JpYWwgZGUgVXRpbGl6YWRvciBQYXJhIEFTQ0lJIHF1ZSAmZWFjdXRlOyBwZWxvIG1lbm9zJzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnTGltcGFyIEhpc3RvcmlhbCBkZSBVdGlsaXphZG9yIHF1ZSAmZWFjdXRlOyBwZWxvIG1lbm9zJzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0VzcXVlY2V1LXNlIGRvcyBzZXVzIGRldGFsaGVzIGRlIHV0aWxpemFkb3I/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydGFyIGRlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBkZSBncnVwbyAoZSBwcm9wcmllZGFkZXMpIHBhcmEgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVc2VyIEhpc3RvcnkgTWFpbnRlbmFuY2UnOwokbGFuZ1sneWVzJ10gPSAnU2ltJzsKJGxhbmdbJ25vJ10gPSAnTiZhdGlsZGU7byc7CiRsYW5nWydwcm9tcHRfb2YnXSA9ICdEZSc7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiBTZW0gTGltaXRlICoqJzsKJGxhbmdbJ2RhdGVfb25laG91cm9sZCddID0gJ1VtYSBIb3JhIGRlIElkYWRlJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NlaXMgSG9yYXMgZGUgSWRhZGUnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnRG96ZSBIb3JhcyBkZSBJZGFkZSc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ1VtIERpYSBkZSBJZGFkZSc7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdVbWEgU2VtYW5hIGRlIElkYWRlJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICdEdWFzIFNlbWFuYXMgZGUgSWRhZGUnOwokbGFuZ1snZGF0ZV9vbmVtb250aG9sZCddID0gJ1VtIE0mZWNpcmM7cyBkZSBJZGFkZSc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVHImZWNpcmM7cyBNZXNzZXMgZGUgSWRhZGUnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZWlzIE1lc3NlcyBkZSBJZGFkZSc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdVbSBBbm8gZGUgSWRhZGUnOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnQWdydXBhbWVudG8gZSBPcmRlbmEmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVnaXN0b3MgcXVlIGNvbmRpemVtIGNvbSBvcyBjcml0JmVhY3V0ZTtyaW9zJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9kZXNjJ10gPSAnTm9tZSBkZSBVdGlsaXphZG9yIERlc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdOb21lIGRlIFV0aWxpemFkb3IgQXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnRGF0YSBEZXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdEYXRhIEFzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnVGlwbyBkZSBFdmVudG8gRGVzY2VuZGVudGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdUaXBvIGRlIEV2ZW50byBBc2NlbmRlbnRlJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0VuZGVyZSZjY2VkaWw7byBkZSBJUCBEZXNjZW5kZW50ZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ0VuZGVyZSZjY2VkaWw7byBkZSBJUCBBc2NlbmRlbnRlJzsKJGxhbmdbJ2luZm9fbm9oaXN0b3J5ZGV0ZWN0ZWQnXSA9ICdOJmF0aWxkZTtvIGZvaSBEZXRlY3RhZG8gbmVuaHVtIEhpc3RvcmlhbCc7CiRsYW5nWydyZXNldCddID0gJ1JlcG9yJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0FncnVwYXIgcG9yIEVuZGVyZSZjY2VkaWw7byBJUCc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRybyBkZSBUaXBvIGRlIEV2ZW50byc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdNb3N0cmFyIGFwZW5hcyBldmVudG9zIGNvbSBtZW5vcyBkZTonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ0xpbWl0ZSBkZSBQJmFhY3V0ZTtnaW5hJzsKJGxhbmdbJ2ZvciddID0gJ3BhcmEnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICdSZWxhdCZvYWN1dGU7cmlvIGRvIEhpc3RvcmlhbCBkbyBVdGlsaXphZG9yJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdEZXNjb25oZWNpZG8nOwokbGFuZ1sncHJvbXB0X2lwYWRkcmVzcyddID0gJ0VuZGVyZSZjY2VkaWw7byBJUCc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnVGlwbyBkZSBFdmVudG8nOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEYXRhJzsKJGxhbmdbJ3Byb21wdF9yZXR1cm4nXSA9ICdWb2x0YXInOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ09wZXJhJmNjZWRpbDsmYXRpbGRlO28gZGUgSW1wb3J0YSZjY2VkaWw7JmF0aWxkZTtvIENvbXBsZXRhZGEnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnTGluaGFzIFByb2Nlc3NhZGFzJzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdFcnJvcyBFbmNvbnRyYWRvcyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVnaXN0b3MgQWRpY2lvbmFkb3MnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ04mYXRpbGRlO28gZm9pIHBvc3MmaWFjdXRlO3ZlbCBlbmNvbnRyYXIgYXMgcHJvcHJpZWRhZGVzIGRvIGdydXBvICVzJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnTiZhdGlsZGU7byBmb2kgcG9zcyZpYWN1dGU7dmVsIG9idGVyIHVtYSByZXNwb3N0YSBkbyBzZXJ2aWRvciBTTVRQJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ08gZmljaGVpcm8gKCVzKSBuJmF0aWxkZTtvIGZvaSBlbmNvbnRyYWRvJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIGZvciBkcm9wZG93biBvciBtdWx0aXNlbGVjdCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ08gY2FtcG8gJXMgZXhjZWRldSBvIHRhbWFuaG8gbSZhYWN1dGU7eGltbyc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0Vycm8gZGUgSW1wb3J0YSZjY2VkaWw7JmF0aWxkZTtvIChsaW5oYSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ04mYXRpbGRlO28gZm9pIHBvc3MmaWFjdXRlO3ZlbCBhYnJpciBvIGZpY2hlaXJvJzsKJGxhbmdbJ2luZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0J10gPSAnPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4NCjxwPlRoZSBpbnB1dCBmaWxlIG11c3QgYmUgaW4gQVNDSUkgZm9ybWF0IHVzaW5nIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuICBFYWNoIGxpbmUgaW4gdGhpcyBpbnB1dCBmaWxlICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhlYWRlciBsaW5lLCBkaXNjdXNzZWQgYmVsb3cpIHJlcHJlc2VudHMgb25lIHVzZXIgcmVjb3JkLiAgRWFjaCBsaW5lIG11c3QgY29udGFpbiB0aGUgc2FtZSBudW1iZXIgb2YgZmllbGRzLCBhbmQgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZHMgaW4gZWFjaCBsaW5lIG11c3QgYmUgaWRlbnRpY2FsLjwvcD4NCjxoNT5IZWFkZXIgbGluZTwvaDU+DQo8dWw+DQo8bGk+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgbXVzdCBiZWdpbiB3aXRoIHR3byBwb3VuZCAoXCMpIGNoYXJhY3RlcnMsIGFuZCBuYW1lcyBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGZpbGUuICBUaGUgbmFtZXMgb2YgdGhlc2UgZmllbGRzIGlzIHNpZ25pZmljYW50LiAgVGhlcmUgYXJlIHNvbWUgcmVxdWlyZWQgZmllbGQgbmFtZXMgKHNlZSBiZWxvdyksIGFuZCBvdGhlciBmaWVsZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHVzZXJzIGFyZSBnb2luZyB0byBiZSBhZGRlZCBpbnRvLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgZmFpbCBpZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIGRvZXMgbm90IG1hdGNoIGFsbCBvZiB0aGUgcmVxdWlyZWQgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHRoYXQgdXNlcnMgYXJlIGJlaW5nIGFkZGVkIGludG88L2xpPg0KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgaWdub3JlIGFueSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgdGhhdCBhcmUgZWl0aGVyIG5vdCBrbm93biwgb3IgbWFwIHRvIHByb3BlcnRpZXMgdGhhdCBhcmUgPGVtPm9mZjwvZW0+IGluIHRoZSBzcGVjaWZpZWQgdXNlciBncm91cC48L2xpPg0KPC91bD4NCjxoNT5Db2x1bW5hciBEYXRhPC9oNT4NCjx1bD4NCjxsaT5UaGUgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiBGaWVsZCAtIFRoZSBkZXNpcmVkIHVzZXJuYW1lLg0KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY2ggYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPg0KPGxpPlRoZSA8c3Ryb25nPnBhc3N3b3JkPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+ZXhwaXJlczwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPkRyb3Bkb3duIEZpZWxkcw0KICAgIDxwPlRoZSB2YWx1ZSBvZiBkcm9wZG93biBwcm9wZXJ0aWVzIGluIGFuIGltcG9ydCBmaWxlIGlzIHJlcHJlc2VudGVkIGFzIHRoZSBzdHJpbmcgdGhhdCBpcyBzaG93biBpbiB0aGUgZHJvcGRvd24gY29udHJvbCBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUuPC9wPg0KPC9saT4NCjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMNCiAgICA8cD5NdWx0aXNlbGVjdCBmaWVsZHMgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlIEFTQ0lJIGZpbGUgYXMgYSA6IHNlcGFyYXRlZCBsaXN0IG9mIHN0cmluZ3MsIHdoZXJlIGVhY2ggc3RyaW5nIHJlcHJlc2VudHMgdGhlIHRleHQgc2hvd24gaW4gdGhlIG11bHRpc2VsZWN0IGxpc3Q8L3A+DQo8L2xpPg0KPGxpPkltYWdlIEZpZWxkcw0KICAgIDxwPkltYWdlIGFyZSBmaWVsZHMgd2hvJiMwMzk7cyBjb2x1bW4gbmFtZSBtYXRjaGVzIGEgcHJvcGVydHkgb2YgdHlwZSBJbWFnZS4gIElmIHRoaXMgZmllbGQgaXMgYSByZXF1aXJlZCBwYXJ0IG9mIHRoZSBkZXN0aW5hdGlvbiBncm91cCwgdGhlbiB0aGUgbmFtZSBzcGVjaWZpZWQgaW4gdGhlc2UgY29sdW1ucyBtdXN0IGV4aXN0IGluIHRoZSB1cGxvYWRzIGRpc3JlY3Rvcnkgb2YgdGhlIENNUyBpbnN0YWxsYXRpb24uICBJZiB0aGUgaW1hZ2UgZG9lcyBub3QgZXhpc3QsIGFuZCB0aGUgZmllbGQgaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHJlY29yZCB3aWxsIGZhaWwuPC9wPg0KPC91bD4NCjxoNT5Ob3RlczwvaDU+DQo8cD5UaGUgaW1wb3J0IHByb2Nlc3MgaXMgc3ViamVjdCB0byB0aGUgbGltaXRhdGlvbnMgaW1wb3NlZCBieSB0aGUgaG9zdCBwcm92aWRlciwgc3VjaCBhcyBtZW1vcnkgbGltaXRhdGlvbnMsIHByb2Nlc3NpbmcgdGltZSwgZmlsZSBzaXplIHVwbG9hZCwgYW5kIHNhZmUgbW9kZSByZXN0cmljdGlvbnMuICBBbnkgb25lIG9mIHRoZXNlIGxpbWl0YXRpb25zIG1heSBjYXVzZSB0aGUgaW1wb3J0IHRvIGZhaWwuIFRoZXJlZm9yZSBpdCBpcyBhZHZpc2FibGUgdG8gZW5zdXJlIHRoYXQgaW1wb3J0IGZpbGVzIGFyZSBzbWFsbGVyIGluIHNpemUsIGFuZCBzaW1wbGVyIGluIG5hdHVyZS48L3A+DQo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPg0KPGg1PkV4YW1wbGU8L2g1Pg0KPHByZT4NCiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcA0KdXNlcjEsdGVzdCx1c2VyLHVzZXIxQHNvbWVkb21haW4uY29tLHNvbWV3aGVyZSxUWCxVUywxMjM0NQ0KPC9wcmU+DQonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydGFyIFV0aWxpemFkb3JlcyBwYXJhIEluY2x1cyZhdGlsZGU7byBubyBHcnVwbyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdGaWNoZWlybyBDU1YgZGUgSW5wdXQnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICdGaWNoZWlybyBYTUwgZGUgSW5wdXQnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAnRXhwb3J0YXIgVXRpbGl6YWRvcmVzJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0ltcG9ydGFyIFV0aWxpemFkb3Jlcyc7CiRsYW5nWydwcm9tcHRfY2xlYXInXSA9ICdMaW1wYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdDYW1pbmhvIGRlIERlc3Rpbm8gZGEgSW1hZ2VtJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHdpdGggYSBtaXNzaW5nIChidXQgcmVxdWlyZWQpIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnQ291bGQgbm90IHBhcnNlIHRoZSBwcm92aWRlZCBYTUwgZmlsZSc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnTiZhdGlsZGU7byAmZWFjdXRlOyBwb3NzJmlhY3V0ZTt2ZWwgcmVtb3ZlciB1bSBncnVwbyBxdWUgYWluZGEgY29udGVtIHV0aWxpemFkb3Jlcyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnRXN0ZSB1dGlsaXphZG9yIGomYWFjdXRlOyBzZSBlbmNvbnRyYSBhdXRlbnRpY2Fkbyc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUaGUgdGV4dCBmcm9tIHRoZSBpbWFnZSB3YXMgbm90IGVudGVyZWQgY29ycmVjdGx5JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdBbGxvdyB1c2VycyB0byBsb2dpbiBtb3JlIHRoYW4gb25jZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnSW1hZ2UgRmlsZSBFeHRlbnNpb25zIHRoYXQgVXNlcnMgYWxsb3dlZCB0byB1cGxvYWQnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyB1cGRhdGVkIChlaXRoZXIgYnkgdXNlciB0aGVtc2VsZiBvciBhZG1pbik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBncm91cCBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGlkIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gVGhlIGlwIGFkZHJlc3Mgb2YgdGhlIGNsaWVudDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dvdXQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgbG9nZ2Vkb3V0IHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uRXhwaXJlVXNlciddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGV4cGlyZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9pbmZvX09uTG9naW4nXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbiB0byB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dvdXQnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBvdXQgb2YgdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBzZXNzaW9uIGlzIGV4cGlyZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyB1c2VyIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PblVwZGF0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaW5mbyBpcyB1cGRhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGFjY291bnQgaXMgZGVsZXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlR3JvdXAnXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZ3JvdXAgaXMgZGVsZXRlZCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZCBHcm91cCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGNhbiBiZSB1c2VkIGluIHRoZXNlIGZpZWxkczogeyR1c2VybmFtZX0seyRncm91cH0uIFdoZW4gdXNpbmcgdGhlIHskZ3JvdXB9IG1hY3JvLCB0aGUgc3lzdGVtIHdpbGwgc3Vic2l0dXRlIHRoZSBuYW1lIG9mIHRoZSBmaXJzdCBtZW1iZXIgZ3JvdXAgdGhhdCB0aGUgdXNlciBiZWxvbmdzIHRvLCBhbmQgd2lsbCByZWRpcmVjdCB0byB0aGF0IHBhZ2UuJzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdFZGl0IHRoaXMgZmllbGQgdG8gcmVzZXQgdGhlIHVzZXJzIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdFZGl0IHRoaXMgZmllbGQgdG8gcmVzZXQgdGhlIHVzZXJzIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1VtIHV0aWxpemFkb3IgY29tIGVzc2Ugbm9tZSBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xlbmd0aCBvZiB1c2VybmFtZSBmaWVsZCc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMZW5ndGggb2YgcGFzc3dvcmQgZmllbGQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFzc3dvcmQgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCB1c2VybmFtZSBsZW5ndGhzIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdFbmRlcmUmY2NlZGlsO28gZGUgRW1haWwgSW52JmFhY3V0ZTtsaWRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnTiZhdGlsZGU7byBmb2kgZW5jb250cmFkbyBuZW5odW0gZW5kcmUmY2NlZGlsO28gZGUgZW1haWwgcGFyYSBlc3RhIGNvbnRhJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXRpbGl6YWRvciBBZGljaW9uYWRvICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVXRpbGl6YWRvciBSZW1vdmlkbyB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdQcm9wcmllZGFkZSc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsb3IgKGV4cHJlc3MmYXRpbGRlO28gcmVndWxhciknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYXJuaW5nOiBUaGVzZSBmaWVsZHMgYWZmZWN0IHRoZSBzaXplIG9mIGlucHV0IGZpZWxkcyBmb3IgZm9ybXMuICBEZWNyZWFzaW5nIHRoaXMgbnVtYmVyIG9uIGFuIGV4aXN0aW5nIHNpdGUgbWF5IG5vdCBiZSBhZHZpc2FibGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIG1vZHVsZSBwcmVmZXJlbmNlcz8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0VuZGVyZSZjY2VkaWw7byBkZSBlbWFpbCBlbSB1dGlsaXphJmNjZWRpbDsmYXRpbGRlO28nOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNlIGNvb2tpZXMgdG8gcmVtZW1iZXIgbG9naW4gZGV0YWlscyc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ1RoZSBuYW1lIG9mIHRoZSBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgZW1haWxzJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ0VtYWlsIGFkZHJlc3MgaXMgdXNlcm5hbWUnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnQXR0ZW1wdCB0byBrZWVwIGxvZ2lucyBhbGl2ZSBieSB0aGUgdXNlIG9mIGEgY29va2llIDxlbT4odGhlIGNvb2tpZSBpcyByZXNldCBvbiBhY3Rpdml0eSBpbiB0aGUgd2Vic2l0ZSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoYWxsb3cgbXVsdGlwbGUgdXNlcnMgd2l0aCB0aGUgc2FtZSBlbWFpbCBhZGRyZXNzKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnKHVzZXImIzAzOTtzIGVtYWlsIGFkZHJlc3MgaXMgdGhlaXIgdXNlcm5hbWUgLS0gZG9uJiMwMzk7dCBzZXQgdGhpcyB3aXRoICZxdW90O2FsbG93IGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXMmcXVvdDshKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0FsbG93IGR1cGxpY2F0ZSAmcXVvdDtmb3Jnb3QgcGFzc3dvcmQmcXVvdDsgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlbiYjMDM5O3QgYWN0ZWQgb24gYSBwcmV2aW91cyBvbmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNlIEZyb250LWVuZCBVc2VyIHNwZWNpZmljIHBlcm1pc3Npb25zPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbHksIEZFVVNlcnMgcGVybWlzc2lvbnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBlcXVpdmFsZW50IEFkbWluIEFyZWEgcGVybWlzc2lvbnMgbGlrZSBBZGQgVXNlciwgQWRkIEdyb3VwLCBldGMuIElmIHlvdSBzZWxlY3QgdGhpcyBvcHRpb24sIHRoZXJlIHdpbGwgYmUgc2VwYXJhdGUgcGVybWlzc2lvbnMgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVwbG9hZGVkIGZpbGUgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ1RoZXJlIHdhcyBhIHByb2JsZW0gd2l0aCB5b3VyIHVwbG9hZGVkIGZpbGUuICBQbGVhc2UgdHJ5IGFnYWluJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ04mYXRpbGRlO28gaW50cm9kdXppdSBvIG5vbWUgZGUgdXRpbGl6YWRvcic7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdOJmF0aWxkZTtvIGludHJvZHV6aXUgbyBzZXUgZS1tYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ04mYXRpbGRlO28gaW50cm9kdXppdSBhIHBhbGF2cmEgY2hhdmUnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSZxdW90O3JlZCZxdW90Oz48Yj5VU0UgQ0FVVElPTjwvYj4gd2hlbiBjaGFuZ2luZyBleGlzdGluZyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIGdyb3VwcywgeW91IG1heSBwb3RlbnRpYWxseSBjYXVzZSBkYW1hZ2UgYW5kIGJyZWFrIGFuIGV4aXN0aW5nIHNpdGUgPGk+KGVzcGVjaWFsbHkgaWYgeW91IHJlZHVjZSBmaWVsZCBsZW5ndGhzLCBldGMpPC9pPjwvZm9udD4nOwokbGFuZ1snaW5mb19zbXRwdmFsaWRhdGUnXSA9ICdUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHdvcmsgb24gd2luZG93cyc7CiRsYW5nWydtc2dfZG9udGNyZWF0ZXVzZXJuYW1lJ10gPSAnRG8gbm90IGNyZWF0ZSBhIHByb3BlcnR5IGZvciB1c2VybmFtZSwgb3IgcGFzc3dvcmQgYXMgdGhlc2UgcHJvcGVydGllcyBhcmUgYnVpbHRpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydGNzdiddID0gJ0V4cG9ydCBVc2VycyB0byBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0YXInOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0YXInOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbic7CiRsYW5nWydlZGl0cHJvcCddID0gJ0VkaXQgUHJvcGVydHknOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSBMZW5ndGgnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyaWFkbyc7CiRsYW5nWydzb3J0YnknXSA9ICdPcmRlbmFyIFBvcic7CiRsYW5nWydzb3J0J10gPSAnT3JkZW5hJmNjZWRpbDsmYXRpbGRlO28nOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVXRpbGl6YWRvcmVzIG5vKHMpIGdydXBvKHMpIHNlbGVjaW9uYWRvKHMpJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0xpbWl0YXIgcmVzdWx0YWRvcyBhdCZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFuIGVtYWlsIGZpZWxkIGZvciB0aGlzIHVzZXIuICBZb3UgbWF5IG5lZWQgdG8gY29udGFjdCB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3InOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIEZvcmdvdCBQYXNzd29yZCBmb3JtJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBDaGFuZ2UgU2V0dGluZ3MgZm9ybSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ2luIConOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9nb3V0IConOwokbGFuZ1snc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZXNldHRpbmcgbG9zdCBwYXNzd29yZHMuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1RlbSBhIGNlcnRlemE/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnRm9pIGludHJvZHV6aWRvIHVtIGMmb2FjdXRlO2RpZ28gaW52JmFhY3V0ZTtsaWRvLCBwb3IgZmF2b3Igdm9sdGUgYSB0ZW50YXInOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0EgdGVtcG9yYXJ5IGNvZGUgZm9yIHlvdXIgdXNlciBpZCBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCB0byBkaXNwbGF5IHZlcmlmaWNhdGlvbiBmb3JtJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIGZvciBmb3Jnb3R0ZW4gcGFzc3dvcmQgZW1haWwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ1ZvYyZlY2lyYzsgb3Ugb3V0cmEgcGVzc29hIGluaWNpb3UgcGFyYSBlc3RhIGNvbnRhLCB1bSBwcm9jZXNzbyBkZSByZWN1cGVyYSZjY2VkaWw7JmF0aWxkZTtvIGRhIHBhbGF2cmEgY2hhdmUuIFZlcmlmaXF1ZSBvIHNldSBlbWFpbCBlIHNpZ2EgYXMgaW5zdHJ1JmNjZWRpbDsmb3RpbGRlO2VzIHBhcmEgcHJvY2VkZXIgY29tIGEgcmVjdXBlcmEmY2NlZGlsOyZhdGlsZGU7byBkYSBtZXNtYS4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0Vycm8gbmEgYmFzZSBkZSBkYWRvcyc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdFc3QmYWFjdXRlOyBhIHJlY2ViZXIgZXN0YSBtZW5zYWdlbSBwb3JxdWUgYWxndSZlYWN1dGU7bSBpbmljaW91IHVtIHByb2Nlc3NvIGRlIHJlY3VwZXJhJmNjZWRpbDsmYXRpbGRlO28gZGEgc3VhIHBhbGF2cmEgY2hhdmUuIENhc28gdGVuaGEgbWVzbW8gYSBlc3F1ZWNpZG8gZW50JmF0aWxkZTtvIGxlaWEgYXMgaW5zdHJ1JmNjZWRpbDsmb3RpbGRlO2VzIGFiYWl4bywgY2FzbyBjb250ciZhYWN1dGU7cmlvIHBvZGUgaWdub3JhciBlc3RhIG1lbnNhZ2VtIGUgcGVkaW1vcyBkZXNkZSBqJmFhY3V0ZTsgZGVzY3VscGEgcGVsbyBpbmNvbW9kby4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdDJm9hY3V0ZTtkaWdvJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ08gc2VndWludGUgYyZvYWN1dGU7ZGlnbyBmb2kgZ2VyYWRvIGF1dG9tYXRpY2FtZW50ZSBlIGFsZWF0b3JpYW1lbnRlIGRlIGZvcm1hIGEgdmVyaWZpY2FyIGEgc3VhIGNvbnRhLiBRdWFuZG8gc2VndWlyIG8gbGluayBhYmFpeG8gdGVyJmFhY3V0ZTsgdW0gY2FtcG8gb25kZSBvIHRlciZhYWN1dGU7IGRlIGNvbG9jYXIuIE5vcm1hbG1lbnRlIGVzdGUgY2FtcG8gJmVhY3V0ZTsgcHJlZW5jaGlkbyBhdXRvbWF0aWNhbWVudGUsIG1hcyBubyBjYXNvIGRlIG4mYXRpbGRlO28gbyB0ZXIgc2lkbyBvIGMmb2FjdXRlO2RpZ28gJmVhY3V0ZTs6ICc7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0FvIHNlZ3VpciBvIGxpbmsgaXImYWFjdXRlOyBzZXIgbGV2YWRvIHBhcmEgbyBzaXRlIG9uZGUgcG9kZXImYWFjdXRlOyBpbnRyb2R1emlyIG8gYyZvYWN1dGU7ZGlnbyBlIHJlcG9yIHVtYSBwYWxhdnJhIGNoYXZlOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnUGVyZGV1IGEgc3VhIHBhbGF2cmEgY2hhdmUnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgQ01TTWFpbGVyIG1vZHVsZSc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdPIHNldSBwZWRpZG8gZm9pIGVudmlhZG8gcGFyYSBhIGNhaXhhIGRlIGNvcnJlaW8gJXMgY29tIGluc3RydSZjY2VkaWw7Jm90aWxkZTtlcyBkZSBjb21vIHByb2NlZGVyIHBhcmEgcmVwb3IgYSBzdWEgcGFsYXZyYSBjaGF2ZS4gT2JyaWdhZG8nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdDYXNvIHRlbmhhIHBlcmRpZG8gYSBzdWEgcGFsYXZyYSBjaGF2ZSwgaW50cm9kdXphIG8gc2V1IG5vbWUgZGUgdXRpbGl6YWRvci4gQ2FzbyBlc3RlIHNlamEgZW5jb250cmFkbyBlbnZpYXJlbW9zLWxoZSB1bSBlbWFpbCBjb20gaW5zdHJ1JmNjZWRpbDsmb3RpbGRlO2VzIGRlIGNvbW8gcHJvY2VkZXIgcGFyYSBhIHJlcG9yLic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlcyBGb3Jnb3QgUGFzc3dvcmQnOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgTG9zdCBVc2VybmFtZSc7CiRsYW5nWydlcnJvcl9wcm9wbm90Zm91bmQnXSA9ICdBIHByb3ByaWVkYWRlICVzIG4mYXRpbGRlO28gZm9pIGVuY29udHJhZGEnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ1Byb3BlcnRpZXMgZm91bmQnOwokbGFuZ1snYWRkcHJvcCddID0gJ0FkaWNpb25hciBQcm9wcmllZGFkZSc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnQSByZXF1aXJlZCBmaWVsZCAoJXMpIHdhcyBlbXB0eSc7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ0ludHJvZHV6YSBhIHN1YSBub3ZhIHBhbGF2cmEgY2hhdmUgcGFyYSBwcm9jZWRlciAmYWdyYXZlOyBzdWEgYWx0ZXJhJmNjZWRpbDsmYXRpbGRlO28nOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdOJmF0aWxkZTtvIHNlIGVuY29udHJhIGF1dGVudGljYWRvJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdG8nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICdFc3RhIGNvbnRhIGV4cGlyb3UnOwokbGFuZ1snZXJyb3JfaW1wcm9wZXJlbWFpbGZvcm1hdCddID0gJ0ltcHJvcGVyIGVtYWlsIGFkZHJlc3MgZm9ybWF0dGluZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZXhwaXJ5ZGF0ZSddID0gJ0ludmFsaWQgZXhwaXJ5IGRhdGUnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ0Vycm9yIHNldHRpbmcgcHJvcGVydHkgJXMgZm9yIHVzZXIgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdJbnZhbGlkIGdyb3VwIGlkICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnSGlkZGVuIGZpZWxkIG1hcmtlcic7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnSGlkZGVuIGZpZWxkIGNvbG9yJzsKJGxhbmdbJ2hpZGRlbiddID0gJ0VzY29uZGlkbyc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnQSBwcm9wZXJ0eSB3aXRoIHRoYXQgbmFtZSBpcyBhbHJlYWR5IGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTmVuaHVtYSBwcm9wcmllZGFkZSBmb2kgZGVmaW5pZGEnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdOZW5odW1hIHByb3ByaWVkYWRhIGZvaSBzZWxlY2lvbmFkYSBwYXJhIGVzdGUgZ3J1cG8nOwokbGFuZ1snbm9ncm91cHMnXSA9ICdOZW5odW0gR3J1cG8gZm9pIGRlZmluaWRvICZsYXF1bzsnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcnVwb3MgRW5jb250cmFkb3MnOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lbWJlcnNoaXAgaW4gYXQgbGVhc3Qgb25lIGdyb3VwIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdSZXF1aXJlIG1lbWJlcnNoaXAgaW4gYXRsZWFzdCBvbmUgZ3JvdXAnOwokbGFuZ1snYmFjayddID0gJ1ZvbHRhcic7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgJmVhY3V0ZTsgdW0gY2FtcG8gb2JyaWdhdCZvYWN1dGU7cmlvJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJrIHJlcXVpcmVkIGZpZWxkcyB3aXRoJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0hpbGl0ZSByZXF1aXJlZCBmaWVsZHMgaW4nOwokbGFuZ1snbmV4dCddID0gJ1ByJm9hY3V0ZTt4aW1vJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnVW0gR3J1cG8gY29tIGVzc2Ugbm9tZSBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ3JlcXVpcmVkJ10gPSAnT2JyaWdhdCZvYWN1dGU7cmlvJzsKJGxhbmdbJ29wdGlvbmFsJ10gPSAnT3BjaW9uYWwnOwokbGFuZ1snb2ZmJ10gPSAnRGVzbGlnYWRvJzsKJGxhbmdbJ3NpemUnXSA9ICdUYW1hbmhvJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWF4aW11bSBzaXplIG9mIGFueSBvbmUgZGltZW5zaW9uIG9mIHRoZSBpbWFnZSBpbiBwaXhlbHMpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ1RhbWFuaG8nOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdGaWVsZCBTdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnQXNrIGluIExvc3Q8YnIvPlVzZXJuYW1lJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0byc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTXVsdGkgU2VsZWN0IExpc3QnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZW0nOwokbGFuZ1snZW1haWwnXSA9ICdFbmRlcmUmY2NlZGlsO28gRW1haWwnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0YXJlYSc7CiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duJzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnQmVtIHZpbmRvJzsKJGxhbmdbJ2xvZ291dCddID0gJ0xvZ291dCc7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnVXNlIHRoaXMgZ3JvdXAgbmFtZSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3MnXSA9ICdBbHRlcmFyIERhZG9zJzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnTyBsb2dpbiBmYWxob3UgLSBOb21lIGRlIHV0aWxpemFkb3Igb3UgcGFsYXZyYSBjaGF2ZSBpbnYmYWFjdXRlO2xpZGEuJzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9naW4nOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdTaWduIGluIGJ1dHRvbiBsYWJlbCc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdOb21lIGRlIFV0aWxpemFkb3InOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW5kZXJlJmNjZWRpbDtvIGRlIEVtYWlsJzsKJGxhbmdbJ3Byb21wdF9wYXNzd29yZCddID0gJ1BhbGF2cmEgQ2hhdmUnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdNZW1vcml6YXItbWUgbmVzdGUgY29tcHV0YWRvcic7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdGFyJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnRXNxdWVjZXUtc2UgZGEgc3VhIHBhbGF2cmEtY2hhdmUgb3UgJnF1b3Q7cGFzc3dvcmQmcXVvdDs/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ0VzcXVlY2V1LXNlIGRvcyBzZXVzIGRldGFsaGVzIGRlIHV0aWxpemFkb3I/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnUGFkciZhdGlsZGU7byc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlICc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdOJmF0aWxkZTtvIGZvaSBlbmNvbnRyYWRhIG5lbmh1bWEgaW5mb3JtYSZjY2VkaWw7JmF0aWxkZTtvIHBhcmEgZXN0ZSB1dGlsaXphZG9yJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdPIG5vbWUgZGUgdXRsaXphZG9yICglcykgbiZhdGlsZGU7byBlc3QmYWFjdXRlOyBkaXNwb24maWFjdXRlO3ZlbCc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNhciBTTVRQIHBhcmEgdmFsaWRhciBlbmRlcmUmY2NlZGlsO29zIGRlIGUtbWFpbD8nOwokbGFuZ1sncHJvbXB0X21pbnB3bGVuJ10gPSAnVGFtYW5obyBNJmlhY3V0ZTtuaW1vIGRhIFBhbGF2cmEgQ2hhdmUnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnVGFtYW5obyBNJmFhY3V0ZTt4aW1vIGRhIFBhbGF2cmEgQ2hhdmUnOwokbGFuZ1sncHJvbXB0X21pbnVubGVuJ10gPSAnVGFtYW5obyBNJmlhY3V0ZTtuaW1vIGRvIE5vbWUgZGUgVXRpbGl6YWRvcic7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdUYW1hbmhvIE0mYWFjdXRlO3hpbW8gZG8gTm9tZSBkZSBVdGlsaXphZG9yJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gVGltZW91dCAoc2Vjb25kcyknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzZSBjb29raWVzIHRvIGtlZXAgbG9naW5zIGFsaXZlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnQWxsb3cgRW1haWwgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdEZWZhdWx0IEdyb3VwIGZvciBuZXcgdXNlcnMnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICdDaGFuZ2UgU2V0dGluZ3MgVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0FzIFBhbGF2cmFzIENoYXZlIG4mYXRpbGRlO28gY29uZGl6ZW0nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTm9tZSBkZSBVdGlsaXphZG9yIEludiZhYWN1dGU7bGlkbyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdQYWxhdnJhIENoYXZlIEludiZhYWN1dGU7bGlkYSc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXRhciBVdGlsaXphZG9yJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnVmFsaWRvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tZSBkZSBVdGlsaXphZG9yJzsKJGxhbmdbJ3N0YXR1cyddID0gJ0VzdGFkbyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdFc3RlIHV0aWxpemFkb3IgbiZhdGlsZGU7byAmZWFjdXRlOyBtZW1icm8gZGUgbmVuaHVtIGRvcyBncnVwb3MnOwokbGFuZ1snZXJyb3JfcHJvcGVydGllcyddID0gJ1NlbSBQcm9wcmllZGFkZXMnOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdUZW50YXRpdmEgZGUgaW1wb3J0YSZjY2VkaWw7JmF0aWxkZTtvIGRlIHByb3ByaWVkYWRlcyBkdXBsaWNhZGFzJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmFsb3InOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3J1cG9zJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdQcm9wcmllZGFkZXMnOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOb21lIGRlIFByb3ByaWVkYWRlJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1ZhbG9yIGRlIFByb3ByaWVkYWRlJzsKJGxhbmdbJ2FkZCddID0gJ0FkaWNpb25hcic7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdG9yaWFsJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXInOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyYSc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdFc3BlY2lmaWNhciBEYXRhJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgSG9yYXMnOwokbGFuZ1snMjRocnMnXSA9ICcyNCBIb3Jhcyc7CiRsYW5nWyc0OGhycyddID0gJzQ4IEhvcmFzJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBTZW1hbmEnOwokbGFuZ1snMndlZWtzJ10gPSAnMiBTZW1hbmFzJzsKJGxhbmdbJzFtb250aCddID0gJzEgTSZlY2lyYztzJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIE1lc3Nlcyc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiBNZXNzZXMnOwokbGFuZ1snMXllYXInXSA9ICcxIEFubyc7CiRsYW5nWyduZXZlciddID0gJ051bmNhJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsZSBpbnN0YWxsZWQgc3VjZXNzZnVsbHkuPGJyLz5CZSBzdXJlIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4mcXVvdDsnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYWxhdnJhIENoYXZlJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnRGUgTm92byc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnVW0gZ3J1cG8gY29tIGVzc2Ugbm9tZSBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ2VkaXRncm91cCddID0gJ0VkaXRhciBHcnVwbyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtZXRlcic7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWxhcic7CiRsYW5nWydkZWxldGUnXSA9ICdSZW1vdmVyJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnVGVtIGNlcnRlemEgZGUgcXVlIGVzdGFzIGRlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBzJmF0aWxkZTtvIGNvcnJlY3RhcyBwYXJhIGVzdGUgZ3J1cG8/IFxuQ29sb2NhciB1bWEgcHJvcHJpZWRhZGUgb2ZmIG4mYXRpbGRlO28gaXImYWFjdXRlOyBhcGFnYXIgdG9kYXMgYXMgZW50cmFkYXMgbmEgdGFiZWxhIGRlIHByb3ByaWVkYWRlcyBkZXNzZSBncnVwby91dGlsaXphZG9yLiBFbGFzIHNpbXBsZXNtZW50ZSBuJmF0aWxkZTtvIGlyJmF0aWxkZTtvIGVzdGFyIGRpc3BvbiZpYWN1dGU7dmVpcy4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVncm91cCddID0gJ1RlbSBhIGNlcnRlemEgcXVlIHF1ZXIgcmVtb3ZlciBlc3RlIGdydXBvPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnVGVtIGNlcnRlemEgZGUgcXVlIGRlc2VqYSBhcGFnYXIgY29tcGxldGFtZW50ZSBlc3RhIHByb3ByaWVkYWRlPyBcbkRlc3RhIGZvcm1hIHRhbWImZWFjdXRlO20gaXImYWFjdXRlOyBhcGFnYXIgdG9kYXMgYXMgZW50cmFkYXMgZG8gdXRpbGl6YWRvciBwYXJhIGVzdGEgcHJvcHJpZWRhZGUuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1BhciZhY2lyYzttZXRyb3MgSW5zdWZpY2llbnRlcyc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ25hbWUnXSA9ICdOb21lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAnUHJvYmxlbWEgYWRpY2lvbmFyIHByb3ByaWVkYWRlJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nXSA9ICdQcm9ibGVtYSBhZGljaW9uYXIgcmVsYSZjY2VkaWw7JmF0aWxkZTtvIGRlIGdydXBvJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cCddID0gJ1Byb2JsZW1hIGFkaWNpb25hciBncnVwbyc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsZW1hIGEgYWRpY2lvbmFyIHV0aWxpemFkb3IgYSB1bSBncnVwbyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbWEgYW8gZXhjbHVpciB1bWEgcHJvcHJpZWRhZGUnOwokbGFuZ1snZXJyb3JfY291bGRub3RmaW5kZW1haWwnXSA9ICdOJmF0aWxkZTtvIGZvaSBwb3NzJmlhY3V0ZTt2ZWwgbG9jYWxpemFyIHVtIGVuZGVyZSZjY2VkaWw7byBkZSBlLW1haWwnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ05lbmh1bWEgcGVybWlzcyZhdGlsZGU7byBwYXJhIGVzY3JldmVyIG5vIGRpcmV0Jm9hY3V0ZTtyaW8gZGUgZGVzdGlubyAnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ1BhciZhY2lyYzttZXRyb3MgSW52JmFhY3V0ZTtsaWRvcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ04mYXRpbGRlO28gZm9pIGVuY29udHJhZG8gbmVuaHVtIGdydXBvJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAnQXBsaWNhcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cm8nOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ05vbWUgZGUgVXRpbGl6YWRvciBFeHByZXNzJm90aWxkZTtlcyBSZWd1bGFyZXMnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmkmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydncm91cG5hbWUnXSA9ICdOb21lIGRlIEdydXBvJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gTmVnYWRvJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJybyc7CiRsYW5nWydhZGRncm91cCddID0gJ0FkaWNpb25hciBHcnVwbyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ0ltcG9ydGFyIEdydXBvJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdBZGljb25hciBVdGlsaXphZG9yJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVdGlsaXphZG9yZXMgZW5jb250cmFkb3MgZGUgYWNvcmRvIGNvbSBjcml0JmVhY3V0ZTtyaW9zIGRlIGJ1c2NhJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cG8nOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdTZWxlY2lvbmFyIEdydXBvJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGRlIFJlZ2lzdG8nOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZGUgTG9nb3V0JzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZGUgTG9naW4nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXImZWNpcmM7bmNpYXMnOwokbGFuZ1sndXNlcnMnXSA9ICdVdGlsaXphZG9yZXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnR2VzdCZhdGlsZGU7byBGcm9udGVuZCBVc2VyJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnUGVybWl0aXIgYW9zIHVzdSZhYWN1dGU7cmlvcyBhY2Vzc2FyICZhZ3JhdmU7IGZyZW50ZSBkbyBzaXRlJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdQcmltZWlyYSBwJmFhY3V0ZTtnaW5hIFBhZHImYXRpbGRlO28nOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJyZVYWN1dGU7bHRpbWEgcCZhYWN1dGU7Z2luYSBhY2Vzc2FkYSc7CiRsYW5nWydvdGhlcnBhZ2UnXSA9ICdPdXRyYSBwJmFhY3V0ZTtnaW5hOiAnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0RpZ2l0ZSBvIHRleHRvIGRhIGltYWdlbSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Gb3Jnb3QgcGFzc3dvcmQsIGFuZCBmb3Jnb3QgdXNlcm5hbWUgZnVuY3Rpb25hbGl0eS4uLi4gYWxsb3dzIHVzZXJzIHRvIHNldCBhIG5ldyBwYXNzd29yZCwgYW5kL29yIHRvIHJlY292ZXIgdGhlaXIgdXNlcm5hbWUgaWYgdGhleSBjb21wbGV0ZWx5IGZvcmdvdCBsb2dpbiBkZXRhaWxzLjwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmcXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9zdHVzZXJuYW1lPC9lbT4gLSBEaXNwbGF5IHRoZSBsb3N0IHVzZXJuYW1lIGZvcm0uPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSZxdW90O2dyb3VwJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9zdHVzZXJuYW1lIGZvcm0sIHRoaXMgZmVhdHVyZSBzcGVjaWZpZXMgdGhlIGZyb250ZW5kIHVzZXIgZ3JvdXAgdG8gYXNzdW1lIHRodCB1c2VycyBhcmUgbWVtYmVycyBvZi48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249bnVsbDwvbGk+DQo8cD5UaGUgb25seSBwb3NzaWJsZSB2YWx1ZSBmb3IgdGhpcyBwYXJhbWV0ZXIgaXMgJnF1b3Q7dmlld3VzZXImcXVvdDs8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1aWQ9bnVsbDwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIHZpZXd1c2VyIGFjdGlvbi4gIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgd2hpY2ggdXNlciB0byB2aWV3IHRoZSBkZXRhaWxzIG9mLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjgzMTg1MjQ2NzQwMDAzNzYwMC4xMjIxMzk2MjQ5LjEyMjI0NTg4MzQuMTIyMjQ2NzIxMS40Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjIyMTE2OTIuMzMuOC51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyMjI0NjcyMTEnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAn0J3QtSDQstGB0YLRgNC+0LXQvdC90YvQtSDRhNC+0YDQvNGLJzsKJGxhbmdbJ2luZm9fbG9zdHVuJ10gPSAn0J3QsNC20LzQuNGC0LUg0LfQtNC10YHRjCwg0LXRgdC70Lgg0LLRiyDQt9Cw0LHRi9C70Lgg0YHQstC+0Lkg0LvQvtCz0LjQvSc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3J10gPSAn0J3QsNC20LzQuNGC0LUg0LfQtNC10YHRjCwg0LXRgdC70Lgg0LLRiyDQt9Cw0LHRi9C70Lgg0YHQstC+0Lkg0L/QsNGA0L7Qu9GMJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAn0J3QsNC20LzQuNGC0LUg0LfQtNC10YHRjCwg0YfRgtC+0LHRiyDQstGL0LnRgtC4JzsKJGxhbmdbJ2luZm9fY2hhbmdlc2V0dGluZ3MnXSA9ICfQndCw0LbQvNC40YLQtSDQt9C00LXRgdGMLCDRh9GC0L7QsdGLINC40LfQvNC10L3QuNGC0Ywg0YHQstC+0Lkg0L/QsNGA0L7Qu9GMINC40LvQuCDQtNGA0YPQs9GD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4nOwokbGFuZ1sndmlld3VzZXJfdGVtcGxhdGUnXSA9ICfQn9C+0YHQvNC+0YLRgNC10YLRjCDRiNCw0LHQu9C+0L0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2V2ZW50J10gPSAn0KHQvtCx0YvRgtC40LUnOwokbGFuZ1snZmV1X2V2ZW50X25vdGlmaWNhdGlvbiddID0gJ0ZFVSDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPINC+INGB0L7QsdGL0YLQuNGP0YUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAn0JDQtNGA0LXRgSBlbWFpbCDRg9Cy0LXQtNC+0LzQu9C10L3QuNGPJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0g0YPQstC10LTQvtC80LvQtdC90LjRjyDQv9C+IGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCddID0gJ9Ci0LXQvNCwINGD0LLQtdC00L7QvNC70LXQvdC40Y8g0L/QviBlbWFpbCc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9ucyddID0gJ9Cj0LLQtdC00L7QvNC70LXQvdC40Y8g0L/QviBlbWFpbCc7CiRsYW5nWydPbkxvZ2luJ10gPSAn0J3QsCDQstGF0L7QtCc7CiRsYW5nWydPbkxvZ291dCddID0gJ9Cd0LAg0LLRi9GF0L7QtCc7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICfQndCwINC40YHRgtC10LrRiNGD0Y4g0YHQtdGB0YHQuNGOJzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ9Cd0LAg0LLQvdC+0LLRjCDRgdC+0LfQtNCw0L3QvdC+0LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAn0J3QsCDRg9C00LDQu9C10L3QvdC+0LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snT25VcGRhdGVVc2VyJ10gPSAnT24gVXNlciBTZXR0aW5ncyBDaGFuZ2VkJzsKJGxhbmdbJ09uQ3JlYXRlR3JvdXAnXSA9ICdPbiBVc2VyIEdyb3VwIENyZWF0ZWQnOwokbGFuZ1snT25EZWxldGVHcm91cCddID0gJ09uIFVzZXIgR3JvdXAgRGVsZXRlZCc7CiRsYW5nWydsb3N0dW5jb25maXJtX3ByZW1zZyddID0gJ1RoZSBsb3N0IGxvZ2luIGRldGFpbHMgZnVuY3Rpb25hbGl0eSBoYXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZC4gIFdlIGhhdmUgZm91bmQgYSB1bmlxdWUgdXNlcm5hbWUgdGhhdCBtYXRjaGVzIHRoZSBkZXRhaWxzIHlvdSBlbnRlcmVkLic7CiRsYW5nWyd5b3VyX3VzZXJuYW1lX2lzJ10gPSAn0JLQsNGI0LUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydsb3N0dW5jb25maXJtX3Bvc3Rtc2cnXSA9ICfQnNGLINGA0LXQutC+0LzQtdC90LTRg9C10Lwg0JLQsNC8INGB0L7RhdGA0LDQvdC40YLRjCDRjdGC0YMg0LjQvdGE0L7RgNC80LDRhtC40Y4g0LIg0LHQtdC30L7Qv9Cw0YHQvdC+0LwsINC90L4g0LTQvtGB0YLRg9C/0L3QvtC8INC80LXRgdGC0LUuJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjaGFuZ2Ugc2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2FmdGVyX3ZlcmlmeV9jb2RlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY29kZSB2ZXJpZmljYXRpb24gKic7CiRsYW5nWydsb3N0dW5fZGV0YWlsc190ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgRGV0YWlscyBUZW1wbGF0ZSc7CiRsYW5nWydsb3N0dW5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgQ29uZmlybSBUZW1wbGF0ZSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ9Ce0YjQuNCx0LrQsDog0LHQvtC70LXQtSDRh9C10Lwg0L7QtNC40L0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC40LzQtdC10YIg0YPQutCw0LfQsNC90L3Ri9C1INGB0LLQvtC50YHRgtCy0LAnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAn0J7RiNC40LHQutCwOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydlcnJvcl9ncm91cG5vdGZvdW5kJ10gPSAn0J7RiNC40LHQutCwOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INCz0YDRg9C/0L/RgyDRgSDRjdGC0LjQvCDQuNC80LXQvdC10LwnOwokbGFuZ1sncmVhZG9ubHknXSA9ICfQotC+0LvRjNC60L4g0LTQu9GPINGH0YLQtdC90LjRjyc7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAn0JrQu9Cw0YHRgSBVc2VyIE1hbmlwdWxhdG9yICc7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICfQktGL0L/QvtC70L3QtdC9INCy0YvRhdC+0LQg0LDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YDQsCc7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAn0J/QvtC60LDQt9Cw0YLRjCDRgtC+0LvRjNC60L4g0LfQsNC70L7Qs9C40L3QtdCy0YjQuNGF0YHRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSc7CiRsYW5nWydwcm9tcHRfbG9nb3V0J10gPSAn0JLRi9GF0L7QtCDRjdGC0L7Qs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWyd1c2VyX3Byb3BlcnRpZXMnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3VzZXJoaXN0b3J5J10gPSAn0JjRgdGC0L7RgNC40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2V4cG9ydCddID0gJ9Ct0LrRgdC/0L7RgNGCJzsKJGxhbmdbJ2NsZWFyJ10gPSAn0J7Rh9C40YHRgtC60LAnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAn0K3QutGB0L/QvtGA0YIg0LjRgdGC0L7RgNC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCyIEFTQ0lJINC/0L4g0LrRgNCw0LnQvdC10Lkg0LzQtdGA0LUnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICfQntGH0LjRgdGC0LjRgtGMINC40YHRgtC+0YDQuNGOINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9C+INC60YDQsNC50L3QtdC5INC80LXRgNC1JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ9CX0LDQsdGL0LvQuCDQstCw0Ygg0LvQvtCz0LjQvT8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAn0K3QutGB0L/QvtGA0YIg0L7Qv9GA0LXQtNC10LvQtdC90LjRjyDQs9GA0YPQv9C/0YsgKNC4INGB0LLQvtC50YHRgtCyKSDQsiBYTUwnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ9Ce0LHRgdC70YPQttC40LLQsNC90LjQtSDQuNGB0YLQvtGA0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1sneWVzJ10gPSAn0JTQsCc7CiRsYW5nWydubyddID0gJ9Cd0LXRgic7CiRsYW5nWydwcm9tcHRfb2YnXSA9ICfQsic7CiRsYW5nWydkYXRlX2FsbHJlY29yZHMnXSA9ICcqKiDQkdC10Lcg0L7Qs9GA0LDQvdC40YfQtdC90LjQuSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICfQl9CwINGC0LXQutGD0YnQuNC5INGH0LDRgSc7CiRsYW5nWydkYXRlX3NpeGhvdXJvbGQnXSA9ICfQl9CwINGI0LXRgdGC0Ywg0YfQsNGB0L7Qsic7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICfQl9CwINC00LLQtdC90LDQtNGG0LDRgtGMINGH0LDRgdC+0LInOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICfQl9CwINC+0LTQuNC9INC00LXQvdGMJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ9CX0LAg0L7QtNC90YMg0L3QtdC00LXQu9GOJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICfQl9CwINC00LLQtSDQvdC10LTQtdC70LgnOwokbGFuZ1snZGF0ZV9vbmVtb250aG9sZCddID0gJ9CX0LAg0L7QtNC40L0g0LzQtdGB0Y/Rhic7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAn0JfQsCDRgtGA0Lgg0LzQtdGB0Y/RhtCwJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAn0JfQsCDRiNC10YHRgtGMINC80LXRgdGP0YbQtdCyJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ9CX0LAg0L7QtNC40L0g0LPQvtC0JzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ9CT0YDRg9C/0L/QuNGA0L7QstC60LAg0Lgg0YHQvtGA0YLQuNGA0L7QstC60LAnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ9CX0LDQv9C40YHQuCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1INC60YDQuNGC0LXRgNC40Y/QvCc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfZGVzYyddID0gJ9Cf0L4g0LDQu9GE0LDQstC40YLRgyDQkC3Qryc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAn0J/QviDQsNC70YTQsNCy0LjRgtGDINCvLdCQJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICfQn9C+INC00LDRgtC1ICjRg9Cx0YvQstCw0L3QuNC1KSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICfQn9C+INC00LDRgtC1ICjQstC+0LfRgNCw0YHRgtCw0L3QuNC1KSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICfQn9C+INGC0LjQv9GDINGB0L7QsdGL0YLQuNGPICjRg9Cx0YvQstCw0L3QuNC1KSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ9Cf0L4g0YLQuNC/0YMg0YHQvtCx0YvRgtC40Y8gKNCy0L7Qt9GA0LDRgdGC0LDQvdC40LUpJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ9Cf0L4gSVAgKNGD0LHRi9Cy0LDQvdC40LUpJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAn0J/QviBJUCAo0LLQvtC30YDQsNGB0YLQsNC90LjQtSknOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ9CY0YHRgtC+0YDQuNGPINC90LUg0L3QsNC50LTQtdC90LAnOwokbGFuZ1sncmVzZXQnXSA9ICfQodCx0YDQvtGB0LjRgtGMJzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ9CT0YDRg9C/0L/QuNGA0L7QstCw0YLRjCDQv9C+IElQJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAn0KTQuNC70YzRgtGAINGC0LjQv9CwINGB0L7QsdGL0YLQuNGPJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ9Cf0L7QutCw0LfRi9Cy0LDRgtGMINGC0L7Qu9GM0LrQviDRgdC+0LHRi9GC0LjRjywg0LrQvtGC0L7RgNGL0LUg0YDQsNC90YzRiNC1INGH0LXQvDonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ9Cb0LjQvNC40YIg0YHRgtGA0LDQvdC40YbRiyc7CiRsYW5nWydmb3InXSA9ICfQtNC70Y8nOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICfQntGC0YfRkdGCINC40YHRgtC+0YDQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWyd1bmtub3duJ10gPSAn0J3QtdC40LfQstC10YHRgtC90YvQuSc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAg0LDQtNGA0LXRgSc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAn0KLQuNC/INGB0L7QsdGL0YLQuNGPJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAn0JTQsNGC0LAnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ9CS0LXRgNC90YPRgtGM0YHRjyc7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAn0J7Qv9C10YDQsNGG0LjRjyDQuNC80L/QvtGA0YLQsCDQt9Cw0LLQtdGA0YjQtdC90LAnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAn0J7QsdGA0LDQsdC+0YLQsNC90L4g0YHRgtGA0L7Quic7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAn0J7QsdC90LDRgNGD0LbQtdC90L4g0L7RiNC40LHQvtC6JzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzYWRkZWQnXSA9ICfQlNC+0LHQsNCy0LvQtdC90L4g0LfQsNC/0LjRgdC10LknOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ9Cd0LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0YHQstC+0LnRgdGC0LLQsCDQtNC70Y8g0LPRgNGD0L/Qv9GLICVzJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAn0L3QtdGCINC+0YLQstC10YLQsCDQvtGCIFNNVFAg0YHQtdGA0LLQtdGA0LAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAn0KPQutCw0LfQsNC90L3Ri9C5INGE0LDQudC7ICglcykg0L3QtSDQvtCx0L3QsNGA0YPQttC10L0nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ9C90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ9Cf0YDQtdCy0YvRiNC10L3QuNC1INC80LDQutGB0LjQvNCw0LvRjNC90L7QuSDQtNC70LjQvdGLINC/0L7Qu9GPICVzICc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ9Ce0YjQuNCx0LrQsCDQuNC80L/QvtGA0YLQsCAo0YHRgtGA0L7QutCwICVzKTogJXMnOwokbGFuZ1snZXJyb3JfcHJvcGVydHlkZWZucyddID0gJ0NvdWxkIG5vdCBnZXQgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zIChpbnRlcm5hbCBlcnJvciknOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdpbmZvJ10gPSAnUHJvYmxlbSBzZXR0aW5nIHVzZXIgaW5mbyc7CiRsYW5nWydlcnJvcl9pbXBvcnRyZXF1aXJlZGZpZWxkJ10gPSAnQ291bGQgbm90IGZpbmQgYSBjb2x1bW4gdG8gbWF0Y2ggdGhlIHJlcXVpcmVkIGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCBncm91cCc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlZm9ybWF0J10gPSAnVGhlIGZpbGUgc3BlY2lmaWVkIGZvciBpbXBvcnQgaXMgbm90IGluIHRoZSBjb3JyZWN0IGZvcm1hdCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFxcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjaCBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG9cJ3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICfQmNC80L/QvtGA0YIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lkg0LIg0Y3RgtGDINCz0YDRg9C/0L/Rgyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICfQktGF0L7QtNC90L7QuSDRhNCw0LnQuyBDU1YnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHhtbGZpbGUnXSA9ICfQktGF0L7QtNC90L7QuSDRhNCw0LnQuyBYTUwnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJzJ10gPSAn0K3QutGB0L/QvtGA0YIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LknOwokbGFuZ1sncHJvbXB0X2ltcG9ydHVzZXJzJ10gPSAn0JjQvNC/0L7RgNGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5JzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ9Ce0YfQuNGB0YLQutCwJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnSW1hZ2UgRGVzdGluYXRpb24gUGF0aCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3VwbG9hZCddID0gJ0EgcHJvYmxlbSBvY2N1cnJlZCB3aXRoIGEgbWlzc2luZyAoYnV0IHJlcXVpcmVkKSB1cGxvYWQnOwokbGFuZ1snZXJyb3JfYmFkX3htbCddID0gJ0NvdWxkIG5vdCBwYXJzZSB0aGUgcHJvdmlkZWQgWE1MIGZpbGUnOwokbGFuZ1snZXJyb3Jfbm90ZW1wdHlncm91cCddID0gJ0Nhbm5vdCBkZWxldGUgYSBncm91cCB0aGF0IHN0aWxsIGhhcyB1c2Vycyc7CiRsYW5nWydlcnJvcl9ub3JlcGVhdGVkbG9naW5zJ10gPSAnVGhpcyB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RoZSB0ZXh0IGZyb20gdGhlIGltYWdlIHdhcyBub3QgZW50ZXJlZCBjb3JyZWN0bHknOwokbGFuZ1sncHJvbXB0X2FsbG93X3JlcGVhdGVkX2xvZ2lucyddID0gJ0FsbG93IHVzZXJzIHRvIGxvZ2luIG1vcmUgdGhhbiBvbmNlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdJbWFnZSBGaWxlIEV4dGVuc2lvbnMgdGhhdCBVc2VycyBhbGxvd2VkIHRvIHVwbG9hZCc7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlVXNlciddID0gJzxoMz5PbkRlbGV0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZVVzZXInXSA9ICc8aDM+T25DcmVhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PblVwZGF0ZVVzZXInXSA9ICc8aDM+T25VcGRhdGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIHVwZGF0ZWQgKGVpdGhlciBieSB1c2VyIHRoZW1zZWxmIG9yIGFkbWluKTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlR3JvdXAnXSA9ICc8aDM+T25DcmVhdGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGdyb3VwIGRlc2NyaXB0aW9uPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uRGVsZXRlR3JvdXAnXSA9ICc8aDM+T25EZWxldGVHcm91cDxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZ3JvdXAgaXMgZGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIGdyb3VwIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25Mb2dpbiddID0gJzxoMz5PbkxvZ2luPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluIHRvIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ291dCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dCBvZiB0aGUgc3lzdGVtJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25FeHBpcmVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gaXMgZXhwaXJlZCc7CiRsYW5nWydldmVudF9pbmZvX09uQ3JlYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IHVzZXIgaXMgY3JlYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uVXBkYXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpbmZvIGlzIHVwZGF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVHcm91cCddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBncm91cCBpcyBkZWxldGVkJzsKJGxhbmdbJ2JhY2tlbmRfZ3JvdXAnXSA9ICdCYWNrZW5kIEdyb3VwJzsKJGxhbmdbJ2luZm9fc3RhciddID0gJyogVGhlIGZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgaW4gdGhlc2UgZmllbGRzOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gV2hlbiB1c2luZyB0aGUgeyRncm91cH0gbWFjcm8sIHRoZSBzeXN0ZW0gd2lsbCBzdWJzaXR1dGUgdGhlIG5hbWUgb2YgdGhlIGZpcnN0IG1lbWJlciBncm91cCB0aGF0IHRoZSB1c2VyIGJlbG9uZ3MgdG8sIGFuZCB3aWxsIHJlZGlyZWN0IHRvIHRoYXQgcGFnZS4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0VkaXQgdGhpcyBmaWVsZCB0byByZXNldCB0aGUgdXNlcnMgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWVfZXhpc3RzJ10gPSAnQSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdObyByZXN1bHRzIHJldHVybmVkIGZyb20gY3N2IGV4cG9ydCc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMZW5ndGggb2YgdXNlcm5hbWUgZmllbGQnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnTGVuZ3RoIG9mIHBhc3N3b3JkIGZpZWxkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZGxlbmd0aHMnXSA9ICdNaW4vTWF4IHBhc3N3b3JkIGxlbmd0aHMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggdXNlcm5hbWUgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnSW52YWxpZCBFbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnV2UgY291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBhY2NvdW50JzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZWV0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVXNlciBBZGRlZCAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1VzZXIgRGVsZXRlZCB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdQcm9wZXJ0eSc7CiRsYW5nWyd2YWx1ZXJlZ2V4J10gPSAnVmFsdWUgKHJlZ3VsYXIgZXhwcmVzc2lvbiknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdXYXJuaW5nOiBUaGVzZSBmaWVsZHMgYWZmZWN0IHRoZSBzaXplIG9mIGlucHV0IGZpZWxkcyBmb3IgZm9ybXMuICBEZWNyZWFzaW5nIHRoaXMgbnVtYmVyIG9uIGFuIGV4aXN0aW5nIHNpdGUgbWF5IG5vdCBiZSBhZHZpc2FibGUnOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIG1vZHVsZSBwcmVmZXJlbmNlcz8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0VtYWlsIGFkZHJlc3MgYWxyZWFkeSB1c2VkJzsKJGxhbmdbJ3Byb21wdF91c2Vjb29raWVzdG9yZW1lbWJlciddID0gJ1VzZSBjb29raWVzIHRvIHJlbWVtYmVyIGxvZ2luIGRldGFpbHMnOwokbGFuZ1sncHJvbXB0X2Nvb2tpZW5hbWUnXSA9ICdUaGUgbmFtZSBvZiB0aGUgY29va2llJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnQWxsb3cgZHVwbGljYXRlIGVtYWlscyc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWVfaXNfZW1haWwnXSA9ICdFbWFpbCBhZGRyZXNzIGlzIHVzZXJuYW1lJzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ0F0dGVtcHQgdG8ga2VlcCBsb2dpbnMgYWxpdmUgYnkgdGhlIHVzZSBvZiBhIGNvb2tpZSA8ZW0+KHRoZSBjb29raWUgaXMgcmVzZXQgb24gYWN0aXZpdHkgaW4gdGhlIHdlYnNpdGUpPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKGFsbG93IG11bHRpcGxlIHVzZXJzIHdpdGggdGhlIHNhbWUgZW1haWwgYWRkcmVzcyknOwokbGFuZ1snaW5mb191c2VybmFtZV9pc19lbWFpbCddID0gJyh1c2VyXCdzIGVtYWlsIGFkZHJlc3MgaXMgdGhlaXIgdXNlcm5hbWUgLS0gZG9uXCd0IHNldCB0aGlzIHdpdGggImFsbG93IGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXMiISknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgImZvcmdvdCBwYXNzd29yZCIgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlblwndCBhY3RlZCBvbiBhIHByZXZpb3VzIG9uZSknOwokbGFuZ1sncHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICdVc2UgRnJvbnQtZW5kIFVzZXIgc3BlY2lmaWMgcGVybWlzc2lvbnM/JzsKJGxhbmdbJ2luZm9fZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJyhOb3JtYWxseSwgRkVVU2VycyBwZXJtaXNzaW9ucyBhcmUgdGhlIHNhbWUgYXMgdGhlIGVxdWl2YWxlbnQgQWRtaW4gQXJlYSBwZXJtaXNzaW9ucyBsaWtlIEFkZCBVc2VyLCBBZGQgR3JvdXAsIGV0Yy4gSWYgeW91IHNlbGVjdCB0aGlzIG9wdGlvbiwgdGhlcmUgd2lsbCBiZSBzZXBhcmF0ZSBwZXJtaXNzaW9ucyBmb3IgRkVVc2Vycy4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgdXBsb2FkZWQgZmlsZSAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHlvdXIgdXBsb2FkZWQgZmlsZS4gIFBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3VzZXJuYW1lJ10gPSAnWW91IGRpZCBub3QgZW50ZXIgYSB1c2VybmFtZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZW1haWwnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciB5b3VyIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgcGFzc3dvcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0Zyb250ZW5kIFVzZXIgTG9nb3V0JzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgTG9naW4nOwokbGFuZ1snZWRpdHByb3BfaW5mb21zZyddID0gJzxmb250IGNvbG9yPSJyZWQiPjxiPlVTRSBDQVVUSU9OPC9iPiB3aGVuIGNoYW5naW5nIGV4aXN0aW5nIHByb3BlcnRpZXMgdGhhdCBhcmUgYXNzaWduZWQgdG8gZ3JvdXBzLCB5b3UgbWF5IHBvdGVudGlhbGx5IGNhdXNlIGRhbWFnZSBhbmQgYnJlYWsgYW4gZXhpc3Rpbmcgc2l0ZSA8aT4oZXNwZWNpYWxseSBpZiB5b3UgcmVkdWNlIGZpZWxkIGxlbmd0aHMsIGV0Yyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1RoaXMgZnVuY3Rpb24gZG9lcyBub3Qgd29yayBvbiB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdEbyBub3QgY3JlYXRlIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLCBvciBwYXNzd29yZCBhcyB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBidWlsdGluIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0IFVzZXJzIHRvIENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdFeHBvcnQnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0JzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdFZGl0IFByb3BlcnR5JzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gTGVuZ3RoJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ3NvcnRieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydCddID0gJ1NvcnRpbmcnOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVXNlcnMgaW4gdGhlIHNlbGVjdGVkIGdyb3VwKHMpJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ0xpbWl0IHJlc3VsdHMgdG8nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGZpZWxkJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgZmllbGQgZm9yIHRoaXMgdXNlci4gIFlvdSBtYXkgbmVlZCB0byBjb250YWN0IHRoZSBzeXN0ZW0gYWRtaW5pc3RyYXRvcic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3IgRm9yZ290IFBhc3N3b3JkIGZvcm0nOwokbGFuZ1sncHJvbXB0X2NoYW5nZXNldHRpbmdzX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgZm9yIENoYW5nZSBTZXR0aW5ncyBmb3JtJzsKJGxhbmdbJ3Byb21wdF9sb2dpbl9wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgbG9naW4gKic7CiRsYW5nWydwcm9tcHRfbG9nb3V0X3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBsb2dvdXQgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlc2V0dGluZyBsb3N0IHBhc3N3b3Jkcy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSB3ZWVrIG9sZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgbW9udGggb2xkJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkY29kZSddID0gJ0FuIGludmFsaWQgY29kZSBoYXMgYmVlbiBlbnRlcmVkLCBwbGVhc2UgdHJ5IGFnYWluJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdBIHRlbXBvcmFyeSBjb2RlIGZvciB5b3VyIHVzZXIgaWQgY291bGQgbm90IGJlIGZvdW5kIGluIHRoZSBkYXRhYmFzZSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHVzZWQgdG8gZGlzcGxheSB2ZXJpZmljYXRpb24gZm9ybSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCBmb3IgZm9yZ290dGVuIHBhc3N3b3JkIGVtYWlsJzsKJGxhbmdbJ2Vycm9yX3Jlc2V0YWxyZWFkeXNlbnQnXSA9ICdFaXRoZXIgeW91cnNlbGYgb3Igc29tZW9uZSBlbHNlIGhhcyBhbHJlYWR5IHRyaWdnZXJlZCBhIHBhc3N3b3JkIHJlc2V0IG9wZXJhdGlvbiBmb3IgdGhpcyBhY2NvdW50LiAgQ2hlY2sgeW91ciBlbWFpbCwgeW91IG1heSBoYXZlIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byByZXNldCB5b3VyIHBhc3N3b3JkIGluIHlvdXIgaW5ib3gnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ9Ce0YjQuNCx0LrQsCDQsdCw0LfRiyDQtNCw0L3QvdGL0YUnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnWW91IGFyZSByZWNlaXZpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2Ugc29tZWJvZHkgdG9sZCBvdXIgc2l0ZSB0aGF0IHlvdSBoYWQgbG9zdCB5b3VyIHBhc3N3b3JkLiAgSWYgdGhpcyBpcyB0aGUgY2FzZSwgcmVhZCB0aGUgaW5zdHJ1Y3Rpb25zIGJlbG93LiAgSWYgeW91IGRvblwndCBoYXZlIGEgY2x1ZSB3aGF0IHRoaXMgaXMsIHRoZW4geW91IGFyZSBzYWZlIHRvIGRlbGV0ZSB0aGlzIG1lc3NhZ2UsIGFuZCB3ZSB0aGFuayB5b3UgZm9yIHlvdXIgdGltZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICfQmtC+0LQnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnVGhlIGZvbGxvd2luZyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCByYW5kb21seSBnZW5lcmF0ZWQgaW4gb3JkZXIgdG8gdmVyaWZ5IHRoZSB1c2VyIGFjY291bnQuICB3aGVuIHlvdSBjbGljayBvbiB0aGUgbGluayBiZWxvdyB5b3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGZpZWxkIHRvIGVudGVyIHRoaXMgY29kZS4gIE5vcm1hbGx5IHRoZSBmaWVsZCBpcyBwcmUtY29tcGxldGVkIGZvciB5b3UsIGJ1dCBpbmNhc2UgaXQgaXNuXCd0IHRoZSBjb2RlIGlzOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0NsaWNraW5nIG9uIHRoZSBmb2xsb3dpbmcgbGluayB3aWxsIHRha2UgeW91IHRvIHRoZSB3ZWJzaXRlIHdoZXJlIHlvdSBjYW4gZW50ZXIgdGhlIGFib3ZlIGNvZGUsIGFuZCByZXNldCB5b3VyIHBhc3N3b3JkOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAn0JfQsNCx0YvQu9C4INC/0LDRgNC+0LvRjCc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQvNC+0LTRg9C70YwgQ01TTWFpbGVyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ9Cd0LAg0Y3Qu9C10LrRgtGA0L7QvdC90YPRjiDQv9C+0YfRgtGDINCx0YvQu9C+INCy0YvRgdC70LDQvdC+ICVzICDRgSDQuNC90YHRgtGA0YPQutGG0LjQtdC5INC60LDQuiDRgdCx0YDQvtGB0LjRgtGMINC/0LDRgNC+0LvRjC4g0KHQv9Cw0YHQuNCx0L4nOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICfQmNGC0LDQuiDQstGLINC30LDQsdGL0LvQuCDQuNC70Lgg0L/QvtGC0LXRgNGP0LvQuCDRgdCy0L7QuSDQv9Cw0YDQvtC70YwuINCl0L7RgNC+0YjQviwg0LLQstC10LTQuNGC0LUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQsiDRgdC40YHRgtC10LzRgywg0Lgg0LXRgdC70Lgg0LzRiyDRgdC80L7QttC10Lwg0L3QsNC50YLQuCDQstCw0YEg0LzRiyDQvtGC0L/RgNCw0LLQuNC8INCy0LDQvCDQv9C40YHRjNC80L4g0YEg0LjQvdGB0YLRgNGD0LrRhtC40LXQuSDQv9C+INGB0LzQtdC90LUg0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3RlbXBsYXRlJ10gPSAn0KjQsNCx0LvQvtC9INCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPINC40LzQtdC90Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ9Ch0LLQvtC50YHRgtCy0L4gJXMg0L3QtSDQvdCw0LnQtNC10L3Qvic7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAn0KHQstC+0LnRgdGC0LLQsCDQvdCw0LnQtNC10L3Riyc7CiRsYW5nWydhZGRwcm9wJ10gPSAn0JTQvtCx0LDQstC40YLRjCDRgdCy0L7QudGB0YLQstC+JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICfQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0L/QvtC70LUgKCVzKSDQvdC1INC30LDQv9C+0LvQvdC10L3Qvic7CiRsYW5nWydpbmZvX2VtcHR5cGFzc3dvcmRmaWVsZCddID0gJ0VudGVyIGEgbmV3IHBhc3N3b3JkIGhlcmUgdG8gY2hhbmdlIHlvdXIgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdZb3UgZG8gbm90IGFwcGVhciB0byBiZSBsb2dnZWQgaW4nOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ9Cd0LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ9Cg0LXQs9C40YHRgtGA0LDRhtC40Y8nOwokbGFuZ1snZXJyb3JfYWNjb3VudGV4cGlyZWQnXSA9ICfQrdGC0LAg0YPRh9C10YLQvdCw0Y8g0LfQsNC/0LjRgdGMINC/0YDQvtGB0YDQvtGH0LXQvdCwJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdJbXByb3BlciBlbWFpbCBhZGRyZXNzIGZvcm1hdHRpbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdJbnZhbGlkIGV4cGlyeSBkYXRlJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdFcnJvciBzZXR0aW5nIHByb3BlcnR5ICVzIGZvciB1c2VyICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnSW52YWxpZCBncm91cCBpZCAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ0hpZGRlbiBmaWVsZCBtYXJrZXInOwokbGFuZ1snaGlkZGVuZmllbGRjb2xvciddID0gJ0hpZGRlbiBmaWVsZCBjb2xvcic7CiRsYW5nWydoaWRkZW4nXSA9ICdIaWRkZW4nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ0EgcHJvcGVydHkgd2l0aCB0aGF0IG5hbWUgaXMgYWxyZWFkeSBkZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ05vIHByb3BlcnRpZXMgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3JlbGF0aW9ucyddID0gJ05vIHByb3BlcnRpZXMgd2VyZSBzZWxlY3RlZCBmb3IgdGhpcyBncm91cCc7CiRsYW5nWydub2dyb3VwcyddID0gJ9Cd0LXRgiDQvtC/0YDQtdC00LXQu9GR0L3QvdGL0YUg0LPRgNGD0L/Qvyc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ9Cd0LDQudC00LXQvdC+INCz0YDRg9C/0L8nOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lbWJlcnNoaXAgaW4gYXQgbGVhc3Qgb25lIGdyb3VwIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdSZXF1aXJlIG1lbWJlcnNoaXAgaW4gYXRsZWFzdCBvbmUgZ3JvdXAnOwokbGFuZ1snYmFjayddID0gJ9Cd0LDQt9Cw0LQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzINGN0YLQviDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0L/QvtC70LUnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ9Cf0L7QvNC10YfQsNGC0Ywg0L7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C1INC/0L7Qu9GPJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0hpbGl0ZSByZXF1aXJlZCBmaWVsZHMgaW4nOwokbGFuZ1snbmV4dCddID0gJ9CU0LDQu9GM0YjQtSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0EgR3JvdXAgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmFsJzsKJGxhbmdbJ29mZiddID0gJ09mZic7CiRsYW5nWydzaXplJ10gPSAn0KDQsNC30LzQtdGAJzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTWF4aW11bSBzaXplIG9mIGFueSBvbmUgZGltZW5zaW9uIG9mIHRoZSBpbWFnZSBpbiBwaXhlbHMpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ9CU0LvQuNC90LAnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4o0YHQuNC80LLQvtC70L7QsiDQsiDQstCy0L7QtNC1INGC0LXQutGB0YLQsCknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ0Ryb3Bkb3duIG9wdGlvbnMsIHNlcGFyYXRlZCBieSBsaW5lIGJyZWFrcy4gIFZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIGZyb20gdGV4dCB3aXRoIGEgPSBjaGFyYWN0ZXIuIGkuZTogRmVtYWxlPWYnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAn0KLQuNC/JzsKJGxhbmdbJ3R5cGUnXSA9ICfQotC40L8nOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICfQn9C+0LvQtSDRgdGC0LDRgtGD0YHQsCc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdBc2sgaW4gTG9zdDxici8+VXNlcm5hbWUnOwokbGFuZ1sndGV4dCddID0gJ9Ci0LXQutGB0YInOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydtdWx0aXNlbGVjdCddID0gJ011bHRpIFNlbGVjdCBMaXN0JzsKJGxhbmdbJ2ltYWdlJ10gPSAn0JjQt9C+0LHRgNCw0LbQtdC90LjQtSc7CiRsYW5nWydlbWFpbCddID0gJ9CQ0LTRgNC10YEgZW1haWwnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICfQntCx0LvQsNGB0YLRjCDRgtC10LrRgdGC0LAnOwokbGFuZ1snZHJvcGRvd24nXSA9ICfQodC/0LjRgdC+0LonOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICfQlNC+0LHRgNC+INC/0L7QttCw0LvQvtCy0LDRgtGMJzsKJGxhbmdbJ2xvZ291dCddID0gJ9Cy0YvRhdC+0LQnOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ9CY0YHQv9C+0LvRjNC30YPQudGC0LUg0Y3RgtC+INC90LDQt9Cy0LDQvdC40LUg0LPRgNGD0L/Qv9GLJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0LzQvtC4INC90LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ9CS0YXQvtC0INC90LUg0YPQtNCw0LvRgdGPIC0g0J3QtdCy0LXRgNC90L7QtSDQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC40LvQuCDQv9Cw0YDQvtC70Yw/JzsKJGxhbmdbJ2xvZ2luJ10gPSAn0LLRhdC+0LQnOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdTaWduIGluIGJ1dHRvbiBsYWJlbCc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ9CQ0LTRgNC10YEgZW1haWwnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAn0J/QsNGA0L7Qu9GMJzsKJGxhbmdbJ3Byb21wdF9yZW1lbWJlcm1lJ10gPSAn0JfQsNC/0L7QvNC90LjRgtGMINC80LXQvdGPINC90LAg0Y3RgtC+0Lwg0LrQvtC80L/RjNGO0YLQtdGA0LUnOwokbGFuZ1sncmVnaXN0ZXInXSA9ICfQoNC10LPQuNGB0YLRgNCw0YbQuNGPJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAn0JfQsNCx0YvQu9C4INCy0LDRiCDQv9Cw0YDQvtC70Yw/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ9CX0LDQsdGL0LvQuCDQstCw0Ygg0LvQvtCz0LjQvT8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdDb3VsZCBub3QgZmluZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyB1c2VyJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdUaGF0IHVzZXJuYW1lICglcykgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ9CY0YHQv9C+0LvRjNC30L7QstCw0YLRjCBTTVRQINC00LvRjyDQv9C+0LTRgtCy0LXQttC00LXQvdC40Y8gZW1haWwg0LDQtNGA0LXRgdCwPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICfQnNC40L3QuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ9Cc0LDQutGB0LjQvNCw0LvRjNC90LDRjyDQtNC70LjQvdCwINC/0LDRgNC+0LvRjyc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICfQnNC40L3QuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg0LjQvNC10L3QuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1sncHJvbXB0X21heHVubGVuJ10gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg0LjQvNC10L3QuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAn0KLQsNC50Lwt0LDRg9GCINGB0LXQsNC90YHQsCAo0LIg0YHQtdC60YPQvdC00LDRhSknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzZSBjb29raWVzIHRvIGtlZXAgbG9naW5zIGFsaXZlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnQWxsb3cgRW1haWwgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICfQk9GA0YPQv9C/0LAg0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4g0LTQu9GPINC90L7QstC+0LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICfQmNC30LzQtdC90LjRgtGMINC90LDRgdGC0YDQvtC50LrQuCDRiNCw0LHQu9C+0L3QsCc7CiRsYW5nWydlcnJvcl9wYXNzd29yZG1pc21hdGNoJ10gPSAn0J/QsNGA0L7Qu9C4INC90LUg0YHQvtCy0L/QsNC00LDRjtGCJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ9Cd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ9Cd0LXQv9GA0LDQstC40LvRjNC90YvQuSDQv9Cw0YDQvtC70YwnOwokbGFuZ1snZWRpdHVzZXInXSA9ICfQmNC30LzQtdC90LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWyd2YWxpZCddID0gJ9CU0LXQudGB0YLQstC40YLQtdC70YzQvdGL0LknOwokbGFuZ1sndXNlcm5hbWUnXSA9ICfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3N0YXR1cyddID0gJ9Ch0YLQsNGC0YPRgSc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICfQrdGC0L7RgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGH0LvQtdC90L7QvCDQutCw0LrQvtC5LdC70LjQsdC+INCz0YDRg9C/0L/Riyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAn0J3QtdGCINGB0LLQvtC50YHRgtCyJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAn0J/QvtC/0YvRgtC60LAg0LjQvNC/0L7RgNGC0LAg0LTRg9Cx0LvQuNC60LDRgtCwINGB0LLQvtC50YHRgtCy0LAnOwokbGFuZ1sndmFsdWUnXSA9ICfQl9C90LDRh9C10L3QuNC1JzsKJGxhbmdbJ2dyb3VwcyddID0gJ9CT0YDRg9C/0L/Riyc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAn0KHQstC+0LnRgdGC0LLQsCc7CiRsYW5nWydwcm9wbmFtZSddID0gJ9Cd0LDQt9Cy0LDQvdC40LUg0YHQstC+0LnRgdGC0LLQsCc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICfQl9C90LDRh9C10L3QuNC1INGB0LLQvtC50YHRgtCy0LAnOwokbGFuZ1snYWRkJ10gPSAn0JTQvtCx0LDQstC40YLRjCc7CiRsYW5nWydoaXN0b3J5J10gPSAn0JjRgdGC0L7RgNC40Y8nOwokbGFuZ1snZWRpdCddID0gJ9CY0LfQvNC10L3QuNGC0YwnOwokbGFuZ1snZXhwaXJlcyddID0gJ9CY0YHRgtC10LrQsNC10YInOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAn0KPQutCw0LbQuNGC0LUg0LTQsNGC0YMnOwokbGFuZ1snMTJocnMnXSA9ICcxMiDRh9Cw0YHQvtCyJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQg0YfQsNGB0LAnOwokbGFuZ1snNDhocnMnXSA9ICc0OCDRh9Cw0YHQvtCyJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSDQvdC10LTQtdC70Y8nOwokbGFuZ1snMndlZWtzJ10gPSAnMiDQvdC10LTQtdC70LgnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSDQvNC10YHRj9GGJzsKJGxhbmdbJzNtb250aHMnXSA9ICczINC80LXRgdGP0YbQsCc7CiRsYW5nWyc2bW9udGhzJ10gPSAnNiDQvNC10YHRj9GG0LXQsic7CiRsYW5nWycxeWVhciddID0gJzEg0LPQvtC0JzsKJGxhbmdbJ25ldmVyJ10gPSAn0J3QuNC60L7Qs9C00LAnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAiTW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzIHBlcm1pc3Npb24uICBBZGRpdGlvbmFsbHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoZSBDYXB0Y2hhIG1vZHVsZS4gIElmIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHRvIGxvZ2luLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBub2NhcHRjaGEgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IGV2ZW4gaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZC4iJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAn0J/QsNGA0L7Qu9GMJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAn0JXRidGRINGA0LDQtyc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAn0JPRgNGD0L/Qv9CwINGBINGC0LDQutC40Lwg0LjQvNC10L3QtdC8INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgic7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQs9GA0YPQv9C/0YMnOwokbGFuZ1snc3VibWl0J10gPSAn0J7RgtC/0YDQsNCy0LjRgtGMJzsKJGxhbmdbJ2NhbmNlbCddID0gJ9Ce0YLQvNC10L3QsCc7CiRsYW5nWydkZWxldGUnXSA9ICfQo9C00LDQu9C40YLRjCc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGlzIHRoZSBwcm9wZXIgc2V0dGluZ3MgZm9yIHRoaXMgZ3JvdXA/XFxuVHVybmluZyBhIHByb3BlcnR5IG9mZiB3aWxsIG5vdCBkZWxldGUgYW55IGVudHJpZXMgaW4gdGhlIHByb3BlcnRpZXMgdGFibGUgZm9yIHRoaXMgZ3JvdXAvdXNlci4gIFRoZXkgd2lsbCBtZXJlbHkgYmUgdW5hdmFpbGFibGUuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0Y3RgtGDINCz0YDRg9C/0L/Rgz8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGlzIHByb3BlcnR5P1xcbkRvaW5nIHNvIHdpbGwgYWxzbyBlcmFzZSBhbnkgdXNlciBlbnRyaWVzIGZvciB0aGlzIHByb3BlcnR5Lic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICfQndC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0L/QsNGA0LDQvNC10YLRgNC+0LInOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyduYW1lJ10gPSAn0JjQvNGPJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRwcm9wJ10gPSAn0J/RgNC+0LHQu9C10LzQsCDQtNC+0LHQsNCy0LvQtdC90LjRjyDRgdCy0L7QudGB0YLQstCwJzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nXSA9ICfQn9GA0L7QsdC70LXQvNCwINC/0YDQuCDQtNC+0LHQsNCy0LvQtdC90LjQuCDRgdCy0Y/Qt9C4INCz0YDRg9C/0L/Riyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICfQn9GA0L7QsdC70LXQvNCwINC00L7QsdCw0LLQu9C10L3QuNGPINCz0YDRg9C/0L/Riyc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ9Cf0YDQvtCx0LvQtdC80LAg0LTQvtCx0LDQstC70LXQvdC40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCyINCz0YDRg9C/0L/Rgyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAn0J/RgNC+0LHQu9C10LzQsCDRg9C00LDQu9C10L3QuNGPINGB0LLQvtC50YHRgtCy0LAnOwokbGFuZ1snZXJyb3JfY291bGRub3RmaW5kZW1haWwnXSA9ICfQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0LggZW1haWwnOwokbGFuZ1snZXJyb3JfZGVzdGluYXRpb25ub3R3cml0YWJsZSddID0gJ9Cd0LXRgiDQv9GA0LDQsiDQvdCwINC30LDQv9C40YHRjCDQsiDQv9Cw0L/QutGDINC90LDQt9C90LDRh9C10L3QuNGPJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbXMnXSA9ICfQndC10L/RgNCw0LLQuNC70YzQvdGL0LUg0L/QsNGA0LDQvNC10YLRgNGLJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INC60LDQutC40LUt0LvQuNCx0L4g0LPRgNGD0L/Qv9GLJzsKJGxhbmdbJ2FwcGx5ZmlsdGVyJ10gPSAn0J/RgNC40LzQtdC90LjRgtGMJzsKJGxhbmdbJ2ZpbHRlciddID0gJ9Ck0LjQu9GM0YLRgCc7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgNC10LPRg9C70Y/RgNC90L7QtSDQstGL0YDQsNC20LXQvdC40LUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfQntC/0LjRgdCw0L3QuNC1JzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ9CY0LzRjyDQs9GA0YPQv9C/0YsnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn0JTQvtGB0YLRg9C/INC30LDQv9GA0LXRidGR0L0nOwokbGFuZ1snZXJyb3InXSA9ICfQntGI0LjQsdC60LAnOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINCz0YDRg9C/0L/Rgyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ9CY0LzQv9C+0YDRgiDQs9GA0YPQv9C/0YsnOwokbGFuZ1snYWRkdXNlciddID0gJ9CU0L7QsdCw0LLQuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICfQndCw0LnQtNC10L3RiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LgsINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQtSDQutGA0LjRgtC10YDQuNGOJzsKJGxhbmdbJ2dyb3VwJ10gPSAn0JPRgNGD0L/Qv9CwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAn0JLRi9Cx0LXRgNC40YLQtSDQs9GA0YPQv9C/0YMnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAn0KjQsNCx0LvQvtC9INGA0LXQs9C40YHRgtGA0LDRhtC40LgnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAn0KjQsNCx0LvQvtC9INCy0YvRhdC+0LTQsCc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDQstGF0L7QtNCwJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ3VzZXJzJ10gPSAn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9C4JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ9CY0L3RgtC10YDRhNC10LnRgSDRg9C/0YDQsNCy0LvQtdC90LjRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y/QvNC4JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj9C8INCy0L7QudGC0Lgg0LLQviDRhNGA0L7QvdGC0LXQvdC0INCy0LDRiNC10LPQviDRgdCw0LnRgtCwJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICfQk9C70LDQstC90LDRjyDRgdGC0YDQsNC90LjRhtCwINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOICc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAn0J/QvtGB0LvQtdC00L3QuNC5INC00L7RgdGC0YPQvyDQuiDRgdGC0YDQsNC90LjRhtC1JzsKJGxhbmdbJ290aGVycGFnZSddID0gJ9CU0YDRg9Cz0LDRjyDRgdGC0YDQsNC90LjRhtCwOiAnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ9CS0LLQtdC00LjRgtC1INC60L7QtCDRgSDQutCw0YDRgtC40L3QutC4JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgIlVzZXJzICYgZ0dyb3VwcyIgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFxcXCdOZXh0XFxcJzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlNtYXJ0eSBGdW5jdGlvbnM8L2gzPg0KPHA+U29tZSBsaW1pdGVkIGludGVyYWN0aW9uIHdpdGggdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGRhdGFiYXNlIGlzIHBvc3NpYmxlIHdpdGggc21hcnR5IGFuZCB0aGUgJGZldV9zbWFydHkgb2JqZWN0LjwvcD4NCjxoND5GdW5jdGlvbnM6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgkZ3JvdXBuYW1lLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhbiBhcnJheSBvZiB1c2VybmFtZXMgYW5kIHVzZXJpZHMgZm9yIGFsbCB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwLiAgVGhlIG91dHB1dCBpcyBhc3NpZ25lZCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgaW4gdGhlICJhc3NpZ24iIHBhcmFtZXRlci48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LT5nZXRfdXNlcnNfYnlfZ3JvdXBuYW1lKFwnbWVtYmVyc1wnLFwnbXltZW1iZXJzXCcpfTxici8+eyRteW1lbWJlcnN8cHJpbnRfcn08L2NvZGU+PC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJfcHJvcGVydGllcygkdWlkLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhIGxpc3Qgb2YgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCB1c2VyIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LT5nZXRfdXNlcl9wcm9wZXJ0aWVzKDUsXCd1c2VycHJvcHNcJyl9PGJyLz57JHVzZXJwcm9wc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcXFwncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSJuYW1lIjwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQogPGxpPjxlbT5sb3N0dXNlcm5hbWU8L2VtPiAtIERpc3BsYXkgdGhlIGxvc3QgdXNlcm5hbWUgZm9ybS48L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSJwYWdlIjwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0iZ3JvdXAxLCBncm91cDIsIGdyb3VwMyI8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSJncm91cCI8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb3N0dXNlcm5hbWUgZm9ybSwgdGhpcyBmZWF0dXJlIHNwZWNpZmllcyB0aGUgZnJvbnRlbmQgdXNlciBncm91cCB0byBhc3N1bWUgdGh0IHVzZXJzIGFyZSBtZW1iZXJzIG9mLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0iMSI8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPW51bGw8L2xpPg0KPHA+VGhlIG9ubHkgcG9zc2libGUgdmFsdWUgZm9yIHRoaXMgcGFyYW1ldGVyIGlzICJ2aWV3dXNlciI8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1aWQ9bnVsbDwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIHZpZXd1c2VyIGFjdGlvbi4gIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgd2hpY2ggdXNlciB0byB2aWV3IHRoZSBkZXRhaWxzIG9mLjwvcD4NCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gaW1wbGVtZW50IHRoZSBmb3Jnb3R0ZW4gcGFzc3dvcmQgZnVuY3Rpb25hbGl0eSwgdGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhlIENNU01haWxlciBtb2R1bGUgdG8gYmUgcHJldmlvdXNseSBpbnN0YWxsZWQ8L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTM0ODcxOTQ4NzM3Mzg1NDIwMC4xMjE5MDY3NTE0LjEyMjE5ODkxMzcuMTIyMjIwMDIzNy42JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyMDcyMDMzNi40LjIudXRtY3NyPW1lcmtsZS5ydXx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9hZG1pbi9pbmRleC5waHAnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vaW5saW5lJ10gPSAnRG8gbm90IGlubGluZSBmb3Jtcyc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0NsaWNrIGhlcmUgaWYgeW91IGNhbm5vdCByZW1lbWJlciB5b3VyIGxvZ2luIGRldGFpbHMnOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ0NsaWNrIGhlcmUgaWYgeW91IGNhbm5vdCByZW1lbWJlciB5b3VyIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnQ2xpY2sgaGVyZSB0byBzaWduIG91dCc7CiRsYW5nWydpbmZvX2NoYW5nZXNldHRpbmdzJ10gPSAnQ2xpY2sgaGVyZSB0byBhZGp1c3QgeW91ciBwYXNzd29yZCBvciBvdGhlciBpbmZvcm1hdGlvbic7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1ZpZXcgVXNlciBUZW1wbGF0ZSc7CiRsYW5nWydldmVudCddID0gJ1VkYWxvc8WlJzsKJGxhbmdbJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nXSA9ICdGRVUgRXZlbnQgTm90aWZpY2F0aW9uJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fYWRkcmVzcyddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdOb3RpZmljYXRpb24gRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnTm90aWZpY2F0aW9uIEVtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdFbWFpbCBOb3RpZmljYXRpb25zJzsKJGxhbmdbJ09uTG9naW4nXSA9ICdPbiBMb2dpbic7CiRsYW5nWydPbkxvZ291dCddID0gJ09uIExvZ291dCc7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICdPbiBTZXNzaW9uIEV4cGlyeSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdPbiBOZXcgVXNlciBDcmVhdGVkJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ09uIFVzZXIgRGVsZXRlZCc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdPbiBVc2VyIFNldHRpbmdzIENoYW5nZWQnOwokbGFuZ1snT25DcmVhdGVHcm91cCddID0gJ09uIFVzZXIgR3JvdXAgQ3JlYXRlZCc7CiRsYW5nWydPbkRlbGV0ZUdyb3VwJ10gPSAnT24gVXNlciBHcm91cCBEZWxldGVkJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcHJlbXNnJ10gPSAnVGhlIGxvc3QgbG9naW4gZGV0YWlscyBmdW5jdGlvbmFsaXR5IGhhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLiAgV2UgaGF2ZSBmb3VuZCBhIHVuaXF1ZSB1c2VybmFtZSB0aGF0IG1hdGNoZXMgdGhlIGRldGFpbHMgeW91IGVudGVyZWQuJzsKJGxhbmdbJ3lvdXJfdXNlcm5hbWVfaXMnXSA9ICdWYSZzY2Fyb247ZSB1xb4maWFjdXRlO3ZhdGXEvnNrZSBtZW5vIGplJzsKJGxhbmdbJ2xvc3R1bmNvbmZpcm1fcG9zdG1zZyddID0gJ1dlIHJlY29tbWVuZCB5b3UgcmVjb3JkIHRoaXMgaW5mb3JtYXRpb24gaW4gYSBzZWN1cmUsIGJ1dCByZXRyaWV2YWJsZSBsb2NhdGlvbi4nOwokbGFuZ1sncHJvbXB0X2FmdGVyX2NoYW5nZV9zZXR0aW5ncyddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGNoYW5nZSBzZXR0aW5ncyc7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBjb2RlIHZlcmlmaWNhdGlvbiAqJzsKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBEZXRhaWxzIFRlbXBsYXRlJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnTG9zdCBVc2VybmFtZSBDb25maXJtIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRXJyb3I6IE1vcmUgdGhhbiBvbmUgdXNlciBhY2NvdW50IG1hdGNoZWQgdGhlIHByb3BlcnRpZXMgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX2NhbnRmaW5kdXNlciddID0gJ0Vycm9yOiBDb3VsZCBub3QgZmluZCBhIG1hdGNoaW5nIHVzZXInOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ0NoeWJhOiBOZWJvbGEgbiZhYWN1dGU7amRlbiZhYWN1dGU7IHNrdXBpbmEgcyB0JnlhY3V0ZTttdG8gbWVub20nOwokbGFuZ1sncmVhZG9ubHknXSA9ICdJYmEgbmEgxI0maWFjdXRlO3RhbmllJzsKJGxhbmdbJ3Byb21wdF91c2VybWFuaXB1bGF0b3InXSA9ICdVc2VyIE1hbmlwdWxhdG9yIENsYXNzJzsKJGxhbmdbJ2FkbWluX2xvZ291dCddID0gJ0xvZ2dlZCBvdXQgYnkgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydwcm9tcHRfbG9nZ2VkaW5vbmx5J10gPSAnVWsmYWFjdXRlO3phxaUgaWJhIHByaWhsJmFhY3V0ZTtzZW4meWFjdXRlO2NoIHXFviZpYWN1dGU7dmF0ZcS+b3YnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ09kaGwmYWFjdXRlO3NpxaUgdG9odG8gdcW+JmlhY3V0ZTt2YXRlxL5hJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ1ZsYXNub3N0aSB1xb4maWFjdXRlO3ZhdGXEvmEnOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdIaXN0Jm9hY3V0ZTtyaWEgdcW+JmlhY3V0ZTt2YXRlxL5hJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydCc7CiRsYW5nWydjbGVhciddID0gJ1Z5xI1pc3RpxaUnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnRXhwb3J0IFVzZXIgSGlzdG9yeSBUbyBBU0NJSSB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnQ2xlYXIgVXNlciBIaXN0b3J5IHJlY29yZHMgdGhhdCBpcyBhdCBsZWFzdCc7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdaYWJ1ZGxpIHN0ZSB2YSZzY2Fyb247ZSBwcmlobGFzb3ZhY2llICZ1YWN1dGU7ZGFqZT8nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXhwb3J0b3ZhxaUgc2t1cGlueSBhIGljaCB2bGFzdG5vc3QmaWFjdXRlOyBkbyBYTUwnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnltYWludGVuYW5jZSddID0gJ1VzZXIgSGlzdG9yeSBNYWludGVuYW5jZSc7CiRsYW5nWyd5ZXMnXSA9ICcmQWFjdXRlO25vJzsKJGxhbmdbJ25vJ10gPSAnTmllJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ3onOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogQmV6IGxpbWl0dSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICcxIGhvZGludSBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV9zaXhob3Vyb2xkJ10gPSAnNiBob2QmaWFjdXRlO24gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJzEyIGhvZCZpYWN1dGU7biBzdGFyJmVhY3V0ZTsnOwokbGFuZ1snZGF0ZV9vbmVkYXlvbGQnXSA9ICdKZWRlbiBkZW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ0plZGVuIHQmeWFjdXRlO8W+ZGXFiCBzdGFyZSc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnRHZhIHQmeWFjdXRlO8W+ZG5lIHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnSmVkZW4gbWVzaWFjIHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVHJpIG1lc2lhY2Ugc3RhciZlYWN1dGU7JzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnJlNjYXJvbjtlc8WlIG1lc2lhY292IHN0YXImZWFjdXRlOyc7CiRsYW5nWydkYXRlX29uZXllYXJvbGQnXSA9ICdKZWRlbiByb2sgc3RhciZlYWN1dGU7JzsKJGxhbmdbJ3RpdGxlX2dyb3Vwc29ydCddID0gJ1pvc2t1cG92YW5pZSBhIHRyaWVkZW5pZSc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnWiZhYWN1dGU7em5hbXkgb2Rwb3ZlZGFqJnVhY3V0ZTtjZSBwb2RtaWVua2UnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdab3N0dXBuZSBwb2TEvmEgdcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7aG8gbWVuYSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnVnpvc3R1cG5lIHBvZMS+YSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTtobyBtZW5hJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2Rlc2MnXSA9ICdab3N0dXBuZSBwb2TEvmEgZCZhYWN1dGU7dHVtdSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdWem9zdHVwbmUgcG9kxL5hIGQmYWFjdXRlO3R1bXUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9kZXNjJ10gPSAnWm9zdHVwbmUgcG9kxL5hIHR5cHUgdWRhbG9zdCZpYWN1dGU7JzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fYXNjJ10gPSAnVnpvc3R1cG5lIHBvZMS+YSB0eXB1IHVkYWxvc3QmaWFjdXRlOyc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdab3N0dXBuZSBwb2TEvmEgSVAgYWRyZXN5JzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfYXNjJ10gPSAnVnpvc3R1cG5lIHBvZMS+YSBJUCBhZHJlc3knOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ0hpc3Qmb2FjdXRlO3JpYSBuZW4mYWFjdXRlO2pkZW4mYWFjdXRlOyc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ1pvc2t1cGnFpSBwb2TEvmEgSVAgYWRyaWVzJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZXZlbnR0eXBlJ10gPSAnRmlsdHJvdmFuaWUgcG9kxL5hIHR5cG92IHVkYWxvc3QmaWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdab2JyYXppxaUgaWJhIGFrY2llLCBrdG9yJmVhY3V0ZTsgc3UgbWVuZWogYWtvOic7CiRsYW5nWydwcm9tcHRfcGFnZWxpbWl0J10gPSAnU3RyJmFhY3V0ZTtua292YWMmaWFjdXRlOyBsaW1pdCc7CiRsYW5nWydmb3InXSA9ICdwcmUnOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICdVc2VyIEhpc3RvcnkgUmVwb3J0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdOZXpuJmFhY3V0ZTttaSc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgYWRyZXNhJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdUeXAgdWRhbG9zdGknOwokbGFuZ1sncHJvbXB0X2RhdGUnXSA9ICdEJmFhY3V0ZTt0dW0nOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ04mYWFjdXRlO3ZyYXQnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydCBPcGVyYXRpb24gQ29tcGxldGUnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnTGluZXMgUHJvY2Vzc2VkJzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdFcnJvcnMgRW5jb3VudGVyZWQnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNhZGRlZCddID0gJ1JlY29yZHMgQWRkZWQnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3ByZWxucyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIGdyb3VwICVzJzsKJGxhbmdbJ2Vycm9yX25vcmVzcG9uc2Vmcm9tc2VydmVyJ10gPSAnQ291bGQgbm90IGdldCBhIHJlc3BvbnNlIGZyb20gdGhlIFNNVFAgc2VydmVyJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgc3BlY2lmaWVkICglcykgY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIGZvciBkcm9wZG93biBvciBtdWx0aXNlbGVjdCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZGxlbmd0aCddID0gJ0ZpZWxkICVzIGV4Y2VlZHMgbWF4aW11bSBsZW5ndGgnOwokbGFuZ1snZXJyb3JfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgRXJyb3IgKGxpbmUgJXMpOiAlcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0eWRlZm5zJ10gPSAnQ291bGQgbm90IGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbnMgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdQcm9ibGVtIHNldHRpbmcgdXNlciBpbmZvJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdDb3VsZCBub3QgZmluZCBhIGNvbHVtbiB0byBtYXRjaCB0aGUgcmVxdWlyZWQgZmllbGQgJXMnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHByb3BlcnRpZXMnXSA9ICdDb3VsZCBub3QgZmluZCBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVmb3JtYXQnXSA9ICdUaGUgZmlsZSBzcGVjaWZpZWQgZm9yIGltcG9ydCBpcyBub3QgaW4gdGhlIGNvcnJlY3QgZm9ybWF0JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnXSA9ICdDb3VsZCBub3Qgb3BlbiBmaWxlJzsKJGxhbmdbJ2luZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0J10gPSAnPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4NCjxwPlRoZSBpbnB1dCBmaWxlIG11c3QgYmUgaW4gQVNDSUkgZm9ybWF0IHVzaW5nIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuICBFYWNoIGxpbmUgaW4gdGhpcyBpbnB1dCBmaWxlICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhlYWRlciBsaW5lLCBkaXNjdXNzZWQgYmVsb3cpIHJlcHJlc2VudHMgb25lIHVzZXIgcmVjb3JkLiAgRWFjaCBsaW5lIG11c3QgY29udGFpbiB0aGUgc2FtZSBudW1iZXIgb2YgZmllbGRzLCBhbmQgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZHMgaW4gZWFjaCBsaW5lIG11c3QgYmUgaWRlbnRpY2FsLjwvcD4NCjxoNT5IZWFkZXIgbGluZTwvaDU+DQo8dWw+DQo8bGk+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgbXVzdCBiZWdpbiB3aXRoIHR3byBwb3VuZCAoXCMpIGNoYXJhY3RlcnMsIGFuZCBuYW1lcyBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGZpbGUuICBUaGUgbmFtZXMgb2YgdGhlc2UgZmllbGRzIGlzIHNpZ25pZmljYW50LiAgVGhlcmUgYXJlIHNvbWUgcmVxdWlyZWQgZmllbGQgbmFtZXMgKHNlZSBiZWxvdyksIGFuZCBvdGhlciBmaWVsZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHVzZXJzIGFyZSBnb2luZyB0byBiZSBhZGRlZCBpbnRvLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgZmFpbCBpZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIGRvZXMgbm90IG1hdGNoIGFsbCBvZiB0aGUgcmVxdWlyZWQgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHRoYXQgdXNlcnMgYXJlIGJlaW5nIGFkZGVkIGludG88L2xpPg0KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgaWdub3JlIGFueSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgdGhhdCBhcmUgZWl0aGVyIG5vdCBrbm93biwgb3IgbWFwIHRvIHByb3BlcnRpZXMgdGhhdCBhcmUgPGVtPm9mZjwvZW0+IGluIHRoZSBzcGVjaWZpZWQgdXNlciBncm91cC48L2xpPg0KPC91bD4NCjxoNT5Db2x1bW5hciBEYXRhPC9oNT4NCjx1bD4NCjxsaT5UaGUgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiBGaWVsZCAtIFRoZSBkZXNpcmVkIHVzZXJuYW1lLg0KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY2ggYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPg0KPGxpPlRoZSA8c3Ryb25nPnBhc3N3b3JkPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+ZXhwaXJlczwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPkRyb3Bkb3duIEZpZWxkcw0KICAgIDxwPlRoZSB2YWx1ZSBvZiBkcm9wZG93biBwcm9wZXJ0aWVzIGluIGFuIGltcG9ydCBmaWxlIGlzIHJlcHJlc2VudGVkIGFzIHRoZSBzdHJpbmcgdGhhdCBpcyBzaG93biBpbiB0aGUgZHJvcGRvd24gY29udHJvbCBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUuPC9wPg0KPC9saT4NCjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMNCiAgICA8cD5NdWx0aXNlbGVjdCBmaWVsZHMgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlIEFTQ0lJIGZpbGUgYXMgYSA6IHNlcGFyYXRlZCBsaXN0IG9mIHN0cmluZ3MsIHdoZXJlIGVhY2ggc3RyaW5nIHJlcHJlc2VudHMgdGhlIHRleHQgc2hvd24gaW4gdGhlIG11bHRpc2VsZWN0IGxpc3Q8L3A+DQo8L2xpPg0KPGxpPkltYWdlIEZpZWxkcw0KICAgIDxwPkltYWdlIGFyZSBmaWVsZHMgd2hvJiMwMzk7cyBjb2x1bW4gbmFtZSBtYXRjaGVzIGEgcHJvcGVydHkgb2YgdHlwZSBJbWFnZS4gIElmIHRoaXMgZmllbGQgaXMgYSByZXF1aXJlZCBwYXJ0IG9mIHRoZSBkZXN0aW5hdGlvbiBncm91cCwgdGhlbiB0aGUgbmFtZSBzcGVjaWZpZWQgaW4gdGhlc2UgY29sdW1ucyBtdXN0IGV4aXN0IGluIHRoZSB1cGxvYWRzIGRpc3JlY3Rvcnkgb2YgdGhlIENNUyBpbnN0YWxsYXRpb24uICBJZiB0aGUgaW1hZ2UgZG9lcyBub3QgZXhpc3QsIGFuZCB0aGUgZmllbGQgaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHJlY29yZCB3aWxsIGZhaWwuPC9wPg0KPC91bD4NCjxoNT5Ob3RlczwvaDU+DQo8cD5UaGUgaW1wb3J0IHByb2Nlc3MgaXMgc3ViamVjdCB0byB0aGUgbGltaXRhdGlvbnMgaW1wb3NlZCBieSB0aGUgaG9zdCBwcm92aWRlciwgc3VjaCBhcyBtZW1vcnkgbGltaXRhdGlvbnMsIHByb2Nlc3NpbmcgdGltZSwgZmlsZSBzaXplIHVwbG9hZCwgYW5kIHNhZmUgbW9kZSByZXN0cmljdGlvbnMuICBBbnkgb25lIG9mIHRoZXNlIGxpbWl0YXRpb25zIG1heSBjYXVzZSB0aGUgaW1wb3J0IHRvIGZhaWwuIFRoZXJlZm9yZSBpdCBpcyBhZHZpc2FibGUgdG8gZW5zdXJlIHRoYXQgaW1wb3J0IGZpbGVzIGFyZSBzbWFsbGVyIGluIHNpemUsIGFuZCBzaW1wbGVyIGluIG5hdHVyZS48L3A+DQo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPg0KPGg1PkV4YW1wbGU8L2g1Pg0KPHByZT4NCiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcA0KdXNlcjEsdGVzdCx1c2VyLHVzZXIxQHNvbWVkb21haW4uY29tLHNvbWV3aGVyZSxUWCxVUywxMjM0NQ0KPC9wcmU+DQonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydG92YcWlIHXFviZpYWN1dGU7dmF0ZcS+b3YgZG8gdGVqdG8gc2t1cGlueSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdWbG/FvmnFpSBDU1YgcyZ1YWN1dGU7Ym9yJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnVmxvxb5pxaUgWE1MIHMmdWFjdXRlO2Jvcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdFeHBvcnRvdmHFpSB1xb4maWFjdXRlO3ZhdGXEvm92JzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR1c2VycyddID0gJ0ltcG9ydG92YcWlIHXFviZpYWN1dGU7dmF0ZcS+b3YnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnVnnEjWlzdGnFpSc7CiRsYW5nWydwcm9tcHRfaW1hZ2VfZGVzdGluYXRpb25fcGF0aCddID0gJ0Nlc3RhIGsgb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdBIHByb2JsZW0gb2NjdXJyZWQgd2l0aCBhIG1pc3NpbmcgKGJ1dCByZXF1aXJlZCkgdXBsb2FkJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdDb3VsZCBub3QgcGFyc2UgdGhlIHByb3ZpZGVkIFhNTCBmaWxlJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdDYW5ub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9yZXBlYXRlZGxvZ2lucyddID0gJ1RoaXMgdXNlciBpcyBhbHJlYWR5IGxvZ2dlZCBpbic7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUaGUgdGV4dCBmcm9tIHRoZSBpbWFnZSB3YXMgbm90IGVudGVyZWQgY29ycmVjdGx5JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdBbGxvdyB1c2VycyB0byBsb2dpbiBtb3JlIHRoYW4gb25jZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJ10gPSAnSW1hZ2UgRmlsZSBFeHRlbnNpb25zIHRoYXQgVXNlcnMgYWxsb3dlZCB0byB1cGxvYWQnOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZVVzZXInXSA9ICc8aDM+T25EZWxldGVVc2VyPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVVc2VyJ10gPSAnPGgzPk9uQ3JlYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25VcGRhdGVVc2VyJ10gPSAnPGgzPk9uVXBkYXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyB1cGRhdGVkIChlaXRoZXIgYnkgdXNlciB0aGVtc2VsZiBvciBhZG1pbik8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSB1c2VyIG5hbWU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkNyZWF0ZUdyb3VwJ10gPSAnPGgzPk9uQ3JlYXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGNyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBncm91cCBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkRlbGV0ZUdyb3VwJ10gPSAnPGgzPk9uRGVsZXRlR3JvdXA8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGdyb3VwIGlzIGRlbGV0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBncm91cCBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBncm91cCBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9naW4nXSA9ICc8aDM+T25Mb2dpbjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIGluPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZCBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gdG8gdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBpcyBleHBpcmVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgdXNlciBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGluZm8gaXMgdXBkYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgR3JvdXAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBOYXNsZWR1aiZ1YWN1dGU7Y2UgbWFrcmEgbSZvY2lyYzvFvnUgYnnFpSBwb3XFvml0JmVhY3V0ZTsgdiB0JnlhY3V0ZTtjaHRvIHBvbGlhY2g6IHskdXNlcm5hbWV9Lic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnVXByYXZ0ZSB0b3RvIHBvbGUgcHJlIHJlc2V0b3ZhbmllIGhlc2xhIHXFviZpYWN1dGU7dmF0ZcS+YSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnVXByYXZ0ZSB0b3RvIHBvbGUgcHJlIHJlc2V0b3ZhbmllIGhlc2xhIHXFviZpYWN1dGU7dmF0ZcS+YSc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdVxb4maWFjdXRlO3ZhdGXEviBzIHQmeWFjdXRlO210byB1xb4maWFjdXRlO3ZhdGXEvnNrJnlhY3V0ZTttIG1lbm9tIHXFviBleGlzdHVqZSc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdDU1YgZXhwb3J0IG5ldnImYWFjdXRlO3RpbCDFvmlhZG5lIHYmeWFjdXRlO3NsZWRreSc7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdExLrFvmthIHBvxL5hIHByZSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdExLrFvmthIHBvxL5hIHByZSBoZXNsbyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluL01heCBkxLrFvmthIGhlc2xhIG5pZSBqZSBuZXBsYXRuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lbGVuZ3RocyddID0gJ01pbi9NYXggZMS6xb5rYSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTtobyBtZW5hIG5pZSBqZSBuZXBsYXRuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ05lcGxhdG4mYWFjdXRlOyBlLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0UtbWFpbG92JmFhY3V0ZTsgYWRyZXNhIHByZSB0ZW50byAmdWFjdXRlO8SNZXQgbmVib2xpIG4mYWFjdXRlO2pkZW4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2VldHRpbmdpbmZvJ10gPSAnUHJvYmwmZWFjdXRlO20gcyBuYXN0YXZlbiZpYWN1dGU7bSB1xb4maWFjdXRlO3ZhdGXEvnNrJnlhY3V0ZTtjaCBpbmZvcm0mYWFjdXRlO2NpaSc7CiRsYW5nWydlcnJvcl9zZXR0aW5ncHJvcGVydHknXSA9ICdQcm9ibCZlYWN1dGU7bSBzIG5hc3RhdmVuJmlhY3V0ZTttIHZsYXNub3N0aSc7CiRsYW5nWyd1c2VyX2FkZGVkJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL4gcHJpZGFsICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL4gdnltYXphbCAgdWlkPSVzJzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnVmxhc25vc8WlJzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdIb2Rub3RhIChyZWd1bCZhYWN1dGU7cm55IHYmeWFjdXRlO3JheiknOwokbGFuZ1snd2FybmluZ19lZmZlY3RzZmllbGRsZW5ndGgnXSA9ICdWYXJvdmFuaWU6IFRpZXRvIHBvbGlhIG92cGx5bmlhIHZlxL5rb3PFpSB2c3R1cG4meWFjdXRlO2NoIHBvbCZpYWN1dGU7IGZvcm11bCZhYWN1dGU7cm92LiBabiZpYWN1dGU7xb5lbiZpYWN1dGU7bSB0b2h0byDEjSZpYWN1dGU7c2xhIG5hIGV4aXN0dWomdWFjdXRlO2NlaiBzdHImYWFjdXRlO25rZSBuZWRvcG9ydcSNdWplbWUuJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgem1lbmnFpSBuYXN0YXZlbmlhIG1vZHVsdT8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0UtbWFpbG92JmFhY3V0ZTsgYWRyZXNhIHXFviBqZSBwb3XFviZpYWN1dGU7dmFuJmFhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnUG91xb5pxaUgY29va2llIHByZSB6YXBhbSZhdW1sO3RhbmllIHByaWhsYXNvdmFjJmlhY3V0ZTtjaCAmdWFjdXRlO2Rham92JzsKJGxhbmdbJ3Byb21wdF9jb29raWVuYW1lJ10gPSAnTWVubyBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdQb3ZvbGnFpSBkdXBsaWNpdG4mZWFjdXRlOyBlLW1haWx5JzsKJGxhbmdbJ2luZm9fY29va2llX2tlZXBhbGl2ZSddID0gJ1NrJnVhY3V0ZTsmc2Nhcm9uO2HFpSB1ZHLFvmHFpSAgcHJpaGwmYWFjdXRlO3NlbiZ5YWN1dGU7Y2ggdcW+JmlhY3V0ZTt2YXRlxL5vdiBwb21vY291IGNvb2tpZXMgPGVtPihjb29raWUgcmVzZXR1amUgYWt0aXZpdHUgbmEgc3RyJmFhY3V0ZTtua2FjaCk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcocG92b2xpxaUgdmlhYyB1xb4maWFjdXRlO3ZhdGXEvm92IHMgcm92bmFrb3UgZS1tYWlsb3ZvdSBhZHJlc291KSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0FsbG93IGR1cGxpY2F0ZSAmcXVvdDtmb3Jnb3QgcGFzc3dvcmQmcXVvdDsgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlbiYjMDM5O3QgYWN0ZWQgb24gYSBwcmV2aW91cyBvbmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnUG/FvmnFpSBvcHImYWFjdXRlO3ZuZW5pYSAmc2Nhcm9uO3BlY2lmaWNrJmVhY3V0ZTsgcHJlIEZyb250LWVuZCBVc2VyIG1vZHVsPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoWnZ5xI1ham5lIHMmdWFjdXRlOyBwcmUgRkVVc2VycyBtb2R1bCAgcG91xb4maWFjdXRlO3ZhbiZlYWN1dGU7IHJvdm5hayZlYWN1dGU7IG9wciZhYWN1dGU7dm5lbmlhIGFrbyBwcmUgYWRtaW5pc3RyYcSNbiZlYWN1dGU7IHJvemhyYW5pZS4gUG9raWHEviB2eWJlcmV0ZSB0JnVhY3V0ZTt0byBtb8W+bm9zxaUsIGJ1ZCZ1YWN1dGU7IHByZSBGRVVzZXNycyBwb3XFvml0JmVhY3V0ZTsgdmxhc3RuJmVhY3V0ZTsgbmFzdGF2ZW5pYS4pJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdOYWhyYXQmeWFjdXRlOyBzJnVhY3V0ZTtib3IgbmVib2wgbiZhYWN1dGU7amRlbiZ5YWN1dGU7IChpbnRlcm4mYWFjdXRlOyBjaHliYSknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdQcmkgbmFociZhYWN1dGU7dmFuJmlhY3V0ZTsgcyZ1YWN1dGU7Ym9ydSBkbyZzY2Fyb247bG8gayBjaHliZS4gU2t1c3RlIHRvIHpub3Z1JzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ05ldmxvxb5pbGkgc3RlIHXFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ05ldmxvxb5pbGkgc3RlIGhlc2xvJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBVc2VyIG9kaGwmYWFjdXRlO3NlbmllJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dnZWRpbiddID0gJ0Zyb250ZW5kIFVzZXIgcHJpaGwmYWFjdXRlO3NlbmllJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVBPWk9STkVOSUU8L2I+IHptZW5hIHN0JmFhY3V0ZTt2YWomdWFjdXRlO2NpY2ggdmxhc25vc3QmaWFjdXRlOywga3RvciZlYWN1dGU7IHMmdWFjdXRlOyBwcmlyYWRlbiZlYWN1dGU7IHNrdXBpbiZhYWN1dGU7bSBtJm9jaXJjO8W+dSBzcCZvY2lyYztzb2JpxaUgcHJvYmwmZWFjdXRlO215IDxpPihwcmVkb3Ymc2Nhcm9uO2V0ayZ5YWN1dGU7bSBwcmkgc2tyJmFhY3V0ZTt0ZW4maWFjdXRlOyBuaWVrdG9yJnlhY3V0ZTtjaCBwb2wmaWFjdXRlOyk8L2k+PC9mb250Pic7CiRsYW5nWydpbmZvX3NtdHB2YWxpZGF0ZSddID0gJ1QmYWFjdXRlO3RvIGZ1bmtjaWEgbmVwcmFjdWplIHBvZCB3aW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdOZXZ5dHYmYWFjdXRlO3JhanRlIHZsYXNub3PFpSBwcmUgdcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8sIHByZXRvxb5lIHRvIHXFviBqZSBzJnVhY3V0ZTvEjWFzxaVvdSBtb2R1bHUgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0b3ZhxaUgdcW+JmlhY3V0ZTt2YXRlxL5vdiBkbyBDU1YnOwokbGFuZ1snZXhwb3J0Y3N2J10gPSAnRXhwb3J0b3J0b3ZhxaUnOwokbGFuZ1snaW1wb3J0Y3N2J10gPSAnSW1wb3J0b3ZhxaUnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbmlzdHImYWFjdXRlO2NpYSc7CiRsYW5nWydlZGl0cHJvcCddID0gJ1VwcmF2acWlIHZsYXNub3PFpSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbSZhYWN1dGU7bG5hIGTEusW+a2EnOwokbGFuZ1snY3JlYXRlZCddID0gJ1Z5dHZvcmVuJmVhY3V0ZTsnOwokbGFuZ1snc29ydGJ5J10gPSAnWm9yYWRpxaUgcG9kxL5hJzsKJGxhbmdbJ3NvcnQnXSA9ICdab3JhZGVuaWUnOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVcW+JmlhY3V0ZTt2YXRlbGlhIHZvIHZ5YnJhbmVqL3Z5YnJhbiZ5YWN1dGU7Y2ggc2t1cGluJmFhY3V0ZTtjaCc7CiRsYW5nWyd1c2VybGltaXQnXSA9ICdPYm1lZHppxaUgdiZ5YWN1dGU7c2xlZGt5IGRvJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ05pZSBqZSBtb8W+biZlYWN1dGU7IG4mYWFjdXRlO2pzxaUgcG9sb8W+a3UgZS1tYWlsIHByZSB0b2h0byB1xb4maWFjdXRlO3ZhdGXEvmEuIEtvbnRha3R1anRlIGFkbWluaXN0ciZhYWN1dGU7dG9yYSB3ZWJ1Lic7CiRsYW5nWydwcm9tcHRfZm9yZ290cHdfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBzdHImYWFjdXRlO25reSBwcmUgZm9ybXVsJmFhY3V0ZTtyIHptZW55IGhlc2xhJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIHN0ciZhYWN1dGU7bmt5IHByZSBmb3JtdWwmYWFjdXRlO3Igem1lbnkgbmFzdGF2ZW5pYSc7CiRsYW5nWydwcm9tcHRfbG9naW5fcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBzdHImYWFjdXRlO25reSBwbyBwcmlobCZhYWN1dGU7c2VuaSAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBzdHImYWFjdXRlO25reSBwcmUgb2RobCZhYWN1dGU7c2VuaWUgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdQb3JhZGllJzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ1BvxI1ldCB1xb4maWFjdXRlO3ZhdGVsb8S+b3YsIGt0b3ImeWFjdXRlOyBtb21lbnQmYWFjdXRlO2xuZSDFvmlhZGFqJnVhY3V0ZTsgbyByZXNldCBoZXNsYTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdPZHN0cmFuacWlIHYmc2Nhcm9uO2V0a3kgeiZhYWN1dGU7em5hbXkgc3RhciZzY2Fyb247aWUgYWtvIDEgdCZ5YWN1dGU7xb5kZcWIJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ09kc3RyJmFhY3V0ZTtuacWlIHYmc2Nhcm9uO2V0a3kgeiZhYWN1dGU7em5hbXkgc3RhciZzY2Fyb247aWUgYWtvIDEgbWVzaWFjJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ09kc3RyJmFhY3V0ZTtuacWlIHYmc2Nhcm9uO2V0a3kgeiZhYWN1dGU7em5hbXknOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOz8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdWbG/FvmVuJnlhY3V0ZTsgYm9sIG5lc3ByJmFhY3V0ZTt2bnkgayZvYWN1dGU7ZCwgc2smdWFjdXRlO3N0ZSB0byB6bm92dSc7CiRsYW5nWydlcnJvcl90ZW1wY29kZW5vdGZvdW5kJ10gPSAnRG/EjWFzbiZ5YWN1dGU7IGsmb2FjdXRlO2QgcHJlIHZhJnNjYXJvbjtlIHXFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vIG5lYm9sbyBuJmFhY3V0ZTtqZGVuJmVhY3V0ZTsgdiBkYXRhYiZhYWN1dGU7emUnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdmVyaWZ5dGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEgZm9ybXVsJmFhY3V0ZTtyYSBwcmUgdmVyaWZpayZhYWN1dGU7Y2l1JzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEgZm9ybXVsJmFhY3V0ZTtyYSBwcmUgemFidWRudXQmZWFjdXRlOyBoZXNsbyc7CiRsYW5nWydlcnJvcl9yZXNldGFscmVhZHlzZW50J10gPSAnVnkgYWxlYm8gbmlla3RvIGluJnlhY3V0ZTsgcG/FvmlhZGFsIG8gcmVzZXRvdmFuaWUgaGVzbGEgcHJlIHRlbnRvICZ1YWN1dGU7xI1ldC4gxI5hbCZzY2Fyb247aWUgaW4mc2Nhcm9uO3RydWtjaWUgbiZhYWN1dGU7amRldGUgdm8gc3ZvamVqIGUtbWFpbG92ZWogc2NociZhYWN1dGU7bmt5Lic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnUHJvYmxlbSBzIGRhdGFiJmFhY3V0ZTt6b3YnOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnVCZ1YWN1dGU7dG8gc3ByJmFhY3V0ZTt2dSBzdGUgZG9zdGFsaSwgcHJldG/FvmUgbmlla3RvIHBvxb5pYWRhbCBvIG9ibm92ZW5pZSB6YWJ1ZG51dCZlYWN1dGU7aG8gaGVzbGEgayB2JmFhY3V0ZTsmc2Nhcm9uO211ICZ1YWN1dGU7xI10dSBuYSBuYSZzY2Fyb247ZWogc3RyJmFhY3V0ZTtua2UuIFBva2lhxL4gamUgdG8gdGFrLCBwb3N0dXB1anRlIHBvZMS+YSBuacW+JnNjYXJvbjtpZSB1dmVkZW4meWFjdXRlO2NoIGluJnNjYXJvbjt0cnVrY2kmaWFjdXRlOy4gUG9raWHEviBuZXR1JnNjYXJvbjsmaWFjdXRlO3RlIG8gxI1vIGlkZSwgdGFrIHRlbnRvIGUtbWFpbCBwcm9zJmlhY3V0ZTttIGlnbm9ydWp0ZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLJm9hY3V0ZTtkJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ05hc2xlZHVqJnVhY3V0ZTtjaSBrJm9hY3V0ZTtkIGJvbCBuJmFhY3V0ZTtob2RuZSB2eWdlbmVyb3ZhbiZ5YWN1dGU7IHByZSBvdmVyZW5pZSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTtobyAmdWFjdXRlO8SNdHUuIFBvIGtsaWtudXQmaWFjdXRlOyBuYSBuYXNsZWR1aiZ1YWN1dGU7Y2kgb2RrYXogc2EgZG9zdGFuZSBuYSBzdHImYWFjdXRlO25rdSwga2RlIHphZCZhYWN1dGU7dGUgdGVudG8gayZvYWN1dGU7ZC5Qb2xlIGJ1ZGUgcHJlZHZ5cGxuZW4mZWFjdXRlOy4gUG9raWHEviBuaWUsIGsmb2FjdXRlO2QgamUgdHU6JzsKJGxhbmdbJ3Byb21wdF9saW5rJ10gPSAnS2xpa251dCZpYWN1dGU7bSBuYSBuYXNsZWR1aiZ1YWN1dGU7Y2kgb2RrYXogc2EgZG9zdGFuZXRlIG5hIHN0ciZhYWN1dGU7bmt1LCBrZGUgbSZvY2lyYzvFvmV0ZSB6YWRhxaUgdnkmc2Nhcm9uO2llIHV2ZWRlbiZ5YWN1dGU7IGsmb2FjdXRlO2QgYSBvYm5vdmnFpSB2YSZzY2Fyb247ZSBoZXNsbyc7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnWmFidWRudXQmZWFjdXRlOyBoZXNsbyc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ05lbiZhYWN1dGU7amRlbiZ5YWN1dGU7IENNU01haWxlciBtb2R1bCc7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdOYSBlLW1haWwgJXMgYm9saSB6YXNsYW4mZWFjdXRlOyBpbiZzY2Fyb247dHJ1a2NpZSBwcmUgb2Jub3ZlbmllIGhlc2xhLiDEjmFrdWplbWUnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdQb2tpYcS+IHN0ZSB6YWJ1ZGxpIGFsZWJvIHN0cmF0aWxpIHN2b2plaGVzbG8sIHRhayBwcm9zJmlhY3V0ZTttIHZ5cGzFiHRlIHN2b2plIHXFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vIGEgZS1tYWlsb20gZG9zdGFuZW5lIGluJnNjYXJvbjt0cnVrY2llIGFrbyBwb2tyYcSNb3ZhxaUgcHJpIG9ibm92ZW4maWFjdXRlOyBoZXNsYSc7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSBwcmkgc3RyYXRlIGhlc2xhJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSBwcmkgc3RyYXRlIHXFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlO2hvIG1lbmEnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnVmxhc25vc8WlICVzIG5lbiZhYWN1dGU7amRlbiZhYWN1dGU7JzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdWbGFzbm9zxaUgbiZhYWN1dGU7amRlbiZhYWN1dGU7JzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdQcmlkYcWlIHZsYXNub3PFpSc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnUG92aW5uJmVhY3V0ZTsgcG9sZSAoJXMpIGJvbG8gcHImYWFjdXRlO3pkbmUnOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdaYWRhanRlIG5vdiZlYWN1dGU7IGhlc2xvJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnUHJhdmRlcG9kb2JuZSBuaWUgc3RlIHByaWhsJmFhY3V0ZTtzZW4meWFjdXRlOyc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHImYWFjdXRlO2NpYSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RlbnRvICZ1YWN1dGU7xI1ldCB2eXByJnNjYXJvbjthbCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnTmVzcHImYWFjdXRlO3ZueSBmb3JtJmFhY3V0ZTt0IGUtbWFpbG92ZWogYWRyZXN5JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnTmVwbGF0biZ5YWN1dGU7IGQmYWFjdXRlO3R1bSBleHBpciZhYWN1dGU7Y2llJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdDaHliYSBwcmkgbmFzdGF2ZW4maWFjdXRlOyB2bGFzbm9zdCZpYWN1dGU7ICVzIHByZSB1xb4maWFjdXRlO3ZhdGXEvmEgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdOZXBsYW50JmVhY3V0ZTsgSUQgc2t1cGlueSAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ1puYcSNa292YcSNIHNrcnl0JnlhY3V0ZTtjaCBwb2wmaWFjdXRlOyc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnRmFyYmEgc2tyeXQmZWFjdXRlO2hvIHBvxL5hJzsKJGxhbmdbJ2hpZGRlbiddID0gJ1Nrcnl0JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlbmFtZSddID0gJ1ZsYXN0bm9zxaUgcyB0JnlhY3V0ZTttdG8gbWVub20gdcW+IGJvbGEgbmFkZWZpbm92YW4mYWFjdXRlOyc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZWJvbGkgbmFkZWZpbm92YW4mZWFjdXRlOyDFvmlhZG5lIHZsYXN0bm9zdGknOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdOZWJvbGkgdnlicmFuJmVhY3V0ZTsgdmxhc25vc3RpIHByZSB0JnVhY3V0ZTt0byBza3VwaW51JzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnxb1pYWRuZSBza3VwaW55IG5pZSBzJnVhY3V0ZTsgbmFkZWZpbm92YW4mZWFjdXRlOyc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ1NrdXBpbnkgbiZhYWN1dGU7amRlbiZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX29uZWdyb3VwcmVxdWlyZWQnXSA9ICdKZSBudXQmZWFjdXRlOyBwcmlyYWRlbmllIGFzcG/FiCBrIGplZG5laiBza3VwaW5lJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdWecW+YWRvdmHFpSBwcmlyYWRlbmllIGFzcG/FiCBkbyBqZWRuZWogc2t1cGlueSc7CiRsYW5nWydiYWNrJ10gPSAnU3AmYXVtbDvFpSc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgamUgcG92aW5uJmFhY3V0ZTsgcG9sb8W+a2EnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ096bmHEjWnFpSBwb3Zpbm4mZWFjdXRlOyBwb2xpYSBzJzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRjb2xvciddID0gJ0hpbGl0ZSByZXF1aXJlZCBmaWVsZHMgaW4nOwokbGFuZ1snbmV4dCddID0gJ8SOYWwmc2Nhcm9uO2llJzsKJGxhbmdbJ2Vycm9yX2dyb3VwZXhpc3RzJ10gPSAnU2t1cGluYSBzIHQmeWFjdXRlO210byBuJmFhY3V0ZTt6dm9tIHXFviBleGlzdHVqZSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ1Z5xb5hZG92YW4mYWFjdXRlOyc7CiRsYW5nWydvcHRpb25hbCddID0gJ1ZvbGl0ZcS+biZhYWN1dGU7JzsKJGxhbmdbJ29mZiddID0gJ1Z5cG4mdWFjdXRlO8WlJzsKJGxhbmdbJ3NpemUnXSA9ICdWZcS+a29zxaUnOwokbGFuZ1snc2l6ZWNvbW1lbnQnXSA9ICc8YnIvPihNYXhpbXVtIHNpemUgb2YgYW55IG9uZSBkaW1lbnNpb24gb2YgdGhlIGltYWdlIGluIHBpeGVscyknOwokbGFuZ1snbGVuZ3RoJ10gPSAnRMS6xb5rYSc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPihwb8SNZXQgem5ha292IHYgdGV4dG92b20gcG9saSknOwokbGFuZ1snc2Vsb3B0aW9ucyddID0gJ1BvbG/Fvmt5IHJvemJhxL5vdmFjaWVobyBtZW51IG9kZGVsZW4mZWFjdXRlOyBub3YmeWFjdXRlO21pIHJpYWRrYW1pLic7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X3R5cGUnXSA9ICdUeXAnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWydmaWVsZHN0YXR1cyddID0gJ0ZpZWxkIFN0YXR1cyc7CiRsYW5nWyd1c2VkaW5sb3N0dW4nXSA9ICdQJnlhY3V0ZTt0YcWlIHByaSBzdHJhdGU8YnIvPlXFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnWmEmc2Nhcm9uO2tydCZhYWN1dGU7dmFjaWUgcG9sJmlhY3V0ZTvEjWtvJzsKJGxhbmdbJ211bHRpc2VsZWN0J10gPSAnTXVsdGkgU2VsZWN0IExpc3QnOwokbGFuZ1snaW1hZ2UnXSA9ICdPYnImYWFjdXRlO3pvayc7CiRsYW5nWydlbWFpbCddID0gJ0UtbWFpbG92JmFhY3V0ZTsgYWRyZXNhJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dG92JmFhY3V0ZTsgb2JsYXPFpSc7CiRsYW5nWydkcm9wZG93biddID0gJ1JvemJhxL5vdmFjaWUgbWVudSc7CiRsYW5nWydtc2dfY3VycmVudGx5bG9nZ2VkaW5hcyddID0gJ1ZpdGFqJzsKJGxhbmdbJ2xvZ291dCddID0gJ09kaGwmYWFjdXRlO3NpxaUnOwokbGFuZ1sncHJvbXB0X25ld2dyb3VwbmFtZSddID0gJ1BvdcW+acWlIHRvaG8gbWVubyBza3VwaW55JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ1VwcmF2IG1vamUgbmFzdGF2ZW5pYSc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0NoeWJhIHByaSBwcmlobCZhYWN1dGU7c2VuJmlhY3V0ZTsgLSBuZXNwciZhYWN1dGU7dm5lIHXFviZpYWN1dGU7dmF0ZcS+c2smZWFjdXRlOyBtZW5vIGFsZWJvIGhlc2xvPyc7CiRsYW5nWydsb2dpbiddID0gJ1ByaWhsJmFhY3V0ZTtzacWlJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnU2lnbiBpbiBidXR0b24gbGFiZWwnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnVcW+JmlhY3V0ZTt2YXRlxL5zayZlYWN1dGU7IG1lbm8nOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnSGVzbG8nOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdaYXBhbSZhdW1sO3RhaiBzaSBtYSBuYSB0b210byBwb8SNJmlhY3V0ZTt0YcSNaSc7CiRsYW5nWydyZWdpc3RlciddID0gJ1JlZ2lzdHJvdmHFpSc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ1phYnVkbnV0JmVhY3V0ZTsgaGVzbG8/JzsKJGxhbmdbJ2xvc3R1c2VybmFtZSddID0gJ1phYnVkbnV0JmVhY3V0ZTsgcHJpaGxhc292YWNpZSAmdWFjdXRlO2RhamU/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnViZ5YWN1dGU7Y2hvZHppZSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSc7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdOZWJvbGkgbiZhYWN1dGU7amRlbiZlYWN1dGU7IMW+aWFkbmUgaW5mb3JtJmFhY3V0ZTtjaWUgbyB1xb4maWFjdXRlO3ZhdGXEvm92aSc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVG90byB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgKCVzKSB1xb4gbmlla2RvIHBvdcW+JmlhY3V0ZTt2YSc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnUG91xb5pxaUgU01UUCBwcmUgdmFsaWQmYWFjdXRlO2NpdSBlLW1haWxvdiZ5YWN1dGU7Y2ggYWRyaWVzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbSZhYWN1dGU7bG5hIGTEusW+a2EgaGVzbGEnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4aW0mYWFjdXRlO2xuYSBkxLrFvmthIGhlc2xhJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbmltJmFhY3V0ZTtsbmEgZMS6xb5rYSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTtobyBtZW5hJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGltJmFhY3V0ZTtsbmEgZMS6xb5rYSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTtobyBtZW5hJzsKJGxhbmdbJ3Byb21wdF9zZXNzaW9udGltZW91dCddID0gJ1Nlc3Npb24gVGltZW91dCAoc2VrdW5keSknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ1VzZSBjb29raWVzIHRvIGtlZXAgbG9naW5zIGFsaXZlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnUG92b2xpxaUgZS1tYWlsb3YmdWFjdXRlOyByZWdpc3RyJmFhY3V0ZTtjaXUnOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ1YmeWFjdXRlO2Nob2R6aWEgc2t1cGlueSBwcmUgbm92JmVhY3V0ZTtobyB1xb4maWFjdXRlO3ZhdGXEvmEnOwokbGFuZ1snY2hhbmdlc2V0dGluZ3NfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEgcHJlIHptZW51IG5hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0hlc2xhIHNhIG5lemhvZHVqJnVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTmVzcHImYWFjdXRlO3ZuZSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdOZXNwciZhYWN1dGU7dm5lIGhlc2xvJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnVXByYXZpxaUgdcW+JmlhY3V0ZTt2YXRlxL5hJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnVmFsaWQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snZXJyb3JfbWVtYmVyZ3JvdXBzJ10gPSAnVGVudG8gdcW+JmlhY3V0ZTt2YXRlxL4gbmllIGplIHByaXJhZGVuJnlhY3V0ZTsgZG8gxb5pYWRuZWogc2t1cGlueSc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnxb1pYWRuZSB2bGFzbm9zdGknOwokbGFuZ1snZXJyb3JfZHVwX3Byb3BlcnRpZXMnXSA9ICdBdHRlbXB0IHRvIGltcG9ydCBkdXBsaWNhdGUgcHJvcGVydGllcyc7CiRsYW5nWyd2YWx1ZSddID0gJ0hvZG5vdHknOwokbGFuZ1snZ3JvdXBzJ10gPSAnU2t1cGlueSc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnVmxhc25vc3RpJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnTiZhYWN1dGU7em92IHZsYXN0bm9zdGknOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnSG9kbm90YSB2bGFzbm9zdGknOwokbGFuZ1snYWRkJ10gPSAnUHJpZGHFpSc7CiRsYW5nWydoaXN0b3J5J10gPSAnSGlzdCZvYWN1dGU7cmlhJzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydleHBpcmVzJ10gPSAnUGxhbm9zxaUnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnJlNjYXJvbjtwZWNpZmlrdWp0ZSBkJmFhY3V0ZTt0dW0nOwokbGFuZ1snMTJocnMnXSA9ICcxMiBob2QmaWFjdXRlO24nOwokbGFuZ1snMjRocnMnXSA9ICcyNCBob2QmaWFjdXRlO24nOwokbGFuZ1snNDhocnMnXSA9ICc0OCBob2QmaWFjdXRlO24nOwokbGFuZ1snMXdlZWsnXSA9ICcxIHQmeWFjdXRlO8W+ZGXFiCc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIHQmeWFjdXRlO8W+ZG5lJzsKJGxhbmdbJzFtb250aCddID0gJzEgbWVzaWFjJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIG1lc2lhY2UnOwokbGFuZ1snNm1vbnRocyddID0gJzYgbWVzaWFjb3YnOwokbGFuZ1snMXllYXInXSA9ICcxIHJvayc7CiRsYW5nWyduZXZlciddID0gJ05pa2R5JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsbWVzc2FnZSddID0gJ01vZHVsICZ1YWN1dGU7c3BlJnNjYXJvbjtuZSBuYWluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsuPGJyIC8+IE5lemFidWRuaXRlIG5hc3RhdmnFpSBwciZhYWN1dGU7dmEgICZhbXA7cXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMmYW1wO3F1b3Q7Lic7CiRsYW5nWydwYXNzd29yZCddID0gJ0hlc2xvJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnWm5vdmEnOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ1NrdXBpbmEgcyB0JnlhY3V0ZTttdG8gbiZhYWN1dGU7enZvbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnVXByYXZpxaUgc2t1cGludSc7CiRsYW5nWydzdWJtaXQnXSA9ICdPZG9zbGHFpSc7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2nFpSc7CiRsYW5nWydkZWxldGUnXSA9ICdPZHN0ciZhYWN1dGU7bmnFpSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOywgxb5lIHRvdG8gamUgc3ByJmFhY3V0ZTt2bmUgbmFzdGF2ZW5pZXByZSB0JnVhY3V0ZTt0byBza3VwaW51P1xuIFZ5cG51dCZpYWN1dGU7bSB2bGFzdG5vc3QmaWFjdXRlOyBzYSBuZW9kc3RyJmFhY3V0ZTtuaWEgxb5pYWRuZSAmdWFjdXRlO2RhamUgdm8gdmxhc25vc3RpYWNoIHXFviZpYWN1dGU7dmF0ZcS+YS9za3VwaW55Lic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7LCDFvmUgY2hjZXRlIHptYXphxaUgdCZ1YWN1dGU7dG8gc2t1cGludT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJ05hb3phaiBjaGNldGUga29tcGxldG5lIHptYXphxaUgdCZ1YWN1dGU7dG8gdmxhc25vc8WlP1xuVnltYcW+dSBzYSB0JnlhY3V0ZTttIGFqIHYmc2Nhcm9uO2V0a3kgaG9kbm90eSB0ZWp0byB2bGFzbm9zdGkgdSB1xb4maWFjdXRlO3ZhdGXEvm9jaC4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTmVkb3N0YXRvxI1uJmVhY3V0ZTsgcGFyYW1ldHJlJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snbmFtZSddID0gJ01lbm8nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdQcm9ibCZlYWN1dGU7bSBwcmkgcHJpZCZhYWN1dGU7dmFuJmlhY3V0ZTsgdmxhc25vc3QmaWFjdXRlOyc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAgcmVsYXRpb24nOwokbGFuZ1snZXJyb3JfY2FudGFkZGdyb3VwJ10gPSAnUHJvYmxlbSBhZGRpbmcgZ3JvdXAnOwokbGFuZ1snZXJyb3JfY2FudGFzc2lnbnVzZXInXSA9ICdQcm9ibGVtIGFkZGluZyBhIHVzZXIgdG8gYSBncm91cCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXByb3BlcnR5J10gPSAnUHJvYmxlbSBkZWxldGluZyBhIHByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnQ291bGQgbm90IGZpbmQgYW4gZW1haWwgYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9kZXN0aW5hdGlvbm5vdHdyaXRhYmxlJ10gPSAnTm8gd3JpdGUgcGVybWlzc2lvbiB0byBkZXN0aW5hdGlvbiBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ0NoeWJuJmVhY3V0ZTsgcGFyYW1ldHJlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnU2t1cGluYSBuZWJvbGEgcHJpZGFuJmFhY3V0ZTsnOwokbGFuZ1snYXBwbHlmaWx0ZXInXSA9ICdQb3XFvmnFpSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1sndXNlcmZpbHRlciddID0gJ1JlZ3VsJmFhY3V0ZTtybnkgdiZ5YWN1dGU7cmF6IHByZSB1xb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ1BvcGlzJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ04mYWFjdXRlO3pvdiBza3VwaW55JzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1ByJmlhY3V0ZTtzdHVwIHphbWlldG51dCZ5YWN1dGU7JzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEnOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdQcmlkYcWlIHNrdXBpbnUnOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdJbXBvcnRvdmHFpSBza3VwaW51JzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdQcmlkYcWlIHXFviZpYWN1dGU7dmF0ZcS+YSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVcW+JmlhY3V0ZTt2YXRlbGlhIHNwbMWIdWomdWFjdXRlO2NpIGtyaXQmZWFjdXRlO3JpYSB2eWjEvmFkJmFhY3V0ZTt2YW5pYSc7CiRsYW5nWydncm91cCddID0gJ1NrdXBpbmEnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWeWJyYcWlIHNrdXBpbnUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHByZSByZWdpc3RyJmFhY3V0ZTtjaXUnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbiZhYWN1dGU7IHByZSBvZGhsJmFhY3V0ZTtzZW5pZSc7CiRsYW5nWydsb2dpbl90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSBwcmUgcHJpaGwmYWFjdXRlO3NlbmllJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZHZvxL5ieSc7CiRsYW5nWyd1c2VycyddID0gJ1XFviZpYWN1dGU7dmF0ZWxpYSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGcm9udGVuZCBVc2VyIE1hbmFnZW1lbnQgKHNwciZhYWN1dGU7dmEgdcW+JmlhY3V0ZTt2YXRlxL5vdiknOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBbGxvdyB1c2VycyB0byBsb2cgaW4gdG8gdGhlIGZyb250ZW5kIG9mIHlvdXIgc2l0ZSc7CiRsYW5nWydkZWZhdWx0ZnJvbnRwYWdlJ10gPSAnViZ5YWN1dGU7Y2hvZHppYSBzdHImYWFjdXRlO25rYSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnU3RyJmFhY3V0ZTtua2EgcyBwb3NsZWRuJnlhY3V0ZTttIHByJmlhY3V0ZTtzdHVwb20nOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnSW4mYWFjdXRlOyBzdHImYWFjdXRlO25rYSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a2EnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPjAuMC4xIC0gT2N0b2JlciwgMjAwNSAtIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlPC9saT4NCjxsaT4wLjEuMCAtIE9jdG9iZXIsIDIwMDUgLSBJbml0aWFsIHJlbGVhc2U8L2xpPg0KPGxpPjAuMS4xIC0gT2N0b2JlciwgMjAwNSAtIEZpeGVkIGlzc3VlcyB3aXRoIHByb3BlcnRpZXM8L2xpPg0KPGxpPjAuMS4yIC0gT2N0b2JlciwgMjAwNSAtIEFkZGVkIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5PC9saT4NCjxsaT4wLjEuMyAtIE5vdmVtYmVyLCAyMDA1DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlZGlyZWN0IHBhZ2Ugb24gbG9naW4sIGxvZ291dCwgZm9yZ290IHBhc3N3b3JkLCBhbmQgY2hhbmdlIHNldHRpbmdzLCBhbmQgYWRkZWQgdGhlIHJldHVybnRvIGFuZCBmb3JtIHBhcmFtZXRlcnMgdG8gdGhlIHVzZXIgc2lkZSBvZiB0aGluZ3MsIGFsc28gZGlkIGEgY291cGxlIGxmIGxpdHRsZSBjbGVhbnVwcy4gIFRoaXMgdmVyc2lvbiByZXF1aXJlcyB2MC4xMSBhbmQgYWJvdmUgZm9yIGNlcnRhaW4uPC9wPjwvbGk+DQo8bGk+MC4xLjQgLSBOb3ZlbWJlciwgMjAwNSAtIFZlcnkgbWlub3IgY2hhbmdlIHdpdGggcmVzcGVjdCB0byBhIGZvcmdvdHRlbiBhbmQgbm8gbG9uZ2VyIG5lZWRlZCBmdW5jdGlvbiBjYWxsPC9saT4NCjxsaT4wLjEuNSAtIE5vdmVtYmVyLCAyMDA1DQogICAgPHA+QW5vdGhlciB2ZXJ5IG1pbm9yIGNoYW5nZSwgYWRkZWQgc29tZSB0ZXh0IHRvIHRoZSBQb3N0SW5zdGFsbCBtZXNzYWdlLjwvcD48L2xpPg0KPGxpPjAuMS42IC0gSmFudWFyeSwgMjAwNg0KICAgIDxwPkNoYW5nZXMgdG8gdGhlIHBlcm1pc3Npb24gbW9kZWwsIGFuZCBtaW5vciBidWcgZml4ZXMgdG8gdGhlIHByZWZlcmVuY2VzLiAgQWxzbyBzb21lIHBocDUgZml4ZXMgYnV0IEkgYW0gc3VyZSB0aGF0IHRoZXJlIGFyZSBtb3JlIG91dCB0aGVyZS48L3A+PC9saT4NCjxsaT4wLjEuNyAtIEphbnVhcnksIDIwMDYNCiAgICA8cD5NYW55IHRoYW5rcyB0byA8Yj5rYXRvbjwvYj4gZm9yIGFkZGluZyB0aGUgdGV4dGFyZWEgYW5kIGRyb3Bkb3duIHByb3BlcnR5IHR5cGVzLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgcHJvcGVydHkgYWRkaW5nIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHNwYWNlcyBpbiBwcm9wZXJ0eSBuYW1lcyAod2Ugbm8gbG9uZ2VyIGxldCB0aGF0IGhhcHBlbikuPC9wPg0KPC9saT4NCjxsaT48cD4xLjAuMCAtIEZlYnJ1YXJ5LCAyMDA2PHA+DQogICAgPHA+QWRkZWQgZmlsdGVyaW5nIGFuZCByb3cgbGltaXRpbmcgdG8gdGhlIGFkbWluIHBhbmVsLiBUaGlzIHdpbGwgaGF2ZSBiaWcgYmVuZWZpdHMgdG8gdGhvc2UgdGhhdCBhcmUgdXNpbmcgdGhpcyBtb2R1bGUgZm9yIGhpZ2ggdHJhZmljLCBhbmQgaGlnaCB1c2VyIHNpdGVzLjwvcD4NCiAgICA8cD5BZGRlZCBzb3J0aW5nIHRvIHRoZSBhZG1pbiBwYW5lbDwvcD4NCiAgICA8cD5BZGRlZCBtYXggbGVuZ3RoIGFiaWxpdHkgdG8gdGV4dCBhbmQgZW1haWwgZmllbGRzPC9wPg0KICAgIDxwPkZpeGVkIGEgc21hbGwgcHJvYmxlbSB3aXRoIHRoZSBkZWZhdWx0IGdyb3VwIG5vdCBiZWluZyBjaGVja2VkIHdoZW4gYWRkaW5nIGEgdXNlcjwvcD4NCiAgICA8cD5TYXZlIGZpbHRlciBzZXR0aW5ncyBpbiBwcmVmZXJlbmNlcywgYW5kIHRoZSBhY3RpdmUgdGFiIHRvby48L3A+DQogICAgPHA+RGVsZXRlIHVzZXIgcHJvcGVydGllcyB3aGVuIGEgcHJvcGVydHkgaXMgZGVsZXRlZCA8ZW0+Tm90ZTwvZW0+LCBub3Qgd2hlbiBpdCBpcyBkaXNhYmxlZCBpbiB0aGUgZWRpdCBncm91cCBkaWFsb2c8L3A+DQogICAgPHA+QWRkIGNvbmZpcm1hdGlvbiBtZXNzYWdlIGluIGVkaXQgZ3JvdXBzLjwvcD4NCiAgICA8cD5BZGRlZCBhIGNvdXBsZSBtb3JlIGNvbmZpcm1hdGlvbiBtZXNzYWdlcy48L3A+DQogICAgPHA+QWRkZWQgQ1NWIEV4cG9ydCBvcHRpb248L3A+DQogICAgPHA+VG9kbyAtIEFkZCBwcmVmZXJlbmNlcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkbGVuZ3RoPC9wPg0KPC9saT4NCjxsaT4xLjAuMSAtIE1hcmNoLCAyMDA2DQogICAgPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXM8L3A+DQogICAgPHA+Rml4IHByb2JsZW0gd2hlcmUgZXhwaXJ5IGRhdGUgd2FzIGJlaW5nIG1vZGlmaWVkIHdoZW4gYWRtaW4gbW9kaWZpZWQgdXNlciBzZXR0aW5nczwvcD4NCiAgICA8cD5BZGQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcHJlZmVyZW5jZXMgc3VibWl0IGJ1dHRvbjwvcD4NCiAgICA8cD5GaXhlZCBhIG1pbm9yIGJ1ZyB3aGVuIGNvdXRpbmcgdGhlIG51bWJlciBvZiB1c2VycyBpbiBhIGdyb3VwPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBzaXplIG9mIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMsIGFuZCBtYXhsZW5ndGg8L3A+DQogICAgPHA+QWRkZWQgYWR2YW5jZWQgZmlsdGVyaW5nIG9uIHByb3BlcnRpZXM8L3A+DQogICAgPHA+Q2hhbmdlcyB0byBsYWJlbGluZyBpbiBhZGQgb3IgZWRpdCB1c2VyPC9wPg0KICAgIDxwPkZpeGVzIHRvIHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24gaW5saW5lIGZvcm1zLCB0aGUgcGFzc3dvcmQgaXMgbmV2ZXIgc2VudCBvbiB0aGUgZ2V0IGxpbmU8L3A+DQogICAgPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjEuMC4yIC0gTWFyY2gsIDIwMDYNCiAgICA8cD5Nb3JlIGZpZWxkIGxlbmd0aCBmaXhlczwvcD4NCjwvbGk+DQo8bGk+MS4wLjMgLSBNYXJjaCwgMjAwNg0KICAgIDxwPkV4cG9ydCB0byBzbWFydHkgYWxsIG9mIHRoZSB1c2VyIHByb3BlcnRpZXMgd2hlbiB0aGV5IGFyZSBsb2dnZWQgaW48L3A+DQo8L2xpPg0KPGxpPjEuMC40IC0gTWF5LCAyMDA2DQogICAgPHA+Rml4ZXMgdG8gdGhlIGV4cG9ydCBjb2RlPC9wPg0KICAgIDxwPkNvZGUgY2xlYW51cCAoYWxwaGFiZXRpemUgZnVuY3Rpb25zKTwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzIChyZWNvbW1lbmRlZCBieSBuaWxzNzMpIGZvciBkZWFsaW5nIHdpdGggdGhlIGNoYW5nZSBwYXNzd29yZCBzdHVmZi48L3A+DQogICAgPHA+UmVtb3ZlZCB0aGUgcmVxdWlyZW1lbnQgZm9yIENNUyAwLjEyLCBhbmQgcHV0IGl0IGJhY2sgdG8gMC4xMS4yPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBcJiMwMzk7c2lsZW50XCYjMDM5OyBmb3JtPC9wPg0KICAgIDxwPkNsZWFuZWQgdXAgZGF0YWJhc2UgYWNjZXNzIHN0dWZmIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChob3BlZnVsbHkpPC9wPg0KICAgIDxwPkFkZGVkIGNvcHlyaWdodCBpbmZvPC9wPg0KICAgIDxwPkFkZGVkIG1hY3JvcyBmb3IgcmVkaXJlY3RvIHRvIGEgdXNlciBzcGVjaWZpYyBwYWdlIG9uIGxvZ2luIG9yIGxvZ291dDwvcD4NCiAgICA8cD5Ud2Vha3MgdG8gdGhlIGFkbWluIHByZWZlcmVuY2VzIHRhYjwvcD4NCjwvbGk+DQo8bGk+MS4wLjUgLSBNYXksIDIwMDYNCiAgICA8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCBleHBpcnkgZGF0ZXM8L3A+DQogICAgPHA+U3RhcnQgc3BsaXR0aW5nIHRoZSBjb2RlIHVwIGludG8gc2V2ZXJhbCBmaWxlczwvcD4NCjxsaT4xLjAuNiAtIE1heSwgMjAwNg0KICAgIDxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIGVkaXRpbmcgZHJvcGRvd25zPC9wPg0KPC9saT4NCjxsaT4xLjEuMCAtIE1heSwgMjAwNg0KICAgIDxwPkV2ZW50czwvcD4NCiAgICA8cD5PcHRpb25hbGx5IGRpc2FsbG93IHJlcGVhdGVkIGxvZ2luczwvcD4NCiAgICA8cD5FeHBvcnQgdGhlIHVzZXIgaWQgdG8gc21hcnR5PC9wPg0KICAgIDxwPkFkZGVkIG9wdGlvbmFsbHkgXHskZ3JvdXBcfSBmb3IgdGhlIHBhZ2VzIHRvIGp1bXAgdG8gb24gbG9naW48L3A+DQo8L2xpPg0KPGxpPjEuMS4xIC0gU2VwdCwgMjAwNg0KICAgIDxwPkZpeGVkIGEgYnVnIHdoZW4gYSB1c2VyIHdhcyBlZGl0aW5nIGhpcyBzZXR0aW5ncyB3aXRoIFwmIzAzOTthbGxvdyBkdXBsaWNhdGUgZW1haWxzXCYjMDM5OyB3YXMgb2ZmPC9wPg0KICAgIDxwPkNoYW5nZWQgdGhlIGRyb3Bkb3duIHRhYmxlIHRvIDI1NSBjaGFyYWN0ZXJzPC9wPg0KICAgIDxwPk1pbm9yIGNsZWFudXBzPC9wPg0KPC9saT4NCjxsaT4xLjEuMiAtIERlYywgMjAwNg0KICAgIDxwPkZpeGVzIChob3BlZnVseSkgdG8gdGhlIGFkb2RiL2Fkb2RiLWxpdGUgREFURVRJTUUgaXNzdWU8L3A+DQogICAgPHA+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgbG9naW4gc2NyZWVuIChvcHRpb25hbCksIHRoYW5rcyBkaXR0bWFuPC9wPg0KICAgIDxwPkZpeGVzIHRvIGNhbmNlbCBoYW5kbGluZyBvbiB0aGUgbG9zdCBwYXNzd29yZCBhbmQgY2hhbmdlIHNldHRpbmdzIHNjcmVlbnM8L3A+DQogICAgPHA+Rml4ZXMgdG8gdXNlciBleHBpcnkgKG1vcmUgREJUaW1lc3RhbXAgaXNzdWVzKSwgdGhhbmtzIGFnYWluIGRpdHRtYW48L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IEZFVXNlcnMgdG8gaGF2ZSBpdHMgb3duIHNldCBvZiBwZXJtaXNzaW9ucyBhc3NpZGUgZnJvbSB0aGUgYWRtaW4gcGVybWlzc2lvbnMuICBUaGFua3MgX1NqR188L3A+DQogICAgPHA+T3B0aW9uIHRvIGFsbG93IGR1cGxpY2F0ZSBwYXNzd29yZCByZW1pbmRlciByZXF1ZXN0cyBhbmQgdG8gc3BlY2lmeSB0ZXh0IG9uIHRoZSBzaWduaW4gYnV0dG9uLiAgVGhhbmtzIF9TakdfPC9wPg0KICAgIDxwPkdlbmVyYWwgY2xlYW51cCBvZiBmdW5jdGlvbnMgdGhhdCB3ZXJlIG5vdCBiZWluZyB1c2VkIGFuZCBub3RpY2VzL3dhcm5pbmdzPC9wPg0KICAgIDxwPkFkZGVkIHRoZSBvbmx5X2dyb3VwcyBwYXJhbSBmb3IgbG9naW4gZm9ybXMuICBUaGFua3Mgd2lzaHk8L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZW1haWwgZmllbGQgaW4gdGhlIGNoYW5nZSBwYXNzd29yZCBmb3JtPC9wPg0KICAgIDxwPkZpeGVzIHRvIHRoZSBlbWFpbCB2YWxpZGF0aW9uIHN0dWZmPC9wPg0KPC9saT4NCiAgICA8bGk+MS4yLjAgLSBBcHJpbCwgMjAwNw0KICAgIDxwPmVsaWphaGxvZmdyZW4gLSBGaXhlcyB0byBjYXB0Y2hhIHN1cHBvcnQsIGFuZCBzb21lIHRlbXBsYXRlIGNsZWFudXBzLjwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgbXVsdGkgc2VsZWN0IGxpc3RzPC9wPg0KICAgIDxwPlRlbXBsYXRlIGNsZWFudXBzIChtb3JlIG9mIGVtKTwvcD4NCiAgICA8cD5BZGQgc3VwcG9ydCBmb3IgdmFsdWU9a2V5IHN0dWZmIGluIHRoZSBkcm9wZG93biBhbmQgbXVsdGkgc2VsZWN0IGxpc3RzLjwvcD4NCiAgICA8cD5iZXR0ZXIgY2hlY2tpbmcgb2YgdGhlICZxdW90O2F0IGxlYXN0IG9uZSBncm91cCByZXF1aXJlZCZxdW90OyBzdHVmZjwvcD4NCiAgICA8cD5PdXRwdXQgbW9yZSBzbWFydHkgdmFyaWFibGVzIG9uIHRoZSB1c2VyIHNldHRpbmdzIHBhZ2UsIHRvIGFsbG93IHBlb3BsZSB0byBtb2RpZnkgdGhlIHRlbXBsYXRlIHRvIHNvbWV0aGluZyB0aGF0IGlzIG1vcmUgYWNjZXNzaWJpbGU8L3A+DQogICAgPHA+U3BsaXQgaW50byBtb3JlIGZpbGVzIGZvciBwZXJmb3JtYW5jZTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyBub3QgZGVsZXRlIGEgZ3JvdXAgdGhhdCBzdGlsbCBoYXMgdXNlcnM8L3A+DQogICAgPHA+Tm93IGhhbmRsZSByZWdleCBwcm9ibGVtcyBiZXR0ZXIgaW4gdGhlIGFkbWluIHNlY3Rpb24gdXNlcnMgdGFiPC9wPg0KICAgIDxwPkVtYWlsIGZpZWxkcywgd2hlbiBzcGVjaWZpZWQgYXMgb3B0aW9uYWwsIG1ha2UgZW0gYWN0dWFsbHkgb3B0aW9uYWw8L3A+DQogICAgPHA+QWRkIHN1cHBvcnQgZm9yIGltYWdlIHVwbG9hZHMsIHRoaXMgaXMgYSBiaWcgZmVhdHVyZS4gIEltYWdlcyBhcmUgc2NhbGVkIHRvIGEgbWF4aW11bSBzaXplIGluIG9uZSBkaW1lbnNpb24sIGFuZCBzdG9yZWQgYXMgZmlsZXMgaW4gYSBjb25maWd1cmFibGUgZGlyZWN0b3J5IHVuZGVyIHRoZSB1cGxvYWRzX3BhdGguPC9wPg0KICAgIDxwPkNhcHRjaGEgbW9kZSBpcyBub3cgb24gYnkgZGVmYXVsdCwgdW5sZXNzIHlvdSB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgaW4gdGhlIHRhZy48L3A+DQogICAgPHA+Rml4ZXMgdG8gQ1NWIGV4cG9ydC4uLiBpdCB3YXMgYXNzdW1pbmcgdGhlIGRiX3ByZWZpeCBpcyBjbXNfPC9wPg0KICAgIDxwPkltcG9ydCBVc2VycyBmcm9tIENTVjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIG1ldGhvZHMsIGFuZCBub3cgdGhlIGFsbG93X3JlcGVhdGVkX2xvZ2lucyBwcmVmZXJlbmNlIHNob3VsZCB3b3JrPC9wPg0KICAgIDxwPkFkZHMgcHJvcGVyIHVzZXIgaGlzdG9yeSB0cmFja2luZy4gIE5vdyB0cmFjayBmYWlsZWQgbG9naW5zLCBsb2dpbnMsIGV4cGlyaWVzLCBhbmQgbG9nb3V0cywgb24gYSBwZXIgdXNlciBiYXNpcy48L3A+DQogICAgPHA+Rml4ZXMgdG8gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHVzZXIgc2V0dGluZ3MgcGFnZSwgaWYgdGhlIHVzZXIgc2V0dGluZ3MgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5GaXhlcyB0byB0aGUgY2FuY2VsIGJ1dHRvbiBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIHBhZ2UsIGlmIHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybSBpcyBvbiBhIGRpZmZlcmVudCBwYWdlLjwvcD4NCiAgICA8cD5NaW5vciBmaXhlcyB0byBiZWhhdmlvdXIgb2FmIHRoZSBwcmVmZXJlbmNlcyBwYW5lbHMuPC9wPg0KPC9saT4NCjxsaT4xLjIuMSAtIEp1bmUsIDIwMDcNCgk8cD5BIGNvb2tpZSBpcyBub3cgdXNlZCB0byBrZWVwIHRyYWNrIG9mIGxvZ2luIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMsIGhvd2V2ZXIgdGhlIGNvb2tpZSBkb2VzIG5vdCBsYXN0IGFueSBsb25nZXIgdGhhbiB0aGUgdGltZW91dCBzcGVjaWZpZWQgaW4gdGhlIHVzZXIgc2V0dGluZ3MuPC9wPg0KCTxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhbiBhZG1pbmlzdHJhdG9yIHRvIGxvZ291dCB1c2VyczwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgYnkgbG9nZ2VkIGluIHN0YXR1czwvcD4NCgk8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgcmVhZC1vbmx5IHByb3BlcnRpZXMuPC9wPg0KCTxwPkFkZGVkIG1vcmUgdmFyaWFibGVzIGluIGVhY2ggb2JqZWN0IGluIHRoZSBjaGFuZ2VzZXR0aW5ncyBmb3JtPC9wPg0KPC9saT4NCjxsaT4NCgk8cD4xLjIuMiAtIEp1bmUsIDIwMDc8L3A+DQoJPHA+dHN3IC0gQWRkZWQgZXZlbnQgT25VcGRhdGVVc2VyIHdoaWNoIGdldHMgY2FsbGVkIHdoZW4gdXNlciAob3IgYWRtaW4pIHVwZGF0ZXMgdXNlciBpbmZvPC9wPg0KICAgICAgICANCjwvbGk+DQo8bGk+MS4zIC0gT2N0b2JlciwgMjAwNw0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgJiMwMzk7cmVtZW1iZXIgbWUmIzAzOTsgc28gdGhhdCBsb2dpbiBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gYSBjb29raWUuICBBbmQgc3VwcG9ydCBmb3IgYSBmb3JtIHRvIGFsbG93IHRoYXQgY29va2llIHRvIGJlIHJlc2V0LjwvcD4NCjxwPk5vIGxvbmdlciBzdXBwb3J0IG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBpbiBwcm9wZXJ0eSBuYW1lcy48L3A+DQo8cD5OdW1lcm91cyBzbWFsbCBidWdmaXhlcy48L3A+DQo8cD5SZXF1aXJlIENNUyAxLjIgb3IgZ3JlYXRlci48L3A+DQo8L2xpPg0KPGxpPjEuMy4xIC0gTm92ZW1iZXIsIDIwMDcNCjxwPkZpeGVzIHByb2JsZW1zIHdpdGggcGFyYW1ldGVycyBub3QgYmVpbmcgY2xlYW5lZCBpbiB0aGUgY2hhbmdlIHNldHRpbmdzIGRpYWxvZyBvbiB0aGUgZnJvbnQgZW5kLjwvcD4NCjxwPkZpeGVzIGFuIHVwZHJhZGUgaXNzdWUgaW4gdGhlIGRhdGFiYXNlIHNjaGVtYTwvcD4NCjxwPkZpeGVzIGFuIGlzc3VlIGluIGEgR2V0U21hcnR5KCkgY2FsbCB0aGF0IHdhcyBhcHBhcmVudGx5IGNhdXNpbmcgcGVvcGxlIGRpZmZpY3VsdGllcyB3aXRoIHRoZSBsb2dpbiBmb3JtLjwvcD4NCjxwPkFkZCBhIHByZWZlcmVuY2UgdGhhdCBhbGxvd3MgYWRtaW5zIHRvIHNwZWNpZnkgYSBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHRoZSBmb3Jnb3QgcGFzc3dvcmQgdmFsaWRhdGlvbiBmb3JtIGlzIGNvbXBsZXRlLjwvcD4NCjxwPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGhpZGRlbiBwcm9wZXJ0aWVzIGJlaW5nIGxvc3QgYWZ0ZXIgYSB1c2VyIGNoYW5nZWQgdGhlaXIgc2V0dGluZ3MuPC9wPg0KPHA+VGhlIEZvcmdvdCBQYXNzd29yZCBhbmQgTG9zdCBVc2VybmFtZSBmb3JtcyBhcmUgbm93IGlubGluZTwvcD4NCjxwPkZpeGVzIHRvIGVycm9ycyBpbiBlbmNyeXB0aW9uIHdpdGggdGhlIHNlc3Npb25pbmc8L3A+DQo8cD5GaXhlcyB0byB0aGUgbG9zdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5LjwvcD4NCjxsaT4xLjMuMyAtIERlY2VtYmVyLCAyMDA3DQo8cD5Ob3cgb3B0aW9uYWxseSBhbGxvdyBzb21lIGZyb250ZW5kIGZvcm1zIHRvIGJlIGlubGluZWQuPC9wPg0KPHA+QWRkIGVtYWlsIG5vdGlmaWNhdGlvbnMgd2hlbiB1c2VyIGNoYW5nZXMgdGhlaXIgc2V0dGluZ3MsIG9yIG9uIGFueSBvdGhlciBldmVudC48L3A+DQo8cD5DaGFuZ2UgdGhlIG1heGltdW0gZGF0YSBzaXplIGZvciBwcm9wZXJ0aWVzIGZyb20gMjU1IGNoYXJhY3RlcnMgdG8gbG9uZ3RleHQ8L3A+DQo8cD5GaXhlcyBhbiBpc3N1ZSB3aGVyZSB0aGUgbG9nb3V0IGxpbmtzIGRpZCBub3Qgb2JleSB0aGUgcHJlZmVyZW5jZSB3aGljaCBkaWN0YXRlZCB3aGljaCBwYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGxvZ291dC48L3A+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Gb3Jnb3QgcGFzc3dvcmQsIGFuZCBmb3Jnb3QgdXNlcm5hbWUgZnVuY3Rpb25hbGl0eS4uLi4gYWxsb3dzIHVzZXJzIHRvIHNldCBhIG5ldyBwYXNzd29yZCwgYW5kL29yIHRvIHJlY292ZXIgdGhlaXIgdXNlcm5hbWUgaWYgdGhleSBjb21wbGV0ZWx5IGZvcmdvdCBsb2dpbiBkZXRhaWxzLjwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmcXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8dWw+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmb3JtPSZxdW90O25hbWUmcXVvdDs8L2xpPg0KPHA+Rm9ybXM6DQo8dWw+DQogPGxpPjxlbT5sb2dpbjwvZW0+IC0gRGlzcGxheSB0aGUgbG9naW4gZm9ybTwvbGk+DQogPGxpPjxlbT5sb2dvdXQ8L2VtPiAtIERpc3BsYXkgdGhlIGxvZ291dCBmb3JtPC9saT4NCiA8bGk+PGVtPmNoYW5nZXNldHRpbmdzPC9lbT4gLSBEaXNwbGF5IHRoZSBjaGFuZ2Ugc2V0dGluZ3MgZm9ybTwvbGk+DQogPGxpPjxlbT5mb3Jnb3RwdzwvZW0+IC0gRGlzcGxheSB0aGUgZm9yZ290IHBhc3N3b3JkIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9zdHVzZXJuYW1lPC9lbT4gLSBEaXNwbGF5IHRoZSBsb3N0IHVzZXJuYW1lIGZvcm0uPC9saT4NCjxsaT48ZW0+c2lsZW50PC9lbT4gPSBEaXNwbGF5IG5vdGhpbmcsIGJ1dCBleHBvcnQgcHJvcGVydGllcyBhbmQgb3RoZXIgc21hcnR5IHZhcmlhYmxlcyBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4gIElmIG5vIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIG5vIHZhcmlhYmxlcyBhcmUgZXhwb3J0ZWQuPC9saT4NCjwvdWw+DQo8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXR1cm50bz0mcXVvdDtwYWdlJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4sIGxvZ291dCwgYW5kIGNoYW5nZXNldHRpbmdzIGZvcm1zLCB0aGlzIHBhcmFtZXRlciBjb250YWlucyB0aGUgcGFnZSBpZCBvciBhbGlhcyBvZiBhIHBhZ2UgdG8gcmVkaXJlY3QgdG8sIHdoZW4gdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZDwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9ubHlfZ3JvdXBzPSZxdW90O2dyb3VwMSwgZ3JvdXAyLCBncm91cDMmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gIEJhc2ljYWxseSBvbmx5IGFsbG93cyB1c2VycyB0byBsb2dpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGF0IHBhcnRpY3VsYXIgZ3JvdXAocykuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9zdHVuX2dyb3VwPSZxdW90O2dyb3VwJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9zdHVzZXJuYW1lIGZvcm0sIHRoaXMgZmVhdHVyZSBzcGVjaWZpZXMgdGhlIGZyb250ZW5kIHVzZXIgZ3JvdXAgdG8gYXNzdW1lIHRodCB1c2VycyBhcmUgbWVtYmVycyBvZi48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9JnF1b3Q7MSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiBoaXMgd2lsbCBkaXNuYWJsZSBjYXB0Y2hhIG9uIHRoZSBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGZvciBsb2dpbi4gIFRoaXMgaXMgYSBzZWN1cml0eSBtZWFzdXJlIGludGVudGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy48L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwNjgwMDU4My4xNTguNTYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWF1dG9kaWVseS1iay5za3x1dG1jY3Q9L2FkbWluL2xpc3Rtb2R1bGVzLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMzQ0NDA5MDUzLjExODA4MDI0OTQuMTIwODk3NDE1Ni4xMjA4OTc4MTE3LjE5Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ1VyZWphbmplIHVwb3JhYm5pa2EnOwokbGFuZ1snbm9pbmxpbmUnXSA9ICdCcmV6IGlubGluZSBvYnJhemNldic7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0tsaWtuaXRlLCDEjWUgc3RlIHBvemFiaWxpIHVwb3JhYm5pJnNjYXJvbjtrbyBpbWUgaW4gZ2VzbG8nOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ0tsaWtuaXRlLCDEjWUgc3RlIHBvemFiaWxpIHZhJnNjYXJvbjtlIGdlc2xvJzsKJGxhbmdbJ2luZm9fbG9nb3V0J10gPSAnS2xpa25pdGUgemEgb2RqYXZvJzsKJGxhbmdbJ2luZm9fY2hhbmdlc2V0dGluZ3MnXSA9ICdLbGlrbml0ZSwgxI1lIMW+ZWxpdGUgbmFzdGF2aXRpIHZhJnNjYXJvbjtlIGdlc2xvIGFsaSBkcnVnZSBpbmZvcm1hY2lqZSc7CiRsYW5nWyd2aWV3dXNlcl90ZW1wbGF0ZSddID0gJ1BvZ2xlaiBwcmVkbG9nbyB1cG9yYWJuaWthJzsKJGxhbmdbJ2V2ZW50J10gPSAnRG9nb2Rlayc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnT2J2ZXN0aWxvIG8gRkVVIGRvZ29ka3UnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnRS1wbyZzY2Fyb247dG5pIG5hc2xvdmkgemEgb2J2ZXN0aWxhJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdQcmVkbG9nZSB6YSBvYnZlc3RpbGEgcG8gRS1wbyZzY2Fyb247dGknOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnWmFkZXZhIChzdWJqZWN0KSBvYnZlc3RpbCBwbyBFLXBvJnNjYXJvbjt0aSc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9ucyddID0gJ09idmVzdGlsYSBwbyBFLXBvJnNjYXJvbjt0aSc7CiRsYW5nWydPbkxvZ2luJ10gPSAnT2IgcHJpamF2aSc7CiRsYW5nWydPbkxvZ291dCddID0gJ09iIG9kamF2aSc7CiRsYW5nWydPbkV4cGlyZVVzZXInXSA9ICdPYiBpenRla3Ugc2VqZSc7CiRsYW5nWydPbkNyZWF0ZVVzZXInXSA9ICdPYiByZWdpc3RyYWNpamknOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnT2IgaXpicmlzdSB1cG9yYWJuaWthJzsKJGxhbmdbJ09uVXBkYXRlVXNlciddID0gJ09iIHNwcmVtZW1iaSBuYXN0YXZpdGV2JzsKJGxhbmdbJ09uQ3JlYXRlR3JvdXAnXSA9ICdPYiB1c3Rhbm92aXR2aSBza3VwaW5lJzsKJGxhbmdbJ09uRGVsZXRlR3JvdXAnXSA9ICdPYiBpemJyaXN1IHNrdXBpbmUnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdVcG9yYWJuaSZzY2Fyb247a28gaW1lLCBraSB1c3RyZXphIHBvZGF0a29tLCBraSBzdGUgamloIHZwaXNhbGksIGplIGJpbG8gdXNwZSZzY2Fyb247bm8gbmFqZGVuby4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ1ZhJnNjYXJvbjtlIHVwb3JhYm5pJnNjYXJvbjtrbyBpbWUgamUnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wb3N0bXNnJ10gPSAnU3ZldHVqZW1vIHZhbSwgZGEgc2kgdGUgcG9kYXRrZSBzaHJhbml0ZSBuYSB2YXJubyBsb2thY2lqby4nOwokbGFuZ1sncHJvbXB0X2FmdGVyX2NoYW5nZV9zZXR0aW5ncyddID0gJ0lEIHN0cmFuaS9hbGlhcyB6YSBwcmV1c21lcml0ZXYgcG8gc3ByZW1lbWJpIHBvZGF0a292JzsKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ0lEIHN0cmFuaS9hbGlhcyB6YSBwcmV1c21lcml0ZXYgcG8gcHJldmVyamFuanUga29kZSAqJzsKJGxhbmdbJ2xvc3R1bl9kZXRhaWxzX3RlbXBsYXRlJ10gPSAnUHJlZGxvZ2EgemEgcG96YWJsamVubyB1cG9yYWJuaSZzY2Fyb247a28gaW1lJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnUHJlZGxvZ2EgemEgcG90cmRpdGV2IHBvemFibGplbmVnYSB1cG9yYWJuaSZzY2Fyb247a2VnYSBpbWVuYSc7CiRsYW5nWydlcnJvcl9ub251bmlxdWVtYXRjaCddID0gJ05hcGFrYTogVm5lJnNjYXJvbjtlbmltIG5hc3Rhdml0dmFtIHVzdHJlemEgdmXEjSByYcSNdW5vdic7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdOYXBha2E6IE5lIG5hamRlbSB1c3RyZXpuZWdhIHVwb3JhYm5pa2EnOwokbGFuZ1snZXJyb3JfZ3JvdXBub3Rmb3VuZCddID0gJ05hcGFrYTogTmUgbmFqZGVtIHNrdXBpbmUgcyB0ZW0gaW1lbm9tJzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnU2FtbyB6YSBicmFuamUnOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1JhenJlZCB6YSB1cmVqYW5qZSB1cG9yYWJuaWtvdic7CiRsYW5nWydhZG1pbl9sb2dvdXQnXSA9ICdPZGphdmxqZW4gcyBzdHJhbmkgYWRtaW5pc3RyYXRvcmphJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdQcmlrYcW+aSBzYW1vIHByaWphdmxqZW5lIHVwb3JhYm5pa2UnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ09kamF2aSB0ZWdhIHVwb3JhYm5pa2EnOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnTmFzdGF2aXR2ZSB1cG9yYWJuaWthJzsKJGxhbmdbJ3VzZXJoaXN0b3J5J10gPSAnWmdvZG92aW5hIHVwb3JhYm5pa2EnOwokbGFuZ1snZXhwb3J0J10gPSAnSXp2b3ppJzsKJGxhbmdbJ2NsZWFyJ10gPSAnSXpicmkmc2Nhcm9uO2knOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnSXp2b3ppIHVwb3JhYm5pa292byB6Z29kb3Zpbm8gdiBBU0NJSSwga2kgaW1hIG5ham1hbmonOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdJemJyaSZzY2Fyb247aSB1cG9yYWJuaWtvdm8gemdvZG92aW5vLCBraSBpbWEgbmFqbWFuaic7CiRsYW5nWyd0aXRsZV9sb3N0dXNlcm5hbWUnXSA9ICdTdGUgcG96YWJpbGkgdXBvcmFibmkmc2Nhcm9uO2tvIGltZSBhbGkgZ2VzbG8/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0l6dm96aSBkZWZpbmljaWpvIHNrdXBpbmUgKGluIG5hc3Rhdml0dmUpIHYgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdWemRyxb5ldmFuamUgemdvZG92aW5lIHVwb3JhYm5pa292JzsKJGxhbmdbJ3llcyddID0gJ0RhJzsKJGxhbmdbJ25vJ10gPSAnTmUnOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnb2QnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogYnJleiBvbWVqaXR2ZSAqKic7CiRsYW5nWydkYXRlX29uZWhvdXJvbGQnXSA9ICdzdGFyb3N0IDEgdXJvJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ3N0YXJvc3QgNiB1cic7CiRsYW5nWydkYXRlX3R3ZWx2ZWhvdXJvbGQnXSA9ICdzdGFyb3N0IDEyIHVyJzsKJGxhbmdbJ2RhdGVfb25lZGF5b2xkJ10gPSAnc3Rhcm9zdCAxIGRhbic7CiRsYW5nWydkYXRlX29uZXdlZWtvbGQnXSA9ICdzdGFyb3N0IDEgdGVkZW4nOwokbGFuZ1snZGF0ZV90d293ZWVrc29sZCddID0gJ3N0YXJvc3QgMiB0ZWRuYSc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnc3Rhcm9zdCAxIG1lc2VjJzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICdzdGFyb3N0IDMgbWVzZWNlJzsKJGxhbmdbJ2RhdGVfc2l4bW9udGhzb2xkJ10gPSAnc3Rhcm9zdCA2IG1lc2VjZXYnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnc3Rhcm9zdCAxIGxldG8nOwokbGFuZ1sndGl0bGVfZ3JvdXBzb3J0J10gPSAnR3J1cGlyYW5qZSBpbiBzb3J0aXJhbmplJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzZm91bmQnXSA9ICdaYXBpc2ksIGtpIHVzdHJlemFqbyBrcml0ZXJpanUnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdVcG9yYWJuaSZzY2Fyb247a28gaW1lIHBhZGFqb8SNZSc7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnVXBvcmFibmkmc2Nhcm9uO2tvIGltZSBuYXJhJnNjYXJvbjvEjWFqb8SNZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9kZXNjJ10gPSAnRGF0dW0gcGFkYWpvxI1lJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ0RhdHVtIG5hcmEmc2Nhcm9uO8SNYWpvxI1lJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ1RpcCBkb2dvZGthIHBhZGFqb8SNZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2FzYyddID0gJ1RpcCBkb2dvZGthIG5hcmEmc2Nhcm9uO8SNYWpvxI1lJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0lQIG5hc2xvdiBwYWRham/EjWUnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdJUCBuYXNsb3YgbmFyYSZzY2Fyb247xI1ham/EjWUnOwokbGFuZ1snaW5mb19ub2hpc3RvcnlkZXRlY3RlZCddID0gJ05lIG5hamRlbSB6Z29kb3ZpbmUnOwokbGFuZ1sncmVzZXQnXSA9ICdQb25hc3RhdmknOwokbGFuZ1sncHJvbXB0X2dyb3VwX2lwJ10gPSAnR3J1cGlyYWogcG8gSVAgbmFzbG92dSc7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZSddID0gJ0ZpbHRlciBwbyB0aXB1IGRvZ29ka2EnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnUHJpa2HFvmkgc2FtbyBkb2dvZGtlLCBraSBzbyBtYW5qIGtvdDonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ09tZWppdGV2IHN0cmFuaSc7CiRsYW5nWydmb3InXSA9ICd6YSc7CiRsYW5nWyd0aXRsZV91c2VyaGlzdG9yeSddID0gJ1Bvcm/EjWlsbyBvIHpnb2RvdmluaSB1cG9yYWJuaWthJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdOZXpuYW5vJzsKJGxhbmdbJ3Byb21wdF9pcGFkZHJlc3MnXSA9ICdJUCBuYXNsb3YnOwokbGFuZ1sncHJvbXB0X2V2ZW50dHlwZSddID0gJ1RpcCBkb2dvZGthJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ05hemFqJzsKJGxhbmdbJ2ltcG9ydF9jb21wbGV0ZV9tc2cnXSA9ICdVdm96IGtvbsSNYW4nOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnT2JkZWxhbmloIHZyc3RpYyc7CiRsYW5nWydwcm9tcHRfZXJyb3JzJ10gPSAnWmF6bmFuaWggbmFwYWsnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNhZGRlZCddID0gJ1phcGlzb3YgZG9kYW5paCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnTmUgbmFqZGVtIG5hc3Rhdml0ZXYgemEgc2t1cGlubyAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ05lIG1vcmVtIGRvYml0aSBvZGdvdm9yYSBzIFNNVFAgc3RyZcW+bmlrYSc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdJemJyYW5hIGRhdG90ZWthICglcykgbmUgb2JzdGFqYSc7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWVsZHZhbHVlJ10gPSAnTmFwYcSNbmEgdnJlZG5vc3QgemEgaXpiaXJvICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnUG9samUgJXMgcHJlc2VnYSBuYWp2ZcSNam8gZG92b2xqZW5vIGRvbMW+aW5vJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHVzZXJzJ10gPSAnTmFwYWthIHByaSB1dm96dSAodnJzdGljYSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdOZSBtb3JlbSBkb2JpdGkgdnJlZG5vc3RpIG5hc3Rhdml0dmUgKGludGVybmEgbmFwYWthKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ2luZm8nXSA9ICdUZcW+YXZlIHByaSBuYXN0YXZsamFuanUgdXBvcmFibmlrb3ZpaCBuYXN0YXZpdGV2JzsKJGxhbmdbJ2Vycm9yX2ltcG9ydHJlcXVpcmVkZmllbGQnXSA9ICdOZSBuYWpkZW0gc3RvbHBjYSB6YSBvYnZlem5vIHBvbGplICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnTmUgbmFqZGVtIG5hc3Rhdml0ZXYgaXpicmFuZSBza3VwaW5lJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpbGVmb3JtYXQnXSA9ICdEYXRvdGVrYSB6YSB1dm96IG5pIHYgcHJhdmlsbmVtIHphcGlzdSc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdG9wZW5maWxlJ10gPSAnTmUgbW9yZW0gb2RwcmV0aSBkYXRvdGVrZSc7CiRsYW5nWydpbmZvX2ltcG9ydHVzZXJzZmlsZWZvcm1hdCddID0gJzxoND5GaWxlIEZvcm1hdCBJbmZvcm1hdGlvbjwvaDQ+DQo8cD5UaGUgaW5wdXQgZmlsZSBtdXN0IGJlIGluIEFTQ0lJIGZvcm1hdCB1c2luZyBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzLiAgRWFjaCBsaW5lIGluIHRoaXMgaW5wdXQgZmlsZSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoZWFkZXIgbGluZSwgZGlzY3Vzc2VkIGJlbG93KSByZXByZXNlbnRzIG9uZSB1c2VyIHJlY29yZC4gIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIGZpZWxkcywgYW5kIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGluIGVhY2ggbGluZSBtdXN0IGJlIGlkZW50aWNhbC48L3A+DQo8aDU+SGVhZGVyIGxpbmU8L2g1Pg0KPHVsPg0KPGxpPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCB0d28gcG91bmQgKFwjKSBjaGFyYWN0ZXJzLCBhbmQgbmFtZXMgZWFjaCBvZiB0aGUgZmllbGRzIGluIHRoZSBmaWxlLiAgVGhlIG5hbWVzIG9mIHRoZXNlIGZpZWxkcyBpcyBzaWduaWZpY2FudC4gIFRoZXJlIGFyZSBzb21lIHJlcXVpcmVkIGZpZWxkIG5hbWVzIChzZWUgYmVsb3cpLCBhbmQgb3RoZXIgZmllbGQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB1c2VycyBhcmUgZ29pbmcgdG8gYmUgYWRkZWQgaW50by48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGZhaWwgaWYgdGhlIGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSBkb2VzIG5vdCBtYXRjaCBhbGwgb2YgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBncm91cCB0aGF0IHVzZXJzIGFyZSBiZWluZyBhZGRlZCBpbnRvPC9saT4NCjxsaT5UaGUgaW5wdXQgZmlsZSBtYXkgY29udGFpbiBmaWVsZHMgcmVwcmVzZW50aW5nIHNvbWUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgaW4gdGhlIHNwZWNpZmllZCBncm91cC48L2xpPg0KPGxpPlRoZSBpbXBvcnQgcHJvY2VzcyB3aWxsIGlnbm9yZSBhbnkgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIHRoYXQgYXJlIGVpdGhlciBub3Qga25vd24sIG9yIG1hcCB0byBwcm9wZXJ0aWVzIHRoYXQgYXJlIDxlbT5vZmY8L2VtPiBpbiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXAuPC9saT4NCjwvdWw+DQo8aDU+Q29sdW1uYXIgRGF0YTwvaDU+DQo8dWw+DQo8bGk+VGhlIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gRmllbGQgLSBUaGUgZGVzaXJlZCB1c2VybmFtZS4NCiAgICA8cD5UaGlzIGZpZWxkIG11c3QgZXhpc3QgaW4gdGhlIGhlYWRlcmxpbmUsIGFuZCBpbiBlYWNoIGFuZCBldmVyeSBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlLiBUaGUgcmVjb3JkIHdpbGwgZmFpbCBpZiBhIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBkYXRhYmFzZS48L3A+PC9saT4NCjxsaT5UaGUgPHN0cm9uZz5wYXNzd29yZDwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPlRoZSA8c3Ryb25nPmV4cGlyZXM8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5Ecm9wZG93biBGaWVsZHMNCiAgICA8cD5UaGUgdmFsdWUgb2YgZHJvcGRvd24gcHJvcGVydGllcyBpbiBhbiBpbXBvcnQgZmlsZSBpcyByZXByZXNlbnRlZCBhcyB0aGUgc3RyaW5nIHRoYXQgaXMgc2hvd24gaW4gdGhlIGRyb3Bkb3duIGNvbnRyb2wgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+TXVsdGlzZWxlY3QgRmllbGRzDQogICAgPHA+TXVsdGlzZWxlY3QgZmllbGRzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBBU0NJSSBmaWxlIGFzIGEgOiBzZXBhcmF0ZWQgbGlzdCBvZiBzdHJpbmdzLCB3aGVyZSBlYWNoIHN0cmluZyByZXByZXNlbnRzIHRoZSB0ZXh0IHNob3duIGluIHRoZSBtdWx0aXNlbGVjdCBsaXN0PC9wPg0KPC9saT4NCjxsaT5JbWFnZSBGaWVsZHMNCiAgICA8cD5JbWFnZSBhcmUgZmllbGRzIHdobyYjMDM5O3MgY29sdW1uIG5hbWUgbWF0Y2hlcyBhIHByb3BlcnR5IG9mIHR5cGUgSW1hZ2UuICBJZiB0aGlzIGZpZWxkIGlzIGEgcmVxdWlyZWQgcGFydCBvZiB0aGUgZGVzdGluYXRpb24gZ3JvdXAsIHRoZW4gdGhlIG5hbWUgc3BlY2lmaWVkIGluIHRoZXNlIGNvbHVtbnMgbXVzdCBleGlzdCBpbiB0aGUgdXBsb2FkcyBkaXNyZWN0b3J5IG9mIHRoZSBDTVMgaW5zdGFsbGF0aW9uLiAgSWYgdGhlIGltYWdlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBmYWlsLjwvcD4NCjwvdWw+DQo8aDU+Tm90ZXM8L2g1Pg0KPHA+VGhlIGltcG9ydCBwcm9jZXNzIGlzIHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdGhlIGhvc3QgcHJvdmlkZXIsIHN1Y2ggYXMgbWVtb3J5IGxpbWl0YXRpb25zLCBwcm9jZXNzaW5nIHRpbWUsIGZpbGUgc2l6ZSB1cGxvYWQsIGFuZCBzYWZlIG1vZGUgcmVzdHJpY3Rpb25zLiAgQW55IG9uZSBvZiB0aGVzZSBsaW1pdGF0aW9ucyBtYXkgY2F1c2UgdGhlIGltcG9ydCB0byBmYWlsLiBUaGVyZWZvcmUgaXQgaXMgYWR2aXNhYmxlIHRvIGVuc3VyZSB0aGF0IGltcG9ydCBmaWxlcyBhcmUgc21hbGxlciBpbiBzaXplLCBhbmQgc2ltcGxlciBpbiBuYXR1cmUuPC9wPg0KPHA+VGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IGRhdGFiYXNlIGNvcnJ1cHRpb24gd2lsbCBub3Qgb2NjdXIsIGl0IGlzIGFkdmlzYWJsZSB0byBwZXJmb3JtIGEgZGF0YWJhc2UgYmFja3VwIGJlZm9yZSBkb2luZyBhIHVzZXIgaW1wb3J0LjwvcD4NCjxoNT5FeGFtcGxlPC9oNT4NCjxwcmU+DQojI3VzZXJuYW1lLGZpcnN0X25hbWUsbGFzdF9uYW1lLGVtYWlsLGNpdHksc3RhdGUsY291bnRyeSx6aXANCnVzZXIxLHRlc3QsdXNlcix1c2VyMUBzb21lZG9tYWluLmNvbSxzb21ld2hlcmUsVFgsVVMsMTIzNDUNCjwvcHJlPg0KJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnRkZXN0Z3JvdXAnXSA9ICdVdm96aSB1cG9yYWJuaWtlIHYgdG8gc2t1cGlubyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdWaG9kbmEgQ1NWIGRhdG90ZWthJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnVmhvZG5hIFhNTCBkYXRvdGVrYSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcnMnXSA9ICdJenZvemkgdXBvcmFibmlrZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdVdm96aSB1cG9yYWJuaWtlJzsKJGxhbmdbJ3Byb21wdF9jbGVhciddID0gJ0l6YnJpJnNjYXJvbjtpJzsKJGxhbmdbJ3Byb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRoJ10gPSAnUG90IHphIHNocmFuamV2YW5qZSBzbGlrJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnTmlzdGUgaXpicmFsaSBkYXRvdGVrZSB6YSBwcmVub3MgKG9idmV6bm8pJzsKJGxhbmdbJ2Vycm9yX2JhZF94bWwnXSA9ICdOZSBtb3JlbSBwcmVicmF0aSBwb2RhbmUgWE1MIGRhdG90ZWtlJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdOZSBtb3JlbSBpemJyaXNhdGkgc2t1cGlubywga2kgdnNlYnVqZSB1cG9yYWJuaWtlJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdUYSB1cG9yYWJuaWsgamUgxb5lIHByaWphdmxqZW4nOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnQmVzZWRpbG8gcyBzbGlrZSBzdGUgcHJlcGlzYWxpIG5hcGHEjW5vJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdEb3ZvbGkgdXBvcmFibmlrb20gdmXEjWtyYXRubyBwcmlqYXZvJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdlX2V4dGVuc2lvbnMnXSA9ICdLYXRlcmUga29uxI1uaWNlIHNsaWtvdm5paCBkYXRvdGVrIGxhaGtvIHVwb3JhYm5pa2kgbmFsb8W+aWpvJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBpZCBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZCBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gdG8gdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBpcyBleHBpcmVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgdXNlciBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGluZm8gaXMgdXBkYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgc2t1cGluYSc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIFYgdGVoIHBvbGppaCBsYWhrbyB1cG9yYWJpdGUgbmFzbGVkbmplIG1ha3JlOiB7JHVzZXJuYW1lfSx7JGdyb3VwfS4gS28gdXBvcmFibGphdGUgbWFrcm8geyRncm91cH0gYm8gc2lzdGVtIHphbWVuamFsIGltZSBza3VwaW5lIHBydmVnYSDEjWxhbmEgaW4gcHJldXNtZXJpbCBuYSB0byBzdHJhbi4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1VyZWRpdGUgdG8gcG9samUsIMSNZSDFvmVsaXRlIHNwcmVtZW5pdGkgZ2VzbG8gdXBvcmFibmlrYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnVXJlZGl0ZSB0byBwb2xqZSwgxI1lIMW+ZWxpdGUgc3ByZW1lbml0aSBnZXNsbyB1cG9yYWJuaWthJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1lX2V4aXN0cyddID0gJ1Vwb3JhYm5payBzIHRlbSB1cG9yYWJuaSZzY2Fyb247a2ltIGltZW5vbSDFvmUgb2JzdGFqYSc7CiRsYW5nWydub2NzdnJlc3VsdHMnXSA9ICdOaSByZXp1bHRhdG92IGl6IENTViBpenZvemEnOwokbGFuZ1sncHJvbXB0X3VuZmxkbGVuJ10gPSAnRG9sxb5pbmEgdXBvcmFibmkmc2Nhcm9uO2tlZ2EgaW1lbmEnOwokbGFuZ1sncHJvbXB0X3B3ZmxkbGVuJ10gPSAnRG9sxb5pbmEgZ2VzbGEnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggZG9sxb5pbmkgZ2VzbGEgc3RhIG5hcGHEjW5pJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZWxlbmd0aHMnXSA9ICdNaW4vTWF4IGRvbMW+aW5pIHVwb3JhYm5pJnNjYXJvbjtrZWdhIGltZW5hIHN0YSBuYXBhxI1uaSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZW1haWxhZGRyZXNzJ10gPSAnTmFwYcSNZW4gRS1tYWlsIG5hc2xvdic7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0UtcG8mc2Nhcm9uO3RuaSBuYXNsb3YgemEgdGEgcmHEjXVuIG5pIGJpbCBuYWpkZW4nOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Rlxb5hdmUgcHJpIG5hc3RhdmxqYW5qdSB1cG9yYWJuaWtvdmloIGluZm9ybWFjaWonOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnVGXFvmF2YSBwcmkgZG9kZWxqZXZhbmp1IG5hc3Rhdml0dmUnOwokbGFuZ1sndXNlcl9hZGRlZCddID0gJ1Vwb3JhYm5payBkb2RhbiAlcyA9ICVzJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ1Vwb3JhYm5payBpemJyaXNhbiB1aWQ9JXMnOwokbGFuZ1sncHJvcGVydHlmaWx0ZXInXSA9ICdOYXN0YXZpdGV2JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWcmVkbm9zdCAocmVndWxhcm5pIGl6cmF6KSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1Bvem9yOiB0YSBwb2xqYSBpbWFqbyB2cGxpdiBuYSB2ZWxpa29zdCBwb2xqIHphIG9icmF6Y2UuIFptYW5qJnNjYXJvbjtldmFuamUgdGVnYSAmc2Nhcm9uO3RldmlsYSBuYSBvYnN0b2plxI1pIHN0cmFuaSBuaSBwcmlwb3JvxI1saml2YS4nOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBuYXN0YXZpdGkgbW/Fvm5vc3RpIG1vZHVsYT8nOwokbGFuZ1snZXJyb3JfZW1haWxhbHJlYWR5dXNlZCddID0gJ0UtbWFpbCBuYXNsb3YgamUgxb5lIHYgdXBvcmFiaSc7CiRsYW5nWydwcm9tcHRfdXNlY29va2llc3RvcmVtZW1iZXInXSA9ICdVcG9yYWJpIHBpJnNjYXJvbjtrb3RrZSB6YSBzaHJhbml0ZXYgcHJpamF2ZSc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ0ltZSBwaSZzY2Fyb247a290a2EnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdEb3ZvbGkgcG9kdm9qZW5lIEUtbWFpbCBuYXNsb3ZlJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ0UtbWFpbCBuYXNsb3YgamUgdXBvcmFibmkmc2Nhcm9uO2tvIGltZSc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdQb2l6a3VzaSBvaHJhbml0aSBwcmlqYXZsamVuZSB1cG9yYWJuaWtlIHogdXBvcmFibyBwaSZzY2Fyb247a290a292IDxlbT4ocGkmc2Nhcm9uO2tvdGVrIGplIHBvbmFzdGF2bGplbiBvYiBha3Rpdm5vc3RpIG5hIHN0cmFuaSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoZG92b2xpIHZlxI0gdXBvcmFibmlrb3YgeiBpc3RpbSBFLXBvJnNjYXJvbjt0bmltIG5hc2xvdm9tKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnKHVwb3JhYm5pa292IEUtcG8mc2Nhcm9uO3RuaSBuYXNsb3YgamUgbmplZ292byB1cG9yYWJuaSZzY2Fyb247a28gaW1lIC0tIHRlIG1vxb5ub3N0aSBuZSBuYXN0YXZpdGUgaGtyYXRpIHogbW/Fvm5vc3RqbyAmcXVvdDtEb3ZvbGkgcG9kdm9qZW5lIEVfbWFpbCBuYXNsb3ZlJnF1b3Q7ISknOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICdEb3ZvbGkgcG9kdm9qZW5lICZxdW90O3BvemFibGplbm8gZ2VzbG8mcXVvdDsgb3BvbW5pa2U/JzsKJGxhbmdbJ2luZm9fYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJyhkb3ZvbGkgdXBvcmFibmlrb20gb2RkYWpvIHphaHRldmthIHphIHBvdnJuaXRldiBnZXNsYSwgxI1lcHJhdiBzZSBuaXNvIG9kenZhbGkgbmEgcHJlaiZzY2Fyb247bmppIHphaHRldmVrKSc7CiRsYW5nWydwcm9tcHRfZmV1c2Vyc19zcGVjaWZpY19wZXJtaXNzaW9ucyddID0gJ1Vwb3JhYmkgc3BlY2lmacSNbmUgcHJhdmljZSB6YSBmcm9udC1lbmQgdXBvcmFibmlrZT8nOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKFBvbmF2YWRpIHNvIHByYXZpY2UgZnJvbnQtZW5kIHVwb3JhYm5pa292IGVuYWtlIHRpc3RpbSB2IGFkbWluaXN0cmFjaWppLCBrb3QgbnByLiBkb2RhaiB1cG9yYWJuaWthLCBkb2RhaiBza3VwaW5vIGl0ZC4gxIxlIGl6YmVyZXRlIHRvIG1vxb5ub3N0LCBib3N0ZSBsYWhrbyBpemJpcmFsaSBsb8SNZW5lIHByYXZpY2UgemEgZnJvbnQtZW5kIHVwb3JhYm5pa2UpJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1cGxvYWQnXSA9ICdOZSBuYWpkZW0gbmFsb8W+ZW5lIGRhdG90ZWtlIChpbnRlcm5hIG5hcGFrYSknOwokbGFuZ1snZXJyb3JfcHJvYmxlbV91cGxvYWQnXSA9ICdQcmkmc2Nhcm9uO2xvIGplIGRvIG5hcGFrZSBwcmkgbmFsYWdhbmp1IGRhdG90ZWtlLiBQcm9zaW1vIHBvaXprdXNpdGUgcG9ub3Zubyc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXNlcm5hbWUnXSA9ICdOaXN0ZSB2cGlzYWxpIHVwb3JhYm5pJnNjYXJvbjtrZWdhIGltZW5hJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdlbWFpbCddID0gJ05pc3RlIHZwaXNhbGkgRS1tYWlsIG5hc2xvdmEnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJ10gPSAnTmlzdGUgdnBpc2FsaSBnZXNsYSc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nb3V0J10gPSAnT2RqYXZhIGZyb250ZW5kIHVwb3JhYm5pa2EnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnUHJpamF2YSBmcm9udGVuZCB1cG9yYWJuaWthJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnVGEgZnVua2NpamEgbmUgZGVsdWplIG5hIFdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ05lIHVzdHZhcmphanRlIG1vxb5ub3N0aSB6YSB1cG9yYWJuaSZzY2Fyb247a28gaW1lIGFsaSBnZXNsbywgc2FqIHNvIGxlLXRlIMW+ZSB2a2xqdcSNZW5lIHYgc2FtIG1vZHVsJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdJenZvemkgdXBvcmFibmlrZSB2IENTVic7CiRsYW5nWydleHBvcnRjc3YnXSA9ICdJenZveic7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdVdm96JzsKJGxhbmdbJ2FkbWluJ10gPSAnQWRtaW4nOwokbGFuZ1snZWRpdHByb3AnXSA9ICdVcmVkaSBtb8W+bm9zdCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdOYWp2ZcSNamEgZG9sxb5pbmEnOwokbGFuZ1snY3JlYXRlZCddID0gJ1VzdHZhcmplbm8nOwokbGFuZ1snc29ydGJ5J10gPSAnUmF6dnJzdGkgcG8nOwokbGFuZ1snc29ydCddID0gJ1JhenZyJnNjYXJvbjvEjWFuamUnOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnVXBvcmFibmlraSB2IGl6YnJhbmloIHNrdXBpbmFoJzsKJGxhbmdbJ3VzZXJsaW1pdCddID0gJ09tZWppIHJlenVsdGF0ZSBuYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdOZSBuYWpkZW0gRS1tYWlsIHBvbGphIHphIHRlZ2EgdXBvcmFibmlrYS4gUHJvc2ltbywgb2J2ZXN0aXRlIGFkbWluaXN0cmF0b3JqYS4nOwokbGFuZ1sncHJvbXB0X2ZvcmdvdHB3X3BhZ2UnXSA9ICdJRCBzdHJhbmkvQWxpYXMgemEgb2JyYXplYyB6YSBwb3phYmxqZW5vIGdlc2xvJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnSUQgc3RyYW5pL0FsaWFzIHphIG9icmF6ZWMgemEgc3ByZW1lbWJvIG5hc3Rhdml0ZXYnOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdJRCBzdHJhbmkvQWxpYXMgemEgb2JyYXplYyB6YSBwcmV1c21lcml0ZXYgcG8gcHJpamF2aSAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ0lEIHN0cmFuaS9BbGlhcyB6YSBvYnJhemVjIHphIHByZXVzbWVyaXRldiBwbyBvZGphdmkgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTbWVyIHJhenZyJnNjYXJvbjvEjWFuamEnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTmVrYXRlcmkgdXBvcmFibmlraSBzbyB2IHBvc3RvcGt1IHJlc2V0aXJhbmphIHBvemFibGplbmVnYSBnZXNsYS4gVHJlbnV0bm8gJnNjYXJvbjt0ZXZpbG8gdGVoIHVwb3JhYm5pa292Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0l6YnJpJnNjYXJvbjtpIHZzZSB2bm9zZSwgc3RhcmVqJnNjYXJvbjtlIG9kIGVuZWdhIHRlZG5hJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ0l6YnJpJnNjYXJvbjtpIHZzZSB2bm9zZSwgc3RhcmVqJnNjYXJvbjtlIG9kIGVuZWdhIG1lc2VjYSc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdJemJyaSZzY2Fyb247aSB2c2Ugdm5vc2UnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N0ZSBwcmVwcmnEjWFuaT8nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNvZGUnXSA9ICdWcGlzYWxpIHN0ZSBuYXBhxI1ubyBrb2RvLiBQcm9zaW1vLCBwb2l6a3VzaXRlIHBvbm92bm8nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ1phxI1hc25hIGtvZGEgemEgdmEmc2Nhcm9uOyB1cG9yYWJuaSZzY2Fyb247a2kgcmHEjXVuIG5lIG9ic3RhamEgdiBiYXppJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnUHJlZGxvZ2EgemEgcHJpa2F6IG9icmF6Y2EgemEgcHJldmVyamFuamUnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfZW1haWx0ZW1wbGF0ZSddID0gJ1ByZWRsb2dhIHphIHBvemFibGplbm8gZ2VzbG8nOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ01vcmRhIHN0ZSB2aSBhbGkga2RvIGRydWcgxb5lIHphaHRldmFsaSByZXNldGlyYW5qZSBnZXNsYSB6YSB0YSByYcSNdW4uIFByb3NpbW8sIHByZXZlcml0ZSB2YSZzY2Fyb247IEUtcG8mc2Nhcm9uO3RuaSBwcmVkYWwsIGtqZXIgdmFzIMSNYWtham8gbmF2b2RpbGEgemEgcmVzZXRpcmFuamUgZ2VzbGEuJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdOYXBha2EgbmEgYmF6aSc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdUbyBzcG9yb8SNaWxvIHN0ZSBwcmVqZWxpLCBzYWogc3RlIHBvZGFsaSB6YWh0ZXZlayB6YSBwb3phYmxqZW5vIGdlc2xvLiDEjGUgc3RlIGdlc2xvIHphcmVzIHBvemFiaWxpLCBzbGVkaXRlIG5hdm9kaWxvbSB2IG5hZGFsamV2YW5qdS4gViBrb2xpa29yIG1lbml0ZSwgZGEgc3RlIHRvIHNwb3JvxI1pbG8gcHJlamVsaSBwbyBwb21vdGksIGdhIGxhaGtvIGJyZXogc2tyYmkgaXpicmkmc2Nhcm9uO2V0ZS4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLb2RhJzsKJGxhbmdbJ21lc3NhZ2VfY29kZSddID0gJ05hc2xlZG5qYSBrb2RhIGplIGJpbGEgYXZ0b21hdGnEjW5vIGdlbmVyaXJhbmEgemEgcHJldmVyamFuamUgdXBvcmFibmlrb3ZlZ2EgcmHEjXVuYS4gS28ga2xpa25ldGUgbmEgc3BvZG5qbyBwb3ZlemF2byBib3N0ZSBwcmkmc2Nhcm9uO2xpIG5hIHN0cmFuIHMgcG9samVtIHphIHZub3MgdGUga29kZS4gVG8gcG9samUgYm8gxb5lIHZuYXByZWogaXpwb2xuamVubywgdiBrb2xpa29yIG5pLCB2YW5qIHZwaSZzY2Fyb247aXRlIG5hc2xlZG5qbyBrb2RvOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ1Mga2xpa29tIG5hIHNwb2Ruam8gcG92ZXphdm8gYm9zdGUgcHJpJnNjYXJvbjtsaSBuYSBzcGxldG5vIHN0cmFuLCBramVyIHZwaSZzY2Fyb247aXRlIHpnb3Juam8ga29kbyBpbiByZXNldGlyYWp0ZSB2YSZzY2Fyb247ZSBnZXNsbzonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ1BvemFibGplbm8gZ2VzbG8nOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdOZSBuYWpkZW0gbW9kdWxhIENNU01haWxlcic7CiRsYW5nWydpbmZvX2ZvcmdvdHB3bWVzc2FnZXNlbnQnXSA9ICdFLW1haWwgamUgYmlsIHBvc2xhbiBuYSBuYXNsb3YgJXMgeiBuYXZvZGlsaSB6YSBwb25hc3Rhdml0ZXYgdmEmc2Nhcm9uO2VnYSBnZXNsYS4gUHJvc2ltbywgcHJldmVyaXRlIHZhJnNjYXJvbjsgcG8mc2Nhcm9uO3RuaSBwcmVkYWwuJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnViBrb2xpa29yIHN0ZSBwb3phYmlsaSBnZXNsbywgdnBpJnNjYXJvbjtpdGUgdmEmc2Nhcm9uO2UgdXBvcmFibmkmc2Nhcm9uO2tvIGltZSBpbiBwb3NsYWxpIHZhbSBib21vIEUtbWFpbCB6IG5hdm9kaWxpIHphIHByaWRvYml0ZXYgbm92ZWdhIGdlc2xhLic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF90ZW1wbGF0ZSddID0gJ1ByZWRsb2dlIHphIHBvemFibGplbm8gZ2VzbG8nOwokbGFuZ1snbG9zdHVzZXJuYW1lX3RlbXBsYXRlJ10gPSAnUHJlZGxvZ2UgemEgcG96YWJsamVubyB1cG9yYWJuaSZzY2Fyb247a28gaW1lJzsKJGxhbmdbJ2Vycm9yX3Byb3Bub3Rmb3VuZCddID0gJ01vxb5ub3N0ICVzIG5pIG5hamRlbmEnOwokbGFuZ1sncHJvcHNmb3VuZCddID0gJ01vxb5ub3N0aSBuYWpkZW5lJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdEb2RhaiBtb8W+bm9zdCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnT2J2ZXpubyBwb2xqZSAoJXMpIGplIGJpbG8gcHJhem5vJzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnVnBpJnNjYXJvbjtpdGUgbm92byBnZXNsbyB6YSBzcHJlbWVtYm8gZ2VzbGEnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW4nXSA9ICdOaXN0ZSBwcmlqYXZsamVuaSB2IHNpc3RlbSc7CiRsYW5nWyd1c2VyX3NldHRpbmdzJ10gPSAnTmFzdGF2aXR2ZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhY2lqYSc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RhIHJhxI11biBqZSBwb3Rla2VsJzsKJGxhbmdbJ2Vycm9yX2ltcHJvcGVyZW1haWxmb3JtYXQnXSA9ICdOZXByYXZpbGVuIEUtbWFpbCBuYXNsb3YnOwokbGFuZ1snZXJyb3JfaW52YWxpZGV4cGlyeWRhdGUnXSA9ICdOYXBhxI1lbiBkYXR1bSBwb3Rla2EnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNldHRpbmdwcm9wZXJ0eSddID0gJ05hcGFrYSBwcmkgbmFzdGF2bGphbmp1IG1vxb5ub3N0aSAlcyB6YSB1cG9yYWJuaWthICRzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRncm91cGlkJ10gPSAnTmFwYcSNZW4gSUQgc2t1cGluZSAlcyc7CiRsYW5nWydoaWRkZW5maWVsZG1hcmtlciddID0gJ096bmHEjWV2YWxlYyBza3JpdGVnYSBwb2xqYSc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnQmFydmEgc2tyaXRlZ2EgcG9samEnOwokbGFuZ1snaGlkZGVuJ10gPSAnU2tyaXRvJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdNb8W+bm9zdCBzIHRlbSBpbWVub20gamUgxb5lIGRlZmluaXJhbmEnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTmkgZGVmaW5pcmFuaWggbW/Fvm5vc3RpJzsKJGxhbmdbJ2Vycm9yX25vcmVsYXRpb25zJ10gPSAnTm9iZW5hIG1vxb5ub3N0IG5pIGJpbGEgaXpicmFuYSB6YSB0byBza3VwaW5vJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnTm9iZW5hIHNrdXBpbmEgbmkgZGVmaW5pcmFuYSc7CiRsYW5nWydncm91cHNmb3VuZCddID0gJ05hamRlbmUgc2t1cGluZSc7CiRsYW5nWydlcnJvcl9vbmVncm91cHJlcXVpcmVkJ10gPSAnT2J2ZXpubyBqZSDEjWxhbnN0dm8gdiB2c2FqIGVuaSBza3VwaW5pJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdaYWh0ZXZhaiDEjWxhbnN0dm8gdiB2c2FqIGVuaSBza3VwaW5pJzsKJGxhbmdbJ2JhY2snXSA9ICdOYXphaic7CiRsYW5nWydlcnJvcl9taXNzaW5nX3JlcXVpcmVkX3BhcmFtJ10gPSAnJXMgamUgb2J2ZXpubyBwb2xqZSc7CiRsYW5nWydyZXF1aXJlZGZpZWxkbWFya2VyJ10gPSAnT3puYcSNaSBvYnZlem5hIHBvbGphIHonOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnTWFya2lyYWogb2J2ZXpuYSBwb2xqYSB6JzsKJGxhbmdbJ25leHQnXSA9ICdOYXByZWonOwokbGFuZ1snZXJyb3JfZ3JvdXBleGlzdHMnXSA9ICdTa3VwaW5hIHMgdGVtIGltZW5vbSDFvmUgb2JzdGFqYSc7CiRsYW5nWydyZXF1aXJlZCddID0gJ09idmV6bm8nOwokbGFuZ1snb3B0aW9uYWwnXSA9ICdOZW9idmV6bm8nOwokbGFuZ1snb2ZmJ10gPSAnSXprbG9wbGplbm8nOwokbGFuZ1snc2l6ZSddID0gJ1ZlbGlrb3N0JzsKJGxhbmdbJ3NpemVjb21tZW50J10gPSAnPGJyLz4oTmFqdmXEjWphIHZlbGlrb3N0IG5hamRhbGomc2Nhcm9uO2Ugc3RyYW5pY2Ugc2xpa2UgdiBwaXhsaWgpJzsKJGxhbmdbJ2xlbmd0aCddID0gJ0RvbMW+aW5hJzsKJGxhbmdbJ2xlbmd0aGNvbW1lbnQnXSA9ICc8YnI+KHpuYWtvdiB2IHRla3N0b3ZuZW0gcG9sanUpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdNb8W+bm9zdGkgaXp2bGXEjW5lZ2EgbWVuaWphLCBsb8SNZW5lIHogbm92aW1pIHZyc3RpY2FtaS4gVnJlZG5vc3RpIHNvIGxhaGtvIGxvxI1lbmUgb2QgYmVzZWRpbGEgeiB6bmFrb20gPTsgbnByOiBNbyZzY2Fyb247a2k9bSc7CiRsYW5nWydwcm9tcHQnXSA9ICdWbm9zJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVGlwJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXAnOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdTdGF0dXMgcG9samEnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnVnByYSZzY2Fyb247YWogdiBwb3phYmxqZW5lbTxici8+dXBvcmFibmkmc2Nhcm9uO2tlbSBpbWVudSc7CiRsYW5nWyd0ZXh0J10gPSAnQmVzZWRpbG8gKHRleHQpJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdTZXpuYW0geiB2ZcSNa3JhdG5vIGl6YmlybyAobXVsdGlzZWxlY3QpJzsKJGxhbmdbJ2ltYWdlJ10gPSAnU2xpa2EnOwokbGFuZ1snZW1haWwnXSA9ICdFLW1haWwgbmFzbG92JzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnQmVzZWRpbG8gKHRleHRhcmVhKSc7CiRsYW5nWydkcm9wZG93biddID0gJ0l6dmxlxI1uaSBtZW5pJzsKJGxhbmdbJ21zZ19jdXJyZW50bHlsb2dnZWRpbmFzJ10gPSAnRG9icm9kbyZzY2Fyb247bGknOwokbGFuZ1snbG9nb3V0J10gPSAnT2RqYXZhJzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVcG9yYWJpIHRvIGltZSBza3VwaW5lJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ1NwcmVtZW1iYSBtb2ppaCBuYXN0YXZpdGV2JzsKJGxhbmdbJ2Vycm9yX2xvZ2luZmFpbGVkJ10gPSAnUHJpamF2YSBuaSB1c3BlJnNjYXJvbjtuYSAtIHN0ZSBwb3phYmlsaSB1cG9yYWJuaSZzY2Fyb247a28gaW1lIGFsaSBnZXNsbz8nOwokbGFuZ1snbG9naW4nXSA9ICdQcmlqYXZhJzsKJGxhbmdbJ3Byb21wdF9zaWduaW5fYnV0dG9uJ10gPSAnTmFwaXMgbmEgZ3VtYnUgemEgcHJpamF2byc7CiRsYW5nWydwcm9tcHRfdXNlcm5hbWUnXSA9ICdVcG9yYWJuaSZzY2Fyb247a28gaW1lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0UtbWFpbCBuYXNsb3YnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnR2VzbG8nOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdaYXBvbW5pIHNpIG1lJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmFjaWphJzsKJGxhbmdbJ2ZvcmdvdHB3J10gPSAnU3RlIHBvemFiaWxpIGdlc2xvPyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdTdGUgcG96YWJpbGkgdXBvcmFibmkmc2Nhcm9uO2tvIGltZT8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdQcml2emV0byc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1ByZWRsb2dhJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ05lIG5hamRlbSBpbmZvcm1hY2lqIG8gdGVtIHVwb3JhYm5pa3UnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RvIHVwb3JhYm5pJnNjYXJvbjtrbyBpbWUgKCVzKSBqZSDFvmUgdiB1cG9yYWJpJzsKJGxhbmdbJ3Byb21wdF9zbXRwdmFsaWRhdGUnXSA9ICdVcG9yYWJpIFNNVFAgemEgcHJldmVyamFuamUgRS1tYWlsIG5hc2xvdm92Pyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdOYWptYW5qJnNjYXJvbjthIGRvbMW+aW5hIGdlc2xhJzsKJGxhbmdbJ3Byb21wdF9tYXhwd2xlbiddID0gJ05hanZlxI1qYSBkb2zFvmluYSBnZXNsYSc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdOYWptYW5qJnNjYXJvbjthIGRvbMW+aW5hIHVwb3JhYm5pJnNjYXJvbjtrZWdhIGltZW5hJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ05hanZlxI1qYSBkb2zFvmluYSB1cG9yYWJuaSZzY2Fyb247a2VnYSBpbWVuYSc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdJenRlayBzZWplIHYgc2VrdW5kYWggKHRpbWVvdXQpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVcG9yYWJpIHBpJnNjYXJvbjtrb3RrZSB6YSBzaHJhbmpldmFuamUgcHJpamF2JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnRG92b2xpIHJlZ2lzdHJhY2lqbyBwcmVrIEUtbWFpbGEnOwokbGFuZ1sncHJvbXB0X2RmbHRncm91cCddID0gJ1ByaXZ6ZXRhIHNrdXBpbmEgemEgbm92ZSB1cG9yYWJuaWtlJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnU3ByZW1lbmkgcHJlZGxvZ28geiBuYXN0YXZpdHZhbWknOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0dlc2xpIHNlIG5lIHVqZW1hdGEnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnTmFwYcSNbm8gdXBvcmFibmkmc2Nhcm9uO2tvIGltZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdOYXBhxI1ubyBnZXNsbyc7CiRsYW5nWydlZGl0dXNlciddID0gJ1VyZWRpIHVwb3JhYm5pa2EnOwokbGFuZ1sndmFsaWQnXSA9ICdWZWxqYXZlbic7CiRsYW5nWyd1c2VybmFtZSddID0gJ1Vwb3JhYm5pJnNjYXJvbjtrbyBpbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RhIHVwb3JhYm5payBuaSDEjWxhbiBub2JlbmUgc2t1cGluZSc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTmkgbW/Fvm5vc3RpJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnUG9pemt1cyB1dm96YSBwb2R2b2plbmloIG1vxb5ub3N0aSc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZyZWRub3N0JzsKJGxhbmdbJ2dyb3VwcyddID0gJ1NrdXBpbmUnOwokbGFuZ1sncHJvcGVydGllcyddID0gJ01vxb5ub3N0aSc7CiRsYW5nWydwcm9wbmFtZSddID0gJ0ltZSBtb8W+bm9zdGknOwokbGFuZ1sncHJvcHZhbHVlJ10gPSAnVnJlZG5vc3QgbW/Fvm5vc3RpJzsKJGxhbmdbJ2FkZCddID0gJ0RvZGFqJzsKJGxhbmdbJ2hpc3RvcnknXSA9ICdaZ29kb3ZpbmEnOwokbGFuZ1snZWRpdCddID0gJ1VyZWRpJzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdQb3RlxI1lJzsKJGxhbmdbJ3NwZWNpZnlfZGF0ZSddID0gJ0RvbG/EjWl0ZXYgZGF0dW1hJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgdXInOwokbGFuZ1snMjRocnMnXSA9ICcyNCB1cic7CiRsYW5nWyc0OGhycyddID0gJzQ4IHVyJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSB0ZWRlbic7CiRsYW5nWycyd2Vla3MnXSA9ICcyIHRlZG5hJzsKJGxhbmdbJzFtb250aCddID0gJzEgbWVzZWMnOwokbGFuZ1snM21vbnRocyddID0gJzMgbWVzZWNlJzsKJGxhbmdbJzZtb250aHMnXSA9ICc2IG1lc2VjZXYnOwokbGFuZ1snMXllYXInXSA9ICcxIGxldG8nOwokbGFuZ1snbmV2ZXInXSA9ICdOaWtvbGknOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLiZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ0dlc2xvJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9ub3Zubyc7CiRsYW5nWydlcnJvcl9ncm91cG5hbWVfZXhpc3RzJ10gPSAnU2t1cGluYSBzIHRlbSBpbWVub20gxb5lIG9ic3RhamEnOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnVXJlamFuamUgc2t1cGluZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdQbyZzY2Fyb247bGppJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1ByZWtsacSNaSc7CiRsYW5nWydkZWxldGUnXSA9ICdJemJyaSZzY2Fyb247aSc7CiRsYW5nWydjb25maXJtX2VkaXRncm91cCddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgc28gdG8gcHJhdmlsbmUgbmFzdGF2aXR2ZSB6YSB0byBza3VwaW5vP1xuxIxlIG9uZW1vZ2/EjWl0ZSBtb8W+bm9zdCBuZSBib2RvIGl6YnJpc2FuaSBub2JlbmkgemFwaXNpIHYgdGFiZWxpIHphIHRvIHNrdXBpbm8vdXBvcmFibmlrYSwgYW1wYWsgc2FtbyBuZSBib2RvIG5hIHZvbGpvLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnU3RlIHByZXByacSNYW5pLCBkYSDFvmVsaXRlIGl6YnJpc2F0aSB0byBza3VwaW5vPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnU3RlIHByZXByacSNYW5pLCBkYSDFvmVsaXRlIGl6YnJpc2F0aSB0byBtb8W+bm9zdD9cbsSMZSBqbyBpemJyaSZzY2Fyb247ZXRlLCBib2RvIGl6YnJpc2FuZSB0dWRpIHZzZSB2cmVkbm9zdGkgdXBvcmFibmlrb3YgemEgdG8gbW/Fvm5vc3QuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ05lemFkb3N0bmkgcGFyYW1ldHJpJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snbmFtZSddID0gJ0ltZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ05hcGFrYSBwcmkgZG9kYWphbmp1IG1vxb5ub3N0aSc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnTmFwYWthIHByaSBkb2RhamFuanUgcmVsYWNpamUgc2t1cGluZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdOYXBha2EgcHJpIGRvZGFqYW5qdSBza3VwaW5lJzsKJGxhbmdbJ2Vycm9yX2NhbnRhc3NpZ251c2VyJ10gPSAnTmFwYWthIHByaSBkb2RhamFuanUgdXBvcmFibmlrYSBza3VwaW5pJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdOYXBha2EgcHJpIGl6YnJpc3UgbW/Fvm5vc3RpJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZmluZGVtYWlsJ10gPSAnTmUgbmFqZGVtIEUtbWFpbCBuYXNsb3ZhJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdOaSBwcmF2aWMgemEgcGlzYW5qZSB2IHRvIG1hcG8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtcyddID0gJ05hcGHEjW5pIHBhcmFtZXRyaSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ05lIG5hamRlbSBub2JlbmloIHNrdXBpbic7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1Vwb3JhYmknOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ3VzZXJmaWx0ZXInXSA9ICdSZWd1bGFybmkgaXpyYXogemEgdXBvcmFibmkmc2Nhcm9uO2tvIGltZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnSW1lIHNrdXBpbmUnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnRG9zdG9wIHphdnJuamVuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnTmFwYWthJzsKJGxhbmdbJ2FkZGdyb3VwJ10gPSAnRG9kYWogc2t1cGlubyc7CiRsYW5nWydpbXBvcnRncm91cCddID0gJ1V2b3ppIHNrdXBpbm8nOwokbGFuZ1snYWRkdXNlciddID0gJ0RvZGFqIHVwb3JhYm5pa2EnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ05hamRlbmkgdXBvcmFibmlraSwga2kgdXN0cmV6YWpvIGtyaXRlcmlqdSc7CiRsYW5nWydncm91cCddID0gJ1NrdXBpbmEnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdJemJlcml0ZSBza3VwaW5vJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1ByZWRsb2dhIHphIHJlZ2lzdHJhY2lqbyc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdQcmVkbG9nYSB6YSBvZGphdm8nOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdQcmVkbG9nYSB6YSBwcmlqYXZvJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnTmFzdGF2aXR2ZSc7CiRsYW5nWyd1c2VycyddID0gJ1Vwb3JhYm5pa2knOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVXByYXZpdGVsaiB1cG9yYWJuaWtvdi/EjWxhbm92JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRG92b2xpIHByaWphdm8gdXBvcmFibmlrb3YgcHJla28gc3BsZXRuZSBzdHJhbmknOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ1ByaXZ6ZXRhIHZzdG9wbmEgc3RyYW4nOwokbGFuZ1snbGFzdGFjY2Vzc2VkcGFnZSddID0gJ1phZG5qYSBkb3N0b3BhbmEgc3RyYW4nOwokbGFuZ1snb3RoZXJwYWdlJ10gPSAnRHJ1Z2Egc3RyYW46ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVnBpJnNjYXJvbjtpdGUgYmVzZWRpbG8gcyBzbGlrZSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbGxvd3MgbWFuYWdlbWVudCBhbmQgYWRtaW5pc3RyYXRpb24gb2YgZnJvbnQgZW5kIHVzZXJzIDxpPih1c2VycyB3aG8gaGF2ZSBubyBhZG1pbiBhY2Nlc3NzKTwvaT4uICBJdCBhbGxvd3MgY3JlYXRpb24gb2YgdXNlciBncm91cHMsIGFuZCB1c2VyIGFjY291bnRzIGFuZCBhbGxvd3MgdXNlcnMgdG8gbG9naW4gYW5kIGxvZ291dC4gIGl0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEN1c3RvbUNvbnRlbnQgbW9kdWxlIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgdG8gZGlmZmVyZW50IHVzZXJzIG9uY2UgdGhleSBoYXZlIGxvZ2dlZCBpbjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+PHA+VXNlciBhY2NvdW50IGV4cGlyYXRpb24uICBZb3UgY2FuIGNyZWF0ZSB0ZW1wb3JhcnkgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Hcm91cCBQcm9wZXJ0aWVzLiAgWW91IGNhbiBhc2sgZm9yIGRpZmZlcmVudCBpbmZvcm1hdGlvbiBmcm9tIG1lbWJlcnMgb2YgZGlmZmVyZW50IGdyb3VwczwvcD48L2xpPg0KPGxpPjxwPkNhcGFibGUgb2YgaGFuZGxpbmcgaHVuZHJlZHMgb2YgdXNlcnM8L3A+PC9saT4NCjxsaT48cD5Gb3Jnb3QgcGFzc3dvcmQsIGFuZCBmb3Jnb3QgdXNlcm5hbWUgZnVuY3Rpb25hbGl0eS4uLi4gYWxsb3dzIHVzZXJzIHRvIHNldCBhIG5ldyBwYXNzd29yZCwgYW5kL29yIHRvIHJlY292ZXIgdGhlaXIgdXNlcm5hbWUgaWYgdGhleSBjb21wbGV0ZWx5IGZvcmdvdCBsb2dpbiBkZXRhaWxzLjwvcD48L2xpPg0KPGxpPjxwPkhhcyBhbiBleHRlbnNpdmUgQVBJIGZvciBhZGRpbmcgZnVuY3Rpb25hbGl0eTwvcD48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPg0KPHVsPg0KPGxpPjxwPkFmdGVyIGluc3RhbGxhdGlvbiB5b3UgY2FuIGFjY2VzcyBhZG1pbiBwYW5lbCB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdW5kZXIgdGhlICZxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmcXVvdDsgbWVudS48L3A+PC9saT4NCjxsaT4NCjxwPlNlY29uZGx5LCB5b3Ugc2hvdWxkIGRlZmluZSBwcm9wZXJ0aWVzLiAgUHJvcGVydGllcyBhcmUgZXNzZW50aWFsbHkgZmllbGQgZGVmaW5pdGlvbnMsIGhlcmUgeW91IHNwZWNpZnkgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24geW91IHdhbnQgdG8gZ2F0aGVyLCBhbmQgbGltaXRzLiBpLmU6ICBOYW1lLCBBZ2UsIENpdHksIFN0YXRlLCBDb3VudHJ5LCBFbWFpbCBhZGRyZXNzLCBldGMuPC9wPg0KPHA+PGI+Tm90ZTo8L2I+IFlvdSBkbyBub3QgbmVlZCB0byBkZWZpbmUgcHJvcGVydGllcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCB0aGVzZSB3aWxsIGJlIHByb3ZpZGVkIGZvciB5b3U8L2I+DQo8L2xpPg0KPGxpPjxwPk5leHQgeW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgdXNlciBncm91cHMuICBXaGVuIHlvdSBjcmVhdGUgYSBncm91cCwgeW91IGFyZSBhc2tlZCBmb3IgYSBncm91cCBuYW1lLCBhIGRlc2NyaXB0aW9uIGFuZCB0byBhc3NvY2lhdGUgcHJvcGVydGllcyB3aXRoIHRoYXQgZ3JvdXAsIHNwZWNpZnkgdGhlIHByb3BlcnRpZXMgc29ydCBvcmRlciwgYW5kIHdldGhlciBpdCBpcyBhbiBvcHRpb25hbCwgcmVxdWlyZWQsIG9yIGhpZGRlbiBmaWVsZCA8aT4ob2ZmIGlzIGFsc28gdmFsaWQpPC9pPjwvcD48L2xpPg0KPGxpPjxwPjxiPk5vdGU6PC9iPiBCZWZvcmUgcHJvY2VlZGluZywgeW91IHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgcHJlZmVyZW5jZXMgYXJlIHNldCBjb3JyZWN0bHkuPC9wPjwvbGk+DQo8bGk+PHA+VGhpcmRseSB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHVzZXJzLiAgQWRkaW5nIHVzZXJzIGlzIGEgdHdvIHN0ZXAgcHJvY2Vzcy4gIFdoZW4gY3JlYXRpbmcgYSB1c2VyIHlvdSBhcmUgYXNrZWQgZm9yIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCBhbiBleHBpcnkgZGF0ZSBmb3IgdGhhdCB1c2VyLiAgWW91IHRoZW4gbXVzdCBzZWxlY3QgdGhlIGdyb3VwcyB0aGF0IHRoYXQgdXNlciBpcyBhIG1lbWJlciBvZiwgYW5kIGNsaWNrIFwmIzAzOTtOZXh0XCYjMDM5OzwvcD4NCjxwPjxlbT5Ob3RlOiA8L2VtPlRoaXMgaXMgYSBsYWJvdXIgaW50ZW5zaXZlIGFuZCBib3JpbmcgcHJvY2VzcywgaXQgaXMgZWFzaWVyIHRvIGxldCB1c2VycyByZWdpc3RlciB0aGVtc2VsdmVzIDxlbT4oU2VlIHRoZSBTZWxmUmVnaXN0cmF0aW9uIE1vZHVsZSk8L2VtPiwgYW5kIHRoZW4geW91IGNhbiBlZGl0IHRoZWlyIGdyb3VwIGluZm9ybWF0aW9uLiAgYnV0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBwbGVhc2UgY3JlYXRlIGF0IGxlc3Qgb25lIHVzZXI8L3A+PC9saT4NCjxsaT48cD5MYXN0bHksIGFmdGVyIHRoZSBzeXN0ZW0gaGFzIGRldGVybWluZWQgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmaWVsZHMgdG8gYmUgcHJlc2VudGVkIGZvciB0aGF0IHVzZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBmb3JtIGFza2luZyBmb3IgYWxsIG9mIHRoZSByZXF1aXJlZCB1c2VyIGluZm9ybWF0aW9uLiAgQ29tcGxldGUgdGhpcyBmb3JtIHRvIGNvbXBsZXRlIHRoZSB1c2VyIGFkZGl0aW9uPC9wPjwvbGk+DQo8bGk+PHA+WW91IGFyZSBub3cgcmVhZHkgdG8gYWRkIHRoZSBmcm9udCBlbmQgZnVuY3Rpb25hbGl0eSB0byB5b3VyIHNpdGUuICBUaGlzIGlzIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIHtjbXNfbW9kdWxlIG1vZHVsZT1Gcm9udEVuZFVzZXJzfSB0YWcgdG8geW91ciBwYWdlIG9yIHRlbXBsYXRlPC9wPjwvbGk+DQo8L3VsPg0KPGgzPlNtYXJ0eSBGdW5jdGlvbnM8L2gzPg0KPHA+U29tZSBsaW1pdGVkIGludGVyYWN0aW9uIHdpdGggdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGRhdGFiYXNlIGlzIHBvc3NpYmxlIHdpdGggc21hcnR5IGFuZCB0aGUgJGZldV9zbWFydHkgb2JqZWN0LjwvcD4NCjxoND5GdW5jdGlvbnM6PC9oND4NCjx1bD4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgkZ3JvdXBuYW1lLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhbiBhcnJheSBvZiB1c2VybmFtZXMgYW5kIHVzZXJpZHMgZm9yIGFsbCB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwLiAgVGhlIG91dHB1dCBpcyBhc3NpZ25lZCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgaW4gdGhlICZxdW90O2Fzc2lnbiZxdW90OyBwYXJhbWV0ZXIuPC9wPg0KPHA+RXhhbXBsZTo8YnIvPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJzX2J5X2dyb3VwbmFtZSgmIzAzOTttZW1iZXJzJiMwMzk7LCYjMDM5O215bWVtYmVycyYjMDM5Oyl9PGJyLz57JG15bWVtYmVyc3xwcmludF9yfTwvY29kZT48L3A+DQo8L2xpPg0KPGxpPjxzdHJvbmc+PGNvZGU+eyRmZXVfc21hcnR5LT5nZXRfdXNlcl9wcm9wZXJ0aWVzKCR1aWQsJGFzc2lnbil9PC9jb2RlPjwvc3Ryb25nPg0KPHA+VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBleHRyYWN0IGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIHVzZXIgYW5kIGFzc2lnbiB0aGVtIHRvIGEgc21hcnR5IHZhcmlhYmxlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLjwvcD4NCjxwPkV4YW1wbGU6PGJyLz48Y29kZT57JGZldV9zbWFydHktPmdldF91c2VyX3Byb3BlcnRpZXMoNSwmIzAzOTt1c2VycHJvcHMmIzAzOTspfTxici8+eyR1c2VycHJvcHN8cHJpbnRfcn08L2NvZGU+PC9wPg0KPC9saT4NCjwvdWw+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0mcXVvdDtuYW1lJnF1b3Q7PC9saT4NCjxwPkZvcm1zOg0KPHVsPg0KIDxsaT48ZW0+bG9naW48L2VtPiAtIERpc3BsYXkgdGhlIGxvZ2luIGZvcm08L2xpPg0KIDxsaT48ZW0+bG9nb3V0PC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dvdXQgZm9ybTwvbGk+DQogPGxpPjxlbT5jaGFuZ2VzZXR0aW5nczwvZW0+IC0gRGlzcGxheSB0aGUgY2hhbmdlIHNldHRpbmdzIGZvcm08L2xpPg0KIDxsaT48ZW0+Zm9yZ290cHc8L2VtPiAtIERpc3BsYXkgdGhlIGZvcmdvdCBwYXNzd29yZCBmb3JtPC9saT4NCiA8bGk+PGVtPmxvc3R1c2VybmFtZTwvZW0+IC0gRGlzcGxheSB0aGUgbG9zdCB1c2VybmFtZSBmb3JtLjwvbGk+DQo8bGk+PGVtPnNpbGVudDwvZW0+ID0gRGlzcGxheSBub3RoaW5nLCBidXQgZXhwb3J0IHByb3BlcnRpZXMgYW5kIG90aGVyIHNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuICBJZiBubyB1c2VyIGlzIGxvZ2dlZCBpbiwgdGhlbiBubyB2YXJpYWJsZXMgYXJlIGV4cG9ydGVkLjwvbGk+DQo8L3VsPg0KPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmV0dXJudG89JnF1b3Q7cGFnZSZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luLCBsb2dvdXQsIGFuZCBjaGFuZ2VzZXR0aW5ncyBmb3JtcywgdGhpcyBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRvIHJlZGlyZWN0IHRvLCB3aGVuIHRoZSBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQ8L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvbmx5X2dyb3Vwcz0mcXVvdDtncm91cDEsIGdyb3VwMiwgZ3JvdXAzJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuICBCYXNpY2FsbHkgb25seSBhbGxvd3MgdXNlcnMgdG8gbG9naW4gaWYgdGhleSBiZWxvbmcgdG8gdGhhdCBwYXJ0aWN1bGFyIGdyb3VwKHMpLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxvc3R1bl9ncm91cD0mcXVvdDtncm91cCZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvc3R1c2VybmFtZSBmb3JtLCB0aGlzIGZlYXR1cmUgc3BlY2lmaWVzIHRoZSBmcm9udGVuZCB1c2VyIGdyb3VwIHRvIGFzc3VtZSB0aHQgdXNlcnMgYXJlIG1lbWJlcnMgb2YuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9jYXB0Y2hhPSZxdW90OzEmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiBmb3Jtcy4gaGlzIHdpbGwgZGlzbmFibGUgY2FwdGNoYSBvbiB0aGUgZm9ybS4gQnkgZGVmYXVsdCwgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdmFsaWRhdGlvbiBvZiBhIGNhcHRjaGEgaW1hZ2Ugd2lsbCBiZSByZXF1aXJlZCBmb3IgbG9naW4uICBUaGlzIGlzIGEgc2VjdXJpdHkgbWVhc3VyZSBpbnRlbnRlZCB0byBwcmV2ZW50IGJydXRlIGZvcmNlIGF0dGFja3MuPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPW51bGw8L2xpPg0KPHA+VGhlIG9ubHkgcG9zc2libGUgdmFsdWUgZm9yIHRoaXMgcGFyYW1ldGVyIGlzICZxdW90O3ZpZXd1c2VyJnF1b3Q7PC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdWlkPW51bGw8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSB2aWV3dXNlciBhY3Rpb24uICBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCB0byBzcGVjaWZ5IHdoaWNoIHVzZXIgdG8gdmlldyB0aGUgZGV0YWlscyBvZi48L3A+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgZm9yZ290dGVuIHBhc3N3b3JkIGZ1bmN0aW9uYWxpdHksIHRoaXMgbW9kdWxlIHJlcXVpcmVzIHRoZSBDTVNNYWlsZXIgbW9kdWxlIHRvIGJlIHByZXZpb3VzbHkgaW5zdGFsbGVkPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yMDQyNDI1OTk2LjEyMjY0NzgzMzAuMTIyNzUzNjUxMS4xMjI3NTk5MDMzLjExJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyNzA4MTU2NC41LjQudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXMgbWFkZSBzaW1wbGUnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ1JlZGlnZXJhIGFudiZhdW1sO25kYXJlJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnRG8gbm90IGlubGluZSBmb3Jtcyc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0dsJm91bWw7bXQgZGluYSBhbnYmYXVtbDtuZGFydXBwZ2lmdGVyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHcnXSA9ICdHbCZvdW1sO210IGRpdHQgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJ0tsaWNrYSBoJmF1bWw7ciBmJm91bWw7ciBhdHQgbG9nZ2EgdXQnOwokbGFuZ1snaW5mb19jaGFuZ2VzZXR0aW5ncyddID0gJ0tsaWNrYSBoJmF1bWw7ciBmJm91bWw7ciBhdHQgJmF1bWw7bmRyYSBkaXR0IGwmb3VtbDtzZW5vcmQgZWxsZXIgYW5uYW4gaW5mb3JtYXRpb24nOwokbGFuZ1sndmlld3VzZXJfdGVtcGxhdGUnXSA9ICdWaXNhIGFudiZhdW1sO25kYXJtYWxsJzsKJGxhbmdbJ2V2ZW50J10gPSAnSCZhdW1sO25kZWxzZSc7CiRsYW5nWydmZXVfZXZlbnRfbm90aWZpY2F0aW9uJ10gPSAnRkVVIEgmYXVtbDtuZGVsc2Vub3RpZmllcmluZyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX2FkZHJlc3MnXSA9ICdFcG9zdGFkcmVzcyBmJm91bWw7ciBub3RpZmllcmluZyc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciBub3RpZmllcmluZ3MtZXBvc3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnJkF1bWw7bW5lc3JhZCBmJm91bWw7ciBub3RpZmllcmluZ3MtZXBvc3QnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmllcmluZ3MtZXBvc3QnOwokbGFuZ1snT25Mb2dpbiddID0gJ1ZpZCBpbmxvZ2duaW5nJzsKJGxhbmdbJ09uTG9nb3V0J10gPSAnVmlkIHV0bG9nZ25pbmcnOwokbGFuZ1snT25FeHBpcmVVc2VyJ10gPSAnVmlkIHV0bCZvdW1sO3B0IHNlc3Npb24nOwokbGFuZ1snT25DcmVhdGVVc2VyJ10gPSAnVmlkIHNrYXBhbmRlIGF2IG55IGFudiZhdW1sO25kYXJlJzsKJGxhbmdbJ09uRGVsZXRlVXNlciddID0gJ1ZpZCBib3J0dGFnYW5kZSBhdiBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydPblVwZGF0ZVVzZXInXSA9ICdWaWQgJmF1bWw7bmRyYWRlIGFudiZhdW1sO25kYXJpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snT25DcmVhdGVHcm91cCddID0gJ1ZpZCBza2FwYW5kZSBhdiBhbnYmYXVtbDtuZGFyZ3J1cHAnOwokbGFuZ1snT25EZWxldGVHcm91cCddID0gJ1ZpZCBib3J0dGFnYW5kZSBhdiBhbnYmYXVtbDtuZGFyZ3J1cHAnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdWaSBoYXIgZnVubml0IGV0dCB1bmlrdCBhbnYmYXVtbDtuZGFybmFtbiBzb20gbWF0Y2hhciBkZSB1cHBnaWZ0ZXIgZHUgbCZhdW1sO21uYXQuJzsKJGxhbmdbJ3lvdXJfdXNlcm5hbWVfaXMnXSA9ICdEaXR0IGFudiZhdW1sO25kYXJuYW1uICZhdW1sO3InOwokbGFuZ1snbG9zdHVuY29uZmlybV9wb3N0bXNnJ10gPSAnVmkgcmVrb21tZW5kZXJhciBhdHQgZHUgc3BhcmFyIGRlbm5hIGluZm9ybWF0aW9uIHAmYXJpbmc7IGVuIHMmYXVtbDtrZXIgcGxhdHMuJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3MnXSA9ICdQYWdlSUQvQWxpYXMgYXR0IGcmYXJpbmc7IHRpbGwgZWZ0ZXIgJmF1bWw7bmRyYWRlIGluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfdmVyaWZ5X2NvZGUnXSA9ICdQYWdlSUQvQWxpYXMgYXR0IGcmYXJpbmc7IHRpbGwgZWZ0ZXIgdmVyaWZpZXJpbmcgYXYga29kIConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdNYWxsIGYmb3VtbDtyIHVwcGdpZnRlciBvbSBnbCZvdW1sO210IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ2xvc3R1bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciBiZWtyJmF1bWw7ZnRlbHNlIHZpZCBnbCZvdW1sO210IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ2Vycm9yX25vbnVuaXF1ZW1hdGNoJ10gPSAnRmVsOiBNZXIgJmF1bWw7biBlbiBhbnYmYXVtbDtuZGFyZSBzdCZhdW1sO21kZSAmb3VtbDt2ZXJlbnMgbWVkIGRlIGVnZW5za2FwZXIgc29tIGFuZ2F2cyc7CiRsYW5nWydlcnJvcl9jYW50ZmluZHVzZXInXSA9ICdGZWw6IEt1bmRlIGludGUgaGl0dGEgZW4gYW52JmF1bWw7bmRhcmUgc29tIHN0JmF1bWw7bWRlICZvdW1sO3ZlcmVucyBtZWQgcyZvdW1sO2trcml0ZXJpZXJuYSc7CiRsYW5nWydlcnJvcl9ncm91cG5vdGZvdW5kJ10gPSAnRmVsOiBLdW5kZSBpbnRlIGhpdHRhIGVuIGdydXBwIG1lZCBkZXQgbmFtbmV0JzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnRW5iYXJ0IGwmYXVtbDtzciZhdW1sO3R0aWdoZXRlcic7CiRsYW5nWydwcm9tcHRfdXNlcm1hbmlwdWxhdG9yJ10gPSAnS2xhc3MgZiZvdW1sO3IgYW52JmF1bWw7bmRhcmhhbnRlcmluZyAoVXNlciBNYW5pcHVsYXRvciBDbGFzcyknOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnVXRsb2dnYWQgYXYgYWRtaW5pc3RyYXQmb3VtbDtyJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdWaXNhIGVuYmFydCBpbmxvZ2dhZGUgYW52JmF1bWw7bmRhcmUnOwokbGFuZ1sncHJvbXB0X2xvZ291dCddID0gJ0xvZ2dhIHV0IGRlbiBoJmF1bWw7ciBhbnYmYXVtbDtuZGFyZW4nOwokbGFuZ1sndXNlcl9wcm9wZXJ0aWVzJ10gPSAnQW52JmF1bWw7bmRhcmVnZW5za2FwZXInOwokbGFuZ1sndXNlcmhpc3RvcnknXSA9ICdBbnYmYXVtbDtuZGFyaGlzdG9yaWsnOwokbGFuZ1snZXhwb3J0J10gPSAnRXhwb3J0ZXJhJzsKJGxhbmdbJ2NsZWFyJ10gPSAnUmVuc2EnOwokbGFuZ1sncHJvbXB0X2V4cG9ydHVzZXJoaXN0b3J5J10gPSAnRXhwb3J0ZXJhIGFudiZhdW1sO25kYXJoaXN0b3JpayB0aWxsIEFTQ0lJIHNvbSAmYXVtbDtyIG1pbnN0JzsKJGxhbmdbJ3Byb21wdF9jbGVhcnVzZXJoaXN0b3J5J10gPSAnUmVuc2EgYW52JmF1bWw7bmRhcmhpc3RvcmlrIHNvbSAmYXVtbDtyIG1pbnN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ1N1cHBvcnRmb3JtdWwmYXVtbDtyIGYmb3VtbDtyIGYmb3VtbDtybG9yYXQgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sndGl0bGVfcnNzZXhwb3J0J10gPSAnRXhwb3J0ZXJhIGdydXBwZGVmaW5pdGlvbiAob2NoIGVnZW5za2FwZXIpIHRpbGwgWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVbmRlcmgmYXJpbmc7bGwgYW52JmF1bWw7bmRhcmhpc3RvcmlrJzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ25vJ10gPSAnTmVqJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ0F2JzsKJGxhbmdbJ2RhdGVfYWxscmVjb3JkcyddID0gJyoqIEluZ2VuIGJlZ3ImYXVtbDtuc25pbmcgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnRW4gdGltbWUgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NleCB0aW1tYXIgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfdHdlbHZlaG91cm9sZCddID0gJ1RvbHYgdGltbWFyIGdhbW1hbCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ0VuIGRhZyBnYW1tYWwnOwokbGFuZ1snZGF0ZV9vbmV3ZWVrb2xkJ10gPSAnRW4gdmVja2EgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfdHdvd2Vla3NvbGQnXSA9ICdUdiZhcmluZzsgdmVja29yIGdhbW1hbCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnRW4gbSZhcmluZztuYWQgZ2FtbWFsJzsKJGxhbmdbJ2RhdGVfdGhyZWVtb250aHNvbGQnXSA9ICdUcmUgbSZhcmluZztuYWRlciBnYW1tYWwnOwokbGFuZ1snZGF0ZV9zaXhtb250aHNvbGQnXSA9ICdTZXggbSZhcmluZztuYWRlciBnYW1tYWwnOwokbGFuZ1snZGF0ZV9vbmV5ZWFyb2xkJ10gPSAnRXR0ICZhcmluZztyIGdhbW1hbCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcnVwcGVyaW5nIG9jaCBzb3J0ZXJpbmcnOwokbGFuZ1sncHJvbXB0X3JlY29yZHNmb3VuZCddID0gJ0YmYXVtbDtsdCBzb20gJm91bWw7dmVyZW5zc3QmYXVtbDttbWVyIG1lZCBrcml0ZXJpZXQnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdGYWxsYW5kZSBhbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWydzb3J0b3JkZXJfdXNlcm5hbWVfYXNjJ10gPSAnU3RpZ2FuZGUgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0ZhbGxhbmRlIGRhdHVtJzsKJGxhbmdbJ3NvcnRvcmRlcl9kYXRlX2FzYyddID0gJ1N0aWdhbmRlIGRhdHVtJzsKJGxhbmdbJ3NvcnRvcmRlcl9hY3Rpb25fZGVzYyddID0gJ0ZhbGxhbmRlIGgmYXVtbDtuZGVsc2V0eXAnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdTdGlnYW5kZSBoJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ3NvcnRvcmRlcl9pcGFkZHJlc3NfZGVzYyddID0gJ0ZhbGxhbmRlIElQLWFkcmVzcyc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2FzYyddID0gJ1N0aWdhbmRlIElQLWFkcmVzcyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnSW5nZW4gaGlzdG9yaWsgaGl0dGFkZXMnOwokbGFuZ1sncmVzZXQnXSA9ICcmQXJpbmc7dGVyc3QmYXVtbDtsbCc7CiRsYW5nWydwcm9tcHRfZ3JvdXBfaXAnXSA9ICdHcnVwcGVyYSBwJmFyaW5nOyBJUC1hZHJlc3MnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdIJmF1bWw7bmRlbHNldHlwc2ZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdWaXNhIGJhcmEgaCZhdW1sO25kZWxzZSBzb20gJmF1bWw7ciBtaW5kcmUgJmF1bWw7bjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1NpZGdyJmF1bWw7bnMnOwokbGFuZ1snZm9yJ10gPSAnZiZvdW1sO3InOwokbGFuZ1sndGl0bGVfdXNlcmhpc3RvcnknXSA9ICdSYXBwb3J0IGYmb3VtbDtyIGFudiZhdW1sO25kYXJoaXN0b3Jpayc7CiRsYW5nWyd1bmtub3duJ10gPSAnT2smYXVtbDtuZCc7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAtYWRyZXNzJzsKJGxhbmdbJ3Byb21wdF9ldmVudHR5cGUnXSA9ICdIJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ3Byb21wdF9kYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJyZBcmluZzt0ZXJ2JmF1bWw7bmQnOwokbGFuZ1snaW1wb3J0X2NvbXBsZXRlX21zZyddID0gJ0ltcG9ydGVuIHNsdXRmJm91bWw7cmQnOwokbGFuZ1sncHJvbXB0X2xpbmVzcHJvY2Vzc2VkJ10gPSAnSGFudGVyYWRlIHJhZGVyJzsKJGxhbmdbJ3Byb21wdF9lcnJvcnMnXSA9ICdQJmFyaW5nO3RyJmF1bWw7ZmZhZGUgZmVsJzsKJGxhbmdbJ3Byb21wdF9yZWNvcmRzYWRkZWQnXSA9ICdUaWxsYWdkYSByYWRlcic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBlZ2Vuc3BhZXIgZiZvdW1sO3IgZ3J1cHBlbiAlcyc7CiRsYW5nWydlcnJvcl9ub3Jlc3BvbnNlZnJvbXNlcnZlciddID0gJ0t1bmRlIGludGUgZiZhcmluZzsgbiZhcmluZztnb3Qgc3ZhciBmciZhcmluZztuIFNNVFAtc2VydmVybic7CiRsYW5nWydlcnJvcl9pbXBvcnRmaWxlbm90Zm91bmQnXSA9ICdGaWxlbiAoJXMpIGt1bmRlIGludGUgaGl0dGFzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkdmFsdWUnXSA9ICdPZ2lsdGlndCB2JmF1bWw7cmRlIGYmb3VtbDtyIGRyb3Bkb3duIGVsbGVyIGZsZXJ2YWxzZiZhdW1sO2x0ZXQgJXMnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGRsZW5ndGgnXSA9ICdGJmF1bWw7bHRldCAlcyAmb3VtbDt2ZXJzdGlnZXIgbWFnbCZhdW1sO25nZCc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydGZlbCAocmFkICVzKTogJXMnOwokbGFuZ1snZXJyb3JfcHJvcGVydHlkZWZucyddID0gJ0t1bmRlIGludGUgaCZhdW1sO210YSBkZWZpbml0aW9uZXIgZiZvdW1sO3IgZWdlbnNrYXBlbiAoaW50ZXJudCBmZWwpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gbWVkIGF0dCBzdCZhdW1sO2xsYSBpbiBhbnYmYXVtbDtuZGFyaW5mb3JtYXRpb24nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0t1bmRlIGludGUgaGl0dGEgZW4ga29sdW1uIGYmb3VtbDtyIGYmYXVtbDtsdGV0ICVzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBwcm9wZXJ0aWVzJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBlZ2Vuc2thcGVyIGYmb3VtbDtyIGRlbiBhbmdpdm5hIGdydXBwZW4nOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ0RlbiBhbmdpdm5hIGltcG9ydGZpbGVuICZhdW1sO3IgaW50ZSBrb3JyZWt0IGZvcm1hdHRlcmFkJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90b3BlbmZpbGUnXSA9ICdLdW5kZSBpbnRlICZvdW1sO3BwbmEgZmlsJzsKJGxhbmdbJ2luZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0J10gPSAnPGg0PkZpbGUgRm9ybWF0IEluZm9ybWF0aW9uPC9oND4NCjxwPlRoZSBpbnB1dCBmaWxlIG11c3QgYmUgaW4gQVNDSUkgZm9ybWF0IHVzaW5nIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMuICBFYWNoIGxpbmUgaW4gdGhpcyBpbnB1dCBmaWxlICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhlYWRlciBsaW5lLCBkaXNjdXNzZWQgYmVsb3cpIHJlcHJlc2VudHMgb25lIHVzZXIgcmVjb3JkLiAgRWFjaCBsaW5lIG11c3QgY29udGFpbiB0aGUgc2FtZSBudW1iZXIgb2YgZmllbGRzLCBhbmQgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZHMgaW4gZWFjaCBsaW5lIG11c3QgYmUgaWRlbnRpY2FsLjwvcD4NCjxoNT5IZWFkZXIgbGluZTwvaDU+DQo8dWw+DQo8bGk+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgbXVzdCBiZWdpbiB3aXRoIHR3byBwb3VuZCAoXCMpIGNoYXJhY3RlcnMsIGFuZCBuYW1lcyBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGZpbGUuICBUaGUgbmFtZXMgb2YgdGhlc2UgZmllbGRzIGlzIHNpZ25pZmljYW50LiAgVGhlcmUgYXJlIHNvbWUgcmVxdWlyZWQgZmllbGQgbmFtZXMgKHNlZSBiZWxvdyksIGFuZCBvdGhlciBmaWVsZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHVzZXJzIGFyZSBnb2luZyB0byBiZSBhZGRlZCBpbnRvLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgZmFpbCBpZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBmaWxlIGRvZXMgbm90IG1hdGNoIGFsbCBvZiB0aGUgcmVxdWlyZWQgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwIHRoYXQgdXNlcnMgYXJlIGJlaW5nIGFkZGVkIGludG88L2xpPg0KPGxpPlRoZSBpbnB1dCBmaWxlIG1heSBjb250YWluIGZpZWxkcyByZXByZXNlbnRpbmcgc29tZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLjwvbGk+DQo8bGk+VGhlIGltcG9ydCBwcm9jZXNzIHdpbGwgaWdub3JlIGFueSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgdGhhdCBhcmUgZWl0aGVyIG5vdCBrbm93biwgb3IgbWFwIHRvIHByb3BlcnRpZXMgdGhhdCBhcmUgPGVtPm9mZjwvZW0+IGluIHRoZSBzcGVjaWZpZWQgdXNlciBncm91cC48L2xpPg0KPC91bD4NCjxoNT5Db2x1bW5hciBEYXRhPC9oNT4NCjx1bD4NCjxsaT5UaGUgPHN0cm9uZz51c2VybmFtZTwvc3Ryb25nPiBGaWVsZCAtIFRoZSBkZXNpcmVkIHVzZXJuYW1lLg0KICAgIDxwPlRoaXMgZmllbGQgbXVzdCBleGlzdCBpbiB0aGUgaGVhZGVybGluZSwgYW5kIGluIGVhY24gYW5kIGV2ZXJ5IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuIFRoZSByZWNvcmQgd2lsbCBmYWlsIGlmIGEgdXNlciB3aXRoIHRoYXQgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGRhdGFiYXNlLjwvcD48L2xpPg0KPGxpPlRoZSA8c3Ryb25nPnBhc3N3b3JkPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+ZXhwaXJlczwvc3Ryb25nPiBGaWVsZCAtIFRvZG88L2xpPg0KPGxpPkRyb3Bkb3duIEZpZWxkcw0KICAgIDxwPlRoZSB2YWx1ZSBvZiBkcm9wZG93biBwcm9wZXJ0aWVzIGluIGFuIGltcG9ydCBmaWxlIGlzIHJlcHJlc2VudGVkIGFzIHRoZSBzdHJpbmcgdGhhdCBpcyBzaG93biBpbiB0aGUgZHJvcGRvd24gY29udHJvbCBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUuPC9wPg0KPC9saT4NCjxsaT5NdWx0aXNlbGVjdCBGaWVsZHMNCiAgICA8cD5NdWx0aXNlbGVjdCBmaWVsZHMgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlIEFTQ0lJIGZpbGUgYXMgYSA6IHNlcGFyYXRlZCBsaXN0IG9mIHN0cmluZ3MsIHdoZXJlIGVhY2ggc3RyaW5nIHJlcHJlc2VudHMgdGhlIHRleHQgc2hvd24gaW4gdGhlIG11bHRpc2VsZWN0IGxpc3Q8L3A+DQo8L2xpPg0KPGxpPkltYWdlIEZpZWxkcw0KICAgIDxwPkltYWdlIGFyZSBmaWVsZHMgd2hvJiMwMzk7cyBjb2x1bW4gbmFtZSBtYXRjaGVzIGEgcHJvcGVydHkgb2YgdHlwZSBJbWFnZS4gIElmIHRoaXMgZmllbGQgaXMgYSByZXF1aXJlZCBwYXJ0IG9mIHRoZSBkZXN0aW5hdGlvbiBncm91cCwgdGhlbiB0aGUgbmFtZSBzcGVjaWZpZWQgaW4gdGhlc2UgY29sdW1ucyBtdXN0IGV4aXN0IGluIHRoZSB1cGxvYWRzIGRpc3JlY3Rvcnkgb2YgdGhlIENNUyBpbnN0YWxsYXRpb24uICBJZiB0aGUgaW1hZ2UgZG9lcyBub3QgZXhpc3QsIGFuZCB0aGUgZmllbGQgaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHJlY29yZCB3aWxsIGZhaWwuPC9wPg0KPC91bD4NCjxoNT5Ob3RlczwvaDU+DQo8cD5UaGUgaW1wb3J0IHByb2Nlc3MgaXMgc3ViamVjdCB0byB0aGUgbGltaXRhdGlvbnMgaW1wb3NlZCBieSB0aGUgaG9zdCBwcm92aWRlciwgc3VjaCBhcyBtZW1vcnkgbGltaXRhdGlvbnMsIHByb2Nlc3NpbmcgdGltZSwgZmlsZSBzaXplIHVwbG9hZCwgYW5kIHNhZmUgbW9kZSByZXN0cmljdGlvbnMuICBBbnkgb25lIG9mIHRoZXNlIGxpbWl0YXRpb25zIG1heSBjYXVzZSB0aGUgaW1wb3J0IHRvIGZhaWwuIFRoZXJlZm9yZSBpdCBpcyBhZHZpc2FibGUgdG8gZW5zdXJlIHRoYXQgaW1wb3J0IGZpbGVzIGFyZSBzbWFsbGVyIGluIHNpemUsIGFuZCBzaW1wbGVyIGluIG5hdHVyZS48L3A+DQo8cD5UaG91Z2ggZXZlcnkgZWZmb3J0IGhhcyBiZWVuIG1hZGUgdG8gZW5zdXJlIHRoYXQgZGF0YWJhc2UgY29ycnVwdGlvbiB3aWxsIG5vdCBvY2N1ciwgaXQgaXMgYWR2aXNhYmxlIHRvIHBlcmZvcm0gYSBkYXRhYmFzZSBiYWNrdXAgYmVmb3JlIGRvaW5nIGEgdXNlciBpbXBvcnQuPC9wPg0KPGg1PkV4YW1wbGU8L2g1Pg0KPHByZT4NCiMjdXNlcm5hbWUsZmlyc3RfbmFtZSxsYXN0X25hbWUsZW1haWwsY2l0eSxzdGF0ZSxjb3VudHJ5LHppcA0KdXNlcjEsdGVzdCx1c2VyLHVzZXIxQHNvbWVkb21haW4uY29tLHNvbWV3aGVyZSxUWCxVUywxMjM0NQ0KPC9wcmU+DQonOwokbGFuZ1sncHJvbXB0X2ltcG9ydGRlc3Rncm91cCddID0gJ0ltcG9ydGVyYSBhbnYmYXVtbDtuZGFyZSB0aWxsIGRlbm5hIGdydXBwZW4nOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGVuYW1lJ10gPSAnQW5nZSBDU1YtZmlsJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR4bWxmaWxlJ10gPSAnQW5nZSBYTUwtZmlsJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydGVyYSBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnRlcmEgYW52JmF1bWw7bmRhcmUnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnUmVuc2EnOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdTJm91bWw7a3YmYXVtbDtnIGYmb3VtbDtyIGJpbGQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ191cGxvYWQnXSA9ICdFdHQgcHJvYmxlbSB1cHBzdG9kIG1lZCBlbiBzYWtuYWQgKG1lbiBrciZhdW1sO3ZkKSB1cHBsYWRkbmluZyc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnS3VuZGUgaW50ZSBoYW50ZXJhIGRlbiB0aWxsaGFuZGFoJmFyaW5nO2xsbmEgWE1MLWZpbGVuJzsKJGxhbmdbJ2Vycm9yX25vdGVtcHR5Z3JvdXAnXSA9ICdLYW4gaW50ZSB0YSBib3J0IGVuIGdydXBwIHNvbSBpbm5laCZhcmluZztsbGVyIGFudiZhdW1sO25kYXJlJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdEZW4gaCZhdW1sO3IgYW52JmF1bWw7bmRhcmVuIGhhciByZWRhbiBsb2dnYXQgaXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnQmlsZGVucyB0ZXh0IGhhciBpbnRlIG1hdGF0cyBpbiBrb3JyZWt0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnMnXSA9ICdUaWxsJmFyaW5nO3QgYW52JmF1bWw7bmRhcmUgYXR0IGxvZ2dhIGluIG1lZCBmbGVyYSBzZXNzaW9uZXInOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ1RpbGwmYXJpbmc7dG5hIGZpbCZhdW1sO25kZWxzZSBmJm91bWw7ciBiaWxkZXIgc29tIGFudiZhdW1sO25kYXJlIHRpbGwmYXJpbmc7dHMgbGFkZGEgdXBwJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWQgaW4gdXNlcjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgaXAgYWRkcmVzcyBvZiB0aGUgY2xpZW50PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ291dCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBsb2dzIG91dDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBsb2dnZWRvdXQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25FeHBpcmVVc2VyJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIHNlc3Npb24gZXhwaXJlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBleHBpcmVkIHVzZXI8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIHVzZXIgaWQgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25Mb2dpbiddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBlbiBhbnYmYXVtbDtuZGFyZSBsb2dnYXIgaW4gaSBzeXN0ZW1ldCc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnRW4gaCZhdW1sO25kZWxzZSBzb20gc2thcGFzIGQmYXJpbmc7IGVuIGFudiZhdW1sO25kYXJlIGxvZ2dhciB1dCB1ciBzeXN0ZW1ldCc7CiRsYW5nWydldmVudF9pbmZvX09uRXhwaXJlVXNlciddID0gJ0VuIGgmYXVtbDtuZGVsc2Ugc29tIHNrYXBhcyBkJmFyaW5nOyBlbiBhbnYmYXVtbDtuZGFyZXMgaW5sb2dnbmluZ3NzZXNzaW9uIGwmb3VtbDtwZXIgdXQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZVVzZXInXSA9ICdFbiBoJmF1bWw7bmRlbHNlIHNvbSBza2FwYXMgZCZhcmluZzsgZW4gYW52JmF1bWw7bmRhcmUgc2thcGFzJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnRW4gaCZhdW1sO25kZWxzZSBzb20gc2thcGFzIGQmYXJpbmc7IGVuIGFudiZhdW1sO25kYXJlcyBpbmZvcm1hdGlvbiB1cHBkYXRlcmFzJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25EZWxldGVVc2VyJ10gPSAnRW4gaCZhdW1sO25kZWxzZSBzb20gc2thcGFzIGQmYXJpbmc7IGV0dCBhbnYmYXVtbDtuZGFya29udG8gdGFzIGJvcnQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnRW4gaCZhdW1sO25kZWxzZSBzb20gc2thcGFzIGQmYXJpbmc7IGVuIGFudiZhdW1sO25kYXJncnVwcCBza2FwYXMnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnRW4gaCZhdW1sO25kZWxzZSBzb20gc2thcGFzIGQmYXJpbmc7IGVuIGFudiZhdW1sO25kYXJncnVwcCB0YXMgYm9ydCc7CiRsYW5nWydiYWNrZW5kX2dyb3VwJ10gPSAnQmFja2VuZC1ncnVwcCc7CiRsYW5nWydpbmZvX3N0YXInXSA9ICcqIEYmb3VtbDtsamFuZGUgbWFrcm9uIGthbiBhbnYmYXVtbDtuZGFzIGkgZGVzc2EgZiZhdW1sO2x0IHskdXNlcm5hbWV9LHskZ3JvdXB9LiBOJmF1bWw7ciAmIzAzOTt7JGdyb3VwfS1tYWtyb3QmIzAzOTsgYW52JmF1bWw7bmRzIGtvbW1lciBzeXN0ZW1ldCBlcnMmYXVtbDt0dGEgbmFtbmV0ICBwJmFyaW5nOyBkZW4gZiZvdW1sO3JzdGEgbWVkbGVtc2dydXBwZW4gc29tIGFudiZhdW1sO25kYXJlbiB0aWxsaCZvdW1sO3Igb2NoIGtvbW1lciBzdHlyYSBvbSB0aWxsIGRlbiBzaWRhbi4nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ1JlZGlnZXJhIGRldHRhIGYmYXVtbDtsdGV0IGYmb3VtbDtyIGF0dCAmYXJpbmc7dGVyc3QmYXVtbDtsbGEgYW52JmF1bWw7bmRhcmVucyBsJm91bWw7c2Vub3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdSZWRpZ2VyYSBkZXR0YSBmJmF1bWw7bHRldCBmJm91bWw7ciBhdHQgJmFyaW5nO3RlcnN0JmF1bWw7bGxhIGFudiZhdW1sO25kYXJlbnMgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdEZXQgZmlubnMgcmVkYW4gZW4gYW52JmF1bWw7bmRhcmUgbWVkIGRldCBhbnYmYXVtbDtuZGFybmFtbmV0JzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ0luZ2V0IHJlc3VsdGF0IHJldHVybmVyYWRlcyBmciZhcmluZztuIENTVi1leHBvcnRlbic7CiRsYW5nWydwcm9tcHRfdW5mbGRsZW4nXSA9ICdMJmF1bWw7bmdkIHAmYXJpbmc7IGYmYXVtbDtsdGV0IGYmb3VtbDtyIGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3Byb21wdF9wd2ZsZGxlbiddID0gJ0wmYXVtbDtuZ2QgcCZhcmluZzsgZiZhdW1sO2x0ZXQgZiZvdW1sO3IgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmRsZW5ndGhzJ10gPSAnTWluL21heC12JmF1bWw7cmRlbmEgZiZvdW1sO3IgbCZhdW1sO25nZGVuIHAmYXJpbmc7IGwmb3VtbDtzZW5vcmQgJmF1bWw7ciBvZ2lsdGlnYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL21heC12JmF1bWw7cmRlbmEgZiZvdW1sO3IgbCZhdW1sO25nZGVuIHAmYXJpbmc7IGFudiZhdW1sO25kYXJuYW1uICZhdW1sO3Igb2dpbHRpZ2EnOwokbGFuZ1snZXJyb3JfaW52YWxpZGVtYWlsYWRkcmVzcyddID0gJ09naWx0aWcgZXBvc3RhZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdJbmdlbiBlcG9zdGFkcmVzcyBoaXR0YWRlcyBmJm91bWw7ciBkZXR0YSBrb250b3QnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ0V0dCBmZWwgdXBwc3RvZCBuJmF1bWw7ciBhbnYmYXVtbDtuZGFyaW5mb3JtYXRpb25lbiBza3VsbGUgc3BhcmFzJzsKJGxhbmdbJ2Vycm9yX3NldHRpbmdwcm9wZXJ0eSddID0gJ0V0dCBmZWwgdXBwc3RvZCBuJmF1bWw7ciBhbnYmYXVtbDtuZGFyZWdlbnNrYXBlbiBza3VsbGUgc3BhcmFzJzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdBbnYmYXVtbDtuZGFyZW4gJXMgPSAlcyBsYWRlcyB0aWxsJzsKJGxhbmdbJ3VzZXJfZGVsZXRlZCddID0gJ0FudiZhdW1sO25kYXJlbiB1aWQ9JXMgdG9ncyBib3J0JzsKJGxhbmdbJ3Byb3BlcnR5ZmlsdGVyJ10gPSAnRWdlbnNrYXAnOwokbGFuZ1sndmFsdWVyZWdleCddID0gJ1YmYXVtbDtyZGUgKHJlZ3VsaiZhdW1sO3J0IHV0dHJ5Y2spJzsKJGxhbmdbJ3dhcm5pbmdfZWZmZWN0c2ZpZWxkbGVuZ3RoJ10gPSAnVmFybmluZzogRGVzc2EgZiZhdW1sO2x0IHAmYXJpbmc7dmVya2FyIHN0b3JsZWtlbiBwJmFyaW5nOyBmJmF1bWw7bHQgaSBmb3JtdWwmYXVtbDtyLiBEZXQgJmF1bWw7ciBpbnRlIHRpbGxyJmFyaW5nO2RsaWd0IGF0dCBtaW5za2EgZGVzc2EgdiZhdW1sO3JkZW4gaSBlbiBleGlzdGVyYW5kZSB3ZWJicGxhdHMuJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwganVzdGVyYSBpbnN0JmF1bWw7bGxuaW5nYXJuYSBmJm91bWw7ciBtb2R1bGVuPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRXBvc3RhZHJlc3NlbiBhbnYmYXVtbDtuZHMgcmVkYW4nOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnQW52JmF1bWw7bmQgY29va2llcyBmJm91bWw7ciBhdHQga29tbWEgaWgmYXJpbmc7ZyBpbmxvZ2duaW5nc3VwcGdpZnRlcic7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ05hbW4gcCZhcmluZzsgY29va2llJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnVGlsbCZhcmluZzt0IGR1YmxldHRlciBwJmFyaW5nOyBlcG9zdGFkcmVzc2VyJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ2Vwb3N0YWRkcmVzc2VuICZhdW1sO3IgYW52JmF1bWw7bmRhcm5hbW5ldCc7CiRsYW5nWydpbmZvX2Nvb2tpZV9rZWVwYWxpdmUnXSA9ICdGJm91bWw7cnMmb3VtbDtrIGgmYXJpbmc7bGxhIGlubG9nZ25pbmdhciB2aWQgbGl2IGdlbm9tIGF0dCBhbnYmYXVtbDtuZGEgY29va2llcyA8ZW0+KGNvb2tpZTpuICZhcmluZzt0ZXJzdCZhdW1sO2xscyB2aWQgYWt0aXZpdGV0IGkgd2ViYnBsYXRzZW4pPC9lbT4nOwokbGFuZ1snaW5mb19hbGxvd19kdXBsaWNhdGVfZW1haWxzJ10gPSAnKHRpbGwmYXJpbmc7dCBtdWx0aXBsYSBhbnYmYXVtbDtuZGFyZSBtZWQgc2FtbWEgZXBvc3RhZHJlc3MpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWVfaXNfZW1haWwnXSA9ICcodXNlciYjMDM5O3MgZW1haWwgYWRkcmVzcyBpcyB0aGVpciB1c2VybmFtZSAtLSBkb24mIzAzOTt0IHNldCB0aGlzIHdpdGggJnF1b3Q7YWxsb3cgZHVwbGljYXRlIGVtYWlsIGFkZHJlc3NlcyZxdW90OyEpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzJ10gPSAnVGlsbCZhcmluZzt0IG11bHRpcGxhIHAmYXJpbmc7bWlubmVsc2VyIGF2IHR5cGVuICZxdW90O2dsJm91bWw7bXQgbCZvdW1sO3Nlbm9yZCZxdW90Oyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcodGlsbCZhcmluZzt0IGFudiZhdW1sO25kYXJlIGF0dCBiZWcmYXVtbDtyYSBlbiAmYXJpbmc7dGVyc3QmYXVtbDtsbG5pbmcgYXYgbCZvdW1sO3Nlbm9yZGV0LCAmYXVtbDt2ZW4gb20gZGUgaW50ZSBoYXIgYmVrciZhdW1sO2Z0YXQgdGlkaWdhcmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnQW52JmF1bWw7bmQgRnJvbnQtZW5kIFVzZXI6cyBzcGVjaWZpa2EgciZhdW1sO3R0aWdoZXRlcj8nOwokbGFuZ1snaW5mb19mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnKE5vcm1hbHQgJmF1bWw7ciByJmF1bWw7dHRpZ2hldGVybmEgZiZvdW1sO3IgRnJvbnRlbmQtYW52JmF1bWw7bmRhcmUgc2FtbWEgc29tIG1vdHN2YXJhbmRlIHImYXVtbDt0dGlnaGV0ZXIgZiZvdW1sO3IgQWRtaW4tZGVsZW4gc29tIEwmYXVtbDtnZyB0aWxsIGFudiZhdW1sO25kYXJlLCBMJmF1bWw7Z2cgdGlsbCBncnVwcCBvc3YuIE9tIGR1IHYmYXVtbDtsamVyIGRldHRhIGFsdGVybmF0aXYga29tbWVyIGRldCBibGkgc2VwYXJhdGEgciZhdW1sO3R0aWdoZXRlciBmJm91bWw7ciBGcm9udGVuZC1hbnYmYXVtbDtuZGFuZGFyZS4pLic7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBkZW4gdXBwbGFkZGFkZSBmaWxlbiAoaW50ZXJudCBmZWwpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1fdXBsb2FkJ10gPSAnRGV0IHVwcHN0b2QgZXR0IGZlbCBtZWQgZmlsZW4gZHUgbGFkZGF0IHVwcC4gRiZvdW1sO3JzJm91bWw7ayBpZ2VuJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ0R1IGFuZ2F2IGluZ2V0IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdlbWFpbCddID0gJ0R1IGFuZ2F2IGludGUgZGluIGVwb3N0YWRyZXNzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXNzd29yZCddID0gJ0R1IGFuZ2F2IGluZ2V0IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ291dCddID0gJ0xvZ2dhdCB1dCBmciZhcmluZztuIEZyb250ZW5kIFVzZXInOwokbGFuZ1snZnJvbnRlbmR1c2VyX2xvZ2dlZGluJ10gPSAnTG9nZ2EgaW4gaSBGcm9udGVuZCBVc2VyJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnRGVuIGgmYXVtbDtyIGZ1bmt0aW9uZW4gZnVuZ2VyYXIgaW50ZSBwJmFyaW5nOyBXaW5kb3dzJzsKJGxhbmdbJ21zZ19kb250Y3JlYXRldXNlcm5hbWUnXSA9ICdTa2FwYSBpbnRlIGVnZW5za2FwZXIgZiZvdW1sO3IgYW52JmF1bWw7bmRhcm5hbW4gb2NoIGwmb3VtbDtzZW5vcmQgZWZ0ZXJzb20gZGVzc2EgJmF1bWw7ciBpbmd5Z2dkYSBpIG1vZHVsZW4gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydwcm9tcHRfZXhwb3J0Y3N2J10gPSAnRXhwb3J0ZXJhIGFudiZhdW1sO25kYXJlIHRpbGwgQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydGVyYSc7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnRlcmEnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbmlzdHJlcmEnOwokbGFuZ1snZWRpdHByb3AnXSA9ICdSZWRpZ2VyYSBlZ2Vuc2thcCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhsJmF1bWw7bmdkJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdTa2FwYWQnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydGVyYSBlZnRlcic7CiRsYW5nWydzb3J0J10gPSAnU29ydGVyYXInOwokbGFuZ1sndXNlcnNpbmdyb3VwJ10gPSAnQW52JmF1bWw7bmRhcmUgaSBkZW4gdmFsZGEgZ3J1cHBlbi9ncnVwcGVybmEnOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnQmVnciZhdW1sO25zYSByZXN1bHRhdGV0IGVmdGVyJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxmaWVsZCddID0gJ0t1bmRlIGludGUgaGl0dGEgZXR0IGUtcG9zdGYmYXVtbDtsdCBmJm91bWw7ciBkZW5uYSBhbnYmYXVtbDtuZGFyZW4uIER1IGthbnNrZSBiZWgmb3VtbDt2ZXIga29udGFrdGEgc3lzdGVtYWRtaW5pc3RyYXQmb3VtbDtyZW4uJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnU2lkLUlELy1hbGlhcyBmJm91bWw7ciBHbCZvdW1sO210IGwmb3VtbDtzZW5vcmQtZm9ybXVsJmF1bWw7cmV0JzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5nc19wYWdlJ10gPSAnU2lkLUlELy1hbGlhcyBmJm91bWw7ciAmQXVtbDtuZHJhIGluc3QmYXVtbDtsbG5pbmdhci1mb3JtdWwmYXVtbDtyZXQnOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdTaWQtSUQvLWFsaWFzIGYmb3VtbDtyIGcmYXJpbmc7IHRpbGwgZWZ0ZXIgaW5sb2dnbmluZyonOwokbGFuZ1sncHJvbXB0X2xvZ291dF9wYWdlJ10gPSAnU2lkLUlELy1hbGlhcyBmJm91bWw7ciBnJmFyaW5nOyB0aWxsIGVmdGVyIHV0bG9nZ25pbmcgKic7CiRsYW5nWydzb3J0b3JkZXInXSA9ICdTb3J0ZXJpbmdzb3JkbmluZyc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdFdHQgYW50YWwgYW52JmF1bWw7bmRhcmUgaCZhcmluZztsbGVyIHAmYXJpbmc7IGF0dCAmYXJpbmc7dGVyc3QmYXVtbDtsbGEgZ2wmb3VtbDttZGEgbCZvdW1sO3Nlbm9yZC4gSnVzdCBudSAmYXVtbDtyIGFudGFsZXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmFkZXJhIHBvc3RlciBzb20gJmF1bWw7ciAmYXVtbDtsZHJlIGVuIHZlY2thJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JhZGVyYSBwb3N0ZXIgc29tICZhdW1sO3IgJmF1bWw7bGRyZSBlbiBtJmFyaW5nO25hZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdUYSBib3J0IGFsbGEgcG9zdGVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXI/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnRW4gb2dpbHRpZyBrb2QgaGFyIGFuZ2V0dHMsIHYmYXVtbDtubGlnZW4gZiZvdW1sO3JzJm91bWw7ayBpZ2VuJzsKJGxhbmdbJ2Vycm9yX3RlbXBjb2Rlbm90Zm91bmQnXSA9ICdJbmdlbiB0aWxsZiZhdW1sO2xsaWcga29kIGYmb3VtbDtyIGRpdHQgYW52JmF1bWw7bmRhLUlEIGt1bmRlIGhpdHRhcyBpIGRhdGFiYXNlbic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF92ZXJpZnl0ZW1wbGF0ZSddID0gJ01hbGwgc29tIGFudiZhdW1sO25kcyBmJm91bWw7ciBhdHQgdmlzYSBiZWtyJmF1bWw7ZnRlbHNlZm9ybXVsJmF1bWw7cic7CiRsYW5nWydmb3Jnb3RwYXNzd29yZF9lbWFpbHRlbXBsYXRlJ10gPSAnTWFsbCBzb20gYW52JmF1bWw7bmRzIGYmb3VtbDtyIGF0dCBza2lja2EgYm9ydGdsJm91bWw7bWRhIGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0FudGluZ2VuIGR1IHNqJmF1bWw7bHYgZWxsZXIgbiZhcmluZztnb24gYW5uYW4gaGFyIHJlZGFuIGImb3VtbDtyamF0ICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBsJm91bWw7c2Vub3JkZXQgZiZvdW1sO3IgZGV0dGEga29udG8uIEtvbnRyb2xsZXJhIGRpbiBlLXBvc3QsIGR1IGhpdHRhciB2aWRhcmUgaW5zdHJ1a3Rpb25lciBmJm91bWw7ciBodXIgZHUgJmFyaW5nO3RlcnN0JmF1bWw7bGxlciBsJm91bWw7c2Vub3JkZXQgaSBkaW4gaW5rb3JnLic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2ZlbCc7CiRsYW5nWydtZXNzYWdlX2ZvcmdvdHB3ZW1haWwnXSA9ICdEdSBmJmFyaW5nO3IgZGV0dGEgbWVkZGVsYW5kZSBlZnRlcnNvbSBuJmFyaW5nO2dvbiBoYXIgYW5nZXR0IGF0dCBkdSBoYXIgZ2wmb3VtbDttdCBkaXR0IGwmb3VtbDtzZW5vcmQuIE9tIHMmYXJpbmc7ICZhdW1sO3IgZmFsbGV0LCBsJm91bWw7cyBpbnN0cnVrdGlvbmVybmEgbmVkYW4uIE9tIGR1IGludGUgaGFyIGVuIGFuaW5nIG9tIHZhZCBkZXR0YSAmYXVtbDtyIGthbiBkdSB0YSBib3J0IGRldHRhIG1lZGRlbGFuZGUgb2NoIHZpIHRhY2thciBkaWcgZiZvdW1sO3IgZGluIHRpZC4nOwokbGFuZ1sncHJvbXB0X2NvZGUnXSA9ICdLb2QnOwokbGFuZ1snbWVzc2FnZV9jb2RlJ10gPSAnRiZvdW1sO2xqYW5kZSBrb2QgaGFyIHNsdW1wbSZhdW1sO3NzaWd0IGdlbmVyZXJhdHMgZiZvdW1sO3IgYXR0IHZlcmlmaWVyYSBhbnYmYXVtbDtuZGFya29udG90LiBOJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7IGwmYXVtbDtua2VuIG5lZGFuIGtvbW1lciBkdSBhdHQgc2UgZXR0IGYmYXVtbDtsdCBmJm91bWw7ciBhdHQgc2tyaXZhIGluIGRlbm5hIGtvZGVuLiBOb3JtYWx0ICZhdW1sO3IgZiZhdW1sO2x0ZXQgcmVkYW4gaWZ5bGx0IGYmb3VtbDtyIGRpZywgbWVuIG9tIGRldCBpbnRlICZhdW1sO3IgcyZhcmluZzsgJmF1bWw7ciBrb2RlbjonOwokbGFuZ1sncHJvbXB0X2xpbmsnXSA9ICdHZW5vbSBhdHQga2xpY2thIHAmYXJpbmc7IGYmb3VtbDtsamFuZGUgbCZhdW1sO25rIGtvbW1lciBkdSBoYW1uYSBwJmFyaW5nOyB3ZWJicGxhdHNlbiBkJmF1bWw7ciBkdSBrYW4gbWF0YSBpbiBrb2RlbiBvdmFuIG9jaCBkJmF1bWw7cm1lZCAmYXJpbmc7dGVyc3QmYXVtbDtsbGEgZGl0dCBsJm91bWw7c2Vub3JkLjonOwokbGFuZ1snbG9zdHBhc3N3b3JkX2VtYWlsc3ViamVjdCddID0gJ0dsJm91bWw7bXQgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0thbiBpbnRlIGhpdHRhIG1vZHVsZW4gQ01TTWFpbGVyJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0V0dCBtYWlsIGhhciBza2lja2F0cyB0aWxsICVzIG1lZCBpbnN0cnVrdGlvbmVyIG9tIGh1ciBsJm91bWw7c2Vub3JkZXQgJmFyaW5nO3RlcnN0JmF1bWw7bGxzLiBUYWNrJzsKJGxhbmdbJ2xvc3Rwd19tZXNzYWdlJ10gPSAnUyZhcmluZzsgZHUgaGFyIGdsJm91bWw7bXQgZWxsZXIgdGFwcGF0IGJvcnQgZGl0dCBsJm91bWw7c2Vub3JkPyBNYXRhIGluIGRpdHQgYW52JmF1bWw7bmRhcm5hbW4gaCZhdW1sO3IuIE9tIHZpIGthbiBoaXR0YSBkaWcgaSB2JmFyaW5nO3IgbGlzdGEgJm91bWw7dmVyIGFudiZhdW1sO25kYXJlIGtvbW1lciB2aSBza2lja2EgaW5zdHJ1a3Rpb25lciBmJm91bWw7ciBodXIgZHUga2FuICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBkaXR0IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdNYWxsYXIgZiZvdW1sO3IgZ2wmb3VtbDttZGEgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydsb3N0dXNlcm5hbWVfdGVtcGxhdGUnXSA9ICdNYWxsIGYmb3VtbDtyIGdsJm91bWw7bXQgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnRWdlbnNrYXBlbiAlcyBrdW5kZSBpbnRlIGhpdHRhcyc7CiRsYW5nWydwcm9wc2ZvdW5kJ10gPSAnSGl0dGFkZSBlZ2Vuc2thcGVyJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdMJmF1bWw7Z2cgdGlsbCBlZ2Vuc2thcCc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRXR0IGJlZyZhdW1sO3J0IGYmYXVtbDtsdCAoJXMpIHZhciB0b210JzsKJGxhbmdbJ2luZm9fZW1wdHlwYXNzd29yZGZpZWxkJ10gPSAnTWF0YSBpbiBldHQgbnl0dCBsJm91bWw7c2Vub3JkIGgmYXVtbDtyIGYmb3VtbDtyIGF0dCAmYXVtbDtuZHJhIGRpdHQgbCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbiddID0gJ0R1IHZlcmthciBpbnRlIHZhcmEgaW5sb2dnYWQnOwokbGFuZ1sndXNlcl9zZXR0aW5ncyddID0gJ0luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJlcmluZyc7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ0RldCBoJmF1bWw7ciBrb250b3QgaGFyIGwmb3VtbDtwdCB1dCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnT2dpbHRpZ3QgZm9ybWF0IHAmYXJpbmc7IGVwb3N0YWRyZXNzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnT2dpbHRpZ3QgdXRnJmFyaW5nO25nc2RhdHVtJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5ncHJvcGVydHknXSA9ICdFdHQgZmVsIHVwcHN0b2QgbiZhdW1sO3IgZWdlbnNrYXBlbiAlcyBza3VsbGUgcyZhdW1sO3R0YXMgZiZvdW1sO3IgYW52JmF1bWw7bmRhcmUgJHMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGdyb3VwaWQnXSA9ICdPZ2lsdGlndCBncnVwcElEICVzJzsKJGxhbmdbJ2hpZGRlbmZpZWxkbWFya2VyJ10gPSAnTWFyayZvdW1sO3IgZiZvdW1sO3IgZyZvdW1sO210IGYmYXVtbDtsdCc7CiRsYW5nWydoaWRkZW5maWVsZGNvbG9yJ10gPSAnRiZhdW1sO3JnIGYmb3VtbDtyIGcmb3VtbDttdCBmJmF1bWw7bHQnOwokbGFuZ1snaGlkZGVuJ10gPSAnRyZvdW1sO21kJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdFbiBlZ2Vuc2thcCBtZWQgZGV0IG5hbW5ldCAmYXVtbDtyIHJlZGFuIHNrYXBhdCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdJbmdhIGVnZW5za2FwZXIgZGVmaW5pZXJhZGUnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdJbmdhIGVnZW5za2FwZXIgdmFsZGVzIGYmb3VtbDtyIGRlbiBoJmF1bWw7ciBncnVwcGVuJzsKJGxhbmdbJ25vZ3JvdXBzJ10gPSAnSW5nYSBncnVwcGVyICZhdW1sO3IgZGVmaW5pZXJhZGUnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdIaXR0YWRlIGdydXBwZXInOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lZGxlbXNrYXAgaSBtaW5zdCBlbiBncnVwcCBrciZhdW1sO3ZzJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdLciZhdW1sO3YgbWVkbGVtc3NrYXAgaSBtaW5zdCBlbiBncnVwcCc7CiRsYW5nWydiYWNrJ10gPSAnVGlsbGJha2EnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzICZhdW1sO3IgZXR0IG9ibGlnYXRvcmlza3QgZiZhdW1sO2x0JzsKJGxhbmdbJ3JlcXVpcmVkZmllbGRtYXJrZXInXSA9ICdNYXJrZXJhIG9ibGlnYXRvcmlza2EgZiZhdW1sO2x0IG1lZCc7CiRsYW5nWydyZXF1aXJlZGZpZWxkY29sb3InXSA9ICdNYXJrZXJhIG9ibGlnYXRvcmlza2EgZiZhdW1sO2x0IG1lZCc7CiRsYW5nWyduZXh0J10gPSAnTiZhdW1sO3N0YSc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0VuIGdydXBwIG1lZCBkZXQgbmFtbmV0IGV4aXN0ZXJhciByZWRhbic7CiRsYW5nWydyZXF1aXJlZCddID0gJ09ibGlnYXRvcmlzayc7CiRsYW5nWydvcHRpb25hbCddID0gJ0ZyaXZpbGxpZyc7CiRsYW5nWydvZmYnXSA9ICdBdic7CiRsYW5nWydzaXplJ10gPSAnU3Rvcmxlayc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heHN0b3JsZWsgcCZhcmluZzsgYmlsZCBpIGFudGFsIHBpeGxhciknOwokbGFuZ1snbGVuZ3RoJ10gPSAnTCZhdW1sO25nZCc7CiRsYW5nWydsZW5ndGhjb21tZW50J10gPSAnPGJyPih0ZWNrZW4gaSBpbm1hdG5pbmdzZiZhdW1sO2x0ZXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdBbHRlcm5hdGl2IGkgcnVsbGdhcmRpbnNtZW55LCBzZXBhcmVyYWRlIG1lZCByYWRicnl0bmluZ2FyLiBWJmF1bWw7cmRlbiBzZXBhcmVyYXMgbWVkICZxdW90O2xpa2EgbWVkJnF1b3Q7LXRlY2tlbiAodC5leC4gS3Zpbm5hPWspJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cCc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ2ZpZWxkc3RhdHVzJ10gPSAnRiZhdW1sO2x0c3RhdHVzJzsKJGxhbmdbJ3VzZWRpbmxvc3R1biddID0gJ0ZyJmFyaW5nO2dhIGkgYm9ydHRhcHBhdDxici8+YW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sndGV4dCddID0gJ1RleHQnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdLcnlzc3J1dGEnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdGbGVydmFsc2xpc3RhJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZCc7CiRsYW5nWydlbWFpbCddID0gJ0Vwb3N0YWRyZXNzJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dHJ1dGEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdSdWxsZ2FyZGluc21lbnknOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdWJmF1bWw7bGtvbW1lbic7CiRsYW5nWydsb2dvdXQnXSA9ICdMb2dnYSB1dCc7CiRsYW5nWydwcm9tcHRfbmV3Z3JvdXBuYW1lJ10gPSAnQW52JmF1bWw7bmQgZGV0dGEgZ3J1cHBuYW1uJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJyZBdW1sO25kcmEgbWluYSBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snZXJyb3JfbG9naW5mYWlsZWQnXSA9ICdJbmxvZ2duaW5nZW4gbWlzc2x5Y2thZGVzIC0gRmVsYWt0aWd0IGFudiZhdW1sO25kYXJuYW1uIGVsbGVyIGwmb3VtbDtzZW5vcmQ/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9nZ2EgaW4nOwokbGFuZ1sncHJvbXB0X3NpZ25pbl9idXR0b24nXSA9ICdFdGlrZXR0IGYmb3VtbDtyIGlubG9nZ25pbmdza25hcHAnOwokbGFuZ1sncHJvbXB0X3VzZXJuYW1lJ10gPSAnQW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRXBvc3RhZHJlc3MnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnTCZvdW1sO3Nlbm9yZCc7CiRsYW5nWydwcm9tcHRfcmVtZW1iZXJtZSddID0gJ0tvbSBpaCZhcmluZztnIG1pZyBwJmFyaW5nOyBkZW4gaCZhdW1sO3IgZGF0b3JuJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0cmVyYSc7CiRsYW5nWydmb3Jnb3RwdyddID0gJ0dsJm91bWw7bXQgZGl0dCBsJm91bWw7c2Vub3JkPyc7CiRsYW5nWydsb3N0dXNlcm5hbWUnXSA9ICdHbCZvdW1sO210IGRpbmEgaW5sb2dnbmluZ3N1cHBnaWZ0ZXI/JzsKJGxhbmdbJ2RlZmF1bHRzJ10gPSAnU3RhbmRhcmR2JmF1bWw7cmRlbic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ01hbGwnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQW52JmF1bWw7bmRhcklEIGhpdHRhZGVzIGludGUnOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0FudiZhdW1sO25kYXJuYW1uZXQgKCVzKSBhbnYmYXVtbDtuZHMgcmVkYW4nOwokbGFuZ1sncHJvbXB0X3NtdHB2YWxpZGF0ZSddID0gJ0FudiZhdW1sO25kIFNNVFAgZiZvdW1sO3IgYXR0IHZhbGlkZXJhIGVwb3N0YWRyZXNzZXI/JzsKJGxhbmdbJ3Byb21wdF9taW5wd2xlbiddID0gJ01pbnN0YSBsJmF1bWw7bmdkIHAmYXJpbmc7IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1sncHJvbXB0X21heHB3bGVuJ10gPSAnTWF4bCZhdW1sO25nZCBmJm91bWw7ciBsJm91bWw7c2Vub3JkJzsKJGxhbmdbJ3Byb21wdF9taW51bmxlbiddID0gJ01pbnN0YSBsJmF1bWw7bmdkIHAmYXJpbmc7IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3Byb21wdF9tYXh1bmxlbiddID0gJ01heGwmYXVtbDtuZ2QgZiZvdW1sO3IgYW52JmF1bWw7bmRhcm5hbW4nOwokbGFuZ1sncHJvbXB0X3Nlc3Npb250aW1lb3V0J10gPSAnU2Vzc2lvbiBUaW1lb3V0IChzZWt1bmRlciknOwokbGFuZ1sncHJvbXB0X2Nvb2tpZWtlZXBhbGl2ZSddID0gJ0FudiZhdW1sO25kIGNvb2tpZXMgZiZvdW1sO3IgYXR0IGgmYXJpbmc7bGxhIGlubG9nZ25pbmdhciB2aWQgbGl2JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VtYWlscmVnJ10gPSAnVGlsbCZhcmluZzt0IGVwb3N0cmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3Byb21wdF9kZmx0Z3JvdXAnXSA9ICdTdGFuZGFyZGdydXBwIGYmb3VtbDtyIG55YSBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydjaGFuZ2VzZXR0aW5nc190ZW1wbGF0ZSddID0gJyZBdW1sO25kcmEgbWFsbCBmJm91bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRtaXNtYXRjaCddID0gJ0wmb3VtbDtzZW5vcmRlbiBzdCZhdW1sO21tZXIgaW50ZSAmb3VtbDt2ZXJlbnMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnT2d0aWx0aWd0IGFudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ09naWx0aWd0IGwmb3VtbDtzZW5vcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRpZ2VyYSBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWyd2YWxpZCddID0gJ0dpbHRpZyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0FudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydlcnJvcl9tZW1iZXJncm91cHMnXSA9ICdEZW4gaCZhdW1sO3IgYW52JmF1bWw7bmRhcmVuICZhdW1sO3IgaW50ZSBtZWRsZW0gaSBuJmFyaW5nO2dvbiBncnVwcCc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnSW5nYSBlZ2Vuc2thcGVyJzsKJGxhbmdbJ2Vycm9yX2R1cF9wcm9wZXJ0aWVzJ10gPSAnRiZvdW1sO3JzJm91bWw7ayBpbXBvcnRlcmEgZHVibGV0dGVyIGF2IGVnZW5za2FwZXInOwokbGFuZ1sndmFsdWUnXSA9ICdWJmF1bWw7cmRlJzsKJGxhbmdbJ2dyb3VwcyddID0gJ0dydXBwZXInOwokbGFuZ1sncHJvcGVydGllcyddID0gJ0VnZW5za2FwZXInOwokbGFuZ1sncHJvcG5hbWUnXSA9ICdOYW1uIHAmYXJpbmc7IGVnZW5za2FwJzsKJGxhbmdbJ3Byb3B2YWx1ZSddID0gJ1YmYXVtbDtyZGUnOwokbGFuZ1snYWRkJ10gPSAnTCZhdW1sO2dnIHRpbGwnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcmlrJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyYSc7CiRsYW5nWydleHBpcmVzJ10gPSAnTCZvdW1sO3BlciB1dCc7CiRsYW5nWydzcGVjaWZ5X2RhdGUnXSA9ICdBbmdlIGRhdHVtJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgdGltbWFyJzsKJGxhbmdbJzI0aHJzJ10gPSAnMjQgdGltbWFyJzsKJGxhbmdbJzQ4aHJzJ10gPSAnNDggdGltbWFyJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSB2ZWNrYSc7CiRsYW5nWycyd2Vla3MnXSA9ICcyIHZlY2tvcic7CiRsYW5nWycxbW9udGgnXSA9ICcxIG0mYXJpbmc7bmFkJzsKJGxhbmdbJzNtb250aHMnXSA9ICczIG0mYXJpbmc7bmFkZXInOwokbGFuZ1snNm1vbnRocyddID0gJzYgbSZhcmluZztuYWRlcic7CiRsYW5nWycxeWVhciddID0gJzEgJmFyaW5nO3InOwokbGFuZ1snbmV2ZXInXSA9ICdBbGRyaWcnOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLiZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ0wmb3VtbDtzZW5vcmQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdJZ2VuJzsKJGxhbmdbJ2Vycm9yX2dyb3VwbmFtZV9leGlzdHMnXSA9ICdFbiBncnVwcCBtZWQgZGV0IG5hbW5ldCBleGlzdGVyYXIgcmVkYW4nOwokbGFuZ1snZWRpdGdyb3VwJ10gPSAnUmVkaWdlcmEgZ3J1cHAnOwokbGFuZ1snc3VibWl0J10gPSAnU2tpY2thJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydkZWxldGUnXSA9ICdUYSBib3J0JzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkZXR0YSAmYXVtbDtyIGRlIGtvcnJla3RhIGluc3QmYXVtbDtsbG5pZ25hcm5hIGYmb3VtbDtyIGRlbiBoJmF1bWw7ciBncnVwcGVuP1xuQXR0IHN0JmF1bWw7bmdhIGF2IGRlbm5hIGVnZW5za2FwZW4gdGFyIGludGUgYm9ydCBuJmFyaW5nO2dyYSBwb3N0ZXIgaSBlZ2Vuc2thcHN0YWJlbGxlbiBmJm91bWw7ciBkZW5uYSBncnVwcC9hbnYmYXVtbDtuZGFyZS4gRGUga29tbWEgYmFyYSBpbnRlIHZhcmEgdGlsbGcmYXVtbDtuZ2xpZ2EuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlZ3JvdXAnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgdGEgYm9ydCBkZW4gaCZhdW1sO3IgZ3J1cHBlbj8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfcHJvcCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCB0YSBib3J0IGRlbiBoJmF1bWw7ciBlZ2Vuc2thcGVuP1xuR2Vub20gYXR0IHRhIGJvcnQgZGVuIGYmb3VtbDtyc3Zpbm5lciBhbGxhIGV2ZW50dWVsbGEgYW52JmF1bWw7bmRhcnVwcGdpZnRlciBtZWQgZGVuIGgmYXVtbDtyIGVnZW5za2FwZW4uJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ090aWxsciZhdW1sO2NrbGlnYSBwYXJhbWV0cmFyJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snbmFtZSddID0gJ05hbW4nOwokbGFuZ1snZXJyb3JfY2FudGFkZHByb3AnXSA9ICdFdHQgZmVsIHVwcHN0b2QgZCZhcmluZzsgZW4gZWdlbnNrYXAgZiZvdW1sO3IgZ3J1cHBlbiBza3VsbGUgbCZhdW1sO2dnYXMgdGlsbCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXByZWxuJ10gPSAnRXR0IGZlbCB1cHBzdG9kIGQmYXJpbmc7IGVuIHJlbGF0aW9uIHRpbGwgZ3J1cHBlbiBza3VsbGUgbCZhdW1sO2dnYXMgdGlsbCc7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdFdHQgZmVsIHVwcHN0b2QgZCZhcmluZzsgZ3J1cHBlbiBza3VsbGUgbCZhdW1sO2dnYXMgdGlsbCc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsZW0gYXR0IGwmYXVtbDtnZ2EgdGlsbCBhbnYmYXVtbDtuZGFyZSB0aWxsIGdydXBwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtIG1lZCBhdHQgdGEgYm9ydCBlbiBlZ2Vuc2thcCc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGZpbmRlbWFpbCddID0gJ0t1bmRlIGludGUgaGl0dGEgbiZhcmluZztnb24gZS1wb3N0YWRyZXNzJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdJbmdhIHNrcml2ciZhdW1sO3R0aWdoZXRlciB0aWxsIG0mYXJpbmc7bG1hcHBlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnT2dpbHRpZ2EgcGFyYW1ldHJhcic7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0t1bmRlIGludGUgaGl0dGEgbiZhcmluZztncmEgZ3J1cHBlcic7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ1ZlcmtzdCZhdW1sO2xsJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnUmVndWxqJmF1bWw7cnQgdXR0cnljayBmJm91bWw7ciBhbnYmYXVtbDtuZGFybmFtbic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZuaW5nJzsKJGxhbmdbJ2dyb3VwbmFtZSddID0gJ0dydXBwbmFtbic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdUaWxsdHImYXVtbDtkZSBuZWthcyc7CiRsYW5nWydlcnJvciddID0gJ0ZlbCc7CiRsYW5nWydhZGRncm91cCddID0gJ0wmYXVtbDtnZyB0aWxsIGdydXBwJzsKJGxhbmdbJ2ltcG9ydGdyb3VwJ10gPSAnSW1wb3J0ZXJhIGdydXBwJzsKJGxhbmdbJ2FkZHVzZXInXSA9ICdMJmF1bWw7Z2cgdGlsbCBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnQW52JmF1bWw7bmRhcmUgc29tICZvdW1sO3ZlcmVuc3N0JmF1bWw7bW1lciBtZWQga3JpdGVyaWV0JzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHAnOwokbGFuZ1snc2VsZWN0Z3JvdXAnXSA9ICdWJmF1bWw7bGogZ3J1cHAnOwokbGFuZ1sncmVnaXN0cmF0aW9uX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciByZWdpc3RyZXJpbmcnOwokbGFuZ1snbG9nb3V0X3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciB1dGxvZ2duaW5nJzsKJGxhbmdbJ2xvZ2luX3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciBpbmxvZ2duaW5nJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnSW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQW52JmF1bWw7bmRhcmUnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSGFudGVyaW5nIGF2IEZyb250ZW5kIFVzZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaWxsJmFyaW5nO3QgYW52JmF1bWw7bmRhcmUgbG9nZ2EgaW4gdmlhIGZyb250ZW5kJzsKJGxhbmdbJ2RlZmF1bHRmcm9udHBhZ2UnXSA9ICdGJm91bWw7cnZhbGQgZiZvdW1sO3JzdGFzaWRhJzsKJGxhbmdbJ2xhc3RhY2Nlc3NlZHBhZ2UnXSA9ICdTZW5hc3QgbCZhdW1sO3N0YSBzaWRhJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ0FubmFuIHNpZGE6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnU2tyaXYgaW4gdGV4dGVuIGkgYmlsZGVuJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsbG93cyBtYW5hZ2VtZW50IGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBmcm9udCBlbmQgdXNlcnMgPGk+KHVzZXJzIHdobyBoYXZlIG5vIGFkbWluIGFjY2Vzc3MpPC9pPi4gIEl0IGFsbG93cyBjcmVhdGlvbiBvZiB1c2VyIGdyb3VwcywgYW5kIHVzZXIgYWNjb3VudHMgYW5kIGFsbG93cyB1c2VycyB0byBsb2dpbiBhbmQgbG9nb3V0LiAgaXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ3VzdG9tQ29udGVudCBtb2R1bGUgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCB0byBkaWZmZXJlbnQgdXNlcnMgb25jZSB0aGV5IGhhdmUgbG9nZ2VkIGluPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT48cD5Vc2VyIGFjY291bnQgZXhwaXJhdGlvbi4gIFlvdSBjYW4gY3JlYXRlIHRlbXBvcmFyeSB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkdyb3VwIFByb3BlcnRpZXMuICBZb3UgY2FuIGFzayBmb3IgZGlmZmVyZW50IGluZm9ybWF0aW9uIGZyb20gbWVtYmVycyBvZiBkaWZmZXJlbnQgZ3JvdXBzPC9wPjwvbGk+DQo8bGk+PHA+Q2FwYWJsZSBvZiBoYW5kbGluZyBodW5kcmVkcyBvZiB1c2VyczwvcD48L2xpPg0KPGxpPjxwPkZvcmdvdCBwYXNzd29yZCwgYW5kIGZvcmdvdCB1c2VybmFtZSBmdW5jdGlvbmFsaXR5Li4uLiBhbGxvd3MgdXNlcnMgdG8gc2V0IGEgbmV3IHBhc3N3b3JkLCBhbmQvb3IgdG8gcmVjb3ZlciB0aGVpciB1c2VybmFtZSBpZiB0aGV5IGNvbXBsZXRlbHkgZm9yZ290IGxvZ2luIGRldGFpbHMuPC9wPjwvbGk+DQo8bGk+PHA+SGFzIGFuIGV4dGVuc2l2ZSBBUEkgZm9yIGFkZGluZyBmdW5jdGlvbmFsaXR5PC9wPjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8dWw+DQo8bGk+PHA+QWZ0ZXIgaW5zdGFsbGF0aW9uIHlvdSBjYW4gYWNjZXNzIGFkbWluIHBhbmVsIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB1bmRlciB0aGUgJmFtcDtxdW90O1VzZXJzICZhbXA7IGdHcm91cHMmYW1wO3F1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJiMwMzk7TmV4dFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcyA8ZW0+KFNlZSB0aGUgU2VsZlJlZ2lzdHJhdGlvbiBNb2R1bGUpPC9lbT4sIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TbWFydHkgRnVuY3Rpb25zPC9oMz4NCjxwPlNvbWUgbGltaXRlZCBpbnRlcmFjdGlvbiB3aXRoIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBkYXRhYmFzZSBpcyBwb3NzaWJsZSB3aXRoIHNtYXJ0eSBhbmQgdGhlICRmZXVfc21hcnR5IG9iamVjdC48L3A+DQo8aDQ+RnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz48Y29kZT57JGZldV9zbWFydHktJmFtcDtndDtnZXRfdXNlcnNfYnlfZ3JvdXBuYW1lKCRncm91cG5hbWUsJGFzc2lnbil9PC9jb2RlPjwvc3Ryb25nPg0KPHA+VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBleHRyYWN0IGFuIGFycmF5IG9mIHVzZXJuYW1lcyBhbmQgdXNlcmlkcyBmb3IgYWxsIHVzZXJzIHRoYXQgYmVsb25nIHRvIHRoZSBzcGVjaWZpZWQgZ3JvdXAuICBUaGUgb3V0cHV0IGlzIGFzc2lnbmVkIHRvIGEgc21hcnR5IHZhcmlhYmxlIHNwZWNpZmllZCBpbiB0aGUgJmFtcDtxdW90O2Fzc2lnbiZhbXA7cXVvdDsgcGFyYW1ldGVyLjwvcD4NCjxwPkV4YW1wbGU6PGJyLz48Y29kZT57JGZldV9zbWFydHktJmFtcDtndDtnZXRfdXNlcnNfYnlfZ3JvdXBuYW1lKCYjMDM5O21lbWJlcnMmIzAzOTssJiMwMzk7bXltZW1iZXJzJiMwMzk7KX08YnIvPnskbXltZW1iZXJzfHByaW50X3J9PC9jb2RlPjwvcD4NCjwvbGk+DQo8bGk+PHN0cm9uZz48Y29kZT57JGZldV9zbWFydHktJmFtcDtndDtnZXRfdXNlcl9wcm9wZXJ0aWVzKCR1aWQsJGFzc2lnbil9PC9jb2RlPjwvc3Ryb25nPg0KPHA+VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBleHRyYWN0IGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIHVzZXIgYW5kIGFzc2lnbiB0aGVtIHRvIGEgc21hcnR5IHZhcmlhYmxlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLjwvcD4NCjxwPkV4YW1wbGU6PGJyLz48Y29kZT57JGZldV9zbWFydHktJmFtcDtndDtnZXRfdXNlcl9wcm9wZXJ0aWVzKDUsJiMwMzk7dXNlcnByb3BzJiMwMzk7KX08YnIvPnskdXNlcnByb3BzfHByaW50X3J9PC9jb2RlPjwvcD4NCjwvbGk+DQo8L3VsPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQogPGxpPjxlbT5sb3N0dXNlcm5hbWU8L2VtPiAtIERpc3BsYXkgdGhlIGxvc3QgdXNlcm5hbWUgZm9ybS48L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsb3N0dW5fZ3JvdXA9JnF1b3Q7Z3JvdXAmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb3N0dXNlcm5hbWUgZm9ybSwgdGhpcyBmZWF0dXJlIHNwZWNpZmllcyB0aGUgZnJvbnRlbmQgdXNlciBncm91cCB0byBhc3N1bWUgdGh0IHVzZXJzIGFyZSBtZW1iZXJzIG9mLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj1udWxsPC9saT4NCjxwPlRoZSBvbmx5IHBvc3NpYmxlIHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciBpcyAmcXVvdDt2aWV3dXNlciZxdW90OzwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD1udWxsPC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgdmlld3VzZXIgYWN0aW9uLiAgVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB3aGljaCB1c2VyIHRvIHZpZXcgdGhlIGRldGFpbHMgb2YuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTA0ODMwMTgzNC4xMjI3Nzk4NzE3LjEyMjg4NDg1ODkuMTIyOTEwMzc0MC41JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyOTEwMzc0MC41LjUudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2VkaXRpbmdfdXNlciddID0gJ0t1bGxhbsSxY8SxIGQmdXVtbDt6ZW5sZW1lJzsKJGxhbmdbJ25vaW5saW5lJ10gPSAnRG8gbm90IGlubGluZSBmb3Jtcyc7CiRsYW5nWydpbmZvX2xvc3R1biddID0gJ0NsaWNrIGhlcmUgaWYgeW91IGNhbm5vdCByZW1lbWJlciB5b3VyIGxvZ2luIGRldGFpbHMnOwokbGFuZ1snaW5mb19mb3Jnb3RwdyddID0gJ8WeaWZyZW5pemkgaGF0xLFybGFtxLF5b3JzYW7EsXogdMSxa2xhecSxbic7CiRsYW5nWydpbmZvX2xvZ291dCddID0gJyZDY2VkaWw7xLFrxLHFnyBpJmNjZWRpbDtpbiB0xLFrbGF5xLFuxLF6JzsKJGxhbmdbJ2luZm9fY2hhbmdlc2V0dGluZ3MnXSA9ICdDbGljayBoZXJlIHRvIGFkanVzdCB5b3VyIHBhc3N3b3JkIG9yIG90aGVyIGluZm9ybWF0aW9uJzsKJGxhbmdbJ3ZpZXd1c2VyX3RlbXBsYXRlJ10gPSAnVmlldyBVc2VyIFRlbXBsYXRlJzsKJGxhbmdbJ2V2ZW50J10gPSAnRXZlbnQnOwokbGFuZ1snZmV1X2V2ZW50X25vdGlmaWNhdGlvbiddID0gJ0ZFVSBFdmVudCBOb3RpZmljYXRpb24nOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl9hZGRyZXNzJ10gPSAnTm90aWZpY2F0aW9uIEVtYWlsIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X25vdGlmaWNhdGlvbl90ZW1wbGF0ZSddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICdOb3RpZmljYXRpb24gRW1haWwgU3ViamVjdCc7CiRsYW5nWydwcm9tcHRfbm90aWZpY2F0aW9ucyddID0gJ0VtYWlsIE5vdGlmaWNhdGlvbnMnOwokbGFuZ1snT25Mb2dpbiddID0gJ09uIExvZ2luJzsKJGxhbmdbJ09uTG9nb3V0J10gPSAnT24gTG9nb3V0JzsKJGxhbmdbJ09uRXhwaXJlVXNlciddID0gJ09uIFNlc3Npb24gRXhwaXJ5JzsKJGxhbmdbJ09uQ3JlYXRlVXNlciddID0gJ09uIE5ldyBVc2VyIENyZWF0ZWQnOwokbGFuZ1snT25EZWxldGVVc2VyJ10gPSAnT24gVXNlciBEZWxldGVkJzsKJGxhbmdbJ09uVXBkYXRlVXNlciddID0gJ09uIFVzZXIgU2V0dGluZ3MgQ2hhbmdlZCc7CiRsYW5nWydPbkNyZWF0ZUdyb3VwJ10gPSAnT24gVXNlciBHcm91cCBDcmVhdGVkJzsKJGxhbmdbJ09uRGVsZXRlR3JvdXAnXSA9ICdPbiBVc2VyIEdyb3VwIERlbGV0ZWQnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wcmVtc2cnXSA9ICdUaGUgbG9zdCBsb2dpbiBkZXRhaWxzIGZ1bmN0aW9uYWxpdHkgaGFzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQuICBXZSBoYXZlIGZvdW5kIGEgdW5pcXVlIHVzZXJuYW1lIHRoYXQgbWF0Y2hlcyB0aGUgZGV0YWlscyB5b3UgZW50ZXJlZC4nOwokbGFuZ1sneW91cl91c2VybmFtZV9pcyddID0gJ1lvdXIgdXNlcm5hbWUgaXMnOwokbGFuZ1snbG9zdHVuY29uZmlybV9wb3N0bXNnJ10gPSAnV2UgcmVjb21tZW5kIHlvdSByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbiBpbiBhIHNlY3VyZSwgYnV0IHJldHJpZXZhYmxlIGxvY2F0aW9uLic7CiRsYW5nWydwcm9tcHRfYWZ0ZXJfY2hhbmdlX3NldHRpbmdzJ10gPSAnUGFnZUlEL0FsaWFzIHRvIGp1bXAgdG8gYWZ0ZXIgY2hhbmdlIHNldHRpbmdzJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl92ZXJpZnlfY29kZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGNvZGUgdmVyaWZpY2F0aW9uIConOwokbGFuZ1snbG9zdHVuX2RldGFpbHNfdGVtcGxhdGUnXSA9ICdMb3N0IFVzZXJuYW1lIERldGFpbHMgVGVtcGxhdGUnOwokbGFuZ1snbG9zdHVuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdMb3N0IFVzZXJuYW1lIENvbmZpcm0gVGVtcGxhdGUnOwokbGFuZ1snZXJyb3Jfbm9udW5pcXVlbWF0Y2gnXSA9ICdFcnJvcjogTW9yZSB0aGFuIG9uZSB1c2VyIGFjY291bnQgbWF0Y2hlZCB0aGUgcHJvcGVydGllcyBzcGVjaWZpZWQnOwokbGFuZ1snZXJyb3JfY2FudGZpbmR1c2VyJ10gPSAnRXJyb3I6IENvdWxkIG5vdCBmaW5kIGEgbWF0Y2hpbmcgdXNlcic7CiRsYW5nWydlcnJvcl9ncm91cG5vdGZvdW5kJ10gPSAnRXJyb3I6IENvdWxkIG5vdCBmaW5kIGEgZ3JvdXAgYnkgdGhhdCBuYW1lJzsKJGxhbmdbJ3JlYWRvbmx5J10gPSAnU2FsdCBPa3VudXInOwokbGFuZ1sncHJvbXB0X3VzZXJtYW5pcHVsYXRvciddID0gJ1VzZXIgTWFuaXB1bGF0b3IgQ2xhc3MnOwokbGFuZ1snYWRtaW5fbG9nb3V0J10gPSAnTG9nZ2VkIG91dCBieSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9sb2dnZWRpbm9ubHknXSA9ICdTaG93IE9ubHkgTG9nZ2VkIEluIFVzZXJzJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXQnXSA9ICdMb2dvdXQgdGhpcyB1c2VyJzsKJGxhbmdbJ3VzZXJfcHJvcGVydGllcyddID0gJ1VzZXIgUHJvcGVydGllcyc7CiRsYW5nWyd1c2VyaGlzdG9yeSddID0gJ1VzZXIgSGlzdG9yeSc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnQnOwokbGFuZ1snY2xlYXInXSA9ICdDbGVhcic7CiRsYW5nWydwcm9tcHRfZXhwb3J0dXNlcmhpc3RvcnknXSA9ICdFeHBvcnQgVXNlciBIaXN0b3J5IFRvIEFTQ0lJIHRoYXQgaXMgYXQgbGVhc3QnOwokbGFuZ1sncHJvbXB0X2NsZWFydXNlcmhpc3RvcnknXSA9ICdDbGVhciBVc2VyIEhpc3RvcnkgcmVjb3JkcyB0aGF0IGlzIGF0IGxlYXN0JzsKJGxhbmdbJ3RpdGxlX2xvc3R1c2VybmFtZSddID0gJ0ZvcmdvdCBZb3VyIExvZ2luIERldGFpbHM/JzsKJGxhbmdbJ3RpdGxlX3Jzc2V4cG9ydCddID0gJ0V4cG9ydCBncm91cCBkZWZpbml0aW9uIChhbmQgcHJvcGVydGllcykgdG8gWE1MJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2UnXSA9ICdVc2VyIEhpc3RvcnkgTWFpbnRlbmFuY2UnOwokbGFuZ1sneWVzJ10gPSAnWWVzJzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnT2YnOwokbGFuZ1snZGF0ZV9hbGxyZWNvcmRzJ10gPSAnKiogTm8gTGltaXQgKionOwokbGFuZ1snZGF0ZV9vbmVob3Vyb2xkJ10gPSAnT25lIEhvdXIgT2xkJzsKJGxhbmdbJ2RhdGVfc2l4aG91cm9sZCddID0gJ1NpeCBIb3VycyBPbGQnOwokbGFuZ1snZGF0ZV90d2VsdmVob3Vyb2xkJ10gPSAnVHdlbHZlIEhvdXJzIE9sZCc7CiRsYW5nWydkYXRlX29uZWRheW9sZCddID0gJ09uZSBEYXkgT2xkJzsKJGxhbmdbJ2RhdGVfb25ld2Vla29sZCddID0gJ09uZSBXZWVrIE9sZCc7CiRsYW5nWydkYXRlX3R3b3dlZWtzb2xkJ10gPSAnVHdvIHdlZWtzIE9sZCc7CiRsYW5nWydkYXRlX29uZW1vbnRob2xkJ10gPSAnT25lIE1vbnRoIE9sZCc7CiRsYW5nWydkYXRlX3RocmVlbW9udGhzb2xkJ10gPSAnVGhyZWUgTW9udGhzIE9sZCc7CiRsYW5nWydkYXRlX3NpeG1vbnRoc29sZCddID0gJ1NpeCBNb250aHMgT2xkJzsKJGxhbmdbJ2RhdGVfb25leWVhcm9sZCddID0gJ09uZSBZZWFyIE9sZCc7CiRsYW5nWyd0aXRsZV9ncm91cHNvcnQnXSA9ICdHcm91cGluZyBhbmQgU29ydGluZyc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2ZvdW5kJ10gPSAnUmVjb3JkcyBtYXRjaGluZyB0aGUgY3JpdGVyaWEnOwokbGFuZ1snc29ydG9yZGVyX3VzZXJuYW1lX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIFVzZXJuYW1lJzsKJGxhbmdbJ3NvcnRvcmRlcl91c2VybmFtZV9hc2MnXSA9ICdBc2NlbmRpbmcgVXNlcm5hbWUnOwokbGFuZ1snc29ydG9yZGVyX2RhdGVfZGVzYyddID0gJ0Rlc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfZGF0ZV9hc2MnXSA9ICdBc2NlbmRpbmcgRGF0ZSc7CiRsYW5nWydzb3J0b3JkZXJfYWN0aW9uX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIEV2ZW50IFR5cGUnOwokbGFuZ1snc29ydG9yZGVyX2FjdGlvbl9hc2MnXSA9ICdBc2NlbmRpbmcgRXZlbnQgVHlwZSc7CiRsYW5nWydzb3J0b3JkZXJfaXBhZGRyZXNzX2Rlc2MnXSA9ICdEZXNjZW5kaW5nIElwIEFkZHJlc3MnOwokbGFuZ1snc29ydG9yZGVyX2lwYWRkcmVzc19hc2MnXSA9ICdBc2NlbmRpbmcgSXAgQWRkcmVzcyc7CiRsYW5nWydpbmZvX25vaGlzdG9yeWRldGVjdGVkJ10gPSAnTm8gSGlzdG9yeSBEZXRlY3RlZCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Byb21wdF9ncm91cF9pcCddID0gJ0dyb3VwIEJ5IElQIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9ldmVudHR5cGUnXSA9ICdFdmVudCBUeXBlIEZpbHRlcic7CiRsYW5nWydwcm9tcHRfZmlsdGVyX2RhdGUnXSA9ICdEaXNwbGF5IG9ubHkgZXZlbnRzIHRoYXQgYXJlIGxlc3MgdGhhbjonOwokbGFuZ1sncHJvbXB0X3BhZ2VsaW1pdCddID0gJ1BhZ2UgTGltaXQnOwokbGFuZ1snZm9yJ10gPSAnZm9yJzsKJGxhbmdbJ3RpdGxlX3VzZXJoaXN0b3J5J10gPSAnVXNlciBIaXN0b3J5IFJlcG9ydCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydwcm9tcHRfaXBhZGRyZXNzJ10gPSAnSVAgQWRkcmVzcyc7CiRsYW5nWydwcm9tcHRfZXZlbnR0eXBlJ10gPSAnRXZlbnQgVHlwZSc7CiRsYW5nWydwcm9tcHRfZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1sncHJvbXB0X3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydpbXBvcnRfY29tcGxldGVfbXNnJ10gPSAnSW1wb3J0IE9wZXJhdGlvbiBDb21wbGV0ZSc7CiRsYW5nWydwcm9tcHRfbGluZXNwcm9jZXNzZWQnXSA9ICdMaW5lcyBQcm9jZXNzZWQnOwokbGFuZ1sncHJvbXB0X2Vycm9ycyddID0gJ0Vycm9ycyBFbmNvdW50ZXJlZCc7CiRsYW5nWydwcm9tcHRfcmVjb3Jkc2FkZGVkJ10gPSAnUmVjb3JkcyBBZGRlZCc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcHJlbG5zJ10gPSAnQ291bGQgbm90IGZpbmQgcHJvcGVydGllcyBmb3IgZ3JvdXAgJXMnOwokbGFuZ1snZXJyb3Jfbm9yZXNwb25zZWZyb21zZXJ2ZXInXSA9ICdDb3VsZCBub3QgZ2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgU01UUCBzZXJ2ZXInOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBzcGVjaWZpZWQgKCVzKSBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmllbGR2YWx1ZSddID0gJ0ludmFsaWQgdmFsdWUgZm9yIGRyb3Bkb3duIG9yIG11bHRpc2VsZWN0IGZpZWxkICVzJzsKJGxhbmdbJ2Vycm9yX2ltcG9ydGZpZWxkbGVuZ3RoJ10gPSAnRmllbGQgJXMgZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCc7CiRsYW5nWydlcnJvcl9pbXBvcnR1c2VycyddID0gJ0ltcG9ydCBFcnJvciAobGluZSAlcyk6ICVzJzsKJGxhbmdbJ2Vycm9yX3Byb3BlcnR5ZGVmbnMnXSA9ICdDb3VsZCBub3QgZ2V0IHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9ucyAoaW50ZXJuYWwgZXJyb3IpJzsKJGxhbmdbJ2Vycm9yX3Byb2JsZW1zZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3JfaW1wb3J0cmVxdWlyZWRmaWVsZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgY29sdW1uIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBmaWVsZCAlcyc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcHJvcGVydGllcyddID0gJ0NvdWxkIG5vdCBmaW5kIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgZ3JvdXAnOwokbGFuZ1snZXJyb3JfaW1wb3J0ZmlsZWZvcm1hdCddID0gJ1RoZSBmaWxlIHNwZWNpZmllZCBmb3IgaW1wb3J0IGlzIG5vdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQnOwokbGFuZ1snZXJyb3JfY291bGRub3RvcGVuZmlsZSddID0gJ0NvdWxkIG5vdCBvcGVuIGZpbGUnOwokbGFuZ1snaW5mb19pbXBvcnR1c2Vyc2ZpbGVmb3JtYXQnXSA9ICc8aDQ+RmlsZSBGb3JtYXQgSW5mb3JtYXRpb248L2g0Pg0KPHA+VGhlIGlucHV0IGZpbGUgbXVzdCBiZSBpbiBBU0NJSSBmb3JtYXQgdXNpbmcgY29tbWEgc2VwYXJhdGVkIHZhbHVlcy4gIEVhY2ggbGluZSBpbiB0aGlzIGlucHV0IGZpbGUgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgaGVhZGVyIGxpbmUsIGRpc2N1c3NlZCBiZWxvdykgcmVwcmVzZW50cyBvbmUgdXNlciByZWNvcmQuICBFYWNoIGxpbmUgbXVzdCBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMsIGFuZCB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpbiBlYWNoIGxpbmUgbXVzdCBiZSBpZGVudGljYWwuPC9wPg0KPGg1PkhlYWRlciBsaW5lPC9oNT4NCjx1bD4NCjxsaT5UaGUgZmlyc3QgbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlZ2luIHdpdGggdHdvIHBvdW5kIChcIykgY2hhcmFjdGVycywgYW5kIG5hbWVzIGVhY2ggb2YgdGhlIGZpZWxkcyBpbiB0aGUgZmlsZS4gIFRoZSBuYW1lcyBvZiB0aGVzZSBmaWVsZHMgaXMgc2lnbmlmaWNhbnQuICBUaGVyZSBhcmUgc29tZSByZXF1aXJlZCBmaWVsZCBuYW1lcyAoc2VlIGJlbG93KSwgYW5kIG90aGVyIGZpZWxkIG5hbWVzIG11c3QgbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdXNlcnMgYXJlIGdvaW5nIHRvIGJlIGFkZGVkIGludG8uPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBmYWlsIGlmIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGZpbGUgZG9lcyBub3QgbWF0Y2ggYWxsIG9mIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JvdXAgdGhhdCB1c2VycyBhcmUgYmVpbmcgYWRkZWQgaW50bzwvbGk+DQo8bGk+VGhlIGlucHV0IGZpbGUgbWF5IGNvbnRhaW4gZmllbGRzIHJlcHJlc2VudGluZyBzb21lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGluIHRoZSBzcGVjaWZpZWQgZ3JvdXAuPC9saT4NCjxsaT5UaGUgaW1wb3J0IHByb2Nlc3Mgd2lsbCBpZ25vcmUgYW55IGZpZWxkcyBpbiB0aGUgaW5wdXQgZmlsZSB0aGF0IGFyZSBlaXRoZXIgbm90IGtub3duLCBvciBtYXAgdG8gcHJvcGVydGllcyB0aGF0IGFyZSA8ZW0+b2ZmPC9lbT4gaW4gdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwLjwvbGk+DQo8L3VsPg0KPGg1PkNvbHVtbmFyIERhdGE8L2g1Pg0KPHVsPg0KPGxpPlRoZSA8c3Ryb25nPnVzZXJuYW1lPC9zdHJvbmc+IEZpZWxkIC0gVGhlIGRlc2lyZWQgdXNlcm5hbWUuDQogICAgPHA+VGhpcyBmaWVsZCBtdXN0IGV4aXN0IGluIHRoZSBoZWFkZXJsaW5lLCBhbmQgaW4gZWFjaCBhbmQgZXZlcnkgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4gVGhlIHJlY29yZCB3aWxsIGZhaWwgaWYgYSB1c2VyIHdpdGggdGhhdCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgZGF0YWJhc2UuPC9wPjwvbGk+DQo8bGk+VGhlIDxzdHJvbmc+cGFzc3dvcmQ8L3N0cm9uZz4gRmllbGQgLSBUb2RvPC9saT4NCjxsaT5UaGUgPHN0cm9uZz5leHBpcmVzPC9zdHJvbmc+IEZpZWxkIC0gVG9kbzwvbGk+DQo8bGk+RHJvcGRvd24gRmllbGRzDQogICAgPHA+VGhlIHZhbHVlIG9mIGRyb3Bkb3duIHByb3BlcnRpZXMgaW4gYW4gaW1wb3J0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYXMgdGhlIHN0cmluZyB0aGF0IGlzIHNob3duIGluIHRoZSBkcm9wZG93biBjb250cm9sIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS48L3A+DQo8L2xpPg0KPGxpPk11bHRpc2VsZWN0IEZpZWxkcw0KICAgIDxwPk11bHRpc2VsZWN0IGZpZWxkcyBhcmUgY29udGFpbmVkIHdpdGhpbiB0aGUgQVNDSUkgZmlsZSBhcyBhIDogc2VwYXJhdGVkIGxpc3Qgb2Ygc3RyaW5ncywgd2hlcmUgZWFjaCBzdHJpbmcgcmVwcmVzZW50cyB0aGUgdGV4dCBzaG93biBpbiB0aGUgbXVsdGlzZWxlY3QgbGlzdDwvcD4NCjwvbGk+DQo8bGk+SW1hZ2UgRmllbGRzDQogICAgPHA+SW1hZ2UgYXJlIGZpZWxkcyB3aG8mIzAzOTtzIGNvbHVtbiBuYW1lIG1hdGNoZXMgYSBwcm9wZXJ0eSBvZiB0eXBlIEltYWdlLiAgSWYgdGhpcyBmaWVsZCBpcyBhIHJlcXVpcmVkIHBhcnQgb2YgdGhlIGRlc3RpbmF0aW9uIGdyb3VwLCB0aGVuIHRoZSBuYW1lIHNwZWNpZmllZCBpbiB0aGVzZSBjb2x1bW5zIG11c3QgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZGlzcmVjdG9yeSBvZiB0aGUgQ01TIGluc3RhbGxhdGlvbi4gIElmIHRoZSBpbWFnZSBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBmaWVsZCBpcyByZXF1aXJlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgZmFpbC48L3A+DQo8L3VsPg0KPGg1Pk5vdGVzPC9oNT4NCjxwPlRoZSBpbXBvcnQgcHJvY2VzcyBpcyBzdWJqZWN0IHRvIHRoZSBsaW1pdGF0aW9ucyBpbXBvc2VkIGJ5IHRoZSBob3N0IHByb3ZpZGVyLCBzdWNoIGFzIG1lbW9yeSBsaW1pdGF0aW9ucywgcHJvY2Vzc2luZyB0aW1lLCBmaWxlIHNpemUgdXBsb2FkLCBhbmQgc2FmZSBtb2RlIHJlc3RyaWN0aW9ucy4gIEFueSBvbmUgb2YgdGhlc2UgbGltaXRhdGlvbnMgbWF5IGNhdXNlIHRoZSBpbXBvcnQgdG8gZmFpbC4gVGhlcmVmb3JlIGl0IGlzIGFkdmlzYWJsZSB0byBlbnN1cmUgdGhhdCBpbXBvcnQgZmlsZXMgYXJlIHNtYWxsZXIgaW4gc2l6ZSwgYW5kIHNpbXBsZXIgaW4gbmF0dXJlLjwvcD4NCjxwPlRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBkYXRhYmFzZSBjb3JydXB0aW9uIHdpbGwgbm90IG9jY3VyLCBpdCBpcyBhZHZpc2FibGUgdG8gcGVyZm9ybSBhIGRhdGFiYXNlIGJhY2t1cCBiZWZvcmUgZG9pbmcgYSB1c2VyIGltcG9ydC48L3A+DQo8aDU+RXhhbXBsZTwvaDU+DQo8cHJlPg0KIyN1c2VybmFtZSxmaXJzdF9uYW1lLGxhc3RfbmFtZSxlbWFpbCxjaXR5LHN0YXRlLGNvdW50cnksemlwDQp1c2VyMSx0ZXN0LHVzZXIsdXNlcjFAc29tZWRvbWFpbi5jb20sc29tZXdoZXJlLFRYLFVTLDEyMzQ1DQo8L3ByZT4NCic7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZGVzdGdyb3VwJ10gPSAnSW1wb3J0IFVzZXJzIEludG8gVGhpcyBHcm91cCc7CiRsYW5nWydwcm9tcHRfaW1wb3J0ZmlsZW5hbWUnXSA9ICdJbnB1dCBDU1YgRmlsZSc7CiRsYW5nWydwcm9tcHRfaW1wb3J0eG1sZmlsZSddID0gJ0lucHV0IFhNTCBGaWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnR1c2VycyddID0gJ0V4cG9ydCBVc2Vycyc7CiRsYW5nWydwcm9tcHRfaW1wb3J0dXNlcnMnXSA9ICdJbXBvcnQgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyJ10gPSAnQ2xlYXInOwokbGFuZ1sncHJvbXB0X2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnXSA9ICdJbWFnZSBEZXN0aW5hdGlvbiBQYXRoJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfdXBsb2FkJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHdpdGggYSBtaXNzaW5nIChidXQgcmVxdWlyZWQpIHVwbG9hZCc7CiRsYW5nWydlcnJvcl9iYWRfeG1sJ10gPSAnQ291bGQgbm90IHBhcnNlIHRoZSBwcm92aWRlZCBYTUwgZmlsZSc7CiRsYW5nWydlcnJvcl9ub3RlbXB0eWdyb3VwJ10gPSAnQ2Fubm90IGRlbGV0ZSBhIGdyb3VwIHRoYXQgc3RpbGwgaGFzIHVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vcmVwZWF0ZWRsb2dpbnMnXSA9ICdUaGlzIHVzZXIgaXMgYWxyZWFkeSBsb2dnZWQgaW4nOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfcmVwZWF0ZWRfbG9naW5zJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9naW4gbW9yZSB0aGFuIG9uY2UnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9ucyddID0gJ0ltYWdlIEZpbGUgRXh0ZW5zaW9ucyB0aGF0IFVzZXJzIGFsbG93ZWQgdG8gdXBsb2FkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVVc2VyJ10gPSAnPGgzPk9uRGVsZXRlVXNlcjxoMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uQ3JlYXRlVXNlciddID0gJzxoMz5PbkNyZWF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgY3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIHVzZXIgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZDwvbGk+DQo8L3VsPiANCic7CiRsYW5nWydldmVudF9oZWxwX09uVXBkYXRlVXNlciddID0gJzxoMz5PblVwZGF0ZVVzZXI8aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgaXMgdXBkYXRlZCAoZWl0aGVyIGJ5IHVzZXIgdGhlbXNlbGYgb3IgYWRtaW4pPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgdXNlciBuYW1lPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25DcmVhdGVHcm91cCddID0gJzxoMz5PbkNyZWF0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBjcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgZ3JvdXAgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGdyb3VwIGlkPC9saT4NCjwvdWw+IA0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfT25EZWxldGVHcm91cCddID0gJzxoMz5PbkRlbGV0ZUdyb3VwPGgzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBncm91cCBpcyBkZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgZ3JvdXAgbmFtZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgZ3JvdXAgaWQ8L2xpPg0KPC91bD4gDQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkxvZ2luJ10gPSAnPGgzPk9uTG9naW48aDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgbG9ncyBpbjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBpZCBvZiB0aGUgbG9nZ2VkIGluIHVzZXI8L2xpPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZCBpbiB1c2VyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBpcCBhZGRyZXNzIG9mIHRoZSBjbGllbnQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX09uTG9nb3V0J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGxvZ2dlZG91dCB1c2VyPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSB1c2VyIGlkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9PbkV4cGlyZVVzZXInXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBleHBpcmVzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGV4cGlyZWQgdXNlcjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgdXNlciBpZCBvZiB0aGUgZXhwaXJlZCB1c2VyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaW5mb19PbkxvZ2luJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3MgaW4gdG8gdGhlIHN5c3RlbSc7CiRsYW5nWydldmVudF9pbmZvX09uTG9nb3V0J10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGxvZ3Mgb3V0IG9mIHRoZSBzeXN0ZW0nOwokbGFuZ1snZXZlbnRfaW5mb19PbkV4cGlyZVVzZXInXSA9ICdBbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgc2Vzc2lvbiBpcyBleHBpcmVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25DcmVhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgdXNlciBpcyBjcmVhdGVkJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25VcGRhdGVVc2VyJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGluZm8gaXMgdXBkYXRlZCc7CiRsYW5nWydldmVudF9pbmZvX09uRGVsZXRlVXNlciddID0gJ0FuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkNyZWF0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGNyZWF0ZWQnOwokbGFuZ1snZXZlbnRfaW5mb19PbkRlbGV0ZUdyb3VwJ10gPSAnQW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGdyb3VwIGlzIGRlbGV0ZWQnOwokbGFuZ1snYmFja2VuZF9ncm91cCddID0gJ0JhY2tlbmQgR3JvdXAnOwokbGFuZ1snaW5mb19zdGFyJ10gPSAnKiBUaGUgZm9sbG93aW5nIG1hY3JvcyBjYW4gYmUgdXNlZCBpbiB0aGVzZSBmaWVsZHM6IHskdXNlcm5hbWV9LHskZ3JvdXB9LiBXaGVuIHVzaW5nIHRoZSB7JGdyb3VwfSBtYWNybywgdGhlIHN5c3RlbSB3aWxsIHN1YnNpdHV0ZSB0aGUgbmFtZSBvZiB0aGUgZmlyc3QgbWVtYmVyIGdyb3VwIHRoYXQgdGhlIHVzZXIgYmVsb25ncyB0bywgYW5kIHdpbGwgcmVkaXJlY3QgdG8gdGhhdCBwYWdlLic7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnRWRpdCB0aGlzIGZpZWxkIHRvIHJlc2V0IHRoZSB1c2VycyBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnRWRpdCB0aGlzIGZpZWxkIHRvIHJlc2V0IHRoZSB1c2VycyBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl91c2VybmFtZV9leGlzdHMnXSA9ICdBIHVzZXIgd2l0aCB0aGF0IHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25vY3N2cmVzdWx0cyddID0gJ05vIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSBjc3YgZXhwb3J0JzsKJGxhbmdbJ3Byb21wdF91bmZsZGxlbiddID0gJ0xlbmd0aCBvZiB1c2VybmFtZSBmaWVsZCc7CiRsYW5nWydwcm9tcHRfcHdmbGRsZW4nXSA9ICdMZW5ndGggb2YgcGFzc3dvcmQgZmllbGQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkbGVuZ3RocyddID0gJ01pbi9NYXggcGFzc3dvcmQgbGVuZ3RocyBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWVsZW5ndGhzJ10gPSAnTWluL01heCB1c2VybmFtZSBsZW5ndGhzIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRlbWFpbGFkZHJlc3MnXSA9ICdJbnZhbGlkIEVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdXZSBjb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGFjY291bnQnOwokbGFuZ1snZXJyb3JfcHJvYmxlbXNlZXR0aW5naW5mbyddID0gJ1Byb2JsZW0gc2V0dGluZyB1c2VyIGluZm8nOwokbGFuZ1snZXJyb3Jfc2V0dGluZ3Byb3BlcnR5J10gPSAnUHJvYmxlbSBzZXR0aW5nIHByb3BlcnR5JzsKJGxhbmdbJ3VzZXJfYWRkZWQnXSA9ICdVc2VyIEFkZGVkICVzID0gJXMnOwokbGFuZ1sndXNlcl9kZWxldGVkJ10gPSAnVXNlciBEZWxldGVkIHVpZD0lcyc7CiRsYW5nWydwcm9wZXJ0eWZpbHRlciddID0gJ1Byb3BlcnR5JzsKJGxhbmdbJ3ZhbHVlcmVnZXgnXSA9ICdWYWx1ZSAocmVndWxhciBleHByZXNzaW9uKSc7CiRsYW5nWyd3YXJuaW5nX2VmZmVjdHNmaWVsZGxlbmd0aCddID0gJ1dhcm5pbmc6IFRoZXNlIGZpZWxkcyBhZmZlY3QgdGhlIHNpemUgb2YgaW5wdXQgZmllbGRzIGZvciBmb3Jtcy4gIERlY3JlYXNpbmcgdGhpcyBudW1iZXIgb24gYW4gZXhpc3Rpbmcgc2l0ZSBtYXkgbm90IGJlIGFkdmlzYWJsZSc7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFkanVzdCB0aGUgbW9kdWxlIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9lbWFpbGFscmVhZHl1c2VkJ10gPSAnRW1haWwgYWRkcmVzcyBhbHJlYWR5IHVzZWQnOwokbGFuZ1sncHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyJ10gPSAnVXNlIGNvb2tpZXMgdG8gcmVtZW1iZXIgbG9naW4gZGV0YWlscyc7CiRsYW5nWydwcm9tcHRfY29va2llbmFtZSddID0gJ1RoZSBuYW1lIG9mIHRoZSBjb29raWUnOwokbGFuZ1sncHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICdBbGxvdyBkdXBsaWNhdGUgZW1haWxzJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZV9pc19lbWFpbCddID0gJ0VtYWlsIGFkZHJlc3MgaXMgdXNlcm5hbWUnOwokbGFuZ1snaW5mb19jb29raWVfa2VlcGFsaXZlJ10gPSAnQXR0ZW1wdCB0byBrZWVwIGxvZ2lucyBhbGl2ZSBieSB0aGUgdXNlIG9mIGEgY29va2llIDxlbT4odGhlIGNvb2tpZSBpcyByZXNldCBvbiBhY3Rpdml0eSBpbiB0aGUgd2Vic2l0ZSk8L2VtPic7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHMnXSA9ICcoYWxsb3cgbXVsdGlwbGUgdXNlcnMgd2l0aCB0aGUgc2FtZSBlbWFpbCBhZGRyZXNzKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lX2lzX2VtYWlsJ10gPSAnKHVzZXImIzAzOTtzIGVtYWlsIGFkZHJlc3MgaXMgdGhlaXIgdXNlcm5hbWUgLS0gZG9uJiMwMzk7dCBzZXQgdGhpcyB3aXRoICZxdW90O2FsbG93IGR1cGxpY2F0ZSBlbWFpbCBhZGRyZXNzZXMmcXVvdDshKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dfZHVwbGljYXRlX3JlbWluZGVycyddID0gJ0FsbG93IGR1cGxpY2F0ZSAmcXVvdDtmb3Jnb3QgcGFzc3dvcmQmcXVvdDsgcmVtaW5kZXJzPyc7CiRsYW5nWydpbmZvX2FsbG93X2R1cGxpY2F0ZV9yZW1pbmRlcnMnXSA9ICcoYWxsb3cgYSB1c2VycyB0byByZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQsIGV2ZW4gaWYgdGhleSBoYXZlbiYjMDM5O3QgYWN0ZWQgb24gYSBwcmV2aW91cyBvbmUpJzsKJGxhbmdbJ3Byb21wdF9mZXVzZXJzX3NwZWNpZmljX3Blcm1pc3Npb25zJ10gPSAnVXNlIEZyb250LWVuZCBVc2VyIHNwZWNpZmljIHBlcm1pc3Npb25zPyc7CiRsYW5nWydpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnMnXSA9ICcoTm9ybWFsbHksIEZFVVNlcnMgcGVybWlzc2lvbnMgYXJlIHRoZSBzYW1lIGFzIHRoZSBlcXVpdmFsZW50IEFkbWluIEFyZWEgcGVybWlzc2lvbnMgbGlrZSBBZGQgVXNlciwgQWRkIEdyb3VwLCBldGMuIElmIHlvdSBzZWxlY3QgdGhpcyBvcHRpb24sIHRoZXJlIHdpbGwgYmUgc2VwYXJhdGUgcGVybWlzc2lvbnMgZm9yIEZFVXNlcnMuKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ndXBsb2FkJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVwbG9hZGVkIGZpbGUgKGludGVybmFsIGVycm9yKSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtX3VwbG9hZCddID0gJ1RoZXJlIHdhcyBhIHByb2JsZW0gd2l0aCB5b3VyIHVwbG9hZGVkIGZpbGUuICBQbGVhc2UgdHJ5IGFnYWluJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd1c2VybmFtZSddID0gJ1lvdSBkaWQgbm90IGVudGVyIGEgdXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2VtYWlsJ10gPSAnWW91IGRpZCBub3QgZW50ZXIgeW91ciBlbWFpbCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFzc3dvcmQnXSA9ICdZb3UgZGlkIG5vdCBlbnRlciBhIHBhc3N3b3JkJzsKJGxhbmdbJ2Zyb250ZW5kdXNlcl9sb2dvdXQnXSA9ICdGcm9udGVuZCBVc2VyIExvZ291dCc7CiRsYW5nWydmcm9udGVuZHVzZXJfbG9nZ2VkaW4nXSA9ICdGcm9udGVuZCBVc2VyIExvZ2luJzsKJGxhbmdbJ2VkaXRwcm9wX2luZm9tc2cnXSA9ICc8Zm9udCBjb2xvcj0mcXVvdDtyZWQmcXVvdDs+PGI+VVNFIENBVVRJT048L2I+IHdoZW4gY2hhbmdpbmcgZXhpc3RpbmcgcHJvcGVydGllcyB0aGF0IGFyZSBhc3NpZ25lZCB0byBncm91cHMsIHlvdSBtYXkgcG90ZW50aWFsbHkgY2F1c2UgZGFtYWdlIGFuZCBicmVhayBhbiBleGlzdGluZyBzaXRlIDxpPihlc3BlY2lhbGx5IGlmIHlvdSByZWR1Y2UgZmllbGQgbGVuZ3RocywgZXRjKTwvaT48L2ZvbnQ+JzsKJGxhbmdbJ2luZm9fc210cHZhbGlkYXRlJ10gPSAnVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCB3b3JrIG9uIHdpbmRvd3MnOwokbGFuZ1snbXNnX2RvbnRjcmVhdGV1c2VybmFtZSddID0gJ0RvIG5vdCBjcmVhdGUgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUsIG9yIHBhc3N3b3JkIGFzIHRoZXNlIHByb3BlcnRpZXMgYXJlIGJ1aWx0aW4gdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9leHBvcnRjc3YnXSA9ICdFeHBvcnQgVXNlcnMgdG8gQ1NWJzsKJGxhbmdbJ2V4cG9ydGNzdiddID0gJ0V4cG9ydCc7CiRsYW5nWydpbXBvcnRjc3YnXSA9ICdJbXBvcnQnOwokbGFuZ1snYWRtaW4nXSA9ICdBZG1pbic7CiRsYW5nWydlZGl0cHJvcCddID0gJ0VkaXQgUHJvcGVydHknOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSBMZW5ndGgnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0ZWQnOwokbGFuZ1snc29ydGJ5J10gPSAnU29ydCBCeSc7CiRsYW5nWydzb3J0J10gPSAnU29ydGluZyc7CiRsYW5nWyd1c2Vyc2luZ3JvdXAnXSA9ICdVc2VycyBpbiB0aGUgc2VsZWN0ZWQgZ3JvdXAocyknOwokbGFuZ1sndXNlcmxpbWl0J10gPSAnTGltaXQgcmVzdWx0cyB0byc7CiRsYW5nWydlcnJvcl9ub2VtYWlsZmllbGQnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBmaWVsZCBmb3IgdGhpcyB1c2VyLiAgWW91IG1heSBuZWVkIHRvIGNvbnRhY3QgdGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ3Byb21wdF9mb3Jnb3Rwd19wYWdlJ10gPSAnUGFnZUlEL0FsaWFzIGZvciBGb3Jnb3QgUGFzc3dvcmQgZm9ybSc7CiRsYW5nWydwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyBmb3IgQ2hhbmdlIFNldHRpbmdzIGZvcm0nOwokbGFuZ1sncHJvbXB0X2xvZ2luX3BhZ2UnXSA9ICdQYWdlSUQvQWxpYXMgdG8ganVtcCB0byBhZnRlciBsb2dpbiAqJzsKJGxhbmdbJ3Byb21wdF9sb2dvdXRfcGFnZSddID0gJ1BhZ2VJRC9BbGlhcyB0byBqdW1wIHRvIGFmdGVyIGxvZ291dCAqJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXInOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVzZXR0aW5nIGxvc3QgcGFzc3dvcmRzLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIHdlZWsgb2xkJzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSBtb250aCBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmU/JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjb2RlJ10gPSAnQW4gaW52YWxpZCBjb2RlIGhhcyBiZWVuIGVudGVyZWQsIHBsZWFzZSB0cnkgYWdhaW4nOwokbGFuZ1snZXJyb3JfdGVtcGNvZGVub3Rmb3VuZCddID0gJ0EgdGVtcG9yYXJ5IGNvZGUgZm9yIHlvdXIgdXNlciBpZCBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX3ZlcmlmeXRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNlZCB0byBkaXNwbGF5IHZlcmlmaWNhdGlvbiBmb3JtJzsKJGxhbmdbJ2ZvcmdvdHBhc3N3b3JkX2VtYWlsdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB1c2VkIGZvciBmb3Jnb3R0ZW4gcGFzc3dvcmQgZW1haWwnOwokbGFuZ1snZXJyb3JfcmVzZXRhbHJlYWR5c2VudCddID0gJ0VpdGhlciB5b3Vyc2VsZiBvciBzb21lb25lIGVsc2UgaGFzIGFscmVhZHkgdHJpZ2dlcmVkIGEgcGFzc3dvcmQgcmVzZXQgb3BlcmF0aW9uIGZvciB0aGlzIGFjY291bnQuICBDaGVjayB5b3VyIGVtYWlsLCB5b3UgbWF5IGhhdmUgZnVydGhlciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQgaW4geW91ciBpbmJveCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UgZXJyb3InOwokbGFuZ1snbWVzc2FnZV9mb3Jnb3Rwd2VtYWlsJ10gPSAnWW91IGFyZSByZWNlaXZpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2Ugc29tZWJvZHkgdG9sZCBvdXIgc2l0ZSB0aGF0IHlvdSBoYWQgbG9zdCB5b3VyIHBhc3N3b3JkLiAgSWYgdGhpcyBpcyB0aGUgY2FzZSwgcmVhZCB0aGUgaW5zdHJ1Y3Rpb25zIGJlbG93LiAgSWYgeW91IGRvbiYjMDM5O3QgaGF2ZSBhIGNsdWUgd2hhdCB0aGlzIGlzLCB0aGVuIHlvdSBhcmUgc2FmZSB0byBkZWxldGUgdGhpcyBtZXNzYWdlLCBhbmQgd2UgdGhhbmsgeW91IGZvciB5b3VyIHRpbWUuJzsKJGxhbmdbJ3Byb21wdF9jb2RlJ10gPSAnQ29kZSc7CiRsYW5nWydtZXNzYWdlX2NvZGUnXSA9ICdUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIHJhbmRvbWx5IGdlbmVyYXRlZCBpbiBvcmRlciB0byB2ZXJpZnkgdGhlIHVzZXIgYWNjb3VudC4gIHdoZW4geW91IGNsaWNrIG9uIHRoZSBsaW5rIGJlbG93IHlvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgZmllbGQgdG8gZW50ZXIgdGhpcyBjb2RlLiAgTm9ybWFsbHkgdGhlIGZpZWxkIGlzIHByZS1jb21wbGV0ZWQgZm9yIHlvdSwgYnV0IGluY2FzZSBpdCBpc24mIzAzOTt0IHRoZSBjb2RlIGlzOic7CiRsYW5nWydwcm9tcHRfbGluayddID0gJ0NsaWNraW5nIG9uIHRoZSBmb2xsb3dpbmcgbGluayB3aWxsIHRha2UgeW91IHRvIHRoZSB3ZWJzaXRlIHdoZXJlIHlvdSBjYW4gZW50ZXIgdGhlIGFib3ZlIGNvZGUsIGFuZCByZXNldCB5b3VyIHBhc3N3b3JkOic7CiRsYW5nWydsb3N0cGFzc3dvcmRfZW1haWxzdWJqZWN0J10gPSAnTG9zdCBQYXNzd29yZCc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0NvdWxkIG5vdCBmaW5kIHRoZSBDTVNNYWlsZXIgbW9kdWxlJzsKJGxhbmdbJ2luZm9fZm9yZ290cHdtZXNzYWdlc2VudCddID0gJ0FuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8gJXMgd2l0aCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuICBUaGFuayB5b3UnOwokbGFuZ1snbG9zdHB3X21lc3NhZ2UnXSA9ICdTbyB5b3UgZm9yZ290IG9yIGxvc3QgeW91ciBwYXNzd29yZC4gV2VsbCwgdHlwZSB5b3VyIHVzZXJuYW1lIGluIGhlcmUsIGFuZCBpZiB3ZSBjYW4gZmluZCB5b3Ugd2Ugd2lsbCBzZW5kIHlvdSBhbiBlbWFpbCB3aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gcmVzZXQgaXQnOwokbGFuZ1snZm9yZ290cGFzc3dvcmRfdGVtcGxhdGUnXSA9ICdGb3Jnb3QgUGFzc3dvcmQgVGVtcGxhdGVzJzsKJGxhbmdbJ2xvc3R1c2VybmFtZV90ZW1wbGF0ZSddID0gJ0xvc3QgVXNlcm5hbWUgVGVtcGxhdGUnOwokbGFuZ1snZXJyb3JfcHJvcG5vdGZvdW5kJ10gPSAnUHJvcGVydHkgJXMgbm90IGZvdW5kJzsKJGxhbmdbJ3Byb3BzZm91bmQnXSA9ICdQcm9wZXJ0aWVzIGZvdW5kJzsKJGxhbmdbJ2FkZHByb3AnXSA9ICdBZGQgUHJvcGVydHknOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0EgcmVxdWlyZWQgZmllbGQgKCVzKSB3YXMgZW1wdHknOwokbGFuZ1snaW5mb19lbXB0eXBhc3N3b3JkZmllbGQnXSA9ICdFbnRlciBhIG5ldyBwYXNzd29yZCBoZXJlIHRvIGNoYW5nZSB5b3VyIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnWW91IGRvIG5vdCBhcHBlYXIgdG8gYmUgbG9nZ2VkIGluJzsKJGxhbmdbJ3VzZXJfc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhdGlvbic7CiRsYW5nWydlcnJvcl9hY2NvdW50ZXhwaXJlZCddID0gJ1RoaXMgYWNjb3VudCBoYXMgZXhwaXJlZCc7CiRsYW5nWydlcnJvcl9pbXByb3BlcmVtYWlsZm9ybWF0J10gPSAnSW1wcm9wZXIgZW1haWwgYWRkcmVzcyBmb3JtYXR0aW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRleHBpcnlkYXRlJ10gPSAnSW52YWxpZCBleHBpcnkgZGF0ZSc7CiRsYW5nWydlcnJvcl9wcm9ibGVtc2V0dGluZ3Byb3BlcnR5J10gPSAnRXJyb3Igc2V0dGluZyBwcm9wZXJ0eSAlcyBmb3IgdXNlciAkcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZ3JvdXBpZCddID0gJ0ludmFsaWQgZ3JvdXAgaWQgJXMnOwokbGFuZ1snaGlkZGVuZmllbGRtYXJrZXInXSA9ICdIaWRkZW4gZmllbGQgbWFya2VyJzsKJGxhbmdbJ2hpZGRlbmZpZWxkY29sb3InXSA9ICdIaWRkZW4gZmllbGQgY29sb3InOwokbGFuZ1snaGlkZGVuJ10gPSAnSGlkZGVuJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZW5hbWUnXSA9ICdBIHByb3BlcnR5IHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGRlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9yZWxhdGlvbnMnXSA9ICdObyBwcm9wZXJ0aWVzIHdlcmUgc2VsZWN0ZWQgZm9yIHRoaXMgZ3JvdXAnOwokbGFuZ1snbm9ncm91cHMnXSA9ICdObyBHcm91cHMgYXJlIGRlZmluZWQnOwokbGFuZ1snZ3JvdXBzZm91bmQnXSA9ICdHcm91cHMgRm91bmQnOwokbGFuZ1snZXJyb3Jfb25lZ3JvdXByZXF1aXJlZCddID0gJ01lbWJlcnNoaXAgaW4gYXQgbGVhc3Qgb25lIGdyb3VwIGlzIHJlcXVpcmVkJzsKJGxhbmdbJ3Byb21wdF9yZXF1aXJlb25lZ3JvdXAnXSA9ICdSZXF1aXJlIG1lbWJlcnNoaXAgaW4gYXRsZWFzdCBvbmUgZ3JvdXAnOwokbGFuZ1snYmFjayddID0gJ0JhY2snOwokbGFuZ1snZXJyb3JfbWlzc2luZ19yZXF1aXJlZF9wYXJhbSddID0gJyVzIGlzIGEgcmVxdWlyZWQgZmllbGQnOwokbGFuZ1sncmVxdWlyZWRmaWVsZG1hcmtlciddID0gJ01hcmsgcmVxdWlyZWQgZmllbGRzIHdpdGgnOwokbGFuZ1sncmVxdWlyZWRmaWVsZGNvbG9yJ10gPSAnSGlsaXRlIHJlcXVpcmVkIGZpZWxkcyBpbic7CiRsYW5nWyduZXh0J10gPSAnTmV4dCc7CiRsYW5nWydlcnJvcl9ncm91cGV4aXN0cyddID0gJ0EgR3JvdXAgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWydvcHRpb25hbCddID0gJ09wdGlvbmFsJzsKJGxhbmdbJ29mZiddID0gJ09mZic7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydzaXplY29tbWVudCddID0gJzxici8+KE1heGltdW0gc2l6ZSBvZiBhbnkgb25lIGRpbWVuc2lvbiBvZiB0aGUgaW1hZ2UgaW4gcGl4ZWxzKSc7CiRsYW5nWydsZW5ndGgnXSA9ICdMZW5ndGgnOwokbGFuZ1snbGVuZ3RoY29tbWVudCddID0gJzxicj4oY2hhcnMgaW4gdGhlIHRleHQgaW5wdXQpJzsKJGxhbmdbJ3NlbG9wdGlvbnMnXSA9ICdEcm9wZG93biBvcHRpb25zLCBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuICBWYWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCBmcm9tIHRleHQgd2l0aCBhID0gY2hhcmFjdGVyLiBpLmU6IEZlbWFsZT1mJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1snZmllbGRzdGF0dXMnXSA9ICdGaWVsZCBTdGF0dXMnOwokbGFuZ1sndXNlZGlubG9zdHVuJ10gPSAnQXNrIGluIExvc3Q8YnIvPlVzZXJuYW1lJzsKJGxhbmdbJ3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snbXVsdGlzZWxlY3QnXSA9ICdNdWx0aSBTZWxlY3QgTGlzdCc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRhcmVhJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbXNnX2N1cnJlbnRseWxvZ2dlZGluYXMnXSA9ICdXZWxjb21lJzsKJGxhbmdbJ2xvZ291dCddID0gJ1NpZ24gb3V0JzsKJGxhbmdbJ3Byb21wdF9uZXdncm91cG5hbWUnXSA9ICdVc2UgdGhpcyBncm91cCBuYW1lJzsKJGxhbmdbJ3Byb21wdF9jaGFuZ2VzZXR0aW5ncyddID0gJ0NoYW5nZSBNeSBTZXR0aW5ncyc7CiRsYW5nWydlcnJvcl9sb2dpbmZhaWxlZCddID0gJ0xvZ2luIGZhaWxlZCAtIEludmFsaWQgdXNlcm5hbWUgb3IgcGFzc3dvcmQ/JzsKJGxhbmdbJ2xvZ2luJ10gPSAnU2lnbiBpbic7CiRsYW5nWydwcm9tcHRfc2lnbmluX2J1dHRvbiddID0gJ1NpZ24gaW4gYnV0dG9uIGxhYmVsJzsKJGxhbmdbJ3Byb21wdF91c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ3Byb21wdF9lbWFpbCddID0gJ0VtYWlsIEFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sncHJvbXB0X3JlbWVtYmVybWUnXSA9ICdSZW1lbWJlciBtZSBvbiB0aGlzIGNvbXB1dGVyJzsKJGxhbmdbJ3JlZ2lzdGVyJ10gPSAnUmVnaXN0ZXInOwokbGFuZ1snZm9yZ290cHcnXSA9ICdGb3Jnb3QgWW91ciBQYXNzd29yZD8nOwokbGFuZ1snbG9zdHVzZXJuYW1lJ10gPSAnRm9yZ290IFlvdXIgTG9naW4gRGV0YWlscz8nOwokbGFuZ1snZGVmYXVsdHMnXSA9ICdEZWZhdWx0cyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGluZm9ybWF0aW9uIGZvciB0aGlzIHVzZXInOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgKCVzKSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydwcm9tcHRfc210cHZhbGlkYXRlJ10gPSAnVXNlIFNNVFAgdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzPyc7CiRsYW5nWydwcm9tcHRfbWlucHdsZW4nXSA9ICdNaW5pbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4cHdsZW4nXSA9ICdNYXhpbXVtIFBhc3N3b3JkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWludW5sZW4nXSA9ICdNaW5pbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfbWF4dW5sZW4nXSA9ICdNYXhpbXVtIFVzZXJuYW1lIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfc2Vzc2lvbnRpbWVvdXQnXSA9ICdTZXNzaW9uIFRpbWVvdXQgKHNlY29uZHMpJzsKJGxhbmdbJ3Byb21wdF9jb29raWVrZWVwYWxpdmUnXSA9ICdVc2UgY29va2llcyB0byBrZWVwIGxvZ2lucyBhbGl2ZSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlbWFpbHJlZyddID0gJ0FsbG93IEVtYWlsIFJlZ2lzdHJhdGlvbic7CiRsYW5nWydwcm9tcHRfZGZsdGdyb3VwJ10gPSAnRGVmYXVsdCBHcm91cCBmb3IgbmV3IHVzZXJzJzsKJGxhbmdbJ2NoYW5nZXNldHRpbmdzX3RlbXBsYXRlJ10gPSAnQ2hhbmdlIFNldHRpbmdzIFRlbXBsYXRlJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3JkbWlzbWF0Y2gnXSA9ICdQYXNzd29yZHMgRG8gbm90IG1hdGNoJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0ludmFsaWQgVXNlcm5hbWUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnSW52YWxpZCBQYXNzd29yZCc7CiRsYW5nWydlZGl0dXNlciddID0gJ0VkaXQgVXNlcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ2Vycm9yX21lbWJlcmdyb3VwcyddID0gJ1RoaXMgdXNlciBpcyBub3QgYSBtZW1iZXIgb2YgYW55IGdyb3Vwcyc7CiRsYW5nWydlcnJvcl9wcm9wZXJ0aWVzJ10gPSAnTm8gUHJvcGVydGllcyc7CiRsYW5nWydlcnJvcl9kdXBfcHJvcGVydGllcyddID0gJ0F0dGVtcHQgdG8gaW1wb3J0IGR1cGxpY2F0ZSBwcm9wZXJ0aWVzJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmFsdWUnOwokbGFuZ1snZ3JvdXBzJ10gPSAnR3JvdXBzJzsKJGxhbmdbJ3Byb3BlcnRpZXMnXSA9ICdQcm9wZXJ0aWVzJzsKJGxhbmdbJ3Byb3BuYW1lJ10gPSAnUHJvcGVydHkgTmFtZSc7CiRsYW5nWydwcm9wdmFsdWUnXSA9ICdQcm9wZXJ0eSBWYWx1ZSc7CiRsYW5nWydhZGQnXSA9ICdBZGQnOwokbGFuZ1snaGlzdG9yeSddID0gJ0hpc3RvcnknOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZXMnOwokbGFuZ1snc3BlY2lmeV9kYXRlJ10gPSAnU3BlY2lmeSBEYXRlJzsKJGxhbmdbJzEyaHJzJ10gPSAnMTIgSG91cnMnOwokbGFuZ1snMjRocnMnXSA9ICcyNCBIb3Vycyc7CiRsYW5nWyc0OGhycyddID0gJzQ4IEhvdXJzJzsKJGxhbmdbJzF3ZWVrJ10gPSAnMSBXZWVrJzsKJGxhbmdbJzJ3ZWVrcyddID0gJzIgV2Vla3MnOwokbGFuZ1snMW1vbnRoJ10gPSAnMSBNb250aCc7CiRsYW5nWyczbW9udGhzJ10gPSAnMyBNb250aHMnOwokbGFuZ1snNm1vbnRocyddID0gJzYgTW9udGhzJzsKJGxhbmdbJzF5ZWFyJ10gPSAnMSBZZWFyJzsKJGxhbmdbJ25ldmVyJ10gPSAnTmV2ZXInOwokbGFuZ1sncG9zdGluc3RhbGxtZXNzYWdlJ10gPSAnTW9kdWxlIGluc3RhbGxlZCBzdWNlc3NmdWxseS48YnIvPkJlIHN1cmUgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgRnJvbnRFbmRVc2VyIFByb3BlcnRpZXMgcGVybWlzc2lvbi4gIEFkZGl0aW9uYWxseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhlIENhcHRjaGEgbW9kdWxlLiAgSWYgaW5zdGFsbGVkLCB2YWxpZGF0aW9uIG9mIGEgY2FwdGNoYSBpbWFnZSB3aWxsIGJlIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgdG8gbG9naW4uICBUaGlzIGlzIGludGVuZGVkIHRvIHByZXZlbnQgYnJ1dGUgZm9yY2UgYXR0YWNrcy4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIG5vY2FwdGNoYSBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGlzIGZ1bmN0aW9uYWxpdHkgZXZlbiBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLiZxdW90Oyc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnQWdhaW4nOwokbGFuZ1snZXJyb3JfZ3JvdXBuYW1lX2V4aXN0cyddID0gJ0dyb3VwIGJ5IHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlZGl0Z3JvdXAnXSA9ICdFZGl0IEdyb3VwJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2NvbmZpcm1fZWRpdGdyb3VwJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgaXMgdGhlIHByb3BlciBzZXR0aW5ncyBmb3IgdGhpcyBncm91cD9cblR1cm5pbmcgYSBwcm9wZXJ0eSBvZmYgd2lsbCBub3QgZGVsZXRlIGFueSBlbnRyaWVzIGluIHRoZSBwcm9wZXJ0aWVzIHRhYmxlIGZvciB0aGlzIGdyb3VwL3VzZXIuICBUaGV5IHdpbGwgbWVyZWx5IGJlIHVuYXZhaWxhYmxlLic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWdyb3VwJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGdyb3VwPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9wcm9wJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbXBsZXRlbHkgZGVsZXRlIHRoaXMgcHJvcGVydHk/XG5Eb2luZyBzbyB3aWxsIGFsc28gZXJhc2UgYW55IHVzZXIgZW50cmllcyBmb3IgdGhpcyBwcm9wZXJ0eS4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IFBhcmFtZXRlcnMnOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydlcnJvcl9jYW50YWRkcHJvcCddID0gJ1Byb2JsZW0gYWRkaW5nIHByb3BlcnR5JzsKJGxhbmdbJ2Vycm9yX2NhbnRhZGRncm91cHJlbG4nXSA9ICdQcm9ibGVtIGFkZGluZyBncm91cCByZWxhdGlvbic7CiRsYW5nWydlcnJvcl9jYW50YWRkZ3JvdXAnXSA9ICdQcm9ibGVtIGFkZGluZyBncm91cCc7CiRsYW5nWydlcnJvcl9jYW50YXNzaWdudXNlciddID0gJ1Byb2JsZW0gYWRkaW5nIGEgdXNlciB0byBhIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90ZGVsZXRlcHJvcGVydHknXSA9ICdQcm9ibGVtIGRlbGV0aW5nIGEgcHJvcGVydHknOwokbGFuZ1snZXJyb3JfY291bGRub3RmaW5kZW1haWwnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX2Rlc3RpbmF0aW9ubm90d3JpdGFibGUnXSA9ICdObyB3cml0ZSBwZXJtaXNzaW9uIHRvIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1zJ10gPSAnSW52YWxpZCBQYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnQ291bGQgbm90IGZpbmQgYW55IGdyb3Vwcyc7CiRsYW5nWydhcHBseWZpbHRlciddID0gJ0FwcGx5JzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd1c2VyZmlsdGVyJ10gPSAnVXNlcm5hbWUgUmVndWxhciBFeHByZXNzaW9uJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZ3JvdXBuYW1lJ10gPSAnR3JvdXAgTmFtZSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snYWRkZ3JvdXAnXSA9ICdBZGQgR3JvdXAnOwokbGFuZ1snaW1wb3J0Z3JvdXAnXSA9ICdJbXBvcnQgR3JvdXAnOwokbGFuZ1snYWRkdXNlciddID0gJ0FkZCBVc2VyJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSc7CiRsYW5nWydncm91cCddID0gJ0dyb3VwJzsKJGxhbmdbJ3NlbGVjdGdyb3VwJ10gPSAnU2VsZWN0IEdyb3VwJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydsb2dvdXRfdGVtcGxhdGUnXSA9ICdMb2dvdXQgVGVtcGxhdGUnOwokbGFuZ1snbG9naW5fdGVtcGxhdGUnXSA9ICdMb2dpbiBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXNlcnMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRlbmQgVXNlciBNYW5hZ2VtZW50JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWxsb3cgdXNlcnMgdG8gbG9nIGluIHRvIHRoZSBmcm9udGVuZCBvZiB5b3VyIHNpdGUnOwokbGFuZ1snZGVmYXVsdGZyb250cGFnZSddID0gJ0RlZmF1bHQgZnJvbnQgcGFnZSc7CiRsYW5nWydsYXN0YWNjZXNzZWRwYWdlJ10gPSAnTGFzdCBhY2Nlc3NlZCBwYWdlJzsKJGxhbmdbJ290aGVycGFnZSddID0gJ090aGVyIHBhZ2U6ICc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxsb3dzIG1hbmFnZW1lbnQgYW5kIGFkbWluaXN0cmF0aW9uIG9mIGZyb250IGVuZCB1c2VycyA8aT4odXNlcnMgd2hvIGhhdmUgbm8gYWRtaW4gYWNjZXNzcyk8L2k+LiAgSXQgYWxsb3dzIGNyZWF0aW9uIG9mIHVzZXIgZ3JvdXBzLCBhbmQgdXNlciBhY2NvdW50cyBhbmQgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGFuZCBsb2dvdXQuICBpdCBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBDdXN0b21Db250ZW50IG1vZHVsZSB0byBkaXNwbGF5IGRpZmZlcmVudCBjb250ZW50IHRvIGRpZmZlcmVudCB1c2VycyBvbmNlIHRoZXkgaGF2ZSBsb2dnZWQgaW48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPjxwPlVzZXIgYWNjb3VudCBleHBpcmF0aW9uLiAgWW91IGNhbiBjcmVhdGUgdGVtcG9yYXJ5IHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+R3JvdXAgUHJvcGVydGllcy4gIFlvdSBjYW4gYXNrIGZvciBkaWZmZXJlbnQgaW5mb3JtYXRpb24gZnJvbSBtZW1iZXJzIG9mIGRpZmZlcmVudCBncm91cHM8L3A+PC9saT4NCjxsaT48cD5DYXBhYmxlIG9mIGhhbmRsaW5nIGh1bmRyZWRzIG9mIHVzZXJzPC9wPjwvbGk+DQo8bGk+PHA+Rm9yZ290IHBhc3N3b3JkLCBhbmQgZm9yZ290IHVzZXJuYW1lIGZ1bmN0aW9uYWxpdHkuLi4uIGFsbG93cyB1c2VycyB0byBzZXQgYSBuZXcgcGFzc3dvcmQsIGFuZC9vciB0byByZWNvdmVyIHRoZWlyIHVzZXJuYW1lIGlmIHRoZXkgY29tcGxldGVseSBmb3Jnb3QgbG9naW4gZGV0YWlscy48L3A+PC9saT4NCjxsaT48cD5IYXMgYW4gZXh0ZW5zaXZlIEFQSSBmb3IgYWRkaW5nIGZ1bmN0aW9uYWxpdHk8L3A+PC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCjxsaT48cD5BZnRlciBpbnN0YWxsYXRpb24geW91IGNhbiBhY2Nlc3MgYWRtaW4gcGFuZWwgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIHVuZGVyIHRoZSAmcXVvdDtVc2VycyAmYW1wOyBnR3JvdXBzJnF1b3Q7IG1lbnUuPC9wPjwvbGk+DQo8bGk+DQo8cD5TZWNvbmRseSwgeW91IHNob3VsZCBkZWZpbmUgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgYXJlIGVzc2VudGlhbGx5IGZpZWxkIGRlZmluaXRpb25zLCBoZXJlIHlvdSBzcGVjaWZ5IHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHlvdSB3YW50IHRvIGdhdGhlciwgYW5kIGxpbWl0cy4gaS5lOiAgTmFtZSwgQWdlLCBDaXR5LCBTdGF0ZSwgQ291bnRyeSwgRW1haWwgYWRkcmVzcywgZXRjLjwvcD4NCjxwPjxiPk5vdGU6PC9iPiBZb3UgZG8gbm90IG5lZWQgdG8gZGVmaW5lIHByb3BlcnRpZXMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCwgdGhlc2Ugd2lsbCBiZSBwcm92aWRlZCBmb3IgeW91PC9iPg0KPC9saT4NCjxsaT48cD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHVzZXIgZ3JvdXBzLiAgV2hlbiB5b3UgY3JlYXRlIGEgZ3JvdXAsIHlvdSBhcmUgYXNrZWQgZm9yIGEgZ3JvdXAgbmFtZSwgYSBkZXNjcmlwdGlvbiBhbmQgdG8gYXNzb2NpYXRlIHByb3BlcnRpZXMgd2l0aCB0aGF0IGdyb3VwLCBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHNvcnQgb3JkZXIsIGFuZCB3ZXRoZXIgaXQgaXMgYW4gb3B0aW9uYWwsIHJlcXVpcmVkLCBvciBoaWRkZW4gZmllbGQgPGk+KG9mZiBpcyBhbHNvIHZhbGlkKTwvaT48L3A+PC9saT4NCjxsaT48cD48Yj5Ob3RlOjwvYj4gQmVmb3JlIHByb2NlZWRpbmcsIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIHByZWZlcmVuY2VzIGFyZSBzZXQgY29ycmVjdGx5LjwvcD48L2xpPg0KPGxpPjxwPlRoaXJkbHkgeW91IHNob3VsZCBjcmVhdGUgc29tZSB1c2Vycy4gIEFkZGluZyB1c2VycyBpcyBhIHR3byBzdGVwIHByb2Nlc3MuICBXaGVuIGNyZWF0aW5nIGEgdXNlciB5b3UgYXJlIGFza2VkIGZvciB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLCBhbmQgYW4gZXhwaXJ5IGRhdGUgZm9yIHRoYXQgdXNlci4gIFlvdSB0aGVuIG11c3Qgc2VsZWN0IHRoZSBncm91cHMgdGhhdCB0aGF0IHVzZXIgaXMgYSBtZW1iZXIgb2YsIGFuZCBjbGljayBcJiMwMzk7TmV4dFwmIzAzOTs8L3A+DQo8cD48ZW0+Tm90ZTogPC9lbT5UaGlzIGlzIGEgbGFib3VyIGludGVuc2l2ZSBhbmQgYm9yaW5nIHByb2Nlc3MsIGl0IGlzIGVhc2llciB0byBsZXQgdXNlcnMgcmVnaXN0ZXIgdGhlbXNlbHZlcyA8ZW0+KFNlZSB0aGUgU2VsZlJlZ2lzdHJhdGlvbiBNb2R1bGUpPC9lbT4sIGFuZCB0aGVuIHlvdSBjYW4gZWRpdCB0aGVpciBncm91cCBpbmZvcm1hdGlvbi4gIGJ1dCBmb3IgdGVzdGluZyBwdXJwb3NlcywgcGxlYXNlIGNyZWF0ZSBhdCBsZXN0IG9uZSB1c2VyPC9wPjwvbGk+DQo8bGk+PHA+TGFzdGx5LCBhZnRlciB0aGUgc3lzdGVtIGhhcyBkZXRlcm1pbmVkIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZmllbGRzIHRvIGJlIHByZXNlbnRlZCBmb3IgdGhhdCB1c2VyLCB5b3UgYXJlIHByZXNlbnRlZCB3aXRoIGEgZm9ybSBhc2tpbmcgZm9yIGFsbCBvZiB0aGUgcmVxdWlyZWQgdXNlciBpbmZvcm1hdGlvbi4gIENvbXBsZXRlIHRoaXMgZm9ybSB0byBjb21wbGV0ZSB0aGUgdXNlciBhZGRpdGlvbjwvcD48L2xpPg0KPGxpPjxwPllvdSBhcmUgbm93IHJlYWR5IHRvIGFkZCB0aGUgZnJvbnQgZW5kIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBzaXRlLiAgVGhpcyBpcyBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSB7Y21zX21vZHVsZSBtb2R1bGU9RnJvbnRFbmRVc2Vyc30gdGFnIHRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTwvcD48L2xpPg0KPC91bD4NCjxoMz5TbWFydHkgRnVuY3Rpb25zPC9oMz4NCjxwPlNvbWUgbGltaXRlZCBpbnRlcmFjdGlvbiB3aXRoIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBkYXRhYmFzZSBpcyBwb3NzaWJsZSB3aXRoIHNtYXJ0eSBhbmQgdGhlICRmZXVfc21hcnR5IG9iamVjdC48L3A+DQo8aDQ+RnVuY3Rpb25zOjwvaDQ+DQo8dWw+DQo8bGk+PHN0cm9uZz48Y29kZT57JGZldV9zbWFydHktPmdldF91c2Vyc19ieV9ncm91cG5hbWUoJGdyb3VwbmFtZSwkYXNzaWduKX08L2NvZGU+PC9zdHJvbmc+DQo8cD5UaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGV4dHJhY3QgYW4gYXJyYXkgb2YgdXNlcm5hbWVzIGFuZCB1c2VyaWRzIGZvciBhbGwgdXNlcnMgdGhhdCBiZWxvbmcgdG8gdGhlIHNwZWNpZmllZCBncm91cC4gIFRoZSBvdXRwdXQgaXMgYXNzaWduZWQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIGluIHRoZSAmcXVvdDthc3NpZ24mcXVvdDsgcGFyYW1ldGVyLjwvcD4NCjxwPkV4YW1wbGU6PGJyLz48Y29kZT57JGZldV9zbWFydHktPmdldF91c2Vyc19ieV9ncm91cG5hbWUoJiMwMzk7bWVtYmVycyYjMDM5OywmIzAzOTtteW1lbWJlcnMmIzAzOTspfTxici8+eyRteW1lbWJlcnN8cHJpbnRfcn08L2NvZGU+PC9wPg0KPC9saT4NCjxsaT48c3Ryb25nPjxjb2RlPnskZmV1X3NtYXJ0eS0+Z2V0X3VzZXJfcHJvcGVydGllcygkdWlkLCRhc3NpZ24pfTwvY29kZT48L3N0cm9uZz4NCjxwPlRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXh0cmFjdCBhIGxpc3Qgb2YgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCB1c2VyIGFuZCBhc3NpZ24gdGhlbSB0byBhIHNtYXJ0eSB2YXJpYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS48L3A+DQo8cD5FeGFtcGxlOjxici8+PGNvZGU+eyRmZXVfc21hcnR5LT5nZXRfdXNlcl9wcm9wZXJ0aWVzKDUsJiMwMzk7dXNlcnByb3BzJiMwMzk7KX08YnIvPnskdXNlcnByb3BzfHByaW50X3J9PC9jb2RlPjwvcD4NCjwvbGk+DQo8L3VsPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyI+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjx1bD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcm09JnF1b3Q7bmFtZSZxdW90OzwvbGk+DQo8cD5Gb3JtczoNCjx1bD4NCiA8bGk+PGVtPmxvZ2luPC9lbT4gLSBEaXNwbGF5IHRoZSBsb2dpbiBmb3JtPC9saT4NCiA8bGk+PGVtPmxvZ291dDwvZW0+IC0gRGlzcGxheSB0aGUgbG9nb3V0IGZvcm08L2xpPg0KIDxsaT48ZW0+Y2hhbmdlc2V0dGluZ3M8L2VtPiAtIERpc3BsYXkgdGhlIGNoYW5nZSBzZXR0aW5ncyBmb3JtPC9saT4NCiA8bGk+PGVtPmZvcmdvdHB3PC9lbT4gLSBEaXNwbGF5IHRoZSBmb3Jnb3QgcGFzc3dvcmQgZm9ybTwvbGk+DQogPGxpPjxlbT5sb3N0dXNlcm5hbWU8L2VtPiAtIERpc3BsYXkgdGhlIGxvc3QgdXNlcm5hbWUgZm9ybS48L2xpPg0KPGxpPjxlbT5zaWxlbnQ8L2VtPiA9IERpc3BsYXkgbm90aGluZywgYnV0IGV4cG9ydCBwcm9wZXJ0aWVzIGFuZCBvdGhlciBzbWFydHkgdmFyaWFibGVzIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLiAgSWYgbm8gdXNlciBpcyBsb2dnZWQgaW4sIHRoZW4gbm8gdmFyaWFibGVzIGFyZSBleHBvcnRlZC48L2xpPg0KPC91bD4NCjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJldHVybnRvPSZxdW90O3BhZ2UmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb2dpbiwgbG9nb3V0LCBhbmQgY2hhbmdlc2V0dGluZ3MgZm9ybXMsIHRoaXMgcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0byByZWRpcmVjdCB0bywgd2hlbiB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY29tcGxldGVkPC9wPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb25seV9ncm91cHM9JnF1b3Q7Z3JvdXAxLCBncm91cDIsIGdyb3VwMyZxdW90OzwvbGk+DQo8cD5Vc2VkIHdpdGggdGhlIGxvZ2luIGZvcm1zLiAgQmFzaWNhbGx5IG9ubHkgYWxsb3dzIHVzZXJzIHRvIGxvZ2luIGlmIHRoZXkgYmVsb25nIHRvIHRoYXQgcGFydGljdWxhciBncm91cChzKS48L3A+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsb3N0dW5fZ3JvdXA9JnF1b3Q7Z3JvdXAmcXVvdDs8L2xpPg0KPHA+VXNlZCB3aXRoIHRoZSBsb3N0dXNlcm5hbWUgZm9ybSwgdGhpcyBmZWF0dXJlIHNwZWNpZmllcyB0aGUgZnJvbnRlbmQgdXNlciBncm91cCB0byBhc3N1bWUgdGh0IHVzZXJzIGFyZSBtZW1iZXJzIG9mLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FwdGNoYT0mcXVvdDsxJnF1b3Q7PC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgbG9naW4gZm9ybXMuIGhpcyB3aWxsIGRpc25hYmxlIGNhcHRjaGEgb24gdGhlIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHZhbGlkYXRpb24gb2YgYSBjYXB0Y2hhIGltYWdlIHdpbGwgYmUgcmVxdWlyZWQgZm9yIGxvZ2luLiAgVGhpcyBpcyBhIHNlY3VyaXR5IG1lYXN1cmUgaW50ZW50ZWQgdG8gcHJldmVudCBicnV0ZSBmb3JjZSBhdHRhY2tzLjwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj1udWxsPC9saT4NCjxwPlRoZSBvbmx5IHBvc3NpYmxlIHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciBpcyAmcXVvdDt2aWV3dXNlciZxdW90OzwvcD4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVpZD1udWxsPC9saT4NCjxwPlVzZWQgd2l0aCB0aGUgdmlld3VzZXIgYWN0aW9uLiAgVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB3aGljaCB1c2VyIHRvIHZpZXcgdGhlIGRldGFpbHMgb2YuPC9wPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5JbiBvcmRlciB0byBpbXBsZW1lbnQgdGhlIGZvcmdvdHRlbiBwYXNzd29yZCBmdW5jdGlvbmFsaXR5LCB0aGlzIG1vZHVsZSByZXF1aXJlcyB0aGUgQ01TTWFpbGVyIG1vZHVsZSB0byBiZSBwcmV2aW91c2x5IGluc3RhbGxlZDwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjEzNDYxMjA3Ny4xMjI2NDM0MTI2LjEyMjc0NDQyODMuMTIyNzc0MTIwOC4zJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyNzQ0NDI4NC4yLjIudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXNtcyc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTIyNzc0MTIwOCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICAgCiAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwogICAgCiAgICAvL1VzZXIgbGlzdAogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICBpZCBJIEtFWSwKCSAgICAgdXNlcm5hbWUgQyg4MCkgTk9UIE5VTEwsCiAgICAgICAgICAgICBwYXNzd29yZCBDKDMyKSBOT1QgTlVMTCwKICAgICAgICAgICAgIGNyZWF0ZWRhdGUgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgICAgIGV4cGlyZXMgIi5DTVNfQURPREJfRFQ7CgogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnMiLCAKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwogICAgJGRiLT5DcmVhdGVTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2Vyc19zZXEiICk7CiAgICAKICAgIC8vR3JvdXAgbGlzdAogICAgJGZsZHMgPSAiCgkgICAgIGlkIEkgS0VZLAoJICAgICBncm91cG5hbWUgQygzMiksCgkgICAgIGdyb3VwZGVzYyBDKDEyOCkKCSAgICAiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfZ3JvdXBzIiwKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwogICAgJGRiLT5DcmVhdGVTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHNfc2VxIiApOwoKICAgIC8vIGxvZ2dlZGluCiAgICAkZmxkcyA9ICIKCSAgICAgc2Vzc2lvbmlkIEMoMjU1KSwKCSAgICAgbGFzdHVzZWQgSSwKCSAgICAgdXNlcmlkIEkKCSAgICAiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4iLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAKICAgIC8vQ29ubmVjdGlvbnMgYmV0d2VlbiB1c2VycyBhbmQgZ3JvdXBzCiAgICAkZmxkcyA9ICIKCSAgICAgdXNlcmlkIEksCgkgICAgIGdyb3VwaWQgSQoJICAgICI7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19iZWxvbmdzIiwKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgIC8vcHJvcGVydHkgZGVmaW5pdGlvbgogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICBuYW1lICAgICAgQyg0MCkgS0VZLAogICAgICAgICAgICAgcHJvbXB0ICAgIEMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgICAgIHR5cGUgICAgICBDKDIwKSBOT1QgTlVMTCwKICAgICAgICAgICAgIGxlbmd0aCAgICBJLAogICAgICAgICAgICAgbWF4bGVuZ3RoIEkKICAgICAgICAgICAgIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNxbChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIiwKCQkJCSAgICAgICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgIC8vZHJvcGRvd24gc2VsZWN0IG9wdGlvbnMKICAgICRmbGRzID0gIgogICAgICAgICAgICAgb3JkZXJfaWQJCUksCiAgICAgICAgICAgICBvcHRpb25fbmFtZQlDKDQwKSBOT1QgTlVMTCwKICAgICAgICAgICAgIG9wdGlvbl90ZXh0CUMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgICAgIGNvbnRyb2xfbmFtZQlDKDQwKSBOT1QgTlVMTDsKICAgICAgICAgICAgIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNxbChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2Ryb3Bkb3ducyIsCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKCiAgICAvLyBncm91cCBwcm9wZXJ0eSBtYXAKICAgIC8vIHVzZWQgdG8gYXNzb2NpYXRlIGEgcHJvcGVydHkgdG8gYSBncm91cAogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICAgbmFtZSAgICBDKDQwKSBLRVksCiAgICAgICAgICAgICAgZ3JvdXBfaWQgSSBLRVksCiAgICAgICAgICAgICAgc29ydF9rZXkgSSwgCiAgICAgICAgICAgICAgcmVxdWlyZWQgSSBOT1QgTlVMTCwKICAgICAgICAgICAgICBsb3N0dW5mbGFnIEkKICAgICAgICAgICAgIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNxbChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcCIsCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKCiAgICAvL3VzZXIgcHJvcGVydGllcwogICAgJGZsZHMgPSAiCgkgICAgIGlkIEkgS0VZLAoJICAgICB1c2VyaWQgSSwKCSAgICAgdGl0bGUgQygxMDApLAoJICAgICBkYXRhIFgyCgkgICAgIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAkZGItPkNyZWF0ZVNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXNfc2VxIiApOwoKICAgIC8vIGZvcmdvdHRlbiBwYXNzd29yZCBzdHVmZgogICAgJGZsZHMgPSAiCgkgICAgIHVzZXJpZCBJIEtFWSwKICAgICAgICAgICAgIGNvZGUgQygyNSksCiAgICAgICAgICAgICBjcmVhdGVkICIuQ01TX0FET0RCX0RUOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgogICAgLy8gbG9naW4gaGlzdG9yeSBzdHVmZgogICAgJGZsZHMgPSAiCiAgICAgICAgICAgICB1c2VyaWQgSSwKCSAgICAgc2Vzc2lvbmlkIEMoMzIpLAogICAgICAgICAgICAgYWN0aW9uIEMoMzIpLAogICAgICAgICAgICAgcmVmZGF0ZSAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICAgICAgaXBhZGRyZXNzIEMoMjApIjsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgogICAgLy8gdGVtcGxhdGVzCiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2xvZ2luZm9ybS50cGwnOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2xvZ2luZm9ybScsIGZpbGVfZ2V0X2NvbnRlbnRzKCRmbikgKTsKCiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9nb3V0Zm9ybScsICR0aGlzLT5kZmx0X2xvZ291dGZvcm10ZW1wbGF0ZSk7CgogICAgJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19jaGFuZ2VzZXR0aW5ncy50cGwnOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2NoYW5nZXNldHRpbmdzZm9ybScsIGZpbGVfZ2V0X2NvbnRlbnRzKCRmbikgKTsKCiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2ZvcmdvdHBhc3N3b3JkMS50cGwnOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZm9ybScsZmlsZV9nZXRfY29udGVudHMoJGZuKSk7CgogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkZW1haWxmb3JtJywgJHRoaXMtPmRmbHRfZm9yZ290cGFzc3dvcmR0ZW1wbGF0ZTIpOwoKICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfZm9yZ290cGFzc3dvcmQzLnRwbCc7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfZm9yZ290cGFzc3dvcmR2ZXJpZnlmb3JtJyxmaWxlX2dldF9jb250ZW50cygkZm4pKTsKCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfbG9zdHVuZm9ybV90ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9zdHVuZm9ybScsJHRlbXBsYXRlKTsKICB9CgokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2xvc3R1bmZvcm1fY29uZmlybV90ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfbG9zdHVuZm9ybV9jb25maXJtJywkdGVtcGxhdGUpOwogIH0KCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfbm90aWZpY2F0aW9uX3RlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKICB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnbm90aWZpY2F0aW9uX3RlbXBsYXRlJywkdGVtcGxhdGUpOwogIH0KCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfdmlld3VzZXJfdGVtcGxhdGUudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX3ZpZXd1c2VyJywkdGVtcGxhdGUpOwogIH0KCiAgICAvLyBwcmVmZXJlbmNlcwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21pbl9wYXNzd29yZGxlbmd0aCcsIDYpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF9wYXNzd29yZGxlbmd0aCcsIDIwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtaW5fdXNlcm5hbWVsZW5ndGgnLCA0KTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnLCA0MCk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlcl9zZXNzaW9uX2V4cGlyZXMnLCAxODAwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjb29raWVfa2VlcGFsaXZlJywwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2dyb3VwJywgLTEpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsICcqJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCAnYmx1ZScpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3JlcXVpcmVfb25lZ3JvdXAnLCAxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdoaWRkZW5fZmllbGRfbWFya2VyJywgJyEnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdoaWRkZW5fZmllbGRfY29sb3InLCAnZ3JlZW4nKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfZm9yZ290cGFzc3dkJywgJycpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9jaGFuZ2VzZXR0aW5ncycsICcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9naW4nLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfbG9nb3V0JywnJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2FmdGVydmVyaWZ5JywnJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfZHVwbGljYXRlX2VtYWlscycsMCk7IAogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJuYW1lX2lzX2VtYWlsJywxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYXNzd29yZGZsZGxlbmd0aCcsIDIwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcsIDQwKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19yZXBlYXRlZF9sb2dpbnMnLDApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX2Rlc3RpbmF0aW9uX3BhdGgnLCdmZXVzZXJzJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zJywnLmdpZiwucG5nLC5qcGcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2Vjb29raWVzdG9yZW1lbWJlcicsMCk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29va2llbmFtZScsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fc3ViamVjdCcsJHRoaXMtPkxhbmcoJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nKSk7CgogICAgLy8gRXZlbnRzCiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkxvZ2luJyApOwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25Mb2dvdXQnICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkV4cGlyZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkNyZWF0ZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkRlbGV0ZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPblVwZGF0ZVVzZXInICk7CiAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkNyZWF0ZUdyb3VwJyApOwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25EZWxldGVHcm91cCcgKTsKCiAgICAvLyBwZXJtaXNzaW9ucwogICAgJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzJyk7Cgo/PgoK]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKJGRiID0mICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc191c2VycyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2xvZ2dlZGluIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfYmVsb25ncyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZGVmbiIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2Ryb3Bkb3ducyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2dyb3VwcHJvcG1hcCIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3RlbXBjb2RlIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfaGlzdG9yeSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdXNlcnNfc2VxIiApOwokZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHNfc2VxIiApOwokZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzX3NlcSIgKTsKCi8vIHRlbXBsYXRlcwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vIHByZWZlcmVuY2VzCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CiAgICAKLy8gcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycpOwoKLy8gRkVVc2Vycy1zcGVjaWZpYyBwZXJtaXNzaW9ucyAuLi4gbWF5IG9yIG1heSBub3QgZXhpc3QKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBBZGQgVXNlcnMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgVXNlcnMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBSZW1vdmUgVXNlcnMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBBZGQgR3JvdXBzJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdGRVUgTW9kaWZ5IEdyb3VwcycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBHcm91cCBBc3NpZ25tZW50cycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIFJlbW92ZSBHcm91cHMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0ZFVSBNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBGcm9udEVuZFVzZXJQcm9wcycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRkVVIE1vZGlmeSBUZW1wbGF0ZXMnKTsKCi8vIEV2ZW50cwokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkxvZ2luJyApOwokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkxvZ291dCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25FeHBpcmVVc2VyJyApOwokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkNyZWF0ZVVzZXInICk7CiR0aGlzLT5SZW1vdmVFdmVudCggJ09uRGVsZXRlVXNlcicgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25DcmVhdGVHcm91cCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25EZWxldGVHcm91cCcgKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCAnT25VcGRhdGVVc2VyJyApOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[XDw/cGhwCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBGcm9udEVuZFVzZXJzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIGZyb250ZW5kCiMgIHVzZXJzLCBhbmQgdGhlaXIgbG9naW4gcHJvY2VzcyB3aXRoaW4gYSBDTVMgTWFkZSBTaW1wbGUgcG93ZXJlZCAKIyAgd2Vic2l0ZS4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKc3dpdGNoKCAkb2xkdmVyc2lvbiApCiAgewogIGNhc2UgJzAuMS4wJzoKICBjYXNlICcwLjEuMSc6CiAgICB7CiAgICAgIC8vIHBlcm1pc3Npb25zCiAgICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNb2RpZnkgRnJvbnRFbmRVc2VyUHJvcHMnLAoJCQkgICAgICAnTW9kaWZ5IEZyb250RW5kVXNlciBQcm9wZXJ0aWVzJyk7CiAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGZvcm0nLCAkdGhpcy0+ZGZsdF9mb3Jnb3RwYXNzd29yZHRlbXBsYXRlMSk7CiAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1c2Vyc19mb3Jnb3RwYXNzd29yZGVtYWlsZm9ybScsICR0aGlzLT5kZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUyKTsKICAgICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmZXVzZXJzX2ZvcmdvdHBhc3N3b3JkdmVyaWZ5Zm9ybScsICR0aGlzLT5kZmx0X2ZvcmdvdHBhc3N3b3JkdGVtcGxhdGUzKTsKICAgICAgCiAgICAgIC8vIGZvcmdvdHRlbiBwYXNzd29yZCBzdHVmZgogICAgICAkZmxkcyA9ICIKCSAgICAgICAgICAgICB1c2VyaWQgSSBLRVksCiAgICAgICAgICAgICAgICAgICAgIGNvZGUgQygyNSksCiAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgIi5DTVNfQURPREJfRFQ7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfdGVtcGNvZGUiLAoJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAgIC8vIG5vdGljZSBubyBicmVhawogICAgfQogICAgCiAgY2FzZSAnMC4xLjInOgogICAgewogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2ZvcmdvdHBhc3N3ZCcsICcnKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9jaGFuZ2VzZXR0aW5ncycsICcnKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9sb2dpbicsJycpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZWlkX2xvZ291dCcsJycpOwogICAgICAvLyBub3RpY2Ugbm8gYnJlYWsKICAgIH0KICBjYXNlICcwLjEuMyc6CiAgY2FzZSAnMC4xLjQnOgogIGNhc2UgJzAuMS41JzoKICBjYXNlICcwLjEuNic6CiAgICB7CiAgICAgIC8vZHJvcGRvd24gc2VsZWN0IG9wdGlvbnMKICAgICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwogICAgICAkZmxkcyA9ICIKCQkJCSBvcmRlcl9pZAkJSSwKCQkJCSBvcHRpb25fbmFtZQlDKDQwKSBOT1QgTlVMTCwKCQkJCSBvcHRpb25fdGV4dAlDKDgwKSBOT1QgTlVMTCwKCQkJCSBjb250cm9sX25hbWUJQyg0MCkgTk9UIE5VTEw7CgkJCQkiOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTcWwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19kcm9wZG93bnMiLAoJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAgIAogICAgICAvLyBhbmQgY2xlYW51cCBwcm9wZXJ0eSBuYW1lcwogICAgICAkcSA9ICd1cGRhdGUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIHNldCBuYW1lID0gbGNhc2UocmVwbGFjZShuYW1lLCIgIiwiXyIpKSc7CiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIH0gLy9jYXNlCiAgICAKICBjYXNlICcwLjEuNyc6CiAgICB7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZGNvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIiwKCQkJCSAgICAgICJtYXhsZW5ndGggSSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgIH0gLy8gY2FzZQoKICBjYXNlICcxLjAuMCc6CiAgICB7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19kdXBsaWNhdGVfZW1haWxzJywxKTsKICAgIH0KCiAgY2FzZSAnMS4wLjEnOgogICAgewogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnLCAyMCk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VybmFtZWZsZGxlbmd0aCcsIDIwKTsKICAgIH0KCiAgY2FzZSAnMS4wLjUnOgogIGNhc2UgJzEuMC42JzoKICAgIHsKICAgICAgLy8gRXZlbnRzCiAgICAgICR0aGlzLT5DcmVhdGVFdmVudCggJ09uTG9naW4nICk7CiAgICAgICR0aGlzLT5DcmVhdGVFdmVudCggJ09uTG9nb3V0JyApOwogICAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkV4cGlyZVVzZXInICk7CiAgICAgICR0aGlzLT5DcmVhdGVFdmVudCggJ09uQ3JlYXRlVXNlcicgKTsKICAgICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25EZWxldGVVc2VyJyApOwogICAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkNyZWF0ZUdyb3VwJyApOwogICAgICAkdGhpcy0+Q3JlYXRlRXZlbnQoICdPbkRlbGV0ZUdyb3VwJyApOwoJICAgIAogICAgICAvLyBQcmVmZXJlbmNlcwogICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnYWxsb3dfcmVwZWF0ZWRfbG9naW5zJywxKTsKCSAgICAKICAgICAgLy8gVGFibGVzCiAgICAgICRmbGRzID0gIgogICAgICAgICAgICAgdXNlcmlkIEkgS0VZLAoJICAgICBzZXNzaW9uaWQgQygzMiksCiAgICAgICAgICAgICBhY3Rpb24gQygzMiksCiAgICAgICAgICAgICB3aGVuIERUCiAgICAgICAgICAgICI7IAogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAgICR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiLAoJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICB9CgogIGNhc2UgJzEuMS4wJzoKICAgIHsKICAgICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q2hhbmdlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19kcm9wZG93bnMiLAoJCQkJCSJvcHRpb25fdGV4dCBDKDI1NSkgTk9UIE5VTEwiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICB9CgogIGNhc2UgJzEuMi4xJzoKICAgIHsKICAgICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCAnT25VcGRhdGVVc2VyJyApOwogICAgfQoKICBjYXNlICcxLjIuMic6CiAgICB7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLgoJCQkJICAgICAgICJtb2R1bGVfZmV1c2Vyc19oaXN0b3J5IiApOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICAgCiAgICAgICR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiAgICAgICRmbGRzID0gIgogICAgICAgICAgICAgdXNlcmlkIEksCgkgICAgIHNlc3Npb25pZCBDKDMyKSwKICAgICAgICAgICAgIGFjdGlvbiBDKDMyKSwKICAgICAgICAgICAgIHJlZmRhdGUgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgICAgIGlwYWRkcmVzcyBDKDIwKSI7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuCgkJCQkJIm1vZHVsZV9mZXVzZXJzX2hpc3RvcnkiLAoJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkgKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICB9CgkgIAoKICBjYXNlICcxLjMnOgogICAgewogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRjb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19ncm91cHByb3BtYXAiLAoJCQkJICAgICAgImxvc3R1bmZsYWcgSSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkpOwoKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9hZnRlcnZlcmlmeScsJycpOwogICAgfQoKICBjYXNlICcxLjMuMSc6CiAgICB7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fc3ViamVjdCcsJHRoaXMtPkxhbmcoJ2ZldV9ldmVudF9ub3RpZmljYXRpb24nKSk7CiAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfbm90aWZpY2F0aW9uX3RlbXBsYXRlLnRwbCcpOwogICAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKCXsKCSAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkgICR0aGlzLT5TZXRUZW1wbGF0ZSgnbm90aWZpY2F0aW9uX3RlbXBsYXRlJywkdGVtcGxhdGUpOwoJfQogICAgfQoKICBjYXNlICcxLjMuMic6CiAgICB7CiAgICAgICR0bXBfbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfcHJvcGVydGllc190bXAnOwogICAgICAkcmVhbF9uYW1lID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzJzsKCiAgICAgIC8vIDEgQ3JlYXRlIHRlbXBvcmFyeSB0YWJsZQogICAgICAvL3VzZXIgcHJvcGVydGllcwogICAgICAkZmxkcyA9ICIKCSAgICAgIGlkIEkgS0VZLAogIAkgICAgICB1c2VyaWQgSSwKIAkgICAgICB0aXRsZSBDKDEwMCksCgkgICAgICBkYXRhIFgyCgkgICAgIjsKICAgICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHRtcF9uYW1lLCRmbGRzLCR0YWJvcHRhcnJheSk7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgICAgLy8gMi4gIENvcHkgYWxsIGRhdGEgZnJvbSBmZXVzZXJzX3Byb3BlcnRpZXMgdG8gdGVtcG9yYXJ5IHRhYmxlCiAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLiR0bXBfbmFtZS4nIChpZCx1c2VyaWQsdGl0bGUsZGF0YSkKICAgICAgICAgICAgICAgICAgICAgIFNFTEVDVCBpZCx1c2VyaWQsdGl0bGUsZGF0YSBGUk9NICcuJHJlYWxfbmFtZTsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgogICAgICAvLyAzLiAgRHJvcCBmZXVzZXJzX3Byb3BlcnRpZXMKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZmV1c2Vyc19wcm9wZXJ0aWVzIiApOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgICAvLyA0LiAgUmVuYW1lIHRhYmxlIAogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+UmVuYW1lVGFibGVTUUwoJHRtcF9uYW1lLCRyZWFsX25hbWUpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CgogIGNhc2UgJzEuMy4zJzoKICAgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfdmlld3VzZXJfdGVtcGxhdGUudHBsJyk7CiAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKICAgICAgewoJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldXNlcnNfdmlld3VzZXInLCR0ZW1wbGF0ZSk7CiAgICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICcxLjQnOgogIGNhc2UgJzEuNC4xJzoKICBjYXNlICcxLjQuMic6CiAgY2FzZSAnMS40LjMnOgogIGNhc2UgJzEuNC40JzoKICBjYXNlICcxLjUnOgogICAgewogICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2ZldXNlcnNfcHJvcGRlZm4iLCAicHJvbXB0IEMoMjU1KSBOT1QgTlVMTCIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CgogIGNhc2UgJzEuNS4xJzoKICBjYXNlICcxLjUuMic6CiAgY2FzZSAnMS41LjMnOgogICAgewogICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2ZldXNlcnNfbG9nZ2VkaW4nLCAic2Vzc2lvbmlkIEMoMjU1KSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CiAgfSAvLyBzd2l0Y2gKPz4KCg==]]></data>
	</file>
	<file>
	  <filename>/Random.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiNCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIA0KIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQ0KIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZA0KIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIA0KIyAgd2Vic2l0ZS4NCiMgDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiNFTkRfTElDRU5TRQ0KDQovKioNCiAqIEdlbmVyYXRlIHJhbmRvbSBjaGFyYWN0ZXJzLg0KICoNCiAqIEBhdXRob3IgICAgTGF1cmVudGl1IFRhbmFzZSA8ZXhwZXJ0cGhwQHlhaG9vLmNvbT4NCiAqIEB2ZXJzaW9uICAgMS4xDQogKi8NCg0KY2xhc3MgUmFuZG9tDQp7DQoJLyoqDQoJICogU2V0IGRlZmF1bHQgY2hhcmFjdGVycy4NCiAgICAgKg0KICAgICAqIEB2YXIgICAgICBzdHJpbmcNCiAgICAgKiBAYWNjZXNzICAgcHJpdmF0ZQ0KICAgICAqLw0KDQoJdmFyICRfdmNyczsNCg0KCS8qKg0KCSAqIElmIGhhdmUgbnVtYmVyDQogICAgICoNCiAgICAgKiBAdmFyICAgICAgYm9vbA0KICAgICAqIEBhY2Nlc3MgICBwcml2YXRlDQogICAgICovDQoNCgl2YXIgJF92bnVtOw0KDQoJLyoqDQoJICogSWYgZG9lc24ndCBoYXZlIG51bWJlcg0KICAgICAqDQogICAgICogQHZhciAgICAgIGJvb2wNCiAgICAgKiBAYWNjZXNzICAgcHJpdmF0ZQ0KICAgICAqLw0KDQoJdmFyICRfdm5vdDsNCg0KCS8qKg0KCSAqIENvbnN0cnVjdG9yDQoJICoNCgkgKiBTZXQgZGVmYXVsdCB2YWx1ZXMNCgkgKg0KCSAqIEBwYXJhbSAgc3RyaW5nICAkY3JzICAgQ2hhcmFjdGVycyBvdXRwdXQNCgkgKiBAcGFyYW0gIGJvb2wgICAgJG51bSAgIFdpdGggbnVtYmVyDQoJICogQHBhcmFtICBib29sICAgICRub3QgICBXaXRoIG5vdCBudW1iZXINCgkgKi8NCg0KCWZ1bmN0aW9uIFJhbmRvbSgkY3JzID0gZmFsc2UsICRudW0gPSBmYWxzZSwgJG5vdCA9IGZhbHNlKXsNCgkJJHRoaXMtPl92bnVtID0gJG51bTsNCgkJJHRoaXMtPl92bm90ID0gJG5vdDsNCgkJaWYoISRjcnMpew0KCQkJJHRoaXMtPl92Y3JzID0gIjAxMjM0NTY3ODkiLg0KCQkJCSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIuDQoJCQkJIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsNCgkJfWVsc2V7DQoJCQkkdGhpcy0+X3ZjcnMgPSAkY3JzOw0KCQkJaWYoKCRudW0gfHwgJG5vdCkgJiYgISR0aGlzLT5fcmVjKCRjcnMsICRudW0sICRub3QpKXsNCgkJCQlpZigkbnVtICYmICRub3QpICRlcnIgPSAibnVtYmVyIG9yIG5vdCBudW1iZXIiOw0KCQkJCWVsc2VpZigkbnVtKSAkZXJyID0gIm51bWJlciI7DQoJCQkJZWxzZWlmKCRub3QpICRlcnIgPSAibm90IG51bWJlciI7DQoJCQkJZWxzZSAkZXJyID0gImNvbXBhcmF0aW9uIjsNCgkJCQl0cmlnZ2VyX2Vycm9yKCJDbGFzcyBSYW5kb20gLSBTdHJpbmcgaW5wdXQgWyAiLiRjcnMuIiBdIGRvZXNuJ3QgaGF2ZSAiLiRlcnIsIEVfVVNFUl9FUlJPUik7DQoJCQl9DQoJCX0NCgl9DQoNCgkvKioNCgkgKiBDb21wYXJlIGlucHV0IHN0cmluZw0KCSAqDQoJICogQGFjY2VzcyAgcHJpdmF0ZQ0KCSAqIEBwYXJhbSAgIHN0cmluZyAgICRzdHIgICAgICBDaGFyYWN0ZXJzIGlucHV0DQoJICogQHBhcmFtICAgYm9vbCAgICAgJG51bWJlciAgIEhhdmUgbnVtYmVyDQoJICogQHBhcmFtICAgYm9vbCAgICAgJG5vdG51bSAgIEhhdmUgbm90IG51bWJlcg0KCSAqIEByZXR1cm4gIGJvb2wgICAgIElmIGhhdmUgbnVtYmVyIG9yL2FuZCBub3QgbnVtYmVyDQoJICovDQoNCglmdW5jdGlvbiBfcmVjKCRzdHIsICRudW1iZXIgPSB0cnVlLCAkbm90bnVtID0gdHJ1ZSl7DQoJCSRjbnQgPSBzdHJsZW4oJHN0cik7DQoJCSRzZXQxID0gJHNldDIgPSBmYWxzZTsNCgkJaWYoJG51bWJlciB8fCAkbm90bnVtKXsNCgkJCWZvcigkaT0wOyRpPCRjbnQ7JGkrKyl7DQoJCQkJaWYoJHN0cnskaX0gPT09IHN0cnZhbChpbnR2YWwoJHN0cnskaX0pKSkgJHNldDEgPSB0cnVlOw0KCQkJCWVsc2UgJHNldDIgPSB0cnVlOw0KCQkJCWlmKCRzZXQxICYmICRzZXQyKSBicmVhazsNCgkJCX0NCgkJCWlmKCRudW1iZXIgJiYgJG5vdG51bSkgcmV0dXJuICgkc2V0MSAmJiAkc2V0Mik7DQoJCQllbHNlaWYoJG51bWJlcikgcmV0dXJuICRzZXQxOw0KCQkJZWxzZWlmKCRub3RudW0pIHJldHVybiAkc2V0MjsNCgkJCWVsc2UgcmV0dXJuIHRydWU7DQoJCX1lbHNlIHJldHVybiB0cnVlOw0KCX0NCg0KCS8qKg0KCSAqIEdlbmVyYXRlIHJhbmRvbSBjaGFyYWN0ZXJzDQoJICoNCgkgKiBAYWNjZXNzICBwdWJsaWMNCgkgKiBAcGFyYW0gICBpbnQgICAgICAkbGVuICAgTGVuZ3RoIG9mIHRoZSBzdHJpbmcgeW91IHdhbnQgZ2VuZXJhdGVkDQoJICogQHJldHVybiAgc3RyaW5nICAgUmFuZG9tIGNoYXJhY3RlcnMNCgkgKi8NCg0KCWZ1bmN0aW9uIGdldCgkbGVuKXsNCgkJaWYoIShpc19pbnQoJGxlbikgJiYgJGxlbiA+IDApKSByZXR1cm4gJHRoaXMtPl92Y3JzOw0KCQkkcmV0ID0gIiI7DQoJCSRjbnQgPSBzdHJsZW4oJHRoaXMtPl92Y3JzKS0xOw0KCQlmb3IoJGk9MDskaTwkbGVuOyRpKyspICRyZXQgLj0gJHRoaXMtPl92Y3Jze3JhbmQoMCwgJGNudCl9Ow0KCQlpZigkdGhpcy0+X3ZudW0gfHwgJHRoaXMtPl92bm90KSByZXR1cm4gJHRoaXMtPl9yZWMoJHJldCwgJHRoaXMtPl92bnVtLCAkdGhpcy0+X3Zub3QpID8gJHJldCA6IFJhbmRvbTo6Z2V0KCRsZW4pOw0KCQllbHNlIHJldHVybiAkcmV0Ow0KCX0NCg0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addgroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZ3JvdXBuYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZ3JvdXBuYW1lfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ncm91cGRlc2N9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9ncm91cGRlc2N9PC9wPgogIDwvZGl2Pgp7aWYgJHByb3Bjb3VudCA+IDB9Cjxici8+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyRuYW1ldGV4dH08L3RoPgoJICAgICAgICAgICAgICAgIDx0aD57JHByb21wdHRleHR9PC90aD4KCQkJPHRoPnskdHlwZXRleHR9PC90aD4KCSAgICAgICAgICAgICAgICA8dGg+eyRzb3J0b3JkZXJ0ZXh0fTwvdGg+CgkJCTx0aD57JGZpZWxkc3RhdHVzdGV4dH08L3RoPgoJCQk8dGg+eyR1c2VkaW5sb3N0dW50ZXh0fTwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JHByb3BzIGl0ZW09J3Byb3BlJ30KCQk8dHIgY2xhc3M9InskcHJvcC0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskcHJvcGUtPm5hbWV9PC90ZD4KCQkJPHRkPnskcHJvcGUtPnByb21wdH08L3RkPgoJCQk8dGQ+eyRwcm9wZS0+dHlwZX08L3RkPgoJICAgICAgICAgICAgICAgIDx0ZD57JHByb3BlLT5zb3J0b3JkZXJ9PC90ZD4KCQkJPHRkPnskcHJvcGUtPnJlcXVpcmVkfTwvdGQ+CgkJCTx0ZD57JHByb3BlLT5hc2tpbmxvc3R1bn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/addprop.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7JG9yaWdfdHlwZX0KeyRlZGl0cHJvcH08YnIvPgp7JGluZm9tc2cxfTxici8+CnskaW5mb21zZzJ9PGhyLz4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9uYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbmFtZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcHJvbXB0fTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcHJvbXB0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90eXBlfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdHlwZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHR9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHQyfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXQyfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CiAgPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/addprop2.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CiAgeyRpbnB1dF9uYW1lfQogIHskaW5wdXRfcHJvbXB0fQogIHskaW5wdXRfdHlwZX0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdDF9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dDF9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0Mn08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Mn08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/adduser1.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VzZXJuYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcm5hbWV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Bhc3N3b3JkfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFzc3dvcmR9Jm5ic3A7eyRpbmZvX3Bhc3N3b3JkfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZXBlYXRwYXNzd29yZH08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlcGVhdHBhc3N3b3JkfSZuYnNwO3skaW5mb19yZXBlYXRwYXNzd29yZH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZXhwaXJlc308L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JGV4cGlyZXNfZGF0ZXByZWZpeCB0aW1lPSRleHBpcmVzZGF0ZSBzdGFydF95ZWFyPTIwMDAgZW5kX3llYXI9MjA0MH08L3A+CiAgPC9kaXY+CntpZiAkaXRlbWNvdW50ID4gMH0KPGJyLz4KeyRncm91cHN0aXRsZX0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCB3aWR0aD0iNSUiPnskaWR0ZXh0fTwvdGg+CgkJCTx0aD57JG5hbWV0ZXh0fTwvdGg+CgkJCTx0aD57JGRlc2N0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlc2N9PC90ZD4KCQkJPHRkPnskZW50cnktPm1lbWJlcn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyR1c2VyX2lkfXskc3VibWl0fXskY2FuY2VsfTwvcD4KICA8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/adduser2.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCR1c2VybmFtZSl9PGgzPnskZWRpdHRleHR9OiB7JHVzZXJuYW1lfTwvaDM+ey9pZn0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9Cntmb3JlYWNoIGZyb209JGNvbnRyb2xzIGl0ZW09Y29udHJvbH0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNvbnRyb2wtPmhpZGRlbn08Zm9udCBjb2xvcj0ieyRjb250cm9sLT5jb2xvcn0iPnskY29udHJvbC0+cHJvbXB0fXskY29udHJvbC0+bWFya2VyfTwvZm9udD48L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNvbnRyb2wtPmNvbnRyb2x9PC9wPgogIDwvZGl2PgogIHtpZiBpc3NldCgkY29udHJvbC0+aW1hZ2UpfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY29udHJvbC0+aW1hZ2V9PC9wPgogICAgPC9kaXY+CiAgey9pZn0KICB7aWYgJGNvbnRyb2wtPnJlcXVpcmVkICE9IHRydWV9CiAgICAge2lmIGlzc2V0KCRjb250cm9sLT5jb250cm9sMil9CiAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjb250cm9sLT5wcm9tcHQyfSZuYnNwO3skY29udHJvbC0+Y29udHJvbDJ9PC9wPgogICAgICAgPC9kaXY+CiAgICAgey9pZn0KICB7L2lmfQp7L2ZvcmVhY2h9Cjxici8+CnsvaWZ9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRoaWRkZW4yfXskYmFja317JHN1Ym1pdH17JGNhbmNlbH08L3A+CiAgPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/adminprefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JHN0YXJ0Zm9ybX0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8cD48c3Ryb25nPnskaW5mb19taW5wd2xlbn08L3N0cm9uZz48L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9wd2ZsZGxlbn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcHdmbGRsZW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbWlucHdsZW59OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21pbnB3bGVufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X21heHB3bGVufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tYXhwd2xlbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91bmZsZGxlbn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdW5mbGRsZW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbWludW5sZW59OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21pbnVubGVufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X21heHVubGVufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tYXh1bmxlbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NpZ25pbl9idXR0b259OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NpZ25pbl9idXR0b259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zZXNzaW9udGltZW91dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2Vzc2lvbnRpbWVvdXR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY29va2lla2VlcGFsaXZlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jb29raWVrZWVwYWxpdmV9e2lmIGlzc2V0KCRpbmZvX2Nvb2tpZV9rZWVwYWxpdmUpfTxici8+eyRpbmZvX2Nvb2tpZV9rZWVwYWxpdmV9ey9pZn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VzZWNvb2tpZXN0b3JlbWVtYmVyfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2Vjb29raWVzdG9yZW1lbWJlcn17aWYgaXNzZXQoJGluZm9fY29va2llc3RvcmVtZW1iZXIpfTxici8+eyRpbmZvX2Nvb2tpZXN0b3JlbWVtYmVyfXsvaWZ9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY29va2llbmFtZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY29va2llbmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgICAgICA8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHN9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93X2R1cGxpY2F0ZV9lbWFpbHN9CiAgICAgICAgICAgICAgICAgICA8YnIvPjxzdHJvbmc+eyRpbmZvX2FsbG93X2R1cGxpY2F0ZV9lbWFpbHN9PC9zdHJvbmc+PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXNlcm5hbWVfaXNfZW1haWx9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VzZXJuYW1lX2lzX2VtYWlsfQogICAgICAgICAgICAgICAgICAgPGJyLz48c3Ryb25nPnskaW5mb191c2VybmFtZV9pc19lbWFpbH08L3N0cm9uZz48L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hbGxvd19yZXBlYXRlZF9sb2dpbnN9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93X3JlcGVhdGVkX2xvZ2luc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzfQogICAgICAgICAgICAgICAgICAgPGJyLz48c3Ryb25nPnskaW5mb19hbGxvd19kdXBsaWNhdGVfcmVtaW5kZXJzfTwvc3Ryb25nPjwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3JlcXVpcmVvbmVncm91cH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZW9uZWdyb3VwfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnN9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnN9PC9wPgogICAgICAgICAgICAgICAgICAgPHA+eyRpbmZvX2ZldXNlcnNfc3BlY2lmaWNfcGVybWlzc2lvbnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZGZsdGdyb3VwfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZmx0Z3JvdXB9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZXF1aXJlZG1hcmtlcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZWRtYXJrZXJ9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcmVxdWlyZWRjb2xvcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZWRjb2xvcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9oaWRkZW5tYXJrZXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2hpZGRlbm1hcmtlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9oaWRkZW5jb2xvcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGlkZGVuY29sb3J9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgl7JGluZm9fc3Rhcn0KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ZvcmdvdHB3X3BhZ2V9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZvcmdvdHB3X3BhZ2V9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY2hhbmdlc2V0dGluZ3NfcGFnZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2hhbmdlc2V0dGluZ3NfcGFnZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hZnRlcl9jaGFuZ2Vfc2V0dGluZ3N9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FmdGVyX2NoYW5nZV9zZXR0aW5nc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9sb2dpbl9wYWdlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9sb2dpbl9wYWdlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2xvZ291dF9wYWdlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9sb2dvdXRfcGFnZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hZnRlcl92ZXJpZnlfY29kZX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWZ0ZXJfdmVyaWZ5X2NvZGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRofTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pbWFnZV9kZXN0aW5hdGlvbl9wYXRofTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FsbG93ZWRfaW1hZ2VfZXh0ZW5zaW9uc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dlZF9pbWFnZV9leHRlbnNpb25zfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgICAgICAgIDxociB3aWR0aD0iNTAlIiBhbGlnbj0ibGVmdCIvPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X25vdGlmaWNhdGlvbnN9OjwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbm90aWZpY2F0aW9uc308L3A+ICAgICAgICAKCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCSAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZmljYXRpb25fYWRkcmVzc306PC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9ub3RpZmljYXRpb25fYWRkcmVzc308L3A+ICAgICAgICAKCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCSAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZmljYXRpb25fc3ViamVjdH06PC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9ub3RpZmljYXRpb25fc3ViamVjdH08L3A+ICAgICAgICAKCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCSAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZmljYXRpb25fdGVtcGxhdGV9OjwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbm90aWZpY2F0aW9uX3RlbXBsYXRlfTwvcD4gICAgICAgIAoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgPGhyIHdpZHRoPSI1MCUiIGFsaWduPSJsZWZ0Ii8+Cgk8L2Rpdj4KICAgICAgICB7aWYgJGRhdGFfbnVtcmVzZXRyZWNvcmRzICE9ICIifQogCSAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgICAgICAgIDxociB3aWR0aD0iNTAlIiBhbGlnbj0ibGVmdCIvPgogIAkgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgCSAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X251bXJlc2V0cmVjb3Jkc308L3A+CgkgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkYXRhX251bXJlc2V0cmVjb3Jkc308L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZW1vdmUxd2Vla317JGlucHV0X3JlbW92ZTFtb250aH17JGlucHV0X3JlbW92ZWFsbH08L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICB7L2lmfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+Cgk8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admintasks.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQoKeyogQSBmb3JtIChzaW1wbGUgYnV0dG9uKSBmb3IgZXhwb3J0aW5nIHVzZXJzIHRvIGNzdiAqfQp7JHN0YXJ0Zm9ybX17JGlucHV0X2hpZGRlbn0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbGVnZW5kX2ltcG9ydHVzZXJzfTwvbGVnZW5kPgp7JGluZm9faW1wb3J0dXNlcnNmaWxlZm9ybWF0fTxoci8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pbXBvcnR1c2Vyc3RvZ3JvdXB9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ltcG9ydHVzZXJzdG9ncm91cH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ltcG9ydHVzZXJzZmlsZX06PC9wPgogICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ltcG9ydHVzZXJzZmlsZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaW1wb3J0dXNlcnNidG59PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JGxlZ2VuZF9leHBvcnR1c2Vyc308L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2V4cG9ydHVzZXJzfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leHBvcnR1c2Vyc308L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbGVnZW5kX3VzZXJoaXN0b3J5bWFpbnRlbmFuY2V9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9leHBvcnR1c2VyaGlzdG9yeX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZXhwb3J0dXNlcmhpc3Rvcnl9Jm5ic3A7eyRidXR0b25fZXhwb3J0dXNlcmhpc3Rvcnl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2NsZWFydXNlcmhpc3Rvcnl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NsZWFydXNlcmhpc3Rvcnl9Jm5ic3A7eyRidXR0b25fY2xlYXJ1c2VyaGlzdG9yeX08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/edituserprops.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BuYW1lfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcHJvcG5hbWV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3B2YWx1ZX08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb3B2YWx1ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW5wYXJhbXN9eyRzdWJtaXR9PC9wPgogIDwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgaXNzZXQoJG1lc3NhZ2UpfTxwPnskbWVzc2FnZX08L3A+ey9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/forgotpw_templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxwPnskcHJvbXB0X3RlbXBsYXRlMX08L3A+CnskaW5wdXRfdGVtcGxhdGUxfQo8YnIvPgo8cD57JHByb21wdF90ZW1wbGF0ZTJ9PC9wPgp7JGlucHV0X3RlbXBsYXRlMn0KPGJyLz4Ke2lmIGlzc2V0KCRwcm9tcHRfdGVtcGxhdGUzKX0KPHA+eyRwcm9tcHRfdGVtcGxhdGUzfTwvcD4KeyRpbnB1dF90ZW1wbGF0ZTN9Cjxici8+CnsvaWZ9Cnskc3VibWl0fXskZGVmYXVsdHN9CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/grouplist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CntpZiAhaXNzZXQoJGl0ZW1jb3VudCkgfQo8cD4wJm5ic3A7eyRncm91cHNmb3VuZH08L3A+CntlbHNlfQo8cD57JGl0ZW1jb3VudH0mbmJzcDt7JGdyb3Vwc2ZvdW5kfTwvcD4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCB3aWR0aD0iNSUiPnskaWR0ZXh0fTwvdGg+CgkJCTx0aD57JG5hbWV0ZXh0fTwvdGg+CgkJCTx0aD57JGRlc2N0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlc2N9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmV4cG9ydGxpbmspfXskZW50cnktPmV4cG9ydGxpbmt9ey9pZn08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmRlbGV0ZWxpbmspfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4Ke2lmICRwcm9wY291bnQgPiAwfXskYWRkbGlua30mbmJzcDt7L2lmfQp7aWYgaXNzZXQoJGV4cG9ydGxpbmspfXskZXhwb3J0bGlua30mbmJzcDt7L2lmfQp7JGltcG9ydGxpbmt9CjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/templates/group_xml.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgZmV1X2dyb3VwIFsKICA8IUVMRU1FTlQgZmV1X2dyb3VwIChncnBfbmFtZSxncnBfZGVzY3JpcHRpb24scHJvcGVydHkqKT4KICA8IUVMRU1FTlQgZ3JwX25hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBncnBfZGVzY3JpcHRpb24gKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wZXJ0eSAocHJvcF9uYW1lLHByb3BfcHJvbXB0LHByb3BfdHlwZSxwcm9wX29wdGlvbj8scHJvcF9sZW5ndGg/LHByb3BfbWF4bGVuZ3RoPyxwcm9wX3NvcnRvcmRlcixwcm9wX3N0YXR1cyxwcm9wX2xvc3R1bmZsYWcpPgogIDwhRUxFTUVOVCBwcm9wX25hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wX3Byb21wdCAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3BfdHlwZSAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3Bfb3B0aW9uIChvcF9uYW1lLG9wX3RleHQpPgogIDwhRUxFTUVOVCBwcm9wX2xlbmd0aCAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3BfbWF4bGVuZ3RoICgjUENEQVRBKT4KICA8IUVMRU1FTlQgcHJvcF9zb3J0b3JkZXIgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBwcm9wX3N0YXR1cyAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByb3BfbG9zdHVuZmxhZyAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIG9wX25hbWUgKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBvcF90ZXh0ICgjUENEQVRBKT4KXT4KPGZldV9ncm91cD4KICA8Z3JwX25hbWU+eyRncm91cF9uYW1lfTwvZ3JwX25hbWU+CiAgPGdycF9kZXNjcmlwdGlvbj57JGdyb3VwX2Rlc2NyaXB0aW9ufTwvZ3JwX2Rlc2NyaXB0aW9uPgp7Zm9yZWFjaCBmcm9tPSRwcm9wZXJ0aWVzIGl0ZW09J3Byb3AnfQogIDxwcm9wZXJ0eT4KICAgIDxwcm9wX25hbWU+eyRwcm9wLT5uYW1lfTwvcHJvcF9uYW1lPgogICAgPHByb3BfcHJvbXB0PnskcHJvcC0+cHJvbXB0fTwvcHJvcF9wcm9tcHQ+CiAgICA8cHJvcF90eXBlPnskcHJvcC0+dHlwZX08L3Byb3BfdHlwZT4KICAgIHtmb3JlYWNoIGZyb209JHByb3AtPm9wdGlvbnMgaXRlbT0nb3B0aW9uJ30KICAgIDxwcm9wX29wdGlvbj4KICAgICAgPG9wX25hbWU+eyRvcHRpb24tPm5hbWV9PC9vcF9uYW1lPgogICAgICA8b3BfdGV4dD57JG9wdGlvbi0+dGV4dH08L29wX3RleHQ+CiAgICA8L3Byb3Bfb3B0aW9uPgogICAgey9mb3JlYWNofQogICAge2lmIGlzc2V0KCRwcm9wLT5sZW5ndGgpfQogICAgPHByb3BfbGVuZ3RoPnskcHJvcC0+bGVuZ3RofTwvcHJvcF9sZW5ndGg+CiAgICB7L2lmfQogICAge2lmIGlzc2V0KCRwcm9wLT5tYXhsZW5ndGgpfQogICAgPHByb3BfbWF4bGVuZ3RoPnskcHJvcC0+bWF4bGVuZ3RofTwvcHJvcF9tYXhsZW5ndGg+CiAgICB7L2lmfQogICAgPHByb3Bfc29ydG9yZGVyPnskcHJvcC0+c29ydG9yZGVyfTwvcHJvcF9zb3J0b3JkZXI+CiAgICA8cHJvcF9zdGF0dXM+eyRwcm9wLT5zdGF0dXN9PC9wcm9wX3N0YXR1cz4KICAgIDxwcm9wX2xvc3R1bmZsYWc+eyRwcm9wLT5sb3N0dW5mbGFnfTwvcHJvcF9sb3N0dW5mbGFnPgogIDwvcHJvcGVydHk+CnsvZm9yZWFjaH0KPC9mZXVfZ3JvdXA+]]></data>
	</file>
	<file>
	  <filename>/templates/importgroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZmlsZW5hbWV9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWxlbmFtZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbmV3bmFtZX08L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25ld25hbWV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fSZuYnNwO3skY2FuY2VsfTwvcD4KICA8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/lostun_templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxwPnskcHJvbXB0X3RlbXBsYXRlMX08L3A+CnskaW5wdXRfdGVtcGxhdGUxfQo8YnIvPgo8cD57JHByb21wdF90ZW1wbGF0ZTJ9PC9wPgp7JGlucHV0X3RlbXBsYXRlMn0KPGJyLz4KeyRzdWJtaXR9eyRkZWZhdWx0c30KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_changesettings.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBjaGFuZ2Ugc2V0dGluZ3MgdGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiAkbWVzc2FnZSAhPSAnJ30KICB7aWYgJGVycm9yICE9ICcnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQoge2lmICRjb250cm9sY291bnQgPiAwfQogIDxjZW50ZXI+CiAgPHRhYmxlIHdpZHRoPSI3NSUiPgogICAgIHtmb3JlYWNoIGZyb209JGNvbnRyb2xzIGl0ZW09Y29udHJvbH0KICA8dHI+CiAgICAgPHRkPnskY29udHJvbC0+aGlkZGVufTxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PjwvdGQ+CiAgICAgPHRkPgogICAgICAge2lmIGlzc2V0KCRjb250cm9sLT5pbWFnZSl9eyRjb250cm9sLT5pbWFnZX08YnIvPnsvaWZ9CiAgICAgICB7JGNvbnRyb2wtPmNvbnRyb2x9eyRjb250cm9sLT5hZGR0ZXh0fQogICAgICAge2lmICRjb250cm9sLT5yZXF1aXJlZCAhPSB0cnVlfQogICAgICAgICB7aWYgaXNzZXQoJGNvbnRyb2wtPmNvbnRyb2wyKX17JGNvbnRyb2wtPnByb21wdDJ9Jm5ic3A7eyRjb250cm9sLT5jb250cm9sMn08YnIvPnsvaWZ9CiAgICAgICB7L2lmfQogICAgIDwvdGQ+CiAgPC90cj4KIHsvZm9yZWFjaH0KICA8L3RhYmxlPgogIDwvY2VudGVyPgogey9pZn0KIHskaGlkZGVufXskaGlkZGVuMn17JHN1Ym1pdH17JGNhbmNlbH0KeyRlbmRmb3JtfQo8IS0tIGNoYW5nZSBzZXR0aW5ncyB0ZW1wbGF0ZSAtLT4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_forgotpassword1.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBmb3Jnb3QgcGFzc3dvcmQgdGVtcGxhdGUgLS0+Cnskc3RhcnRmb3JtfQp7JHRpdGxlfQp7aWYgIWVtcHR5KCRtZXNzYWdlKSB9CiAge2lmICFlbXB0eSgkZXJyb3IpIH0KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQo8cD57JGxvc3Rwd19tZXNzYWdlfTwvcD4KPHA+eyRwcm9tcHRfdXNlcm5hbWV9Jm5ic3A7eyRpbnB1dF91c2VybmFtZX08L3A+CjxwPnskaGlkZGVufXskc3VibWl0fSZuYnNweyRjYW5jZWx9PC9wPgp7JGVuZGZvcm19CjwhLS0gZm9yZ290IHBhc3N3b3JkIHRlbXBsYXRlIC0tPiAK]]></data>
	</file>
	<file>
	  <filename>/templates/orig_forgotpassword3.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBmb3Jnb3QgcGFzc3dvcmQgdmVyaWZpY2F0aW9uIHRlbXBsYXRlIC0tPgp7JHN0YXJ0Zm9ybX0KeyR0aXRsZX0Ke2lmICFlbXB0eSgkbWVzc2FnZSl9CiAge2lmICFlbXB0eSgkZXJyb3IpIH0KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQo8cD57JHByb21wdF91c2VybmFtZX0mbmJzcDt7JGlucHV0X3VzZXJuYW1lfTwvcD4KPHA+eyRwcm9tcHRfY29kZX0mbmJzcDt7JGlucHV0X2NvZGV9PC9wPgo8cD57JHByb21wdF9wYXNzd29yZH0mbmJzcDt7JGlucHV0X3Bhc3N3b3JkfTwvcD4KPHA+eyRwcm9tcHRfcmVwZWF0cGFzc3dvcmR9Jm5ic3A7eyRpbnB1dF9yZXBlYXRwYXNzd29yZH08L3A+CjxwPnskaGlkZGVufXskc3VibWl0fTwvcD4KeyRlbmRmb3JtfQo8IS0tIGZvcmdvdCBwYXNzd29yZCB2ZXJpZmljYXRpb24gdGVtcGxhdGUgLS0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_loginform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBMb2dpbiBmb3JtIHRlbXBsYXRlIC0tPgo8IS0tIHRoaXMgaXMgYSBzYW1wbGUgdGVtcGxhdGUsIGZlZWwgZnJlZSB0byBjdXN0b21pemUgaXQgLS0+CiA8Zm9udCBzaXplPSItMiIvPgogeyRzdGFydGZvcm19CiB7aWYgJGVycm9yfQogIHskZXJyb3J9PGJyPgogey9pZn0KICA8cD57JHByb21wdF91c2VybmFtZX0mbmJzcDt7JGlucHV0X3VzZXJuYW1lfSZuYnNwO3skcHJvbXB0X3Bhc3N3b3JkfSZuYnNwOwogIHskaW5wdXRfcGFzc3dvcmR9PGJyLz4KIHtpZiBpc3NldCgkY2FwdGNoYSl9CiAgeyRjYXB0Y2hhX3RpdGxlfTogeyRpbnB1dF9jYXB0Y2hhfTxici8+CiAgeyRjYXB0Y2hhfTxici8+CiB7L2lmfQogIHtpZiBpc3NldCgkaW5wdXRfcmVtZW1iZXJtZSl9CiAgICB7JGlucHV0X3JlbWVtYmVybWV9Jm5ic3A7eyRwcm9tcHRfcmVtZW1iZXJtZX08YnIvPgogIHsvaWZ9CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRmZXVhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnbG9naW4nKX0iLz48YnIvPgogIDxhIGhyZWY9InskdXJsX2ZvcmdvdH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19mb3Jnb3RwdycpfSI+eyRtb2QtPkxhbmcoJ2ZvcmdvdHB3Jyl9PC9hPjxici8+CiAgPGEgaHJlZj0ieyR1cmxfbG9zdHVufSIgdGl0bGU9InskbW9kLT5MYW5nKCdpbmZvX2xvc3R1bicpfSI+eyRtb2QtPkxhbmcoJ2xvc3R1c2VybmFtZScpfTwvYT48L3A+CnskZW5kZm9ybX0KICA8L2ZvbnQ+CjwhLS0gTG9naW4gZm9ybSB0ZW1wbGF0ZSAtLT4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_lostunform_confirm_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbG9zdCB1c2VybmFtZSBjb25maXJtIHRlbXBsYXRlIGZvcm0gKn0KPHA+eyRwcmVtc2d9PC9wPgo8cD57JHByb21wdF95b3VydXNlcm5hbWVpc306IDxzdHJvbmc+eyR1c2VybmFtZX08L3N0cm9uZz4uPC9wPgo8cD57JHBvc3Rtc2d9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_lostunform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbG9zdCB1c2VybmFtZSBjb25maXJtIHRlbXBsYXRlIGZvcm0gKn0KPGg0PnskdGl0bGV9PC9oND4Ke2lmIGlzc2V0KCRtZXNzYWdlKX08aDUgY2xhc3M9ImVycm9yIj57JG1lc3NhZ2V9PC9oNT57L2lmfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9CiAgeyRzdGFydGZvcm19eyRoaWRkZW59CiAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KICAgICAgPGRpdiBjbGFzcz0icGFnZV9wcm9tcHQiPnskcHJvbXB0X3Bhc3N3b3JkfTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlX2lucHV0Ij57JGlucHV0X3Bhc3N3b3JkfTwvZGl2PgogICAgPC9kaXY+CiAgICB7Zm9yZWFjaCBmcm9tPSRjb250cm9scyBpdGVtPSdlbnRyeSd9CiAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VfcHJvbXB0Ij57JGVudHJ5LT5oaWRkZW59eyRlbnRyeS0+cHJvbXB0fTwvZGl2CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlX2lucHV0Ij57JGVudHJ5LT5jb250cm9sfXskZW50cnktPmFkZHRleHR9PC9kaXY+CiAgICAgICA8L2Rpdj4KICAgIHsvZm9yZWFjaH0KICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPnskc3VibWl0fXskY2FuY2VsfTwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZXJvdyI+CiAgICAgICB7JGNhcHRjaGFfdGl0bGV9eyRpbnB1dF9jYXB0Y2hhfXskY2FwdGNoYX0KICAgIDwvZGl2PgogIHskZW5kZm9ybX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_notification_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIGhvdyBub3RpZmljYXRpb24gZW1haWxzIHdpbGwgYmUgc2VudCAqfQp7KiB0aGUgc2FtZSB0ZW1wbGF0ZSBpcyB1c2VkIGZvciBhbGwgbm90aWZpY2F0aW9uIGV2ZW50cyBzbyB5b3UgbWF5IG5lZWQgCiAgIHRvIHRocm93IGluIHNvbWUgbG9naWMgaGVyZSB0byBkaXNwbGF5IGFsbCBvZiB0aGUgaW5mb3JtYXRpb24geW91IHdhbnQKICAgaW4gZWFjaCBlbWFpbC4gKn0KeyogYWxsIHNtYXJ0eSB2YXJpYWJsZXMgY2FuIGJlIHVzZWQgaW4gdGhpcyB0ZW1wbGF0ZSwgaW5jbHVkaW5nIGZ1bmN0aW9ucwogICBmcm9tIGN1c3RvbWNvbnRlbnQgZm9yIGZyb250ZW5kIGdlbmVyYXRlZCBldmVudHMgKn0KeyogSSBlbmNvdXJhZ2UgeW91IHRvIHVzZSB0aGUge2dldF90ZW1wbGF0ZV92YXJzfSBzbWFydHkgcGx1Z2luIGFuZCB0aGUKICAgcHJpbnRfciBzbWFydHkgbW9kaWZpZXIgdG8gc2VlIHdoYXQgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgKn0KCntnZXRfdGVtcGxhdGVfdmFyc30=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_viewuser_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdmlldyB1c2VyIHRlbXBsYXRlICp9CjxwPnskZmV1LT5MYW5nKCdpZCcpfTombmJzcDt7JHVzZXJpbmZvLmlkfTwvcD4KPHA+eyRmZXUtPkxhbmcoJ3VzZXJuYW1lJyl9OiZuYnNwO3skdXNlcmluZm8udXNlcm5hbWV9PC9wPgo8cD57JGZldS0+TGFuZygnZXhwaXJlcycpfTombmJzcDt7JHVzZXJpbmZvLmV4cGlyZXN9PC9wPgp7Zm9yZWFjaCBmcm9tPSR1c2VyX3Byb3BlcnRpZXMgaXRlbT0nZW50cnknfQp7aWYgJGVudHJ5LnR5cGUgIT0gMH0KPHA+eyRlbnRyeS5wcm9tcHR9OiZuYnNwO3skZW50cnkuZGF0YX08L3A+CnsvaWZ9CnsvZm9yZWFjaH0K]]></data>
	</file>
	<file>
	  <filename>/templates/propertiesform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSB9CiAge2lmIGlzc2V0KCRlcnJvcikgfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxwPnskcHJvcGNvdW50fSZuYnNwO3skcHJvcHNmb3VuZH08L3A+CntpZiAkcHJvcGNvdW50ID4gMH0KPGJyLz4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JG5hbWV0ZXh0fTwvdGg+CgkJCTx0aD57JHByb21wdHRleHR9PC90aD4KCQkJPHRoPnskdHlwZXRleHR9PC90aD4KCQkJPHRoPnskbGVuZ3RodGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRwcm9wcyBpdGVtPXByb3BlfQoJCTx0ciBjbGFzcz0ieyRwcm9wZS0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskcHJvcGUtPm5hbWV9PC90ZD4KCQkJPHRkPnskcHJvcGUtPnByb21wdH08L3RkPgoJCQk8dGQ+eyRwcm9wZS0+dHlwZX08L3RkPgoJCQk8dGQ+eyRwcm9wZS0+bGVuZ3RofTwvdGQ+CgkJCTx0ZD57JHByb3BlLT5lZGl0bGlua308L3RkPgoJCQk8dGQ+e2lmIGlzc2V0KCRwcm9wZS0+ZGVsZXRlbGluayl9eyRwcm9wZS0+ZGVsZXRlbGlua317L2lmfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KPC9kaXY+Cjxici8+CjxwPnskYWRkbGlua308L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxwPnskcHJvbXB0X3RlbXBsYXRlfTwvcD4KeyRpbnB1dF90ZW1wbGF0ZX0KPGJyLz4KeyRzdWJtaXR9eyRkZWZhdWx0c30KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/userhistory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKX0KICB7aWYgaXNzZXQoJGVycm9yKX0KICAgIDxmb250IGNvbG9yPSJyZWQiPjxoND57JG1lc3NhZ2V9PC9oND48L2ZvbnQ+CiAge2Vsc2V9CiAgICA8aDQ+eyRtZXNzYWdlfTwvaDQ+CiAgey9pZn0Key9pZn0KCntpZiAhaXNzZXQoJG11bHRpdXNlcil9CjxoND57JHRpdGxlX3VzZXJoaXN0b3J5fSZuYnNwO3skZm9yfSZuYnNwO3skdXNlcl91c2VybmFtZX08L2g0Pgp7L2lmfQp7JGZvcm1zdGFydH0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskdGl0bGVfbGVnZW5kX2ZpbHRlcn08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZmlsdGVyX2V2ZW50dHlwZX06PC9wPgogICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmlsdGVyX2V2ZW50dHlwZX08L3A+CiAgPC9kaXY+CntpZiBpc3NldCgkbXVsdGl1c2VyKX0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXNlcm5hbWVfcmVnZXh9OjwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VzZXJuYW1lX3JlZ2V4fTwvcD4KICA8L2Rpdj4Key9pZn0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZmlsdGVyX2RhdGV9OjwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbHRlcl9kYXRlfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcGFnZWxpbWl0fTo8L3A+CiAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYWdlbGltaXR9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0Pgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyR0aXRsZV9sZWdlbmRfZ3JvdXBzb3J0fTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ncm91cF9pcH06PC9wPgogICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZ3JvdXBfaXB9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zb3J0b3JkZXJ9OjwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRvcmRlcn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH0mbmJzcDt7JHJlc2V0fTwvcD4KICA8L2Rpdj4KeyRmb3JtZW5kfQoKPHA+eyRyZWNvcmRjb3VudH0mbmJzcDt7JHByb21wdF9yZWNvcmRzZm91bmR9PC9wPgp7aWYgJGl0ZW1jb3VudCA+IDB9CntpZiAkcGFnZWNvdW50ID4gMX0KICA8cD4Ke2lmICRwYWdlbnVtYmVyID4gMX0KeyRmaXJzdHBhZ2V9Jm5ic3A7eyRwcmV2cGFnZX0mbmJzcDsKey9pZn0KeyRwYWdlbnVtYmVyfSZuYnNwO3skb2Z0ZXh0fSZuYnNwO3skcGFnZWNvdW50fQp7aWYgJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50fQombmJzcDt7JG5leHRwYWdlfSZuYnNwO3skbGFzdHBhZ2V9CnsvaWZ9CjwvcD4Key9pZn0KPGJyLz4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CntpZiBpc3NldCgkbXVsdGl1c2VyKX0KCTx0aD57JHByb21wdF91c2VybmFtZX08L3RoPgp7L2lmfQoJPHRoPnskcHJvbXB0X2lwYWRkcmVzc308L3RoPgoJPHRoPnskcHJvbXB0X2FjdGlvbn08L3RoPgoJPHRoPnskcHJvbXB0X3JlZmRhdGV9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgp7aWYgaXNzZXQoJG11bHRpdXNlcil9CiAgICAgICAgPHRkPnskZW50cnktPnVzZXJuYW1lfTwvdGQ+CnsvaWZ9Cgk8dGQ+eyRlbnRyeS0+aXBhZGRyZXNzfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+YWN0aW9ufTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+cmVmZGF0ZXxkYXRlX2Zvcm1hdDoiJWIgJWUsICVZIC0gJVgifTwvdGQ+CiAgPC90cj4JIAp7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/userlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPjxzdHJvbmc+eyRwcm9tcHRfZmlsdGVyfTo8L3N0cm9uZz48L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4mbmJzcDs8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ncm91cH08L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9ncm91cH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91c2VyZmlsdGVyfTwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3JlZ2V4fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BlcnR5ZmlsdGVyc2VsfTwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3Byb3BlcnR5c2VsfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BlcnR5ZmlsdGVyfTwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3Byb3BlcnR5fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2xvZ2dlZGlub25seX08L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9sb2dnZWRpbm9ubHl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbGltaXR9PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRmaWx0ZXJfbGltaXR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIDxwIGNsYXNzPSJwYWdldGV4dCI+PHN0cm9uZz57JHByb21wdF9zb3J0fTo8L3N0cm9uZz48L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4mbmJzcDs8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zb3J0Ynl9PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRmaWx0ZXJfc29ydGJ5fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VsZWN0fXskaW5wdXRfaGlkZGVufTwvcD48YnIvPgo8L2Rpdj4KeyRlbmRmb3JtfQo8aHIgd2lkdGg9IjUwJSIgYWxpZ249ImxlZnQiLz4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogPHA+eyRudW11c2Vyc30mbmJzcDt7JHVzZXJzaW5ncm91cH08L3A+CiA8cD57JGl0ZW1jb3VudH0mbmJzcDt7JHVzZXJzZm91bmR9PC9wPgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyR1c2VybmFtZXRleHR9PC90aD4KCQkJPHRoPnskY3JlYXRlZHRleHR9PC90aD4KCQkJPHRoPnskZXhwaXJlc3RleHR9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CgkJCTx0ZD57JGVudHJ5LT51c2VybmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+Y3JlYXRlZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZXhwaXJlc308L3RkPgoJCQk8dGQ+e2lmIGlzc2V0KCRlbnRyeS0+bG9nb3V0bGluayl9eyRlbnRyeS0+bG9nb3V0bGlua317L2lmfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5oaXN0b3J5bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPntpZiBpc3NldCgkZW50cnktPmRlbGV0ZWxpbmspfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPgoJCTwvdHI+CSAKey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KIDxwPnskYWRkbGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/viewuser_templateform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZTF9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RlbXBsYXRlMX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fSZuYnNwO3skZGVmYXVsdHN9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/UserManipulator.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgZnJvbnRlbmQKIyAgdXNlcnMsIGFuZCB0aGVpciBsb2dpbiBwcm9jZXNzIHdpdGhpbiBhIENNUyBNYWRlIFNpbXBsZSBwb3dlcmVkIAojICB3ZWJzaXRlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgVXNlck1hbmlwdWxhdG9yCnsKICB2YXIgJG1vZDsKCiAgLy8KICAvLyBJbnRlcm5hbHMKICAvLwoKICBmdW5jdGlvbiBVc2VyTWFuaXB1bGF0b3IoICYkdGhlX21vZHVsZSApCiAgewogICAgJHRoaXMtPm1vZCA9JiAkdGhlX21vZHVsZTsKICB9CgoKICBmdW5jdGlvbiAmR2V0RGIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+bW9kLT5HZXREYigpOwogIH0KCgogIGZ1bmN0aW9uIEdldE1vZHVsZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5tb2Q7CiAgfQoKCiAgLy8KICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgLy8KCiAgZnVuY3Rpb24gQWRkR3JvdXBQcm9wZXJ0eVJlbGF0aW9uKCAkZ3JwaWQsICRwcm9wbmFtZSwgJHNvcnRrZXksICRsb3N0dW4sICR2YWwgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkIik7CiAgfQoKICAvLyEgQWRkIGEgc2luZ2xlIHByb3BlcnR5IGRlZmluaXRpb24KICAvLyEgXHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5CiAgLy8hIFxwYXJhbSBwcm9tcHQgVGhlIHByb21wdCB0byBkaXNwbGF5IHRvIHRoZSB1c2VyCiAgLy8hICAgICAgIG5vdGUsIHRoaXMgd2lsbCBiZSBMYW5naWZpZWQKICAvLyEgXHBhcmFtIHR5cGUgIFRoZSB0eXBlIG9mIHRoZSBwcm9wZXJ0eQogIC8vISAgICAgICAwID0gdGV4dCwgMSA9IGNoZWNrYm94LCAyID0gZW1haWwKICAvLyEgXHBhcmFtIHJlcXVpcmVkIHdldGhlciBvciBub3QgdGhlIHByb3BlcnR5IGlzIHJlcXVpcmVkCiAgLy8hIFxyZXR1cm4gQW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGlzIGEgYm9vbGVhbiB3aGljaCBpbmRpY2F0ZXMgc3VjY2VzcyBvciBmYWlsdXJlLCB0aGUKICAvLyEgICAgc2Vjb25kIGVsZW1lbnQgKG9wdGlvbmFsKSBjb250YWlucyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBldmVudCBvZiBhbiBlcnJvci4KICAvLyEKICBmdW5jdGlvbiBBZGRQcm9wZXJ0eURlZm4oICRuYW1lLCAkcHJvbXB0LCAkdHlwZSwgJGxlbmd0aCApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJOb3QgSW1wbGVtZW50ZWQiKTsKICB9CgogIC8vISBBZGQgYSBuZXcgZ3JvdXAKICAvLyEKICAvLyEgQWRkcyBhIG5ldyBncm91cCB3aXRoIHRoZSBzdXBwbGllZCBuYW1lIGFuZCBkZXNjcmlwdGlvbgogIC8vIQogIC8vISBccGFyYW0gbmFtZSBUaGUgbmV3IGdyb3VwIG5hbWUKICAvLyEgXHBhcmFtIGRlc2NyaXB0aW9uIHRoZSBncm91cCBkZXNjcmlwdGlvbgogIC8vISBccmV0dXJuIGFuIGFycmF5LCB0aGUgZmlyc3QgZWxlbWVudCBpcyBhIGRlc2NyaXB0aW9uIGRlc2NyaWJpbmcgdGhlIHJldHVybiBzdGF0dXMgCiAgLy8hICAgICh0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yKS4gIFRoZSBzZWNvbmQgZWxlbWVudCAob3B0aW9uYWwpIGlzIGFuIGVycm9yIHN0cmluZyBpbiB0aGUgCiAgLy8hICAgIGV2ZW50IG9mIGFuIGVycm9yLgogIC8vIQogIGZ1bmN0aW9uIEFkZEdyb3VwKCAkbmFtZSwgJGRlc2NyaXB0aW9uICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBkZWZpbmVkIik7CiAgfQoKICAvLyEgQWRkIGEgbmV3IHVzZXIKICAvLyEKICAvLyEgQWRkIHRoZSBzcGVjaWZpZWQgdXNlciB0byB0aGUgZGF0YWJhc2UKICAvLyEKICAvLyEgXHBhcmFtIG5hbWUgVGhlIGRlc2lyZWQgdXNlcm5hbWUKICAvLyEgXHBhcmFtIHBhc3N3b3JkIFRoZSBkZXNpcmVkIHBhc3N3b3JkICh1bmVuY3J5cHRlZCkKICAvLyEgXHBhcmFtIGV4cGlyZXMgVGhlIGV4cGlyeSBkYXRlCiAgLy8hIFxyZXR1cm4gYW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGlzIGEgZGVzY3JpcHRpb24gZGVzY3JpYmluZyB0aGUgcmV0dXJuIHN0YXR1cyAKICAvLyEgICAgKHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZXJyb3IpLiAgVGhlIHNlY29uZCBlbGVtZW50IChvcHRpb25hbCkgaXMgYW4gZXJyb3Igc3RyaW5nIGluIHRoZSAKICAvLyEgICAgZXZlbnQgb2YgYW4gZXJyb3IsIG9yIHRoZSB1c2VyaWQgb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gQWRkVXNlciggJG5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXMgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGRlZmluZWQiKTsKICB9CgogIC8vISBDaGVjayBpZiB0aGUgc3BlY2lmaWVkIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbgogIC8vISBBc3NpZ24gdGhlIHVzZXIgc3BlY2lmaWVkIChieSBpZCkgdG8gdGhlIGdyb3VwIHNwZWNpZmllZCAoYnkgaWQpCiAgLy8hCiAgLy8hXHBhcmFtICB1aWQgIFRoZSB1c2VyaWQgZm9yIHRoZSBuZXcgYXNzb2NpYXRpb24KICAvLyFccGFyYW0gIGdpZCAgVGhlIGdyb3VwIGlkIGZvciB0aGUgbmV3IGFzc29jaWF0aW9uCiAgLy8hXHJldHVybiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIEFzc2lnblVzZXJUb0dyb3VwKCAkdWlkLCAkZ2lkICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgQ2hlY2sgaWYgdGhlIGdyb3VwIHNwZWNpZmllZCBoYXMgdGhlIHJlcXVpcmVkIHBlcm1pc3Npb24KICBmdW5jdGlvbiBDaGVja0dyb3VwUGVybWlzc2lvbiggJGdpZCwgJHBlcm0gKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBDaGVjayB0aGUgc3VwcGxpZWQgcGFzc3dvcmQgYW5kIGVuc3VyZSBpdCBtYWNoZXMgdGhlIG9uZSBpbiB0aGUgZGF0YWJhc2UKICAvLyEKICAvLyFccGFyYW1zIHVzZXJuYW1lIFRoZSB1c2VybmFtZSB0byB0ZXN0IGZvcgogIC8vIVxwYXJhbXMgcGFzc3dvcmQgVGhlIHBhc3N3b3JkIHRvIHRlc3QKICAvLyFccmV0dXJuIHRydWUgaWYgcGFzc3dvcmRzIG1hdGNoLCBmYWxzZSBvdGhlcndpc2UuCiAgLy8hCiAgZnVuY3Rpb24gQ2hlY2tQYXNzd29yZCgkdXNlcm5hbWUsJHBhc3N3b3JkKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgQ2hlY2sgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbgogIGZ1bmN0aW9uIENoZWNrVXNlclBlcm1pc3Npb24oICRwZXJtICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBDaGVja1VzZXJQZXJtaXNzaW9uQnlVaWQoICR1aWQsICRwZXJtICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBDb3VudFRlbXBDb2RlUmVjb3JkcygpCiAgewogICAgcmV0dXJuIDA7CiAgfQoKICAKICBmdW5jdGlvbiBEZWxldGVBbGxHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkZ3JwaWQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkIik7CiAgfQoKICAvLyEgRGVsZXRlIGFsbCBvZiB0aGUgY3VycmVudCB1c2VycyBwcm9wZXJ0aWVzCiAgLy8hCiAgLy8hIFxyZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UKICAvLyEKICBmdW5jdGlvbiBEZWxldGVBbGxVc2VyUHJvcGVydGllcygpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBEZWxldGUgQWxsIHByb3BlcnRpZXMgZm9yIGEgc3BlY2lmaWVkIHVzZXIgaWQKICAvLyEKICAvLyEgXHBhcmFtIHVzZXJpZAogIC8vISBccmV0dXJuIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gRGVsZXRlQWxsVXNlclByb3BlcnRpZXNGdWxsKCR1c2VyaWQpIAogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBEZWxldGUgdGhlIHNwZWNpZmllZCBncm91cAogIC8vIQogIC8vISBEZWxldGUgdGhlIGdyb3VwIHJlY29yZCBmb3IgdGhlIG1hdGNoaW5kIGlkCiAgLy8hCiAgLy8hIFxyZXR1cm4gYW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGlzIGEgZGVzY3JpcHRpb24gZGVzY3JpYmluZyB0aGUgcmV0dXJuIHN0YXR1cyAKICAvLyEgICAgKHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZXJyb3IpLiAgVGhlIHNlY29uZCBlbGVtZW50IChvcHRpb25hbCkgaXMgYW4gZXJyb3Igc3RyaW5nIGluIHRoZSAKICAvLyEgICAgZXZlbnQgb2YgYW4gZXJyb3IuCiAgLy8hCiAgZnVuY3Rpb24gRGVsZXRlR3JvdXBGdWxsKCAkaWQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGRlZmluZWQiKTsKICB9CgogIGZ1bmN0aW9uIERlbGV0ZUdyb3VwUHJvcGVydHlSZWxhdGlvbiggJGdycGlkLCAkcHJvcG5hbWUgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkIik7CiAgfQoKICBmdW5jdGlvbiBEZWxldGVQcm9wZXJ0eURlZm4oICRuYW1lICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgRGVsZXRlIGFsbCBwcm9wZXJ0eSBkZWZpbml0aW9ucyAodXNlIHdpdGggY2F1dGlvbikKICBmdW5jdGlvbiBEZWxldGVQcm9wZXJ0eURlZm5zKCkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIk5vdCBJbXBsZW1lbnRlZCIpOwogIH0KCiAgLy8hIERlbGV0ZSB0aGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgaWQKICAvLyEgXG5vdGUgVGhpcyBpcyBhIGRlcHJlY2F0ZWQgZnVuY3Rpb24gYXMgaXQgcmVsaWVzIG9uIHRoZSB1c2VyaWQgYmVpbmcgc2V0IGluIHRoZSBfR0VUCiAgLy8hIHZhcmlhYmxlLgogIC8vIQogIGZ1bmN0aW9uIERlbGV0ZVVzZXIoJGlkKSAgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIENvbXBsZXRlbHkgZGVsZXRlIGFsbCByZWZlcmVuY2VzIHRvIHRoZSBzdXBwbGllZCB1c2VyIGlkCiAgLy8hCiAgLy8hVGhpcyBtZXRob2QgY29tcGxldGVseSBkZWxldGVzIGFueXRoaW5nIGZyb20gdGhlIGRhdGFiYXNlIHJlbGF0ZWQgdG8gdGhlIHNwZWNpZmllZCB1c2VyIGlkLgogIC8vIXNwZWNpZmljYWxseSwgZ3JvdXAgYXNzb2NpYXRpb25zLCBwcm9wZXJ0aWVzLCBhbmQgdGhlIHVzZXIgcmVjb3JkIGl0c2VsZi4KICAvLyEKICAvLyFccGFyYW0gdWlkIHRoZSB1c2VyaWQgdG8gZGVsZXRlIGFsbCByZWZlcmVuY2VzIHRvCiAgLy8hXHJldHVybiBhcnJheSwgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGFycmF5IGlzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KICAvLyEgICBpZiB0aGUgZmlyc3QgZWxlbWVudCBpcyBmYWxzZSwgdGhlbiB0aGUgc2Vjb25kIGVsZW1lbnQgd2lsbCBjb250YWluIGFuIGVycm9yIG1lc3NhZ2UuCiAgLy8hCiAgZnVuY3Rpb24gRGVsZXRlVXNlckZ1bGwoICR1aWQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiTm8gZnVuY3Rpb24gZGVmaW5lZCIpOwogIH0KCgogIC8vISBEZWxldGUgYSBwcm9wZXJ0eSBmb3IgdGhlIGN1cnJlbnQgdXNlcgogIC8vIQogIC8vISBSZW1vdmUgYSBwcm9wZXJ0eSBmcm9tIHRoZSBkYXRhYmFzZSBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcgogIC8vIQogIC8vISBccGFyYW0gdGl0bGUgVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIGRlbGV0ZQogIC8vISBccGFyYW0gYWxsICAgT3B0aW9uYWxseSBkZWxldGUgYWxsIHByb3BlcnRpZXMgZm9yIHRoaXMgdXNlciAgCiAgLy8hIFxyZXR1cm5zIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb3Rod2VyaXNlbgogIC8vIQogIGZ1bmN0aW9uIERlbGV0ZVVzZXJQcm9wZXJ0eSgkdGl0bGUsJGFsbD1mYWxzZSkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIERlbGV0ZSBhIHByb3BlcnR5IGZvciBhIHNwZWNpZmllZCB1c2VyCiAgLy8hCiAgLy8hXHBhcmFtIHRpdGxlIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBkZWxldGUKICAvLyFccGFyYW0gdXNlcmlkIFRoZSBpZCB0byBkZWxldGUgdGhlIHByb3BlcnR5IGZvcgogIC8vIVxwYXJhbSBhbGwgKG9wdGlvbmFsKSBEZWxldGUgYWxsIHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgdXNlcmlkLgogIC8vIVxyZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UuCiAgLy8hCiAgZnVuY3Rpb24gRGVsZXRlVXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJHVzZXJpZCwkYWxsPWZhbHNlKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvKiBleHBpcnljb2RlIGlzIGEgc3RydG90aW1lIHN0cmluZyAqLwogIGZ1bmN0aW9uIEV4cGlyZVRlbXBDb2RlcygkZXhwaXJ5Y29kZSkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgRXhwaXJlIGFueSBhbmQgYWxsIHVzZXJzIHRoYXQgaGF2ZSBiZWVuIGF3YXkgZm9yIHRvbyBsb25nCiAgZnVuY3Rpb24gRXhwaXJlVXNlcnMoKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IHRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSB1c2VyIHdpdGggdGhlIHNwZWNpZmllZCBpZAogIC8vIQogIC8vIVxyZXR1cm4gRW1haWwgYWRkcmVzcywgb3IgZmFsc2UKICAvLyEKICBmdW5jdGlvbiBHZXRFbWFpbCgkdXNlcmlkKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2VuZXJhdGUgYSByYW5kb20gKGJ1dCBub3QgdXNlZCkgdXNlcm5hbWUKICAvLyEKICAvLyFcIHJldHVybiB1c2VybmFtZSwgb3IgZmFsc2UKICAvLyEKICBmdW5jdGlvbiBHZW5lcmF0ZVJhbmRvbVVzZXJuYW1lKCAkcHJlZml4ID0gJ3VzZXInICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IHRoZSBncm91cGlkIGdpdmVuIGEgZ3JvdXAgbmFtZQogIC8vIQogIC8vISBccmV0dXJuIGdyb3VwaWQgb3IgZmFsc2UKICAvLyEKICBmdW5jdGlvbiBHZXRHcm91cElEKCRncm91cG5hbWUpCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JvdXAKICAvLyEKICAvLyEgVGhpcyBtZXRob2QgcmV0dXJucyBhbiBhc3NvY2lhdGlvbiB3aXRoIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCAKICAvLyEgZ3JvdXAgaWQKICAvLyEgICAgaWQgPT4gVGhlIHJlcXVlc3RlZCBncm91cCBpZAogIC8vISAgICBncm91cG5hbWUgPT4gVGhlIG5hbWUgb2YgdGhlIGdyb3VwCiAgLy8hICAgIGdyb3VwZGVzYyA9PiBUaGUgZ3JvdXAgZGVzY3JpcHRpb24KICAvLyEKICAvLyEgXHBhcmFtIGdpZCBUaGUgZ3JvdXAgaWQKICAvLyEgXHBhcmFtIGFzc29jaWF0aXZlIGFycmF5LCBvciBhcnJheSB3aXRoIGZpcnN0IGVsZW1lbnQgb2YgZmFsc2UsIHNlY29uZCBlbGVtZW50IGNvbnRhaW5zIGVycm9yIG1lc3NhZ2UKICAvLyEgXHJldHVybiBhbiBhc3NvY2lhdGl2ZSBhcnJheSB3aXRoIGdyb3VwIGluZm8sIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0R3JvdXBJbmZvKCAkZ2lkICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IGEgbGlzdCBvZiBhbGwgb2YgdGhlIGdyb3VwcywgYW5kIHRoZWlyIGlkJ3MKICAvLyEKICAvLyEgXHJldHVybiBhbiBhc3NvY2lhdGl2ZSBhcnJheSBjb250YWluaW5nIGdyb3VwIG5hbWVzIGFzIGtleXMsIGFuZCBpZCdzIGFzIHZhbHVlcwogIC8vIQogIGZ1bmN0aW9uIEdldEdyb3VwTGlzdCgpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQoKICAvLyEgR2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21wbGV0ZSBsaXN0IG9mIGdyb3VwcwogIC8vIQogIC8vISBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIGdyb3VwaW5mbyBhc3NvY2lhdGlvbnMsIHJlcHJlc2VudGluZyBhbGwgb2YgdGhlCiAgLy8hIGdyb3VwcyBpbiB0aGUgdGFibGUuCiAgLy8hCiAgLy8hIFxyZXR1cm5zIGFuIGFycmF5IG9mIGdyb3VwaW5mbyBhc3NvY2lhdGlvbnMKICAvLyEKICBmdW5jdGlvbiBHZXRHcm91cExpc3RGdWxsKCkKICB7CiAgICByZXR1cm4gYXJyYXkoKTsKICB9CgogIC8vISBHZXQgdGhlIGdyb3VwIG5hbWUgZ2l2ZW4gYSBncm91cCBpZAogIC8vIQogIC8vISBccmV0dXJuIGdyb3VwIG5hbWUsIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0R3JvdXBOYW1lKCRncm91cGlkKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IHRoZSBncm91cCBkZXNjcmlwdGlvbiBnaXZlbiBhIGdyb3VwIGlkCiAgLy8hCiAgLy8hIFxyZXR1cm4gZ3JvdXAgZGVzY3JpcHRpb24sIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0R3JvdXBEZXNjKCRncm91cGlkKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIEdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRncnBpZCApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiKTsKICB9CgogIC8vISBHZXQgYSBsaXN0IG9mIHRoZSBncm91cHMgdGhhdCB0aGUgc3BlY2lmaWVkIHVzZXIgYmVsb25ncyB0bwogIC8vIQogIC8vISBSZXR1cm4gYSBzdHJpbmcgb2YgY29tbWEgZGVsaW1pdGVkIGdyb3VwIG5hbWVzLCBjb3JyZXNwb25kaW5nIHRvIHRoZQogIC8vISBncm91cHMgdGhhdCB0aGUgdXNlciBpcyBhIG1lbWJlciBvZgogIC8vIQogIC8vISBccmV0dXJuIGEgY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2YgZ3JvdXAgbmFtZXMsIG9yICJub25lIgogIC8vIQogIGZ1bmN0aW9uIEdldE1lbWJlckdyb3VwcygkdXNlcmlkKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBSZXR1cm4gYSBjb21wbGV0ZSBsaXN0IG9mIHRoZSBncm91cHMgdGhhdCB0aGlzIHVzZXIgYmVsb25ncyB0bwogIC8vIQogIC8vISBSZXR1cm5zIGFuIGFycmF5IG9mIGdyb3VwaW5mbyByZWNvcmRzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdyb3VwcyB0aGF0CiAgLy8hIHRoaXMgdXNlciBpcyBhc3NvY2lhdGVkIHdpdGguCiAgLy8hCiAgLy8hIFxwYXJhbSB1c2VyaWQgVGhlIHVzZXJpZCB0byB0ZXN0CiAgLy8hIFxyZXR1cm4gZmFsc2Ugb24gZXJyb3IsIG90aGVyd2lzZSwgYW4gYXJyYXkgb2YgZ3JvdXBpbmZvIHJlY29yZHMuCiAgLy8hCiAgZnVuY3Rpb24gR2V0TWVtYmVyR3JvdXBzQXJyYXkoJHVzZXJpZCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IGEgc2luZ2xlIHByb3BlcnR5IGRlZmluaXRpb24gYnkgbmFtZQogIGZ1bmN0aW9uIEdldFByb3BlcnR5RGVmbiggJG5hbWUgKQogIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIC8vISBHZXQgYW4gYXJyYXkgb2YgcHJvcGVydHkgZGVmaW5pdGlvbnMKICBmdW5jdGlvbiBHZXRQcm9wZXJ0eURlZm5zKCkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIk5vdCBJbXBsZW1lbnRlZCIpOwogIH0KCiAgZnVuY3Rpb24gR2V0UHJvcGVydHlHcm91cFJlbGF0aW9ucyggJHRpdGxlICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIpOwogIH0KCiAgLy8hIEdldCB0aGUgdXNlcmlkIG9mIHRoZSB1c2VyIHdpdGggdGhlIG1hdGNoaW5nIG5hbWUKICAvLyEKICAvLyEgXHJldHVybiBVc2VySUQsIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0VXNlcklEKCR1c2VybmFtZSkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBpbmZvcm1hdGlvbiBhYm91dCBhIHVzZXIKICAvLyEKICAvLyEgVGhpcyBtZXRob2QgcmV0dXJucyBhbiBhc3NvY2lhdGlvbiB3aXRoIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCAKICAvLyEgdXNlciBpZAogIC8vISAgIGlkID0gdGhlIHJlcXVlc3RlZCB1c2VyIGlkCiAgLy8hICAgdXNlcm5hbWUgPSB0aGUgdXNlcnMgbmFtZQogIC8vISAgIHBhc3N3b3JkID0gdGhlIChlbmNyeXB0ZWQpIHVzZXIgcGFzc3dvcmQKICAvLyEgICBlbWFpbCAgICA9IHRoZSB1c2VycyBlbWFpbCBhZGRyZXNzCiAgLy8hICAgZXhwaXJlcyAgPSB0aGUgdXNlcnMgZXhwaXJ5IGRhdGUKICAvLyEgICBzdGF0dXMgICA9IHRoZSB1c2VycyBzdGF0dXMKICAvLyEKICAvLyEgXHBhcmFtIHVpZCBUaGUgdXNlcmlkIHRvIGlucXVpcmUgYWJvdXQKICAvLyEgXHJldHVybiBhbiBhcnJheSwgdGhlIGZpcnN0IGVsZW1lbnQgY29udGFpbnMgcmV0dXJuIHN0YXR1cyAodHJ1ZS9mYWxzZSksIHRoZSBzZWNvbmQgZWxlbWVudAogIC8vISAgICBpcyBlaXRoZXIgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgZGV0YWlscyBhYm92ZSwgb3IgYW4gZXJyb3IgbWVzc2FnZS4KICAvLyEKICBmdW5jdGlvbiBHZXRVc2VySW5mbyggJHVpZCApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgZGVmaW5lZCIpOwogIH0KCiAgLy8hIFJldHVybiB0aGUgdXNlcm5hbWUgdGhhdCBtYWNoZXMgdGhlIHNwZWNpZmllZCB1c2VyIGlkCiAgLy8hCiAgLy8hXHJldHVybiBUaGUgbWF0Y2hpbmcgdXNlcm5hbWUsIG9yIGZhbHNlCiAgLy8hCiAgZnVuY3Rpb24gR2V0VXNlck5hbWUoJHVzZXJpZCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBhIHNpbmdsZSBwcm9wZXJ0eSBmb3IgdGhlIGN1cnJlbnQgdXNlcgogIC8vIQogIC8vISBHZXQgYSBzaW5nbGUgcHJvcGVydHkgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuCiAgLy8hIAogIC8vISBccGFyYW0gdGl0bGUgVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB0byByZXR1cm4KICAvLyEgXHBhcmFtIGRlZmF1bHR2YWx1ZSBBIHZhbHVlIHRvIHJldHVybiBpZiB0aGUgcHJvcGVydHkgZG9lcyBub3QgZXhpc3QgZm9yIHRoYXQgdXNlcgogIC8vISBccmV0dXJuIFRoZSBwcm9wZXJ0eSB2YWx1ZSwgb3IgZmFsc2UuCiAgLy8hCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnR5KCR0aXRsZSwkZGVmYXVsdHZhbHVlPWZhbHNlKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IHByb3BlcnR5IGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHVzZXIgaWQKICAvLyEKICAvLyEgXHBhcmFtIHRpdGxlIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB3ZSBhcmUgc2VhcmNoaW5nIGZvcgogIC8vISBccGFyYW0gdXNlcmlkIFRoZSB1c2VyaWQgZm9yIHdobydzIHByb3BlcnR5IHdlIGFyZSBzZWFyY2hpbmcKICAvLyEgXHBhcmFtIGRlZmF1bHR2YWx1ZSBUaGUgdmFsdWUgdG8gcmV0dXJuIGlmIHRoaXMgcHJvcGVydHkgZG9lcyBub3QgZXhpc3QgZm9yIHRoaXMgdXNlcgogIC8vISBccmV0dXJuIFRoZSBwcm9wZXJ0eSB2YWx1ZSwgb3IgZmFsc2UuCiAgLy8hCiAgZnVuY3Rpb24gR2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJHVzZXJpZCwgJGRlZmF1bHR2YWx1ZT1mYWxzZSkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIEdldCBhIGxpc3Qgb2YgYWxsIG9mIHRoZSB1c2VycyB0aGF0IGJlbG9uZyB0byB0aGUgc3BlY2lmaWVkIGdyb3VwCiAgLy8hIGluY2x1ZGluZyBhbGwgb2YgdGhlaXIgcGFyYW1ldGVycwogIC8vISAKICAvLyEgVGhpcyBtZXRob2QgcmV0dXJucyBhbiBhc3NvY2lhdGl2ZSBhcnJheSAod2l0aCB1c2VyaWQgYXMgdGhlIGtleSkKICAvLyEgCiAgLy8hIFxwYXJhbSBncm91cGlkIHRoZSBkZXNpcmVkIGdyb3VwIGlkCiAgLy8hIFxyZXR1cm4gYW4gYXJyYXkgb2YgdXNlciBpbmZvcm1hdGlvbiAoc2VlIEdldFVzZXJJbmZvKSwgb3IgZmFsc2UKICAvLyEgXHNhIEdldFVzZXJJbmZvCiAgLy8hCiAgZnVuY3Rpb24gR2V0RnVsbFVzZXJzSW5Hcm91cCgkZ3JvdXBpZCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgR2V0IGEgbGlzdCBvZiB0aGUgdXNlcnMgdGhhdCBiZWxvbmcgdG8gdGhlIHNwZWNpZmllZCBncm91cAogIC8vIQogIC8vISBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIGFzc29jaWF0aXZlIGFycmF5IGNvbnRhaW5pbmcgYSBjb21wbGV0ZSBzZXQgb2YgdGhlCiAgLy8hIGluZm9ybWF0aW9uIGFib3V0IGFsbCBvZiB0aGUgdXNlcnMgdGhhdCBiZWxvbmcgdG8gdGhlIHNwZWNpZmllZCBncm91cAogIC8vISAKICAvLyEgXHBhcmFtIGdyb3VwaWQgdGhlIGRlc2lyZWQgZ3JvdXAgaWQKICAvLyEgXHJldHVybiBhbiBhcnJheSBvZiB1c2VyIGluZm9ybWF0aW9uIChzZWUgR2V0VXNlckluZm8pLCBvciBmYWxzZQogIC8vISBcc2EgR2V0VXNlckluZm8KICAvLyEKICBmdW5jdGlvbiBHZXRVc2Vyc0luR3JvdXAoICRncm91cGlkID0gJycgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBSZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHVzZXIncyBwcm9wZXJ0aWVzCiAgLy8hCiAgLy8hIFJldHVybnMgYSBjb21wbGV0ZSBsaXN0IG9mIHRoZSB1c2VycyBwcm9wZXJ0aWVzCiAgLy8hCiAgLy8hIFxwYXJhbSB1aWQgVGhlIHVpZCB0byB0ZXN0CiAgLy8hIFxyZXR1cm4gZmFsc2Ugb24gZXJyb3IsIG90aGVyd2lzZSBhbiBhcnJheSBvZiBhc3NvY2lhdGlvbnMsIGVhY2ggYXNzb2NpYXRpb24KICAvLyEgICBoYXMgdGhlIGZvbGxvd2luZyBrZXlzOgogIC8vISAgICAgIGlkICAgICA9IFRoZSBwcm9wZXJ0eSBpZAogIC8vISAgICAgIHVzZXJpZCA9IFRoZSBtYXRjaGluZyB1c2VyIGlkCiAgLy8hICAgICAgdGl0bGUgID0gVGhlIHByb3BlcnR5IHRpdGxlCiAgLy8hICAgICAgZGF0YSAgID0gVGhlIHByb3BlcnR5IGRhdGEKICAvLyEKICBmdW5jdGlvbiBHZXRVc2VyUHJvcGVydGllcygkdWlkKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIEdldFVzZXJUZW1wQ29kZSggJHVpZCApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiKTsKICB9CgogIC8vISBBIGZ1bmN0aW9uIHRoYXQgdGVzdHMgd2V0aGVyIGEgZ3JvdXAgd2l0aCB0aGUgc3BlZmlmaWVkIGlkIGV4aXN0cwogIC8vIQogIC8vISBccGFyYW0gZ2lkIFRoZSBkZXNpcmVkIGdyb3VwIGlkCiAgLy8hIFxyZXR1cm4gYm9vbGVhbgogICAvLyEKICBmdW5jdGlvbiBHcm91cEV4aXN0c0J5SUQoICRnaWQgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBBIGZ1bmN0aW9uIHRoYXQgdGVzdHMgd2V0aGVyIGEgZ3JvdXAgd2l0aCB0aGUgbmFtZSBleGlzdHMKICAvLyEKICAvLyEgXHBhcmFtIGdpZCBUaGUgZGVzaXJlZCBncm91cCBuYW1lCiAgLy8hIFxyZXR1cm4gYm9vbGVhbgogICAvLyEKICBmdW5jdGlvbiBHcm91cEV4aXN0c0J5TmFtZSggJG5hbWUgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIElzQWNjb3VudEV4cGlyZWQoICR1aWQgKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgLy8hIFRlc3Qgd2V0aGVyIHRoZSBzcGVjaWZpZWQgZW1haWwgYWRkcmVzcyBwYXNzZXMgdGhlIHJ1bGVzLgogIC8vIQogIC8vISBUaGlzIG1ldGhvZCB3aWxsIHRlc3QgaWYgdGhlIGVtYWlsIGFkZHJlc3Mgc3VwcGxpZWQgbWF0Y2hlcyB0aGUgCiAgLy8hIHNldCBydWxlcy4gIE9wdGlvbmFsbHksIHRoZSBlbWFpbCBhZGRyZXNzIGNhbiBiZSB2YWxpZGF0ZWQgdmlhCiAgLy8hIHNtdHAuCiAgLy8hCiAgLy8hIFxwYXJhbSAgZW1haWwgVGhlIGFkZHJlc3MgdG8gdGVzdAogIC8vISBccmV0dXJuIGFuIGFycmF5LCB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaW5kaWN1YXRlcyBzdWNjZXNzIG9yIGZhaWx1cmUKICAvLyEgICAgdGhlIHNlY29uZCBlbGVtZW50IGlzIHRoZSBlcnJvciBtZXNzYWdlLCBpZiBhbiBlcnJvciBvY2N1cnJlZAogIC8vIQogIGZ1bmN0aW9uIElzVmFsaWRFbWFpbEFkZHJlc3MoICRlbWFpbCApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgZGVmaW5lZCIpOwogIH0KCiAgLy8hIENoZWNrIHRoZSB2YWxpZGl0eSBvZiB0aGUgc3VwcGxpZWQgcGFzc3dvcmQKICAvLyEKICAvLyFccGFyYW0gIHBhc3N3b3JkIFRoZSBwYXNzd29yZCB0byB0ZXN0LgogIC8vIVxyZXR1cm4gdHJ1ZSBpZiB0aGUgcGFzc3dvcmQgaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIElzVmFsaWRQYXNzd29yZCggJHBhc3N3b3JkICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgQ2hlY2sgd2V0aGVyIHRoZSB1c2VybmFtZSBzdXBwbGllZCBwYXNzZXMgdGhlIHJ1bGVzCiAgLy8hCiAgLy8hXHBhcmFtIHVzZXJuYW1lIFRoZSB1c2VybmFtZSB0byBiZSB0ZXN0ZWQKICAvLyFccmV0dXJuIGJvb2xlYW4gdHJ1ZS9mYWxzZQogIC8vIQogIGZ1bmN0aW9uIElzVmFsaWRVc2VybmFtZSggJHVzZXJuYW1lICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgVGVzdHMgd2V0aGVyIHRoZSBjdXJyZW50IHVzZXIgaXMgbG9nZ2VkIGluIG9yIG5vdC4KICBmdW5jdGlvbiBMb2dnZWRJbigpIAogIHsKICAgIGlmICgkdGhpcy0+TG9nZ2VkSW5JZCgpPT1mYWxzZSkgcmV0dXJuIGZhbHNlOyBlbHNlIHJldHVybiB0cnVlOwogIH0KCiAgLy8hIFJldHVybiB0aGUgZW1haWwgYWRkcmVzcyBvZiB0aGUgY3VycmVudCB1c2VyCiAgLy8hCiAgLy8hIFxyZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgZW1haWwgYWRkcmVzcyBvZiB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyCiAgLy8hICAgaWYgbm9vbmUgaXMgbG9nZ2VkIGluLCB0aGVuIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZAogIC8vIQogIGZ1bmN0aW9uIExvZ2dlZEluRW1haWwoKSAKICB7CiAgICByZXR1cm4gIiI7CiAgfQoKICAvLyEgUmV0dXJuIHRoZSB1c2VyaWQgb2YgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcgogIGZ1bmN0aW9uIExvZ2dlZEluSWQoKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgUmV0dXJuIHRoZSB1c2VybmFtZSBvZiB0aGUgY3VycmVudCB1c2VyCiAgLy8hCiAgLy8hIFxyZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgdXNlcm5hbWUgb2YgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcgogIC8vISAgIGlmIG5vb25lIGlzIGxvZ2dlZCBpbiwgdGhlbiBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQKICAvLyEKICBmdW5jdGlvbiBMb2dnZWRJbk5hbWUoKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBMb2dpbiggJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRncm91cHMgPSAnJywgJG1kNXB3ID0gZmFsc2UsCgkJICAkZm9yY2VfbG9nb3V0ID0gZmFsc2UpCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiKTsKICB9CgoKICAvLyEgTG9nb3V0IHRoZSBjdXJyZW50IHVzZXIKICBmdW5jdGlvbiBMb2dvdXQoKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgVGVzdCB3ZXRoZXIgYW4gYXNzb2NpYXRpb24gZXhpc3RzIGJldHdlZW4gdGhlIHNwZWNpZmllZCB1c2VyIGFuZCBncm91cAogIC8vIQogIC8vISBccGFyYW0gdXNlcmlkIFRoZSB1c2VyaWQgdG8gdGVzdAogIC8vISBccGFyYW0gZ3JvdXBpZCBUaGUgZ3JvdXBpZCB0byB0ZXN0CiAgLy8hIFxyZXR1cm4gdHJ1ZSBpZiBhbiBhc3NvY2lhdGlvbiBleGlzdHMsIGZhbHNlIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIE1lbWJlck9mR3JvdXAoJHVzZXJpZCwkZ3JvdXBpZCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIFJlbW92ZSB0aGUgc3BlY2lmaWVkIHVzZXIgZnJvbSB0aGUgc3BlY2lmaWVkIGdyb3VwCiAgLy8hCiAgLy8hVGhpcyBtZXRob2QgcmV2b2tlcyB0aGUgbWVtYmVyc2hpcCBvZiB1c2VyICR1aWQgZnJvbSBncm91cCAkZ2lkCiAgLy8hCiAgLy8hXHBhcmFtIHVpZAogIC8vIVxwYXJhbSBnaWQKICAvLyFccmV0dXJuIGFycmF5LCB0aGUgZmlyc3QgZWxlbWVudCBjb250YWlucyBleGl0IHN0YXR1cyAoYm9vbGVhbiksIHRoZSBzZWNvbmQgZWxlbWVudAogIC8vISAgIChvcHRpb25hbCkgcmV0dXJucyBhbiBlcnJvciBtZXNzYWdlLCBpZiBhbiBlcnJvciBvY2N1cnJlZC4KICAvLyEKICBmdW5jdGlvbiBSZW1vdmVVc2VyRnJvbUdyb3VwKCAkdWlkLCAkZ2lkICkKICB7CiAgICByZXR1cm4gYXJyYXkoRkFMU0UsIkZ1bmN0aW9uIG5vdCBkZWZpbmVkIik7CiAgfQoKICBmdW5jdGlvbiBSZW1vdmVVc2VyVGVtcENvZGUoICR1aWQgKQogIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIC8vISBBIG1ldGhvZCB0byBtb2RpZnkgYW4gZXhpc3RpbmcgZ3JvdXAKICAvLyEKICAvLyFccGFyYW0gZ2lkIEFuIGV4aXN0aW5nIGdyb3VwIGlkCiAgLy8hXHBhcmFtIG5hbWUgVGhlIG5ldyBncm91cCBuYW1lCiAgLy8hXHBhcmFtIGRlc2MgVGhlIG5ldyBncm91cCBkZXNjcmlwdGlvbgogIC8vIVxyZXR1cm4gQW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGlzIGEgYm9vbGVhbiB3aGljaCBpbmRpY2F0ZXMgc3VjY2VzcyBvciBmYWlsdXJlLCB0aGUKICAvLyEgIHNlY29uZCBlbGVtZW50IChvcHRpb25hbCkgY29udGFpbnMgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgZXZlbnQgb2YgYW4gZXJyb3IuCiAgLy8hCiAgZnVuY3Rpb24gU2V0R3JvdXAoICRnaWQsICRuYW1lLCAkZGVzYyApCiAgewogICAgcmV0dXJuIGFycmF5KEZBTFNFLCJGdW5jdGlvbiBub3QgZGVmaW5lZCIpOwogIH0KCiAgZnVuY3Rpb24gU2V0UHJvcGVydHlEZWZuKCAkbmFtZSwgJG5ld25hbWUsICRwcm9tcHQsICRsZW5ndGgsICR0eXBlICkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvLyEgTW9kaWZ5IGFuIGV4aXN0aW5nIGdyb3VwCiAgLy8hCiAgLy8hIFxwYXJhbSB1aWQgVGhlIGlkIG9mIHRoZSBleGlzdGluZyB1c2VyCiAgLy8hIFxwYXJhbSB1c2VybmFtZSBUaGUgbmV3IHVzZXIgbmFtZQogIC8vISBccGFyYW0gZW1haWwgVGhlIG5ldyBlbWFpbCBhZGRyZXNzCiAgLy8hIFxwYXJhbSBwYXNzd29yZCBUaGUgbmV3ICh1bmVuY3J5cHRlZCkgcGFzc3dvcmQKICAvLyEgXHBhcmFtIGV4cGlyZXMgVGhlIG5ldyBleHBpcnkgZGF0ZQogIC8vISBccGFyYW0gc3RhdHVzIHRoZSBuZXcgc3RhdHVzCiAgLy8hIFxyZXR1cm4gQW4gYXJyYXksIHRoZSBmaXJzdCBlbGVtZW50IGlzIGEgYm9vbGVhbiB3aGljaCBpbmRpY2F0ZXMgc3VjY2VzcyBvciBmYWlsdXJlLCB0aGUKICAvLyEgICAgc2Vjb25kIGVsZW1lbnQgKG9wdGlvbmFsKSBjb250YWlucyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBldmVudCBvZiBhbiBlcnJvci4KICAvLyEKICBmdW5jdGlvbiBTZXRVc2VyKCAkdWlkLCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGV4cGlyZXMgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGRlZmluZWQiKTsKICB9CgogIC8vISBTZXQgdGhlIHVzZXIncyBncm91cCBtZW1iZXJzaGlwcyBhYnNvbHV0ZWx5CiAgLy8hCiAgLy8hVGhpcyBtZXRob2QgcmVtb3ZlcyBhbGwgcHJldmlvdXMgZ3JvdXAgYXNzb2NpYXRpb25zLCBhbmQgc2V0cyBuZXcgb25lcwogIC8vIXRvIG1hdGNoIHRob3NlIGluIHRoZSBncnBpZHMgYXJyYXkuCiAgLy8hCiAgLy8hXHBhcmFtIHVpZCBUaGUgdXNlciBpZCB0byBlZGl0CiAgLy8hXHBhcmFtIGdycGlkcyBBbiBhcnJheSBvZiB1c2VyIGlkcyB0byBhc3NvY2lhdGUgd2l0aAogIC8vIVxyZXR1cm5zIHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlCiAgLy8hCiAgZnVuY3Rpb24gU2V0VXNlckdyb3VwcyggJHVpZCwgJGdycGlkcyApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gU2V0VXNlclBhc3N3b3JkKCAkdWlkLCAkcGFzc3dvcmQgKQogIHsKICAgIHJldHVybiBhcnJheShGQUxTRSwiRnVuY3Rpb24gbm90IGRlZmluZWQiKTsKICB9CgogIC8vISBTZXQgdGhlIHVzZXIncyBwcm9wZXJ0aWVzIGFic29sdXRlbHkuCiAgLy8hCiAgLy8hIFRoaXMgbWV0aG9kIGRlbGV0ZXMgYW55IGV4aXN0aW5nIHVzZXIgcHJvcGVydGllcyBhbmQgc2V0cyB0aGVtIGFjY29yZGluZyB0byB0aGUgcHJvcGVydGllcwogIC8vISBzdXBwbGllZC4KICAvLyEKICAvLyEgXHBhcmFtIHVpZCBUaGUgdXNlciBpZCB0byBiZSBlZGl0ZWQKICAvLyEgXHBhcmFtIHByb3BzIEFuIGFycmF5IG9mIEtleT1WYWx1ZSBzdHJpbmdzIGNvbnNpc3Rpbmcgb2YgdGhlIHVzZXIgcHJvcGVydGllcy4KICAvLyEgXHJldHVybiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG90aGVyd2lzZQogIC8vIQogIGZ1bmN0aW9uIFNldFVzZXJQcm9wZXJ0aWVzKCAkdWlkLCAkcHJvcHMgKSAgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIFNldCBhIHByb3BlcnR5IGZvciB0aGUgY3VycmVudCB1c2VyCiAgLy8hIAogIC8vISBTZXRzIGEgcHJvcGVydHkgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIKICAvLyEKICAvLyEgXHBhcmFtIHRpdGxlIFRoZSBwcm9wZXJ0eSBuYW1lCiAgLy8hIFxwYXJhbSBkYXRhICBUaGUgcHJvcGVydHkgdmFsdWUKICAvLyEgXHJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UKICAvLyEKICBmdW5jdGlvbiBTZXRVc2VyUHJvcGVydHkoJHRpdGxlLCRkYXRhKSAKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLy8hIFNldCBhIHByb3BlcnR5IGZvciB0aGUgcHJvdmlkZWQgdXNlcmlkCiAgLy8hCiAgLy8hIFNldHMgYSBwcm9wZXJ0eSBleGNsdXNpdmVseSBmb3IgYSBjZXJ0YWluIHVzZXIKICAvLyEKICAvLyEgXHBhcmFtIHRpdGxlIFRoZSBwcm9wZXJ0eSBuYW1lCiAgLy8hIFxwYXJhbSBkYXRhICBUaGUgcHJvcGVydHkgdmFsdWUKICAvLyEgXHBhcmFtIHVzZXJpZCBUaGUgZGVzaXJlZCB1c2VyIGlkCiAgLy8hCiAgZnVuY3Rpb24gU2V0VXNlclByb3BlcnR5RnVsbCgkdGl0bGUsJGRhdGEsJHVzZXJpZCkgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gU2V0VXNlclRlbXBDb2RlKCAkdWlkLCAkY29kZSApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8hIFRlc3QgaWYgdGhlIHVzZXIgaWQgaXMgYWxyZWFkeSB0YWtlbgogIC8vIQogIC8vISBUZXN0cyBpZiBhIHVzZXIgYnkgdGhhdCBpZCBhbHJlYWR5IGV4aXN0cwogIC8vIQogIC8vISBccGFyYW0gdWlkIFRoZSB1c2VyaWQgdG8gdGVzdAogIC8vISBccmV0dXJuIGJvb2xlYW4KICAvLyEKICBmdW5jdGlvbiBVc2VyRXhpc3RzQnlJRCggJHVpZCApCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLy8KICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgLy8KCn0gLy8gY2xhc3MKCj8+Cg==]]></data>
	</file>
</module>
