<?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>Products</name>
	<version>2.6</version>
  <mincmsversion>1.6.6</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICd0YXhhYmxlJyBvciBub3QuPC9wPgogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG11bHRpcGxlIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkaXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4KPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPgogICAgPHVsPgogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+CiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IAogICAgICA8bGk+SGllcmFyY2h5IERyaWxsLWRvd24gVmlldzwvbGk+CiAgICA8L3VsPgogIDxsaT5FbnRpcmVseSBEYXRhYmFzZSBUZW1wbGF0ZSBEcml2ZW48L2xpPgogIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+CiAgPGxpPlNvcnRpbmcgYW5kIHBhZ2luYXRpb24gaW4gdGhlIHN1bW1hcnkgdmlldzwvbGk+CiAgPGxpPlByb2R1Y3RzIGNhbiBleGlzdCBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzPC9saT4KICA8bGk+TnVtZXJvdXMgY3VzdG9tIGZpZWxkcyBjYW4gYmUgZGVmaW5lZCwgaW5jbHVkaW5nIGltYWdlczwvbGk+CiAgPGxpPkF1dG9tYXRpYyB0aHVtYm5haWwgY3JlYXRpb248L2xpPgogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+CiAgPGxpPlByb2R1Y3QgYXR0cmlidXRlcyAoaW5jbHVkaW5nIHByaWNlIGFkanVzdG1lbnQpPC9saT4KICA8bGk+V2VpZ2h0IGFuZCB0YXhhYmxlIGZpZWxkcyAoZm9yIHVzZSBpbiBlLWNvbW1lcmNlIHNvbHV0aW9ucyk8L2xpPgogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPgogIDxsaT5QcmV0dHkgVVJMIFN1cHBvcnQ8L2xpPgogIDxsaT48c3Ryb25nPk1vcmUuLi48L3N0cm9uZz48L2xpPgo8L3VsPgoKPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPgo8dWw+CjxsaT5TZXQgcHJlZmVyZW5jZXM8L2xpPgo8cD5Vc3VhbGx5IHRoaXMgaXMganVzdCBhIGZvcm1hbGl0eS4gIFlvdSBzaG91bGQgc3BlY2lmeSB5b3VyIGRlZmF1bHQgd2VpZ2h0IHVuaXRzLCBhbmQgeW91ciBkZWZhdWx0IGN1cnJlbmN5IHN5bWJvbCBmb3IgeW91ciBsb2NhbCBlbnZpcm9ubWVudC48L3A+CjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPgo8cD5UaGlzIG1vZHVsZSB1c2VzIHRoZSAnTW9kaWZ5IFRlbXBsYXRlcycgcGVybWlzc2lvbiB0byBhbGxvdyB1c2VycyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdmFyaW91cyB0ZW1wbGF0ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGlzIG1vZHVsZS4gIEFzIHdlbGwsIHRoZSAnTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnIHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gYWRqdXN0IHRoZSBtb2R1bGVzIHByZWZlcmVuY2VzLiAgSW4gb3JkZXIgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgZmllbGQgZGVmaW5pdGlvbnMsIGNhdGVnb3JpZXMsIG9yIHByb2R1Y3RzLCB5b3VyIHVzZXJzIHdpbGwgbmVlZCB0aGUgJ01vZGlmeSBQcm9kdWN0cycgcGVybWlzc2lvbi48L3A+CjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzPC9saT4KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlICdDYXRlZ29yaWVzJyB0YWIgaW4gdGhlIFByb2R1Y3QgTWFuYWdlcnMgYWRtaW4gc2VjdGlvbiwgYW5kIGNsaWNraW5nICdBZGQgQSBDYXRlZ29yeScuICBGcm9tIHRoZXJlIHlvdSB3aWxsIGJlIHByb21wdGVkIGZvciBhIGNhdGVnb3J5IG5hbWUuPC9wPgo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkczwvbGk+CjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPgo8cD5DdXJyZW50bHkgYSBudW1iZXIgb2YgdHlwZXMgb2YgY3VzdG9tIGZpZWxkcyBhcmUgYXZhaWxhYmxlLCBpbmNsdWRpbmc6ICd0ZXh0Ym94JywnY2hlY2tib3gnLGFuZCAndGV4dGFyZWEnLCAnZHJvcGRvd24nLCBhbmQgJ2ZpbGUnLiAgU2VsZWN0IG9uZSBvZiB0aGVzZSwgZ2l2ZSB5b3VyIG5ldyBmaWVsZCBhIG5hbWUsIGFuZCBpbmRpY2F0ZSB3ZXRoZXIgdGhhdCBmaWVsZCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgcHVibGljIGluIHRoZSB2YXJpb3VzIHZpZXdzLiAgVGhlbiBoaXQgc3VibWl0PC9wPgo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+CjxwPklmIGNhdGVnb3JpZXMgYXJlIGRlZmluZWQsIHRoZW4gYSBjaGVja2JveCB3aWxsIGFwcGVhciBmb3IgZWFjaCBkZWZpbmVkIGNhdGVnb3J5LiAgWW91IGNhbiBzaW1wbHkgY2xpY2sgdGhlIGNoZWNrYm94IGZpZWxkcyBmb3IgZWFjaCBjYXRlZ29yeSB0aGF0IHRoaXMgcHJvZHVjdCBzaG91bGQgYmVsb25nIHRvLjwvcD4KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPgo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPgo8cD5UaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnIGludG8gdGhlIGNvbnRlbnQgYXJlYSBvZiBvbmUgb2YgeW91ciBwYWdlcywgb3IgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9wPgo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSdjYXRlZ29yeW5hbWUnfTwvY29kZT48L3A+CjwvdWw+CjxoMz5TbWFydHkgUGx1Z2luczwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsc28gcmVnaXN0ZXJzIG9uZSBvciBtb3JlIHNtYXJ0eSBwbHVnaW5zIHRvIGFpZGUgaW4gcmV0cmlldmluZyB2YXJpb3VzIHByb2R1Y3RzIHJlbGF0ZWQgaW5mb3JtYXRpb24gd2hlbiBkZXNpZ25pbmcgcHJvZHVjdHMgbW9kdWxlIHRlbXBsYXRlczo8L3A+Cjx1bD4KICA8bGk+e3Byb2R1Y3RzX2dldGNhdGVnb3J5IGNhdGVnb3J5aWQ9Jzk5JyBbYXNzaWduPSd0bXAnXX0KICA8cD5UaGlzIHBsdWdpbiBhbGxvd3MgcmV0cmlldmluZyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZvciBhIHNwZWNpZmljIGNhdGVnb3J5IGlkIGFuZCBvcHRpb25hbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLiAgVGhlIHJldHVybmVkIGlzIGFuIG9iamVjdCBjb250YWluaW5nIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBjYXRlZ29yeSwgaW5jbHVkaW5nIGl0cyBmaWVsZCB2YWx1ZXMuPGJyLz5pLmU6LiA8Y29kZT57cHJvZHVjdHNfZ2V0Y2F0ZWdvcnkgY2F0ZWdvcnlpZD0xIGFzc2lnbj0ndG1wJ31DYXRlZ29yeSBuYW1lID0geyR0bXAtPm5hbWV9PC9jb2RlPjwvcD4KICAgCiAgIDwvcD4KICA8L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciAnUHJvZHVjdHMnPC9saT4KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+CjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjE4LjE8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjQuNDwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249ImRlZmF1bHQiIC0gU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+CiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+CiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+CiAgPGxpPmRldGFpbHMgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwcm9kdWN0aWQ9IiIgLSBVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBwcm9kdWN0IHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWxwYWdlPSIiIC0gVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYXRlZ29yeWxpc3R0ZW1wbGF0ZT0iIiAtIFVzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlsdGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gdXNlIHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzdW1tYXJ5dGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzdW1tYXJ5IG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaGllcmFyY2h5dGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0Ynk9InByb2R1Y3RfbmFtZSIgLSBBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPgogIDxsaT53ZWlnaHQgLS0gVGhlIHByb2R1Y3Qgd2VpZ2h0PC9saT4KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+CiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPgogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+CiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRvcmRlcj0iYXNjIiAtIFNwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPgogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnk9IiIgLSBXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGhpZXJhcmNoeT0iIiAtIFVzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9J3RydWNrcyonfSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT0nKnRydWNrcyd9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcGFnZWxpbWl0PSIiIC0gVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhcmVudD0iIiAtIFVzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3dhbGw9IkFwcGxpY2FibGUgb25seSB0byB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvIGEgbm9uIDAgaW50ZWdlciB2YWx1ZSBhbGwgY2F0ZWdvcmllcyAoZXZlbiB0aG9zZSB3aXRob3V0IHByb2R1Y3RzKSB3aWxsIGJlIGRpc3BsYXllZC4iIC0gPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDIuNjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMS4wIC0gRGVjZW1iZXIsIDIwMDcKICAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjAuMSAtIEphbnVhcnksIDIwMDgKICAgPHVsPgogICAgIDxsaT5BZGRzIHBhZ2luYXRpb24gaW4gc3VtbWFyeSB2aWV3PC9saT4KICAgICA8bGk+Rml4ZXMgYSBwcm9ibGVtIHdpdGggZHVwbGljYXRlIGxpbmtzIGluIHN1bW1hcnkgdmlldzwvbGk+CiAgIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMCAtIEFwcmlsLCAyMDA4CiAgPHVsPgogICAgIDxsaT5BZGRzIGhpZXJhcmNoaWNhbCBjYXRlZ29yaWVzIGFzIHdlbGwgYXMgdGhlIG9yaWdpbmFsICd0YWcnIGJhc2VkIGNhdGVnb3JpZXMuPGJyLz4KICAgICAgICAgSGllcmFyY2hpY2FsIGNhdGVnb3JpZXMgY2FuIGhhdmUgYW4gaW1hZ2UgYXMgd2VsbCBhcyBhIGRlc2NyaXB0aW9uLjwvbGk+CiAgICAgPGxpPkFkZHMgbW9yZSBjdXN0b20gZmllbGQgdHlwZXMgKGltYWdlLCBkcm9wZG93bik8YnIvPgogICAgICAgICBJbmNsdWRpbmcgdGh1bWJuYWlsIGdlbmVyYXRpb24uPC9saT4KICAgICA8bGk+UmVtb3ZlIHRoZSBvcmlnaW5hbCBpbWFnZSBmaWVsZHM8L2xpPgogICAgIDxsaT5BZGRzIFNlYXJjaCBtb2R1bGUgY2FwYWJpbGl0eTwvbGk+CiAgICAgPGxpPkFkZHMgYSBoaWVyYXJjaGljYWwgY2F0ZWdvcnkgdmlldyB3aXRoIGRyaWxsIGRvd24gc3VwcG9ydDwvbGk+CiAgICAgPGxpPk11Y2gsIG11Y2ggbW9yZTwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4wLjEgLSBBcHJpbCwgMjAwOAogIDx1bD4KICAgICA8bGk+Rml4ZXMgbnVtZXJvdXMgc21hbGwgZXJyb3JzLjwvbGk+CiAgICAgPGxpPkZpeCB0byBhbGxvdyBzcGFjZXMgYW5kIG90aGVyIGNoYXJhY3RlcnMgaW4gaGllcmFyY2h5IG5hbWVzPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjAuMiAtIEF1Z3VzdCwgMjAwOAogIDx1bD4KICAgICA8bGk+QnVnIGZpeGVzPC9saT4KICAgICA8bGk+Tm93IFJlcXVpcmUgQ0dFeHRlbnNpb25zIDEuOTwvbGk+CiAgICAgPGxpPkFkZCBhIGN1cnJlbmN5IGNvZGUgcHJlZmVyZW5jZTwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xLjEgLSBTZXB0ZW1iZXIsIDIwMDgKICA8dWw+CiAgICAgPGxpPkJ1ZyBmaXhlczwvbGk+CiAgICAgPGxpPkFkZCB0aGUgYWJpbGl0eSB0byBhc3NvY2lhdGUgc3RhdGljIGRhdGEgd2l0aCBhbnkgY2F0ZWdvcnk8L2xpPgogICAgIDxsaT5BZGQgdGhlIGFiaWxpdHkgdG8gY29weSBjYXRlZ29yaWVzPC9saT4KICAgICA8bGk+QWRkIHRoZSBvcHRpb25hbCBhYmlsaXR5IHRvIHdhdGVybWFyayB1cGxvYWRlZCBhYmlsaXRpZXMuPC9saT4KICAgICA8bGk+QWRkIHRoZSBvcHRpb25hbCBhYmlsaXR5IHRvIGNoYW5nZSB0aGUgbG9jYXRpb24gb2YgdGhlIHdhdGVybWFyayBpbiB1cGxvYWRlZCBpbWFnZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEuMiAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5VcGRhdGUgZGVwZW5kZW5jaWVzLCBhbmQgcmVtb3ZlIGRlYnVnIHN0YXRlbWVudHMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEuMyAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5NaW5vciBCdWdmaXhlczwvbGk+CiAgICA8bGk+Q2hhbmdlIHRoZSBkZWxpbWl0ZXIgb24gdGhlIGF0dHJpYnV0ZXMgZHJvcGRvd248L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMiAtIERlY2VtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPk51bWVyb3VzIEJ1Z2ZpeGVzPC9saT4KICAgIDxsaT5Qcm9kdWN0cyBtb2R1bGUgbm93IGhhcyBhIENhcnQgbW9kdWxlIHByZWZlcmVuY2UsIHdoZXJlIHlvdSBjYW4gcGljayBmcm9tIHRoZSBhdmFpbGFibGUgY2FydCBtb2R1bGVzLjwvbGk+CiAgICA8bGk+TW9kaWZ5IGRlZmF1bHQgdGVtcGxhdGVzIHNvIHRoYXQgdGhlIGNhcnQgbW9kdWxlIHByZWZlcmVuY2UgaXMgdXNlZC48L2xpPgogICAgPGxpPlJlbW92ZSBhbGwgcmVmZXJlbmNlcyB0byB0YXhlcyBvciBzaGlwcGluZyBtb2R1bGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4yLjEgLSBKYW51YXJ5LCAyMDA4CiAgPHVsPgogICAgPGxpPkFkZCBhYmlsaXR5IHRvIHNvcnQgYnkgd2VpZ2h0LjwvbGk+CiAgICA8bGk+QWRkIGJyZWFkY3J1bWJzIHRvIGRldGFpbCB2aWV3LjwvbGk+CiAgICA8bGk+QWRkIGNhdGVnb3J5IGluZm9ybWF0aW9uIHRvIHN1bW1hcnkgdmlldy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMi4yIC0gSmFudWFyeSwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXggbWlub3IgcHJvYmxlbSB3aXRoIGNhdGVnb3J5IGluZm9ybWF0aW9uIGluIHN1bW1hcnkgdmlldy48L2xpPgogICAgPGxpPkFkZCBjb25zaXN0ZW50IG9yZGVyaW5nIHRvIEdldENhdGVnb3JpZXNGb3JQcm9kdWN0PC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjIuNCAtIEZlYnJ1YXJ5LCAyMDA4CiAgPHVsPgogICAgPGxpPkFkZCBJRCB0byB0aGUgaGllcmFyY2h5IHRhYjwvbGk+CiAgICA8bGk+QWRkIHRoZSB7JHBhcmVudH0gdmFyaWFibGUgdG8gdGhlIGhpZXJhcmNoeSBkaXNwbGF5LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4zIC0gTWFyY2gsIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIENTViBJbXBvcnQ8L2xpPgogICAgPGxpPkFkZCBpbmRleGVzIHRvIHRoZSB0YWJsZXMsIHNob3VsZCByZXN1bHQgaW4gYSBtYXNzaXZlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LjwvbGk+CiAgICA8bGk+QWRkIEV4dHJhMSBhbmQgRXh0cmEyIGZpZWxkcyB0byB0aGUgaGllcmFyY2h5IGRlZmluaXRpb24uPC9saT4KICAgIDxsaT5GaXhlcyBwcm9ibGVtcyB3aXRoIGRhdGVzCiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4zLjEgLSBNYXJjaCwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXhlcyB0byBDU1YgSW1wb3J0PC9saT4KICAgIDxsaT5CdW1wIG1pbmltdW0gQ01TIFZlcnNpb24gdG8gMS41LjM8L2xpPgogICAgPGxpPkJ1Z2ZpeGVzIHRvIGVkaXQgYXR0cmlidXRlIHNldC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNCAtIEp1bHksIDIwMDgKICA8dWw+CiAgICA8bGk+Rml4ZXMgRWRpdCBBdHRyaWJ1dGUgU2V0IFByb2JsZW08L2xpPgogICAgPGxpPkFkZHMgR2V0Q2F0ZWdvcnkoKSBtZXRob2QuPC9saT4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuMiAtIEp1bHksIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkcyBjb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIHVzZSBieSB0aGUgUHJvbW90aW9ucyBhbmQgb3RoZXIgbW9kdWxlcy48L2xpPgogICAgPGxpPkZpeGVzIG1pbm9yIGJ1Z3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuNCAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXhlcyBtaW5vciBidWdzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40LjUgLSBOb3ZlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5NaW5vciBzbWFydHkgaW1wcm92ZW1lbnRzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40LjcgLSBEZWNlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5BZGRzIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRlbXBsYXRlIGZvciBwcm9kdWN0IGF0dHJpYnV0ZSB2YWx1ZSBkaXNwbGF5IGluIHRoZSBkcm9wZG93bnMuPC9saT4KICAgIDxsaT5BZGRzIHRoZSBzaG93YWxsIHBhcmFtZXRlciAob3B0aW9uYWwpIHRvIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40LjggLSBKYW51YXJ5LCAyMDA5CiAgPHVsPgogICAgPGxpPkFkZHMgaGFuZGxpbmcgZm9yIGRpcmVjdCBhY2Nlc3MgdG8gZGlzYWJsZWQvZGVsZXRlZC9pbnZhbGlkIHByb2R1Y3QgZGV0YWlsIHZpZXdzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi41LjEgLSBGZWJydWFyeSwgMjAxMAogIDx1bD4KICAgIDxsaT5JbXByb3ZlbWVudHMgZm9yIE1BQyBmb3JtYXQgQVNDSUkgY3N2IGZpbGVzLjwvbGk+CiAgICA8bGk+QWRkcyBwcm9kdWN0IGFsaWFzIG1lY2hhbmlzbS48L2xpPgogICAgPGxpPkFkZHMgYnJlYWRjcnVtYiBzdXBwb3J0IGludG8gdGhlIGRldGFpbCB2aWV3LjwvbGk+CiAgICA8bGk+QWRkcyBwcmV0dHkgdXJsIHN1cHBvcnQgaW50byB0aGUgc2VhcmNoIHJlc3VsdHMuPC9saT4KICAgIDxsaT5BZGRzIGNhbm9uaWNhbCBzdXBwb3J0IGludG8gdGhlIGRldGFpbCB2aWV3LjwvbGk+CiAgICA8bGk+QWRkcyBTS1Ugc3VwcG9ydC48L2xpPgogICAgPGxpPkJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNiAtIE1hcmNoLCAyMDE5CiA8dWw+CiAgIDxsaT5Nb2RpZmljYXRpb25zIHRvIHdvcmsgd2l0aCBuZXcgRS1jb21tZXJjZSBzZXR1cC48L2xpPgogICA8bGk+TWFueSBidWcgZml4ZXMuPC9saT4KIDwvdWw+CjwvbGk+CjwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[A module for managing a catalog of products, their price, images, etc, and for allowing users to build a cart]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.18.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.4.4</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CiAgcmV0dXJuOwogfQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCiRuYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKQp7CiAgJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107Cn0KCiR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CgppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQp7CiAgaWYgKCRuYW1lICE9ICcnKQogICAgewogICAgICAvLyBNYWtlIHN1cmUgYSBjYXRlZ29yeSBieSB0aGlzIG5hbWUgZG9lc24ndCBhbHJlYWR5IGV4aXN0CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBuYW1lID0gPyc7CiAgICAgICR2YWx1ZSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkbmFtZSkpOwogICAgICBpZiggJHZhbHVlICE9ICcnICkKCXsKCSAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnY2F0ZWdvcnlleGlzdHMnLCR2YWx1ZSkpOwoJfQogICAgICBlbHNlCgl7CgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgKG5hbWUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/KSc7CgkgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuYW1lLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIikpKTsKCSAgCgkgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgl9CiAgICB9CiAgZWxzZQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub25hbWVnaXZlbicpKTsKICAgIH0KfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZGNhdGVnb3J5JywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDgwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAnJyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRjYXRlZ29yeS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.addcategoryfield.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KaWYoICFpc3NldCgkcGFyYW1zWydjYXRpZCddKSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgcmV0dXJuOwp9CgojCiMgSW5pdGlhbGl6YXRpb24KIwokY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwokZmllbGR0eXBlID0gJ3RleHRib3gnOwokZmllbGRuYW1lID0gJyc7CiRmaWVsZHByb21wdCA9ICcnOwokZmllbGR2YWx1ZSA9ICcnOwokZWRpdGluZyA9IDA7CmlmKCBpc3NldCgkcGFyYW1zWydmbGRuYW1lJ10pICkKewogICRmaWVsZG5hbWUgPSB0cmltKCRwYXJhbXNbJ2ZsZG5hbWUnXSk7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMgCiAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/JzsKICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjYXRpZCwkZmllbGRuYW1lKSk7CiAgJGZpZWxkdHlwZSA9ICRyb3dbJ2ZpZWxkX3R5cGUnXTsKICAkZmllbGRwcm9tcHQgPSAkcm93WydmaWVsZF9wcm9tcHQnXTsKICAkZmllbGR2YWx1ZSA9ICRyb3dbJ2ZpZWxkX3ZhbHVlJ107CiAgJGVkaXRpbmcgPSAxOwp9CgojCiMgR2V0IFBhcmFtZXRlciBWYWx1cwojCmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHR5cGUnXSkgKQogIHsKICAgICRmaWVsZHR5cGUgPSAkcGFyYW1zWydpbnB1dF9maWVsZHR5cGUnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZG5hbWUnXSkgKQogIHsKICAgICRmaWVsZG5hbWUgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ2lucHV0X2ZpZWxkbmFtZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHByb21wdCddKSApCiAgewogICAgJGZpZWxkcHJvbXB0ID0gJHBhcmFtc1snaW5wdXRfZmllbGRwcm9tcHQnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHZhbHVlJ10pICkKICB7CiAgICAkZmllbGR2YWx1ZSA9ICRwYXJhbXNbJ2lucHV0X2ZpZWxkdmFsdWUnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9lZGl0aW5nJ10pICkKICB7CiAgICAkZWRpdGluZyA9IChpbnQpJHBhcmFtc1snaW5wdXRfZWRpdGluZyddOwogIH0KCiMgR2V0IHRoZSBjYXRlZ29yeSBkYXRhCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBpZCA9ID8nOwokY2F0ZWdvcnkgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNhdGlkKSk7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCRjYXRlZ29yeSk7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0Y2F0ZWdvcnlmaWVsZHMnLCRyZXR1cm5pZCwKCQkgICAgYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vCiAgICAvLyBWYWxpZGF0ZSBGb3JtIElucHV0CiAgICAvLwogICAgCiAgICAvLyBOYW1lIGNhbiBiZSBlbXB0eSAod2UnbGwgZ2VuZXJhdGUgb25lKQogICAgaWYoIGVtcHR5KCRmaWVsZG5hbWUpICkKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVChjYXRlZ29yeV9pZCkrMSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzCiAgICAgICAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJJGZpZWxkbmFtZSA9ICdmaWVsZF8nLiRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKICAgICAgfQoKICAgIC8vIFByb21wdCBjYW4gYmUgZW1wdHkgKHdlJ2xsIHVzZSB0aGUgZmllbGQgbmFtZSkKICAgIGlmKCBlbXB0eSgkZmllbGRwcm9tcHQpICkKICAgICAgewoJJGZpZWxkcHJvbXB0ID0gJGZpZWxkbmFtZTsKICAgICAgfQoKICAgIC8vIHByb2Nlc3MgdXBsb2FkZWQgZmlsZXMKICAgICRlcnJvciA9ICcnOwogICAgc3dpdGNoKCRmaWVsZHR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnaW1hZ2UnOgoJLy8gaWYgYW4gaW1hZ2UgaGFzIGJlZW4gdXBsb2FkZWQKCS8vIHByb2Nlc3MgaXQKCS8vIG9wdGlvbmFsbHkgZ2VuZXJhdGUgYSB0aHVtYm5haWwKCS8vIGFuZCBzZXQgdGhlIGZpZWxkIHZhbHVlLgoJJGF0dHIgPSAnZGVmYXVsdCc7CglpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ10pICkKCSAgewoJICAgICRhdHRyID0gJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ107CgkgIH0KCSRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLCdjYXRlZ29yaWVzJywkY2F0aWQpOwoJJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnaW5wdXRfZmlsZScsJGRlc3RkaXIsJGVycm9yLCcnLCRhdHRyKTsKCWlmKCAkcmVzICE9PSBGQUxTRSAmJiAkcmVzICE9PSBUUlVFKQoJICB7CgkgICAgJGZpZWxkdmFsdWUgPSAkcmVzOwoJICB9CglicmVhazsKCiAgICAgIGNhc2UgJ2ZpbGUnOgoJLy8gaWYgYSBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkCgkvLyBwcm9jZXNzIGl0CgkvLyBhbmQgc2V0IHRoZSBmaWVsZCB2YWx1ZQoJJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksJ2NhdGVnb3JpZXMnLCRjYXRpZCk7CgljZ2VfZGlyOjpta2RpcnIoJGRlc3RkaXIpOwoJaWYoICFpc19kaXIoJGRlc3RkaXIpICkgZGllKCdkaXJlY3Rvcnkgc3RpbGwgZG9lcyBub3QgZXhpc3QnKTsKCSRoYW5kbGVyID0gbmV3IGNnX2ZpbGV1cGxvYWQoJGlkLCRkZXN0ZGlyKTsKCSRoYW5kbGVyLT5zZXRfYWNjZXB0ZWRfZmlsZXR5cGVzKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ZpbGV0eXBlcycpKTsKCSRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgnaW5wdXRfZmlsZScpOwoJJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKCWlmKCAhJHJlcyAmJiAkZXJyICE9IGNnX2ZpbGV1cGxvYWQ6Ok5PRklMRSApCgkgIHsKCSAgICAkZXJyb3IgPSBzcHJpbnRmKCIlcyAlczogJXMiLCR0aGlzLT5MYW5nKCdmaWVsZCcpLCdpbnB1dF9maWxlJywKCQkJICAgICAkdGhpcy0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJGZpZWxkdmFsdWUgPSAkcmVzOwoJICB9CglicmVhazsKICAgICAgfQoKICAgIC8vIEF0IHRoaXMgcG9pbnQsIHZhbHVlIGNhbm5vdCBiZSBlbXB0eQogICAgaWYoIGVtcHR5KCRmaWVsZHZhbHVlKSAmJiBlbXB0eSgkZXJyb3IpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknKTsKICAgICAgfQoKICAgIGlmKCAhZW1wdHkoJGVycm9yKSApCiAgICAgIHsKCS8vIEhhbmRsZSBlcnJvcnMuCgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcik7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gU3RvcmUgdGhlIGZpZWxkIGRlZmluaXRpb24KCWlmKCAkZWRpdGluZyA9PSAxICkKCSAgewoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBmaWVsZF90eXBlID0gPywgZmllbGRfcHJvbXB0ID0gPywgZmllbGRfdmFsdWUgPSA/CiAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBmaWVsZF9uYW1lID0gPyc7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmllbGR0eXBlLCRmaWVsZHByb21wdCwkZmllbGR2YWx1ZSwkY2F0aWQsJGZpZWxkbmFtZSkpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMgCiAgICAgICAgICAgICAoY2F0ZWdvcnlfaWQsIGZpZWxkX3R5cGUsIGZpZWxkX25hbWUsIGZpZWxkX3Byb21wdCwgZmllbGRfdmFsdWUpCiAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyknOwoJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNhdGlkLCRmaWVsZHR5cGUsJGZpZWxkbmFtZSwkZmllbGRwcm9tcHQsJGZpZWxkdmFsdWUpKTsKCSAgfQoKCS8vIFJlZGlyZWN0LgoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZWRpdGNhdGVnb3J5ZmllbGRzJywkcmV0dXJuaWQsCgkJCWFycmF5KCdjYXRpZCc9PiRjYXRpZCkpOwogICAgICB9CiAgfQoKIwojIENyZWF0ZSB0aGUgZm9ybQojCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZGRjYXRlZ29yeWZpZWxkJywkcmV0dXJuaWQsCgkJCQkJCSAgICAgYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKSxmYWxzZSwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokZmllbGR0eXBlcyA9IGFycmF5KCk7CiRmaWVsZHR5cGVzWyR0aGlzLT5MYW5nKCd0ZXh0Ym94JyldID0gJ3RleHRib3gnOwokZmllbGR0eXBlc1skdGhpcy0+TGFuZygndGV4dGFyZWEnKV0gPSAndGV4dGFyZWEnOwokZmllbGR0eXBlc1skdGhpcy0+TGFuZygnaW1hZ2V0ZXh0JyldID0gJ2ltYWdlJzsKJGZpZWxkdHlwZXNbJHRoaXMtPkxhbmcoJ2ZpbGUnKV0gPSAnZmlsZSc7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGR0eXBlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2ZpZWxkdHlwZScsJGZpZWxkdHlwZXMsLTEsJGZpZWxkdHlwZSwKCQkJCQkgICAnb25DaGFuZ2U9InRoaXMuZm9ybS5zdWJtaXQoKSInKSk7CiRhZGR0ZXh0ID0gJyc7CmlmKCAkZWRpdGluZyApCnsKICAkYWRkdGV4dCA9ICdyZWFkb25seT0icmVhZG9ubHkiJzsKfQokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbjEnLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2lucHV0X2VkaXRpbmcnLCRlZGl0aW5nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGRuYW1lJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfZmllbGRuYW1lJywkZmllbGRuYW1lLDQwLDI1NSwkYWRkdGV4dCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkcHJvbXB0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfZmllbGRwcm9tcHQnLCRmaWVsZHByb21wdCw0MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHZhbHVlJywkZmllbGR2YWx1ZSk7CiRzbWFydHktPmFzc2lnbignZmllbGR0eXBlJywkZmllbGR0eXBlKTsKc3dpdGNoKCAkZmllbGR0eXBlICkKewogY2FzZSAndGV4dGJveCc6CiAgICRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGR2YWx1ZScsCgkJICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2ZpZWxkdmFsdWUnLCRmaWVsZHZhbHVlLDgwLDI1NSkpOwogICBicmVhazsKCiBjYXNlICd0ZXh0YXJlYSc6CiAgICRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGR2YWx1ZScsCgkJICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsJGlkLCRmaWVsZHZhbHVlLCdpbnB1dF9maWVsZHZhbHVlJykpOwogICBicmVhazsKCiBjYXNlICdpbWFnZSc6CiAgIGlmKCAhZW1wdHkoJGZpZWxkdmFsdWUpICkKICAgICB7CiAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfZmllbGR2YWx1ZScsJGZpZWxkdmFsdWUpKTsKICAgICB9CiAgICRzbWFydHktPmFzc2lnbignZmlsZWxvY2F0aW9uJywndXBsb2Fkcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJGNhdGlkKTsKICAgaWYoIGZpbGVfZXhpc3RzKCBjbXNfam9pbl9wYXRoKCAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHRoaXMtPkdldE5hbWUoKSwgJ2NhdGVnb3JpZXMnLCAkY2F0aWQsICRmaWVsZHZhbHVlKSkgKQogICAgIHsKICAgICAgICRzbWFydHktPmFzc2lnbignZmlsZWV4aXN0cycsMSk7CiAgICAgfQogICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG93YXRlcm1hcmsnKSA9PSAnYWRqdXN0YWJsZScgKQogICAgIHsKICAgICAgICR3bW9wdHMgPSBhcnJheSgpOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnbm9uZScpXSA9ICdub25lJzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2RlZmF1bHQnKV0gPSAnZGVmYXVsdCc7CiAgICAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91bCcpXSA9ICcwJzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX3VjJyldID0gJzEnOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdXInKV0gPSAnMic7CiAgICAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tbCcpXSA9ICczJzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX21jJyldID0gJzQnOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbXInKV0gPSAnNSc7CiAgICAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sbCcpXSA9ICc2JzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX2xjJyldID0gJzcnOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbHInKV0gPSAnOCc7CgogICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfd2F0ZXJtYXJrbG9jYXRpb24nLAoJCSAgICAgICAkdGhpcy0+TGFuZygnd2F0ZXJtYXJrX2xvY2F0aW9uJykpOwogICAgICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF93YXRlcm1hcmtsb2NhdGlvbicsCgkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfd2F0ZXJtYXJrJywkd21vcHRzLC0xLCdkZWZhdWx0JykpOwogICAgIH0KICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZHZhbHVlJywKCQkgICAkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnaW5wdXRfZmlsZScsJycsNDApKTsKICAgYnJlYWs7CgogY2FzZSAnZmlsZSc6CiAgIGlmKCAhZW1wdHkoJGZpZWxkdmFsdWUpICkKICAgICB7CiAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfZmllbGR2YWx1ZScsJGZpZWxkdmFsdWUpKTsKICAgICB9CiAgICRzbWFydHktPmFzc2lnbignZmlsZWxvY2F0aW9uJywndXBsb2Fkcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJGNhdGlkKTsKICAgaWYoIGZpbGVfZXhpc3RzKCBjbXNfam9pbl9wYXRoKCAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHRoaXMtPkdldE5hbWUoKSwgJ2NhdGVnb3JpZXMnLCAkY2F0aWQsICRmaWVsZHZhbHVlKSkgKQogICAgIHsKICAgICAgICRzbWFydHktPmFzc2lnbignZmlsZWV4aXN0cycsMSk7CiAgICAgfQogICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkdmFsdWUnLAoJCSAgICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdpbnB1dF9maWxlJywnJyw0MCkpOwogICBicmVhazsKfQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgoKIyBQcm9jZXNzIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkY2F0ZWdvcnlmaWVsZC50cGwnKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.addfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2ZpZWxkZGVmcycpOwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgUHJvZHVjdHMnKSkpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKJG5hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCnsKCSRuYW1lID0gJHBhcmFtc1snbmFtZSddOwp9CgokcHJvbXB0ID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydwcm9tcHQnXSkpCnsKCSRwcm9tcHQgPSAkcGFyYW1zWydwcm9tcHQnXTsKfQoKJG9wdGlvbnMgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ29wdGlvbnMnXSkpCnsKICAkb3B0aW9ucyA9IHRyaW0oJHBhcmFtc1snb3B0aW9ucyddKTsKfQoKJHR5cGUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3R5cGUnXSkpCnsKCSR0eXBlID0gJHBhcmFtc1sndHlwZSddOwp9CgokbWF4X2xlbmd0aCA9IDI1NTsKaWYgKGlzc2V0KCRwYXJhbXNbJ21heF9sZW5ndGgnXSkpCnsKICAkbWF4X2xlbmd0aCA9IChpbnQpJHBhcmFtc1snbWF4X2xlbmd0aCddOwp9CgokcHVibGljID0gMTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3B1YmxpYyddKSApCiAgewogICAgJHB1YmxpYyA9IChpbnQpJHBhcmFtc1sncHVibGljJ107CiAgfQoKJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCnsKICBpZiggJHR5cGUgPT0gJycgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZpZWxkdHlwZScpKTsKICAgIH0KICBlbHNlIGlmICgkbmFtZSA9PSAnJykKICAgIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgICB9CiAgZWxzZSBpZiggISR0aGlzLT5pc19hbGlhcygkbmFtZSkgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX25hbWUnKSk7CiAgICB9CiAgZWxzZSBpZiggIWVtcHR5KCRtYXhfbGVuZ3RoKSAmJiAhaXNfbnVtZXJpYygkbWF4X2xlbmd0aCkgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub3RhbnVtYmVyJykpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJG1heCA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgbWF4KGl0ZW1fb3JkZXIpICsgMSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcycpOwogICAgICBpZiggISRtYXggKSAkbWF4ID0gMDsKICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIChuYW1lLCBwcm9tcHQsIHR5cGUsIG1heF9sZW5ndGgsIGl0ZW1fb3JkZXIsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlLCBwdWJsaWMsIG9wdGlvbnMpIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8pJzsKICAgICAgJHBhcm1zID0gYXJyYXkoJG5hbWUsICRwcm9tcHQsICR0eXBlLCAkbWF4X2xlbmd0aCwgJG1heCwgCgkJICAgICB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwgCgkJICAgICB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwKCQkgICAgICRwdWJsaWMsJG9wdGlvbnMpOwogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHBhcm1zICk7CiAgICAgIGlmKCAhJGRiciApIHsKCWVjaG8gIkRFQlVHOiByZXN1bHQgPSAiLiRkYi0+RXJyb3JNc2coKS4iPGJyLz4mbmJzcDsmbmJzcDsiLiRkYi0+c3FsLiI8YnIvPiI7IGRpZSgpOwogICAgICB9CiAgICAgIAogICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgfQp9CgojRGlzcGxheSB0ZW1wbGF0ZQokc21hcnR5LT5hc3NpZ24oJ29wdGlvbnMnLCRvcHRpb25zKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAKCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkZmllbGRkZWYnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDMwLCAyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHByb21wdCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3Byb21wdCcsJHByb21wdCw1MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdzaG93aW5wdXR0eXBlJywgdHJ1ZSk7CgokYWRkdGV4dCA9ICJvbkNoYW5nZT0ndGhpcy5mb3JtLnN1Ym1pdCgpJyI7CiRzbWFydHktPmFzc2lnbignaW5wdXR0eXBlJywgJHRoaXMtPkdldFR5cGVzRHJvcGRvd24oJGlkLCAndHlwZScsICR0eXBlLCAkYWRkdGV4dCwgdHJ1ZSkpOwokc21hcnR5LT5hc3NpZ24oJ3R5cGUnLCR0eXBlKTsKCmlmKCAkdHlwZSA9PSAndGV4dGJveCcgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRtYXhsZW5ndGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ21heF9sZW5ndGgnLCAkbWF4X2xlbmd0aCwgMzAsIDI1NSkpOwogIH0KCiRzbWFydHktPmFzc2lnbigndXNlcnZpZXd0ZXh0JywkdGhpcy0+TGFuZygncHVibGljJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJ2aWV3JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdwdWJsaWMnLCAxLCAkcHVibGljKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICcnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGZpZWxkZGVmLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.addproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCi8vCi8vIEEgdXRpbGl0eSBmdW5jdGlvbgovLwpmdW5jdGlvbiBnZXRfZmllbGRfZGVmKCYkZmllbGRkZWZzLCRpZCkKewogIGZvcmVhY2goICRmaWVsZGRlZnMgYXMgJG9uZWRlZiApCiAgICB7CiAgICAgIGlmKCAkb25lZGVmLT5pZCA9PSAkaWQgKQoJewoJICByZXR1cm4gJG9uZWRlZjsKCX0KICAgIH0KICByZXR1cm4gZmFsc2U7Cn0KCgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CiAgICByZXR1cm47CiAgfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCiRwcm9kdWN0X25hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RfbmFtZSddKSkKICB7CiAgICAkcHJvZHVjdF9uYW1lID0gJHBhcmFtc1sncHJvZHVjdF9uYW1lJ107CiAgfQoKJHByaWNlID0gMC4wOwppZiAoaXNzZXQoJHBhcmFtc1sncHJpY2UnXSkgKQogIHsKICAgICRwcmljZSA9IChmbG9hdCkkcGFyYW1zWydwcmljZSddOwogIH0KJHdlaWdodCA9IDAuMDsKaWYgKGlzc2V0KCRwYXJhbXNbJ3dlaWdodCddKSApCiAgewogICAgJHdlaWdodCA9IChmbG9hdCkkcGFyYW1zWyd3ZWlnaHQnXTsKICB9CiRza3UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3NrdSddKSApCiAgewogICAgJHNrdSA9IHRyaW0oJHBhcmFtc1snc2t1J10pOwogIH0KJGFsaWFzID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydhbGlhcyddKSApCiAgewogICAgJGFsaWFzID0gdHJpbSgkcGFyYW1zWydhbGlhcyddKTsKICB9CgokZGV0YWlscyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscyddKSkKICB7CiAgICAkZGV0YWlscyA9ICRwYXJhbXNbJ2RldGFpbHMnXTsKICB9Cgokc3RhdHVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3RhdHVzJywncHVibGlzaGVkJyk7CmlmIChpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkpCiAgewogICAgJHN0YXR1cyA9ICRwYXJhbXNbJ3N0YXR1cyddOwogIH0KCiR0YXhhYmxlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfdGF4YWJsZScsMSk7CmlmIChpc3NldCgkcGFyYW1zWyd0YXhhYmxlJ10pKQogIHsKICAgICR0YXhhYmxlID0gMTsKICB9CgokdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwokZmllbGRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmcyh0cnVlKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCiAgewogICAgJGR1cGxpY2F0ZSA9ICcnOwogICAgJGR1cGxpY2F0ZXNrdSA9ICcnOwogICAgJGR1cGxpY2F0ZWFsaWFzID0gJyc7CiAgICBpZiggIWVtcHR5KCRwcm9kdWN0X25hbWUpICkKICAgICAgewoJLy8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBuYW1lCgkkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cwogICAgICAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9uYW1lID0gPyc7CgkkZHVwbGljYXRlID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X25hbWUpKTsKICAgICAgfQoKICAgIC8vIGNoZWNrIGZvciBlbXB0eSBhbGlhcwogICAgaWYoIGVtcHR5KCRhbGlhcykgKQogICAgICB7CgkkYWxpYXMgPSBwcm9kdWN0X29wczo6Z2VuZXJhdGVfYWxpYXMoJHByb2R1Y3RfbmFtZSk7CiAgICAgIH0KCiAgICAvLyBjaGVjayBmb3IgZHVwbGljYXRlIGFsaWFzCiAgICBpZiggcHJvZHVjdF9vcHM6OmNoZWNrX2FsaWFzX3VzZWQoJGFsaWFzKSApCiAgICAgIHsKCSRkdXBsaWNhdGVhbGlhcyA9ICRhbGlhczsKICAgICAgfQoKICAgIGlmKCAhJGR1cGxpY2F0ZSAmJiAhZW1wdHkoJHNrdSkgKQogICAgICB7CgkvLyBjaGVjayBmb3IgZHVwbGljYXRlIHNrdQoJaWYoIHByb2R1Y3Rfb3BzOjpjaGVja19za3VfdXNlZCgkc2t1KSApCgkgIHsKCSAgICAkZHVwbGljYXRlc2t1ID0gJHNrdTsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRwcm9kdWN0X25hbWUpICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoICRkdXBsaWNhdGUgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9wcm9kdWN0X25hbWV1c2VkJykpOwogICAgICB9CiAgICBlbHNlIGlmKCAkZHVwbGljYXRlYWxpYXMgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9wcm9kdWN0X2FsaWFzdXNlZCcpKTsKICAgICAgfQogICAgZWxzZSBpZiggJGR1cGxpY2F0ZXNrdSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2R1Y3Rfc2t1dXNlZCcpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBpbnNlcnQgdGhlIHByb2R1Y3QgcmVjb3JkCgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyAocHJvZHVjdF9uYW1lLCBwcmljZSwgZGV0YWlscywgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUsIHRheGFibGUsIHN0YXR1cywgd2VpZ2h0LCBza3UsIGFsaWFzKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcHJvZHVjdF9uYW1lLCAkcHJpY2UsICRkZXRhaWxzLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksICR0YXhhYmxlLCAkc3RhdHVzLCAkd2VpZ2h0LCAkc2t1LCAkYWxpYXMpKTsKCWlmKCAhJGRiciApIAoJICB7CgkgICAgZGllKCdFUlJPUjogJy4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKSk7CgkgIH0KCSRjaWQgPSAkZGItPkluc2VydF9JRCgpOwoKCS8vIGluc2VydCB0aGUgcHJvZHRvaGllciByZWNvcmQKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIgCiAgICAgICAgICAgICAgICAgICAocHJvZHVjdF9pZCxoaWVyYXJjaHlfaWQpCiAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyknOwoJJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkY2lkLCAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeSddKSApOwoKCS8vIEhhbmRsZSBjdXN0b20gZmllbGRzCgkkZXJyb3JzID0gYXJyYXkoKTsKCWlmIChpc3NldCgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZCddKSkKCSAgewoJICAgIGZvcmVhY2ggKCRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkJ10gYXMgJGs9PiR2KQoJICAgICAgewoJCWlmIChzdGFydHN3aXRoKCRrLCAnZmllbGQtJykpCgkJICB7CgkJICAgIC8vIGdldCB0aGUgZmllbGQgaW5kZXgKCQkgICAgJGZpZCA9IHN1YnN0cigkaywgNik7CgoJCSAgICAvLyBnZXQgdGhlIGZpZWxkIHR5cGUKCQkgICAgJGRlZiA9IGdldF9maWVsZF9kZWYoJGZpZWxkZGVmcywkZmlkKTsKCQkgICAgaWYoICEkZGVmICkKCQkgICAgICB7CgkJCWRpZSgnY291bGQgbm90IGdldCBmaWVsZCBkZWYgZm9yICcuJGZpZCk7CgkJCWNvbnRpbnVlOwoJCSAgICAgIH0KCgkJICAgIC8vIGhhbmRsZSB0aGUgdXBsb2FkIChpZiBhbnkpCgkJICAgIHN3aXRjaCggJGRlZi0+dHlwZSApCgkJICAgICAgewoJCSAgICAgIGNhc2UgJ2ZpbGUnOgoJCQkkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwKCQkJCQkJICdwcm9kdWN0XycuJGNpZCk7CgkJCWNnZV9kaXI6Om1rZGlycigkZGVzdGRpcik7CgkJCWlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApIGRpZSgnZGlyZWN0b3J5IHN0aWxsIGRvZXMgbm90IGV4aXN0Jyk7CgkJCSRoYW5kbGVyID0gbmV3IGNnX2ZpbGV1cGxvYWQoJGlkLCRkZXN0ZGlyKTsKCQkJJGhhbmRsZXItPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfZmlsZXR5cGVzJykpOwoJCQkkcmVzID0gJGhhbmRsZXItPmhhbmRsZV91cGxvYWQoJ2N1c3RvbWZpZWxkJywnJywnZmllbGQtJy4kZmlkKTsKCQkJJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKCQkJaWYoICEkcmVzICYmICRlcnIgIT0gY2dfZmlsZXVwbG9hZDo6Tk9GSUxFICkKCQkJICB7CgkJCSAgICAkZXJyb3JzW10gPSBzcHJpbnRmKCIlcyAlczogJXMiLCR0aGlzLT5MYW5nKCdmaWVsZCcpLCRkZWYtPm5hbWUsCgkJCQkJCSR0aGlzLT5HZXRVcGxvYWRFcnJvck1lc3NhZ2UoJGVycikpOwoJCQkgIH0KCQkJZWxzZSBpZiggISRyZXMgKQoJCQkgIHsKCQkJICAgICR2ID0gbnVsbDsKCQkJICB9CgkJCWVsc2UKCQkJICB7CgkJCSAgICAkdiA9ICRyZXM7CgkJCSAgfQoJCQlicmVhazsKCgkJICAgICAgY2FzZSAnaW1hZ2UnOgogICAgICAgICAgICAgICAgICAgICAgICAkYXR0ciA9ICdkZWZhdWx0JzsgLy8gdXNlIGRlZmF1bHQgdmFsdWUgZm9yIHdtbG9jYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGlzc2V0KCRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkX2F0dHInXSkgJiYgaXNzZXQoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGRfYXR0ciddWyRrXSkgKQogICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyID0gJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGRfYXR0ciddWyRrXTsKICAgICAgICAgICAgICAgICAgICAgICAgICB9CgkJICAgICAgICAkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwKCQkJCQkgICAgICAgJ3Byb2R1Y3RfJy4kY2lkKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnY3VzdG9tZmllbGQnLCRkZXN0ZGlyLCRlcnJvcnMsJ2ZpZWxkLScuJGZpZCwkYXR0cik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkcmVzID09PSBGQUxTRSApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAkdiA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiggJHJlcyA9PT0gVFJVRSApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICR2ID0gJHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgfQoJCQlicmVhazsKCgkJICAgICAgY2FzZSAndGV4dGJveCc6CgkJICAgICAgY2FzZSAnY2hlY2tib3gnOgoJCSAgICAgIGNhc2UgJ3RleHRhcmVhJzoKCQkgICAgICBjYXNlICdkcm9wZG93bic6CgkJCWJyZWFrOwoKCQkgICAgICBkZWZhdWx0OgoJCQlkaWUoInVua25vd24gdHlwZTogIi4kZGVmLT50eXBlKTsKCQkJYnJlYWs7CgkJICAgICAgfQoKCQkgICAgLy8gY29tbWl0IGl0LgoJCSAgICBpZiggIWlzX251bGwoJHYpICYmICFlbXB0eSgkdikgKQoJCSAgICAgIHsKCQkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIChwcm9kdWN0X2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LD8sPyknOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2lkLCAkZmlkLCAkdiwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpKSk7CgkJICAgICAgfQoJCSAgfQoJICAgICAgfQoJICB9CgoJLy8gaGFuZGxlIGNhdGVnb3J5IHN0dWZmCglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcmllcyddKSkKCSAgewoJICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2NhdGVnb3JpZXMnXSBhcyAkdikKCSAgICAgIHsKCQkgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIChwcm9kdWN0X2lkLCBjYXRlZ29yeV9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sPyknOwoJCSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2lkLCAkdiwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpKSk7CgkgICAgICB9CgkgIH0KCQkKCS8vVXBkYXRlIHNlYXJjaCBpbmRleAoJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJaWYgKCRtb2R1bGUgIT0gRkFMU0UpCgkgIHsKCSAgICBpZiggJHN0YXR1cyA9PSAncHVibGlzaGVkJyApCgkgICAgICB7CgkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGNpZCwgJ3Byb2R1Y3QnLCAKCQkJCSAgaW1wbG9kZSgnICcsICR0aGlzLT5HZXRTZWFyY2hhYmxlVGV4dCgkY2lkKSApKTsKCSAgICAgIH0KCSAgfQoKCS8vIGlmIHRoZXJlIHdlcmUgZXJyb3JzCgkvLyBkaXNwbGF5IHRoZW0KCS8vIGFuZCBhIHJldHVybiBsaW5rCgkvLyBjb3VsZCB1c2UgYSB0ZW1wbGF0ZSBoZXJlLCBidXQgZnVnIGl0IGZvciBub3cuCglpZiggY291bnQoJGVycm9ycykgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnaW5mb19maWVsZHByb2JsZW1zJykpOwogICAgICAgICAgICByZXR1cm47CgkgIH0KICAgICAgICBlbHNlCiAgICAgICAgICB7CiAgCSAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgICAgICAgfQogICAgICB9IC8vIGluc2VydCB0aGUgcHJvZHVjdCByZWNvcmQKICB9CgokZmllbGRhcnJheSA9IGFycmF5KCk7CmlmIChjb3VudCgkZmllbGRkZWZzKSA+IDApCiAgewogICAgJHdtb3B0cyA9IGFycmF5KCk7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdub25lJyldID0gJ25vbmUnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnZGVmYXVsdCcpXSA9ICdkZWZhdWx0JzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX3VsJyldID0gJzAnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdWMnKV0gPSAnMSc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91cicpXSA9ICcyJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX21sJyldID0gJzMnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbWMnKV0gPSAnNCc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tcicpXSA9ICc1JzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX2xsJyldID0gJzYnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbGMnKV0gPSAnNyc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9scicpXSA9ICc4JzsKCiAgICBmb3JlYWNoICgkZmllbGRkZWZzIGFzICRmaWVsZGRlZikKICAgICAgewoJJGZpZWxkID0gbmV3IHN0ZENsYXNzKCk7CgogICAgICAgICR2YWx1ZSA9ICcnOwogICAgICAgIGlmIChpc3NldCgkZmllbGRkZWYtPnZhbHVlKSkKCSAgewoJICAgICR2YWx1ZSA9ICRmaWVsZGRlZi0+dmFsdWU7CgkgIH0KCglpZiAoaXNzZXQoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXVsnZmllbGQtJy4kZmllbGRkZWYtPmlkXSkpCgkgICR2YWx1ZSA9ICRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkJ11bJ2ZpZWxkLScuJGZpZWxkZGVmLT5pZF07CgkkZmllbGQtPmlkID0gJGZpZWxkZGVmLT5pZDsKCSRmaWVsZC0+bmFtZSA9ICRmaWVsZGRlZi0+bmFtZTsKCSRmaWVsZC0+cHJvbXB0ID0gJGZpZWxkZGVmLT5wcm9tcHQ7CgkkZmllbGQtPnR5cGUgPSAkZmllbGRkZWYtPnR5cGU7Cglzd2l0Y2ggKCRmaWVsZGRlZi0+dHlwZSkKCSAgewoJICBjYXNlICdjaGVja2JveCc6CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJyAuICRpZCAuICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nIC4gJyIgdmFsdWU9ImZhbHNlIiAvPicuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywgJ3RydWUnLCAkdmFsdWUgPT0gJ3RydWUnKTsKCSAgICBicmVhazsKCSAgY2FzZSAndGV4dGFyZWEnOgoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJHZhbHVlLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJyk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2Ryb3Bkb3duJzoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsICRmaWVsZGRlZi0+b3B0aW9ucywgLTEsICR2YWx1ZSApOwoJICAgIGJyZWFrOwoJICBjYXNlICdmaWxlJzoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCcnLDUwKTsKCSAgICAkZmllbGQtPmhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJycpOwoJICBjYXNlICdpbWFnZSc6CiAgICAgICAgICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b3dhdGVybWFyaycpID09ICdhZGp1c3RhYmxlJyApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGZpZWxkLT5hdHRyaWJ1dGUgPSAkdGhpcy0+TGFuZygnd2F0ZXJtYXJrX2xvY2F0aW9uJykuJyZuYnNwOycuCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjdXN0b21maWVsZF9hdHRyW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJHdtb3B0cywtMSwnZGVmYXVsdCcpOwogICAgICAgICAgICAgIH0KCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCcnLDUwKTsKCSAgICAkZmllbGQtPmhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJycpOwoJICAgIGJyZWFrOwoJICBjYXNlICd0ZXh0Ym94JzoKCSAgZGVmYXVsdDoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywgJHZhbHVlLCAzMCwgMjU1KTsKCSAgICBicmVhazsKCSAgfQoJJGZpZWxkYXJyYXlbXSA9ICRmaWVsZDsKICAgICAgfQogIH0KCiRjYXRlZ29yaWVzID0gJHRoaXMtPkdldENhdGVnb3JpZXMoKTsKJGNhdGFycmF5ID0gYXJyYXkoKTsKCmlmIChjb3VudCgkY2F0ZWdvcmllcykgPiAwKQogIHsKICAgIGZvcmVhY2ggKCRjYXRlZ29yaWVzIGFzICRmaWVsZGRlZikKICAgICAgewogICAgICAgICRjYXRhcnJheVskZmllbGRkZWYtPm5hbWVdID0gJGZpZWxkZGVmLT5pZDsKICAgICAgfQogIH0KCiNEaXNwbGF5IHRlbXBsYXRlCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZGRwcm9kdWN0JywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncHJvZHVjdF9uYW1lJywgJHByb2R1Y3RfbmFtZSwgMzAsIDI1NSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3ByaWNldGV4dCcsICR0aGlzLT5MYW5nKCdwcmljZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHByaWNlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwcmljZScsICRwcmljZSwgOCwgMTIpKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9zeW1ib2wnLHByb2R1Y3Rfb3BzOjpnZXRfY3VycmVuY3lfc3ltYm9sKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3dlaWdodHRleHQnLCAkdGhpcy0+TGFuZygnd2VpZ2h0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0d2VpZ2h0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd3ZWlnaHQnLCAkd2VpZ2h0LCA4LCAxMikpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dHNrdScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3NrdScsJHNrdSwxMCwyNSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0YWxpYXMnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdhbGlhcycsJGFsaWFzLDQwLDI1NSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3dlaWdodHVuaXRzJyxwcm9kdWN0X29wczo6Z2V0X3dlaWdodF91bml0cygpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZXRhaWxzdGV4dCcsICR0aGlzLT5MYW5nKCdkZXRhaWxzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZGV0YWlscycsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRkZXRhaWxzLCAnZGV0YWlscycsICcnLCAnJywgJycsICcnLCAnODAnLCAnNScpKTsKCmlmKCBjb3VudCgkY2F0YXJyYXkpID4gMCApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yaWVzJywKICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ2NhdGVnb3JpZXNbXScsJGNhdGFycmF5KSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCd0YXhhYmxldGV4dCcsJHRoaXMtPkxhbmcoJ3RheGFibGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR0YXhhYmxlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3RheGFibGUnLDEsJHRheGFibGUpKTsKCiRoaWVyYXJjaHlfaXRlbXMgPSAkdGhpcy0+QnVpbGRIaWVyYXJjaHlMaXN0KCk7CiRzbWFydHktPmFzc2lnbignaGllcmFyY2h5X2l0ZW1zJywkaGllcmFyY2h5X2l0ZW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfcG9zJyxpc3NldCgkcGFyYW1zWydoaWVyYXJjaHknXSk/JHBhcmFtc1snaGllcmFyY2h5J106LTEpOwoKJHN0YXR1c2VzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ3B1Ymxpc2hlZCcpPT4ncHVibGlzaGVkJywKCQkgICR0aGlzLT5MYW5nKCdkcmFmdCcpPT4nZHJhZnQnLAoJCSAgJHRoaXMtPkxhbmcoJ2Rpc2FibGVkJyk9PidkaXNhYmxlZCcpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRzdGF0dXMnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnc3RhdHVzJywKCQkJCQkgICAkc3RhdHVzZXMsLTEsJHN0YXR1cykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICcnKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignY3VzdG9tZmllbGRzJywgJGZpZWxkYXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1c3RvbWZpZWxkc2NvdW50JywgY291bnQoJGZpZWxkYXJyYXkpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHByb2R1Y3QudHBsJyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.add_attrib_set.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQoKTsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgUHJvZHVjdHMnKSkpOwoJcmV0dXJuOwogIH0KaWYoICFpc3NldCgkcGFyYW1zWydjb21waWQnXSkgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICAgIHJldHVybjsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0X2F0dHJpYnNldHMnLCRyZXR1cm5pZCwKCQkJCQlhcnJheSgnY29tcGlkJz0+JHBhcmFtc1snY29tcGlkJ10pKTsKICAgIHJldHVybjsKICB9CgovLyBnZXQgcHJvZHVjdCBpbmZvCiRxID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyBXSEVSRSBpZCA9ID8nOwokcHJvZHVjdCA9ICRkYi0+R2V0Um93KCRxLGFycmF5KCRwYXJhbXNbJ2NvbXBpZCddKSk7CmlmKCAhJHByb2R1Y3QgKQogIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2R1Y3Rfbm90Zm91bmQnKSk7CglyZXR1cm47CiAgfQoKLy8gaW5pdGlhbGl6YXRpb24KJHNldF9uYW1lID0gJyc7CiRhdHRyaWJzZXRfdmFsdWVzID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2F0dHJzZXRpZCddKSAmJiAhaXNzZXQoJHBhcmFtc1sndmFsdWVfdXBkYXRlJ10pICYmCgkhaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQogIHsKICAgIC8vIHdlIHdlcmUgcGFzc2VkIGFuIGF0dHJpYnV0ZSBzZXQgaWQKICAgIC8vIGxvYWQgdGhlIHZhbHVlcyBmcm9tIHRoZSBkYXRhYmFzZS4KICAgICRxdWVyeSA9ICdTRUxFQ1QgYXR0cmliX3NldF9uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzZXRzCiAgICAgICAgICAgICAgIFdIRVJFIGF0dHJpYl9zZXRfaWQgPSA/JzsKICAgICRzZXRfbmFtZSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcGFyYW1zWydhdHRyc2V0aWQnXSkpOwogICAgaWYoICEkc2V0X25hbWUgKQogICAgICB7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfZGJlcnJvcicpKTsKCQlyZXR1cm47CiAgICAgIH0KCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMgCiAgICAgICAgICAgICAgIFdIRVJFIGF0dHJpYl9zZXRfaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldEFycmF5KCAkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2F0dHJzZXRpZCddKSApOwoJaWYoICR0bXAgKQoJICB7CgkJJGF0dHJpYnNldF92YWx1ZXMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnYXR0cmliX3RleHQnKTsKCSAgfQogIH0KCi8vIFByb2Nlc3MgdGhlIGlucHV0CmlmKCBpc3NldCgkcGFyYW1zWydhdHRyaWJ1dGVfbmFtZSddKSApCiAgewogICAgJHNldF9uYW1lID0gdHJpbSgkcGFyYW1zWydhdHRyaWJ1dGVfbmFtZSddKTsKICB9CgoKJGVycm9ycyA9IGFycmF5KCk7CmlmKCBpc3NldCgkcGFyYW1zWydvcHR0ZXh0J10pICYmIGlzc2V0KCRwYXJhbXNbJ29wdHZhbHVlJ10pICYmIAoJaXNzZXQoJHBhcmFtc1snb3B0c2t1J10pIAogICAgJiYgKGNvdW50KCRwYXJhbXNbJ29wdHRleHQnXSkgPT0gY291bnQoJHBhcmFtc1snb3B0dmFsdWUnXSkpICkKICB7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcGFyYW1zWydvcHR0ZXh0J10pOyAkaSsrICkKICAgICAgewoJCSRrID0gdHJpbSgkcGFyYW1zWydvcHR0ZXh0J11bJGldKTsKCQkkdiA9IHRyaW0oJHBhcmFtc1snb3B0dmFsdWUnXVskaV0pOwoJCSRzID0gdHJpbSgkcGFyYW1zWydvcHRza3UnXVskaV0pOwoJCWlmKCBlbXB0eSgkaykgKSBjb250aW51ZTsKCQlpZiggIXByZWdfbWF0Y2goJy9bXCtcLVwqXT9cZCsoXC5cZCspPy8nLCR2KSApCgkJICB7CgkJCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wcmljZV9hZGp1c3RtZW50Jywkayk7CgkJICB9CgkJaWYoIHByb2R1Y3Rfb3BzOjpjaGVja19za3VfdXNlZCgkcykgKQoJCSAgewoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9za3V1c2VkJywkcyk7CgkJICB9CgkJJHRtcCA9IGFycmF5KCdhdHRyaWJfdGV4dCc9PiRrLAoJCQkJCSAnYXR0cmliX2FkanVzdG1lbnQnPT4kdiwKCQkJCQkgJ3NrdSc9PiRzKTsKCQkkYXR0cmlic2V0X3ZhbHVlc1ska10gPSAkdG1wOwogICAgICB9CiAgfQoKLy8gbm93IGNoZWNrIGZvciBkdXBsaWNhdGUgc2t1cwp7CiAgJHRtcCA9IGFycmF5KCk7CiAgZm9yZWFjaCggJGF0dHJpYnNldF92YWx1ZXMgYXMgJGsgPT4gJHJlYyApCgl7CgkgIGlmKCAkcmVjWydza3UnXSA9PSAnJyApIGNvbnRpbnVlOwoJICAkdG1wW10gPSAkcmVjWydza3UnXTsKCX0KICAkdG1wMiA9IGFycmF5X3VuaXF1ZSgkdG1wKTsKICBpZiggY291bnQoJHRtcCkgIT0gY291bnQoJHRtcDIpICkKCXsKCSAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2R1cGxpY2F0ZV9za3UnKTsKCX0KfQoKLy8gbm93IHNob3cgZXJyb3JzLgppZiggY291bnQoJGVycm9ycykgKQogIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgfQoKLy8gUHJvY2VzcyB0aGUgc3VibWl0IGJ1dHRvbgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICYmICFjb3VudCgkZXJyb3JzKSApCiAgewogICAgLy8gVmFsaWRhdGUgYWxsIHBhcmFtZXRlcnMKICAgIGlmKCBlbXB0eSggJHNldF9uYW1lICkgKQogICAgICB7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCQlpZiggaXNzZXQoJHBhcmFtc1snYXR0cnNldGlkJ10pICkKCQkgIHsKCQkJLy8gZG9pbmcgYW4gdXBkYXRlCgoJCQkvLyBFbnN1cmUgdGhhdCB0aGUgbmFtZSBpcyB2YWxpZAoJCQkvLyBFbnN1cmUgdGhlcmUgaXMgbm8gc2V0IG5hbWUgdGhhdCBleGlzdHMKCQkJJHF1ZXJ5ID0gJ1NFTEVDVCBhdHRyaWJfc2V0X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzZXRzIAogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGF0dHJpYl9zZXRfbmFtZSA9ID8gCiAgICAgICAgICAgICAgICAgICAgICAgICBBTkQgcHJvZHVjdF9pZCA9ID8KICAgICAgICAgICAgICAgICAgICAgICAgIEFORCBwcm9kdWN0X3NldF9pZCAhPSA/JzsKCQkJJGFzaWQgPSAkZGItPkdldE9uZSgkcXVlcnksCgkJCQkJCQkJYXJyYXkoJHNldF9uYW1lLCRwYXJhbXNbJ2NvbXBpZCddLAoJCQkJCQkJCQkgICRwYXJhbXNbJ2F0dHJzZXRpZCddKSk7CgoJCQlpZiggJGFzaWQgKQoJCQkgIHsKCQkJCS8vIHdlJ3JlIGFkZGluZyBhbmQgdGhlIG5hbWUgYWxyZWFkeSBleGlzdHMKCQkJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnKSk7CgkJCSAgfQoJCQllbHNlCgkJCSAgewoJCQkJLy8gMS4gIERlbGV0ZSB0aGUgYXR0cmlidXRlIHZhbHVlcwoJCQkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBhdHRyaWJfc2V0X2lkID0gPyc7CgkJCQkkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRwYXJhbXNbJ2F0dHJzZXRpZCddKSApOwoKCQkJCS8vIDIuICBVcGRhdGUgdGhlIGF0dHJpYnV0ZSByZWNvcmQKCQkJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzZXRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VUIGF0dHJpYl9zZXRfbmFtZSA9ID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgYXR0cmliX3NldF9pZCA9ID8nOwoJCQkJJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRzZXRfbmFtZSwkcGFyYW1zWydhdHRyc2V0aWQnXSkgKTsKCgkJCQkvLyAzLiAgSW5zZXJ0IHRoZSBhdHRyaWJ1dGUgdmFsdWVzCgkJCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzCiAgICAgICAgICAgICAgICAgICAgICAgIChhdHRyaWJfc2V0X2lkLGF0dHJpYl90ZXh0LGF0dHJpYl9hZGp1c3RtZW50LHNrdSkKICAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyg/LD8sPyw/KSc7CgkJCQlmb3JlYWNoKCRhdHRyaWJzZXRfdmFsdWVzIGFzICRrZXkgPT4gJHJlYyApCgkJCQkgIHsKCQkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgCgkJCQkJCQkJCQkJICBhcnJheSgkcGFyYW1zWydhdHRyc2V0aWQnXSwKCQkJCQkJCQkJCQkJCSRrZXksCgkJCQkJCQkJCQkJCQkkcmVjWydhdHRyaWJfYWRqdXN0bWVudCddLAoJCQkJCQkJCQkJCQkJJHJlY1snc2t1J10pKTsKCQkJCQlpZiggISRkYnJlc3VsdCApCgkJCQkJICB7CgkJCQkJCWVjaG8gJGRiLT5FcnJvck1zZygpLic8YnIvPicuJGRiLT5zcWw7ZGllKCk7CgkJCQkJICB9CgkJCQkgIH0KCgkJCQkvLyA0LiAgUmVkaXJlY3QKCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2VkaXRfYXR0cmlic2V0cycsJHJldHVybmlkLAoJCQkJCQkJCWFycmF5KCdjb21waWQnPT4kcGFyYW1zWydjb21waWQnXSkpOwoJCQkJcmV0dXJuOwoJCQkgIH0KCQkgIH0KCQllbHNlCgkJICB7CgkJCS8vIGRvaW5nIGFuIGluc2VydAoKCQkJLy8gRW5zdXJlIHRoZXJlIGlzIG5vIHNldCBuYW1lIHRoYXQgZXhpc3RzCgkJCSRxdWVyeSA9ICdTRUxFQ1QgYXR0cmliX3NldF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cyBXSEVSRSBhdHRyaWJfc2V0X25hbWUgPSA/IEFORCBwcm9kdWN0X2lkID0gPyc7CgkJCSRhc2lkID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRzZXRfbmFtZSwkcGFyYW1zWydjb21waWQnXSkpOwoJCQlpZiggJGFzaWQgKQoJCQkgIHsKCQkJCS8vIHdlJ3JlIGFkZGluZyBhbmQgdGhlIG5hbWUgYWxyZWFkeSBleGlzdHMKCQkJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnKSk7CgkJCSAgfQoJCQllbHNlCgkJCSAgewoJCQkJLy8gMS4gQ29tbWl0IHRoZSBuZXcgc2V0CgkJCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzZXRzCiAgICAgICAgICAgICAgICAgICAgICAgICAocHJvZHVjdF9pZCxhdHRyaWJfc2V0X25hbWUpCiAgICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyknOwoJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2NvbXBpZCddLCRzZXRfbmFtZSkpOwoJCQkJaWYoICEkZGJyZXN1bHQgKQoJCQkJICB7CgkJCQkJZWNobyAkZGItPkVycm9yTXNnKCkuJzxici8+Jy4kZGItPnNxbDtkaWUoKTsKCQkJCSAgfQoJCQkJJGFzaWQgPSAkZGItPkluc2VydF9JRCgpOwoJCQoJCQkJLy8gMi4gQWRkIHRoZSB2YWx1ZXMKCQkJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMKICAgICAgICAgICAgICAgICAgICAgICAgKGF0dHJpYl9zZXRfaWQsYXR0cmliX3RleHQsYXR0cmliX2FkanVzdG1lbnQsc2t1KQogICAgICAgICAgICAgICAgICAgICAgVkFMVUVTKD8sPyw/LD8pJzsKCQkJCWZvcmVhY2goJGF0dHJpYnNldF92YWx1ZXMgYXMgJGsgPT4gJHJlYyApCgkJCQkgIHsKCQkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGFzaWQsJGssJHJlY1snYXR0cmliX2FkanVzdG1lbnQnXSwkcmVjWydza3UnXSkpOwoJCQkJCWlmKCAhJGRicmVzdWx0ICkKCQkJCQkgIHsKCQkJCQkJZWNobyAkZGItPkVycm9yTXNnKCkuJzxici8+Jy4kZGItPnNxbDtkaWUoKTsKCQkJCQkgIH0KCQkJCSAgfQoKCQkJCS8vIDMuIFJlZGlyZWN0CgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0X2F0dHJpYnNldHMnLCRyZXR1cm5pZCwKCQkJCQkJCQlhcnJheSgnY29tcGlkJz0+JHBhcmFtc1snY29tcGlkJ10pKTsKCQkJCXJldHVybjsKCQkJICB9CgkJICB9CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3QnLCRwcm9kdWN0KTsKJHBhcm1zID0gYXJyYXkoKTsKJHBhcm1zWydjb21waWQnXSA9ICRwYXJhbXNbJ2NvbXBpZCddOwppZiggaXNzZXQoJHBhcmFtc1snYXR0cnNldGlkJ10pICkKICAkcGFybXNbJ2F0dHJzZXRpZCddID0gJHBhcmFtc1snYXR0cnNldGlkJ107CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZGRfYXR0cmliX3NldCcsJHJldHVybmlkLCRwYXJtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiRzbWFydHktPmFzc2lnbignaWR0ZXh0JywkdGhpcy0+TGFuZygnaWQnKSk7CiRzbWFydHktPmFzc2lnbigna2V5dGV4dCcsJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiRzbWFydHktPmFzc2lnbigndmFsdWV0ZXh0JywkdGhpcy0+TGFuZygncHJpY2VfYWRqdXN0bWVudCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbmZvX3ZhbHVldGV4dCcsJHRoaXMtPkxhbmcoJ2luZm9fcHJpY2VfYWRqdXN0bWVudCcpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NldF9uYW1lJywkdGhpcy0+TGFuZygnYXR0cmlidXRlX25hbWUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc2V0X25hbWUnLAoJCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2F0dHJpYnV0ZV9uYW1lJywkc2V0X25hbWUsNTAsMjU1KSk7CmlmKCBpc3NldCgkYXR0cmlic2V0X3ZhbHVlcykgKQogIHsKICAgICRpID0gMDsKICAgICRzbV9hdHRyaWJzZXQgPSBhcnJheSgpOwogICAgZm9yZWFjaCgkYXR0cmlic2V0X3ZhbHVlcyBhcyAka2V5ID0+ICRyZWMgKQogICAgICB7CgkJJG9iaiA9IG5ldyBTdGRDbGFzcygpOwoJCSRvYmotPmlkeCA9ICRpKzE7CgkJJG9iai0+a2V5ID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ29wdHRleHRbXScsJGtleSw1MCk7CgkJJG9iai0+dmFsdWUgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnb3B0dmFsdWVbXScsJHJlY1snYXR0cmliX2FkanVzdG1lbnQnXSwxMCw1MCk7CgkJJG9iai0+c2t1ID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ29wdHNrdVtdJywkcmVjWydza3UnXSwxMCwyNSk7CgkJJHNtX2F0dHJpYnNldFtdID0gJG9iajsKCQkkaSsrOwogICAgICB9CgoJJG9iaiA9IG5ldyBTdGRDbGFzcygpOwoJJG9iai0+aWR4ID0gJGkrMTsKCSRvYmotPmtleSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdvcHR0ZXh0W10nLCcnLDUwKTsKCSRvYmotPnZhbHVlID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ29wdHZhbHVlW10nLCcnLDEwLDUwKTsKCSRvYmotPnNrdSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdvcHRza3VbXScsJycsMTAsMjUpOwoJJHNtX2F0dHJpYnNldFtdID0gJG9iajsKCSRpKys7CgogICAgJHNtYXJ0eS0+YXNzaWduKCd2YWx1ZXMnLCRzbV9hdHRyaWJzZXQpOwogIH0KCi8vIGFkZCBmaWVsZHMgdG8gYWRkIGEgbmV3IHZhbHVlCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXBkYXRlJywKCQkJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3ZhbHVlX3VwZGF0ZScsJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkZF9hdHRyaWJfc2V0LnRwbCcpOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_add_hierarchy_item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoaWVyYXJjaHknKTsKCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgIC8vIHdlJ3JlIGNhbmNlbGxpbmcKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKIwojIERlZmF1bHRzCiMKJHBhcmVudCA9IC0xOwokbmFtZSA9ICcnOwokZXh0cmExID0gJyc7CiRleHRyYTIgPSAnJzsKJGRlc2NyaXB0aW9uID0gJyc7CiRpbWFnZSA9ICcnOwoKIyAKIyBmb3JtIGFjdGlvbnMKIwppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sncGFyZW50J10pICkKICAgICAgewoJJHBhcmVudCA9IChpbnQpJHBhcmFtc1sncGFyZW50J107CiAgICAgIH0KICAgICRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwogICAgJGV4dHJhMSA9IHRyaW0oJHBhcmFtc1snZXh0cmExJ10pOwogICAgJGV4dHJhMiA9IHRyaW0oJHBhcmFtc1snZXh0cmEyJ10pOwogICAgJGRlc2NyaXB0aW9uID0gdHJpbSgkcGFyYW1zWydkZXNjcmlwdGlvbiddKTsKICAgIGlmKCBlbXB0eSgkbmFtZSkgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW1zJykpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCS8vIEhhbmRsZSBmaWxlIHVwbG9hZAogICAgICAgICRhdHRyID0gJ2RlZmF1bHQnOwogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF93YXRlcm1hcmsnXSkgKQogICAgICAgIHsKICAgICAgICAgICAkYXR0ciA9ICRwYXJhbXNbJ2lucHV0X3dhdGVybWFyayddOwogICAgICAgIH0KICAgICAgICAkZXJyb3JzID0gYXJyYXkoKTsKCSRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJICdoaWVyYXJjaHknKTsKICAgICAgICAkcmVzID0gJHRoaXMtPkhhbmRsZVVwbG9hZGVkSW1hZ2UoJGlkLCdmaWxlJywkZGVzdGRpciwkZXJyb3JzLCcnLCRhdHRyKTsKICAgICAgICBpZiggJHJlcyA9PT0gRkFMU0UgKQoJICB7CgkgICAgLy8gYW4gZXJyb3IgZW5zdWVkLgogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkaW1hZ2UgPSAkcmVzOwogICAgICAgICAgICBpZiggJHJlcyA9PT0gVFJVRSApICRpbWFnZSA9ICcnOwoKCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICAgICAgICAgICAobmFtZSwgcGFyZW50X2lkLCBkZXNjcmlwdGlvbiwgaW1hZ2UsIGV4dHJhMSwgZXh0cmEyKSBWQUxVRVMoPyw/LD8sPyw/LD8pJzsKCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkbmFtZSwkcGFyZW50LCRkZXNjcmlwdGlvbiwkaW1hZ2UsJGV4dHJhMSwkZXh0cmEyKSk7CgkgICAgaWYoICEkZGJyICkgeyBlY2hvICRkYi0+c3FsLic8YnIvPic7IGRpZSggJGRiLT5FcnJvck1zZygpICk7IH0KCSAgICAkbmV3X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCSAgICAkdGhpcy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgkgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCSAgfQogICAgICB9CiAgfQoKIwojIEJ1aWxkIHRoZSBmb3JtCiMKJGhpZXJhcmNoeV9pdGVtcyA9ICR0aGlzLT5CdWlsZEhpZXJhcmNoeUxpc3QoKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfaXRlbXMnLCRoaWVyYXJjaHlfaXRlbXMpOwokc21hcnR5LT5hc3NpZ24oJ3BhcmVudCcsJHBhcmVudCk7CiRzbWFydHktPmFzc2lnbignbmFtZScsJG5hbWUpOwokc21hcnR5LT5hc3NpZ24oJ2V4dHJhMScsJGV4dHJhMSk7CiRzbWFydHktPmFzc2lnbignZXh0cmEyJywkZXh0cmEyKTsKJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsJGRlc2NyaXB0aW9uKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZScsJGltYWdlKTsKCmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b3dhdGVybWFyaycpID09ICdhZGp1c3RhYmxlJyApCnsKICAkd21vcHRzID0gYXJyYXkoKTsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdub25lJyldID0gJ25vbmUnOwogICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2RlZmF1bHQnKV0gPSAnZGVmYXVsdCc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdWwnKV0gPSAnMCc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdWMnKV0gPSAnMSc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdXInKV0gPSAnMic7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbWwnKV0gPSAnMyc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbWMnKV0gPSAnNCc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbXInKV0gPSAnNSc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbGwnKV0gPSAnNic7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbGMnKV0gPSAnNyc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbHInKV0gPSAnOCc7CiAgJHNtYXJ0eS0+YXNzaWduKCd3YXRlcm1hcmtfbG9jYXRpb24nLAogICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF93YXRlcm1hcmsnLCR3bW9wdHMsLTEsJ2RlZmF1bHQnKSk7Cn0KCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9hZGRfaGllcmFyY2h5X2l0ZW0nLCRyZXR1cm5pZCwKCQkJCQkgJHBhcmFtcyxmYWxzZSwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FkZF9oaWVyYXJjaHlfaXRlbS50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_hierarchy_item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoaWVyYXJjaHknKTsKaWYoICFpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlfaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRoaWVyYXJjaHlfaWQgPSAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeV9pZCddOwoKLy8gUmVzZXQgYWxsIGhpZXJhcmNoaWVzIHVzaW5nIHRoaXMgcGFyZW50IHRvIGhhdmUgbm8gcGFyZW50ICgtMSkKJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBTRVQgcGFyZW50X2lkID0gLTEKICAgICAgICAgICBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGhpZXJhcmNoeV9pZCApICk7CgovLyBOb3cgcmVtb3ZlIGl0CiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBXSEVSRSBpZCA9ID8nOwokZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRoaWVyYXJjaHlfaWQgKSApOwoKLy8gQW5kIG5vdyB1cGRhdGUgYW55IHByb2R1Y3RzIHRvIGhhdmUgbm8gY2F0ZWdvcnkKLy8gaWYgdGhleSBoYXZlIHRoaXMgaGllcmFyY2h5X2lkCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hlaXIKICAgICAgICAgICBXSEVSRSBoaWVyYXJjaHlfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkaGllcmFyY2h5X2lkICkgKTsKCiR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCi8vIGRvbmUKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_hierarchy_item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoaWVyYXJjaHknKTsKaWYoICFpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlfaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRoaWVyYXJjaHlfaWQgPSAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeV9pZCddOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgewogICAgLy8gd2UncmUgY2FuY2VsbGluZwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgojCiMgRGVmYXVsdHMKIwokcGFyZW50ID0gLTE7CiRuYW1lID0gJyc7CiRleHRyYTEgPSAnJzsKJGV4dHJhMiA9ICcnOwokZGVzY3JpcHRpb24gPSAnJzsKCiMKIyBHZXQgdGhlIHZhbHVlcyBmcm9tIHRoZSBkYXRhYmFzZQojCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCAkcXVlcnksIGFycmF5KCAkaGllcmFyY2h5X2lkKSApOwokcGFyZW50ID0gJHJvd1sncGFyZW50X2lkJ107CiRuYW1lID0gJHJvd1snbmFtZSddOwokZXh0cmExID0gJHJvd1snZXh0cmExJ107CiRleHRyYTIgPSAkcm93WydleHRyYTInXTsKJGltYWdlID0gJHJvd1snaW1hZ2UnXTsKJGRlc2NyaXB0aW9uID0gJHJvd1snZGVzY3JpcHRpb24nXTsKCiMKIyBGb3JtIEFjdGlvbgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICBpZiggKGludCkkcGFyYW1zWydwYXJlbnQnXSA9PSAkcGFyYW1zWydoaWVyYXJjaHlfaWQnXSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXJlbnQnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksCgkJCQkgJ2hpZXJhcmNoeScpOwoKCS8vIGhhbmRsZSBpbWFnZSBkZWxldGUgZmlyc3QKCWlmKCBpc3NldCgkcGFyYW1zWydkZWxldGVpbWcnXSkgKQoJICB7CgkgICAgJHNyY25hbWUgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCRpbWFnZSk7CgkgICAgJGRlc3RuYW1lID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwndGh1bWJfJy4kaW1hZ2UpOwoJICAgICRwcmV2aWV3bmFtZSA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJ3ByZXZpZXdfJy4kaW1hZ2UpOwoJICAgIEB1bmxpbmsoJHNyY25hbWUpOwoJICAgIEB1bmxpbmsoJGRlc3RuYW1lKTsKCSAgICBAdW5saW5rKCRwcmV2aWV3bmFtZSk7CgkgICAgJGltYWdlID0gJyc7CgkgIH0KCgkvLyBIYW5kbGUgZmlsZSB1cGxvYWQKICAgICAgICAkYXR0ciA9ICdkZWZhdWx0JzsKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ10pICkKICAgICAgICB7CiAgICAgICAgICAgJGF0dHIgPSAkcGFyYW1zWydpbnB1dF93YXRlcm1hcmsnXTsKICAgICAgICB9CiAgICAgICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnZmlsZScsJGRlc3RkaXIsJGVycm9ycywnJywkYXR0cix0cnVlKTsKICAgICAgICBpZiggJHJlcyA9PT0gRkFMU0UgKQogICAgICAgICAgewogICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgICAgIH0KCWVsc2UgCgkgIHsKCSAgICBpZiggJHJlcyAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKQoJICAgICAgewoJCS8vIGltYWdlIHVwbG9hZCBzdWNjZWVkZWQKCQkkaW1hZ2UgPSAkcmVzOwoJCWlmKCAkcmVzID09PSBUUlVFICkgJGltYWdlID0gJyc7CgkgICAgICB9CgkgICAgCgkgICAgJG5hbWUgPSB0cmltKCRwYXJhbXNbJ25hbWUnXSk7CgkgICAgJGV4dHJhMSA9IHRyaW0oJHBhcmFtc1snZXh0cmExJ10pOwoJICAgICRleHRyYTIgPSB0cmltKCRwYXJhbXNbJ2V4dHJhMiddKTsKCSAgICAkcGFyZW50ID0gKGludCkkcGFyYW1zWydwYXJlbnQnXTsKCSAgICAkZGVzY3JpcHRpb24gPSB0cmltKCRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10pOwoKCSAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgICAgICAgICAgICBTRVQgbmFtZSA9ID8sIGltYWdlID0gPywgcGFyZW50X2lkID0gPywgZGVzY3JpcHRpb24gPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhMSA9ID8sIGV4dHJhMiA9ID8KICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkbmFtZSwkaW1hZ2UsJHBhcmVudCwkZGVzY3JpcHRpb24sJGV4dHJhMSwkZXh0cmEyLCRoaWVyYXJjaHlfaWQpKTsKCSAgICAKCSAgICAkdGhpcy0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgkgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCSAgfQogICAgICB9CiAgfQoKCiMKIyBCdWlsZCB0aGUgZm9ybQojCiRoaWVyYXJjaHlfaXRlbXMgPSAkdGhpcy0+QnVpbGRIaWVyYXJjaHlMaXN0KCk7CiRzbWFydHktPmFzc2lnbignaGllcmFyY2h5X2lkJywkaGllcmFyY2h5X2lkKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfaXRlbXMnLCRoaWVyYXJjaHlfaXRlbXMpOwokc21hcnR5LT5hc3NpZ24oJ3BhcmVudCcsJHBhcmVudCk7CiRzbWFydHktPmFzc2lnbignbmFtZScsJG5hbWUpOwokc21hcnR5LT5hc3NpZ24oJ2V4dHJhMScsJGV4dHJhMSk7CiRzbWFydHktPmFzc2lnbignZXh0cmEyJywkZXh0cmEyKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZScsJGltYWdlKTsKJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsJGRlc2NyaXB0aW9uKTsKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvd2F0ZXJtYXJrJykgPT0gJ2FkanVzdGFibGUnICkKewogICR3bW9wdHMgPSBhcnJheSgpOwogICR3bW9wdHNbJHRoaXMtPkxhbmcoJ25vbmUnKV0gPSAnbm9uZSc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnZGVmYXVsdCcpXSA9ICdkZWZhdWx0JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91bCcpXSA9ICcwJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91YycpXSA9ICcxJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91cicpXSA9ICcyJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tbCcpXSA9ICczJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tYycpXSA9ICc0JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tcicpXSA9ICc1JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sbCcpXSA9ICc2JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sYycpXSA9ICc3JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9scicpXSA9ICc4JzsKICAkc21hcnR5LT5hc3NpZ24oJ3dhdGVybWFya19sb2NhdGlvbicsCiAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X3dhdGVybWFyaycsJHdtb3B0cywtMSwnZGVmYXVsdCcpKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRfaGllcmFyY2h5X2l0ZW0nLCRyZXR1cm5pZCwKCQkJCQkgJHBhcmFtcywnZmFsc2UnLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fYWRkX2hpZXJhcmNoeV9pdGVtLnRwbCcpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_saveprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoICRnQ21zICkgKSByZXR1cm47CgokdGhpcy0+U2V0Q3VycmVudFRhYigncHJlZnMnKTsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICByZXR1cm47CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1snc3VibWl0J10gKSApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1sndGF4YWJsZSddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfdGF4YWJsZScsKGludCkkcGFyYW1zWyd0YXhhYmxlJ10pOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3RheGFibGUnLDApOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N0YXR1cycsJHBhcmFtc1snc3RhdHVzJ10pOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N0YXR1cycsMCk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXInLCRwYXJhbXNbJ3NvcnRvcmRlciddKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc29ydGJ5JywkcGFyYW1zWydzb3J0YnknXSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2N1cnJlbmN5c3ltYm9sJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfY3VycmVuY3lzeW1ib2wnLHRyaW0oJHBhcmFtc1snY3VycmVuY3lzeW1ib2wnXSkpOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWyd3ZWlnaHR1bml0cyddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX3dlaWdodHVuaXRzJyx0cmltKCRwYXJhbXNbJ3dlaWdodHVuaXRzJ10pKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snYWxsb3dlZF9pbWFnZXR5cGVzJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZXR5cGVzJyx0cmltKCRwYXJhbXNbJ2FsbG93ZWRfaW1hZ2V0eXBlcyddKSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2FsbG93ZWRfZmlsZXR5cGVzJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9maWxldHlwZXMnLHRyaW0oJHBhcmFtc1snYWxsb3dlZF9maWxldHlwZXMnXSkpOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydhdXRvdGh1bWJuYWlsJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b3RodW1ibmFpbCcsKGludCkoJHBhcmFtc1snYXV0b3RodW1ibmFpbCddKSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXV0b3RodW1ibmFpbF9zaXplJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWxfc2l6ZScsKGludCkoJHBhcmFtc1snYXV0b3RodW1ibmFpbF9zaXplJ10pKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snYXV0b3ByZXZpZXdpbWcnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvcHJldmlld2ltZycsKGludCkoJHBhcmFtc1snYXV0b3ByZXZpZXdpbWcnXSkpOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2F1dG9wcmV2aWV3aW1nX3NpemUnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3ByZXZpZXdpbWdfc2l6ZScsKGludCkoJHBhcmFtc1snYXV0b3ByZXZpZXdpbWdfc2l6ZSddKSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3VybHByZWZpeCddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VybHByZWZpeCcsJHBhcmFtc1sndXJscHJlZml4J10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydhdXRvd2F0ZXJtYXJrJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b3dhdGVybWFyaycsJHBhcmFtc1snYXV0b3dhdGVybWFyayddKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snZGVsZXRlcHJvZHVjdGZpbGVzJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVsZXRlcHJvZHVjdGZpbGVzJyx0cmltKCRwYXJhbXNbJ2RlbGV0ZXByb2R1Y3RmaWxlcyddKSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2F0dHJpYnRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXR0cmlidGVtcGxhdGUnLHRyaW0oJHBhcmFtc1snYXR0cmlidGVtcGxhdGUnXSkpOwogIH0KCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJywoaW50KSRwYXJhbXNbJ3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VoaWVycGF0aHVybHMnLChpbnQpJHBhcmFtc1sndXNlaGllcnBhdGh1cmxzJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kJyx0cmltKCRwYXJhbXNbJ3Byb2Rub3Rmb3VuZCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kbm90Zm91bmRtc2cnLHRyaW0oJHBhcmFtc1sncHJvZG5vdGZvdW5kbXNnJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2Rub3Rmb3VuZHBhZ2UnLHRyaW0oJHBhcmFtc1sncHJvZG5vdGZvdW5kcGFnZSddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_setdflttemplates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwokdGhpcy0+U2V0Q3VycmVudFRhYignZGVmYXVsdF90ZW1wbGF0ZXMnKTsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkKICB7CiAgICBleGl0KCk7CiAgfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXRfc3VtbWFyeXRlbXBsYXRlJ10gKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgdHJpbSgkcGFyYW1zWydpbnB1dF9zdW1tYXJ5dGVtcGxhdGUnXSkpOwogIH0KZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3Jlc2V0X3N1bW1hcnl0ZW1wbGF0ZSddICkgKQogIHsKICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuCiAgICAgICd0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnOwogICAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgICAgIHsKICAgICAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICAgfQogIH0KCmlmKCBpc3NldCggJHBhcmFtc1snc3VibWl0X2RldGFpbHRlbXBsYXRlJ10gKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cmltKCRwYXJhbXNbJ2lucHV0X2RldGFpbHRlbXBsYXRlJ10pKTsKICB9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZXNldF9kZXRhaWx0ZW1wbGF0ZSddICkgKQogIHsKICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuCiAgICAgICd0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ29yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCc7CiAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKICAgICAgewogICAgICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAgIH0KICB9CgoKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXRfYnloaWVyYXJjaHl0ZW1wbGF0ZSddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQllISUVSQVJDSFlfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICB0cmltKCRwYXJhbXNbJ2lucHV0X2J5aGllcmFyY2h5dGVtcGxhdGUnXSkpOwogIH0KZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3Jlc2V0X2J5aGllcmFyY2h5dGVtcGxhdGUnXSApICkKICB7CiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLgogICAgICAndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidvcmlnX2J5aGllcmFyY2h5X3RlbXBsYXRlLnRwbCc7CiAgICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKICAgICAgewogICAgICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQllISUVSQVJDSFlfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICAgfQogIH0KCgppZiggaXNzZXQoICRwYXJhbXNbJ3N1Ym1pdF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddICkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQ0FURUdPUllMSVNUX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgdHJpbSgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddKSk7CiAgfQplbHNlIGlmKCBpc3NldCggJHBhcmFtc1sncmVzZXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSApICkKICB7CiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLgogICAgICAndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidvcmlnX2NhdGVnb3J5bGlzdF90ZW1wbGF0ZS50cGwnOwogICAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgICAgIHsKICAgICAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0NBVEVHT1JZTElTVF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgICB9CiAgfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.categorylist.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokdGhldGVtcGxhdGUgPSAnY2F0ZWdvcnlsaXN0XycuJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQ0FURUdPUllMSVNUX1RFTVBMQVRFKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2NhdGVnb3J5bGlzdF8nLiRwYXJhbXNbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJ107CiAgfQoKJGRldGFpbHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsJycpOwppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSkKICB7CiAgICAkZGV0YWlscGFnZSA9IHRyaW0oJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICB9CmlmKCAhZW1wdHkoJGRldGFpbHBhZ2UpICkKICB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkZGV0YWlscGFnZSk7CiAgICBpZiAoaXNzZXQoJG5vZGUpKQogICAgICB7CgkkY29udGVudCA9ICRub2RlLT5HZXRDb250ZW50KCk7CQoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9ICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJGRldGFpbHBhZ2UpOwoJaWYgKCFpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICcnOwoJICB9CiAgICAgIH0KICB9CgovLyRxdWVyeSA9ICJTRUxFQ1QgYi4qLGNvdW50KHByb2R1Y3RfaWQpIEFTIGNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgYSwgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIGIgV0hFUkUgYi5pZCA9IGEuY2F0ZWdvcnlfaWQgR1JPVVAgQlkgYi5pZCI7CiRxdWVyeSA9ICJTRUxFQ1QgQS5pZCxBLm5hbWUsY291bnQoQi5wcm9kdWN0X2lkKSBBUyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBBIExFRlQgT1VURVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBCIE9OIEEuaWQgPSBCLmNhdGVnb3J5X2lkIEdST1VQIEJZIEEuaWQiOwokY2F0ZWdvcmllcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCiR0bXAgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJGNhdGVnb3JpZXMsJ2lkJyk7CiRxdWVyeTIgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkdG1wKS4nKSBPUkRFUiBCWSBjYXRlZ29yeV9pZCBBU0MnOwokdG1wMiA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5Mik7CiRyZXN1bHRzID0gYXJyYXkoKTsKZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGVnb3JpZXMpOyAkaSsrICkKICB7CiAgICAkcm93ID0mICRjYXRlZ29yaWVzWyRpXTsKICAgIGlmKCAoIWlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkgfHwgJHBhcmFtc1snc2hvd2FsbCddIDwgMSkgJiYgJHJvd1snY291bnQnXSA8PSAwICkKICAgICAgewoJY29udGludWU7CiAgICAgIH0KCiAgICAkb2JqID0gbmV3IFN0ZENsYXNzKCk7CiAgICBmb3JlYWNoKCAkcm93IGFzICRrID0+ICR2ICkKICAgICAgewoJJG9iai0+JGsgPSAkdjsKICAgICAgfQoKICAgIC8vIGV4dHJhY3QgYWxsIG9mIHRoZSByb3dzIHRoYXQgaGF2ZSB0aGlzIGNhdGVnb3J5IGlkCiAgICAkdG1wYSA9IGFycmF5KCk7CiAgICBmb3IoICRqID0gMDsgJGogPCBjb3VudCgkdG1wMik7ICRqKysgKQogICAgICB7CglpZiggJHRtcDJbJGpdWydjYXRlZ29yeV9pZCddIDwgJHJvd1snaWQnXSApIGNvbnRpbnVlOwoJaWYoICR0bXAyWyRqXVsnY2F0ZWdvcnlfaWQnXSA+ICRyb3dbJ2lkJ10gKSBicmVhazsKCgkkdG1wYVtdID0gJHRtcDJbJGpdOwogICAgICB9CiAgICBpZiggaXNfYXJyYXkoJHRtcGEpICYmIGNvdW50KCR0bXBhKSA+IDAgKQogICAgICB7Cgkkb2JqLT5maWVsZHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcGEsJ2ZpZWxkX25hbWUnKTsKICAgICAgfQoKICAgICRwYXJhbXNbJ2NhdGVnb3J5aWQnXSA9ICRvYmotPmlkOwogICAgJHBhcmFtc1snY2F0ZWdvcnluYW1lJ10gPSAkb2JqLT5uYW1lOwogICAgJG9iai0+c3VtbWFyeV91cmwgPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsJ2RlZmF1bHQnLCgkZGV0YWlscGFnZSE9JycpPyRkZXRhaWxwYWdlOiRyZXR1cm5pZCwKCQkJCQkJJycsJHBhcmFtcywnJyx0cnVlKTsKICAgICRyZXN1bHRzW10gPSAkb2JqOwogIH0KCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlsaXN0JywkcmVzdWx0cyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.copycategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KaWYgKCFpc3NldCgkcGFyYW1zWydjYXRpZCddKSkKewogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICByZXR1cm47Cn0KCiMgSW5pdGlhbGl6YXRpb24KJG5hbWUgPSAnJzsKJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyAKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjYXRpZCkpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCnsKICAvLyBtYWtlIHN1cmUgdGhlIG5hbWUgaXMgbm90IGVtcHR5CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgKQogICAgewogICAgICAkbmFtZSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKICAgIH0KICBpZiggZW1wdHkoJG5hbWUpICkKICAgIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm9uYW1lJykpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcwogICAgICAgICAgICAgICAgICBXSEVSRSBuYW1lID0gPyc7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJG5hbWUpKTsKICAgICAgaWYoICR0bXAgKQoJewoJICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9uYW1ldXNlZCcpKTsKCX0KICAgICAgZWxzZQoJewoJICAvLyBpdCdzIGdvb2QgdG8gZ28uCgkgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgICAobmFtZSwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sJG5vdywkbm93KSI7CgkgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG5hbWUpKTsKCSAgJG5ld19pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CgkgIAoJICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkgICRyZXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKCSAgCgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlfaWQsIGZpZWxkX3R5cGUsIGZpZWxkX25hbWUsIGZpZWxkX3Byb21wdCwgZmllbGRfdmFsdWUpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyknOwoJICBmb3JlYWNoKCAkcmVzIGFzICRvbmUgKQoJICAgIHsKCSAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCSAgIGFycmF5KCRuZXdfaWQsJG9uZVsnZmllbGRfdHlwZSddLCRvbmVbJ2ZpZWxkX25hbWUnXSwKCQkJCSAkb25lWydmaWVsZF9wcm9tcHQnXSwkb25lWydmaWVsZF92YWx1ZSddKSk7CgkgICAgfQoKCSAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCX0KICAgIH0KfQoKaWYoICRyb3cgKQp7CiAgJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeScsJHJvdyk7Cn0KCiMgRGlzcGxheSBUZW1wbGF0ZQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2NvcHljYXRlZ29yeScsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ25hbWUnLCRuYW1lLDgwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnY2F0aWQnLCRjYXRpZCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY29weWNhdGVnb3J5LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKdW5zZXQoJHBhcmFtc1snYXNzaWduJ10pOwokaW5saW5lID0gZmFsc2U7CiRkZWZhdWx0X2RldGFpbHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsJycpOwokZGV0YWlscGFnZSA9ICRkZWZhdWx0X2RldGFpbHBhZ2U7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRkZXRhaWxwYWdlID0gdHJpbSgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogIH0KaWYoICFlbXB0eSgkZGV0YWlscGFnZSkgKQogIHsKICAgICRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRkZXRhaWxwYWdlKTsKICAgIGlmIChpc3NldCgkbm9kZSkpCiAgICAgIHsKCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CQoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRkZXRhaWxwYWdlKTsKCWlmICghaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAnJzsKCSAgfQogICAgICB9CiAgICBpZiggJGRldGFpbHBhZ2UgIT0gJycgKQogICAgICB7CgkkcGFyYW1zWydjZF9vcmlncGFnZSddID0gJHJldHVybmlkOwogICAgICB9CiAgfQoKJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddICkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdzdW1tYXJ5XycuJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ107CiAgfQoKCiRzb3J0b3JkZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJywnYXNjJyk7CmlmKCBpc3NldCggJHBhcmFtc1snc29ydG9yZGVyJ10gKSApCiAgewoJc3dpdGNoKCAkcGFyYW1zWydzb3J0b3JkZXInXSApCgkgIHsKCSAgY2FzZSAnYXNjJzoKCSAgY2FzZSAnZGVzYyc6CgkJJHNvcnRvcmRlciA9ICRwYXJhbXNbJ3NvcnRvcmRlciddOwoJICB9CiAgfQoKJHNvcnRieSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb3J0YnknLCdwcm9kdWN0X25hbWUnKTsKaWYoIGlzc2V0KCAkcGFyYW1zWydzb3J0YnknXSApICkKICB7Cglzd2l0Y2goICRwYXJhbXNbJ3NvcnRieSddICkKCSAgewoJICBjYXNlICdpZCc6CgkgICAgJHNvcnRieSA9ICdpZCc7CgkgICAgYnJlYWs7CgoJICBjYXNlICdwcm9kdWN0X25hbWUnOgoJCSRzb3J0YnkgPSAncHJvZHVjdF9uYW1lJzsKCQlicmVhazsKCSAgY2FzZSAncHJpY2UnOgoJCSRzb3J0YnkgPSAncHJpY2UnOwoJCWJyZWFrOwoJICBjYXNlICdjcmVhdGVkJzoKCQkkc29ydGJ5ID0gJ2NyZWF0ZV9kYXRlJzsKCQlicmVhazsKCSAgY2FzZSAnbW9kaWZpZWQnOgoJCSRzb3J0YnkgPSAnbW9kaWZpZWRfZGF0ZSc7CgkJYnJlYWs7CgkgIGNhc2UgJ3N0YXR1cyc6CgkJJHNvcnRieSA9ICdzdGF0dXMnOwoJCWJyZWFrOwoJICBjYXNlICd3ZWlnaHQnOgoJCSRzb3J0YnkgPSAnd2VpZ2h0JzsKCQlicmVhazsKCSAgY2FzZSAncmFuZG9tJzoKCQkkc29ydGJ5ID0gJ1JBTkQoKSc7CgkJJHNvcnRvcmRlciA9ICcnOwoJCWJyZWFrOwoJICB9CiAgfQppZiggJHNvcnRieSA9PSAncmFuZG9tJyApCiAgewogICAgJHNvcnRieSA9ICdSQU5EKCknOwogICAgJHNvcnRvcmRlciA9ICcnOwogIH0KCiRsaW1pdCA9IDEwMDAwMDsKaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSApCiAgewogICAgJGxpbWl0ID0gKGludCkkcGFyYW1zWydwYWdlbGltaXQnXTsKICB9CgokcGFnZSA9IDE7CmlmKCBpc3NldCgkcGFyYW1zWydwYWdlJ10pICkKICB7CiAgICAkcGFnZSA9IChpbnQpJHBhcmFtc1sncGFnZSddOwogICAgaWYoICRwYWdlIDwgMSApICRwYWdlID0gMTsKICB9CiRzdGFydGVsZW1lbnQgPSAoJHBhZ2UtMSkqJGxpbWl0OwoKJGNhdGVnb3J5ID0gJyc7CiRpbnB1dGNhdCA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2NhdGVnb3J5J10gKSApCiAgewogICAgJGNhdGVnb3J5ID0gdHJpbSgkcGFyYW1zWydjYXRlZ29yeSddKTsKICAgICRjYXRlZ29yeSA9IGNtc19odG1sX2VudGl0eV9kZWNvZGUoJGNhdGVnb3J5KTsKICB9CmVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5aWQnXSkpCiAgewogICAgJGNhdGVnb3J5aWQgPSAkcGFyYW1zWydjYXRlZ29yeWlkJ107CiAgfQoKJGhpZXJhcmNoeSA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ2hpZXJhcmNoeSddICkgKQogIHsKICAgICRoaWVyYXJjaHkgPSB0cmltKCRwYXJhbXNbJ2hpZXJhcmNoeSddKTsKICB9CiRoaWVyYXJjaHlpZCA9IC0xMDA7CmlmKCBpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlpZCddKSApCiAgewogICAgJGhpZXJhcmNoeWlkID0gKGludCkkcGFyYW1zWydoaWVyYXJjaHlpZCddOwogIH0KCi8vCi8vIEJ1aWxkIHRoZSBwcmV0dHkgdXJscwovLwoKLy8KLy8gQnVpbGQgdGhlIHF1ZXJpZXMKLy8KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokcGFyYW1hcnJheSA9IGFycmF5KCk7CiR3aGVyZSA9IGFycmF5KCk7CiRxdWVyeSA9ICJTRUxFQ1QgYy4qIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0cyBjIjsKJHF1ZXJ5MiA9ICJTRUxFQ1QgY291bnQoKikgYXMgY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIGMiOwokd2hlcmVbXSA9ICdjLnN0YXR1cyA9IFwncHVibGlzaGVkXCcnOwppZiAoIGlzc2V0KCRjYXRlZ29yeWlkKSAmJiAkY2F0ZWdvcnlpZCAhPSAnJykKewogICRzdHIgPSAiIElOTkVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgY2MgT04gY2MucHJvZHVjdF9pZCA9IGMuaWQiOwogICRxdWVyeSAuPSAkc3RyOwogICRxdWVyeTIgLj0gJHN0cjsKICAkd2hlcmVbXSA9ICdjYy5jYXRlZ29yeV9pZCA9ID8nOwogICRwYXJhbWFycmF5W10gPSAkY2F0ZWdvcnlpZDsKfQplbHNlIGlmKCBpc3NldCgkY2F0ZWdvcnkpICYmICRjYXRlZ29yeSAhPSAnJyApCnsKICAkc3RyID0gIiBJTk5FUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIGNjIE9OIGNjLnByb2R1Y3RfaWQgPSBjLmlkIjsKICAkcXVlcnkgLj0gJHN0cjsKICAkcXVlcnkyIC49ICRzdHI7CiAgJHN0ciA9ICIgSU5ORVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgY3MgT04gY3MuaWQgPSBjYy5jYXRlZ29yeV9pZCI7CiAgJHF1ZXJ5IC49ICRzdHI7CiAgJHF1ZXJ5MiAuPSAkc3RyOwoKICAkYXJyMSA9IGV4cGxvZGUoJywnLCRjYXRlZ29yeSk7CiAgJGFycjIgPSBhcnJheSgpOwogIGZvcmVhY2goICRhcnIxIGFzICR4eCApCgl7CgkgICRhcnIyW10gPSAiJyIuJHh4LiInIjsKCX0KICAkdHh0ID0gaW1wbG9kZSgnLCcsJGFycjIpOwogICR3aGVyZVtdID0gJ2NzLm5hbWUgSU4gKCcuJHR4dC4nKSc7Cn0KCmlmICggaXNzZXQoJGhpZXJhcmNoeSkgJiYgJGhpZXJhcmNoeSAhPSAnJyApCiAgewogICAgJHN0ciA9ICIgSU5ORVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIgcGggT04gcGgucHJvZHVjdF9pZCA9IGMuaWQiOwogICAgJHF1ZXJ5IC49ICRzdHI7CiAgICAkcXVlcnkyIC49ICRzdHI7CgogICAgJHN0ciA9ICIgSU5ORVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBoIE9OIHBoLmhpZXJhcmNoeV9pZCA9IGguaWQiOwogICAgJHF1ZXJ5IC49ICRzdHI7CiAgICAkcXVlcnkyIC49ICRzdHI7CgogICAgaWYoIHN0cnN0cigkaGllcmFyY2h5LCcqJykgIT09IEZBTFNFICkKICAgICAgewoJJHdoZXJlW10gPSAidXBwZXIoaC5sb25nX25hbWUpIExJS0UgdXBwZXIoPykiOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR3aGVyZVtdID0gInVwcGVyKGgubmFtZSkgPSB1cHBlcig/KSI7CiAgICAgIH0KICAgICRoaWVyYXJjaHkgPSBjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRoaWVyYXJjaHkpOwogICAgJGhpZXJhcmNoeSA9IHRyaW0oc3RyX3JlcGxhY2UoJyonLCclJyxzdHJfcmVwbGFjZSgnIicsJ18nLCRoaWVyYXJjaHkpKSk7CiAgICAkcGFyYW1hcnJheVtdID0gJGhpZXJhcmNoeTsKICB9CmVsc2UgaWYoICRoaWVyYXJjaHlpZCA+IC0xMDAgKQogIHsKICAgICRzdHIgPSAiIElOTkVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIHBoIE9OIHBoLnByb2R1Y3RfaWQgPSBjLmlkIjsKICAgICRxdWVyeSAuPSAkc3RyOwogICAgJHF1ZXJ5MiAuPSAkc3RyOwoKICAgICR3aGVyZVtdID0gInBoLmhpZXJhcmNoeV9pZCA9ID8iOwogICAgJHBhcmFtYXJyYXlbXSA9ICRoaWVyYXJjaHlpZDsKICB9CgokcXVlcnkgPSAkcXVlcnkgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsJHdoZXJlICk7CiRxdWVyeTIgPSAkcXVlcnkyIC4gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCR3aGVyZSApOwokcXVlcnkgLj0gIiBPUkRFUiBCWSAiLiRzb3J0YnkuIiAiLiRzb3J0b3JkZXI7CgoKLy8gRXhlY3V0ZSB0aGUgUXVlcmllcwokY291bnQgPSAkZGItPkdldE9uZSgkcXVlcnkyLCRwYXJhbWFycmF5KTsKaWYoICRjb3VudCA9PSAwICkgcmV0dXJuOwokZGJyZXN1bHQgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeSwgJGxpbWl0LCAkc3RhcnRlbGVtZW50LCAkcGFyYW1hcnJheSk7CmlmKCAhJGRicmVzdWx0ICkgCiAgewogICAgZWNobyAkZGItPnNxbC4nPGJyLz4nOyBkaWUoICRkYi0+RXJyb3JNc2coKSApOwogIH0KCi8vIERldGVybWluZSB0aGUgbnVtYmVyIG9mIHBhZ2VzCiRucGFnZXMgPSBpbnR2YWwoJGNvdW50IC8gJGxpbWl0KTsKaWYoICRjb3VudCAlICRsaW1pdCAhPSAwICkgJG5wYWdlcysrOwoKLy8gYnVpbGQgdGhlIG9iamVjdCBsaXN0Cmdsb2JhbCAkZ0NtczsKJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CndoaWxlICgkZGJyZXN1bHQgJiYgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpKQp7CiAgJGZpbGVkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksJ3Byb2R1Y3RfJy4kcm93WydpZCddKTsKICAkb25lcm93ID0gJHRoaXMtPkFycmF5VG9PYmplY3QoJHJvdyk7CiAgJHByZXR0eXVybCA9IHByb2R1Y3Rfb3BzOjpwcmV0dHlfdXJsKCRyb3dbJ2lkJ10sKCRkZXRhaWxwYWdlIT0nJyk/JGRldGFpbHBhZ2U6JHJldHVybmlkKTsKICAKICAkcGFyYW1zWydwcm9kdWN0aWQnXSA9ICRyb3dbJ2lkJ107CgogICRvbmVyb3ctPmRldGFpbF91cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RldGFpbHMnLCgkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkKSwnJywKCQkJCQkgICRwYXJhbXMsCgkJCQkJICAnJyx0cnVlLCRpbmxpbmUsJycsZmFsc2UsJHByZXR0eXVybCk7CgogICRvbmVyb3ctPnByb2R1Y3RfbmFtZV9saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGV0YWlscycsICRyZXR1cm5pZCwgCgkJCQkJCSAkcm93Wydwcm9kdWN0X25hbWUnXSwgCgkJCQkJCSAkcGFyYW1zKTsKICAkb25lcm93LT5maWxlX2xvY2F0aW9uID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Byb2R1Y3RfJy4kcm93WydpZCddOwogICRvbmVyb3ctPmRldGFpbHMgPSAkcm93WydkZXRhaWxzJ107CgogIC8vIGFkZCBjdXN0b20gZmllbGRzCiAgJGZpZWxkZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnNGb3JQcm9kdWN0KCRyb3dbJ2lkJ10sdHJ1ZSx0cnVlKTsKICAkZmllbGRzID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkZmllbGRkZWZzIGFzICRvbmVkZWYgKQogICAgewogICAgICBpZiggJG9uZWRlZi0+dHlwZSA9PSAnaW1hZ2UnICkKCXsKCSAgaWYoIGlzc2V0KCRvbmVkZWYtPnZhbHVlKSAmJiBmaWxlX2V4aXN0cyhjbXNfam9pbl9wYXRoKCRmaWxlZGlyLCd0aHVtYl8nLiRvbmVkZWYtPnZhbHVlKSkgKQoJICAgIHsKCSAgICAgICRvbmVkZWYtPnRodW1ibmFpbCA9ICd0aHVtYl8nLiRvbmVkZWYtPnZhbHVlOwoJICAgIH0KCgkgIGlmKCBpc3NldCgkb25lZGVmLT52YWx1ZSkgJiYgZmlsZV9leGlzdHMoY21zX2pvaW5fcGF0aCgkZmlsZWRpciwncHJldmlld18nLiRvbmVkZWYtPnZhbHVlKSkgKQoJICAgIHsKCSAgICAgICRvbmVkZWYtPnByZXZpZXcgPSAncHJldmlld18nLiRvbmVkZWYtPnZhbHVlOwoJICAgIH0KCX0KICAgICAgJGZpZWxkc1skb25lZGVmLT5uYW1lXSA9ICRvbmVkZWY7CiAgICB9CiAgJG9uZXJvdy0+ZmllbGRzID0gJGZpZWxkczsKCiAgLy8gYWRkIGNhdGVnb3JpZXMKICAkY2F0YXJyYXkgPSAkdGhpcy0+R2V0Q2F0ZWdvcmllc0ZvclByb2R1Y3QoJHBhcmFtc1sncHJvZHVjdGlkJ10sdHJ1ZSx0cnVlKTsKICBpZiggY291bnQoJGNhdGFycmF5KSApCiAgICB7CiAgICAgICRjYXRuYW1lYXJyYXkgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCAkY2F0YXJyYXkgYXMgJG9uZWNhdCApCgl7CgkgICRjYXRuYW1lYXJyYXlbXSA9ICRvbmVjYXQtPm5hbWU7Cgl9CiAgICAgICRvbmVyb3ctPmNhdGVnb3JpZXMgPSAkY2F0YXJyYXk7CiAgICAgICRvbmVyb3ctPmNhdGVnb3J5bmFtZXMgPSAkY2F0bmFtZWFycmF5OwogICAgfQoKICAvLyBhZGQgYXR0cmlidXRlcwogICR0bXAgPSAkdGhpcy0+R2V0UHJvZHVjdEF0dHJpYnV0ZURhdGFDb21wbGV0ZSgkcm93WydpZCddKTsKICBpZiggaXNfYXJyYXkoJHRtcCkgKQogICAgewogICAgICAkb25lcm93LT5hdHRyaWJ1dGVzID0gJHRtcDsKICAgIH0KCiAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCgovLwovLyBHaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkZW50cnlhcnJheSk7CiRzbWFydHktPmFzc2lnbigndG90YWxjb3VudCcsJGNvdW50KTsKJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2V0ZXh0JywkdGhpcy0+TGFuZygncGFnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdvZnRleHQnLCR0aGlzLT5MYW5nKCdvZicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwYWdlY291bnQnLCRucGFnZXMpOwokc21hcnR5LT5hc3NpZ24oJ2N1cnBhZ2UnLCRwYWdlKTsKaWYoICRwYWdlID09IDEgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RsaW5rJywkdGhpcy0+TGFuZygnZmlyc3RwYWdlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2bGluaycsJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJykpOwogIH0KZWxzZQogIHsKICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICAkcGFybXNbJ3BhZ2UnXSA9IDE7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0bGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJCSAgJHRoaXMtPkxhbmcoJ2ZpcnN0cGFnZScpLAoJCQkJCQkgICRwYXJtcykpOwogICAgJHBhcm1zWydwYWdlJ10gPSAkcGFnZSAtIDE7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJICAkdGhpcy0+TGFuZygncHJldnBhZ2UnKSwKCQkJCQkJICAkcGFybXMpKTsKICB9CmlmKCAkcGFnZSA9PSAkbnBhZ2VzICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RsaW5rJywkdGhpcy0+TGFuZygnbGFzdHBhZ2UnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRsaW5rJywkdGhpcy0+TGFuZygnbmV4dHBhZ2UnKSk7CiAgfQplbHNlCiAgewogICAgJHBhcm1zID0gJHBhcmFtczsKICAgICRwYXJtc1sncGFnZSddID0gJG5wYWdlczsKICAgICRzbWFydHktPmFzc2lnbignbGFzdGxpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLAoJCQkJCQkgICR0aGlzLT5MYW5nKCdsYXN0cGFnZScpLAoJCQkJCQkgICRwYXJtcykpOwogICAgJHBhcm1zWydwYWdlJ10gPSAkcGFnZSArIDE7CiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJICAkdGhpcy0+TGFuZygnbmV4dHBhZ2UnKSwKCQkJCQkJICAkcGFybXMpKTsKICB9CgppZiggaXNzZXQoICRwYXJhbXNbJ3NlbGVjdGNhdGVnb3J5J10gKSApCiAgewoJJHF1ZXJ5ID0gIlNFTEVDVCBpZCwgbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBPUkRFUiBCWSBuYW1lIEFTQyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCSRjYXRhcnJheSA9IGFycmF5KCcoU2VsZWN0IE9uZSknID0+ICcnKTsKCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCSAgewoJCSRjYXRhcnJheVskcm93WyduYW1lJ11dID0gJHJvd1snaWQnXTsKCSAgfQoJJHNtYXJ0eS0+YXNzaWduKCdjYXRmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRGb3JtU3RhcnQoJGlkLCAkcmV0dXJuaWQpKTsKCSRzbWFydHktPmFzc2lnbignY2F0ZHJvcGRvd24nLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjYXRlZ29yeWlkJywgJGNhdGFycmF5LCAtMSwgJGNhdGVnb3J5aWQsICcnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGJ1dHRvbicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdpbnB1dHN1Ym1pdCcsICdTdWJtaXQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhdGZvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICB9CgokY2FydG1vZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYXJ0bW9kdWxlJywnJyk7CmlmKCAhZW1wdHkoJGNhcnRtb2QpICkKICB7CiAgICAkY21wYXJhbXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FydG1vZHVsZXBhcmFtcycsJycpOwogICAgaWYoICFlbXB0eSgkY21wYXJhbXMpICkKICAgICAgewoJJHN0ciA9IHNwcmludGYoInslcyAlc30iLCRjYXJ0bW9kLCRjbXBhcmFtcyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NhcnRfbW9kdWxlX3RhZycsJHN0cik7CiAgICAgIH0KICB9CiRzbWFydHktPmFzc2lnbignY3VycmVuY3lfc3ltYm9sJyxwcm9kdWN0X29wczo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHRfdW5pdHMnLHByb2R1Y3Rfb3BzOjpnZXRfd2VpZ2h0X3VuaXRzKCkpOwoKLy8KLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKI1RoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQp7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcm9kdWN0cycsJHRoaXMtPkxhbmcoJ3Byb2R1Y3RzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZmllbGRkZWZzJywkdGhpcy0+TGFuZygnZmllbGRkZWZzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignaGllcmFyY2h5JywkdGhpcy0+TGFuZygncHJvZHVjdF9oaWVyYXJjaHknKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yaWVzJywkdGhpcy0+TGFuZygnY2F0ZWdvcmllcycpKTsKfQoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkKewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc3VtbWFyeV90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ3N1bW1hcnl0ZW1wbGF0ZXMnKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZXRhaWxfdGVtcGxhdGUnLCR0aGlzLT5MYW5nKCdkZXRhaWx0ZW1wbGF0ZXMnKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdieWhpZXJhcmNoeV90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ2J5aGllcmFyY2h5dGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJywkdGhpcy0+TGFuZygnY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVmYXVsdF90ZW1wbGF0ZXMnLCR0aGlzLT5MYW5nKCdkZWZhdWx0dGVtcGxhdGVzJykpOwp9CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkKICB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZWZzJywkdGhpcy0+TGFuZygncHJlZmVyZW5jZXMnKSk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgojVGhlIGNvbnRlbnQgb2YgdGhlIHRhYnMKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewkKICBlY2hvICR0aGlzLT5TdGFydFRhYigncHJvZHVjdHMnLCAkcGFyYW1zKTsKICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcHJvZHVjdHN0YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKICBlY2hvICR0aGlzLT5TdGFydFRhYignZmllbGRkZWZzJywgJHBhcmFtcyk7CiAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2ZpZWxkZGVmc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKICBlY2hvICR0aGlzLT5TdGFydFRhYignaGllcmFyY2h5JywgJHBhcmFtcyk7CiAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2hpZXJhcmNoeV90YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycsICRwYXJhbXMpOwogIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jYXRlZ29yaWVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKIH0KCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApCiAgewogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3RlbXBsYXRlc3RhYnMucGhwJyk7CiAgfQoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmcycsJHBhcmFtcyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcHJlZnN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CgojIHZpbTp0cz00IHN3PTQgbm9ldAo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaulturl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYoIGlzc2V0KCAkcGFyYW1zWydjYXRlZ29yeWlkJ10gKSApCiAgewogICAgJHRoaXMtPkRvQWN0aW9uKCdkZWZhdWx0JywkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sncGFyZW50J10pICkKICB7CiAgICAkdGhpcy0+RG9BY3Rpb24oJ2hpZXJhcmNoeScsJGlkLCRwYXJhbXMsJHJldHVybmlkKTsKICB9CmVsc2UKICB7CiAgICAkdGhpcy0+RG9BY3Rpb24oJ2RldGFpbHMnLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CiAgfQoKIyB2aW06dHM9NCBzdz00IG5vZXQKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignY2F0ZWdvcmllcycpOwokY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFByb2R1Y3RzJykpKTsKCXJldHVybjsKfQppZiggIWlzc2V0KCRwYXJhbXNbJ2NhdGlkJ10pICkKewogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICByZXR1cm47Cn0KJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwoKLy8gR2V0IHRoZSBjYXRlZ29yeSBkZXRhaWxzCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBpZCA9ID8nOwokcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSggJGNhdGlkKSk7CgovLyBOb3cgcmVtb3ZlIGFueSBjYXRlZ29yeSBmaWVsZHMKJHF1ZXJ5IC0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKJHJlc3VsdHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKZm9yZWFjaCggJHJlc3VsdHMgYXMgJG9uZSApCnsKICBzd2l0Y2goJG9uZVsnZmllbGRfdHlwZSddKQogICAgewogICAgY2FzZSAnaW1hZ2UnOgogICAgY2FzZSAnZmlsZSc6CiAgICAgICRmaWxlcyA9IGFycmF5KCRyb3dbJ2ZpZWxkX3ZhbHVlJ10sJ3RodW1iXycuJHJvd1snZmllbGRfdmFsdWUnXSwncHJldmlld18nLiRyb3dbJ2ZpZWxkX3ZhbHVlJ10pOwogICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9uZSApCgl7CgkgICRmbiA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwnY2F0ZWdvcmllcycsJGNhdGlkLCRvbmUpOwoJICBpZiggZmlsZV9leGlzdHMoJGZuKSApCgkgICAgewoJICAgICAgQHVubGluaygkZm4pOwoJICAgIH0KCX0KICAgICAgYnJlYWs7CiAgICB9Cn0KJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNhdGlkKSk7CgovL05vdyByZW1vdmUgdGhlIGNhdGVnb3J5CiRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgaWQgPSA/IjsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7CgovL0FuZCByZW1vdmUgaXQgZnJvbSBhbnkgZW50cmllcwokcXVlcnkgPSAiREVMRVRFIEZST00gbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletecategoryfield.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KaWYoICFpc3NldCgkcGFyYW1zWydjYXRpZCddKSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgcmV0dXJuOwp9CmlmKCAhaXNzZXQoJHBhcmFtc1snZmxkbmFtZSddKSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgcmV0dXJuOwp9CgojCiMgSW5pdGlhbGl6YXRpb24KIwokY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwokZmxkbmFtZSA9IHRyaW0oJHBhcmFtc1snZmxkbmFtZSddKTsKCi8vIEdldCB0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgZGF0YWJhc2UKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMgCiAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBmaWVsZF9uYW1lID0gPyc7CiRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNhdGlkLCRmbGRuYW1lKSk7CgovLyBEZWxldGUgYW55IGZpbGVzIHRoYXQgbWF5IGJlIGF0dGFjaGVkCnN3aXRjaCggJHJvd1snZmllbGRfdHlwZSddICkKICB7CiAgY2FzZSAnZmlsZSc6CiAgY2FzZSAnaW1hZ2UnOgogICAgJGZpbGVzID0gYXJyYXkoJHJvd1snZmllbGRfdmFsdWUnXSwndGh1bWJfJy4kcm93WydmaWVsZF92YWx1ZSddLCdwcmV2aWV3XycuJHJvd1snZmllbGRfdmFsdWUnXSk7CiAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9uZSApCiAgICAgIHsKCSRmbiA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwnY2F0ZWdvcmllcycsJGNhdGlkLCRvbmUpOwoJaWYoIGZpbGVfZXhpc3RzKCRmbikgKQoJICB7CgkgICAgQHVubGluaygkZm4pOwoJICB9CiAgICAgIH0KICB9CgovLyBEZWxldGUgdGhlIHJlY29yZAokcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkY2F0aWQsJGZsZG5hbWUpKTsKCi8vIFJlZGlyZWN0CiR0aGlzLT5SZWRpcmVjdCgkaWQsJ2VkaXRjYXRlZ29yeWZpZWxkcycsJHJldHVybmlkLAoJCWFycmF5KCdjYXRpZCc9PiRjYXRpZCkpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRkZWZzJyk7CgokZmRpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZmRpZCddKSkKewoJJGZkaWQgPSAkcGFyYW1zWydmZGlkJ107Cn0KCi8vIEdldCB0aGUgY2F0ZWdvcnkgZGV0YWlscwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSBpZCA9ID8nOwokcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkZmRpZCkpOwoKLy9Ob3cgcmVtb3ZlIHRoZSBjYXRlZ29yeQokcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgaWQgPSA/IjsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZkaWQpKTsKCi8vQW5kIHJlbW92ZSBpdCBmcm9tIGFueSBlbnRyaWVzCiRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBXSEVSRSBmaWVsZGRlZl9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmRpZCkpOwoKJGRiLT5FeGVjdXRlKCdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgU0VUIGl0ZW1fb3JkZXIgPSAoaXRlbV9vcmRlciAtIDEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/JywgYXJyYXkoJHJvd1snaXRlbV9vcmRlciddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.deleteproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCiRjb21waWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbXBpZCddKSkKewoJJGNvbXBpZCA9ICRwYXJhbXNbJ2NvbXBpZCddOwp9CgokdGhpcy0+RGVsZXRlUHJvZHVjdCgkY29tcGlkKTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.delete_attribset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpIAogIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47CiAgfQppZiggIWlzc2V0KCRwYXJhbXNbJ2NvbXBpZCddKSApCiAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoJcmV0dXJuOwogIH0KaWYoICFpc3NldCgkcGFyYW1zWydhdHRyc2V0aWQnXSkgKQogIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKCXJldHVybjsKICB9CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzIAogICAgICAgICAgIFdIRVJFIGF0dHJpYl9zZXRfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkcGFyYW1zWydhdHRyc2V0aWQnXSkgKTsKCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMKICAgICAgICAgICBXSEVSRSBhdHRyaWJfc2V0X2lkID0gPyc7CiRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHBhcmFtc1snYXR0cnNldGlkJ10pICk7CiAgICAgICAgICAgCiR0aGlzLT5SZWRpcmVjdCgkaWQsJ2VkaXRfYXR0cmlic2V0cycsJHJldHVybmlkLAoJCWFycmF5KCdjb21waWQnPT4kcGFyYW1zWydjb21waWQnXSkpOwpyZXR1cm47CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.details.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJHRoZXRlbXBsYXRlID0gJ2RldGFpbF8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVERFVEFJTF9URU1QTEFURSk7CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddICkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdkZXRhaWxfJy4kcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOwogIH0KCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCmdsb2JhbCAkZ0NtczsKJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgokcXVlcnkgPSAiU0VMRUNUIEEuKiwgQi5oaWVyYXJjaHlfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIEEKICAgICAgICAgICBMRUZUIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIEIKICAgICAgICAgICAgIE9OIEEuaWQgPSBCLnByb2R1Y3RfaWQKICAgICAgICAgICBXSEVSRSBBLnN0YXR1cyA9ID8nOwokcGFybXMgPSBhcnJheSgncHVibGlzaGVkJyk7CmlmKCBpc3NldCgkcGFyYW1zWydwcm9kdWN0aWQnXSkgKQogIHsKICAgICRxdWVyeSAuPSAnIEFORCBBLmlkID0gPyc7CiAgICAkcGFybXNbXSA9ICRwYXJhbXNbJ3Byb2R1Y3RpZCddOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkgKQogIHsKICAgICRxdWVyeSAuPSAnIEFORCBBLmFsaWFzID0gPyc7CiAgICAkcGFybXNbXSA9ICRwYXJhbXNbJ2FsaWFzJ107CiAgfQplbHNlCiAgewogICAgLy8gc2hvdWxkIGdlbmVyYXRlIGFuIGVycm9yIGhlcmUuICB0b2RvLgogICAgcmV0dXJuOwogIH0KCiRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksJHBhcm1zKTsKaWYgKCAkcm93ICkKICB7CiAgICAkZmlsZWRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwncHJvZHVjdF8nLiRyb3dbJ2lkJ10pOwogICAgJG9uZXJvdyA9ICR0aGlzLT5BcnJheVRvT2JqZWN0KCRyb3cpOwogICAgJG9uZXJvdy0+ZmlsZV9sb2NhdGlvbiA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy8nLiR0aGlzLT5HZXROYW1lKCkuJy9wcm9kdWN0XycuJHJvd1snaWQnXTsKCiAgICAvLyBhZGQgY2Fub25pY2FsIGVudHJ5LgogICAgJG9uZXJvdy0+Y2Fub25pY2FsID0gcHJvZHVjdF9vcHM6OnByZXR0eV91cmwoJHJvd1snaWQnXSk7CgogICAgLy8gYWRkIGN1c3RvbSBmaWVsZHMKICAgICRmaWVsZGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzRm9yUHJvZHVjdCgkcm93WydpZCddKTsKICAgICRmaWVsZHMgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGZpZWxkZGVmcyBhcyAkb25lZGVmICkKICAgICAgewoJaWYoICRvbmVkZWYtPnR5cGUgPT0gJ2ltYWdlJyApCgkgIHsKCSAgICBpZiggaXNzZXQoJG9uZWRlZi0+dmFsdWUpICYmIGZpbGVfZXhpc3RzKGNtc19qb2luX3BhdGgoJGZpbGVkaXIsJ3RodW1iXycuJG9uZWRlZi0+dmFsdWUpKSApCgkgICAgICB7CgkJJG9uZWRlZi0+dGh1bWJuYWlsID0gJ3RodW1iXycuJG9uZWRlZi0+dmFsdWU7CgkgICAgICB9CgkgICAgaWYoIGlzc2V0KCRvbmVkZWYtPnZhbHVlKSAmJiBmaWxlX2V4aXN0cyhjbXNfam9pbl9wYXRoKCRmaWxlZGlyLCdwcmV2aWV3XycuJG9uZWRlZi0+dmFsdWUpKSApCgkgICAgICB7CgkJJG9uZWRlZi0+cHJldmlldyA9ICdwcmV2aWV3XycuJG9uZWRlZi0+dmFsdWU7CgkgICAgICB9CgkgIH0KCSRmaWVsZHNbJG9uZWRlZi0+bmFtZV0gPSAkb25lZGVmOwogICAgICB9CiAgICBpZiggY291bnQoJGZpZWxkcykgKQogICAgICB7Cgkkb25lcm93LT5maWVsZHMgPSAkZmllbGRzOwogICAgICB9CgogICAgLy8gaGllcmFyY2h5IGluZm9ybWF0aW9uCiAgICAkb25lcm93LT5icmVhZGNydW1iID0gcHJvZHVjdF9vcHM6OmNyZWF0ZV9oaWVyYXJjaHlfYnJlYWRjcnVtYigkcGFyYW1zWydwcm9kdWN0aWQnXSwkcmV0dXJuaWQpOwoKICAgIC8vIGFkZCBhdHRyaWJ1dGVzCiAgICAkdG1wID0gJHRoaXMtPkdldFByb2R1Y3RBdHRyaWJ1dGVEYXRhQ29tcGxldGUoJHBhcmFtc1sncHJvZHVjdGlkJ10pOwogICAgaWYoIGlzX2FycmF5KCR0bXApICkKICAgICAgewoJJG9uZXJvdy0+YXR0cmlidXRlcyA9ICR0bXA7CiAgICAgIH0KCiAgICAvLyBhZGQgY2F0ZWdvcmllcwogICAgJGNhdGFycmF5ID0gJHRoaXMtPkdldENhdGVnb3JpZXNGb3JQcm9kdWN0KCRwYXJhbXNbJ3Byb2R1Y3RpZCddLHRydWUsdHJ1ZSk7CiAgICAkY2F0bmFtZWFycmF5ID0gYXJyYXkoKTsKICAgIGlmKCBjb3VudCgkY2F0YXJyYXkpICkKICAgICAgewoJJGNhdG5hbWVzYXJyYXkgPSBhcnJheSgpOwoJZm9yZWFjaCggJGNhdGFycmF5IGFzICRvbmVjYXQgKQoJICB7CgkgICAgJGNhdG5hbWVhcnJheVtdID0gJG9uZWNhdC0+bmFtZTsKCSAgfQoJJG9uZXJvdy0+Y2F0ZWdvcmllcyA9ICRjYXRhcnJheTsKCSRvbmVyb3ctPmNhdGVnb3J5bmFtZXMgPSAkY2F0bmFtZWFycmF5OwogICAgICB9CiAgICAKICAgICRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2VudHJ5JywgJG9uZXJvdyk7CiAgICAkY2FydG1vZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYXJ0bW9kdWxlJywnJyk7CiAgICBpZiggIWVtcHR5KCRjYXJ0bW9kKSApCiAgICAgIHsKCSRjbXBhcmFtcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYXJ0bW9kdWxlcGFyYW1zJywnJyk7CglpZiggIWVtcHR5KCRjbXBhcmFtcykgKQoJICB7CgkgICAgJHN0ciA9IHNwcmludGYoInslcyAlc30iLCRjYXJ0bW9kLCRjbXBhcmFtcyk7CgkgICAgJHNtYXJ0eS0+YXNzaWduKCdjYXJ0X21vZHVsZV90YWcnLCRzdHIpOwoJICB9CiAgICAgIH0KICAgICRzbWFydHktPmFzc2lnbignY3VycmVuY3lfc3ltYm9sJyxwcm9kdWN0X29wczo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpKTsKICAgICRzbWFydHktPmFzc2lnbignd2VpZ2h0X3VuaXRzJyxwcm9kdWN0X29wczo6Z2V0X3dlaWdodF91bml0cygpKTsKICAgICRzbWFydHktPmFzc2lnbignY2F0ZWdvcnl0ZXh0JywgaW1wbG9kZSgiLCAiLCAkY2F0bmFtZWFycmF5KSk7CgogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CiAgfQplbHNlCiAgeyAKICAgIC8vIHByb2R1Y3Qgbm90IGZvdW5kIGZvciBzb21lIHJlYXNvbi4KICAgICRhY3Rpb24gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kJywnZG9tc2cnKTsKICAgIHN3aXRjaCgkYWN0aW9uKQogICAgICB7CiAgICAgIGNhc2UgJ2RvNDA0JzoKCWNnZV9yZWRpcmVjdDo6cmVkaXJlY3Q0MDQoKTsKCWJyZWFrOwoKICAgICAgY2FzZSAnZG8zMDEnOgoJJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kcGFnZScsLTEpOwoJaWYoICRwYWdlICE9ICcnICYmICRwYWdlICE9IC0xICkKCSAgewoJICAgIGNnZV9yZWRpcmVjdDo6cmVkaXJlY3QzMDEoJHBhZ2UpOwoJICB9CgkvLyBmYWxsIHRocm91Z2ggdG8gZG9tc2cKCiAgICAgIGNhc2UgJ2RvbXNnJzoKICAgICAgZGVmYXVsdDoKCSRtc2cgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kbXNnJywKCQkJCSAgICAkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCcpKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRtc2cpOwoJYnJlYWs7CiAgICAgIH0KICB9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignY2F0ZWdvcmllcycpOwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFByb2R1Y3RzJykpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCiRjYXRpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkpCnsKCSRjYXRpZCA9ICRwYXJhbXNbJ2NhdGlkJ107Cn0KCiRuYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKQp7CgkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKfQoKJG9yaWduYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcmlnbmFtZSddKSkKewoJJG9yaWduYW1lID0gJHBhcmFtc1snb3JpZ25hbWUnXTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKewoJaWYgKCRuYW1lICE9ICcnKQoJewoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFNFVCBuYW1lID0gPywgbW9kaWZpZWRfZGF0ZSA9ICcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicgV0hFUkUgaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmFtZSwgJGNhdGlkKSk7CgkJCQkJCQoJCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgl9CgllbHNlCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7Cgl9Cn0KZWxzZQp7CgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgaWQgPSA/JzsKCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjYXRpZCkpOwoKCWlmICgkcm93KQoJewoJCSRuYW1lID0gJHJvd1snbmFtZSddOwoJCSRvcmlnbmFtZSA9ICRyb3dbJ25hbWUnXTsKCX0KfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCA4MCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2NhdGlkJywgJGNhdGlkKS4KCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnb3JpZ25hbWUnLCAkb3JpZ25hbWUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGNhdGVnb3J5LnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editcategoryfields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KCmlmKCAhaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkgKQp7CiAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogIHJldHVybjsKfQokY2F0aWQgPSAoaW50KSRwYXJhbXNbJ2NhdGlkJ107CgovLyBHZXQgdGhlIGluZm8gZm9yIHRoaXMgY2F0ZWdvcnkKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFdIRVJFIGlkID0gPyc7CiRjYXRlZ29yeSA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeScsJGNhdGVnb3J5KTsKCi8vIGdldCB0aGUgbGlzdCBvZiBmaWVsZHMgZm9yIHRoaXMgcHJvZHVjdAokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwokZmllbGRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJGNhdGlkKSk7CmZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRmaWVsZHMpOyAkaSsrICkKICB7CiAgICAkZmllbGRzWyRpXVsnZWRpdGxpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnYWRkY2F0ZWdvcnlmaWVsZCcsJHJldHVybmlkLAoJCQkJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLAoJCQkJCQkJCQkJCSAgICAgJ3N5c3RlbWljb24nKSwKCQkJCQkJYXJyYXkoJ2NhdGlkJz0+JGNhdGlkLCdmbGRuYW1lJz0+JGZpZWxkc1skaV1bJ2ZpZWxkX25hbWUnXSkpOwogICAgJGZpZWxkc1skaV1bJ2RlbGV0ZWxpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVsZXRlY2F0ZWdvcnlmaWVsZCcsJHJldHVybmlkLAoJCQkJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywKCQkJCQkJCQkJCQkgICAgICdzeXN0ZW1pY29uJyksCgkJCQkJCWFycmF5KCdjYXRpZCc9PiRjYXRpZCwnZmxkbmFtZSc9PiRmaWVsZHNbJGldWydmaWVsZF9uYW1lJ10pKTsKICB9CiRzbWFydHktPmFzc2lnbignZmllbGRzJywkZmllbGRzKTsKCiRzbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5ZmllbGQnLCAkcmV0dXJuaWQsIAoJCQkJCSAgICAgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdmb2xkZXIuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGZpZWxkZGVmJyksCgkJCQkJCQkJCQkJICAnJywnJywnc3lzdGVtaWNvbicpLCAKCQkJCQkgICAgIGFycmF5KCdjYXRpZCc9PiRjYXRpZCksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuCgkJICAgICAgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjYXRlZ29yeWZpZWxkJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkZmllbGRkZWYnKSwgCgkJCQkJICAgICBhcnJheSgnY2F0aWQnPT4kY2F0aWQpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCiMgRGlzcGxheSBUZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRjYXRlZ29yeWZpZWxkcy50cGwnKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRkZWZzJyk7CgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgUHJvZHVjdHMnKSkpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKJGZkaWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2ZkaWQnXSkpCnsKCSRmZGlkID0gJHBhcmFtc1snZmRpZCddOwp9CgokbmFtZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkKewoJJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107Cn0KCiRwcm9tcHQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb21wdCddKSkKewoJJHByb21wdCA9ICRwYXJhbXNbJ3Byb21wdCddOwp9Cgokb3B0aW9ucyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snb3B0aW9ucyddKSkKewoJJG9wdGlvbnMgPSAkcGFyYW1zWydvcHRpb25zJ107Cn0KCiR0eXBlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyd0eXBlJ10pKQp7CgkkdHlwZSA9ICRwYXJhbXNbJ3R5cGUnXTsKfQoKJG1heF9sZW5ndGggPSAyNTU7CmlmIChpc3NldCgkcGFyYW1zWydtYXhfbGVuZ3RoJ10pKQp7CiAgJG1heF9sZW5ndGggPSAoaW50KSRwYXJhbXNbJ21heF9sZW5ndGgnXTsKfQoKJG9yaWduYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcmlnbmFtZSddKSkKewoJJG9yaWduYW1lID0gJHBhcmFtc1snb3JpZ25hbWUnXTsKfQoKJHB1YmxpYyA9IDA7CmlmKCBpc3NldCgkcGFyYW1zWydwdWJsaWMnXSkgKQogIHsKICAgICRwdWJsaWMgPSAoaW50KSRwYXJhbXNbJ3B1YmxpYyddOwogIH0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCnsKICBpZiggJHR5cGUgPT0gJycgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZpZWxkdHlwZScpKTsKICAgIH0KICBlbHNlIGlmICgkbmFtZSA9PSAnJykKICAgIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgICB9CiAgZWxzZSBpZiggISR0aGlzLT5pc19hbGlhcygkbmFtZSkgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX25hbWUnKSk7CiAgICB9CiAgZWxzZSBpZiggIWVtcHR5KCRtYXhsZW5ndGgpICYmICFpc19udW1lcmljKCRtYXhfbGVuZ3RoKSApCiAgICB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vdGFudW1iZXInKSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBuYW1lID0gPywgcHJvbXB0ID0gPywgdHlwZSA9ID8sIG1heF9sZW5ndGggPSA/LCBtb2RpZmllZF9kYXRlID0gJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJywgcHVibGljID0gPywgb3B0aW9ucyA9ID8gV0hFUkUgaWQgPSA/JzsKICAgICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIAoJCQkgIGFycmF5KCRuYW1lLCAkcHJvbXB0LCAkdHlwZSwgJG1heF9sZW5ndGgsICRwdWJsaWMsICRvcHRpb25zLCAkZmRpZCkpOwogICAgICAKICAgICAgaWYoICEkcmVzICkgZGllKCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgIH0KfQplbHNlCnsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSBpZCA9ID8nOwogICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRmZGlkKSk7CiAgCiAgaWYgKCRyb3cpCiAgICB7CiAgICAgICRuYW1lID0gJHJvd1snbmFtZSddOwogICAgICAkcHJvbXB0ID0gJHJvd1sncHJvbXB0J107CiAgICAgICR0eXBlID0gJHJvd1sndHlwZSddOwogICAgICAkbWF4X2xlbmd0aCA9ICRyb3dbJ21heF9sZW5ndGgnXTsKICAgICAgJG9yaWduYW1lID0gJHJvd1snbmFtZSddOwogICAgICAkcHVibGljID0gJHJvd1sncHVibGljJ107CiAgICAgICRvcHRpb25zID0gJHJvd1snb3B0aW9ucyddOwogICAgfQogfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHNtYXJ0eS0+YXNzaWduKCdvcHRpb25zJywkb3B0aW9ucyk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0cHJvbXB0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncHJvbXB0JywkcHJvbXB0LDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ3Nob3dpbnB1dHR5cGUnLCBmYWxzZSk7CiRzbWFydHktPmFzc2lnbigndHlwZScsJHR5cGUpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0dHlwZScsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0eXBlJywgJHR5cGUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG1heGxlbmd0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbWF4X2xlbmd0aCcsICRtYXhfbGVuZ3RoLCAyMCwgMjU1KSk7CiRzbWFydHktPmFzc2lnbigndXNlcnZpZXd0ZXh0JywkdGhpcy0+TGFuZygncHVibGljJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJ2aWV3JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdwdWJsaWMnLCAxLCAkcHVibGljLAoJCQkJCSAgICd0aXRsZT0iJy4kdGhpcy0+TGFuZygnaW5mb19wdWJsaWNmaWVsZCcpLiciJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmRpZCcsICRmZGlkKS4KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnb3JpZ25hbWUnLCAkb3JpZ25hbWUpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0ZmllbGRkZWYudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.editproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCi8vCi8vIEEgdXRpbGl0eSBmdW5jdGlvbgovLwpmdW5jdGlvbiBnZXRfZmllbGRfZGVmKCYkZmllbGRkZWZzLCRpZCkKewogIGZvcmVhY2goICRmaWVsZGRlZnMgYXMgJG9uZWRlZiApCiAgICB7CiAgICAgIGlmKCAkb25lZGVmLT5pZCA9PSAkaWQgKQoJewoJICByZXR1cm4gJG9uZWRlZjsKCX0KICAgIH0KICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIHByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRmaWxlbmFtZSkKewogIGlmKCBlbXB0eSgkZmlsZW5hbWUpICkgcmV0dXJuOwogIGlmKCAhZmlsZV9leGlzdHMoJGZpbGVuYW1lKSApIHJldHVybjsKCiAgJGRpciA9IGRpcm5hbWUoJGZpbGVuYW1lKTsKICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkZmlsZW5hbWUpOwogIEB1bmxpbmsoY21zX2pvaW5fcGF0aCgkZGlyLCRmaWxlbmFtZSkpOwogIEB1bmxpbmsoY21zX2pvaW5fcGF0aCgkZGlyLCd0aHVtYl8nLiRmaWxlbmFtZSkpOwogIEB1bmxpbmsoY21zX2pvaW5fcGF0aCgkZGlyLCdwcmV2aWV3XycuJGZpbGVuYW1lKSk7Cn0KCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCiAgewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFByb2R1Y3RzJykpKTsKICAgIHJldHVybjsKICB9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKJGNvbXBpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY29tcGlkJ10pKQogIHsKICAgICRjb21waWQgPSAkcGFyYW1zWydjb21waWQnXTsKICB9CgokcHJvZHVjdF9uYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydwcm9kdWN0X25hbWUnXSkpCiAgewogICAgJHByb2R1Y3RfbmFtZSA9ICRwYXJhbXNbJ3Byb2R1Y3RfbmFtZSddOwogIH0KCiRwcmljZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1sncHJpY2UnXSkpCiAgewogICAgJHByaWNlID0gKGZsb2F0KSRwYXJhbXNbJ3ByaWNlJ107CiAgfQoKJHdlaWdodCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snd2VpZ2h0J10pKQogIHsKICAgICR3ZWlnaHQgPSAoZmxvYXQpJHBhcmFtc1snd2VpZ2h0J107CiAgfQoKJHNrdSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snc2t1J10pKQogIHsKICAgICRza3UgPSB0cmltKCRwYXJhbXNbJ3NrdSddKTsKICB9CgokYWxpYXMgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2FsaWFzJ10pKQogIHsKICAgICRhbGlhcyA9IHRyaW0oJHBhcmFtc1snYWxpYXMnXSk7CiAgfQoKJGRldGFpbHMgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHMnXSkpCiAgewogICAgJGRldGFpbHMgPSAkcGFyYW1zWydkZXRhaWxzJ107CiAgfQoKJHRheGFibGUgPSAwOwppZiAoaXNzZXQoJHBhcmFtc1sndGF4YWJsZSddKSkKICB7CiAgICAkdGF4YWJsZSA9IDE7CiAgfQoKJGhpZXJhcmNoeV9wb3MgPSAtMTsKaWYgKGlzc2V0KCRwYXJhbXNbJ2hpZXJhcmNoeSddKSApCiAgewogICAgJGhpZXJhcmNoeV9wb3MgPSAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeSddOwogIH0KCiRzdGF0dXMgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3N0YXR1cyddKSkKICB7CiAgICAkc3RhdHVzID0gJHBhcmFtc1snc3RhdHVzJ107CiAgfQoKJG9yaWduYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcmlnbmFtZSddKSkKICB7CiAgICAkb3JpZ25hbWUgPSAkcGFyYW1zWydvcmlnbmFtZSddOwogIH0KCgokZmllbGRhcnJheSA9IGFycmF5KCk7CiR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CiRmaWVsZGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzRm9yUHJvZHVjdCgkY29tcGlkLHRydWUpOwovLyRmaWVsZGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzKHRydWUpOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKICB7CiAgICAkZHVwbGljYXRlID0gJyc7CiAgICAkZHVwbGljYXRlc2t1ID0gJyc7CiAgICAkZHVwbGljYXRlYWxpYXMgPSAnJzsKICAgIGlmICgkcHJvZHVjdF9uYW1lICE9ICcnKQogICAgICB7CgkkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cwogICAgICAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9uYW1lID0gPyBBTkQgaWQgIT0gPyc7CgkkZHVwbGljYXRlID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X25hbWUsJGNvbXBpZCkpOwogICAgICB9CgogICAgaWYoIGVtcHR5KCRhbGlhcykgKQogICAgICB7CgkkYWxpYXMgPSBwcm9kdWN0X29wczo6Z2VuZXJhdGVfYWxpYXMoJHByb2R1Y3RfbmFtZSk7CiAgICAgIH0KCiAgICAvLyBjaGVjayBmb3IgZHVwbGljYXRlIGFsaWFzCiAgICBpZiggcHJvZHVjdF9vcHM6OmNoZWNrX2FsaWFzX3VzZWQoJGFsaWFzLCRjb21waWQpICkKICAgICAgewoJJGR1cGxpY2F0ZWFsaWFzID0gJGFsaWFzOwogICAgICB9CgogICAgaWYoICEkZHVwbGljYXRlICYmICFlbXB0eSgkc2t1KSApCiAgICAgIHsKCS8vIGNoZWNrIGZvciBkdXBsaWNhdGUgc2t1CglpZiggcHJvZHVjdF9vcHM6OmNoZWNrX3NrdV91c2VkKCRza3UsJGNvbXBpZCkgKQoJICB7CgkgICAgJGR1cGxpY2F0ZXNrdSA9ICRza3U7CgkgIH0KICAgICAgfQoKICAgIGlmKCAkZHVwbGljYXRlICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCcpKTsKICAgICAgfQogICAgZWxzZSBpZiggJGR1cGxpY2F0ZWFsaWFzICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoICRkdXBsaWNhdGVza3UgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9wcm9kdWN0X3NrdXVzZWQnKSk7CiAgICAgIH0KICAgIGVsc2UgaWYgKCRwcm9kdWN0X25hbWUgPT0gJycpCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCS8vIHVwZGF0ZSB0aGUgb3JpZ2luYWwgcmVjb3JkCgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgU0VUIHByb2R1Y3RfbmFtZSA9ID8sIHByaWNlID0gPywgZGV0YWlscyA9ID8sIG1vZGlmaWVkX2RhdGUgPSAnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLHRheGFibGUgPSA/LCBzdGF0dXMgPSA/LCB3ZWlnaHQgPSA/LCBza3UgPSA/LCBhbGlhcyA9ID8gV0hFUkUgaWQgPSA/JzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwcm9kdWN0X25hbWUsICRwcmljZSwgJGRldGFpbHMsIAoJCQkJICAgJHRheGFibGUsICRzdGF0dXMsICR3ZWlnaHQsICRza3UsICRhbGlhcywgJGNvbXBpZCkpOwoKCS8vIFVwZGF0ZSB0aGUgaGllcmFyY2h5IHN0dWZmCgkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCSRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGNvbXBpZCApICk7CgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIAogICAgICAgICAgICAgICAgICAgKHByb2R1Y3RfaWQsaGllcmFyY2h5X2lkKQogICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8pJzsKCSRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGNvbXBpZCwgJGhpZXJhcmNoeV9wb3MgKSApOwogICAgICAgCgkvLyBVcGRhdGUgY3VzdG9tIGZpZWxkcwoJJGRlbGV0ZWRfaXRlbXMgPSBhcnJheSgpOwoJJGRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBXSEVSRSBwcm9kdWN0X2lkID0gPycsIGFycmF5KCRjb21waWQpKTsKCgkkZXJyb3JzID0gYXJyYXkoKTsKCWlmIChpc3NldCgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZCddKSkKCSAgewoJICAgIGZvcmVhY2ggKCRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkJ10gYXMgJGs9PiR2KQoJICAgICAgewoJCS8vIGhhbmRsZSBmaWxlIGRlbGV0aW9ucwoJCWlmIChzdGFydHN3aXRoKCRrLCAnZGVsZXRlZmllbGQtJykpIHsKCgkJICAvLyBnZXQgdGhlIGZpZWxkIGluZGV4CgkJICAkZmlkID0gc3Vic3RyKCRrLCBzdHJsZW4oJ2RlbGV0ZWZpZWxkLScpKTsKCQkgIAoJCSAgLy8gZ2V0IHRoZSBmaWVsZCB0eXBlCgkJICAkZGVmID0gZ2V0X2ZpZWxkX2RlZigkZmllbGRkZWZzLCRmaWQpOwoJCSAgaWYoICFpc3NldCgkZGVmLT52YWx1ZSkgKSBjb250aW51ZTsKCQkgIGlmKCAhJGRlZiApCgkJICAgIHsKCQkgICAgICBkaWUoJ2NvdWxkIG5vdCBnZXQgZmllbGQgZGVmIGZvciAnLiRmaWQpOwoJCSAgICB9CgoJCSAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksCgkJCQkJICAgJ3Byb2R1Y3RfJy4kY29tcGlkKTsKCQkgIAoJCSAgc3dpdGNoKCAkZGVmLT50eXBlICkKCQkgICAgewoJCSAgICBjYXNlICdmaWxlJzoKCQkgICAgY2FzZSAnaW1hZ2UnOgoJCSAgICAgIC8vIGRlbGV0ZSB0aGUgZmlsZQoJCSAgICAgIHByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRkZWYtPnZhbHVlKTsKCQkgICAgICAkZGVsZXRlZF9pdGVtc1tdID0gJGZpZDsKCQkgICAgICBicmVhazsKCQkgICAgfQoJCX0KCSAgICAgIH0KCgkgICAgZm9yZWFjaCAoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXSBhcyAkaz0+JHYpCgkgICAgICB7CgkJLy8gaGFuZGxlIG5ldyB2YWx1ZXMgKG9yIGhpZGRlbiB2YWx1ZXMpCgkJaWYgKHN0YXJ0c3dpdGgoJGssICdmaWVsZC0nKSkgeyAvLyBlbHNlCgoJCSAgLy8gZ2V0IHRoZSBmaWVsZCBpbmRleAoJCSAgJGZpZCA9IHN1YnN0cigkaywgNik7CgovLyAJCSAgaWYoIGluX2FycmF5KCRmaWQsJGRlbGV0ZWRfaXRlbXMpICkgCi8vIAkJICAgIHsKLy8gCQkgICAgICBjb250aW51ZTsKLy8gCQkgICAgfQoKCQkgIC8vIGdldCB0aGUgZmllbGQgdHlwZQoJCSAgJGRlZiA9IGdldF9maWVsZF9kZWYoJGZpZWxkZGVmcywkZmlkKTsKCQkgIGlmKCAhJGRlZiApCgkJICAgIHsKCQkgICAgICBkaWUoJ2NvdWxkIG5vdCBnZXQgZmllbGQgZGVmIGZvciAnLiRmaWQpOwoJCSAgICAgIGNvbnRpbnVlOwoJCSAgICB9CgoJCSAgLy8gaGFuZGxlIHRoZSB1cGxvYWQgKGlmIGFueSkKCQkgIHN3aXRjaCggJGRlZi0+dHlwZSApCgkJICAgIHsKCQkgICAgY2FzZSAnZmlsZSc6CgkJICAgICAgaWYoIGlzc2V0KCRkZWYtPnZhbHVlKSApCgkJCXByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRkZWYtPnZhbHVlKTsKCQkgICAgICAkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwKCQkJCQkgICAgICAgJ3Byb2R1Y3RfJy4kY29tcGlkKTsKCQkgICAgICBjZ2VfZGlyOjpta2RpcnIoJGRlc3RkaXIpOwoJCSAgICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApIGRpZSgnZGlyZWN0b3J5IHN0aWxsIGRvZXMgbm90IGV4aXN0Jyk7CgkJICAgICAgJGhhbmRsZXIgPSBuZXcgY2dfZmlsZXVwbG9hZCgkaWQsJGRlc3RkaXIpOwoJCSAgICAgICRoYW5kbGVyLT5zZXRfYWNjZXB0ZWRfZmlsZXR5cGVzKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ZpbGV0eXBlcycpKTsKCQkgICAgICAkcmVzID0gJGhhbmRsZXItPmhhbmRsZV91cGxvYWQoJ2N1c3RvbWZpZWxkJywnJywnZmllbGQtJy4kZmlkKTsKCQkgICAgICAkZXJyID0gJGhhbmRsZXItPmdldF9lcnJvcigpOwoJCSAgICAgIGlmKCAhJHJlcyAmJiAkZXJyICE9IGNnX2ZpbGV1cGxvYWQ6Ok5PRklMRSApCgkJCXsKCQkJICAkZXJyb3JzW10gPSBzcHJpbnRmKCIlcyAlczogJXMiLCR0aGlzLT5MYW5nKCdmaWVsZCcpLCRkZWYtPm5hbWUsCgkJCQkJICAgICAgJHRoaXMtPkdldFVwbG9hZEVycm9yTWVzc2FnZSgkZXJyKSk7CgkJCX0KCQkgICAgICBlbHNlIGlmKCAhJHJlcyAmJiAhZW1wdHkoJHYpICkKCQkJewoJCQkgIHRydWU7CgkJCX0KCQkgICAgICBlbHNlIGlmKCAhJHJlcyApCgkJCXsKCQkJICAkdiA9IG51bGw7CgkJCX0KCQkgICAgICBlbHNlCgkJCXsKCQkJICAkdiA9ICRyZXM7CgkJCX0KCQkgICAgICBicmVhazsKCQkgICAgICAKCQkgICAgY2FzZSAnaW1hZ2UnOgoJCSAgICAgIGlmKCBpc3NldCgkZGVmLT52YWx1ZSkgKQoJCQlwcm9kdWN0c19kZWxldGVfdXBsb2FkZWRfZmlsZSgkZGVmLT52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAkYXR0ciA9ICdkZWZhdWx0JzsgLy8gdXNlIGRlZmF1bHQgdmFsdWUgZm9yIHdtbG9jYXRpb24KICAgICAgICAgICAgICAgICAgICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZF9hdHRyJ10pICYmIGlzc2V0KCRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkX2F0dHInXVska10pICkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyID0gJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGRfYXR0ciddWyRrXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoJCSAgICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJCSAgICAgICAncHJvZHVjdF8nLiRjb21waWQpOwogICAgICAgICAgICAgICAgICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnY3VzdG9tZmllbGQnLCRkZXN0ZGlyLCRlcnJvcnMsJ2ZpZWxkLScuJGZpZCwkYXR0cik7CiAgICAgICAgICAgICAgICAgICAgICBpZiggJHJlcyA9PT0gRkFMU0UgKQogICAgICAgICAgICAgICAgICAgICAgewoJCQkkdiA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKCAkcmVzID09PSBUUlVFICkKICAgICAgICAgICAgICAgICAgICAgIHsKCQkJdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgIHsKCQkJJHYgPSAkcmVzOwogICAgICAgICAgICAgICAgICAgICAgfQoJCSAgICAgIGJyZWFrOwoJCSAgICAgIAoJCSAgICBjYXNlICd0ZXh0Ym94JzoKCQkgICAgY2FzZSAnY2hlY2tib3gnOgoJCSAgICBjYXNlICd0ZXh0YXJlYSc6CgkJICAgIGNhc2UgJ2Ryb3Bkb3duJzoKCQkgICAgICBicmVhazsKCgkJICAgIGRlZmF1bHQ6CgkJICAgICAgZGllKCJ1bmtub3duIHR5cGU6ICIuJGRlZi0+dHlwZSk7CgkJICAgICAgYnJlYWs7CgkJICAgIH0KCgkJICBpZiggIWlzX251bGwoJHYpICYmICFlbXB0eSgkdikgKSB7CQkgICAgCgkJICAgIC8vIGNvbW1pdCBpdCBpZiB0aGVyZSBpcyBhIHZhbGlkIHZhbHVlCgkJICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyAocHJvZHVjdF9pZCwgZmllbGRkZWZfaWQsIHZhbHVlLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8pJzsKCQkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNvbXBpZCwgJGZpZCwgJHYsIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSkpOwoJCSAgfQoJCX0KCSAgICAgIH0KCSAgfQoKCS8vIFVwZGF0ZSBjYXRlZ29yaWVzCgkkZGItPkV4ZWN1dGUoJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIFdIRVJFIHByb2R1Y3RfaWQgPSA/JywgYXJyYXkoJGNvbXBpZCkpOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3JpZXMnXSkpCgkgIHsKCSAgICBmb3JlYWNoICgkcGFyYW1zWydjYXRlZ29yaWVzJ10gYXMgJHYpCgkgICAgICB7CgkgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyAocHJvZHVjdF9pZCwgY2F0ZWdvcnlfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LD8pJzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY29tcGlkLCAkdiwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpKSk7CgkgICAgICB9CgkgIH0KCQkKCS8vVXBkYXRlIHNlYXJjaCBpbmRleAoJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJaWYgKCRtb2R1bGUgIT0gRkFMU0UpCgkgIHsKCSAgICAkbW9kdWxlLT5EZWxldGVXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkY29tcGlkLCAncHJvZHVjdCcpOwoJICAgIGlmKCAkc3RhdHVzID09ICdwdWJsaXNoZWQnICkKCSAgICAgIHsKCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkY29tcGlkLCAncHJvZHVjdCcsIAoJCQkJICBpbXBsb2RlKCcgJywgJHRoaXMtPkdldFNlYXJjaGFibGVUZXh0KCRjb21waWQpICkgKTsKCSAgICAgIH0KCSAgfQoKCWlmKCBjb3VudCgkZXJyb3JzKSApCgkgIHsKCSAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdpbmZvX2ZpZWxkcHJvYmxlbXMnKSk7CiAgICAgICAgICAgIHJldHVybjsKCSAgfQogICAgICAgIGVsc2UKICAgICAgICAgIHsKICAJICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgICAgICB9CiAgICAgIH0KICB9CiBlbHNlCiAgIHsKICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIGlkID0gPyc7CiAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNvbXBpZCkpOwoKICAgICBpZiAoJHJvdykKICAgICAgIHsKCSAkcHJvZHVjdF9uYW1lID0gJHJvd1sncHJvZHVjdF9uYW1lJ107CgkgJHByaWNlID0gKGZsb2F0KSRyb3dbJ3ByaWNlJ107CgkgJHdlaWdodCA9IChmbG9hdCkkcm93Wyd3ZWlnaHQnXTsKCSAkc2t1ID0gJHJvd1snc2t1J107CgkgJGFsaWFzID0gJHJvd1snYWxpYXMnXTsKCSAkZGV0YWlscyA9ICRyb3dbJ2RldGFpbHMnXTsKCSAkb3JpZ25hbWUgPSAkcm93Wydwcm9kdWN0X25hbWUnXTsKCSAkdGF4YWJsZSA9ICRyb3dbJ3RheGFibGUnXTsKCSAkc3RhdHVzID0gJHJvd1snc3RhdHVzJ107CgoJICRxdWVyeSA9ICdTRUxFQ1QgaGllcmFyY2h5X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIAogICAgICAgICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCSAkaGllcmFyY2h5X3BvcyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoICRjb21waWQpICk7CiAgICAgICB9CiAgIH0KCiRmaWVsZGFycmF5ID0gYXJyYXkoKTsKaWYgKGNvdW50KCRmaWVsZGRlZnMpID4gMCkKICB7CiAgICAkd21vcHRzID0gYXJyYXkoKTsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ25vbmUnKV0gPSAnbm9uZSc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdkZWZhdWx0JyldID0gJ2RlZmF1bHQnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdWwnKV0gPSAnMCc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91YycpXSA9ICcxJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX3VyJyldID0gJzInOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbWwnKV0gPSAnMyc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tYycpXSA9ICc0JzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX21yJyldID0gJzUnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbGwnKV0gPSAnNic7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sYycpXSA9ICc3JzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX2xyJyldID0gJzgnOwoKICAgIGZvcmVhY2ggKCRmaWVsZGRlZnMgYXMgJGZpZWxkZGVmKQogICAgICB7CgkkZmllbGQgPSBuZXcgc3RkQ2xhc3MoKTsKCgkkdmFsdWUgPSAnJzsKCWlmIChpc3NldCgkZmllbGRkZWYtPnZhbHVlKSkKCSAgewoJICAgICR2YWx1ZSA9ICRmaWVsZGRlZi0+dmFsdWU7CgkgIH0KCglpZiAoaXNzZXQoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXVsnZmllbGQtJy4kZmllbGRkZWYtPmlkXSkpCgkgICR2YWx1ZSA9ICRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkJ11bJ2ZpZWxkLScuJGZpZWxkZGVmLT5pZF07CgoJJGZpZWxkLT5pZCA9ICRmaWVsZGRlZi0+aWQ7CgkkZmllbGQtPm5hbWUgPSAkZmllbGRkZWYtPm5hbWU7CgkkZmllbGQtPnR5cGUgPSAkZmllbGRkZWYtPnR5cGU7CglpZiggaXNzZXQoJGZpZWxkZGVmLT52YWx1ZSkgJiYgIWVtcHR5KCRmaWVsZGRlZi0+dmFsdWUpICkgJGZpZWxkLT52YWx1ZSA9ICRmaWVsZGRlZi0+dmFsdWU7CgkkZmllbGQtPnByb21wdCA9ICRmaWVsZGRlZi0+cHJvbXB0OwoJc3dpdGNoICgkZmllbGRkZWYtPnR5cGUpCgkgIHsKCSAgY2FzZSAnY2hlY2tib3gnOgoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gCiAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJyAuICRpZCAuICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nIC4gJyIgdmFsdWU9ImZhbHNlIiAvPicgLiAKICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsICd0cnVlJywgJHZhbHVlICk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ3RleHRhcmVhJzoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICR2YWx1ZSwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScpOwoJICAgIGJyZWFrOwoJICBjYXNlICdkcm9wZG93bic6CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLAoJCQkJCQkJICAgJGZpZWxkZGVmLT5vcHRpb25zLCAtMSwgJHZhbHVlICk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2ZpbGUnOgoJICAgICRmaWVsZC0+ZGVsZXRlID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdjdXN0b21maWVsZFtkZWxldGVmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLAoJCQkJCQkJMSwwKTsKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCcnLDUwKTsKCSAgICAkZmllbGQtPmhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJHZhbHVlKTsKCSAgICBicmVhazsKCSAgY2FzZSAnaW1hZ2UnOgogICAgICAgICAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG93YXRlcm1hcmsnKSA9PSAnYWRqdXN0YWJsZScgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRmaWVsZC0+YXR0cmlidXRlID0gJHRoaXMtPkxhbmcoJ3dhdGVybWFya19sb2NhdGlvbicpLicmbmJzcDsnLgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnY3VzdG9tZmllbGRfYXR0cltmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCR3bW9wdHMsLTEsJ2RlZmF1bHQnKTsKICAgICAgICAgICAgICB9CgkgICAgJGZpZWxkLT5kZWxldGUgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2N1c3RvbWZpZWxkW2RlbGV0ZWZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsCgkJCQkJCQkxLDApOwoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJycsNTApOwoJICAgICRmaWVsZC0+aGlkZGVuID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywkdmFsdWUpOwoJICAgIGJyZWFrOwoJICBjYXNlICd0ZXh0Ym94JzoKCSAgZGVmYXVsdDoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywgJHZhbHVlLCAzMCwgMjU1KTsKCSAgICBicmVhazsKCSAgfQoKCSRmaWVsZGFycmF5W10gPSAkZmllbGQ7CiAgICAgIH0KICB9CgokYWxsY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRDYXRlZ29yaWVzKCk7CiRjYXRhcnJheSA9IGFycmF5KCk7CmZvcmVhY2goICRhbGxjYXRlZ29yaWVzIGFzICRvbmUgKQp7CiAgJGNhdGFycmF5WyRvbmUtPm5hbWVdID0gJG9uZS0+aWQ7Cn0KJHNlbGNhdGVnb3JpZXMgPSAkdGhpcy0+R2V0Q2F0ZWdvcmllc0ZvclByb2R1Y3QoJGNvbXBpZCk7CiRzZWxjYXRhcnJheSA9IGFycmF5KCk7CmZvcmVhY2goICRzZWxjYXRlZ29yaWVzIGFzICRvbmUgKQp7CiAgaWYoICEkb25lLT52YWx1ZSApIGNvbnRpbnVlOwogICRzZWxjYXRhcnJheVskb25lLT5uYW1lXSA9ICRvbmUtPmlkOwp9CgojRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZWRpdHByb2R1Y3QnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwcm9kdWN0X25hbWUnLCAkcHJvZHVjdF9uYW1lLCAzMCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJpY2V0ZXh0JywgJHRoaXMtPkxhbmcoJ3ByaWNlJykpOwokc21hcnR5LT5hc3NpZ24oJ2N1cnJlbmN5X3N5bWJvbCcscHJvZHVjdF9vcHM6OmdldF9jdXJyZW5jeV9zeW1ib2woKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRwcmljZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncHJpY2UnLCBzcHJpbnRmKCIlLjJmIiwkcHJpY2UpLCAxMCwgMTIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd3ZWlnaHR0ZXh0JywgJHRoaXMtPkxhbmcoJ3dlaWdodCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd3ZWlnaHR1bml0cycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX3dlaWdodHVuaXRzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0d2VpZ2h0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd3ZWlnaHQnLCAKCQkJCQkJCSAgICBzcHJpbnRmKCIlLjJmIiwkd2VpZ2h0KSwgMTAsIDEyKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRza3UnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdza3UnLCRza3UsMTAsMjUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGFsaWFzJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYWxpYXMnLCRhbGlhcyw0MCwyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZXRhaWxzdGV4dCcsICR0aGlzLT5MYW5nKCdkZXRhaWxzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0ZGV0YWlscycsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRkZXRhaWxzLCAnZGV0YWlscycsICcnLCAnJywgJycsICcnLCAnODAnLCAnNScpKTsKCmlmKCBjb3VudCgkY2F0YXJyYXkpID4gMCApIHsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yaWVzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwnY2F0ZWdvcmllc1tdJywkY2F0YXJyYXksJHNlbGNhdGFycmF5KSk7CiB9Cgokc21hcnR5LT5hc3NpZ24oJ3RheGFibGV0ZXh0JywkdGhpcy0+TGFuZygndGF4YWJsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHRheGFibGUnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwndGF4YWJsZScsMSwkdGF4YWJsZSkpOwoKJGhpZXJhcmNoeV9pdGVtcyA9ICR0aGlzLT5CdWlsZEhpZXJhcmNoeUxpc3QoKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfaXRlbXMnLCRoaWVyYXJjaHlfaXRlbXMpOwokc21hcnR5LT5hc3NpZ24oJ2hpZXJhcmNoeV9wb3MnLCRoaWVyYXJjaHlfcG9zKTsKCiRzdGF0dXNlcyA9IGFycmF5KCR0aGlzLT5MYW5nKCdwdWJsaXNoZWQnKT0+J3B1Ymxpc2hlZCcsCgkJICAkdGhpcy0+TGFuZygnZHJhZnQnKT0+J2RyYWZ0JywKCQkgICR0aGlzLT5MYW5nKCdkaXNhYmxlZCcpPT4nZGlzYWJsZWQnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXN0ZXh0JywkdGhpcy0+TGFuZygnc3RhdHVzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0c3RhdHVzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ3N0YXR1cycsCgkJCQkJICAgJHN0YXR1c2VzLC0xLCRzdGF0dXMpKTsKCiRzbWFydHktPmFzc2lnbignaWR0ZXh0JywkdGhpcy0+TGFuZygnaWQnKSk7CiRzbWFydHktPmFzc2lnbignY29tcGlkJywkY29tcGlkKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY29tcGlkJywgJGNvbXBpZCkuCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ29yaWduYW1lJywgJG9yaWduYW1lKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2N1c3RvbWZpZWxkcycsICRmaWVsZGFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXN0b21maWVsZHNjb3VudCcsIGNvdW50KCRmaWVsZGFycmF5KSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHByb2R1Y3QudHBsJyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.edit_attribsets.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQoKTsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFByb2R1Y3RzJykpKTsKCXJldHVybjsKfQppZiggIWlzc2V0KCRwYXJhbXNbJ2NvbXBpZCddKSApCiAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoJcmV0dXJuOwogIH0KZWNobyAkdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCi8vU0VMRUNUIEEuKixjb3VudChCLmF0dHJpYl90ZXh0KSBBUyBjb3VudCBGUk9NIGNtc19tb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cyBBIExFRlQgSk9JTiBjbXNfbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMgQiBPTiBBLmF0dHJpYl9zZXRfaWQgPSBCLmF0dHJpYl9zZXRfaWQgR1JPVVAgQlkgYXR0cmliX3NldF9pZDsKJHF1ZXJ5ID0gIlNFTEVDVCBBLiosY291bnQoQi5hdHRyaWJfdGV4dCkgQVMgY291bnQgCiAgICAgICAgICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cyBBIAogICAgICAgICAgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcyBCIAogICAgICAgICAgT04gQS5hdHRyaWJfc2V0X2lkID0gQi5hdHRyaWJfc2V0X2lkIAogICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCA9ID8KICAgICAgICAgIEdST1VQIEJZIGF0dHJpYl9zZXRfaWQiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJHBhcmFtc1snY29tcGlkJ10pICk7CiRvYmplY3RzID0gYXJyYXkoKTsKd2hpbGUoICRkYnJlc3VsdCAmJiAoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgKQogIHsKCSRvYmogPSAkdGhpcy0+QXJyYXlUb09iamVjdCgkcm93KTsKCSRvYmotPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVsZXRlX2F0dHJpYnNldCcsJHJldHVybmlkLAoJCQkJCQkJCQkJCSAgJHRoaXMtPkxhbmcoJ2RlbGV0ZV9hdHRyaWJzZXQnKSwKCQkJCQkJCQkJCQkgICdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCQkJICBhcnJheSgnY29tcGlkJz0+JHBhcmFtc1snY29tcGlkJ10sCgkJCQkJCQkJCQkJCQknYXR0cnNldGlkJz0+JHJvd1snYXR0cmliX3NldF9pZCddKSk7CgoJJG9iai0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRkX2F0dHJpYl9zZXQnLCRyZXR1cm5pZCwKCQkJCQkJCQkJCQkgICR0aGlzLT5MYW5nKCdlZGl0X2F0dHJpYnNldCcpLAoJCQkJCQkJCQkJCSAgJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsCgkJCQkJCQkJCQkJICBhcnJheSgnY29tcGlkJz0+JHBhcmFtc1snY29tcGlkJ10sCgkJCQkJCQkJCQkJCQknYXR0cnNldGlkJz0+JHJvd1snYXR0cmliX3NldF9pZCddKSk7CgoJJG9iamVjdHNbXSA9ICRvYmo7CiAgfQoKJHF1ZXJ5ID0gJ1NFTEVDVCBwcm9kdWN0X25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzCiAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKJHByb2R1Y3RfbmFtZSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcGFyYW1zWydjb21waWQnXSkpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2F0dHJpYnNldHNfZm9yJywkdGhpcy0+TGFuZygnZWRpdF9hdHRyaWJzZXRzX2ZvcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0X25hbWUnLCRwcm9kdWN0X25hbWUpOwoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsJG9iamVjdHMpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJG9iamVjdHMpKTsKJHNtYXJ0eS0+YXNzaWduKCdpZHRleHQnLCR0aGlzLT5MYW5nKCdpZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiRzbWFydHktPmFzc2lnbignY291bnR0ZXh0JywkdGhpcy0+TGFuZygndmFsdWVzJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdhZGRfbGluaycsCgkJCQkkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRkX2F0dHJpYl9zZXQnLCRyZXR1cm5pZCwKCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcoJ2FkZF9hdHRyaWJfc2V0JyksCgkJCQkJCQkJCSAgICdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCgkJCQkJCQkJCSAgIGFycmF5KCdjb21waWQnPT4kcGFyYW1zWydjb21waWQnXSksCgkJCQkJCQkJCSAgICcnLCcnLGZhbHNlKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3JldHVybl9saW5rJywKCQkJCSR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwKCQkJCQkJCQkJICAgJHRoaXMtPkxhbmcoJ3JldHVybicpLAoJCQkJCQkJCQkgICAnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJywKCQkJCQkJCQkJICAgYXJyYXkoJ2NvbXBpZCc9PiRwYXJhbXNbJ2NvbXBpZCddKSwKCQkJCQkJCQkJICAgJycsJycsZmFsc2UpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRfYXR0cmlic2V0cy50cGwnKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.hierarchy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRpbmxpbmUgPSB0cnVlOwokZGV0YWlscGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywnJyk7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRkZXRhaWxwYWdlID0gdHJpbSgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogIH0KaWYoICFlbXB0eSgkZGV0YWlscGFnZSkgKSB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkZGV0YWlscGFnZSk7CiAgICBpZiAoaXNzZXQoJG5vZGUpKQogICAgICB7CgkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwkKCWlmIChpc3NldCgkY29udGVudCkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkZGV0YWlscGFnZSk7CglpZiAoIWlzc2V0KCRub2RlKSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJyc7CgkgIH0KICAgICAgfQogICAgaWYoICRkZXRhaWxwYWdlICE9ICcnICkKICAgICAgewoJJHBhcmFtc1snY2Rfb3JpZ3BhZ2UnXSA9ICRyZXR1cm5pZDsKCSRpbmxpbmUgPSBmYWxzZTsKICAgICAgfQogIH0KCiRwYXJlbnQgPSAtMTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3BhcmVudCddICkgKQogIHsKICAgICRwYXJlbnQgPSAoaW50KSRwYXJhbXNbJ3BhcmVudCddOwogIH0KCiRoaWVyZGF0YSA9IGFycmF5KCk7CiRoaWVyZGF0YVsnbmFtZSddID0gJHRoaXMtPkxhbmcoJ3Jvb3QnKTsKJGhpZXJkYXRhWydpZCddID0gLTE7CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgV0hFUkUgaWQgPSA/IE9SREVSIEJZIGhpZXJhcmNoeSc7CiR0bXAgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHBhcmVudCkpOwppZiggJHRtcCApCiAgewogICAgJGhpZXJkYXRhID0gJHRtcDsKICB9CgoKLy8KLy8gR2V0IHRoZSBsaXN0IG9mIGRpcmVjdCBjaGlsZHJlbiB0byB0aGlzIGhpZXJhcmNoeSBub2RlCi8vCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwokaW1nZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLCdoaWVyYXJjaHknKTsKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICBXSEVSRSBwYXJlbnRfaWQgPSA/IE9SREVSIEJZIGhpZXJhcmNoeSc7CiRkYXRhID0gYXJyYXkoKTsKJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmVudCkpOwp3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKICB7CiAgICAkcGFyYW1zWydwYXJlbnQnXSA9ICRyb3dbJ2lkJ107CiAgICAkcm93Wydkb3dudXJsJ10gPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsJ2hpZXJhcmNoeScsJHJldHVybmlkLCcnLCRwYXJhbXMsJycsdHJ1ZSk7CgogICAgaWYoIGlzc2V0KCRyb3dbJ2ltYWdlJ10pICkKICAgICAgewoJJHRuID0gY21zX2pvaW5fcGF0aCgkaW1nZGlyLCd0aHVtYl8nLiRyb3dbJ2ltYWdlJ10pOwoJaWYoIGZpbGVfZXhpc3RzKCR0bikgKQoJICB7CgkgICAgJHJvd1sndGh1bWJuYWlsJ10gPSAndGh1bWJfJy4kcm93WydpbWFnZSddOwoJICB9CgoJJHRuID0gY21zX2pvaW5fcGF0aCgkaW1nZGlyLCdwcmV2aWV3XycuJHJvd1snaW1hZ2UnXSk7CglpZiggZmlsZV9leGlzdHMoJHRuKSApCgkgIHsKCSAgICAkcm93WydwcmV2aWV3J10gPSAncHJldmlld18nLiRyb3dbJ2ltYWdlJ107CgkgIH0KICAgICAgfQoKICAgICRkYXRhW10gPSAkcm93OwogIH0KCiRzbWFydHktPmFzc2lnbignaGllcmFyY2h5X2l0ZW0nLCRoaWVyZGF0YSk7CiRzbWFydHktPmFzc2lnbignaGllcmFyY2h5X2ltYWdlX2xvY2F0aW9uJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kdGhpcy0+R2V0TmFtZSgpLicvaGllcmFyY2h5Jyk7CiRzbWFydHktPmFzc2lnbignY2hpbGRfbm9kZXMnLCRkYXRhKTsKCmlmKCAkcGFyZW50ID4gMCApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkgV0hFUkUgaWQgPSA/IE9SREVSIEJZIGhpZXJhcmNoeSc7CiAgICAkcmVjID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRwYXJlbnQpKTsKICAgIGlmKCAkcmVjICYmICRyZWNbJ3BhcmVudF9pZCddID4gMCApCiAgICAgIHsKCSRwYXJhbXNbJ3BhcmVudCddID0gJHJlY1sncGFyZW50X2lkJ107Cgkkc21hcnR5LT5hc3NpZ24oJ3BhcmVudF9pbmZvJywkcmVjKTsKCSRzbWFydHktPmFzc2lnbigndXB1cmwnLCR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwnaGllcmFyY2h5JywkcmV0dXJuaWQsJycsJHBhcmFtcywnJyx0cnVlKSk7CiAgICAgIH0KICB9CgoKLy8KLy8gdGVtcGxhdGUKLy8KJHRoZXRlbXBsYXRlID0gJ2J5aGllcmFyY2h5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQllISUVSQVJDSFlfVEVNUExBVEUpOwppZiggaXNzZXQoJHBhcmFtc1snaGllcmFyY2h5dGVtcGxhdGUnXSApICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnYnloaWVyYXJjaHlfJy4kcGFyYW1zWydoaWVyYXJjaHl0ZW1wbGF0ZSddOwogIH0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.importcsv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCmZ1bmN0aW9uIG15X2ZnZXRzKCRmaCkKewogIGlmKCAhJGZoICkgcmV0dXJuOwogICRwb3MxID0gZnRlbGwoJGZoKTsKICAKICAkbGluZSA9IGZnZXRzKCRmaCk7CiAgaWYoIHN0cnBvcygkbGluZSwiXHIiKSA9PT0gRkFMU0UgKQogICAgewogICAgICByZXR1cm4gJGxpbmU7CiAgICB9CgogIC8vIGxpbmUgaXMgcHJvYmFibHkgYSBjcmFwcHkgbWFjIGxpbmUuCiAgJGxlbjEgPSBzdHJsZW4oJGxpbmUpOwogICRwb3MgPSBzdHJwb3MoJGxpbmUsIlxyIik7CgogICRsaW5lID0gc3Vic3RyKCRsaW5lLDAsJHBvcyk7CiAgZnNlZWsoJGZoLCgkbGVuMSAtICRwb3MgLTEgKSAqIC0xLFNFRUtfQ1VSKTsKICByZXR1cm4gJGxpbmU7CiAgCn0KCmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9jbGFzcy5jc3ZfaW1wb3J0ZXIucGhwJyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9jbGFzcy5pbXBvcnRJbWFnZUhhbmRsZXIucGhwJyk7CgokY2dlID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDR0V4dGVuc2lvbnMnKTsKJGZuID0gJGNnZS0+R2V0TW9kdWxlUGF0aCgpLicvbGliL1Byb2dyZXNzMl9MaXRlLnBocCc7CmluY2x1ZGUoJGZuKTsKCmlmKCAhaXNzZXQoJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddKSApIGRpZSgpOwokcGFyYW1zID0gJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddOwokYmF0Y2hzaXplID0gNTA7CiRsaW5lbnVtID0gMDsKJGZwb3MgPSAwOwppZiggaXNzZXQoJHBhcmFtc1snYmF0Y2hzaXplJ10pICkKICB7CiAgICAkYmF0Y2hzaXplID0gKGludCkkcGFyYW1zWydiYXRjaHNpemUnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydsaW5lbnVtJ10pICkKICB7CiAgICAkbGluZW51bSA9IChpbnQpJHBhcmFtc1snbGluZW51bSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2Zwb3MnXSkgKQogIHsKICAgICRmcG9zID0gKGludCkkcGFyYW1zWydmcG9zJ107CiAgfQoKLy8gc2V0dXAgZGlzcGxheQoKLy8gYmVnaW4gdGhlbWUKJHRoZW1lTmFtZT1nZXRfcHJlZmVyZW5jZShnZXRfdXNlcmlkKCksICdhZG1pbnRoZW1lJywgJ2RlZmF1bHQnKTsKJHRoZW1lT2JqZWN0TmFtZSA9ICR0aGVtZU5hbWUuIlRoZW1lIjsKJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKCmlmIChmaWxlX2V4aXN0cyhkaXJuYW1lKF9fRklMRV9fKS4iL3RoZW1lcy8ke3RoZW1lTmFtZX0vJHt0aGVtZU9iamVjdE5hbWV9LnBocCIpKQogIHsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuIi90aGVtZXMvJHt0aGVtZU5hbWV9LyR7dGhlbWVPYmplY3ROYW1lfS5waHAiKTsKICAgICR0aGVtZU9iamVjdCA9IG5ldyAkdGhlbWVPYmplY3ROYW1lKCRnQ21zLCAkdXNlcmlkLCAkdGhlbWVOYW1lKTsKICB9CiBlbHNlCiAgIHsKICAgICAkdGhlbWVPYmplY3QgPSBuZXcgQWRtaW5UaGVtZSgkZ0NtcywgJHVzZXJpZCwgJHRoZW1lTmFtZSk7CiAgIH0KCiRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXT0mJHRoZW1lT2JqZWN0OwppZiAoaXNzZXQoJGdDbXMtPmNvbmZpZ1snYWRtaW5fZW5jb2RpbmcnXSkgJiYgJGdDbXMtPmNvbmZpZ1snYWRtaW5fZW5jb2RpbmcnXSAhPSAnJykKICB7CiAgICAkdGhlbWVPYmplY3QtPlNlbmRIZWFkZXJzKGlzc2V0KCRjaGFyc2V0c2VudCksICRnQ21zLT5jb25maWdbJ2FkbWluX2VuY29kaW5nJ10pOwogIH0KIGVsc2UKICAgewogICAgICR0aGVtZU9iamVjdC0+U2VuZEhlYWRlcnMoaXNzZXQoJGNoYXJzZXRzZW50KSwgZ2V0X2VuY29kaW5nKCcnLCBmYWxzZSkpOwogICB9CiR0aGVtZU9iamVjdC0+UG9wdWxhdGVBZG1pbk5hdmlnYXRpb24oaXNzZXQoJENNU19BRE1JTl9TVUJUSVRMRSk/JENNU19BRE1JTl9TVUJUSVRMRTonJyk7CgokdGhlbWVPYmplY3QtPkRpc3BsYXlEb2NUeXBlKCk7CiR0aGVtZU9iamVjdC0+RGlzcGxheUhUTUxTdGFydFRhZygpOwovLyR0aGVtZU9iamVjdC0+RGlzcGxheUhUTUxIZWFkZXIoZmFsc2UsIGlzc2V0KCRoZWFkdGV4dCk/JGhlYWR0ZXh0OicnKTsKJHRoZW1lT2JqZWN0LT5EaXNwbGF5Qm9keVRhZygpOwovLyR0aGVtZU9iamVjdC0+RG9Ub3BNZW51KCk7CiR0aGVtZU9iamVjdC0+RGlzcGxheU1haW5EaXZTdGFydCgpOwoKJG9wdHMgPSBhcnJheSgnbGVmdCc9PjUwLCd0b3AnPT41MCwnd2lkdGgnPT4zMDAsJ2hlaWdodCc9PjI1LAoJICAgICAgJ21pbic9PjEsJ21heCc9PjEwMCk7CgokcGcxID0gbmV3IEhUTUxfUHJvZ3Jlc3MyX0xpdGUoJG9wdHMpOwokcGcxLT5hZGRMYWJlbCgndGV4dCcsJ3R4dDEnLCR0aGlzLT5MYW5nKCdwcm9ncmVzcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9ncmVzc2JhcicsJHBnMS0+dG9IdG1sKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ltcG9ydGNzdi50cGwnKTsKJHBnMS0+c2hvdygpOwoKJHRoZW1lT2JqZWN0LT5EaXNwbGF5TWFpbkRpdkVuZCgpOwovLyR0aGVtZU9iamVjdC0+T3V0cHV0Rm9vdGVySmF2YXNjcmlwdCgpOwovLyR0aGVtZU9iamVjdC0+RGlzcGxheUZvb3RlcigpOwovLyBlbmQgdGhlbWUKCgoKLy8gYmVnaW4gd29yawokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwokZm4gPSAkY29uZmlnWydyb290X3BhdGgnXS4nL3RtcC9jYWNoZS8nLiRwYXJhbXNbJ2ZpbGVuYW1lJ107CiR0aGVfZmlsZXNpemUgPSBmaWxlc2l6ZSgkZm4pOwokZmggPSBmb3BlbigkZm4sJ3InKTsKaWYoICEkZmggKQogIHsKICAgIGVjaG8gJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpbGVvcGVuJyk7CiAgICByZXR1cm47CiAgfQoKJGltYWdlSGFuZGxlciA9IG5ldyBpbXBvcnRJbWFnZUhhbmRsZXIoJHRoaXMpOwokaW1hZ2VIYW5kbGVyLT5zZXRTb3VyY2VMb2NhdGlvbihjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRwYXJhbXNbJ2ltYWdlcGF0aCddKSk7CiRpbWFnZUhhbmRsZXItPnNldERlc3RpbmF0aW9uQmFzZShjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCkpKTsKJGltYWdlSGFuZGxlci0+c2V0VW5pcXVlTmFtZXMoKTsKCiRpbXBvcnRlciA9IG5ldyBwcm9kdWN0c0NzdkltcG9ydGVyKCR0aGlzKTsKJGltcG9ydGVyLT5zZXRJbWFnZUhhbmRsZXIoJGltYWdlSGFuZGxlcik7CiRpbXBvcnRlci0+c2V0RGVsaW0oJHBhcmFtc1snZGVsaW1pdGVyJ10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdjcmVhdGVfZmllbGRzJywoaW50KSRwYXJhbXNbJ2NyZWF0ZWZpZWxkcyddKTsKJGltcG9ydGVyLT5zZXRQb2xpY3lWYWx1ZSgnaGFuZGxlX2ltYWdlcycsKGludCkkcGFyYW1zWydoYW5kbGVpbWFnZXMnXSk7CiRpbXBvcnRlci0+c2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9oaWVyYXJjaHknLChpbnQpJHBhcmFtc1snY3JlYXRlaGllcmFyY2h5J10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdjcmVhdGVfY2F0ZWdvcmllcycsKGludCkkcGFyYW1zWydjcmVhdGVjYXRlZ29yaWVzJ10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdpbWFnZV9zb3VyY2VfbG9jYXRpb24nLCRwYXJhbXNbJ2ltYWdlcGF0aCddKTsKJGltcG9ydGVyLT5zZXRQb2xpY3lWYWx1ZSgnc2tpcF9leGlzdGluZ19wcm9kdWN0cycsJHBhcmFtc1snZHVwbGljYXRlcHJvZHVjdHMnXSA9PSAnc2tpcCcpOwoKJGJhdGNobGluZXMgPSAwOwppZiggJGZwb3MgPiAwICkKICB7CiAgICAvLyBwcm9jZXNzIHRoZSBmaXJzdCBsaW5lIGFnYWluLgogICAgJGxpbmUgPSBteV9mZ2V0cygkZmgpOwogICAgJGxpbmUgPSB0cmltKCRsaW5lKTsKICAgIGlmKCBlbXB0eSgkbGluZSkgKSBjb250aW51ZTsKICAgICRyZXMgPSAkaW1wb3J0ZXItPmhhbmRsZUxpbmUoJGxpbmUpOwoKICAgIC8vIHNlZWsgdG8gb3VyIG9sZCBwb3NpdGlvbi4KICAgIGZzZWVrKCRmaCwkZnBvcyk7CiAgfQp3aGlsZSggIWZlb2YoJGZoKSAmJiAkYmF0Y2hsaW5lcyA8ICRiYXRjaHNpemUgKQogIHsKICAgICRsaW5lID0gbXlfZmdldHMoJGZoKTsKICAgICRsaW5lID0gdHJpbSgkbGluZSk7CiAgICAkbGluZW51bSsrOwogICAgJGJhdGNobGluZXMrKzsKICAgICRwb3MgPSBmdGVsbCgkZmgpOwogICAgJHBnMS0+bW92ZVN0ZXAoKGludCkoJHBvcyAvICR0aGVfZmlsZXNpemUgKiAxMDAuMCkpOwogICAgaWYoIGVtcHR5KCRsaW5lKSApIGNvbnRpbnVlOwoKICAgICRyZXMgPSAkaW1wb3J0ZXItPmhhbmRsZUxpbmUoJGxpbmUpOwogIH0KaWYoICFmZW9mKCRmaCkgKQogIHsKICAgIC8vIHJlYWR5IGZvciB0aGUgbmV4dCBiYXRjaAoKICAgIC8vIHNhdmUgYW55IGVycm9ycwoKICAgIC8vIHNhdmUgb3VyIHBvc2l0aW9uCiAgICAkcG9zID0gZnRlbGwoJGZoKTsKICAgIGZjbG9zZSgkZmgpOwogICAgJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddWydmcG9zJ10gPSAkcG9zOwogICAgJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddWydsaW5lbnVtJ10gPSAkbGluZW51bTsKICAgIAogICAgLy8gbm93IHJlZGlyZWN0CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zWydkaXNhYmxlX2J1ZmZlciddID0gMTsKICAgICRwYXJtc1snZGlzYWJsZV90aGVtZSddID0gMTsKICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnaW1wb3J0Y3N2JywnJywkcGFybXMpOwogICAgcmVkaXJlY3QoJHRoaXMtPkdldEN1cnJlbnRVUkwoKSk7CiAgfQoKLy8gd29vdCwgd2UncmUgZG9uZQpmY2xvc2UoJGZoKTsKCiRlcnJvcnMgPSAkaW1wb3J0ZXItPmdldEVycm9ycygpOwppZiggaXNfYXJyYXkoJGVycm9ycykgKQogIHsKICAgIGZvcmVhY2goICRlcnJvcnMgYXMgJG9uZSApCiAgICAgIHsKCWVjaG8gIiRvbmU8YnIvPiI7CiAgICAgIH0KICB9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.importproducts.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Byb2R1Y3RzJyk7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbmRlbmllZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICByZXR1cm47CiAgfQoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZsYWdfY3JlYXRlZmllbGRzID0gMDsKJGZsYWdfaGFuZGxlaW1hZ2VzID0gMDsKJGltYWdlcGF0aCA9ICcnOwokZmxhZ19jcmVhdGVoaWVyYXJjaHkgPSAwOwokZmxhZ19jcmVhdGVjYXRlZ29yaWVzID0gMDsKJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMgPSAnc2tpcCc7CiRkZWxlbWV0ZXIgPSAnfCc7CiRiYXRjaHNpemUgPSA1MDsKCiMKIyBTZXR1cAojCiRmbGFnX2NyZWF0ZWZpZWxkcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfY3JlYXRlZmllbGRzJywxKTsKJGZsYWdfaGFuZGxlaW1hZ2VzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9oYW5kbGVpbWFnZXMnLDApOwokaW1hZ2VwYXRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9pbWFnZXBhdGgnLCcnKTsKJGZsYWdfY3JlYXRlaGllcmFyY2h5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVoaWVyYXJjaHknLDEpOwokZmxhZ19jcmVhdGVjYXRlZ29yaWVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVjYXRlZ29yaWVzJywxKTsKJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X2R1cGxpY2F0ZXByb2R1Y3RzJywnb3ZlcndyaXRlJyk7CiRkZWxpbWl0ZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X2RlbGltaXRlcicsJ3wnKTsKJGJhdGNoc2l6ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfYmF0Y2hzaXplJyw1MCk7CgojCiMgSGFuZGxlIEZvcm0gRGF0YQojCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWyd0ZXN0J10pICkKICB7CiAgICAvLyBnZXQgdGhlIGZvcm0gZGF0YQogICAgJGZsYWdfY3JlYXRlZmllbGRzID0gKGludCkkcGFyYW1zWydjcmVhdGVmaWVsZHMnXTsKICAgICRmbGFnX2hhbmRsZWltYWdlcyA9IChpbnQpJHBhcmFtc1snaGFuZGxlaW1hZ2VzJ107CiAgICAkaW1hZ2VwYXRoID0gdHJpbSgkcGFyYW1zWydpbWFnZXBhdGgnXSk7CiAgICAkZmxhZ19jcmVhdGVoaWVyYXJjaHkgPSAoaW50KSRwYXJhbXNbJ2NyZWF0ZWhpZXJhcmNoeSddOwogICAgJGZsYWdfY3JlYXRlY2F0ZWdvcmllcyA9IChpbnQpJHBhcmFtc1snY3JlYXRlY2F0ZWdvcmllcyddOwogICAgJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMgPSAkcGFyYW1zWydkdXBsaWNhdGVwcm9kdWN0cyddOwogICAgJGRlbGltaXRlciA9ICRwYXJhbXNbJ2RlbGltaXRlciddOwogICAgJGJhdGNoc2l6ZSA9IChpbnQpJHBhcmFtc1snYmF0Y2hzaXplJ107CgogICAgLy8gdmFsaWRhdGUgdGhlIGZvcm0gZGF0YQogICAgJGVycm9yID0gJyc7CiAgICAkbWVzc2FnZXMgPSBhcnJheSgpOwogICAgJGltcG9ydF9lcnJvcnMgPSBhcnJheSgpOwogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkdWggPSBuZXcgY2dfZmlsZXVwbG9hZCgkaWQsJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy90bXAvY2FjaGUnKTsKICAgICR1aC0+c2V0X2FjY2VwdGVkX2ZpbGV0eXBlcygnY3N2Jyk7CiAgICAkdWgtPnNldF9hbGxvd19vdmVyd3JpdGUoKTsKICAgICRyZXMgPSAkdWgtPmhhbmRsZV91cGxvYWQoJ2NzdmZpbGUnLCdwcm9kdWN0cycpOwogICAgaWYoICRyZXMgPT09IGZhbHNlICkKICAgICAgewoJJHRtcCA9ICR1aC0+Z2V0X2Vycm9yKCk7CiAgICAgICAgJGVycm9yID0gJHRoaXMtPkdldFVwbG9hZEVycm9yTWVzc2FnZSgkdG1wKTsKICAgICAgfQoKICAgIGlmKCBlbXB0eSgkZXJyb3IpICkKICAgICAgewoJLy8gcmVhZHkgdG8gZG8gc29tZSB0ZXN0aW5nIG9uIHRoZSBjc3YgZmlsZS4KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9jbGFzcy5jc3ZfaW1wb3J0ZXIucGhwJyk7CgkkZm4gPSAkY29uZmlnWydyb290X3BhdGgnXS4nL3RtcC9jYWNoZS9wcm9kdWN0cy5jc3YnOwoJJHRoZV9maWxlc2l6ZSA9IGZpbGVzaXplKCRmbik7CgkkZmggPSBmb3BlbigkZm4sJ3InKTsKCWlmKCAhJGZoICkKCSAgewoJICAgICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9maWxlb3BlbicsJGZuKTsKCSAgfQoJJGxpbmVudW0gPSAwOwoJJGltcG9ydGVyID0gbmV3IHByb2R1Y3RzQ3N2SW1wb3J0ZXIoJHRoaXMpOwoJJGltcG9ydGVyLT5zZXREZWxpbSgkZGVsaW1pdGVyKTsKCXdoaWxlKCAhZmVvZigkZmgpICYmICRsaW5lbnVtIDwgMTAgKQoJICB7CgkgICAgJGxpbmUgPSBmZ2V0cygkZmgpOwoJICAgICRsaW5lID0gdHJpbSgkbGluZSk7CgkgICAgJGxpbmVudW0rKzsKCSAgICAkdG1wID0gYXJyYXkoKTsKCgkgICAgaWYoIGVtcHR5KCRsaW5lKSApIGNvbnRpbnVlOwoKCSAgICAkcmVzID0gJGltcG9ydGVyLT50ZXN0TGluZSgkbGluZSwkdG1wKTsKCSAgICBpZiggJHJlcyA9PT0gRkFMU0UgKQoJICAgICAgewoJCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9maWxlZm9ybWF0Jyk7CgkgICAgICB9CgkgICAgJG1lc3NhZ2VzID0gYXJyYXlfbWVyZ2UoJG1lc3NhZ2VzLCR0bXApOwoJICB9CgoJaWYoICFlbXB0eSgkZXJyb3IpICkKCSAgewoJICAgICRpbXBvcnRfZXJyb3JzID0gJGltcG9ydGVyLT5nZXRFcnJvcnMoKTsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRlcnJvcikgKQogICAgICB7CgkvLyBzYXZlIHRoZSBwcmVmZXJlbmNlcwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVmaWVsZHMnLCRmbGFnX2NyZWF0ZWZpZWxkcyk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2hhbmRsZWltYWdlcycsJGZsYWdfaGFuZGxlaW1hZ2VzKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfaW1hZ2VwYXRoJywkaW1hZ2VwYXRoKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfY3JlYXRlaGllcmFyY2h5JywkZmxhZ19jcmVhdGVoaWVyYXJjaHkpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVjYXRlZ29yaWVzJywkZmxhZ19jcmVhdGVjYXRlZ29yaWVzKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfZHVwbGljYXRlcHJvZHVjdHMnLCRmbGFnX2R1cGxpY2F0ZXByb2R1Y3RzKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfZGVsaW1pdGVyJywkZGVsaW1pdGVyKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfYmF0Y2hzaXplJywkYmF0Y2hzaXplKTsKCgkvLyBidWlsZCB0aGUgdXJsLgoJJHBhcm1zID0gYXJyYXkoKTsKCSRwYXJtc1snZGlzYWJsZV9idWZmZXInXSA9IDE7CgkkcGFybXNbJ2Rpc2FibGVfdGhlbWUnXSA9IDE7CgkkaW1wb3J0X3VybCA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdpbXBvcnRjc3YnLCRyZXR1cm5pZCwkcGFybXMpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRfdXJsJywkaW1wb3J0X3VybCk7CgoJLy8gc2F2ZSBwYXJhbWV0ZXJzIGluIHNlc3Npb24KCSRwYXJhbXNbJ2ZpbGVuYW1lJ10gPSAncHJvZHVjdHMuY3N2JzsKCSRfU0VTU0lPTlsncHJvZHVjdHNfaW1wb3J0X2RhdGEnXSA9ICRwYXJhbXM7CgoJLy8gR2V0IHJlYWR5IGZvciB0aGUgZ28gYWN0aW9uCgkkc21hcnR5LT5hc3NpZ24oJ2NzdmZpbGUnLCRwYXJhbXNbJ2ZpbGVuYW1lJ10pOwoJaWYoIGNvdW50KCRtZXNzYWdlcykgPiAwICkKCSAgewoJICAgICRzbWFydHktPmFzc2lnbignbWVzc2FnZXMnLCRtZXNzYWdlcyk7CgkgIH0KCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCdpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCcpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ2Vycm9ycycsJGltcG9ydF9lcnJvcnMpOwoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3IpOwogICAgICB9CiAgfQoKIwojIEdpdmUgRXZlcnl0aGluZyB0byBTbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ2ZsYWdfY3JlYXRlZmllbGRzJywkZmxhZ19jcmVhdGVmaWVsZHMpOwokc21hcnR5LT5hc3NpZ24oJ2ZsYWdfaGFuZGxlaW1hZ2VzJywkZmxhZ19oYW5kbGVpbWFnZXMpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlcGF0aCcsJGltYWdlcGF0aCk7CiRzbWFydHktPmFzc2lnbignZmxhZ19jcmVhdGVoaWVyYXJjaHknLCRmbGFnX2NyZWF0ZWhpZXJhcmNoeSk7CiRzbWFydHktPmFzc2lnbignZmxhZ19jcmVhdGVjYXRlZ29yaWVzJywkZmxhZ19jcmVhdGVjYXRlZ29yaWVzKTsKJHNtYXJ0eS0+YXNzaWduKCdmbGFnX2R1cGxpY2F0ZXByb2R1Y3RzJywkZmxhZ19kdXBsaWNhdGVwcm9kdWN0cyk7CiRzbWFydHktPmFzc2lnbignZGVsaW1pdGVyJywkZGVsaW1pdGVyKTsKJHNtYXJ0eS0+YXNzaWduKCdiYXRjaHNpemUnLCRiYXRjaHNpemUpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2ltcG9ydHByb2R1Y3RzJywkcmV0dXJuaWQsYXJyYXkoKSxmYWxzZSwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR5ZXNubyA9IGFycmF5KCcwJz0+JHRoaXMtPkxhbmcoJ25vJyksJzEnPT4kdGhpcy0+TGFuZygneWVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3llc25vJywkeWVzbm8pOwoKIwojIFByb2Nlc3MgVGhlIFRlbXBsYXRlIAojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnaW1wb3J0cHJvZHVjdHMudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.movefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRkZWZzJyk7Cgokb3JkZXIgPSAxOwokZmRpZCA9ICRwYXJhbXNbJ2ZkaWQnXTsKCiNHcmFiIG5lY2Vzc2FyeSBpbmZvIGZvciBmaXhpbmcgdGhlIGl0ZW1fb3JkZXIKJG9yZGVyID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBpdGVtX29yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgaWQgPSA/IiwgYXJyYXkoJGZkaWQpKTsKJHRpbWUgPSAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSk7CgppZiAoJHBhcmFtc1snZGlyJ10gPT0gImRvd24iKQp7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgLSAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpdGVtX29yZGVyID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb3JkZXIgKyAxKSk7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgKyAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZkaWQpKTsKfQplbHNlIGlmICgkcGFyYW1zWydkaXInXSA9PSAidXAiKQp7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgKyAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpdGVtX29yZGVyID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb3JkZXIgLSAxKSk7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgLSAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZkaWQpKTsKfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBEZWNlbWJlciwgMjAwNwogICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMC4xIC0gSmFudWFyeSwgMjAwOAogICA8dWw+CiAgICAgPGxpPkFkZHMgcGFnaW5hdGlvbiBpbiBzdW1tYXJ5IHZpZXc8L2xpPgogICAgIDxsaT5GaXhlcyBhIHByb2JsZW0gd2l0aCBkdXBsaWNhdGUgbGlua3MgaW4gc3VtbWFyeSB2aWV3PC9saT4KICAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4wIC0gQXByaWwsIDIwMDgKICA8dWw+CiAgICAgPGxpPkFkZHMgaGllcmFyY2hpY2FsIGNhdGVnb3JpZXMgYXMgd2VsbCBhcyB0aGUgb3JpZ2luYWwgJ3RhZycgYmFzZWQgY2F0ZWdvcmllcy48YnIvPgogICAgICAgICBIaWVyYXJjaGljYWwgY2F0ZWdvcmllcyBjYW4gaGF2ZSBhbiBpbWFnZSBhcyB3ZWxsIGFzIGEgZGVzY3JpcHRpb24uPC9saT4KICAgICA8bGk+QWRkcyBtb3JlIGN1c3RvbSBmaWVsZCB0eXBlcyAoaW1hZ2UsIGRyb3Bkb3duKTxici8+CiAgICAgICAgIEluY2x1ZGluZyB0aHVtYm5haWwgZ2VuZXJhdGlvbi48L2xpPgogICAgIDxsaT5SZW1vdmUgdGhlIG9yaWdpbmFsIGltYWdlIGZpZWxkczwvbGk+CiAgICAgPGxpPkFkZHMgU2VhcmNoIG1vZHVsZSBjYXBhYmlsaXR5PC9saT4KICAgICA8bGk+QWRkcyBhIGhpZXJhcmNoaWNhbCBjYXRlZ29yeSB2aWV3IHdpdGggZHJpbGwgZG93biBzdXBwb3J0PC9saT4KICAgICA8bGk+TXVjaCwgbXVjaCBtb3JlPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjAuMSAtIEFwcmlsLCAyMDA4CiAgPHVsPgogICAgIDxsaT5GaXhlcyBudW1lcm91cyBzbWFsbCBlcnJvcnMuPC9saT4KICAgICA8bGk+Rml4IHRvIGFsbG93IHNwYWNlcyBhbmQgb3RoZXIgY2hhcmFjdGVycyBpbiBoaWVyYXJjaHkgbmFtZXM8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMC4yIC0gQXVndXN0LCAyMDA4CiAgPHVsPgogICAgIDxsaT5CdWcgZml4ZXM8L2xpPgogICAgIDxsaT5Ob3cgUmVxdWlyZSBDR0V4dGVuc2lvbnMgMS45PC9saT4KICAgICA8bGk+QWRkIGEgY3VycmVuY3kgY29kZSBwcmVmZXJlbmNlPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEuMSAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgICA8bGk+QnVnIGZpeGVzPC9saT4KICAgICA8bGk+QWRkIHRoZSBhYmlsaXR5IHRvIGFzc29jaWF0ZSBzdGF0aWMgZGF0YSB3aXRoIGFueSBjYXRlZ29yeTwvbGk+CiAgICAgPGxpPkFkZCB0aGUgYWJpbGl0eSB0byBjb3B5IGNhdGVnb3JpZXM8L2xpPgogICAgIDxsaT5BZGQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gd2F0ZXJtYXJrIHVwbG9hZGVkIGFiaWxpdGllcy48L2xpPgogICAgIDxsaT5BZGQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBsb2NhdGlvbiBvZiB0aGUgd2F0ZXJtYXJrIGluIHVwbG9hZGVkIGltYWdlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMS4yIC0gU2VwdGVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPlVwZGF0ZSBkZXBlbmRlbmNpZXMsIGFuZCByZW1vdmUgZGVidWcgc3RhdGVtZW50cy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMS4zIC0gU2VwdGVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPk1pbm9yIEJ1Z2ZpeGVzPC9saT4KICAgIDxsaT5DaGFuZ2UgdGhlIGRlbGltaXRlciBvbiB0aGUgYXR0cmlidXRlcyBkcm9wZG93bjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4yIC0gRGVjZW1iZXIsIDIwMDgKICA8dWw+CiAgICA8bGk+TnVtZXJvdXMgQnVnZml4ZXM8L2xpPgogICAgPGxpPlByb2R1Y3RzIG1vZHVsZSBub3cgaGFzIGEgQ2FydCBtb2R1bGUgcHJlZmVyZW5jZSwgd2hlcmUgeW91IGNhbiBwaWNrIGZyb20gdGhlIGF2YWlsYWJsZSBjYXJ0IG1vZHVsZXMuPC9saT4KICAgIDxsaT5Nb2RpZnkgZGVmYXVsdCB0ZW1wbGF0ZXMgc28gdGhhdCB0aGUgY2FydCBtb2R1bGUgcHJlZmVyZW5jZSBpcyB1c2VkLjwvbGk+CiAgICA8bGk+UmVtb3ZlIGFsbCByZWZlcmVuY2VzIHRvIHRheGVzIG9yIHNoaXBwaW5nIG1vZHVsZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjIuMSAtIEphbnVhcnksIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIGFiaWxpdHkgdG8gc29ydCBieSB3ZWlnaHQuPC9saT4KICAgIDxsaT5BZGQgYnJlYWRjcnVtYnMgdG8gZGV0YWlsIHZpZXcuPC9saT4KICAgIDxsaT5BZGQgY2F0ZWdvcnkgaW5mb3JtYXRpb24gdG8gc3VtbWFyeSB2aWV3LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4yLjIgLSBKYW51YXJ5LCAyMDA4CiAgPHVsPgogICAgPGxpPkZpeCBtaW5vciBwcm9ibGVtIHdpdGggY2F0ZWdvcnkgaW5mb3JtYXRpb24gaW4gc3VtbWFyeSB2aWV3LjwvbGk+CiAgICA8bGk+QWRkIGNvbnNpc3RlbnQgb3JkZXJpbmcgdG8gR2V0Q2F0ZWdvcmllc0ZvclByb2R1Y3Q8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMi40IC0gRmVicnVhcnksIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIElEIHRvIHRoZSBoaWVyYXJjaHkgdGFiPC9saT4KICAgIDxsaT5BZGQgdGhlIHskcGFyZW50fSB2YXJpYWJsZSB0byB0aGUgaGllcmFyY2h5IGRpc3BsYXkuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjMgLSBNYXJjaCwgMjAwOAogIDx1bD4KICAgIDxsaT5BZGQgQ1NWIEltcG9ydDwvbGk+CiAgICA8bGk+QWRkIGluZGV4ZXMgdG8gdGhlIHRhYmxlcywgc2hvdWxkIHJlc3VsdCBpbiBhIG1hc3NpdmUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQuPC9saT4KICAgIDxsaT5BZGQgRXh0cmExIGFuZCBFeHRyYTIgZmllbGRzIHRvIHRoZSBoaWVyYXJjaHkgZGVmaW5pdGlvbi48L2xpPgogICAgPGxpPkZpeGVzIHByb2JsZW1zIHdpdGggZGF0ZXMKICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjMuMSAtIE1hcmNoLCAyMDA4CiAgPHVsPgogICAgPGxpPkZpeGVzIHRvIENTViBJbXBvcnQ8L2xpPgogICAgPGxpPkJ1bXAgbWluaW11bSBDTVMgVmVyc2lvbiB0byAxLjUuMzwvbGk+CiAgICA8bGk+QnVnZml4ZXMgdG8gZWRpdCBhdHRyaWJ1dGUgc2V0LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40IC0gSnVseSwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXhlcyBFZGl0IEF0dHJpYnV0ZSBTZXQgUHJvYmxlbTwvbGk+CiAgICA8bGk+QWRkcyBHZXRDYXRlZ29yeSgpIG1ldGhvZC48L2xpPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNC4yIC0gSnVseSwgMjAwOAogIDx1bD4KICAgIDxsaT5BZGRzIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgdXNlIGJ5IHRoZSBQcm9tb3Rpb25zIGFuZCBvdGhlciBtb2R1bGVzLjwvbGk+CiAgICA8bGk+Rml4ZXMgbWlub3IgYnVncy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNC40IC0gU2VwdGVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPkZpeGVzIG1pbm9yIGJ1Z3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuNSAtIE5vdmVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPk1pbm9yIHNtYXJ0eSBpbXByb3ZlbWVudHMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuNyAtIERlY2VtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPkFkZHMgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGVtcGxhdGUgZm9yIHByb2R1Y3QgYXR0cmlidXRlIHZhbHVlIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3ducy48L2xpPgogICAgPGxpPkFkZHMgdGhlIHNob3dhbGwgcGFyYW1ldGVyIChvcHRpb25hbCkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24uPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuOCAtIEphbnVhcnksIDIwMDkKICA8dWw+CiAgICA8bGk+QWRkcyBoYW5kbGluZyBmb3IgZGlyZWN0IGFjY2VzcyB0byBkaXNhYmxlZC9kZWxldGVkL2ludmFsaWQgcHJvZHVjdCBkZXRhaWwgdmlld3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjUuMSAtIEZlYnJ1YXJ5LCAyMDEwCiAgPHVsPgogICAgPGxpPkltcHJvdmVtZW50cyBmb3IgTUFDIGZvcm1hdCBBU0NJSSBjc3YgZmlsZXMuPC9saT4KICAgIDxsaT5BZGRzIHByb2R1Y3QgYWxpYXMgbWVjaGFuaXNtLjwvbGk+CiAgICA8bGk+QWRkcyBicmVhZGNydW1iIHN1cHBvcnQgaW50byB0aGUgZGV0YWlsIHZpZXcuPC9saT4KICAgIDxsaT5BZGRzIHByZXR0eSB1cmwgc3VwcG9ydCBpbnRvIHRoZSBzZWFyY2ggcmVzdWx0cy48L2xpPgogICAgPGxpPkFkZHMgY2Fub25pY2FsIHN1cHBvcnQgaW50byB0aGUgZGV0YWlsIHZpZXcuPC9saT4KICAgIDxsaT5BZGRzIFNLVSBzdXBwb3J0LjwvbGk+CiAgICA8bGk+QnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi42IC0gTWFyY2gsIDIwMTkKIDx1bD4KICAgPGxpPk1vZGlmaWNhdGlvbnMgdG8gd29yayB3aXRoIG5ldyBFLWNvbW1lcmNlIHNldHVwLjwvbGk+CiAgIDxsaT5NYW55IGJ1ZyBmaXhlcy48L2xpPgogPC91bD4KPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/class.csv_importer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBwcm9kdWN0c0NzdkltcG9ydGVyCnsKICB2YXIgJF9kZWZzX2J5bmFtZTsKICB2YXIgJF9kZWZzX2J5aW5kZXg7CiAgdmFyICRfcmVjb3JkOwogIHZhciAkX2xpbmVudW07CiAgdmFyICRfbGluZTsKICB2YXIgJF9kZWxpbTsKICB2YXIgJF9lcnJvcnM7CiAgdmFyICRfbW9kdWxlOwogIHZhciAkX2ZpZWxkX21hcDsKICB2YXIgJF9jYXRlZ29yeV9tYXA7CiAgdmFyICRfaGllcmFyY2h5X21hcDsKICB2YXIgJF9wb2xpY3k7CiAgdmFyICRfaW1hZ2VIYW5kbGVyOwoKCiAgZnVuY3Rpb24gcHJvZHVjdHNDc3ZJbXBvcnRlcigmJG1vZCkKICB7CiAgICAkdGhpcy0+X21vZHVsZSA9ICRtb2Q7CiAgICAkdGhpcy0+X2xpbmVudW0gPSAwOwogICAgJHRoaXMtPl9kZWxpbSA9ICd8JzsKICAgICR0aGlzLT5fcG9saWN5ID0gYXJyYXkoKTsKICB9CgoKICBmdW5jdGlvbiBzZXRJbWFnZUhhbmRsZXIoJiRoYW5kbGVyKQogIHsKICAgIGlmKCAhaXNfb2JqZWN0KCRoYW5kbGVyKSApIHJldHVybiBGQUxTRTsKICAgICR0aGlzLT5faW1hZ2VIYW5kbGVyID0gJGhhbmRsZXI7CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBmdW5jdGlvbiBzZXRQb2xpY3lWYWx1ZSgka2V5LCR2YWx1ZSkKICB7CiAgICAkdGhpcy0+X3BvbGljeVska2V5XSA9ICR2YWx1ZTsKICB9CgogIAogIGZ1bmN0aW9uIF9nZXRQb2xpY3lWYWx1ZSgka2V5LCRkZmx0ID0gRkFMU0UpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X3BvbGljeVska2V5XSkgKSByZXR1cm4gJGRmbHQ7CiAgICByZXR1cm4gJHRoaXMtPl9wb2xpY3lbJGtleV07CiAgfQoKCiAgZnVuY3Rpb24gX3NldEVycm9yKCR0bXApCiAgewogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2Vycm9ycykgKQogICAgICB7CgkkdGhpcy0+X2Vycm9ycyA9IGFycmF5KCk7CiAgICAgIH0KICAgICR0aGlzLT5fZXJyb3JzW10gPSAkdGhpcy0+X2xpbmVudW0uJzo6Jy4kdG1wOwogIH0KCgogIGZ1bmN0aW9uIGNsZWFyRXJvcnJzKCkKICB7CiAgICAkdGhpcy0+X2Vycm9ycyA9IGFycmF5KCk7CiAgfQoKCiAgZnVuY3Rpb24gZ2V0RXJyb3JzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9lcnJvcnM7CiAgfQoKCiAgZnVuY3Rpb24gc2V0RGVsaW0oJGRlbGltKQogIHsKICAgIGlmKCBlbXB0eSgkZGVsaW0pICkgcmV0dXJuIEZBTFNFOwogICAgJHRoaXMtPl9kZWxpbSA9ICRkZWxpbTsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIGZ1bmN0aW9uIHNldEZpZWxkRGVmc0J5TmFtZSgkdG1wKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgKSByZXR1cm4gRkFMU0U7CiAgICAkdGhpcy0+X2RlZnNfYnluYW1lID0gJHRtcDsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIGZ1bmN0aW9uIHNldEZpZWxkRGVmc0J5SW5kZXgoJHRtcCkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0bXApICkgcmV0dXJuIEZBTFNFOwogICAgJHRoaXMtPl9kZWZzX2J5aW5kZXggPSAkdG1wOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIGZ1bmN0aW9uIF9zZXRMaW5lKCR0bXApCiAgewogICAgJHRoaXMtPl9saW5lID0gJHRtcDsKICAgICR0aGlzLT5fbGluZW51bSsrOwogICAgJHRoaXMtPl9yZWNvcmQgPSBleHBsb2RlKCR0aGlzLT5fZGVsaW0sJHRoaXMtPl9saW5lKTsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIGZ1bmN0aW9uIF9nZXRGaWVsZElkKCRuYW1lKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9maWVsZF9tYXApICkKICAgICAgewoJZ2xvYmFsICRnQ21zOwoJJGRiID0mICRnQ21zLT5HZXREYigpOwoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lLHR5cGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyc7CgkkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJaWYoIGlzX2FycmF5KCR0bXApICkKCSAgewoJICAgICR0aGlzLT5fZmllbGRfbWFwID0gJHRoaXMtPl9tb2R1bGUtPmFycmF5X3RvX2hhc2goJHRtcCwnbmFtZScpOwoJICB9CiAgICAgIH0KICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X2ZpZWxkX21hcCkgJiYgaXNzZXQoJHRoaXMtPl9maWVsZF9tYXBbJG5hbWVdKSApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+X2ZpZWxkX21hcFskbmFtZV1bJ2lkJ107CiAgICAgIH0KICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBmdW5jdGlvbiBfZ2V0RmllbGRUeXBlKCRuYW1lKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9maWVsZF9tYXApICkKICAgICAgewoJJHRtcCA9ICR0aGlzLT5fZ2V0RmllbGRJZCgkbmFtZSk7CiAgICAgIH0KICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X2ZpZWxkX21hcCkgJiYgaXNzZXQoJHRoaXMtPl9maWVsZF9tYXBbJG5hbWVdKSApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+X2ZpZWxkX21hcFskbmFtZV1bJ3R5cGUnXTsKICAgICAgfQogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIGZ1bmN0aW9uIF9nZXRDYXRlZ29yeUlkKCRuYW1lKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9jYXRlZ29yeV9tYXApICkKICAgICAgewoJZ2xvYmFsICRnQ21zOwoJJGRiID0mICRnQ21zLT5HZXREYigpOwoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzJzsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CglpZiggaXNfYXJyYXkoJHRtcCkgKQoJICB7CgkgICAgJHRoaXMtPl9jYXRlZ29yeV9tYXAgPSAkdGhpcy0+X21vZHVsZS0+YXJyYXlfdG9faGFzaCgkdG1wLCduYW1lJyk7CgkgIH0KICAgICAgfQogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fY2F0ZWdvcnlfbWFwKSAmJiBpc3NldCgkdGhpcy0+X2NhdGVnb3J5X21hcFskbmFtZV0pICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5fY2F0ZWdvcnlfbWFwWyRuYW1lXVsnaWQnXTsKICAgICAgfQogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIGZ1bmN0aW9uIF9fZ2V0SGllcmFyY2h5Q2FjaGUoKQogIHsKICAgIC8vIG1ha2Ugc3VyZSB3ZSBoYXZlIGV2ZXJ5dGhpbmcgaW4gbWVtb3J5LgogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxsb25nX25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgaWYoIGlzX2FycmF5KCR0bXApICkKICAgICAgewoJJHRoaXMtPl9oaWVyYXJjaHlfbWFwID0gJHRoaXMtPl9tb2R1bGUtPmFycmF5X3RvX2hhc2goJHRtcCwnbG9uZ19uYW1lJyk7CiAgICAgIH0KICB9CgoKICBmdW5jdGlvbiBfZ2V0SGllcmFyY2h5SWQoJGhpZXIpCiAgewogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2hpZXJhcmNoeV9tYXApICkKICAgICAgewoJJHRoaXMtPl9fZ2V0SGllcmFyY2h5Q2FjaGUoKTsKICAgICAgfQogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9oaWVyYXJjaHknKSApCiAgICAgIHsKCWlmKCAoaXNfYXJyYXkoJHRoaXMtPl9oaWVyYXJjaHlfbWFwKSAmJiAhaXNzZXQoJHRoaXMtPl9oaWVyYXJjaHlfbWFwWyRoaWVyXSkpIHx8CgkgICAgIWlzX2FycmF5KCR0aGlzLT5faGllcmFyY2h5X21hcCkgKQoJICB7CgkgICAgZ2xvYmFsICRnQ21zOwoJICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCgkgICAgLy8gd2UgaGF2ZSBldmVyeXRoaW5nIGluIG1lbW9yeQoJICAgIC8vIGl0J3MganVzdCBub3QgdGhlcmUKCSAgICAvLyBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBpdC4KCSAgICAkcGF0aCA9IGV4cGxvZGUoJyB8ICcsJGhpZXIpOwoJICAgICRwYXJlbnQgPSAtMTsKCSAgICAkZnF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IFdIRVJFIG5hbWUgPSA/IEFORCBwYXJlbnRfaWQgPSA/JzsKCSAgICAkaXF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IChuYW1lLHBhcmVudF9pZCkgVkFMVUVTICg/LD8pJzsKCSAgICBmb3JlYWNoKCAkcGF0aCBhcyAkb25lICkKCSAgICAgIHsKCQkkbmFtZSA9IHRyaW0oJG9uZSk7CgkJJG5hbWUgPSB0cmltKCRuYW1lLCciXCcnKTsKCQlpZiggZW1wdHkoJG5hbWUpICkgY29udGludWU7CgkJJHRfaWQgPSAkZGItPkdldE9uZSgkZnF1ZXJ5LGFycmF5KCRuYW1lLCRwYXJlbnQpKTsKCQlpZiggISR0X2lkICkKCQkgIHsKCQkgICAgLy8gZ290dGEgaW5zZXJ0IGl0CgkJICAgICRkYi0+RXhlY3V0ZSgkaXF1ZXJ5LGFycmF5KCRuYW1lLCRwYXJlbnQpKTsKCQkgICAgJHRfaWQgPSAkZGItPkluc2VydF9JRCgpOwoJCSAgICAkdGhpcy0+X21vZHVsZS0+VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgkJICB9CgkJJHBhcmVudCA9ICR0X2lkOwoJICAgICAgfQoJICB9CgoJLy8gcmVmcmVzaCB0aGUgbWVtb3J5CgkkdGhpcy0+X19nZXRIaWVyYXJjaHlDYWNoZSgpOwogICAgICB9CgogICAgLy8gcmV0dXJuIHRoZSBkZXNpcmVkIHZhbHVlCiAgICBpZiggaXNfYXJyYXkoJHRoaXMtPl9oaWVyYXJjaHlfbWFwKSAmJiBpc3NldCgkdGhpcy0+X2hpZXJhcmNoeV9tYXBbJGhpZXJdKSApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+X2hpZXJhcmNoeV9tYXBbJGhpZXJdWydpZCddOwogICAgICB9CgogICAgLy8gdGhpcyBpYSByZWFsbHkgYSBwcm9ibGVtCiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgZnVuY3Rpb24gX2hhc0ZpZWxkKCRuYW1lKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9yZWNvcmQpICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2RlZnNfYnluYW1lKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kZWZzX2J5bmFtZVskbmFtZV0pICkgcmV0dXJuIEZBTFNFOwogICAgJGlkeCA9ICR0aGlzLT5fZGVmc19ieW5hbWVbJG5hbWVdOwogICAgaWYoICRpZHggPj0gY291bnQoJHRoaXMtPl9yZWNvcmQpICkgcmV0dXJuIEZBTFNFOwogICAgcmV0dXJuICRpZHg7CiAgfQoKCiAgZnVuY3Rpb24gX2dldEZpZWxkKCRuYW1lLCRkZmx0ID0gRkFMU0UpCiAgewogICAgJGlkeCA9ICR0aGlzLT5faGFzRmllbGQoJG5hbWUpOwogICAgaWYoICRpZHggPT09IEZBTFNFICkgcmV0dXJuICRkZmx0OwogICAgJHZhbCA9IHRyaW0oJHRoaXMtPl9yZWNvcmRbJGlkeF0sJ1wnIicpOwogICAgcmV0dXJuICR2YWw7CiAgfQoKICBmdW5jdGlvbiBfZ2V0RGVmQ291bnQoKQogIHsKICAgIHJldHVybiBjb3VudCgkdGhpcy0+X2RlZnNfYnlpbmRleCk7CiAgfQoKCiAgZnVuY3Rpb24gX2dldEZpZWxkQ291bnQoKSAgewogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5fcmVjb3JkKTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRDdXJyZW5jeSgkc3RyKQogIHsKICAgICRMb2NhbGVJbmZvID0gbG9jYWxlY29udigpOwogICAgJGN1cnJlbmN5X3N5bWJvbCA9ICckJzsKICAgIGlmKCBpc3NldCgkTG9jYWxlSW5mb1snY3VycmVuY3lfc3ltYm9sJ10pICYmICRMb2NhbGVJbmZvWydjdXJyZW5jeV9zeW1ib2wnXSAhPSAnJyApCiAgICAgICRjdXJyZW5jeV9zeW1ib2wgPSAkTG9jYWxlSW5mb1snY3VycmVuY3lfc3ltYm9sJ107CgogICAgJHN0ciA9IHRyaW0oJHN0cik7CiAgICAkc3RyID0gdHJpbSgkc3RyLCRjdXJyZW5jeV9zeW1ib2wpOwogICAgJHN0ciA9IHN0cl9yZXBsYWNlKCRMb2NhbGVJbmZvWyJtb25fdGhvdXNhbmRzX3NlcCJdICwgIiIsICRzdHIpOwogICAgJHN0ciA9IHN0cl9yZXBsYWNlKCRMb2NhbGVJbmZvWyJtb25fZGVjaW1hbF9wb2ludCJdICwgIi4iLCAkc3RyKTsKICAgICR2YWwgPSBmbG9hdHZhbCgkc3RyKTsgCiAgICByZXR1cm4gJHZhbDsKICB9CgoKICBmdW5jdGlvbiBfZ2V0RmllbGROYW1lc0xpa2UoJHByZWZpeCkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZGVmc19ieWluZGV4KSApIHJldHVybiBGQUxTRTsKICAgICRyZXMgPSBhcnJheSgpOwogICAgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X2RlZnNfYnlpbmRleCk7ICRpKysgKQogICAgICB7CgkkdG1wID0gdHJpbSh0cmltKCR0aGlzLT5fZGVmc19ieWluZGV4WyRpXSksJ1wnIicpOwoJaWYoIHN0YXJ0c3dpdGgoJHRtcCwkcHJlZml4KSApCgkgIHsKCSAgICAkcmVzW10gPSAkdG1wOwoJICB9CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCgogIGZ1bmN0aW9uIF9oYW5kbGVGaXJzdExpbmUoKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CgogICAgLy8gMC4gIEdldCB0aGUgZmllbGQgZGVmaW5pdGlvbnMKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fcmVjb3JkKTsgJGkrKyApCiAgICAgIHsKCSR0bXAgPSB0cmltKHRyaW0oJHRoaXMtPl9yZWNvcmRbJGldKSwnIlwnJyk7CgkkYnluYW1lWyR0bXBdID0gJGk7CiAgICAgIH0KICAgICR0aGlzLT5fZGVmc19ieW5hbWUgPSAkYnluYW1lOwogICAgJHRoaXMtPl9kZWZzX2J5aW5kZXggPSAkdGhpcy0+X3JlY29yZDsKCgogICAgLy8gMS4gZmlyc3QgbWFrZSBzdXJlIHdlIGhhdmUgYWxsIHRoZSByZXF1aXJlZCBmaWVsZHMuCiAgICAkcmVxdWlyZWRfZmllbGRzID0gZXhwbG9kZSgnLCcsJyNGTEFHLCNuYW1lLCNwcmljZScpOwogICAgZm9yZWFjaCggJHJlcXVpcmVkX2ZpZWxkcyBhcyAkb25lICkKICAgICAgewoJaWYoICFhcnJheV9rZXlfZXhpc3RzKCRvbmUsJHRoaXMtPl9kZWZzX2J5bmFtZSkgKQoJICB7CgkgICAgJHRoaXMtPl9zZXRFcnJvcignbWlzc2luZyByZXF1aXJlZCBmaWVsZCAnLiRvbmUpOwoJICAgIHJldHVybiBGQUxTRTsKCSAgfQogICAgICB9CgogICAgLy8gMi4gZ28gdGhyb3VnaCBhbmQgZ2V0IGNhdGVnb3JpZXMKICAgIC8vIGFuZCBtYWtlIHN1cmUgdGhleSBleGlzdAogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9jYXRlZ29yaWVzJykgKQogICAgICB7CgkkY2F0cyA9ICR0aGlzLT5fZ2V0RmllbGROYW1lc0xpa2UoJyNDQVQnKTsKCWlmKCBpc19hcnJheSgkY2F0cykgKQoJICB7CgkgICAgJGZxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgbmFtZSA9ID8nOwoJICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIChuYW1lLGNyZWF0ZV9kYXRlLG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPywkbm93LCRub3cpIjsKCSAgICBmb3JlYWNoKCAkY2F0cyBhcyAkb25lICkKCSAgICAgIHsKCQkkdG1wID0gdHJpbShzdWJzdHIoJG9uZSw1KSk7CgkJJHRtcCA9IHRyaW0oJHRtcCwnIlwnJyk7CgkJaWYoIGVtcHR5KCR0bXApICkgY29udGludWU7CgkJJHRfaWQgPSAkZGItPkdldE9uZSgkZnF1ZXJ5LGFycmF5KCR0bXApKTsKCQlpZiggISR0X2lkICkKCQkgIHsKCQkgICAgLy8gb29wcywgZ290dGEgYWRkIGl0CgkJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJGlxdWVyeSxhcnJheSgkdG1wKSk7CgkJICAgIGlmKCAhJGRiciApCgkJICAgICAgewoJCQkkdGhpcy0+X3NldEVycm9yKCdwcm9ibGVtIGNyZWF0aW5nIGNhdGVnb3J5ICcuJHRtcCk7CgkJCSR0aGlzLT5fc2V0RXJyb3IoJ0RFQlVHOiAnLiRkYi0+c3FsLicgLS0gJy4kZGItPkVycm9yTXNnKCkpOwoJCSAgICAgIH0KCQkgIH0KCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgLy8gMy4gdGhlbiBmaWVsZHMKICAgIC8vIGFuZCBtYWtlIHN1cmUgdGhleSBleGlzdAogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9maWVsZHMnKSApCiAgICAgIHsKCSRmaWVsZHMgPSAkdGhpcy0+X2dldEZpZWxkTmFtZXNMaWtlKCcjRklFTEQnKTsKCWlmKCBpc19hcnJheSgkZmllbGRzKSApCgkgIHsKCSAgICAkZnF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFdIRVJFIG5hbWUgPSA/JzsKCSAgICAkb3F1ZXJ5ID0gJ1NFTEVDVCBtYXgoaXRlbV9vcmRlcikgKyAxIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMnOwoJICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgCiAgICAgICAgICAgICAgICAgICAgICAobmFtZSwgcHJvbXB0LCB0eXBlLCBtYXhfbGVuZ3RoLCBpdGVtX29yZGVyLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwgcHVibGljKQogICAgICAgICAgICAgICAgICAgVkFMVUVTKD8sPyw/LD8sPywkbm93LCRub3csMSkiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJICAgIGZvcmVhY2goICRmaWVsZHMgYXMgJG9uZSApCgkgICAgICB7CgkJJHRtcCA9IGV4cGxvZGUoJzonLCRvbmUpOwoJCWlmKCBjb3VudCgkdG1wKSAhPSAzICkgY29udGludWU7CgkJJHR5cGUgPSB0cmltKHRyaW0oJHRtcFsxXSksJyJcJycpOwoJCSRuYW1lID0gdHJpbSh0cmltKCR0bXBbMl0pLCciXCcnKTsKCQlpZiggZW1wdHkoJHR5cGUpIHx8IGVtcHR5KCRuYW1lKSApIGNvbnRpbnVlOwoJCSR0X2lkID0gJGRiLT5HZXRPbmUoJGZxdWVyeSxhcnJheSgkbmFtZSkpOwoJCWlmKCAhJHRfaWQgKQoJCSAgewoJCSAgICAkcHJvbXB0ID0gdWN3b3JkcygkbmFtZSk7CgkJICAgIC8vIG9vcHMsIGdvdHRhIGFkZCBpdC4KCQkgICAgJG1heCA9ICRkYi0+R2V0T25lKCRvcXVlcnkpOwoJCSAgICBpZiggISRtYXggKSAkbWF4ID0gMDsKCQkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkaXF1ZXJ5LGFycmF5KCRuYW1lLCRwcm9tcHQsJHR5cGUsMjU1LCRtYXgpKTsKCQkgICAgaWYoICEkZGJyICkKCQkgICAgICB7CgkJCSR0aGlzLT5fc2V0RXJyb3IoJ1Byb2JsZW0gY3JlYXRpbmcgZmllbGQgJy4kbmFtZSk7CgkJCSR0aGlzLT5fc2V0RXJyb3IoJ0RFQlVHOiAnLiRkYi0+c3FsLicgLS0gJy4kZGItPkVycm9yTXNnKCkpOwoJCSAgICAgIH0KCQkgIH0KCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgZnVuY3Rpb24gX2hhbmRsZU5ld1Byb2R1Y3QoKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CgogICAgLy8gZ2V0IHRoZSBpbmZvIGZvciB0aGUgcHJvZHVjdAogICAgLy8gYW5kIGluc2VydCBpdAogICAgJHRub3cgPSB0cmltKCRub3csIiciKTsKICAgICRuYW1lID0gJHRoaXMtPl9nZXRGaWVsZCgnI25hbWUnKTsKICAgICRmcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyBXSEVSRSBwcm9kdWN0X25hbWUgPSA/JzsKICAgICR0X2lkID0gJGRiLT5HZXRPbmUoJGZxdWVyeSxhcnJheSgkbmFtZSkpOwogICAgaWYoICR0X2lkICkKICAgICAgewoJLy8gdWgtb2gsIGl0J3MgYSBkdXBsaWNhdGUgcHJvZHVjdC4KCWlmKCAkdGhpcy0+X2dldFBvbGljeVZhbHVlKCdza2lwX2V4aXN0aW5nX3Byb2R1Y3RzJykgKQoJICB7CgkgICAgLy8gd29vaG9vLCB3ZSBnZXQgdG8gc2tpcCB0aGlzIHdob2xlIGxpbmUKCSAgICAkdGhpcy0+X3NldEVycm9yKCJkdXBsaWNhdGUgcHJvZHVjdCAkbmFtZSIpOwoJICB9CgllbHNlCgkgIHsKCSAgICAvLyB1aC1vaCB3ZSBnb3R0YSBkZWxldGUgdGhpcyBleGlzdGluZyBwcm9kdWN0IGZpcnN0LgoJICAgICR0aGlzLT5fbW9kdWxlLT5EZWxldGVQcm9kdWN0KCR0X2lkKTsKCSAgfQogICAgICB9CgogICAgJGlxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzCiAgICAgICAgICAgICAgICAgKHByb2R1Y3RfbmFtZSxkZXRhaWxzLHByaWNlLGNyZWF0ZV9kYXRlLG1vZGlmaWVkX2RhdGUsdGF4YWJsZSxzdGF0dXMsd2VpZ2h0LHNrdSkKICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPykiOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkaXF1ZXJ5LGFycmF5KCR0aGlzLT5fZ2V0RmllbGQoJyNuYW1lJyksCgkJCQkgICAgICAkdGhpcy0+X2dldEZpZWxkKCcjZGV0YWlscycsJycpLAoJCQkJICAgICAgJHRoaXMtPl9nZXRDdXJyZW5jeSgkdGhpcy0+X2dldEZpZWxkKCcjcHJpY2UnLDApKSwKCQkJCSAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyNjcmVhdGVfZGF0ZScsJHRub3cpLAoJCQkJICAgICAgJHRoaXMtPl9nZXRGaWVsZCgnI21vZGlmaWVkX2RhdGUnLCR0bm93KSwKCQkJCSAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyN0YXhhYmxlJywxKSwKCQkJCSAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyNzdGF0dXMnLCdwdWJsaXNoZWQnKSwKCQkJCSAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyN3ZWlnaHQnLDApLAoJCQkJICAgICAgJHRoaXMtPl9nZXRGaWVsZCgnI3NrdScsJycpKSk7CiAgICBpZiggISRkYnIgKQogICAgICB7CgkkdGhpcy0+X3NldEVycm9yKCdwcm9kdWN0IGluc2VydCBmYWlsZWQnKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQogICAgJHByb2R1Y3RfaWQgPSAkZGItPkluc2VydF9JRCgpOwoKCiAgICAvLyBnZXQgdGhlIGhpZXJhcmNoeQogICAgLy8gYW5kIGluc2VydCBpdAogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9oaWVyYXJjaHknKSApCiAgICAgIHsKCSRoaWVyID0gJHRoaXMtPl9nZXRGaWVsZCgnI0hJRVInKTsKCWlmKCAkaGllciAhPT0gRkFMU0UgKQoJICB7CgkgICAgaWYoIGVtcHR5KCRoaWVyKSApCgkgICAgICB7CgkJJHRoaXMtPl9zZXRFcnJvcignZW1wdHkgaGllcmFyY2h5IHZhbHVlJyk7CgkJcmV0dXJuIEZBTFNFOwoJICAgICAgfQoKCSAgICAkaXF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllcgoJICAgICAgICAgICAgICAocHJvZHVjdF9pZCxoaWVyYXJjaHlfaWQpIFZBTFVFUyAoPyw/KSc7CgkgICAgJHRtcCA9IGV4cGxvZGUoJz4+JywkaGllcik7CgkgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQoJICAgICAgewoJCSR0bXBbJGldID0gdHJpbSh0cmltKCR0bXBbJGldKSwnIlwnJyk7CgkgICAgICB9CgkgICAgJGhpZXIgPSBpbXBsb2RlKCcgfCAnLCR0bXApOwoKCSAgICAkaGlkID0gJHRoaXMtPl9nZXRIaWVyYXJjaHlJZCgkaGllcik7CgkgICAgaWYoICRoaWQgPT09IEZBTFNFICkKCSAgICAgIHsKCQkkdGhpcy0+X3NldEVycm9yKCdoaWVyYXJjaHkgcG9zaXRpb24gbm90IGZvdW5kOiAnLiRoaWVyKTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkaXF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkLCRoaWQpKTsKCQlpZiggISRkYnIgKQoJCSAgewoJCSAgICAkdGhpcy0+X3NldEVycm9yKCJwcm9ibGVtIGluc2VydGluZyBoaWVyYXJjaHkgYXNzb2NpYXRpb24gJGhpZCBmb3IgcHJvZHVjdCAkcHJvZHVjdF9pZCIpOwoJCSAgfQoJICAgICAgfQoJICB9CiAgICAgIH0KCgogICAgLy8gZ2V0IHRoZSBpbmZvIGZvciBmaWVsZHMKICAgIC8vIGFuZCBpbnNlcnQgdGhlbQogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9maWVsZHMnKSApCiAgICAgIHsKCSRmaWVsZHMgPSAkdGhpcy0+X2dldEZpZWxkTmFtZXNMaWtlKCcjRklFTEQnKTsKCWlmKCBpc19hcnJheSgkZmllbGRzKSApCgkgIHsKCSAgICAkaXF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzCiAgICAgICAgICAgICAgICAgICAgIChwcm9kdWN0X2lkLGZpZWxkZGVmX2lkLHZhbHVlLGNyZWF0ZV9kYXRlLG1vZGlmaWVkX2RhdGUpCiAgICAgICAgICAgICAgICAgICBWQUxVRVMoPyw/LD8sJG5vdywkbm93KSI7CgkgICAgZm9yZWFjaCgkZmllbGRzIGFzICRvbmUpCgkgICAgICB7CgkJJHRtcCA9IGV4cGxvZGUoJzonLCRvbmUpOwoJCWlmKCBjb3VudCgkdG1wKSAhPSAzICkgY29udGludWU7CgkJJG5hbWUgPSB0cmltKHRyaW0oJHRtcFsyXSksJyJcJycpOwoJCSR2YWwgPSAkdGhpcy0+X2dldEZpZWxkKCRuYW1lKTsKCQkkdmFsID0gdHJpbSh0cmltKCR2YWwpLCciXCcnKTsKCgkJLy8gZ2V0IHRoZSBmaWVsZCBpZCBmcm9tIGNhY2hlCgkJJGZpZCA9ICR0aGlzLT5fZ2V0RmllbGRJZCgkbmFtZSk7CgkJaWYoICRmaWQgPT09IEZBTFNFICkKCQkgIHsKCQkgICAgJHRoaXMtPl9zZXRFcnJvcignZmllbGQgJy4kbmFtZS4nIG5vdCBmb3VuZCcpOwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAgJHR5cGUgPSAkdGhpcy0+X2dldEZpZWxkVHlwZSgkbmFtZSk7CgkJICAgICRpbnNlcnQgPSB0cnVlOwoJCSAgICBpZiggJHR5cGUgPT0gJ2ltYWdlJykKCQkgICAgICB7CgkJCS8vIGl0J3MgYW4gaW1hZ2UuLi4gCgkJCWlmKCAhJHRoaXMtPl9nZXRQb2xpY3lWYWx1ZSgnaGFuZGxlX2ltYWdlcycpIHx8IGVtcHR5KCR2YWwpCgkJCSAgICB8fCBlbXB0eSgkdGhpcy0+X2ltYWdlSGFuZGxlcikgfHwgIWlzX29iamVjdCgkdGhpcy0+X2ltYWdlSGFuZGxlcikgKQoJCQkgIHsKCQkJICAgIC8vIHdlJ3JlIG5vdCBoYW5kbGluZyBpbWFnZXMsIG9yIHRoZSB2YWx1ZSBpcyBlbXB0eS4KCQkJICAgICRpbnNlcnQgPSBmYWxzZTsKCQkJICB9CgkJCWVsc2UKCQkJICB7CgkJCSAgICAvLyBidWlsZCBzb3VyY2UgbmFtZQoJCQkgICAgJHJlcyA9ICR0aGlzLT5faW1hZ2VIYW5kbGVyLT5oYW5kbGVJbWFnZSgkcHJvZHVjdF9pZCwkdmFsKTsKCQkJICAgIGlmKCAkcmVzID09IEZBTFNFICkKCQkJICAgICAgewoJCQkJJHRoaXMtPl9zZXRFcnJvcigncHJvYmxlbSBoYW5kbGluZyBpbWFnZSAnLiR2YWwpOwoJCQkJJGluc2VydCA9IGZhbHNlOwoJCQkgICAgICB9CgkJCSAgICBlbHNlCgkJCSAgICAgIHsKCQkJCSR2YWwgPSAkcmVzOwoJCQkgICAgICB9CgkJCSAgfQoJCSAgICAgIH0KCgkJICAgIGlmKCAkaW5zZXJ0ICkKCQkgICAgICB7CgkJCS8vIGdvb2QgdG8gaW5zZXJ0LgoJCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJHByb2R1Y3RfaWQsJGZpZCwkdmFsKSk7CgkJCWlmKCAhJGRiciApCgkJCSAgewoJCQkgICAgJHRoaXMtPl9zZXRFcnJvcigicHJvYmxlbSBhc3NvY2lhdGluZyBmaWVsZCAkZmlkIHdpdGggcHJvZHVjdCAkcHJvZHVjdF9pZCIpOwoJCQkgIH0KCQkgICAgICB9CgkJICB9CgkgICAgICB9CgkgIH0KICAgICAgfSAvLyBfZ2V0UG9saWN5VmFsdWUKCgogICAgLy8gZ2V0IHRoZSBpbmZvIGZvciBjYXRlZ29yaWVzCiAgICAvLyBhbmQgaW5zZXJ0IHRoZW0KICAgIGlmKCAkdGhpcy0+X2dldFBvbGljeVZhbHVlKCdjcmVhdGVfY2F0ZWdvcmllcycpICkKICAgICAgewoJJGNhdHMgPSAkdGhpcy0+X2dldEZpZWxkTmFtZXNMaWtlKCcjQ0FUJyk7CglpZiggaXNfYXJyYXkoJGNhdHMpICkKCSAgewoJICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgICAgICAocHJvZHVjdF9pZCxjYXRlZ29yeV9pZCxjcmVhdGVfZGF0ZSxtb2RpZmllZF9kYXRlKQogICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sJG5vdywkbm93KSI7IAoJICAgIGZvcmVhY2goICRjYXRzIGFzICRvbmUgKQoJICAgICAgewoJCSR0bXAgPSBleHBsb2RlKCc6Jywkb25lKTsKCQlpZiggY291bnQoJHRtcCkgIT0gMiApIGNvbnRpbnVlOwoJCSRuYW1lID0gdHJpbSh0cmltKCR0bXBbMV0pLCciXCcnKTsKCQkkdmFsID0gJHRoaXMtPl9nZXRGaWVsZCgkb25lKTsKCQkkdmFsID0gdHJpbSh0cmltKCR2YWwpLCciXCcnKTsKCQlpZiggIShpbnQpJHZhbCApIGNvbnRpbnVlOwoKCQkvLyBnZXQgdGhlIGNhdGVnb3J5IGlkIGZyb20gY2FjaGUKCQkkY2lkID0gJHRoaXMtPl9nZXRDYXRlZ29yeUlkKCRuYW1lKTsKCQlpZiggJGNpZCA9PT0gRkFMU0UgKQoJCSAgewoJCSAgICAkdGhpcy0+X3NldEVycm9yKCdmaWVsZCAnLiRuYW1lLicgbm90IGZvdW5kJyk7CgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJHByb2R1Y3RfaWQsJGNpZCkpOwoJCSAgICBpZiggISRkYnIgKQoJCSAgICAgIHsKCQkJJHRoaXMtPl9zZXRFcnJvcigicHJvYmxlbSBhc3NvY2lhdGluZyBjYXRlZ29yeSAkY2lkIHdpdGggcHJvZHVjdCAkcHJvZHVjdF9pZCIpOwoJCSAgICAgIH0KCQkgIH0KCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgLy8gZ2V0IGF0dHJpYnV0ZXMKICAgIC8vIGluc2VydCB0aGVtLgogICAgJHRtcCA9ICR0aGlzLT5fZ2V0RmllbGQoJyNBVFRSSUJTJyk7CiAgICBpZiggIWVtcHR5KCR0bXApICkKICAgICAgewoJJGF0dHJpYnMgPSBleHBsb2RlKCctLScsJHRtcCk7Cglmb3JlYWNoKCAkYXR0cmlicyBhcyAkb25lICkKCSAgewoJICAgICRvbmUgPSB0cmltKCRvbmUpOwoJICAgICRvbmUgPSB0cmltKCRvbmUsJyJcJycpOwoJICAgIGlmKCBzdHJzdHIoJG9uZSwnOicpID09PSBGQUxTRSApIGNvbnRpbnVlOwoJICAgIGxpc3QoJHNldCwkYXR0ciwkYWRqLCRza3UpID0gZXhwbG9kZSgnOicsJG9uZSk7CgkgICAgJHNldCA9IHRyaW0oJHNldCwnIlwnJyk7CgkgICAgJHNldCA9IHRyaW0oJHNldCk7CgkgICAgJGF0dHIgPSB0cmltKCRhdHRyLCciXCcnKTsKCSAgICAkYXR0ciA9IHRyaW0oJGF0dHIpOwoJICAgICRhZGogPSB0cmltKCRhZGosJyJcJycpOwoJICAgICRhZGogPSB0cmltKCRhZGopOwoJICAgICRza3UgPSB0cmltKCRza3UsJyJcJycpOwoJICAgICRza3UgPSB0cmltKCRza3UpOwoKCSAgICBpZiggZW1wdHkoJHNldCkgfHwgZW1wdHkoJGF0dHIpICkgY29udGludWU7CgkgICAgCgkgICAgLy8gYWRkIHRoZSBhdHRyaWJ1dGUgc2V0CgkgICAgJGZxdWVyeSA9ICdTRUxFQ1QgYXR0cmliX3NldF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cwogICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCA9ID8gQU5EIGF0dHJpYl9zZXRfbmFtZSA9ID8nOwoJICAgICR0X2lkID0gJGRiLT5HZXRPbmUoJGZxdWVyeSxhcnJheSgkcHJvZHVjdF9pZCwkc2V0KSk7CgkgICAgaWYoICEkdF9pZCApCgkgICAgICB7CgkJJHNxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9kdWN0X2lkLCBhdHRyaWJfc2V0X25hbWUpIFZBTFVFUyAoPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRzcXVlcnksYXJyYXkoJHByb2R1Y3RfaWQsJHNldCkpOwoJCSR0X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCSAgICAgIH0KCgkgICAgLy8gYWRkIHRoZSBhdHRyaWJ1dGUgdmFsdWUKCSAgICAkZnF1ZXJ5ID0gJ1NFTEVDVCBhdHRyaWJfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMKICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgYXR0cmliX3NldF9pZCA9ID8gQU5EIGF0dHJpYl90ZXh0ID0gPyc7CgkgICAgJGF0dHJfaWQgPSAkZGItPkdldE9uZSgkZnF1ZXJ5LGFycmF5KCR0X2lkLCRhdHRyKSk7CgkgICAgaWYoICEkYXR0cl9pZCApCgkgICAgICB7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGF0dHJpYl9zZXRfaWQsYXR0cmliX3RleHQsYXR0cmliX2FkanVzdG1lbnQsc2t1KQogICAgICAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyknOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRfaWQsJGF0dHIsJGFkaiwkc2t1KSk7CgkgICAgICB9CgkgICAgCgkgIH0KICAgICAgfQogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgZnVuY3Rpb24gX3Rlc3RGaXJzdExpbmUoJiRtZXNzYWdlcykKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPl9yZWNvcmQpOyAkaSsrICkKICAgICAgewoJJHRtcCA9IHRyaW0odHJpbSgkdGhpcy0+X3JlY29yZFskaV0pLCciXCcnKTsKCSRieW5hbWVbJHRtcF0gPSAkaTsKICAgICAgfQogICAgJHRoaXMtPl9kZWZzX2J5bmFtZSA9ICRieW5hbWU7CiAgICAkdGhpcy0+X2RlZnNfYnlpbmRleCA9ICR0aGlzLT5fcmVjb3JkOwoKICAgICRyZXF1aXJlZF9maWVsZHMgPSBleHBsb2RlKCcsJywnI0ZMQUcsI25hbWUsI3ByaWNlJyk7CiAgICBmb3JlYWNoKCAkcmVxdWlyZWRfZmllbGRzIGFzICRvbmUgKQogICAgICB7CglpZiggIWFycmF5X2tleV9leGlzdHMoJG9uZSwkdGhpcy0+X2RlZnNfYnluYW1lKSApCgkgIHsKCSAgICAkdGhpcy0+X3NldEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGZpZWxkICcuJG9uZSk7CgkgICAgcmV0dXJuIEZBTFNFOwoJICB9CiAgICAgIH0KCiAgICAkbWVzc2FnZXNbXSA9ICdmb3VuZCBhbGwgcmVxdWlyZWQgZmllbGRzJzsKCiAgICAkY2F0cyA9ICR0aGlzLT5fZ2V0RmllbGROYW1lc0xpa2UoJyNDQVQnKTsKICAgIGlmKCBpc19hcnJheSgkY2F0cykgKQogICAgICB7Cglmb3JlYWNoKCAkY2F0cyBhcyAkb25lICkKCSAgewoJICAgICRmcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFdIRVJFIG5hbWUgPSA/JzsKCgkgICAgJHRtcCA9IHRyaW0oc3Vic3RyKCRvbmUsNSkpOwoJICAgICR0bXAgPSB0cmltKCR0bXAsJyJcJycpOwoJICAgIGlmKCBlbXB0eSgkdG1wKSApIGNvbnRpbnVlOwoJICAgICR0X2lkID0gJGRiLT5HZXRPbmUoJGZxdWVyeSxhcnJheSgkdG1wKSk7CgkgICAgaWYoICR0X2lkICkKCSAgICAgIHsKCQkkbWVzc2FnZXNbXSA9ICdmb3VuZCBleGlzdGluZyBjYXRlZ29yeSAnLiR0bXA7CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCSRtZXNzYWdlc1tdID0gJ3Vua25vd24gY2F0ZWdvcnkgJy4kdG1wOwoJICAgICAgfQoJICB9CiAgICAgIH0KICAgIAogICAgJGZpZWxkcyA9ICR0aGlzLT5fZ2V0RmllbGROYW1lc0xpa2UoJyNGSUVMRCcpOwogICAgaWYoIGlzX2FycmF5KCRmaWVsZHMpICkKICAgICAgewoJJGZxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSBuYW1lID0gPyc7Cglmb3JlYWNoKCAkZmllbGRzIGFzICRvbmUgKQoJICB7CgkgICAgJHRtcCA9IGV4cGxvZGUoJzonLCRvbmUpOwoJICAgIGlmKCBjb3VudCgkdG1wKSAhPSAzICkgY29udGludWU7CgkgICAgJHR5cGUgPSB0cmltKHRyaW0oJHRtcFsxXSksJyJcJycpOwoJICAgICRuYW1lID0gdHJpbSh0cmltKCR0bXBbMl0pLCciXCcnKTsKCSAgICBpZiggZW1wdHkoJHR5cGUpIHx8IGVtcHR5KCRuYW1lKSApIGNvbnRpbnVlOwoJICAgICR0X2lkID0gJGRiLT5HZXRPbmUoJGZxdWVyeSxhcnJheSgkbmFtZSkpOwoJICAgIGlmKCAhJHRfaWQgKQoJICAgICAgewoJCSRtZXNzYWdlc1tdID0gJ3Vua25vd24gZmllbGQgJy4kbmFtZTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJG1lc3NhZ2VzW10gPSAnZm91bmQgZmllbGQgJy4kbmFtZS4nIG9mIHR5cGUgJy4kdHlwZTsKCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgZnVuY3Rpb24gX3Rlc3ROZXdQcm9kdWN0KCYkbWVzc2FnZSkKICB7CiAgICAvLyBtYWtlIHN1cmUgd2UgaGF2ZSB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGZpZWxkcwogICAgLy8gYWNjb3JkaW5nIHRvIHRoZSBoZWFkZXIuCiAgICBpZiggJHRoaXMtPl9nZXRGaWVsZENvdW50KCkgIT0gJHRoaXMtPl9nZXREZWZDb3VudCgpICkKICAgICAgewoJJHRoaXMtPl9zZXRFcnJvcignaW52YWxpZCBmaWVsZCBjb3VudCcpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgZnVuY3Rpb24gdGVzdExpbmUoJGxpbmUsJiRtZXNzYWdlcykKICB7CiAgICAkcmVzID0gJHRoaXMtPl9zZXRMaW5lKCRsaW5lKTsKICAgIGlmKCAkcmVzID09PSBGQUxTRSApIHJldHVybiBGQUxTRTsKCiAgICBpZiggJHRoaXMtPl9saW5lbnVtID09IDEgKQogICAgICB7CgkkcmVzID0gJHRoaXMtPl90ZXN0Rmlyc3RMaW5lKCRtZXNzYWdlcyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJaWYoICR0aGlzLT5fZ2V0RmllbGQoJyNGTEFHJykgPT0gJ1AnICkKCSAgewoJICAgICRyZXMgPSAkdGhpcy0+X3Rlc3ROZXdQcm9kdWN0KCRtZXNzYWdlcyk7CgkgIH0KCWVsc2UKCSAgewoJICAgICR0aGlzLT5fc2V0RXJyb3IoJ2ludmFsaWQgZmllbGQ6ICNGTEFHJyk7CgkgICAgJHJlcyA9IEZBTFNFOwoJICB9CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVMaW5lKCRsaW5lKQogIHsKICAgICRyZXMgPSAkdGhpcy0+X3NldExpbmUoJGxpbmUpOwogICAgaWYoICRyZXMgPT09IEZBTFNFICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICR0aGlzLT5fbGluZW51bSA9PSAxICkKICAgICAgewoJJHJlcyA9ICR0aGlzLT5faGFuZGxlRmlyc3RMaW5lKCk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJaWYoICR0aGlzLT5fZ2V0RmllbGQoJyNGTEFHJykgPT0gJ1AnICkKCSAgewoJICAgICRyZXMgPSAkdGhpcy0+X2hhbmRsZU5ld1Byb2R1Y3QoKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHRoaXMtPl9zZXRFcnJvcignaW52YWxpZCBmaWVsZDogI0ZMQUcnKTsKCSAgICAkcmVzID0gRkFMU0U7CgkgIH0KICAgICAgfQoKICAgIHJldHVybiAkcmVzOwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/class.importImageHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBpbXBvcnRJbWFnZUhhbmRsZXIKewogIHZhciAkX21vZHVsZTsKICB2YXIgJF9zcmNwYXRoOwogIHZhciAkX2Rlc3RwYXRoOwogIHZhciAkX3VuaXF1ZV9uYW1lczsKCiAgZnVuY3Rpb24gaW1wb3J0SW1hZ2VIYW5kbGVyKCYkbW9kKQogIHsKICAgICR0aGlzLT5fbW9kdWxlID0gJG1vZDsKICAgICR0aGlzLT5fdW5pcXVlX25hbWVzID0gMDsKICB9CgoKICBmdW5jdGlvbiBzZXRVbmlxdWVOYW1lcygkdmFsdWUgPSAxKQogIHsKICAgICR0aGlzLT5fdW5pcXVlX25hbWVzID0gKGludCkkdmFsdWU7CiAgfQoKCiAgZnVuY3Rpb24gc2V0U291cmNlTG9jYXRpb24oJHBhdGgpCiAgewogICAgaWYoIGlzX2RpcigkcGF0aCkgKQogICAgICB7CgkkdGhpcy0+X3NyY3BhdGggPSAkcGF0aDsKICAgICAgfQogIH0KCgogIGZ1bmN0aW9uIHNldERlc3RpbmF0aW9uQmFzZSgkcGF0aCkKICB7CiAgICAkdGhpcy0+X2Rlc3RwYXRoID0gJHBhdGg7CiAgfQoKCiAgZnVuY3Rpb24gaGFuZGxlSW1hZ2UoJHByb2R1Y3RfaWQsJGZpbGVuYW1lKQogIHsKICAgICRkZXN0cGF0aCA9IGNtc19qb2luX3BhdGgoJHRoaXMtPl9kZXN0cGF0aCwncHJvZHVjdF8nLiRwcm9kdWN0X2lkKTsKICAgICRtb2QgPSYgJHRoaXMtPl9tb2R1bGU7CiAgICBjZ2VfZGlyOjpta2RpcnIoJGRlc3RwYXRoKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0cGF0aCkgKSByZXR1cm4gRkFMU0U7CgogICAgJGV4dCA9IHN1YnN0cigkZmlsZW5hbWUsIHN0cnJwb3MoJGZpbGVuYW1lLCAnLicpICsgMSk7CiAgICAkYWxsb3dlZCA9IGV4cGxvZGUoJywnLCRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfaW1hZ2V0eXBlcycpKTsKICAgIGlmKCAhaW5fYXJyYXkoJGV4dCwkYWxsb3dlZCkgKSByZXR1cm4gRkFMU0U7CgogICAgJHNyY3NwZWMgPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5fc3JjcGF0aCwkZmlsZW5hbWUpOwogICAgaWYoICFmaWxlX2V4aXN0cygkc3Jjc3BlYykgKSByZXR1cm4gRkFMU0U7CgogICAgJHBvc3RmaXggPSAwOwogICAgJGZuYW1lID0gc3Vic3RyKCRmaWxlbmFtZSwwLHN0cmxlbigkZmlsZW5hbWUpLXN0cmxlbigkZXh0KSk7CiAgICAkZGVzdHNwZWMgPSBjbXNfam9pbl9wYXRoKCRkZXN0cGF0aCwkZmlsZW5hbWUpOwogICAgd2hpbGUoIGZpbGVfZXhpc3RzKCRkZXN0c3BlYykgJiYgJHRoaXMtPl91bmlxdWVfbmFtZXMgJiYgKCRwb3N0Zml4IDwgMTAwKSApCiAgICAgIHsKCSRwb3N0Zml4Kys7CgkkZGVzdHNwZWMgPSBjbXNfam9pbl9wYXRoKCRkZXN0cGF0aCwkZm5hbWUuJ18nLiRwb3N0Zml4LiRleHQpOwogICAgICB9CiAgICBpZiggZmlsZV9leGlzdHMoJGRlc3RzcGVjKSApIHJldHVybiBGQUxTRTsKCiAgICAvLyB3ZSBoYXZlIHRoZSBzb3VyY2UgbmFtZSwgYW5kIGRlc3RpbmF0aW9uIG5hbWUKICAgIC8vIGNvcHkgdGhlIGZpbGUKICAgIEBjb3B5KCRzcmNzcGVjLCRkZXN0c3BlYyk7CiAgICBpZiggIWZpbGVfZXhpc3RzKCRkZXN0c3BlYykgKSByZXR1cm4gRkFMU0U7CiAgICAvLyBhbmQgcHJvY2VzcyBpdC4KICAgIC8vIG9wdGlvbmFsbHkgZG8gdGh1bWJuYWlsaW5nCiAgICAkcmVzID0gJHRoaXMtPl9tb2R1bGUtPlByb2Nlc3NJbWFnZSgkZGVzdHNwZWMpOwogICAgaWYoICEkcmVzICkKICAgICAgewoJQHVubGluaygkZGVzdHNwZWMpOwogICAgICB9CgogICAgcmV0dXJuIGJhc2VuYW1lKCRkZXN0c3BlYyk7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></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>/function.admin_categories_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgojUHV0IHRvZ2V0aGVyIGEgbGlzdCBvZiBjdXJyZW50IGNhdGVnb3JpZXMuLi4KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoJCiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBPUkRFUiBCWSBuYW1lIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkKJHJvd2NsYXNzID0gJ3JvdzEnOwoJCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkKICAgICRvbmVyb3ctPmlkID0gJHJvd1snaWQnXTsKICAgICRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2NhdGlkJz0+JHJvd1snaWQnXSkpOwoKICAgICRvbmVyb3ctPmZpZWxkc2xpbmsgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZWRpdGNhdGVnb3J5ZmllbGRzJywkcmV0dXJuaWQsCiAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnZWRpdF9jYXRlZ29yeV9maWVsZHMnKSwKICAgICAgICAgICAgICAgICdkYXRhYmFzZV9lZGl0LnBuZycsCiAgICAgICAgICAgICAgICBhcnJheSgnY2F0aWQnPT4kcm93WydpZCddKSk7CgogICAgJG9uZXJvdy0+Y29weWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdjb3B5Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkdGhpcy0+TGFuZygnY29weScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjYXRpZCc9PiRyb3dbJ2lkJ10pKTsKICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY2F0aWQnPT4kcm93WydpZCddKSk7CgogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGlkJz0+JHJvd1snaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJCiAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCiAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCQogICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgfQoJCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkKI1NldHVwIGxpbmtzCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld2ZvbGRlci5naWYnLCAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkY2F0ZWdvcnknLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGRjYXRlZ29yeScpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKCQojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NhdGVnb3J5bGlzdC50cGwnKTsKCQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_fielddefs_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgokZW50cnlhcnJheSA9IGFycmF5KCk7CgkKJG1heCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgbWF4KGl0ZW1fb3JkZXIpIGFzIG1heF9pdGVtX29yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMiKTsKCQokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBPUkRFUiBCWSBpdGVtX29yZGVyIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkKJHJvd2NsYXNzID0gJ3JvdzEnOwoJCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJCiAgICAkb25lcm93LT5pZCA9ICRyb3dbJ2lkJ107CiAgICAkb25lcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSkpOwogICAgJG9uZXJvdy0+dHlwZSA9ICRyb3dbJ3R5cGUnXTsKICAgICRvbmVyb3ctPm1heF9sZW5ndGggPSAkcm93WydtYXhfbGVuZ3RoJ107CiAgICAkb25lcm93LT5pdGVtX29yZGVyID0gJHJvd1snaXRlbV9vcmRlciddOwoJCQogICAgaWYgKCRvbmVyb3ctPml0ZW1fb3JkZXIgPiAwKQogICAgICB7Cgkkb25lcm93LT51cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtb3ZlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCAkdGhpcy0+TGFuZygndXAnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZmRpZCc9PiRyb3dbJ2lkJ10sICdkaXInPT4ndXAnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJG9uZXJvdy0+dXBsaW5rID0gJyc7CiAgICAgIH0KICAgIGlmICgkbWF4ID4gJG9uZXJvdy0+aXRlbV9vcmRlcikKICAgICAgewoJJG9uZXJvdy0+ZG93bmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtb3ZlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYnLCAkdGhpcy0+TGFuZygnZG93bicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSwgJ2Rpcic9Pidkb3duJykpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRvbmVyb3ctPmRvd25saW5rID0gJyc7CiAgICAgIH0KCQogICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSkpOwoKICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJCQogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgogICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdmb2xkZXIuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGZpZWxkZGVmJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGZpZWxkZGVmJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkZmllbGRkZWYnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CgkKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmaWVsZGRlZnRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWYnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndHlwZXRleHQnLCAkdGhpcy0+TGFuZygndHlwZScpKTsKCQojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ZpZWxkZGVmbGlzdC50cGwnKTsKCQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_hierarchy_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSAKICAgICAgICAgICBPUkRFUiBieSBoaWVyYXJjaHknOwokZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokZW50cnlhcnJheSA9IGFycmF5KCk7CndoaWxlKCAkZGJyICYmICgkcm93ID0gJGRici0+RmV0Y2hSb3coKSkgKQogIHsKICAgICRyb3dbJ2VkaXRfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRtaW5fZWRpdF9oaWVyYXJjaHlfaXRlbScsCgkJCQkJJHJldHVybmlkLAoJCQkJCWFycmF5KCdoaWVyYXJjaHlfaWQnPT4kcm93WydpZCddKSk7CiAgICAkcm93WydkZXB0aCddID0gY291bnQoc3BsaXQoJ1wuJywgJHJvd1snaGllcmFyY2h5J10pKSAtIDE7CiAgICAkcm93WydlZGl0X2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl9lZGl0X2hpZXJhcmNoeV9pdGVtJywKCQkJCQkgICAgICAgJHJldHVybmlkLAoJCQkJCSAgICAgICAkdGhpcy0+TGFuZygnZWRpdF9oaWVyYXJjaHlfaXRlbScpLAoJCQkJCSAgICAgICAnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkgICAgICAgYXJyYXkoJ2hpZXJhcmNoeV9pZCc9PiRyb3dbJ2lkJ10pKTsKICAgICRyb3dbJ2RlbGV0ZV9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fZGVsZXRlX2hpZXJhcmNoeV9pdGVtJywKCQkJCQkJICRyZXR1cm5pZCwKCQkJCQkJICR0aGlzLT5MYW5nKCdkZWxldGVfaGllcmFyY2h5X2l0ZW0nKSwKCQkJCQkJICdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCSBhcnJheSgnaGllcmFyY2h5X2lkJz0+JHJvd1snaWQnXSksJycsCgkJCQkJCSAkdGhpcy0+TGFuZygnY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnKSk7CiAgICAkZW50cnlhcnJheVtdID0gJHJvdzsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ2VudHJpZXMnLCRlbnRyeWFycmF5KTsKJHNtYXJ0eS0+YXNzaWduKCdhZGRfaGllcmFyY2h5X2xpbmsnLAoJCSR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl9hZGRfaGllcmFyY2h5X2l0ZW0nLAoJCQkJICAgICAgICRyZXR1cm5pZCwKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWRkX2hpZXJhcmNoeV9pdGVtJyksCgkJCQkgICAgICAgJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywKCQkJCSAgICAgICBhcnJheSgpLCcnLCcnLGZhbHNlKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2hpZXJhcmNoeV90YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgcmV0dXJuOwoKCiRjb250ZW50b3BzID0mICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwokc29ydG9yZGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcicsJ2FzYycpOwokc29ydGJ5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvcnRieScsJ3Byb2R1Y3RfbmFtZScpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLAoJCSR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zYXZlcHJlZnMnLCRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLAoJCSR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbHBhZ2UnLCR0aGlzLT5MYW5nKCdwcm9tcHRfZGV0YWlscGFnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZXRhaWxwYWdlJywKCQkkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnKSwKCQkJCQkgICAgICAgJGlkLidkZXRhaWxwYWdlJykpOwoKJHN0YXR1c2VzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ3B1Ymxpc2hlZCcpPT4ncHVibGlzaGVkJywKCQkgICR0aGlzLT5MYW5nKCdkcmFmdCcpPT4nZHJhZnQnLAoJCSAgJHRoaXMtPkxhbmcoJ2Rpc2FibGVkJyk9PidkaXNhYmxlZCcpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXR1cycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdzdGF0dXMnLAoJCQkJCSAgICRzdGF0dXNlcywtMSwKCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zdGF0dXMnLCdwdWJsaXNoZWQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RheGFibGUnLAoJCS8vCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YXhhYmxlJywwKS4KCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3RheGFibGUnLDEsCgkJCQkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfdGF4YWJsZScsMSkpKTsKCiRzb3J0b3JkZXJzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ2FzY2VuZGluZycpPT4nYXNjJywKCQkgICAgJHRoaXMtPkxhbmcoJ2Rlc2NlbmRpbmcnKT0+J2Rlc2MnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VtbWFyeXNvcnRvcmRlcicsJHRoaXMtPkxhbmcoJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnlzb3J0b3JkZXInLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnc29ydG9yZGVyJywkc29ydG9yZGVycywtMSwkc29ydG9yZGVyKSk7CgppZiggIWNsYXNzX2V4aXN0cygnY2dfZWNvbW0nKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY3VycmVuY3lzeW1ib2wnLCR0aGlzLT5MYW5nKCdwcm9tcHRfY3VycmVuY3lzeW1ib2wnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2N1cnJlbmN5c3ltYm9sJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2N1cnJlbmN5c3ltYm9sJywKCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfY3VycmVuY3lzeW1ib2wnKSkpOwogICAgCiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF93ZWlnaHR1bml0cycsJHRoaXMtPkxhbmcoJ3Byb21wdF93ZWlnaHR1bml0cycpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfd2VpZ2h0dW5pdHMnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnd2VpZ2h0dW5pdHMnLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0c193ZWlnaHR1bml0cycpKSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdHRyaWJ0ZW1wbGF0ZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2F0dHJpYnRlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXR0cmlidGVtcGxhdGUnLCd7JGF0dHJpYl90ZXh0fSAoeyRjdXJyZW5jeV9zeW1ib2x9IHskYXR0cmliX2FkanVzdH0pJyksNTAsMjU1KSk7CgoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd2VkX2ltYWdldHlwZXMnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdhbGxvd2VkX2ltYWdldHlwZXMnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ltYWdldHlwZXMnKSw1MCwyNTUpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dlZF9maWxldHlwZXMnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdhbGxvd2VkX2ZpbGV0eXBlcycsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfZmlsZXR5cGVzJyksNTAsMjU1KSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2F1dG90aHVtYm5haWwnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdhdXRvdGh1bWJuYWlsJywKCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG90aHVtYm5haWwnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdhdXRvX3RodW1ibmFpbF9zaXplJywKCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWxfc2l6ZScsNzUpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfYXV0b3ByZXZpZXdpbWcnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdhdXRvcHJldmlld2ltZycsCgkJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvcHJldmlld2ltZycpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2F1dG9fcHJldmlld2ltZ19zaXplJywKCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b19wcmV2aWV3aW1nX3NpemUnLDE1MCkpOwoKJHNtYXJ0eS0+YXNzaWduKCd1cmxwcmVmaXgnLAoJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpKTsKCiRvcHRzID0gYXJyYXkoKTsKJG9wdHNbJHRoaXMtPkxhbmcoJ25vbmUnKV0gPSAnbm9uZSc7CiRvcHRzWyR0aGlzLT5MYW5nKCdhdXRvbWF0aWMnKV0gPSAnYXV0byc7CiRvcHRzWyR0aGlzLT5MYW5nKCdhZGp1c3RhYmxlJyldID0gJ2FkanVzdGFibGUnOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2F1dG93YXRlcm1hcmsnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdhdXRvd2F0ZXJtYXJrJywkb3B0cywtMSwKICAgICAgICAgICAgICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvd2F0ZXJtYXJrJykpKTsKCiRzb3J0aW5ncyA9IGFycmF5KCR0aGlzLT5MYW5nKCdwcm9kdWN0bmFtZScpPT4ncHJvZHVjdF9uYW1lJywKCQkgICR0aGlzLT5MYW5nKCdwcmljZScpPT4ncHJpY2UnLAoJCSAgJHRoaXMtPkxhbmcoJ2NyZWF0ZWRkYXRlJyk9PidjcmVhdGVfZGF0ZScsCgkJICAkdGhpcy0+TGFuZygnbW9kaWZpZWRkYXRlJyk9Pidtb2RpZmllZF9kYXRlJywKCQkgICR0aGlzLT5MYW5nKCdyYW5kb20nKT0+J3JhbmRvbScsCgkJICAkdGhpcy0+TGFuZygnc3RhdHVzJyk9PidzdGF0dXMnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VtbWFyeXNvcnRpbmcnLCR0aGlzLT5MYW5nKCdwcm9tcHRfc3VtbWFyeXNvcnRpbmcnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeXNvcnRpbmcnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnc29ydGJ5Jywkc29ydGluZ3MsLTEsJHNvcnRieSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZWxldGVwcm9kdWN0ZmlsZXMnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdkZWxldGVwcm9kdWN0ZmlsZXMnLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVsZXRlcHJvZHVjdGZpbGVzJykpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlaGllcnBhdGh1cmxzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwndXNlaGllcnBhdGh1cmxzJywKCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWhpZXJwYXRodXJscycsMCkpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcsMCkpKTsKCiRub3Rmb3VuZF9vcHRzID0gYXJyYXkoKTsKJG5vdGZvdW5kX29wdHNbJ2RvNDA0J10gPSAkdGhpcy0+TGFuZygncHJvbXB0X25vdGZvdW5kXzQwNCcpOwokbm90Zm91bmRfb3B0c1snZG8zMDEnXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfbm90Zm91bmRfMzAxJyk7CiRub3Rmb3VuZF9vcHRzWydkb21zZyddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9ub3Rmb3VuZF9lcnJvcm1zZycpOwokc21hcnR5LT5hc3NpZ24oJ25vdGZvdW5kX29wdHMnLCRub3Rmb3VuZF9vcHRzKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9kbm90Zm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kbm90Zm91bmQnLCdkb21zZycpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9kbm90Zm91bmRtc2cnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kbm90Zm91bmRtc2cnLCR0aGlzLT5MYW5nKCdlcnJvcl9wcm9kdWN0X25vdGZvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcm9kbm90Zm91bmRwYWdlJywKCQkkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rub3Rmb3VuZHBhZ2UnLC0xKSwkaWQuJ3Byb2Rub3Rmb3VuZHBhZ2UnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_productstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vCi8vIFNldHVwCi8vCiRwYWdlbGltaXRzID0gYXJyYXkoJzInPT4yLCc1Jz0+NSwnMjUnPT4yNSwnMTAwJz0+MTAwLCc1MDAnPT41MDApOwokc29ydGl0ZW1zID0gYXJyYXkoKTsKJHNvcnRpdGVtc1skdGhpcy0+TGFuZygncHJvZHVjdG5hbWUnKV0gPSAncHJvZHVjdF9uYW1lJzsKJHNvcnRpdGVtc1skdGhpcy0+TGFuZygncHJpY2UnKV0gPSAncHJpY2UnOwokc29ydGl0ZW1zWyR0aGlzLT5MYW5nKCd3ZWlnaHQnKV0gPSAnd2VpZ2h0JzsKJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnc2t1JyldID0gJ3NrdSc7CiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ2NyZWF0ZWRkYXRlJyldID0gJ2NyZWF0ZV9kYXRlJzsKJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnbW9kaWZpZWRkYXRlJyldID0gJ21vZGlmaWVkX2RhdGUnOwokc29ydG9yZGVycyA9IGFycmF5KCk7CiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdhc2NlbmRpbmcnKV0gPSAnYXNjJzsKJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ2Rlc2NlbmRpbmcnKV0gPSAnZGVzYyc7CiR1aWQgPSBnZXRfdXNlcmlkKGZhbHNlKTsKJGhpZXJhcmNoeSA9ICcnOwokY2hpbGRyZW4gID0gMDsKJHBhZ2VsaW1pdCA9IDI1Owokc29ydGJ5ICAgID0gJ2NyZWF0ZV9kYXRlJzsKJHNvcnRvcmRlciA9ICdkZXNjJzsKJHBhZ2VudW1iZXIgPSAxOwoKLy8KLy8gR2V0IHByZWZlcmVuY2VzCi8vCiRoaWVyYXJjaHkgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfaGllcmFyY2h5JywnJyk7CiRjaGlsZHJlbiAgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfY2hpbGRyZW4nLDApOwokcGFnZWxpbWl0ID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX3BhZ2VsaW1pdCcsMjUpOwokc29ydGJ5ICAgID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX3NvcnRieScsJ2NyZWF0ZV9kYXRlJyk7CiRzb3J0b3JkZXIgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfc29ydG9yZGVyJywnZGVzYycpOwoKLy8KLy8gSGFuZGxlIEdldCBwYXJhbWV0ZXJzCi8vCmlmKCBpc3NldCgkcGFyYW1zWydwYWdlbnVtYmVyJ10pICkKICB7CiAgICAkcGFnZW51bWJlciA9IChpbnQpJHBhcmFtc1sncGFnZW51bWJlciddOwogIH0KCgovLwovLyBIYW5kbGUgZm9ybSBzdWJtaXQKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgJGhpZXJhcmNoeSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfaGllcmFyY2h5J10pOwogICAgJGNoaWxkcmVuID0gKGludCkkcGFyYW1zWydpbnB1dF9jaGlsZHJlbiddOwogICAgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1snaW5wdXRfcGFnZWxpbWl0J107CiAgICAkc29ydGJ5ID0gdHJpbSgkcGFyYW1zWydpbnB1dF9zb3J0YnknXSk7CiAgICAkc29ydG9yZGVyID0gdHJpbSgkcGFyYW1zWydpbnB1dF9zb3J0b3JkZXInXSk7CgogICAgLy8gc3RvcmUgdGhlbSBhcyB1c2VyIHByZWZlcmVuY2VzCiAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfaGllcmFyY2h5JywkaGllcmFyY2h5KTsKICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9jaGlsZHJlbicsJGNoaWxkcmVuKTsKICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9wYWdlbGltaXQnLCRwYWdlbGltaXQpOwogICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX3NvcnRieScsJHNvcnRieSk7CiAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfc29ydG9yZGVyJywkc29ydG9yZGVyKTsKICB9CgoKLy8KLy8gQmVnaW4gdGhlIGZvcm0KLy8KJGZpZWxkZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnMoKTsKZm9yZWFjaCggJGZpZWxkZGVmcyBhcyAkb25lZGVmICkKewogIHN3aXRjaCggJG9uZWRlZi0+dHlwZSApCiAgICB7CiAgICBjYXNlICd0ZXh0Ym94JzoKICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgJHNvcnRpdGVtc1skb25lZGVmLT5wcm9tcHRdID0gJy1GLScuJG9uZWRlZi0+aWQ7CiAgICAgIGJyZWFrOwogICAgfQp9Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZXJhcmNoeScsJHRoaXMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCRpZCwnaW5wdXRfaGllcmFyY2h5JywkaGllcmFyY2h5KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2hpbGRyZW4nLCR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdpbnB1dF9jaGlsZHJlbicsJGNoaWxkcmVuKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydGJ5JywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X3NvcnRieScsJHNvcnRpdGVtcywtMSwkc29ydGJ5KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc29ydG9yZGVyJywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X3NvcnRvcmRlcicsJHNvcnRvcmRlcnMsLTEsJHNvcnRvcmRlcikpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3BhZ2VsaW1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9wYWdlbGltaXQnLCRwYWdlbGltaXRzLC0xLCRwYWdlbGltaXQpKTsKCgovLwovLyBCdWlsZCB0aGUgcXVlcnkKLy8KJHByZWZpeDEgPSAiU0VMRUNUIHAuKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMgcCAiOwokcHJlZml4MiA9ICJTRUxFQ1QgY291bnQocC5pZCkgQVMgY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIHAgJzsKJHdoZXJlID0gYXJyYXkoKTsKJGpvaW5zID0gYXJyYXkoKTsKJHFwYXJtcyA9IGFycmF5KCk7CmlmKCAhZW1wdHkoJGhpZXJhcmNoeSkgKQogIHsKICAgICR0cXVlcnkgPSAnU0VMRUNUIGxvbmdfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkbG9uZ19uYW1lID0gJGRiLT5HZXRPbmUoJHRxdWVyeSxhcnJheSgkaGllcmFyY2h5KSk7CgogICAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciBwaCAKICAgICAgICAgICAgICAgICAgT04gcGgucHJvZHVjdF9pZCA9IHAuaWQnOwogICAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IGgKICAgICAgICAgICAgICAgICAgT04gaC5pZCA9IHBoLmhpZXJhcmNoeV9pZCc7CiAgICAkd2hlcmVbXSA9ICdoLmxvbmdfbmFtZSBMSUtFID8nOwogICAgaWYoICRjaGlsZHJlbiApCiAgICAgIHsKCSRxcGFybXNbXSA9ICRsb25nX25hbWUuJyUnOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRxcGFybXNbXSA9ICRsb25nX25hbWU7CiAgICAgIH0KICB9Ci8vIGhhbmRsZSBmdW5reSBjdXN0b20gZmllbGQgc29ydCBvcmRlcnMKaWYoIHN0YXJ0c3dpdGgoJHNvcnRieSwnLUYtJykgKQogIHsKICAgICRmaWQgPSAoaW50KXN1YnN0cigkc29ydGJ5LDMpOwogICAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIGZ2CiAgICAgICAgICAgICAgICAgIE9OIGZ2LnByb2R1Y3RfaWQgPSBwLmlkJzsKICAgICR3aGVyZVtdID0gJ2Z2LmZpZWxkZGVmX2lkID0gPyc7CiAgICAkcXBhcm1zW10gPSAkZmlkOwogICAgJG9yZGVyID0gIiBPUkRFUiBCWSBmdi52YWx1ZSAkc29ydG9yZGVyIjsKICB9CmVsc2UKICB7CiAgICAkb3JkZXIgPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7CiAgfQoKJHN0ciA9IGltcGxvZGUoJyAnLCRqb2lucyk7CmlmKCBjb3VudCgkd2hlcmUpICkKICB7CiAgICAkc3RyIC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywkd2hlcmUpIC4gJG9yZGVyOwogIH0KZWxzZQogIHsKICAgICRzdHIgLj0gJG9yZGVyOwogIH0KJHF1ZXJ5MSA9ICRwcmVmaXgxIC4gJHN0cjsKJHF1ZXJ5MiA9ICRwcmVmaXgyIC4gJHN0cjsKCi8vCi8vIFNldHVwIHN0YXJ0IGVsZW1lbnQsIGFuZCBjb3VudCBwYWdlcwovLwokdG90YWxjb3VudCA9ICRkYi0+R2V0T25lKCRxdWVyeTIsJHFwYXJtcyk7CiRwYWdlY291bnQgPSAoaW50KSgkdG90YWxjb3VudC8kcGFnZWxpbWl0KTsKaWYoICgkdG90YWxjb3VudCAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7CiRzdGFydGVsZW1lbnQgPSAoJHBhZ2VudW1iZXItMSkgKiAkcGFnZWxpbWl0OwoKLy8KLy8gQmVnaW4gdGhlIG91dHB1dAovLwokc21hcnR5LT5hc3NpZ24oJ3BhZ2VudW1iZXInLCRwYWdlbnVtYmVyKTsKJHNtYXJ0eS0+YXNzaWduKCdwYWdlY291bnQnLCRwYWdlY291bnQpOwokc21hcnR5LT5hc3NpZ24oJ3RvdGFscm93cycsJHRvdGFsY291bnQpOwppZiggJHBhZ2VudW1iZXIgPiAxICkKICB7CiAgICAkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAxOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywKCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcykpOwogICAgJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXIgLSAxOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2cGFnZV91cmwnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKSk7CiAgfQppZiggJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50ICkKICB7CiAgICAkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlciArIDE7CiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJhbXMpKTsKICAgICRwYXJhbXNbJ3BhZ2VudW1iZXInXSA9ICRwYWdlY291bnQ7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJhbXMpKTsKICB9CiRlbnRyeWFycmF5ID0gYXJyYXkoKTsJCiRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5MSwkcGFnZWxpbWl0LCRzdGFydGVsZW1lbnQsJHFwYXJtcyk7Ci8vZWNobyAiREVCVUc6IHNxbCA9ICIuJGRiLT5zcWwuJzxici8+JzsgLy8gZGVidWcKCQp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgewogICAgJG9uZXJvdyA9ICR0aGlzLT5BcnJheVRvT2JqZWN0KCRyb3cpOwoKICAgICRvbmVyb3ctPmVkaXRfdXJsID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2VkaXRwcm9kdWN0JywkcmV0dXJuaWQsCgkJCQkJIGFycmF5KCdjb21waWQnPT4kcm93WydpZCddKSk7CiAgICAkb25lcm93LT5hdHRyaWJzbGluayA9ICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdlZGl0X2F0dHJpYnNldHMnLCRyZXR1cm5pZCwKCQkJCQkJICAkdGhpcy0+TGFuZygnZWRpdF9hdHRyaWJzZXRzJyksCgkJCQkJCSAgJ3RhYmxlX3JlbGF0aW9uc2hpcC5wbmcnLAoJCQkJCQkgIGFycmF5KCdjb21waWQnPT4kcm93WydpZCddKSk7CgogICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cHJvZHVjdCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCdlZGl0JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NvbXBpZCc9PiRyb3dbJ2lkJ10pKTsKCQkKICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVwcm9kdWN0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NvbXBpZCc9PiRyb3dbJ2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZV9kZWxldGVwcm9kdWN0JykpOwoJCQogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CiAgfQoJCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRsaW5rJywKCQkkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnaW1wb3J0cHJvZHVjdHMnLCRyZXR1cm5pZCwKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnaW1wb3J0X2Zyb21fY3N2JyksCgkJCQkgICAgICAgJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkbGluaycsIAoJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZHByb2R1Y3QnLCAkcmV0dXJuaWQsIAoJCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3Zm9sZGVyLmdpZicsICR0aGlzLT5MYW5nKCdhZGRwcm9kdWN0JyksJycsJycsJ3N5c3RlbWljb24nKSwgCgkJCQkJYXJyYXkoJ2hpZXJhcmNoeSc9PiRoaWVyYXJjaHkpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gCgkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkcHJvZHVjdCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZHByb2R1Y3QnKSwgCgkJCQkJYXJyYXkoJ2hpZXJhcmNoeSc9PiRoaWVyYXJjaHkpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaWR0ZXh0JywkdGhpcy0+TGFuZygnaWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvZHVjdHRleHQnLCAkdGhpcy0+TGFuZygncHJvZHVjdCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcmljZXRleHQnLCAkdGhpcy0+TGFuZygncHJpY2UnKSk7CiRzbWFydHktPmFzc2lnbignd2VpZ2h0X3VuaXRzJyxwcm9kdWN0X29wczo6Z2V0X3dlaWdodF91bml0cygpKTsKJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHR0ZXh0JywkdGhpcy0+TGFuZygnd2VpZ2h0JykpOwoJCiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdGxpc3QudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_templatestabs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzdW1tYXJ5X3RlbXBsYXRlJywgJHBhcmFtcyk7CiAgewogICAgZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdzdW1tYXJ5XycsCgkJCQkgUFJPRFVDVFNfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLAoJCQkJICdzdW1tYXJ5X3RlbXBsYXRlJywKCQkJCSBQUk9EVUNUU19QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFLAoJCQkJICR0aGlzLT5MYW5nKCdzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCcpKTsKICB9CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RldGFpbF90ZW1wbGF0ZScsICRwYXJhbXMpOwogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZGV0YWlsXycsCgkJCQkgUFJPRFVDVFNfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsCgkJCQkgJ2RldGFpbF90ZW1wbGF0ZScsCgkJCQkgUFJPRFVDVFNfUFJFRl9ERkxUREVUQUlMX1RFTVBMQVRFLAoJCQkJICR0aGlzLT5MYW5nKCdkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0JykpOwogIH0KICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdieWhpZXJhcmNoeV90ZW1wbGF0ZScsICRwYXJhbXMpOwogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnYnloaWVyYXJjaHlfJywKCQkJCSBQUk9EVUNUU19QUkVGX05FV0JZSElFUkFSQ0hZX1RFTVBMQVRFLAoJCQkJICdieWhpZXJhcmNoeV90ZW1wbGF0ZScsCgkJCQkgUFJPRFVDVFNfUFJFRl9ERkxUQllISUVSQVJDSFlfVEVNUExBVEUsCgkJCQkgJHRoaXMtPkxhbmcoJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCcpKTsKICB9CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgoKICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJywgJHBhcmFtcyk7CiAgewogICAgZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdjYXRlZ29yeWxpc3RfJywKCQkJCSBQUk9EVUNUU19QUkVGX05FV0NBVEVHT1JZTElTVF9URU1QTEFURSwKCQkJCSAnY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJywKCQkJCSBQUk9EVUNUU19QUkVGX0RGTFRDQVRFR09SWUxJU1RfVEVNUExBVEUsCgkJCQkgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnKSk7CiAgfQogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RlZmF1bHRfdGVtcGxhdGVzJyk7CiAgewogICAgJGlucHV0X3N1bW1hcnl0ZW1wbGF0ZSA9CiAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURSk7CiAgICAkaW5wdXRfZGV0YWlsdGVtcGxhdGUgPQogICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0RFVEFJTF9URU1QTEFURSk7CiAgICAkaW5wdXRfYnloaWVyYXJjaHl0ZW1wbGF0ZSA9CiAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQllISUVSQVJDSFlfVEVNUExBVEUpOwogICAgJGlucHV0X2NhdGVnb3J5bGlzdHRlbXBsYXRlID0KICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdDQVRFR09SWUxJU1RfVEVNUExBVEUpOwoKICAgICRzbWFydHktPmFzc2lnbignaW5mb19kZmx0X3RlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJykpOwoKICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkgICAgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NldGRmbHR0ZW1wbGF0ZXMnLAoJCQkJCSAgICRyZXR1cm5pZCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywKCQkgICAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmRfc3VtbWFyeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VtbWFyeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkaW5wdXRfc3VtbWFyeXRlbXBsYXRlLAoJCQkJCSAgJ2lucHV0X3N1bW1hcnl0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0X3N1bW1hcnl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdF9zdW1tYXJ5dGVtcGxhdGUnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc2V0X3N1bW1hcnl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc2V0X3N1bW1hcnl0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVzZXR0b2ZhY3RvcnknKSkpOwoKICAgICRzbWFydHktPmFzc2lnbignbGVnZW5kX2RldGFpbHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZXRhaWx0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RldGFpbHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkaW5wdXRfZGV0YWlsdGVtcGxhdGUsCgkJCQkJICAnaW5wdXRfZGV0YWlsdGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9kZXRhaWx0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdF9kZXRhaWx0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVzZXRfZGV0YWlsdGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdyZXNldF9kZXRhaWx0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVzZXR0b2ZhY3RvcnknKSkpOwoKCiAgICAkc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZF9ieWhpZXJhcmNoeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X2J5aGllcmFyY2h5dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+TGFuZygncHJvbXB0X3RlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9ieWhpZXJhcmNoeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkaW5wdXRfYnloaWVyYXJjaHl0ZW1wbGF0ZSwKCQkJCQkgICdpbnB1dF9ieWhpZXJhcmNoeXRlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRfYnloaWVyYXJjaHl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdF9ieWhpZXJhcmNoeXRlbXBsYXRlJywKCQkJCQkgICAgICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNldF9ieWhpZXJhcmNoeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwncmVzZXRfYnloaWVyYXJjaHl0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVzZXR0b2ZhY3RvcnknKSkpOwogICAgCgogICAgJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmRfY2F0ZWdvcnlsaXN0dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+TGFuZygndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X2NhdGVnb3J5bGlzdHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCRpbnB1dF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSwKCQkJCQkgICdpbnB1dF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0X2NhdGVnb3J5bGlzdHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0X2NhdGVnb3J5bGlzdHRlbXBsYXRlJywKCQkJCQkgICAgICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNldF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc2V0X2NhdGVnb3J5bGlzdHRlbXBsYXRlJywKCQkJCQkgICAgICR0aGlzLT5MYW5nKCdyZXNldHRvZmFjdG9yeScpKSk7CiAgICAKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZGZsdF90ZW1wbGF0ZXMudHBsJyk7CiAgfQogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKfQoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/functions.admin_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKCmZ1bmN0aW9uIHByb2R1Y3RzX1NlYXJjaFJlaW5kZXgoJiRtb2QsJG1vZHVsZSkKewogICRkYiA9JiAkbW9kLT5HZXREYigpOwogIAogICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIHdoZXJlIHN0YXR1cyA9ID8nOwogICRyZXN1bHQgPSAmJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgncHVibGlzaGVkJykpOwogIAogIHdoaWxlICgkcmVzdWx0ICYmICEkcmVzdWx0LT5FT0YpCiAgICB7CiAgICAgICRkYXRhID0gJG1vZC0+R2V0U2VhcmNoYWJsZVRleHQoJHJlc3VsdC0+ZmllbGRzWydpZCddKTsKICAgICAgJG1vZHVsZS0+QWRkV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkcmVzdWx0LT5maWVsZHNbJ2lkJ10sICdwcm9kdWN0JywgCgkJCWltcGxvZGUoJyAnLCAkZGF0YSApICk7CiAgICAgICRyZXN1bHQtPk1vdmVOZXh0KCk7CiAgICB9Cn0KCmZ1bmN0aW9uIHByb2R1Y3RzX1VwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygmJG1vZCkKewogICRkYiA9JiAkbW9kLT5HZXREYigpOwoJCiAgJHF1ZXJ5ID0gIlNFTEVDVCBpZCwgbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IjsKICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICBpZiggISRkYnJlc3VsdCApIHsgZWNobyAkZGItPnNxbC4nPGJyLz4nOyBkaWUoICRkYi0+RXJyb3JNc2coKSApOyB9CiAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgewogICAgICAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24gPSAiIjsKICAgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gIiI7CiAgICAgICRjb250ZW50X2lkID0gJHJvd1snaWQnXTsKICAgICAgJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvd1snaWQnXTsKICAgICAgJGNvdW50ID0gMDsKCQkKICAgICAgd2hpbGUgKCRjdXJyZW50X3BhcmVudF9pZCA+IC0xKQoJewoJICAkcXVlcnkgPSAiU0VMRUNUIGlkLCBuYW1lLCBwYXJlbnRfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSAKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/IjsKCSAgJHJvdzIgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjdXJyZW50X3BhcmVudF9pZCkpOwoJICBpZiAoJHJvdzIpCgkgICAgewoJICAgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3RyX3BhZCgkcm93MlsnaWQnXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gIi4iIC4gJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uOwoJICAgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gJHJvdzJbJ25hbWUnXSAuICcgfCAnIC4gJGN1cnJlbnRfbG9uZ19uYW1lOwoJICAgICAgJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvdzJbJ3BhcmVudF9pZCddOwoJICAgICAgJGNvdW50Kys7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJGN1cnJlbnRfcGFyZW50X2lkID0gMDsKCSAgICB9CgoJfQoJCSAgCiAgICAgIGlmIChzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uKSA+IDApCgl7CgkgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7Cgl9CgkJICAKICAgICAgaWYgKHN0cmxlbigkY3VycmVudF9sb25nX25hbWUpID4gMCkKCXsKCSAgJGN1cnJlbnRfbG9uZ19uYW1lID0gc3Vic3RyKCRjdXJyZW50X2xvbmdfbmFtZSwgMCwgc3RybGVuKCRjdXJyZW50X2xvbmdfbmFtZSkgLSAzKTsKCX0KCSAgCiAgICAgICRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkgCiAgICAgICAgICAgICAgICAgIFNFVCBoaWVyYXJjaHkgPSA/LCBsb25nX25hbWUgPSA/IFdIRVJFIGlkID0gPyI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiwgJGN1cnJlbnRfbG9uZ19uYW1lLCAkY29udGVudF9pZCkpOwogICAgfQp9CgpmdW5jdGlvbiBwcm9kdWN0c19CdWlsZEhpZXJhcmNoeUxpc3QoJiRtb2QpCnsKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICRnQ21zLT5HZXREYigpOwogIAogICRoaWVyYXJjaHlfaXRlbXMgPSBhcnJheSgpOwogICRoaWVyYXJjaHlfaXRlbXNbJG1vZC0+TGFuZygnbm9uZScpXSA9IC0xOwogICRxdWVyeSA9ICdTRUxFQ1QgaGllcmFyY2h5LCBsb25nX25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBXSEVSRSBpZCA9IC0xJzsKICAkZGJyID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkgKTsKICAkbG9uZ25hbWUgPSAnJzsKICB3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKICAgIHsKICAgICAgJGxvbmduYW1lID0gJHJvd1snaGllcmFyY2h5J10gLiAnJSc7CiAgICB9CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCwgbG9uZ19uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICBXSEVSRSBoaWVyYXJjaHkgTk9UIExJS0UgPwogICAgICAgICAgIE9SREVSIEJZIGhpZXJhcmNoeSc7CiAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGxvbmduYW1lKSk7CiAgd2hpbGUoICRkYnIgJiYgKCRyb3cgPSAkZGJyLT5GZXRjaFJvdygpKSApCiAgICB7CiAgICAgICRoaWVyYXJjaHlfaXRlbXNbJHJvd1snbG9uZ19uYW1lJ11dID0gJHJvd1snaWQnXTsKICAgIH0KICAKICByZXR1cm4gJGhpZXJhcmNoeV9pdGVtczsKfQoKCmZ1bmN0aW9uIHByb2R1Y3RzX0NyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCYkbW9kLCRpZCwkbmFtZSwkc2VsZWN0ZWR2YWx1ZSkKewogICRkYiA9JiAkbW9kLT5HZXREYigpOwogICRsaXN0ID0gYXJyYXkoKTsKICAkbGlzdFskbW9kLT5MYW5nKCdhbGxjYXRlZ29yaWVzJyldID0gJyc7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICAgICAgT1JERVIgYnkgaGllcmFyY2h5JzsKICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICB3aGlsZSggJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgewogICAgICAvLyRsaXN0WyRyb3dbJ2xvbmdfbmFtZSddXSA9ICRyb3dbJ2xvbmdfbmFtZSddOwogICAgICAkbGlzdFskcm93Wydsb25nX25hbWUnXV0gPSAkcm93WydpZCddOwogICAgfQoKICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJG5hbWUsJGxpc3QsLTEsJHNlbGVjdGVkdmFsdWUpOwp9CgoKZnVuY3Rpb24gcHJvZHVjdHNfR2V0VHlwZXNEcm9wZG93biggJiRtb2QsICRpZCwgJG5hbWUsICRzZWxlY3RlZCA9ICcnLCAkYWRkdGV4dCA9ICcnLCAKCQkJCSAgICAkc2VsZWN0b25lID0gZmFsc2UgKQp7CiAgJGl0ZW1zID0gYXJyYXkoKTsKICBpZiggJHNlbGVjdG9uZSApCiAgICB7CiAgICAgICRpdGVtc1skbW9kLT5MYW5nKCdzZWxlY3Rfb25lJyldID0gJyc7CiAgICB9CiAgJGl0ZW1zWyRtb2QtPkxhbmcoJ3RleHRib3gnKV0gPSAndGV4dGJveCc7CiAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2NoZWNrYm94JyldID0gJ2NoZWNrYm94JzsKICAkaXRlbXNbJG1vZC0+TGFuZygndGV4dGFyZWEnKV0gPSAndGV4dGFyZWEnOwogICRpdGVtc1skbW9kLT5MYW5nKCdkcm9wZG93bicpXSA9ICdkcm9wZG93bic7CiAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2ltYWdldGV4dCcpXSA9ICdpbWFnZSc7CiAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2ZpbGUnKV0gPSAnZmlsZSc7CiAgCiAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJGl0ZW1zLCAtMSwgJHNlbGVjdGVkLCRhZGR0ZXh0KTsKfQoJCgpmdW5jdGlvbiBwcm9kdWN0c19IYW5kbGVVcGxvYWRlZEltYWdlKCYkbW9kLCRpZCwkbmFtZSwkZGVzdGRpciwmJGVycm9ycywkc3ViZmllbGQ9JycsJHdtbG9jYXRpb249JycsJG92ZXJ3cml0ZT1mYWxzZSkKewogICAgY2dlX2Rpcjo6bWtkaXJyKCRkZXN0ZGlyKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApIHJldHVybiBGQUxTRTsKICAgIAogICAgJGhhbmRsZXIgPSBjZ2Vfc2V0dXA6OmdldF91cGxvYWRlcigkaWQsJGRlc3RkaXIpOwogICAgJGhhbmRsZXItPnNldF9hY2NlcHRlZF9pbWFnZXR5cGVzKCRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfaW1hZ2V0eXBlcycpKTsKICAgICRoYW5kbGVyLT5zZXRfYWxsb3dfb3ZlcndyaXRlKCRvdmVyd3JpdGUpOwoJJGhhbmRsZXItPnNldF9kZWxldGVfb3JpZyhmYWxzZSk7CgkkaGFuZGxlci0+c2V0X3ByZXZpZXcoJG1vZC0+R2V0UHJlZmVyZW5jZSgnYXV0b3ByZXZpZXdpbWcnKSk7Cgkkc2l6ZSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2F1dG9fcHJldmlld2ltZ19zaXplJywxNTApOwoJJGhhbmRsZXItPnNldF9wcmV2aWV3X3NpemUoJHNpemUpOwogICAgJGhhbmRsZXItPnNldF90aHVtYm5haWwoJG1vZC0+R2V0UHJlZmVyZW5jZSgnYXV0b3RodW1ibmFpbCcpKTsKCSRoYW5kbGVyLT5zZXRfdGh1bWJuYWlsX3NpemUoJG1vZC0+R2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWxfc2l6ZScsNzUpKTsKCiAgICAkaGFuZGxlci0+c2V0X3dhdGVybWFyaygkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvd2F0ZXJtYXJrJykgIT0gJ25vbmUnICYmICR3bWxvY2F0aW9uICE9ICdub25lJyk7CiAgICBpZiggIWVtcHR5KCR3bWxvY2F0aW9uKSAmJiAkd21sb2NhdGlvbiAhPSAnZGVmYXVsdCcgKSAKCSAgewoJCSRoYW5kbGVyLT5nZXRfd2F0ZXJtYXJrX29iaigpLT5zZXRfYWxpZ25tZW50KCR3bWxvY2F0aW9uKTsKCSAgfQoKICAgICRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgkbmFtZSwnJywkc3ViZmllbGQpOwogICAgJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKICAgCiAgICBpZiggISRyZXMgJiYgJGVyciAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKQogICAgICB7CgkJLy8gdXBsb2FkIGVycm9yCgkJJGVycm9yc1tdID0gc3ByaW50ZigiJXMgJXM6ICVzIiwkbW9kLT5MYW5nKCdmaWVsZCcpLCRuYW1lLAoJCQkJCQkJJG1vZC0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpLicgLSAnLiRoYW5kbGVyLT5nZXRfZXJyb3Jtc2coKSk7CgkJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgICBpZiggZW1wdHkoJHJlcykgfHwgJHJlcyA9PT0gZmFsc2UgKQogICAgICB7CgkJLy8gbm8gZmlsZSB3YXMgdXBsb2FkZWQKCQkvLyBkbyBub3RoaW5nCgkJcmV0dXJuIFRSVUU7CiAgICAgIH0KICAgIAogICAgJGZpbGVuYW1lID0gJHJlczsKICAgIHJldHVybiAkZmlsZW5hbWU7Cn0KCgpmdW5jdGlvbiBwcm9kdWN0c19Qcm9jZXNzSW1hZ2UoJiRtb2QsJHNyY25hbWUsJHdtbG9jYXRpb249J2RlZmF1bHQnKQp7CiAgJGVycm9ycyA9IGFycmF5KCk7CiAgaWYoIGVtcHR5KCRzcmNuYW1lKSApIHJldHVybiBGQUxTRTsKICBpZiggIWZpbGVfZXhpc3RzKCRzcmNuYW1lKSApIHJldHVybiBGQUxTRTsKICAkZGVzdGRpciA9IGRpcm5hbWUoJHNyY25hbWUpOwogICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRzcmNuYW1lKTsKCiAgLy8gb3B0aW9uYWwgd2F0ZXJtYXJraW5nCiAgaWYoIGVtcHR5KCR3bWxvY2F0aW9uKSApICR3bWxvY2F0aW9uID09ICdkZWZhdWx0JzsKICBpZiggJG1vZC0+R2V0UHJlZmVyZW5jZSgnYXV0b3dhdGVybWFyaycpICE9ICdub25lJyAmJiAkd21sb2NhdGlvbiAhPSAnbm9uZScpCgl7CgkgICR0bXBuYW1lID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwnd21fJy4kZmlsZW5hbWUpOwoJCgkgIC8vIHdhdGVybWFyayB0aGUgaW1hZ2UKCSAgJHdtb2JqID0gY2dlX3NldHVwOjpnZXRfd2F0ZXJtYXJrZXIoKTsKCSAgaWYoICR3bWxvY2F0aW9uICE9ICdkZWZhdWx0JyApCgkJewoJCSAgJHZhbCA9IChpbnQpJHdtbG9jYXRpb247CgkJICAvLyBjaGFuZ2UgdGhlIHdhdGVybWFyayBsb2NhdGlvbgoJCSAgJHdtb2JqLT5zZXRfYWxpZ25tZW50KCR2YWwpOwoJCX0KCQoJICAkcmVzID0gJHdtb2JqLT5jcmVhdGVfd2F0ZXJtYXJrZWRfaW1hZ2UoJHNyY25hbWUsJHRtcG5hbWUpOwoJCgkgIGlmKCBGQUxTRSAhPT0gJHJlcyApCgkJewoJCSAgLy8gd2F0ZXJtYXJraW5nIHdvcmtlZCBJIGd1ZXNzCgkJICAKCQkgIC8vIGRlbGV0ZSB0aGUgb3JpZ2luYWwKCQkgIEB1bmxpbmsoJHNyY25hbWUpOwoJCSAgCgkJICAvLyByZW5hbWUgdGhlIHdhdGVybWFrZWQgZmlsZQoJCSAgQHJlbmFtZSgkdG1wbmFtZSwkc3JjbmFtZSk7CgkJfQoJICBlbHNlCgkJewoJCSAgLy8gd2F0ZXJtYXJraW5nIGZhaWxlZAoJCSAgJHRtcCA9ICR3bW9iai0+Z2V0X2Vycm9yKCk7CgkJICAkdG1wMiA9ICRtb2QtPkdldFdhdGVybWFya0Vycm9yKCR0bXApOwoJCSAgaWYoIGlzX2FycmF5KCRlcnJvcnMpICkKCQkJewoJCQkgICRlcnJvcnNbXSA9ICR0bXAyOwoJCQl9CgkJICBlbHNlCgkJCXsKCQkJICAkZXJyb3JzID0gJHRtcDI7CgkJCX0KCQkgIEB1bmxpbmsoJHNyY25hbWUpOwoJCSAgcmV0dXJuIEZBTFNFOwoJCX0KICAgICAgfQoKICAgIC8vIG9wdGlvbmFsIHByZXZpZXcgaW1hZ2UKICAgIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvcHJldmlldycpID09IDEgKQogICAgICB7CgkJJGRlc3RuYW1lID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwncHJldmlld18nLiRmaWxlbmFtZSk7CgkJaWYoICFmaWxlX2V4aXN0cygkZGVzdG5hbWUpICkKCQkgIHsKCQkJJHNpemUgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3ByZXZpZXdpbWdfc2l6ZScsNzUpOwoJCQkkbW9kLT5UcmFuc2Zvcm1JbWFnZSgkc3JjbmFtZSwkZGVzdG5hbWUsJHNpemUpOwoJCSAgfQogICAgICB9ICAKCiAgICAvLyBvcHRpb25hbCB0aHVtYm5haWxpbmcKICAgIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvdGh1bWJuYWlsJykgPT0gMSApCiAgICAgIHsKCQkkZGVzdG5hbWUgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCd0aHVtYl8nLiRmaWxlbmFtZSk7CgkJaWYoICFmaWxlX2V4aXN0cygkZGVzdG5hbWUpICkKCQkgIHsKCQkJJHNpemUgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbF9zaXplJyw3NSk7CgkJCSRtb2QtPlRyYW5zZm9ybUltYWdlKCRzcmNuYW1lLCRkZXN0bmFtZSwkc2l6ZSk7CgkJICB9CiAgICAgIH0gIAoKCXJldHVybiBUUlVFOwp9CgoKZnVuY3Rpb24gcHJvZHVjdHNfRGVsZXRlUHJvZHVjdCgmJG1vZCwkcHJvZHVjdF9pZCwkdXBkYXRlX3NlYXJjaD10cnVlKQp7CiAgZ2xvYmFsICRnQ21zOwogICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiAgLy8gR2V0IHRoZSBjYXRlZ29yeSBkZXRhaWxzCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyBXSEVSRSBpZCA9ID8nOwogICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgCiAgLy9Ob3cgcmVtb3ZlIHRoZSBjYXRlZ29yeQogICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIFdIRVJFIGlkID0gPyI7CiAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfaWQpKTsKICAKICAvL0FuZCByZW1vdmUgaXQgZnJvbSBhbnkgY3VzdG9tIGZpZWxkcwogICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBXSEVSRSBwcm9kdWN0X2lkID0gPyI7CiAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfaWQpKTsKICAKICAvL0FuZCByZW1vdmUgaXQgZnJvbSBhbnkgY2F0ZWdvcmllcwogICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBXSEVSRSBwcm9kdWN0X2lkID0gPyI7CiAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfaWQpKTsKICAKICAvLyBhbmQgcmVtb3ZlIHRoZSBoaWVyYXJjaHkgc3R1ZmYKICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcHJvZHVjdF9pZCkpOwogIAogIC8vIGFuZCAob3B0aW9uYWxseSkgcmVtb3ZlIGFsbCBmaWxlcwogIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZWxldGVwcm9kdWN0ZmlsZXMnKSApCgl7CgkgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLCRtb2QtPkdldE5hbWUoKSwncHJvZHVjdF8nLiRwcm9kdWN0X2lkKTsKCSAgY2dlX2Rpcjo6cmVjdXJzaXZlX3JlbW92ZV9kaXJlY3RvcnkoJGRpcik7Cgl9CiAgCiAgLy9VcGRhdGUgc2VhcmNoIGluZGV4CiAgaWYoICR1cGRhdGVfc2VhcmNoICkKCXsKCSAgJG1vZHVsZSA9JiAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CgkgIGlmICgkbW9kdWxlICE9IEZBTFNFKQoJCXsKCQkgICRtb2R1bGUtPkRlbGV0ZVdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJHByb2R1Y3RfaWQsICdwcm9kdWN0Jyk7CgkJfQoJfQp9CgoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/functions.common_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gcHJvZHVjdHNfR2V0SGllcmFyY2h5SW5mbygmJG1vZCwkaGllcmFyY2h5X2lkKQp7CiAgZ2xvYmFsICRnQ21zOwogICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAKICAvLyBjb3VsZCBkbyBzb21lIGNhY2hpbmcgaGVyZQogIGlmKCBpc3NldCgkbW9kLT5faGllcmFyY2h5X2NhY2hlWyRoaWVyYXJjaHlfaWRdKSApCiAgICB7CiAgICAgIHJldHVybiAkbW9kLT5faGllcmFyY2h5X2NhY2hlWyRoaWVyYXJjaHlfaWRdOwogICAgfQogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkaGllcmFyY2h5X2lkKSk7CiAgaWYoICRyb3cgKQogICAgewogICAgICAkbW9kLT5faGllcmFyY2h5X2NhY2hlWyRoaWVyYXJjaHlfaWRdID0gJHJvdzsKICAgIH0KICByZXR1cm4gJHJvdzsKfQoKCmZ1bmN0aW9uIHByb2R1Y3RzX0dldEhpZXJhcmNoeVBhdGgoJiRtb2QsJGhpZXJfaWQpCnsKICAkaGllcl9pbmZvID0gJG1vZC0+R2V0SGllcmFyY2h5SW5mbygkaGllcl9pZCk7CiAgaWYoICEkaGllcl9pbmZvICkgcmV0dXJuIEZBTFNFOwogIAogICR0bXAgPSBleHBsb2RlKCcuJywkaGllcl9pbmZvWydoaWVyYXJjaHknXSk7CiAgaWYoICFjb3VudCgkdG1wKSApIHJldHVybiBGQUxTRTsKICAKICAkYnJlYWRjcnVtYnMgPSBhcnJheSgpOwogIGZvcmVhY2goJHRtcCBhcyAkb25lKQoJewoJICAkYnJlYWRjcnVtYnNbXSA9IChpbnQpJG9uZTsKCX0KICByZXR1cm4gJGJyZWFkY3J1bWJzOwp9CgoKZnVuY3Rpb24gcHJvZHVjdHNfR2V0UHJvZHVjdEhpZXJhcmNoeVBhdGgoJiRtb2QsJHByb2R1Y3RpZCkKewogIGdsb2JhbCAkZ0NtczsKICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgCiAgJHF1ZXJ5ID0gJ1NFTEVDVCBoaWVyYXJjaHlfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIKICAgICAgICAgICAgICBXSEVSRSBwcm9kdWN0X2lkID0gPyBMSU1JVCAxJzsKICAkaGllcl9pZCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcHJvZHVjdGlkKSk7CiAgaWYoICEkaGllcl9pZCApIHJldHVybiBGQUxTRTsKICAKICByZXR1cm4gcHJvZHVjdHNfR2V0SGllcmFyY2h5UGF0aCgkbW9kLCRoaWVyX2lkKTsKfQoKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/database_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKRSURBVDjLhVNLTBNRFD3TTju1FCcBaxuaQEr94ydiZIHGpcFISBOi0YREZWHCVoyRxKUxxq0LXcACQyLsjO6KjSEiDfHDz0S0CLSxlFKd2g7MTDudGd+bMAQCxJucuXfuu+fcO/PeYwzDALVoNMqRuI3guq7rR4g/SEBC/Svxc8T3EUTD4bCGTcZQAUI+RvxLr9d70u/3o6KiAm63G3Qtn89DFEUkk0lks9lRkrvW3t6e2lCgRZFI5F0ikaDtjN1MVVVjYmLCGBoa6qccC7Z1kQafz4f/WSAQAGlyaXOOpQ+SNNUymQxcLhc4joPD4TBzkiRBEASkUimEQiGzdlcBlmWRy+WgKIr5Xi6XUSgUUCwWzTVN+IAzeOOde71orP0eAaOkbrDWf6Cw2+3mBLSYgny3KULXPOUY2BUB/hMd4IOn8XfhMGYjvU+2TECLLRLDMNA0zYw5JYa6Ghke/hyEn9/gZEqo3OuHp7qW3yJgESjoNPSdlb8gWCOCr29BMT0Ip5tBYnIWqlL6o8irzVsEaHcKSqQCen4cweok+FAblNRz2JxlODx1cEkzGWmVbTl7Z/jHhgCF1Z3GYjIKf+U8+ANhQn4Gm6OMUiGI9MhHg5Gl1sbu8UnKNc8B7Ui3ipxEcwvlpVFw6hz2N1xGabkXdqeBYqEOmfefEZWac4e6xz9Z22hbn+BmLBZbi8fjEBdG4NF/QdUDSM88hQ4FawKJR6cxLDZl86qzZdtdoDYwMBAkQg/2LL/ovNLVh++Dd7G0OAau9hTkrKgnnE39GW3f/Z6enpUdBSx7ePu4eq+zi4VNw+TbV0gsxFd5b9X5i4+mpnY63tsErl6okhvrfWzT0SAMR3FMXsnean08Pb/b/fgHqpjCspi90kkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/table_relationship.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIpSURBVDjLpZP7T1JhGMfPn9RaznVZa7Zhl1WoOI1ZtNlmq5Wrma1jMTSG5li1ahWSFJKmjuhEYzVJCDGQUNJI7WYX7ALnhFwiKFvn2zkHKw6d33y27y/v830+++5535cAQCxHhN7+AR23I9Ba30EzMIeTva9BWl4+ljJbRhLqHk9i/trDOLpdDLoeMCAyuZ8oVtP1WVYKYPYsfCv2Eqd9bdB61dB4SJxwNQuHjcZnkAKY3F+Efu/0VZjDV9A9eVFoiIo37L88JQkwDjNCv7CIPm8MheINey+ERIC6/kpFtXkbdhjKUdtVIfITVn9URGRSOajOBv8ClH1yRZVpK9s63IL2kVbIz20RBvkaGI3mAVQgBmosCsd4FG8+p7Gzc0wA1Fi2KyqMm1nyfhNqjHKsP1WKct1GDPpisPLy0/8nePUxhWqdD1xkJReZbXY0oqxjLbtOU7JJf2ceqewibAFa8FKBJYCQgktg49Rg3QMuMupv1uGw/QA26Faza9SrZHyidtt7JDOLsAdp3B3Pixh6QiOd/bdZVY8SGjeJg1QDH5ktbVkp+7OPtsG3SHz9gXuhfALnJPeQHBM0ClVrqOIjg4uMkuMrZIW3oe6fEwBD3KBzScQtPy3awfNIEiq9T/IdkDdeYIEDuJ4ygtcd5gD8QLF2dT76JQU4ap5FPP0ddDKHT/EsInQGRKXWi2KVHXNSUoAjppnRQ4ZwZt+lKdSfD2H3meDyvjKv3+cfGcwF4FggAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBBCiRsYW5nWydhZGQnXSA9ICdBZGQnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZGQgQSBDYXRlZ29yeSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0FkZCBBIEZpZWxkJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdBZGp1c3RhYmxlJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdBZGQgQSBQcm9kdWN0JzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2lhdGUgRmllbGQgd2l0aCBDYXRlZ29yeTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWRkIEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdBZGQgQXR0cmlidXRlIE9wdGlvbic7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnQ2FuIG9ubHkgYWRtaW5zIHNlZSB0aGlzIGF0dHJpYnV0ZT8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdUb3AgTGVmdCc7CiRsYW5nWydhbGlnbl91YyddID0gJ1RvcCBDZW50ZXInOwokbGFuZ1snYWxpZ25fdXInXSA9ICdUb3AgUmlnaHQnOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdNaWRkbGUgTGVmdCc7CiRsYW5nWydhbGlnbl9tYyddID0gJ0NlbnRlcic7CiRsYW5nWydhbGlnbl9tciddID0gJ01pZGRsZSBSaWdodCc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0JvdHRvbSBMZWZ0JzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnQm90dG9tIENlbnRlcic7CiRsYW5nWydhbGlnbl9sciddID0gJ0JvdHRvbSBSaWdodCc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsIENhdGVnb3JpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSBZb3UgU3VyZT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBwcm9kdWN0LCBhbmQgYWxsIG9mIHRoZSBhY2NvbXBhbnlpbmcgaW5mb3JtYXRpb24gZm9yIGl0Pyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRpbmcnOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICdBdHRyaWJ1dGUgTmFtZSc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aWMnOwoKIyBCCiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGVzJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEhpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGUnOwoKIyBDCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0EgY2F0ZWdvcnkgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbm9kZT8gIEFueSBwcm9kdWN0cyB0aGF0IGFyZSB1c2luZyB0aGlzIG5vZGUgd2lsbCBiZSBzZXQgdG8gbm8gaGllcmFyY2h5JzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAiQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBkbyB0aGlzP1xcblxcbkltcHJvcGVyIHNldHRpbmdzLCBvciBhbiBpbnZhbGlkIGNvbmZpZyBmaWxlIGNvdWxkIGNvbXBsZXRlbHkgY29ycnVwdCBhIGN1cnJlbnRseSB2YWxpZCBhbmQgd29ya2luZyBzeXN0ZW0uIjsKJGxhbmdbJ2NvcHknXSA9ICdDb3B5JzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSAgPSAnQ29weSBDYXRlZ29yeSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgRGF0ZSc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnQ3VycmVudCBWYWx1ZSc7CgojIEQKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gPDw8RU9UCjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGNvbnRlbnRzIG9mIHRoZXNlIHRleHQgYXJlYXMgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGNvbnRlbnQgb2YgdGVtcGxhdGVzIHdoZW4geW91IGNsaWNrICZxdW90O0FkZCBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLiAgRWRpdGluZyBvbmUgb2YgdGhlc2UgdGV4dCBhcmVhcyB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiB5b3VyIHdlYnNpdGUuCkVPVDsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnRGVsZXRlIEF0dHJpYnV0ZSc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdEZWxldGUgSGllcmFyY2h5IEl0ZW0nOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRpbmcnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlscyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBBIERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0Rpc2FibGVkJzsKJGxhbmdbJ2RyYWZ0J10gPSAnRHJhZnQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnRHJvcGRvd24gT3B0aW9ucyA8ZW0+KGFwcGxpY2FibGUgb25seSBmb3IgZHJvcGRvd24gZmllbGRzKTwvZW0+PGJyLz48YnIvPjxlbT4ob25lIGVudHJ5IHBlciBsaW5lKTwvZW0+JzsKCiMgRQokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdFZGl0IEF0dHJpYnV0ZSc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzIEZvcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdFZGl0IEF0dHJpYnV0ZXMnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdFZGl0IENhdGVnb3J5IEZpZWxkcyc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnRWRpdCBIaWVyYXJjaHkgSXRlbSc7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAnQW4gYXR0cmlidXRlIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZV9za3UnXSA9ICdEdXBsaWNhdGUgU0tVIHZhbHVlIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdUaGUgRmllbGQgVmFsdWUgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdGaWxlIEZvcm1hdCBQcm9ibGVtJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgTm90IEZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlbSBvcGVuaW5nIGZpbGUgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ0ludmFsaWQgUGFyZW50IChhIGhpZXJhcmNoeSBub2RlIGNhbm5vdCBiZSBpdFwncyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdUaGUgY3VzdG9tIGZpZWxkIHZhbHVlIGVudGVyZWQgaXMgaW52YWxpZCAoY29udGFpbnMgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1BsZWFzZSBzZWxlY3QgYSBmaWVsZCB0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1lvdSBtdXN0IHN1cHBseSBhIG5hbWUnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1Blcm1pc3Npb24gRGVuaWVkJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfYWxpYXN1c2VkJ10gPSAnVGhlIGFsaWFzIHNwZWNpZmllZCBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnQSBwcm9kdWN0IGJ5IHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAnVGhlIHJlcXVlc3RlZCBwcm9kdWN0IGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X3NrdXVzZWQnXSA9ICdUaGF0IFNLVSB2YWx1ZSBpcyBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIHByb2R1Y3QnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0ludmFsaWQgcHJpY2UgYWRqdXN0bWVudCB2YWx1ZSBmb3IgaXRlbSAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIGZhaWxlZDogJXMnOwokbGFuZ1snZXh0cmExJ10gPSAnRXh0cmEgRmllbGQgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFeHRyYSBGaWVsZCAyJzsKCiMgRgokbGFuZ1snZmllbGQnXSA9ICdGaWVsZCc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0ZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRmllbGQgRGVmaW5pdGlvbnMnOwokbGFuZ1snZmlsZSddID0gJ0ZpbGUnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRlcnMnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnJmx0OyZsdDsnOwoKIyBHCiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnR2VuZXJhbCBTZXR0aW5ncyc7CiRsYW5nWydnbyddID0gJ0dvJzsKCiMgSAokbGFuZ1snaGVscCddID0gPDw8RU9UCjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdheSB0byBjb2xsZWN0LCBvcmdhbml6ZSwgYW5kIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgcHJvZHVjdHMgYW5kIHRoZWlyIGNhdGVnb3JpZXMuICBUaGlzIG1vZHVsZSBjYW4gc3RhbmQgb24gaXRzIG93biwgb3IgYmUgcGFydCBvZiBhbiBlLWNvbW1lcmNlIHNvbHV0aW9uIGlmIHlvdSB3aXNoLiAgVGhlIG1vZHVsZSBzdXBwb3J0cyBhIHByb2R1Y3QgZXhpc3RpbmcgaW4gbW9yZSB0aGFuIG9uZSBjYXRlZ29yeSwgc3VwcG9ydHMgcHJvZHVjdCB3ZWlnaHQsIHByaWNlLCBhbmQgYXR0cmlidXRlIHNldHMuICBFYWNoIGl0ZW0gaW4gYW4gYXR0cmlidXRlIHNldCBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQuICBBbHNvIGEgZ2xvYmFsIGZsYWcgaW5kaWNhdGVzIHdldGhlciB0aGUgcHJvZHVjdCBpcyAndGF4YWJsZScgb3Igbm90LjwvcD4KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBtdWx0aXBsZSBjdXN0b20gZmllbGQgZGVmaW5pdGlvbnMsIGFuZCBmb3IgdGhlIGFiaWxpdHkgdG8gZGlzY3JpbWluYXRlIHByaXZhdGUgZnJvbSBwdWJsaWMgZGF0YS48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CiAgPGxpPk51bWVyb3VzIFZpZXdzPC9saT4KICAgIDx1bD4KICAgICAgPGxpPlN1bW1hcnkgdmlldzwvbGk+CiAgICAgIDxsaT5DYXRlZ29yeSBMaXN0IFZpZXc8L2xpPgogICAgICA8bGk+RGV0YWlsIHZpZXc8L2xpPiAKICAgICAgPGxpPkhpZXJhcmNoeSBEcmlsbC1kb3duIFZpZXc8L2xpPgogICAgPC91bD4KICA8bGk+RW50aXJlbHkgRGF0YWJhc2UgVGVtcGxhdGUgRHJpdmVuPC9saT4KICA8cD5OdW1lcm91cyB0ZW1wbGF0ZXMgb2YgZWFjaCB0eXBlIGNhbiBiZSBkZWZpbmVkLCBkZWZhdWx0cyBzcGVjaWZpZWQgZm9yIGVhY2ggdHlwZSwgYW5kIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciBlYWNoIHBhcnRpY3VsYXIgdmlldyBjYW4gYmUgc3BlY2lmaWVkIGFzIGEgcGFyYW1ldGVyPC9wPgogIDxsaT5Tb3J0aW5nIGFuZCBwYWdpbmF0aW9uIGluIHRoZSBzdW1tYXJ5IHZpZXc8L2xpPgogIDxsaT5Qcm9kdWN0cyBjYW4gZXhpc3QgaW4gbXVsdGlwbGUgY2F0ZWdvcmllczwvbGk+CiAgPGxpPk51bWVyb3VzIGN1c3RvbSBmaWVsZHMgY2FuIGJlIGRlZmluZWQsIGluY2x1ZGluZyBpbWFnZXM8L2xpPgogIDxsaT5BdXRvbWF0aWMgdGh1bWJuYWlsIGNyZWF0aW9uPC9saT4KICA8bGk+QWRtaW4gZGVmaW5lZCBmaWVsZHM8L2xpPgogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+CiAgPGxpPldlaWdodCBhbmQgdGF4YWJsZSBmaWVsZHMgKGZvciB1c2UgaW4gZS1jb21tZXJjZSBzb2x1dGlvbnMpPC9saT4KICA8bGk+UHJvZHVjdHMgY2FuIGhhdmUgYSBzdGF0dXMgKHB1Ymxpc2hlZCBvciBkcmFmdCkgaW4gb3JkZXIgdG8gaGlkZSBwcm9kdWN0cyBmcm9tIHB1YmxpYyBkaXNwbGF5IGF0IGFueSB0aW1lPC9saT4KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4KICA8bGk+PHN0cm9uZz5Nb3JlLi4uPC9zdHJvbmc+PC9saT4KPC91bD4KCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4KPHVsPgo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4KPHA+VXN1YWxseSB0aGlzIGlzIGp1c3QgYSBmb3JtYWxpdHkuICBZb3Ugc2hvdWxkIHNwZWNpZnkgeW91ciBkZWZhdWx0IHdlaWdodCB1bml0cywgYW5kIHlvdXIgZGVmYXVsdCBjdXJyZW5jeSBzeW1ib2wgZm9yIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuPC9wPgo8bGk+U2V0dXAgdXNlcnMgYW5kIHBlcm1pc3Npb25zPC9saT4KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgJ01vZGlmeSBUZW1wbGF0ZXMnIHBlcm1pc3Npb24gdG8gYWxsb3cgdXNlcnMgdG8gYmUgYWJsZSB0byBtb2RpZnkgdGhlIHZhcmlvdXMgdGVtcGxhdGVzIHRoYXQgY2FuIGJlIHVzZWQgYnkgdGhpcyBtb2R1bGUuICBBcyB3ZWxsLCB0aGUgJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGFkanVzdCB0aGUgbW9kdWxlcyBwcmVmZXJlbmNlcy4gIEluIG9yZGVyIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8gbW9kaWZ5IGZpZWxkIGRlZmluaXRpb25zLCBjYXRlZ29yaWVzLCBvciBwcm9kdWN0cywgeW91ciB1c2VycyB3aWxsIG5lZWQgdGhlICdNb2RpZnkgUHJvZHVjdHMnIHBlcm1pc3Npb24uPC9wPgo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY2F0ZWdvcmllczwvbGk+CjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcCwgYnV0IHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gZG8gdGhpcyBlYXJseSB0byBwcmV2ZW50IGhhdmluZyB0byBnbyBiYWNrIHRvIG1vZGlmeSBlYWNoIGFuZCBldmVyeSBwcm9kdWN0IGxhdGVyLiAgQWRkaW5nIGEgY2F0ZWdvcnkgaXMgYXMgc2ltcGxlIGFzIGNsaWNraW5nIG9uIHRoZSAnQ2F0ZWdvcmllcycgdGFiIGluIHRoZSBQcm9kdWN0IE1hbmFnZXJzIGFkbWluIHNlY3Rpb24sIGFuZCBjbGlja2luZyAnQWRkIEEgQ2F0ZWdvcnknLiAgRnJvbSB0aGVyZSB5b3Ugd2lsbCBiZSBwcm9tcHRlZCBmb3IgYSBjYXRlZ29yeSBuYW1lLjwvcD4KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHM8L2xpPgo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAuICBDdXN0b20gZmllbGRzIGFyZSBub3QgbmVlZGVkIGlmIHRoaXMgbW9kdWxlIHN1aXRzIHlvdSBleGFjdGx5IGFzIGl0IGlzLiAgSG93ZXZlciBpZiB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBlYWNoIG9mIHlvdXIgcHJvZHVjdHMgeW91IGNhbiBjcmVhdGUgY3VzdG9tIGZpZWxkcy4gIENyZWF0aW5nIGN1c3RvbSBmaWVsZHMgaXMgc2ltaWxhciB0byBjcmVhdGluZyBjYXRlZ29yaWVzLCBleGNlcHQgdGhhdCBtb3JlIGRhdGEgaXMgcmVxdWVzdGVkLjwvcD4KPHA+Q3VycmVudGx5IGEgbnVtYmVyIG9mIHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZSwgaW5jbHVkaW5nOiAndGV4dGJveCcsJ2NoZWNrYm94JyxhbmQgJ3RleHRhcmVhJywgJ2Ryb3Bkb3duJywgYW5kICdmaWxlJy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4KPGxpPkNyZWF0ZSBvbmUgb3IgbW9yZSBwcm9kdWN0czwvbGk+CjxwPllvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzIHRvIGRpc3BsYXkgaW4geW91ciB3ZWJzaXRlIGNvbnRlbnQuICBHaXZlIGVhY2ggcHJvZHVjdCBhIG5hbWUsIGEgcHJpY2UgKG9wdGlvbmFsKSBhIHdlaWdodCAob3B0aW9uYWwpLCBhIHN0YXR1cyAoZHJhZnQgb3IgcHVibGlzaGVkKSwgYW5kIHNvbWUgaW5mb3JtYXRpb24uICBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IGlmIHRoZSBwcm9kdWN0IGlzIHRheGFibGUuPC9wPgo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+CjxwPklmIGN1c3RvbSBmaWVsZHMgYXJlIGRlZmluZWQsIHRoZW4gaW5wdXQgZmllbGRzIGFwcHJvcHJpYXRlIHRvIHRoZSB0eXBlIG9mIGN1c3RvbSBmaWVsZCB3aWxsIGFwcGVhciBhbmQgYWxsb3cgeW91IHRvIHNwZWNpZnkgZGF0YSBmb3IgZWFjaCBvZiB0aGVtLiAgVGhpcyBkYXRhIGlzIG9wdGlvbmFsLjwvcD4KPGxpPkFkZCB0aGUgYXBwcm9wcmlhdGUgdGFncyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgb3IgcGFnZSBjb250ZW50PC9saT4KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4KPHA+SWYgeW91IHdpc2ggdG8gYWx0ZXIgdGhlIGJlaGF2aW91ciBvZiB0aGlzIGFwcGxpY2F0aW9uIGZyb20gaXRzIGRlZmF1bHQsIHlvdSBjYW4gZG8gdGhhdCBieSBhZGRpbmcgb25lIG9yIG1vcmUgcGFyYW1ldGVycyB0byB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZy4gIFRoZSBjb21wbGV0ZSBsaXN0IG9mIHBhcmFtZXRlcnMgYW5kIHRoZWlyIGJlaGF2aW91ciBpcyBsaXN0ZWQgYmVsb3cuICBCdXQgZm9yIGV4YW1wbGUsIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3RzIGluIGEgc2luZ2xlLCBleGlzdGluZyBjYXRlZ29yeSwgeW91IGNvdWxkIHVzZSBhIHRhZyBsaWtlIDxjb2RlPntQcm9kdWN0cyBjYXRlZ29yeT0nY2F0ZWdvcnluYW1lJ308L2NvZGU+PC9wPgo8L3VsPgo8aDM+U21hcnR5IFBsdWdpbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHJlZ2lzdGVycyBvbmUgb3IgbW9yZSBzbWFydHkgcGx1Z2lucyB0byBhaWRlIGluIHJldHJpZXZpbmcgdmFyaW91cyBwcm9kdWN0cyByZWxhdGVkIGluZm9ybWF0aW9uIHdoZW4gZGVzaWduaW5nIHByb2R1Y3RzIG1vZHVsZSB0ZW1wbGF0ZXM6PC9wPgo8dWw+CiAgPGxpPntwcm9kdWN0c19nZXRjYXRlZ29yeSBjYXRlZ29yeWlkPSc5OScgW2Fzc2lnbj0ndG1wJ119CiAgPHA+VGhpcyBwbHVnaW4gYWxsb3dzIHJldHJpZXZpbmcgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBjYXRlZ29yeSBpZCBhbmQgb3B0aW9uYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS4gIFRoZSByZXR1cm5lZCBpcyBhbiBvYmplY3QgY29udGFpbmluZyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgY2F0ZWdvcnksIGluY2x1ZGluZyBpdHMgZmllbGQgdmFsdWVzLjxici8+aS5lOi4gPGNvZGU+e3Byb2R1Y3RzX2dldGNhdGVnb3J5IGNhdGVnb3J5aWQ9MSBhc3NpZ249J3RtcCd9Q2F0ZWdvcnkgbmFtZSA9IHtcJHRtcC0+bmFtZX08L2NvZGU+PC9wPgogICAKICAgPC9wPgogIDwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICdQcm9kdWN0cyc8L2xpPgo8bGk+VG8gb2J0YWluIGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHNlbmQgYW4gZW1haWwgdG8gdGhlIGF1dGhvciBhdCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgpFT1Q7CiRsYW5nWydoaWVyYXJjaHknXSAgPSAnSGllcmFyY2h5JzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmNoeSBQb3NpdGlvbic7CgojIEkKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnXSA9ICdJbWFnZSBIYW5kbGluZyBTZXR0aW5ncyc7CiRsYW5nWydpbXBvcnRfZnJvbV9jc3YnXSA9ICdJbXBvcnQgUHJvZHVjdHMgZnJvbSBDU1YgZmlsZSc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkZSBDaGlsZHJlbj8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdPbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLiBObyB3aGl0ZXNwYWNlLCBxdW90ZXMsIG9yIG5vbiBsZXR0ZXIvbnVtYmVyIGNvbWJpbmF0aW9ucyc7CiRsYW5nWydpbmZvX2F0dHJpYnRlbXBsYXRlJ10gPSAnUG9zc2libGUgdmFyaWFibGVzIGFyZTogeyRhdHRyaWJfdGV4dH0seyRhdHRyaWJfYWRqdXN0fSx7JGN1cnJlbmN5X3N5bWJvbH0nOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnV2F0ZXJtYXJrIHNldHRpbmdzIGFyZSB0YWtlbiBmcm9tIHRoZSBDR0V4dGVuc2lvbnMgTW9kdWxlJzsKJGxhbmdbJ2luZm9fYmF0Y2hzaXplJ10gPSAnU2V0IHRoZSBudW1iZXIgb2YgbGluZXMgdG8gcHJvY2VzcyBwZXIgJnF1b3Q7YmF0Y2gmcXVvdDsuICBBZnRlciBhIGJhdGNoIGlzIGNvbXBsZXRlLCB0aGUgaW1wb3J0ZXIgd2lsbCByZWRpcmVjdCwgYW5kIHJlc3VtZSBvcGVyYXRpb25zLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgbWVtb3J5IGVycm9ycywgb3IgdGltZW91dCBwcm9ibGVtcyBkdWUgdG8gbGFyZ2UgYW1vdW50cyBvZiBwcm9jZXNzaW5nLCB5b3UgbWF5IG5lZWQgdG8gY29uc3VsdCB5b3VyIGhvc3QgcHJvdmlkZXIsIG9yIHJlZHVjZSB0aGlzIG51bWJlcic7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1RoZXNlIHBhcmFtZXRlcnMgYXJlIGdpdmVuIHRvIHRoZSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBmcm9tIHRoZSBwcm9kdWN0IGRldGFpbCBhbmQgc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSB1bmtub3duIHByb2R1Y3QgZmllbGRzIGF1dG9tYXRpY2FsbHk/IDxlbT4oVGhleSB3aWxsIGJlIGNyZWF0ZWQgYXMgdGV4dCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJvZHVjdCBjYXRlZ29yaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSwgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgaGllcmFyY2hpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnVGhpcyBzeXN0ZW0gdW5kZXJzdGFuZHMgKC4pIGFzIHRoZSBkZWNpbWFsIHBvaW50IHNlcGFyYXRvci4gaS5lLjogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmeSB0aGUgY2hhcmFjdGVyIChvciBjaGFyYWN0ZXJzKSB0aGF0IHNlcGVyYXRlIGVhY2ggZmllbGQnOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZnkgaG93IHRoZSBzeXN0ZW0gc2hvdWxkIGhhbmRsZSBhIHByb2R1Y3Qgd2hvcyBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk5vdGU6IDwvc3Ryb25nPiBBbGwgRmllbGRzIGRlZmluZWQgaGVyZSBhcmUgYXZhaWxhYmxlIHRvIGFsbCBwcm9kdWN0cy4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbXMgd2VyZSBlbmNvdW50ZXJlZCB3aGVuIGRlYWxpbmcgd2l0aCBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzLiAgVGhlIGFjdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaG93ZXZlciB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCBjb3JyZWN0IHRoZXNlIHByb2JsZW1zJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnVGhlIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSkgd2hlcmUgaW1hZ2VzIHJlZmVycmVkIHRvIGluIHRoZSBpbXBvcnQgZmlsZSwgY2FuIGJlIGZvdW5kJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQSBicmllZiB0ZXN0IGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbnB1dCBmaWxlIHNwZWNpZmllZCwgYW5kIGV2ZXJ5dGhpbmcgYXBwZWFycyB0byBiZSBjb3JyZWN0Ljxici8+VGhpcyBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgZmlsZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnVmFsaWQgdmFsdWVzIGFyZSArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnVGhpcyBvcHRpb24gZGV0ZXJtaW5lcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSB3ZWJzaXRlIGlmIGEgcHJvZHVjdCBkZXRhaWwgdmlldyBpcyBhY2Nlc3NlZCBkaXJlY3RseSBieSBVUkwsIGFuZCB0aGF0IHByb2R1Y3QgZm9yIHdoYXRldmVyIHJlYXNvbiAoZGlzYWJsZWQsIGRlbGV0ZWQsIGV0YykgY2Fubm90IGJlIGFjY2Vzc2VkLic7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnUHVibGljIGZpZWxkcyBhcmUgYXZhaWxhYmxlIGZvciB0aGUgcHVibGljIHRvIHNlZSc7CgojIEoKIyBLCiMgTAokbGFuZ1snbGFiZWwnXSA9ICdMYWJlbCc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnU2tpcCc7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdPdmVyd3JpdGUnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICcmZ3Q7Jmd0Oyc7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFzdCBNb2RpZmllZCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ1NlY29uZCBJbWFnZSc7CgojIE0KJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ01vZGlmaWVkIERhdGUnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBwcm9kdWN0cywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CgojIE4KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHRoZSByZXF1aXJlZCBwZXJtaXNzaW9uOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05ldyBDYXRlZ29yeSBOYW1lJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnJmd0Oyc7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSB3YXMgc3VwcGxpZWQnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdObyBuYW1lIHdhcyBzdXBwbGllZCc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CgojIE8KJGxhbmdbJ29mJ10gPSAnT2YnOwoKIyBQCiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnZSAlcyBvZiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnZSBMaW1pdCc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9IDw8PEVPVApTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4KPC91bD4KRU9UOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgc3BlY2lmaWVzIHRoZSBwYWdlaWQgb3IgYWxpYXMgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyB1c2Ugd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZC4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT1cJ3RydWNrcypcJ30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9XCcqdHJ1Y2tzXCd9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBwcm9kdWN0IHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuJzsKJGxhbmdbJ3BhcmFtX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIGlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIG5vbiAwIGludGVnZXIgdmFsdWUgYWxsIGNhdGVnb3JpZXMgKGV2ZW4gdGhvc2Ugd2l0aG91dCBwcm9kdWN0cykgd2lsbCBiZSBkaXNwbGF5ZWQuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPgogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPgo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPgogIDxsaT53ZWlnaHQgLS0gVGhlIHByb2R1Y3Qgd2VpZ2h0PC9saT4KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+CiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPgogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+CiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyZW50J10gPSAnUGFyZW50JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgUHJvZHVjdHMgbW9kdWxlIGhhcyBiZWVuIHJlbW92ZWQgYWxvbmcgd2l0aCBhbGwgYXNzb2NpYXRlZCBkYXRhJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZpbmcgdGhpcyBtb2R1bGUgd2lsbCBhbHNvIHJlbW92ZSBhbGwgYXNzb2NpYXRlZCBkYXRhLCBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHJvY2VlZD8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmljZSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnUHJpY2UgQWRqdXN0bWVudCc7CiRsYW5nWydwcmV2cGFnZSddID0gJyZsdDsnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1Y3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWN0IE5hbWUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWN0cyc7CiRsYW5nWydwcm9kdWN0X2RldGFpbF9zZXR0aW5ncyddID0gJ1Byb2R1Y3QgRGV0YWlsIFNldHRpbmdzJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVjdCBIaWVyYXJjaHknOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVjdCBNYW5hZ2VyJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3MnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnQWRkL0VkaXQgQXR0cmlidXRlIFNldCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgZmlsZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBpbWFnZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgaW1hZ2UgdHlwZSBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hdHRyaWJ0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGZvciBkaXNwbGF5IG9mIHByb2R1Y3QgYXR0cmlidXRlIHZhbHVlcyBpbiBkcm9wZG93bic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHRodW1ibmFpbHMgb2YgaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgdGh1bWJuYWlsLic7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWcnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcmV2aWV3IGltYWdlcyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgcHJldmlldyBpbWFnZS4nOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aWNhbGx5IHBsYWNlIHdhdGVybWFya3Mgb24gaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnRW5hYmxlIGJ5IGRlZmF1bHQgZm9yIGFsbCBuZXcgcHJvZHVjdHMnOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ0JhdGNoIFNpemUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydCBNb2R1bGUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDcmVhdGUgQ2F0ZWdvcmllcyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQ3JlYXRlIFByb2R1Y3QgRmllbGRzPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnQ3JlYXRlIFByb2R1Y3QgSGllcmFyY2h5JzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnVXBsb2FkIENTViBGaWxlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdDdXJyZW5jeSBDb2RlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ0N1cnJlbmN5IFN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgcHJvZHVjdHMgaGF2ZSB0aGlzIHN0YXR1cyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnQnkgZGVmYXVsdCBhbGwgbmV3IHByb2R1Y3RzIGFyZSB0YXhhYmxlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdEZWxldGUgYW55IGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdCB3aGVuIHRoZSBwcm9kdWN0IGlzIGRlbGV0ZWQ/JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdGaWVsZCBEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEZWZhdWx0IERldGFpbCBQYWdlJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0hvdyB0byBoYW5kbGUgZHVwbGljYXRlIHByb2R1Y3RzPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFuZGxlIGltYWdlcz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0ltYWdlIFBhdGgnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJ10gPSAnV2hhdCBhY3Rpb24gc2hvdWxkIGJlIHRha2VuIHdoZW4gYSBwcm9kdWN0IGNhbm5vdCBiZSBkaXNwbGF5ZWQ/JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdHZW5lcmF0ZSBhIDQwNCBlcnJvcic7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfMzAxJ10gPSAnR2VuZXJhdGUgYSAzMDEgcmVkaXJlY3QnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnRGlzcGxheSBhbiBlcnJvciBtZXNzYWdlJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdFcnJvciBtZXNzYWdlIGZvciB3aGVuIGEgcHJvZHVjdCBjYW5ub3QgYmUgZm91bmQnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdQYWdlIHRvIGRvIHBlcm1hbmVudCByZWRpcmVjdCB0bz8nOwokbGFuZ1sncHJvbXB0X3Byb2RfZGV0YWlscGFnZSddID0gJ0RlZmF1bHQgUGFnZSBmb3IgUHJvZHVjdCBEZXRhaWwgVmlld3MnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdEZWZhdWx0IFNvcnQgT3JkZXIgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ0RlZmF1bHQgU29ydCBGaWVsZCBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgU291cmNlJzsKJGxhbmdbJ3Byb21wdF91cmxwcmVmaXgnXSA9ICdQcmVmaXggdG8gdXNlIG9uIGFsbCBVUkxTIHRhcmdldGVkIHRvIHRoaXMgdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnXSA9ICdVc2UgdGhpcyBwYWdlIGZvciBzZWFyY2ggcmVzdWx0cyB0b28gPGVtPihvdmVycmlkZXMgdGhlIHNlYXJjaHJlc3VsdHMgcGFnZSBwYXJhbWV0ZXIgaW4gdGhlIHNlYXJjaCBtb2R1bGUpPC9lbT4nOwokbGFuZ1sncHJvbXB0X3VzZWhpZXJwYXRodXJscyddID0gJ1VzZSBIaWVyYXJjaHkgUGF0aCBpbiBQcm9kdWN0IERldGFpbCBVUkxTJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ1dlaWdodCBVbml0cyc7CiRsYW5nWydwdWJsaWMnXSA9ICdJcyB0aGlzIGEgcHVibGljIGZpZWxkPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaXNoZWQnOwoKIyBRCgojIFIKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Jlc2V0IHRvIEZhY3RvcnkgVmFsdWVzJzsKJGxhbmdbJ3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnUmV0dXJuIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXcnOwokbGFuZ1sncm9vdCddID0gJ1Jvb3QnOwoKIyBTCiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydza3UnXSA9ICdTS1UnOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnQgT3JkZXInOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBBIFN1bW1hcnkgVGVtcGxhdGUnOwoKIyBUCiRsYW5nWyd0YXhhYmxlJ10gPSAnVGF4YWJsZSc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBJbnB1dCc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBIaWVyYXJjaHkgUmVwb3J0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBDYXRlZ29yeUxpc3QgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwoKIyBVCiRsYW5nWyd1cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1sndXBsb2FkJ10gPSAnU2VsZWN0IGEgZmlsZSB0byB1cGxvYWQnOwokbGFuZ1sndXJsX2FsaWFzJ10gPSAnVVJMIEFsaWFzJzsKCiMgVgokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZhbHVlcyc7CgojIFcKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1dhdGVybWFyayBMb2NhdGlvbic7CiRsYW5nWyd3ZWlnaHQnXSA9ICdXZWlnaHQnOwoKIyBYCgojIFkKJGxhbmdbJ3llcyddID0gJ1llcyc7CgojIFoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1DFmWlkYXQnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdQxZlpZGF0IGthdGVnb3JpaSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ1DFmWlkYXQgcG9sZSc7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnUMWZaWRhdCBwcm9kdWt0JzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnUMWZaWRhdCB2bGFzdG5vc3QnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWRkIEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdQxZlpZGF0IGhvZG5vdHUgdmxhc3Rub3N0aSc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnTSZhYWN1dGU7IHR1dG8gdmxhc3Rub3N0IHZpZMSbdCBwb3V6ZSBzcHImYWFjdXRlO3ZjZT8nOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1Ymc2Nhcm9uO2VjaG55IGthdGVnb3JpZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnSnN0ZSBzaSBqaXN0aT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBwcm9kdWN0LCBhbmQgYWxsIG9mIHRoZSBhY2NvbXBhbnlpbmcgaW5mb3JtYXRpb24gZm9yIGl0Pyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdWemVzdHVwbmUnOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICdOJmFhY3V0ZTt6ZXYgdmxhc3Rub3N0aSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGVzJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEhpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGUnOwokbGFuZ1snY2FuY2VsJ10gPSAnWnJ1JnNjYXJvbjtpdCc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnS2F0ZWdvcmllIHMgdCZpYWN1dGU7bXRvIG4mYWFjdXRlO3p2ZW0gdcW+IGV4aXN0dWplJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuMCAtIERlY2VtYmVyLCAyMDA3DQogICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4wLjEgLSBKYW51YXJ5LCAyMDA4DQogICA8dWw+DQogICAgIDxsaT5BZGRzIHBhZ2luYXRpb24gaW4gc3VtbWFyeSB2aWV3PC9saT4NCiAgICAgPGxpPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGR1cGxpY2F0ZSBsaW5rcyBpbiBzdW1tYXJ5IHZpZXc8L2xpPg0KICAgPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAgLSBBcHJpbCwgMjAwOA0KICA8dWw+DQogICAgIDxsaT5BZGRzIGhpZXJhcmNoaWNhbCBjYXRlZ29yaWVzIGFzIHdlbGwgYXMgdGhlIG9yaWdpbmFsICYjMDM5O3RhZyYjMDM5OyBiYXNlZCBjYXRlZ29yaWVzLjxici8+DQogICAgICAgICBIaWVyYXJjaGljYWwgY2F0ZWdvcmllcyBjYW4gaGF2ZSBhbiBpbWFnZSBhcyB3ZWxsIGFzIGEgZGVzY3JpcHRpb24uPC9saT4NCiAgICAgPGxpPkFkZHMgbW9yZSBjdXN0b20gZmllbGQgdHlwZXMgKGltYWdlLCBkcm9wZG93bik8YnIvPg0KICAgICAgICAgSW5jbHVkaW5nIHRodW1ibmFpbCBnZW5lcmF0aW9uLjwvbGk+DQogICAgIDxsaT5SZW1vdmUgdGhlIG9yaWdpbmFsIGltYWdlIGZpZWxkczwvbGk+DQogICAgIDxsaT5BZGRzIFNlYXJjaCBtb2R1bGUgY2FwYWJpbGl0eTwvbGk+DQogICAgIDxsaT5BZGRzIGEgaGllcmFyY2hpY2FsIGNhdGVnb3J5IHZpZXcgd2l0aCBkcmlsbCBkb3duIHN1cHBvcnQ8L2xpPg0KICAgICA8bGk+TXVjaCwgbXVjaCBtb3JlPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIEFwcmlsLCAyMDA4DQogIDx1bD4NCiAgICAgPGxpPkZpeGVzIG51bWVyb3VzIHNtYWxsIGVycm9ycy48L2xpPg0KICAgICA8bGk+Rml4IHRvIGFsbG93IHNwYWNlcyBhbmQgb3RoZXIgY2hhcmFjdGVycyBpbiBoaWVyYXJjaHkgbmFtZXM8L2xpPg0KICA8L3VsPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbm9kZT8gIEFueSBwcm9kdWN0cyB0aGF0IGFyZSB1c2luZyB0aGlzIG5vZGUgd2lsbCBiZSBzZXQgdG8gbm8gaGllcmFyY2h5JzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRGF0dW0gdnl0dm/FmWVuJmlhY3V0ZTsnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ0FrdHUmYWFjdXRlO2xuJmlhY3V0ZTsgZGF0dW0nOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyAmc2Nhcm9uO2FibG9uYSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGNvbnRlbnRzIG9mIHRoZXNlIHRleHQgYXJlYXMgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGNvbnRlbnQgb2YgdGVtcGxhdGVzIHdoZW4geW91IGNsaWNrICZxdW90O0FkZCBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLiAgRWRpdGluZyBvbmUgb2YgdGhlc2UgdGV4dCBhcmVhcyB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiB5b3VyIHdlYnNpdGUuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1Z5bWF6YXQnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ1pydSZzY2Fyb247aXQgdmxhc3Rub3N0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ0RlbGV0ZSBIaWVyYXJjaHkgSXRlbSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnU2VzdHVwbsSbJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnUG9waXMnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHknOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmxvbmEgZGV0YWlsdSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUMWZaWRhdC9VcHJhdml0ICZzY2Fyb247YWJsb251IGRldGFpbHUnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdOZWFrdGl2biZpYWN1dGU7JzsKJGxhbmdbJ2RyYWZ0J10gPSAnTiZhYWN1dGU7dnJoJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzIEZvcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdFZGl0IEF0dHJpYnV0ZXMnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0VkaXQgSGllcmFyY2h5IEl0ZW0nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0FuIGF0dHJpYnV0ZSB3aXRoIHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0JiMwMzk7cyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdUaGUgY3VzdG9tIGZpZWxkIHZhbHVlIGVudGVyZWQgaXMgaW52YWxpZCAoY29udGFpbnMgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ1Byb2R1a3QgcyB0JmlhY3V0ZTttdG8gbiZhYWN1dGU7enZlbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0ludmFsaWQgcHJpY2UgYWRqdXN0bWVudCB2YWx1ZSBmb3IgaXRlbSAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIGZhaWxlZDogJXMnOwokbGFuZ1snZmllbGQnXSA9ICdQb2xlJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRGVmaW5pY2UgcG9sZSc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEZWZpbmljZSBwb2wmaWFjdXRlOyc7CiRsYW5nWydmaWxlJ10gPSAnU291Ym9yJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cnknOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB3YXkgdG8gY29sbGVjdCwgb3JnYW5pemUsIGFuZCBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHByb2R1Y3RzIGFuZCB0aGVpciBjYXRlZ29yaWVzLiAgVGhpcyBtb2R1bGUgY2FuIHN0YW5kIG9uIGl0cyBvd24sIG9yIGJlIHBhcnQgb2YgYW4gZS1jb21tZXJjZSBzb2x1dGlvbiBpZiB5b3Ugd2lzaC4gIFRoZSBtb2R1bGUgc3VwcG9ydHMgYSBwcm9kdWN0IGV4aXN0aW5nIGluIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnksIHN1cHBvcnRzIHByb2R1Y3Qgd2VpZ2h0LCBwcmljZSwgYW5kIGF0dHJpYnV0ZSBzZXRzLiAgRWFjaCBpdGVtIGluIGFuIGF0dHJpYnV0ZSBzZXQgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50LiAgQWxzbyBhIGdsb2JhbCBmbGFnIGluZGljYXRlcyB3ZXRoZXIgdGhlIHByb2R1Y3QgaXMgJiMwMzk7dGF4YWJsZSYjMDM5OyBvciBub3QuPC9wPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBmb3IgdXAgdG8gdHdvIGltYWdlcyBwZXIgcHJvZHVjdCwgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zLCBhbmQgZm9yIHRoZSBhYmlsaXR5IHRvIGRlc2NyaW1pbmF0ZSBwcml2YXRlIGZyb20gcHVibGljIGRhdGEuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5OdW1lcm91cyBWaWV3czwvbGk+DQogICAgPHVsPg0KICAgICAgPGxpPlN1bW1hcnkgdmlldzwvbGk+DQogICAgICA8bGk+Q2F0ZWdvcnkgTGlzdCBWaWV3PC9saT4NCiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IA0KICAgICAgPGxpPkhpZXJhcmNoeSBEcmlsbC1kb3duIFZpZXc8L2xpPg0KICAgIDwvdWw+DQogIDxsaT5FbnRpcmVseSBEYXRhYmFzZSBUZW1wbGF0ZSBEcml2ZW48L2xpPg0KICA8cD5OdW1lcm91cyB0ZW1wbGF0ZXMgb2YgZWFjaCB0eXBlIGNhbiBiZSBkZWZpbmVkLCBkZWZhdWx0cyBzcGVjaWZpZWQgZm9yIGVhY2ggdHlwZSwgYW5kIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciBlYWNoIHBhcnRpY3VsYXIgdmlldyBjYW4gYmUgc3BlY2lmaWVkIGFzIGEgcGFyYW1ldGVyPC9wPg0KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBleGlzdCBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPk51bWVyb3VzIGN1c3RvbSBmaWVsZHMgY2FuIGJlIGRlZmluZWQsIGluY2x1ZGluZyBpbWFnZXM8L2xpPg0KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+DQogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+DQogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+DQogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPg0KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4NCiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8dWw+DQo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4NCjxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4NCjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPg0KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgJiMwMzk7TW9kaWZ5IFRlbXBsYXRlcyYjMDM5OyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICYjMDM5O01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJiMwMzk7IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gYWRqdXN0IHRoZSBtb2R1bGVzIHByZWZlcmVuY2VzLiAgSW4gb3JkZXIgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgZmllbGQgZGVmaW5pdGlvbnMsIGNhdGVnb3JpZXMsIG9yIHByb2R1Y3RzLCB5b3VyIHVzZXJzIHdpbGwgbmVlZCB0aGUgJiMwMzk7TW9kaWZ5IFByb2R1Y3RzJiMwMzk7IHBlcm1pc3Npb24uPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlICYjMDM5O0NhdGVnb3JpZXMmIzAzOTsgdGFiIGluIHRoZSBQcm9kdWN0IE1hbmFnZXJzIGFkbWluIHNlY3Rpb24sIGFuZCBjbGlja2luZyAmIzAzOTtBZGQgQSBDYXRlZ29yeSYjMDM5Oy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAuICBDdXN0b20gZmllbGRzIGFyZSBub3QgbmVlZGVkIGlmIHRoaXMgbW9kdWxlIHN1aXRzIHlvdSBleGFjdGx5IGFzIGl0IGlzLiAgSG93ZXZlciBpZiB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBlYWNoIG9mIHlvdXIgcHJvZHVjdHMgeW91IGNhbiBjcmVhdGUgY3VzdG9tIGZpZWxkcy4gIENyZWF0aW5nIGN1c3RvbSBmaWVsZHMgaXMgc2ltaWxhciB0byBjcmVhdGluZyBjYXRlZ29yaWVzLCBleGNlcHQgdGhhdCBtb3JlIGRhdGEgaXMgcmVxdWVzdGVkLjwvcD4NCjxwPkN1cnJlbnRseSBvbmx5IHRocmVlIHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZTogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEsIGRyb3Bkb3duLCBhbmQgZmlsZSYjMDM5Oy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4NCjxsaT5DcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHM8L2xpPg0KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBzcGVjaWZ5IGlmIHRoZSBwcm9kdWN0IGlzIHRheGFibGUsIGFuZCBpdCYjMDM5O3Mgd2VpZ2h0LjwvcD4NCjxwPklmIGNhdGVnb3JpZXMgYXJlIGRlZmluZWQsIHRoZW4gYSBjaGVja2JveCB3aWxsIGFwcGVhciBmb3IgZWFjaCBkZWZpbmVkIGNhdGVnb3J5LiAgWW91IGNhbiBzaW1wbHkgY2xpY2sgdGhlIGNoZWNrYm94IGZpZWxkcyBmb3IgZWFjaCBjYXRlZ29yeSB0aGF0IHRoaXMgcHJvZHVjdCBzaG91bGQgYmVsb25nIHRvLjwvcD4NCjxwPklmIGN1c3RvbSBmaWVsZHMgYXJlIGRlZmluZWQsIHRoZW4gaW5wdXQgZmllbGRzIGFwcHJvcHJpYXRlIHRvIHRoZSB0eXBlIG9mIGN1c3RvbSBmaWVsZCB3aWxsIGFwcGVhciBhbmQgYWxsb3cgeW91IHRvIHNwZWNpZnkgZGF0YSBmb3IgZWFjaCBvZiB0aGVtLiAgVGhpcyBkYXRhIGlzIG9wdGlvbmFsLjwvcD4NCjxsaT5BZGQgdGhlIGFwcHJvcHJpYXRlIHRhZ3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGVzIG9yIHBhZ2UgY29udGVudDwvbGk+DQo8cD5UaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnIGludG8gdGhlIGNvbnRlbnQgYXJlYSBvZiBvbmUgb2YgeW91ciBwYWdlcywgb3IgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9wPg0KPHA+SWYgeW91IHdpc2ggdG8gYWx0ZXIgdGhlIGJlaGF2aW91ciBvZiB0aGlzIGFwcGxpY2F0aW9uIGZyb20gaXRzIGRlZmF1bHQsIHlvdSBjYW4gZG8gdGhhdCBieSBhZGRpbmcgb25lIG9yIG1vcmUgcGFyYW1ldGVycyB0byB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZy4gIFRoZSBjb21wbGV0ZSBsaXN0IG9mIHBhcmFtZXRlcnMgYW5kIHRoZWlyIGJlaGF2aW91ciBpcyBsaXN0ZWQgYmVsb3cuICBCdXQgZm9yIGV4YW1wbGUsIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3RzIGluIGEgc2luZ2xlLCBleGlzdGluZyBjYXRlZ29yeSwgeW91IGNvdWxkIHVzZSBhIHRhZyBsaWtlIDxjb2RlPntQcm9kdWN0cyBjYXRlZ29yeT0mIzAzOTtjYXRlZ29yeW5hbWUmIzAzOTt9PC9jb2RlPjwvcD4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gIEhvd2V2ZXIgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkRldmVsb3BlcnMgRm9yZ2U8L2E+IGFuZCBkbyBhIHNlYXJjaCBmb3IgJiMwMzk7UHJvZHVjdHMmIzAzOTs8L2xpPg0KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5Sb2JlcnQgQ2FtcGJlbGw8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+DQo8bGk+Rm9yIHNvbWUgcXVlc3Rpb25zIGFuZCBsaW1pdGVkIHRlY2huaWNhbCBzdXBwb3J0LCB0aGUgYXV0aG9yIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2h5JzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmNoeSBQb3NpdGlvbic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ09iciZhYWN1dGU7emVrJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdWRlIENoaWxkcmVuPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ09ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuIE5vIHdoaXRlc3BhY2UsIHF1b3Rlcywgb3Igbm9uIGxldHRlci9udW1iZXIgY29tYmluYXRpb25zJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW1zIHdlcmUgZW5jb3VudGVyZWQgd2hlbiBkZWFsaW5nIHdpdGggb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcy4gIFRoZSBhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIGhvd2V2ZXIgeW91IHNob3VsZCBpbnZlc3RpZ2F0ZSBhbmQgY29ycmVjdCB0aGVzZSBwcm9ibGVtcyc7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWYWxpZCB2YWx1ZXMgYXJlICstKiMuIyMnOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ1B1YmxpYyBmaWVsZHMgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHB1YmxpYyB0byBzZWUnOwokbGFuZ1snbGFiZWwnXSA9ICdQb3Bpcyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdQb3NsZWRuJmlhY3V0ZTsgem3Em25hJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnRHJ1aCZ5YWN1dGU7IG9iciZhYWN1dGU7emVrJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ1ptxJtuxJtubyBkbmUnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBwcm9kdWN0cywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CiRsYW5nWyduYW1lJ10gPSAnTiZhYWN1dGU7emV2JzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnTmVtJmFhY3V0ZTt0ZSBwb8W+YWRvdmFuJmVhY3V0ZTsgb3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7OiAlcyc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdObyBuYW1lIHdhcyBzdXBwbGllZCc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydvZiddID0gJ3onOwokbGFuZ1sncGFnZSddID0gJ1N0ciZhYWN1dGU7bmthJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHImYWFjdXRlO25rYSAlcyB6ICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQYWdlIExpbWl0JzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIGNvbXBhbmllcyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBwcm9kdWN0IHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IGluIHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0IGNvbXBhbmllcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ1BhcmVudCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiByZW1vdmVkIGFsb25nIHdpdGggYWxsIGFzc29jaWF0ZWQgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIHdpbGwgYWxzbyByZW1vdmUgYWxsIGFzc29jaWF0ZWQgZGF0YSwgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnQ2VuYSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnTmFzdGF2ZW4maWFjdXRlOyBjZW55JzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVrdCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ04mYWFjdXRlO3pldiBwcm9kdWt0dSc7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3R5JzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVjdCBIaWVyYXJjaHknOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVjdCBNYW5hZ2VyJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgZmlsZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBpbWFnZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgaW1hZ2UgdHlwZSBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgdGh1bWJuYWlscyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdFbmFibGUgYnkgZGVmYXVsdCBmb3IgYWxsIG5ldyBwcm9kdWN0cyc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdTeW1ib2wgbcSbbnknOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0RlbGV0ZSBhbnkgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9kdWN0IHdoZW4gdGhlIHByb2R1Y3QgaXMgZGVsZXRlZD8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEZWZhdWx0IERldGFpbCBQYWdlJzsKJGxhbmdbJ3Byb21wdF90YXhyYXRlJ10gPSAnViZ5YWN1dGU7JnNjYXJvbjtlIGRhbsSbJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnRGVmYXVsdCBTb3J0IE9yZGVyIGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdEZWZhdWx0IFNvcnQgRmllbGQgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF90YXgxJ10gPSAnUHJ2biZpYWN1dGU7IGRhxYgnOwokbGFuZ1sncHJvbXB0X3RheDInXSA9ICdEcnVoJmFhY3V0ZTsgZGHFiCc7CiRsYW5nWydwcm9tcHRfdGF4bmFtZSddID0gJ04mYWFjdXRlO3pldiBkYW7Emyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBTb3VyY2UnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnSmVkbm90a2EgdiZhYWN1dGU7aHknOwokbGFuZ1sncHVibGljJ10gPSAnSXMgdGhpcyBhIHB1YmxpYyBmaWVsZD8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnWnZlxZllam7Em25vJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Jlc2V0IHRvIEZhY3RvcnkgVmFsdWVzJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb290JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICfFmGF6ZW5vIHBvZGxlJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0IE9yZGVyJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsb25hIHDFmWVobGVkdSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnWmRhbml0ZWxuJmVhY3V0ZTsnOwokbGFuZ1sndGF4X21vZHVsZSddID0gJ1RheCBNb2R1bGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdOb3YmYWFjdXRlOyB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgJnNjYXJvbjthYmxvbmEgZGV0YWlsdSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ05vdiZhYWN1dGU7IHYmeWFjdXRlO2Nob3omaWFjdXRlOyAmc2Nhcm9uO2FibG9uYSBwxZllaGxlZHUnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdBa3R1YWxpem92YXQnOwokbGFuZ1sndXBsb2FkJ10gPSAnVnliZXJ0ZSBzb3Vib3IgayBuYWhyJmFhY3V0ZTtuJmlhY3V0ZTsnOwokbGFuZ1sndmFsdWUnXSA9ICdIb2Rub3RhJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ0hvZG5vdHknOwokbGFuZ1snd2VpZ2h0J10gPSAnViZhYWN1dGU7aGEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xODEyNDQ2OTI3LjEyMDEyNTAyMzAuMTIxMDkzMDYwOC4xMjEwOTM2NzE0LjI5JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIxMDUzOTQwNS4yNS4xOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZWxla3Ryb2tvbXBsZXguY29tfHV0bWNjdD0vY21zL2FkbWluL2FkZGNvbnRlbnQucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1RpbGYmb3NsYXNoO2onOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdUaWxmJm9zbGFzaDtqIGVuIGthdGVnb3JpJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnVGlsZiZvc2xhc2g7aiBldCBmZWx0JzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdUaWxmJm9zbGFzaDtqIGV0IHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdUaWxmJm9zbGFzaDtqIGVuIGVnZW5za2FiJzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0Ymb3NsYXNoO2ogZXQgZWxlbWVudCB0aWwgaGllcmFya2lldCc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnRiZvc2xhc2g7aiBlbiB2YWxnbXVsaWdoZWQgdGlsIGVuIGVnZW5za2FiJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdFciBkZXQga3VuIGFkbWluaXN0cmF0b3Jlciwgc29tIG0mYXJpbmc7IHNlIGRlbm5lIGVnZW5za2FiPyc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsZSBrYXRlZ29yaWVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdFciBkdSBzaWtrZXI/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0VyIGR1IGhlbHQgc2lra2VyIHAmYXJpbmc7LCBhdCBkdSB2aWwgc2xldHRlIGRldHRlIHByb2R1a3Qgc2FtdCBhbGxlIGRlIGluZm9ybWF0aW9uZXIsIHNvbSBlciBrbnl0dGV0IHRpbCBkZXQ/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1N0aWdlbmRlIG9yZGVuJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnRWdlbnNrYWJlbnMgbmF2bic7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ1NrYWJlbG9uIHRpbCBoaWVyYXJraS1yYXBwb3J0JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1RpbGYmb3NsYXNoO2ovcmV0IHNrYWJlbG9uIHRpbCBoaWVyYXJraS1yYXBwb3J0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0ZvcnRyeWQnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZXInOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29yaSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0RlciBmaW5kZXMgYWxsZXJlZGUgZW4ga2F0ZWdvcmkgbWVkIGRldCBuYXZuJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0thdGVnb3JpbGlzdGUtc2thYmVsb25lcic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnVGlsZiZvc2xhc2g7ai9yZXQga2F0ZWdvcmlsaXN0ZS1za2FiZWxvbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjAgLSBEZWNlbWJlciwgMjAwNw0KICAgPHA+RiZvc2xhc2g7cnN0ZSB1ZGdpdmVsc2U8L3A+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4wLjEgLSBKYW51YXIsIDIwMDgNCiAgIDx1bD4NCiAgICAgPGxpPlBhZ2luZXJpbmcgdGlsZiZvc2xhc2g7amV0IGkgcmVzdW0mZWFjdXRlOy12aXNuaW5nPC9saT4NCiAgICAgPGxpPlByb2JsZW0gbWVkIGRvYmJlbHQtbGlua3MgaSByZXN1bSZlYWN1dGU7LXZpc25pbmcgcmV0dGV0PC9saT4NCiAgIDwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4wIC0gQXByaWwsIDIwMDgNCiAgPHVsPg0KICAgICA8bGk+SGllcmFya2lzayBpbmRkZWxpbmcgYWYga2F0ZWdvcmllciB0aWxmJm9zbGFzaDtqZXQuIERldCBzYW1tZSBnJmFlbGlnO2xkZXIgZGUgb3ByaW5kZWxpZ2UgJiMwMzk7dGFnJiMwMzk7LWJhc2VyZWRlIGthdGVnb3JpZXIuPGJyLz4NCiAgICAgICAgIEhpZXJhcmtpc2tlIGthdGVnb3JpZXIga2FuIGhhdmUgZXQgYmlsbGVkZSBzJmFyaW5nOyB2ZWwgc29tIGVuIGJlc2tyaXZlbHNlLjwvbGk+DQogICAgIDxsaT5GbGVyZSBicnVnZXJiZXN0ZW10ZSBmZWx0dHlwZXIgdGlsZiZvc2xhc2g7amV0IChiaWxsZWRlLCB2YWxnYm9rcyk8YnIvPg0KICAgICAgICAgSW5rbHVzaXYgZ2VuZXJlcmluZyBhZiB0aHVtYm5haWwgKGxpbGxlIHVkZ2F2ZSBhZiBiaWxsZWRlKS48L2xpPg0KICAgICA8bGk+RGUgb3ByaW5kZWxpZ2UgYmlsbGVkZmVsdGVyIGVyIGJsZXZldCBmamVybmV0PC9saT4NCiAgICAgPGxpPlRpbGYmb3NsYXNoO2plbHNlIGFmIHMmb3NsYXNoO2dlLW1vZHVsIGZ1bmt0aW9uYWxpdGV0PC9saT4NCiAgICAgPGxpPlRpbGYmb3NsYXNoO2plbHNlIGFmIGhpZXJhcmtpc2sgdmlzbmluZyBhZiBrYXRlZ29yaWVyIG1lZCB1bmRlcnN0Jm9zbGFzaDt0dGVsc2UgYWYgdW5kZXJwdW5rdGVyPC9saT4NCiAgICAgPGxpPk1lZ2V0LCBtZWdldCBtZXJlPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIEFwcmlsLCAyMDA4DQogIDx1bD4NCiAgICAgPGxpPk1hbmdlIHNtJmFyaW5nO2ZlamwgcmV0dGV0LjwvbGk+DQogICAgIDxsaT5NZWxsZW1ydW0gb2cgYW5kcmUgdGVnbiBlciBudSB0aWxsYWR0ZSBpIGhpZXJhcmtpLW5hdm5lbmUuPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMiAtIEF1Z3VzdCwgMjAwOA0KICA8dWw+DQogICAgIDxsaT5SZXR0ZWxzZSBhZiBmZWpsPC9saT4NCiAgICAgPGxpPkNHRXh0ZW5zaW9ucyAxLjkgbnUgcCZhcmluZztrciZhZWxpZzt2ZXQ8L2xpPg0KICAgICA8bGk+VGlsZiZvc2xhc2g7amUgdmFsZyBhZiBmb3JldHJ1a2tlbiB2YWx1dGFrb2RlPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydjaGVja2JveCddID0gJ1RqZWtib2tzJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7LCBhdCBkdSB2aWwgc2xldHRlIGRldHRlIHB1bmt0PyBQcm9kdWt0ZXIgc29tIGgmb3NsYXNoO3JlciBpbmQgdW5kZXIgZGV0dGUgcHVua3QgdmlsIGhlbHQgbWlzdGUgZGVyZXMgcGxhZHMgaSBoaWVyYXJraWV0JzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnT3ByZXR0ZWxzZXNkYXRvJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdOdXYmYWVsaWc7cmVuZGUgdiZhZWxpZztyZGknOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkc2thYmVsb25lcic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+QmVtJmFlbGlnO3JrOjwvc3Ryb25nPiBJbmRob2xkZXQgYWYgZGlzc2UgdGVrc3Rib2tzZSBicnVnZXMgdGlsIGF0IGJlc3RlbW1lIGRldCBpbmRob2xkIHNvbSB2aXNlcyBpIHNrYWJlbG9uZW4sIG4mYXJpbmc7ciBkdSBrbGlra2VyIHAmYXJpbmc7ICZxdW90O1RpbGYmb3NsYXNoO2ogc2thYmVsb24mcXVvdDsgaSBkZW4gZ2l2bmUgc2thYmVsb25mYW5lLiAgUmV0dGVsc2VyIGkgZW4gYWYgZGlzc2UgdGVrc3Rib2tzZSB2aWwgaWtrZSBoYXZlIG5vZ2VuIHVtaWRkZWxiYXIgYmV0eWRuaW5nIGZvciBkaW4gaGplbW1lc2lkZS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnU2xldCc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnU2xldCBlZ2Vuc2thYic7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdGamVybiBlbGVtZW50IGZyYSBoaWVyYXJraWV0JzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdGYWxkZW5kZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGplcic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhbGplLXNrYWJlbG9uJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdUaWxmJm9zbGFzaDtqL3JldCBlbiBkZXRhbGplLXNrYWJlbG9uJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnU2wmYXJpbmc7ZXQgZnJhJzsKJGxhbmdbJ2RyYWZ0J10gPSAnS2xhZGRlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnVmFsZ2Jva3MnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ1ZhbGdtdWxpZ2hlZGVyIDxlbT4oYW52ZW5kZXMga3VuIGkgdmFsZ2Jva3NlKTwvZW0+PGJyLz48YnIvPjxlbT4oZW4gdmFsZ211bGlnaGVkIHBlciBsaW5qZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnUmV0JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ1JldCBlZ2Vuc2thYnNzJmFlbGlnO3QnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ1JldCBlZ2Vuc2thYnNzJmFlbGlnO3QgZm9yJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ1JldCBlZ2Vuc2thYmVyJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdSZXQgZWxlbWVudCBpIGhpZXJhcmtpZXQnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0RlciBmaW5kZXMgYWxsZXJlZGUgZW4gZWdlbnNrYWIgbWVkIGRldCBuYXZuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdJbnZhbGlkIFBhcmVudCAoYSBoaWVyYXJjaHkgbm9kZSBjYW5ub3QgYmUgaXQmIzAzOTtzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ0RlbiBpbmR0YXN0ZWRlIHYmYWVsaWc7cmRpIGkgZGV0IGJydWdlcmRlZmluZXJlZGUgZmVsdCBlciB1Z3lsZGlnIChhbGxlIHRlZ24gc2thbCB2JmFlbGlnO3JlIGFsZmFudW1lcmlza2UpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VuIHAmYXJpbmc7a3ImYWVsaWc7dmV0IHBhcmFtZXRlciBtYW5nbGVyIGVsbGVyIGVyIHVneWxkaWcnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdWJmFlbGlnO2xnIHZlbmxpZ3N0IGVuIGZlbHR0eXBlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdEZXIgZmluZGVzIGFsbGVyZWRlIGV0IHByb2R1a3QgbWVkIGRldCBuYXZuJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWJmFlbGlnO3JkaWVuIHRpbCBqdXN0ZXJpbmcgYWYgcHJpc2VuIGZvciBlbGVtZW50ZXQgJXMgZXIgdWd5bGRpZyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIG1pc2x5a2tlZGVzOiAlcyc7CiRsYW5nWydmaWVsZCddID0gJ0ZlbHQnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGZWx0ZGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGZWx0ZGVmaW5pdGlvbmVyJzsKJGxhbmdbJ2ZpbGUnXSA9ICdGaWwnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmYW1wO2x0OyZhbXA7bHQ7JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+SHZhZCBnJm9zbGFzaDtyIGRldHRlIG1vZHVsPzwvaDM+DQo8cD5EZXR0ZSBtb2R1bCBnJm9zbGFzaDtyIGRldCBtdWxpZ3QgYXQgaW5kc2FtbGUsIG9yZ2FuaXNlcmUgb2cgdmlzZSBpbmZvcm1hdGlvbmVyIG9tIHByb2R1a3RlciBvZyBkZSBrYXRlZ29yaWVyLCBzb20gZGUgdGlsaCZvc2xhc2g7cmVyLiBNb2R1bGV0IGthbiBlbnRlbiBzdCZhcmluZzsgYWxlbmUgZWxsZXIgYnJ1Z2VzIGkgc2FtbWVuaCZhZWxpZztuZyBtZWQgZW4gd2Vic2hvcC1sJm9zbGFzaDtzbmluZywgaHZpcyBkdSAmb3NsYXNoO25za2VyIGRldC4gTWVkIGRldHRlIG1vZHVsIGthbiBldCBwcm9kdWt0IHRpbGgmb3NsYXNoO3JlIG1lcmUgZW5kIGVuIGthdGVnb3JpIG9nIGV0IHByb2R1a3RzIHYmYWVsaWc7Z3QsIHByaXMgb2cgYW5kcmUgZWdlbnNrYWJlciBrYW4gc3BlY2lmaWNlcmVzLiBBbGxlIGVsZW1lbnRlciBpIGV0IHMmYWVsaWc7dCBhZiBlZ2Vuc2thYmVyIGthbiB0aWxmJm9zbGFzaDtqZXMgZW4ganVzdGVyaW5nIGFmIHByaXNlbi4gRW5kdmlkZXJlIGJlc3RlbW1lciBldCBnbG9iYWx0IGZsYWcsIG9tIGRlciBza2FsIGwmYWVsaWc7Z2dlcyBza2F0dGVyL21vbXMvYWZnaWZ0ZXIgcCZhcmluZzsgZWxsZXIgZWouPC9wPg0KICA8cD5Nb2R1bGV0IGdpdmVyIG11bGlnaGVkIGZvciBhdCBrbnl0dGUgb3AgdGlsIHRvIGJpbGxlZGVyIHRpbCBodmVydCBwcm9kdWt0LCBkZXIga2FuIGRlZmluZXJlcyBicnVnZXJiZXN0ZW10ZSBmZWx0ZXIgb2cgcHJpdmF0ZSBkYXRhIGthbiBhZHNraWxsZXMgZnJhIG9mZmVudGxpZ2UgZGF0YS48L3A+DQo8aDM+UHJpbSZhZWxpZztyZSBrYXJha3RlcmlzdGlrYTo8L2gzPg0KPHVsPg0KICA8bGk+RmxlcmUgdmlzbmluZ3Nmb3JtZXI8L2xpPg0KICAgIDx1bD4NCiAgICAgIDxsaT5SZXN1bSZlYWN1dGU7dmlzbmluZzwvbGk+DQogICAgICA8bGk+VmlzbmluZyBhZiBrYXRlZ29yaWxpc3RlPC9saT4NCiAgICAgIDxsaT5WaXNuaW5nIGFmIGZ1bGRlIHByb2R1a3RiZXNrcml2ZWxzZXI8L2xpPiANCiAgICAgIDxsaT5IaWVyYXJraXNrIHZpc25pbmcgLSBpbmtsdXNpdiB2aXNuaW5nIGFmIGFsbGUgdW5kZXJwdW5rdGVyPC9saT4NCiAgICA8L3VsPg0KICA8bGk+QWx0aW5nIHN0eXJlcyBhZiBza2FiZWxvbmVyIGZyYSBkYXRhYmFzZW48L2xpPg0KICA8cD5EZXIga2FuIGRlZmluZXJlcyBsaWdlIHMmYXJpbmc7IG1hbmdlIHNrYWJlbG9uZXIgZm9yIGh2ZXIgdmlzbmluZ3N0eXBlIGRldCBza2FsIHYmYWVsaWc7cmUsIGRlciBrYW4gYmVzdGVtbWVzIGVuIHN0YW5kYXJkc2thYmVsb24gZm9yIGh2ZXIgdHlwZSBvZyBodmVyIGFmIHZpc25pbmdzdHlwZS1za2FiZWxvbmVybmUga2FuIGFudmVuZGVzIHNvbSBldCBwYXJhbWV0ZXI8L3A+DQogIDxsaT5Tb3J0ZXJpbmcgb2cgc2lkZWluZGRlbGluZyBpIHJlc3VtJmVhY3V0ZTt2aXNuaW5nPC9saT4NCiAgPGxpPlByb2R1a3RlciBrYW4gbGlnZ2UgaSBmbGVyZSBrYXRlZ29yaWVyIHNhbXRpZGlndDwvbGk+DQogIDxsaT5EZXIga2FuIGRlZmluZXJlcyBsaWdlIHMmYXJpbmc7IG1hbmdlIGJydWdlcmJlc3RlbXRlIGZlbHRlciBkZXQgc2thbCB2JmFlbGlnO3JlLCBpbmtsdXNpdiBiaWxsZWRlcjwvbGk+DQogIDxsaT5BdXRvbWF0aXNrIGRhbm5lbHNlIGFmIHNtJmFyaW5nOyBiaWxsZWRyZXByJmFlbGlnO3NlbnRhdGlvbmVyICh0aHVtYm5haWxzKTwvbGk+DQogIDxsaT5BZG1pbmlzdHJhdG9yIGthbiBkZWZpbmVyZSBmZWx0ZXI8L2xpPg0KICA8bGk+UHJvZHVrdGVnZW5za2FiZXIgKGlua2x1c2l2IGp1c3RlcmluZ2VyIGFmIHByaXMpPC9saT4NCiAgPGxpPkZlbHRlciBmb3IgdiZhZWxpZztndCBvZyBtb21zIChlbGxlciBhbmRyZSBhZmdpZnRlcikgdGlsIGJydWcgZm9yIHdlYnNob3AtbCZvc2xhc2g7c25pbmdlcjwvbGk+DQogIDxsaT5Qcm9kdWt0ZXIga2FuIHRpbGRlbGVzIGVuIHN0YXR1cyAob2ZmZW50bGlnZ2pvcnQgZWxsZXIga2xhZGRlKSBzJmFyaW5nO2xlZGVzIGF0IHByb2R1a3RlciB0aWwgZW52aGVyIHRpZCBrYW4gc2tqdWxlcyBmb3Igb2ZmZW50bGlnaGVkZW48L2xpPg0KICA8bGk+VW5kZXJzdCZvc2xhc2g7dHRlbHNlIGFmIHAmYWVsaWc7bmUgVVJMJiMwMzk7ZXI8L2xpPg0KICA8bGk+PHN0cm9uZz5PZyBtZXJlIHRpbC4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SHZvcmRhbiBicnVnZXIgamVnIGRldD88L2gzPg0KPHVsPg0KPGxpPk9wcyZhZWxpZzt0IGluZHN0aWxsaW5nZXI8L2xpPg0KPHA+Tm9ybWFsdCBlciBkZXR0ZSBibG90IGVuIGZvcm1hbGl0ZXQuIER1IGImb3NsYXNoO3Igc3BlY2lmaWNlcmUgZW4gc3RhbmRhcmRlbmhlZCBmb3IgdiZhZWxpZztndCBvZyBldCBzdGFuZGFyZHN5bWJvbCBmb3IgZGVuIGxva2FsZSB2YWx1dGEuPC9wPg0KPGxpPk9wcyZhZWxpZzt0bmluZyBhZiBicnVnZXJlIG9nIHRpbGxhZGVsc2VyPC9saT4NCjxwPkRldHRlIG1vZHVsIGJydWdlciB0aWxsYWRlbHNlbiAmIzAzOTtNb2RpZnkgVGVtcGxhdGVzJiMwMzk7LCBodmlsa2V0IGcmb3NsYXNoO3IgZGV0IG11bGlndCBmb3IgYnJ1Z2VybmUgYXQgdGlscmV0dGUgZGUgZm9yc2tlbGxpZ2Ugc2thYmVsb25lciwgc29tIGthbiBhbnZlbmRlcyBhZiBkZXR0ZSBtb2R1bC4gRGV0IGVyIGRlc3VkZW4gbiZvc2xhc2g7ZHZlbmRpZ3QgYXQgdGlsbGFkZWxzZW4gJiMwMzk7TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMmIzAzOTsgZXIgZ2l2ZXQsIHMmYXJpbmc7bGVkZXMgYXQgaW5kc3RpbGxpbmdlcm5lIGZvciBtb2R1bGV0IGthbiByZWRpZ2VyZXMuIFNrYWwgYnJ1Z2VybmUgb2dzJmFyaW5nOyBoYXZlIG11bGlnaGVkIGZvciBhdCByZXR0ZSBmZWx0ZGVmaW5pdGlvbmVyLCBrYXRlZ29yaWVyIG9nIHByb2R1a3RlciBlciBkZXQgZW5kdmlkZXJlIG4mb3NsYXNoO2R2ZW5kaWd0LCBhdCB0aWxsYWRlbHNlbiAmIzAzOTtNb2RpZnkgUHJvZHVjdHMmIzAzOTsgZXIgZ2l2ZXQuPC9wPg0KPGxpPih2YWxnZnJpKSBPcHJldCBlbiBlbGxlciBmbGVyZSBrYXRlZ29yaWVyPC9saT4NCjxwPlNlbHZvbSBkdSBpa2tlIGJlaCZvc2xhc2g7dmVyIGF0IG9wcmV0dGUga2F0ZWdvcmllciwgcyZhcmluZzsga2FuIGRldCBhbmJlZmFsZXMgYXQgZyZvc2xhc2g7cmUgZGV0IGYmb3NsYXNoO3JzdCBzb20gc2lkc3QsIHMmYXJpbmc7IGRldCBpa2tlIGJsaXZlciBuJm9zbGFzaDtkdmVuZGlndCBhdCBnJmFyaW5nOyB0aWxiYWdlIG9nIHJldHRlIGkgaHZlcnQgZW5rZWx0IHByb2R1a3QgcCZhcmluZzsgZXQgc2VuZXJlIHRpZHNwdW5rdC4gRGV0IGVyIGxpZ2UgcyZhcmluZzsgbGV0IGF0IG9wcmV0dGUgZW4ga2F0ZWdvcmkgc29tIGRldCBlciBhdCBrbGlra2UgcCZhcmluZzsgZmFuZW4gJiMwMzk7S2F0ZWdvcmllciYjMDM5OyBpIHByb2R1a3RoJmFyaW5nO25kdGVyaW5nZW5zIGFkbWluaXN0cmF0aW9uc2RlbC4gS2xpayBwJmFyaW5nOyAmIzAzOTtUaWxmJm9zbGFzaDtqIGVuIGthdGVnb3JpJiMwMzk7IG9nIGR1IHZpbCBibGl2ZSBiZWR0IG9tIGF0IGluZHRhc3RlIGV0IG5hdm4gcCZhcmluZzsga2F0ZWdvcmllbi48L3A+DQo8bGk+KHZhbGdmcmkpIE9wcmV0IGV0IGVsbGVyIGZsZXJlIGJydWdlcmRlZmluZXJlZGUgZmVsdGVyPC9saT4NCjxwPkRldHRlIGxlZCBpIG9wcyZhZWxpZzt0bmluZ2VuIGVyIHZhbGdmcml0LiBCcnVnZXJkZWZpbmVyZWRlIGZlbHRlciBlciBpa2tlIG4mb3NsYXNoO2R2ZW5kaWdlIHMmYXJpbmc7ZnJlbXQgZGV0dGUgbW9kdWwgLSBzb20gZGV0IGkgZm9ydmVqZW4gZXIgLSBwciZhZWxpZztjaXN0IHBhc3NlciB0aWwgZGluZSBiZWhvdi4gTWVuIGh2aXMgZHUgZ2VybmUgdmlsIGdlbW1lIHlkZXJsaWdlcmUgaW5mb3JtYXRpb25lciBvbSBodmVyIGFmIGRpbmUgcHJvZHVrdGVyLCBzJmFyaW5nOyBza2FsIGR1IG9wcmV0dGUgYnJ1Z2VyZGVmaW5lcmVkZSBmZWx0ZXIuIE9wcmV0dGVsc2UgYWYgYnJ1Z2VyZGVmaW5lcmVkZSBmZWx0ZXIgZm9yZWcmYXJpbmc7ciBwJmFyaW5nOyBzdG9ydCBzZXQgc2FtbWUgbSZhcmluZztkZSBzb20gb3ByZXR0ZWxzZSBhZiBrYXRlZ29yaWVyIC0gZG9nIHZpbCBkdSBibGl2ZSBiZWR0IG9tIGZsZXJlIG9wbHlzbmluZ2VyLjwvcD4NCjxwPkRlciBlciBwLnQuIG11bGlnaGVkIGZvciBhdCB2JmFlbGlnO2xnZSBtZWxsZW0gZGlzc2UgZmVsdHR5cGVyOiAmIzAzOTt0ZWtzdGZlbHQmIzAzOTssICYjMDM5O3RqZWtib2tzJiMwMzk7LCAmIzAzOTt0ZWtzdGJva3MmIzAzOTssICYjMDM5O3ZhbGdib2tzJiMwMzk7IG9nICYjMDM5O2ZpbCYjMDM5Oy4gViZhZWxpZztsZyBlbiBhZiBkaXNzZSwgbmF2bmdpdiBmZWx0ZXQgb2cgYW5naXYgb20gZGV0IHNrYWwgdiZhZWxpZztyZSB0aWxnJmFlbGlnO25nZWxpZ3QgZm9yIG9mZmVudGxpZ2hlZGVuIGkgZGUgZm9yc2tlbGxpZ2UgdmlzbmluZ3Nmb3JtZXIuIEtsaWsgZGVyZWZ0ZXIgcCZhcmluZzsgJnF1b3Q7SW5kc2VuZCZxdW90OzwvcD4NCjxsaT5PcHJldCBldCBlbGxlciBmbGVyZSBwcm9kdWt0ZXI8L2xpPg0KPHA+RHUgYiZvc2xhc2g7ciBvcHJldHRlIGV0IGVsbGVyIGZsZXJlIHByb2R1a3Rlciwgc29tIGthbiB2aXNlcyBwJmFyaW5nOyBkaW4gaGplbW1lc2lkZS4gIEdpdiBodmVydCBwcm9kdWt0IGV0IG5hdm4sIGVuIHByaXMgKHZhbGdmcml0KSBlbiB2JmFlbGlnO2d0ICh2YWxnZnJpdCksIGVuIHN0YXR1cyAoa2xhZGRlIGVsbGVyIG9mZmVudGxpZ2dqb3J0KSBzYW10IG5vZ2xlIGluZm9ybWF0aW9uZXIuIER1IGthbiBlbmR2aWRlcmUgYW5naXZlLCBvbSBkZXIgZXIgbGFndCBtb21zIHAmYXJpbmc7LjwvcD4NCjxwPkh2aXMgZGVyIGVyIG9wcmV0dGV0IGthdGVnb3JpZXIsIHMmYXJpbmc7IHZpbCBkZXIgdiZhZWxpZztyZSBlbiBhZmtyeWRzbmluZ3Nib2tzIGZvciBodmVyIGFmIGRlIGVrc2lzdGVyZW5kZSBrYXRlZ29yaWVyLiBEdSBza2FsIGJsb3QgcyZhZWxpZzt0dGUgZmx1ZWJlbiBpIGJva3NlbiB2ZWQgaHZlciBhZiBkZSBrYXRlZ29yaWVyLCBzb20gZGl0IHByb2R1a3Qgc2thbCB0aWxoJm9zbGFzaDtyZS48L3A+DQo8cD5IdmlzIGRlciBlciBvcHJldHRldCBicnVnZXJkZWZpbmVyZWRlIGZlbHRlciwgcyZhcmluZzsgdmlsIGRlciBvcHRyJmFlbGlnO2RlIGZvcnNrZWxsaWdlIGZvcm11bGFyZmVsdGVyIGFsdCBlZnRlciBodmlsa2VuIHR5cGUgYnJ1Z2VyZmVsdCwgZGVyIGVyIHRhbGUgb20sIGh2b3IgZHUga2FuIGFuZ2l2ZSBkYXRhIGZvciBodmVyIGFmIGRlbS4gIERhdGEgc29tIGRpc3NlIGVyIHZhbGdmcmllLjwvcD4NCjxsaT5JbmRzJmFlbGlnO3QgZGUgdGlsaCZvc2xhc2g7cmVuZGUgdGFncyBpIGVuIHNpZGVza2FiZWxvbiBlbGxlciBpIHNpZGVpbmRob2xkZXQuPC9saT4NCjxwPkRldCBrYW4gdiZhZWxpZztyZSwgZGVyIGlra2UgYmVoJm9zbGFzaDt2ZXMgYW5kZXQgZW5kIGJsb3QgYXQgaW5kcyZhZWxpZzt0dGUgdGFnJiMwMzk7ZXQgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IGkgZGVuIGJva3MsIGh2b3IgZHUgaW5kdGFzdGVyIGluZGhvbGRldCBhZiBlbnRlbiBlbiBzaWRlIGVsbGVyIGVuIHNpZGVza2FiZWxvbi48L3A+DQo8cD5IdmlzIGR1IHZpbCAmYWVsaWc7bmRyZSBwJmFyaW5nOyBhcHBsaWthdGlvbmVucyBzdGFuZGFyZGluZHN0aWxsaW5nZXIsIHNrYWwgZHUgYmxvdCBmJm9zbGFzaDtqZSBldCBlbGxlciBmbGVyZSBwYXJhbWV0cmUgdGlsIHRhZyYjMDM5O2V0IDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPi4gRGVuIGZ1bGRlIGxpc3RlIG92ZXIgcGFyYW1ldHJlIHNhbXQgZWZmZWt0ZW4gYWYgZGVtIGZpbmRlcyBuZWRlbmZvci4gTWVuIGh2aXMgZHUgZi5la3MuICZvc2xhc2g7bnNrZXIgYXQgZiZhcmluZzsgdmlzdCBlbiBsaXN0ZSBvdmVyIHByb2R1a3RlciBpIGVuIGVua2VsdCBla3Npc3RlcmVuZGUga2F0ZWdvcmksIGthbiBkdSBhbnZlbmRlIGV0IHRhZyBzJmFyaW5nO3NvbSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7a2F0ZWdvcmluYXZuJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPkhqJmFlbGlnO2xwIG9nIHZlamxlZG5pbmc8L2gzPg0KPHA+RGVyIHlkZXMgaWtrZSBrb21tZXJjaWVsIGhqJmFlbGlnO2xwIG9nIHZlamxlZG5pbmcgdGlsIGRldHRlIG1vZHVsLiBEb2cgZmluZGVzIGRlciBlbiByJmFlbGlnO2trZSByZXNzb3VyY2VyLCBzb20gc3QmYXJpbmc7ciB0aWwgciZhcmluZztkaWdoZWQgbWVkIGhqJmFlbGlnO2xwLjwvcD4NCjx1bD4NCjxsaT5Gb3Igbnllc3RlIHZlcnNpb24gYWYgZGV0dGUgbW9kdWwsIG9mdGUgc3RpbGxlZGUgc3Amb3NsYXNoO3Jnc20mYXJpbmc7bCBvZyByYXBwb3J0ZXJpbmcgYWYgZmVqbCBiZWRlcyBkdSBiZXMmb3NsYXNoO2dlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBvZyBmb3JldGFnZSBlbiBzJm9zbGFzaDtnbmluZyBwJmFyaW5nOyAmIzAzOTtQcm9kdWN0cyYjMDM5OzwvbGk+DQo8bGk+Jk9zbGFzaDtuc2tlciBkdSBrb21tZXJjaWVsIGhqJmFlbGlnO2xwIG9nIHZlamxlZG5pbmcsIGJlZGVzIGR1IGtvbnRha3RlIHVkdmlrbGVyZW4gcCZhcmluZzsgZW1haWwgYWRyZXNzZW4gPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4NCjxsaT5ZZGVybGlnZXJlIGRyJm9zbGFzaDtmdGVsc2VyIHZlZHImb3NsYXNoO3JlbmRlIGRldHRlIG1vZHVsIGZvcmVmaW5kZXMgaSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZXMgZm9yYS48L2E+PC9saT4NCjxsaT5EcmVqZXIgZGV0IHNpZyBvbSBlbmtlbHRlIHNwJm9zbGFzaDtyZ3NtJmFyaW5nO2wgZWxsZXIgYmVnciZhZWxpZztuc2V0IHRla25pc2sgaGomYWVsaWc7bHAsIHMmYXJpbmc7IGVyIHVkdmlrbGVyZW4gaSByZWdsZW4gYXQgZmluZGUgcCZhcmluZzsgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJraSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdIaWVyYXJraS1wbGFjZXJpbmcnOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdCaWxsZWRlJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdTa2FsIHVuZGVycHVua3RlciBpbmtsdWRlcmVzPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ0t1biBhbHBoYW51bW1lcmlza2UgdGVnbi4gSW5nZW4gbWVsbGVtcnVtLCBnJmFyaW5nO3NlJm9zbGFzaDtqbmUsIGVsbGVyIGtvbWJpbmF0aW9uZXIgYWYgaWtrZS1ib2dzdGF2ZXIvdGFsJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ0RlciBvcHN0b2QgcHJvYmxlbWVyIHZlZHImb3NsYXNoO3JlbmRlIGV0IGVsbGVyIGZsZXJlIGJydWdlcmRlZmluZXJlZGUgZmVsdGVyLiBTZWx2b20gaGFuZGxpbmdlbiBlciBibGV2ZXQgdWRmJm9zbGFzaDtydCwgYiZvc2xhc2g7ciBkdSB1bmRlcnMmb3NsYXNoO2dlIG9nIHJldHRlIGRpc3NlIHByb2JsZW1lcic7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdHeWxkaWdlIHYmYWVsaWc7cmRpZXIgb21mYXR0ZXIgKy0qIy4jIyc7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnT2ZmZW50bGlnZSBmZWx0ZXIga2FuIHNlcyBhZiBvZmZlbnRsaWdoZWRlbic7CiRsYW5nWydsYWJlbCddID0gJ0V0aWtldCc7CiRsYW5nWydsYXN0cGFnZSddID0gJyZhbXA7Z3Q7JmFtcDtndDsnOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ1NlbmVzdCAmYWVsaWc7bmRyZXQnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdCaWxsZWQgbnIuIHRvJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gdGVnbiA8ZW0+KGcmYWVsaWc7bGRlciBrdW4gZm9yIHRla3N0Ym9rc2UpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnJkFFbGlnO25kcmluZ3NkYXRvJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0V0IG1vZHVsIHRpbCBoJmFyaW5nO25kdGVyaW5nIGFmIHByb2R1a3RlciBpIGV0IGthdGFsb2cgLSBwcmlzZXIsIGJpbGxlZGVyLCBldGMuIC0gb2cgdGlsIGF0IGdpdmUgYnJ1Z2VyZSBtdWxpZ2hlZCBmb3IgYXQgayZvc2xhc2g7YmUgaW5kJzsKJGxhbmdbJ25hbWUnXSA9ICdOYXZuJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnRHUgaGFyIGlra2UgZGVuIHAmYXJpbmc7a3ImYWVsaWc7dmVkZSB0aWxsYWRlbHNlOiAlcyc7CiRsYW5nWyduZXh0cGFnZSddID0gJyZhbXA7Z3Q7JzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnRGVyIGJsZXYgaWtrZSBhbmdpdmV0IG5vZ2V0IG5hdm4nOwokbGFuZ1snbm9uZSddID0gJ0luZ2VuJzsKJGxhbmdbJ29mJ10gPSAnQWYnOwokbGFuZ1sncGFnZSddID0gJ1NpZGUnOwokbGFuZ1sncGFnZV9vZiddID0gJ1NpZGUgJXMgYWYgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ01heC4gcGVyIHNpZGUnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmaWNlciBodm9yZGFuIG1vZHVsZXQgc2thbCB2aXNlIHByb2R1a3Rlcm5lLiBNdWxpZ2UgdiZhZWxpZztyZGllciBlcjoNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBWaXMgZW4gaGllcmFya2lzayBwcm9kdWt0bGlzdGU8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gVmlzIGVuIGxpc3RlIG92ZXIgcHJvZHVrdGthdGVnb3JpZXI8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIFZpcyBwcm9kdWt0cmVzdW1lZXIgKHN0YW5kYXJkKTwvbGk+DQogIDxsaT5kZXRhaWwgLSBWaXMgZGVuIGZ1bGRlIGJlc2tyaXZlbHNlIGFmIGV0IHByb2R1a3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdWZWQgYW52ZW5kZWxzZSBzYW1tZW4gbWVkIHByb2R1a3RyZXN1bWVlciAoaHZpbGtldCBlciBzdGFuZGFyZHZpc25pbmdzdHlwZW4pLCB2aWwgZGV0dGUgcGFyYW1ldGVyLCBzb20gYiZvc2xhc2g7ciBzdGVtbWUgb3ZlcmVucyBtZWQgZW4gZWtzaXN0ZXJlbmRlIGthdGVnb3JpLCBibGl2ZSBicnVndCB0aWwga3VuIGF0IHZpc2UgZGUgcHJvZHVrdGVyLCBzb20gYmVmaW5kZXIgc2lnIGkgZGVuIGFuZ2l2bmUga2F0ZWdvcmkuIChLYXRlZ29yaWVyIGthbiBhbmdpdmVzIHAmYXJpbmc7IGVuIGxpc3RlIGFkc2tpbHQgYWYga29tbWFlciknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdEZXR0ZSBwYXJhbWV0ZXIsIHNvbSBrdW4ga2FuIGJydWdlcyBzYW1tZW4gbWVkIHZpc25pbmcgYWYga2F0ZWdvcmlsaXN0ZSwgYW5naXZlciBodmlsa2VuIHNrYWJlbG9uIGRlciBza2FsIGJydWdlcyBpIGZvcmJpbmRlbHNlIG1lZCB2aXNuaW5nZW4uIEFuZ2l2ZXMgZGVyIGluZ2VuIHYmYWVsaWc7cmRpIGJydWdlcyBkZW4gc3RhbmRhcmRza2FiZWxvbiwgc29tIHAudC4gZXIgdmFsZ3QgZm9yIHZpc25pbmdzdHlwZW4uJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdEZXR0ZSBhbmdpdmVyIGlkIGVsbGVyIGFsaWFzIHAmYXJpbmc7IGRlbiBzaWRlLCBzb20gc2thbCBicnVnZXMgdGlsIHZpc25pbmcgYWYgZGVuIGZ1bGRlIGJlc2tyaXZlbHNlIGFmIGV0IHByb2R1a3QuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGV0dGUgcGFyYW1ldGVyIGFuZ2l2ZXIsIGh2aWxrZW4gc2thYmVsb24gZGVyIHNrYWwgYnJ1Z2VzIHRpbCB2aXNuaW5nIGFmIGRlbiBmdWxkZSBwcm9kdWt0YmVza3JpdmVsc2UuICBBbmdpdmVzIGRlciBpbmdlbiB2JmFlbGlnO3JkaSBicnVnZXMgZGVuIHN0YW5kYXJkc2thYmVsb24sIHNvbSBwLnQuIGVyIHZhbGd0IGZvciB2aXNuaW5nc3R5cGVuLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdEZXR0ZSBwYXJhbWV0ZXIsIHNvbSBrdW4ga2FuIGJydWdlcyBzYW1tZW4gbWVkIHByb2R1a3RyZXN1bWVlciAoc3RhbmRhcmR2aXNuaW5nKSwgc3BlY2lmaWNlcmVyIGF0IGt1biBkZSBlbGVtZW50ZXIsIHNvbSBiZWZpbmRlciBzaWcgcCZhcmluZzsgZGV0dGUgYmVzdGVtdGUgc3RlZCBpIGhpZXJhcmtpZXQsIHNrYWwgdmlzZXMuIERlciBrYW4gYW52ZW5kZXMgam9rZXJ0ZWduLCBzJmFyaW5nO2xlZGVzIGF0IGR1IG9ncyZhcmluZzsga2FuIHNwZWNpZmljZXJlIGJlc3RlbXRlIHJlbGF0aW9uZXIgbWVsbGVtIGhvdmVkIC1vZyB1bmRlcnB1bmt0ZXIuIEYuZWtzLiB2aWwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTtsYXN0YmlsZXIqJiMwMzk7fSByZXN1bHRlcmUgaSBlbiBvcHN1bW1lcmluZ3NyYXBwb3J0LCBkZXIgdmlzZXIgYWxsZSBsYXN0YmlsZXIuIFJhcHBvcnRlbiBpbmtsdWRlcmVyIHVuZGVycHVua3RlciBpIGhpZXJhcmtpZXQuIExpZ2VzJmFyaW5nOyB2aWwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqbGFzdGJpbGVyJiMwMzk7fSByZXN1bHRlcmUgaSBlbiByYXBwb3J0IG92ZXIgYWxsZSBsYXN0YmlsZXIgb2cgcHJvZHVrdGVyLCBzb20gdGlsaCZvc2xhc2g7cmVyIGV0IGh2aWxrZXQgc29tIGhlbHN0IGhvdmVkcHVua3QgaSBoaWVyYXJraWV0Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ0RldHRlIHBhcmFtZXRlciBhbmdpdmVyIGRlbiBza2FiZWxvbiwgc29tIHNrYWwgYnJ1Z2VzIHRpbCBoaWVyYXJraXZpc25pbmcuIEFuZ2l2ZXMgZGVyIGluZ2VuIHYmYWVsaWc7cmRpIGJydWdlcyBkZW4gc3RhbmRhcmRza2FiZWxvbiwgc29tIHAudC4gZXIgdmFsZ3QgZm9yIHZpc25pbmdzdHlwZW4uJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ0thbiBrdW4gYnJ1Z2VzIHNhbW1lbiBtZWQgcHJvZHVrdHJlc3VtJmVhY3V0ZTt2aXNuaW5nIChzdGFuZGFyZCkgb2cgYW5naXZlciwgaHZvciBtYW5nZSBlbGVtZW50ZXIgZGVyIHNrYWwgdmlzZXMgcGVyIHNpZGUuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ0t1biBicnVnYmFyIHZlZCA8ZW0+aGllcmFya2l2aXNuaW5nPC9lbT4uIFBhcmFtZXRyZXQgYW5naXZlciBpZCYjMDM5O2V0IGZvciBkZXQgaGllcmFya2kgc29tIHNrYWwgdWRnJm9zbGFzaDtyZSBiZWd5bmRlbHNlc3B1bmt0ZXQgZm9yIG92ZXJzaWd0ZW4uJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ0t1biBicnVnYmFyIHZlZCB2aXNuaW5nIGFmIGZ1bGQgcHJvZHVrdGJlc2tyaXZlbHNlLiBEZXR0ZSBwYXJhbWV0ZXIgZm9ydCZhZWxpZztsbGVyLCBodmlsa2V0IHByb2R1a3QgZGVyIHNrYWwgYnJ1Z2VzIHZlZCB2aXNuaW5nZW4uJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ0FuZ2l2IGRlbiBvcmRlbiBpIGh2aWxrZW4gc29ydGVyZWRlIGZlbHRlciBza2FsIG9wdHImYWVsaWc7ZGUgaSByZXN1bSZlYWN1dGU7dmlzbmluZy4gIE11bGlnaGVkZXJuZSBlcjoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIFN0aWdlbmRlIG9yZGVuPC9saT4NCiAgPGxpPmRlc2MgLS0gRmFsZGVuZGUgb3JkZW48L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnRGV0dGUgcGFyYW1ldGVyLCBzb20ga3VuIGthbiBicnVnZXMgaSBmb3JiaW5kZWxzZSBtZWQgcmVzdW0mZWFjdXRlO3Zpc25pbmcsIGJlc3RlbW1lciBodm9yZGFuIHByb2R1a3Rlcm5lIHNrYWwgc29ydGVyZXMuIE11bGlnZSB2JmFlbGlnO3JkaWVyIGVyOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz4gUHJvZHVrdG5hdm48L2xpPg0KICA8bGk+cHJpY2UgLS0gQmFzaXNwcmlzPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBLbGFkZGUgZWxsZXIgb2ZmZW50bGlnPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBWaXMgaSB0aWxmJmFlbGlnO2xkaWcgb3JkZW4gdmVkIGh2ZXIgZm9yZXNwJm9zbGFzaDtyZ3NlbDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIERlbiBkYXRvIGh2b3IgZGV0dGUgZmlybWEgYmxldiBvcHJldHRldCBzb20gZW4gcG9zdCBpIGRhdGFiYXNlbjwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBEYXRvZW4gZm9yIHNlbmVzdGUgb3BkYXRlcmluZyBhZiBmaXJtYWV0IGkgZGF0YWJhc2VuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RldHRlIHBhcmFtZXRlciBhbmdpdmVyIGh2aWxrZW4gc2thYmVsb24sIGRlciBza2FsIGJydWdlcyB0aWwgcmVzdW0mZWFjdXRlO3Zpc25pbmcuIEFuZ2l2ZXMgZGVyIGluZ2VuIHYmYWVsaWc7cmRpIGJydWdlcyBkZW4gc3RhbmRhcmRza2FiZWxvbiwgc29tIHAudC4gZXIgdmFsZ3QgZm9yIHZpc25pbmdzdHlwZW4uJzsKJGxhbmdbJ3BhcmVudCddID0gJ092ZXJvcmRuZXQgcHVua3QnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGV0IFByb2R1Y3RzIGJsZXYgaW5zdGFsbGVyZXQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsZXQgUHJvZHVjdHMgZXIgYmxldmV0IGZqZXJuZXQgc2FtbWVuIG1lZCBhbGxlIHRpbGgmb3NsYXNoO3JlbmRlIGRhdGEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbmRzdGlsbGluZ2VyJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1ZlZCBmamVybmVsc2UgYWYgZGV0dGUgbW9kdWwgZmplcm5lcyBvZ3MmYXJpbmc7IGFsbGUgZGUgdGlsaCZvc2xhc2g7cmVuZGUgZGF0YS4gRXIgZHUgc2lra2VyIHAmYXJpbmc7LCBhdCBkdSB2aWwgZm9ydHMmYWVsaWc7dHRlPyc7CiRsYW5nWydwcmljZSddID0gJ1ByaXMnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByaXNyZWd1bGVyaW5nJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnJmFtcDtsdDsnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1a3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWt0bmF2bic7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3Rlcic7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ1Byb2R1a3QtaGllcmFya2knOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVrdGgmYXJpbmc7bmR0ZXJpbmcnOwokbGFuZ1sncHJvbXB0J10gPSAnRm9yZXNwJm9zbGFzaDtyZ3NlbCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdUaWxsYWQgdXBsb2FkIGFmIGRpc3NlIGZpbHR5cGVyICh0aWwgZmlsdHlwZS1mZWx0ZXIpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdUaWxsYWQgdXBsb2FkIGFmIGYmb3NsYXNoO2xnZW5kZSBiaWxsZWRmaWx0eXBlciAodGlsIGJpbGxlZHR5cGUtZmVsdGVyKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0RhbiBhdXRvbWF0aXNrIHNtJmFyaW5nOyB1ZGdhdmVyIGFmIGJpbGxlZGVyICh0aHVtYm5haWxzKSc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ1NsJmFyaW5nO2V0IHRpbCBzb20gc3RhbmRhcmQgZm9yIGFsbGUgbnllIHByb2R1a3Rlcic7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAnVmFsdXRha29kZSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdWYWx1dGFzeW1ib2wnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ1NsZXQgYWxsZSBmaWxlciwgc29tIGVyIGZvcmJ1bmRldCBtZWQgcHJvZHVrdGV0LCBuJmFyaW5nO3IgcHJvZHVrdGV0IHNsZXR0ZXM/JzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnU3RhbmRhcmRzaWRlIHRpbCBmdWxkZSBwcm9kdWt0YmVza3JpdmVsc2VyJzsKJGxhbmdbJ3Byb21wdF90YXhyYXRlJ10gPSAnTW9tcyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ1N0YW5kYXJkIHNvcnRlcmluZ3NvcmRlbiBpIHJlc3VtJmVhY3V0ZTt2aXNuaW5nJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ0ZlbHQgZGVyIHNvbSBzdGFuZGFyZCBza2FsIHNvcnRlcmVzIHAmYXJpbmc7IGkgcmVzdW0mZWFjdXRlO3Zpc25pbmcnOwokbGFuZ1sncHJvbXB0X3RheDEnXSA9ICdTa2F0LCBhZmdpZnQsIG1vbXMnOwokbGFuZ1sncHJvbXB0X3RheDInXSA9ICdGbGVyZSBza2F0dGVyLCBhZmdpZnRlciwgbW9tcyc7CiRsYW5nWydwcm9tcHRfdGF4bmFtZSddID0gJ0FmZ2lmdHNuYXZuJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1NrYWJlbG9ua2lsZGUnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnViZhZWxpZztndGVuaGVkJzsKJGxhbmdbJ3B1YmxpYyddID0gJ1NrYWwgZGV0dGUgZmVsdCB2JmFlbGlnO3JlIHRpbGcmYWVsaWc7bmdlbGlndCBmb3Igb2ZmZW50bGlnaGVkZW4/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ09mZmVudGxpZ2dqb3J0JzsKJGxhbmdbJ3JhbmRvbSddID0gJ1RpbGYmYWVsaWc7bGRpZyc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ0dlbmRhbiBzdGFuZGFyZHYmYWVsaWc7cmRpZXInOwokbGFuZ1sncm9vdCddID0gJ1JvZCc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnViZhZWxpZztsZyBlbic7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGVyIGVmdGVyJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0ZXJpbmdzciZhZWxpZztra2VmJm9zbGFzaDtsZ2UnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0luZHNlbmQnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1Jlc3VtJmVhY3V0ZTtza2FiZWxvbmVyJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnVGlsZiZvc2xhc2g7ai9yZXQgZW4gcmVzdW0mZWFjdXRlO3NrYWJlbG9uJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdTa2F0dGVwbGlndGlnJzsKJGxhbmdbJ3RheF9tb2R1bGUnXSA9ICdTa2F0dGVtb2R1bCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0Ym9rcyc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGVrc3RmZWx0JzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkc2thYmVsb24gZm9yIG55ZSBoaWVyYXJraXJhcHBvcnRlcic7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmRza2FiZWxvbiBmb3IgbnllIGthdGVnb3JpbGlzdGVyJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZHNrYWJlbG9uIGZvciBueWUgZnVsZGUgcHJvZHVrdGJlc2tyaXZlbHNlcic7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkc2thYmVsb24gZm9yIG55ZSBwcm9kdWt0cmVzdW1lZXInOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndXBkYXRlJ10gPSAnT3BkYXRlcic7CiRsYW5nWyd1cGxvYWQnXSA9ICdWJmFlbGlnO2xnIGVuIGZpbCBhdCB1cGxvYWRlJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnViZhZWxpZztyZGknOwokbGFuZ1sndmFsdWVzJ10gPSAnViZhZWxpZztyZGllcic7CiRsYW5nWyd3ZWlnaHQnXSA9ICdWJmFlbGlnO2d0JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTA5NDExNDQwNC4xMjA2NjM1NjAzLjEyMTY5MDY4NTQuMTIxNjkwOTg4Mi40OCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMTY4MzA3NTQuNDAuMzEudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXMgbWFkZSBzaW1wbGUnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0hpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0VpbmUgS2F0ZWdvcmllIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0VpbiBGZWxkIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnQW5wYXNzYmFyJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdFaW5lbiBBcnRpa2VsIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0VpbiBBdHRyaWJ1dCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnRGFzIEZlbGQgbWl0IGRlciBLYXRlZ29yaWUgJnF1b3Q7JXMmcXVvdDsgdmVya24mdXVtbDtwZmVuJzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0VpbiBIaWVyYXJjaGllLUVsZW1lbnQgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdBdHRyaWJ1dC1PcHRpb24gaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdTb2xsZW4gbnVyIEFkbWluaXN0cmF0b3JlbiBkaWVzZXMgQXR0cmlidXQgc2VoZW4gayZvdW1sO25uZW4/JzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnT2JlbiBMaW5rcyc7CiRsYW5nWydhbGlnbl91YyddID0gJ09iZW4gTWl0dGUnOwokbGFuZ1snYWxpZ25fdXInXSA9ICdPcGVuIFJlY2h0cyc7CiRsYW5nWydhbGlnbl9tbCddID0gJ01pdHRlIExpbmtzJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnTWl0dGUgTWl0dGUnOwokbGFuZ1snYWxpZ25fbXInXSA9ICdNaXR0ZSBSZWNodHMnOwokbGFuZ1snYWxpZ25fbGwnXSA9ICdVbnRlbiBMaW5rcyc7CiRsYW5nWydhbGlnbl9sYyddID0gJ1VudGVuIE1pdHRlJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnVW50ZW4gUmVjaHRzJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIEthdGVnb3JpZW4nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1NpbmQgU2llIHNpY2hlcj8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCBkaWVzZW4gQXJ0aWtlbCB1bmQgYWxsZSBkYW1pdCB2ZXJrbiZ1dW1sO3BmdGVuIEluZm9ybWF0aW9uZW4gbCZvdW1sO3NjaGVuPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBdWZzdGVpZ2VuZCc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0F0dHJpYnV0bmFtZSc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aXNjaCc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoaWUtUmVwb3J0LVRlbXBsYXRlcyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdFaW4gSGllcmFyY2hpZS1SZXBvcnQtVGVtcGxhdGUgaGluenVmJnV1bWw7Z2VuLyZhdW1sO25kZXJuJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllbic7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0VpbmUgS2F0ZWdvcmllIG1pdCBkaWVzZW0gTmFtZW4gZXhpc3RpZXJ0IGJlcmVpdHMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnS2F0ZWdvcmllbGlzdGVuLVRlbXBsYXRlcyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnIEVpbiBLYXRlZ29yaWUtTGlzdGVudGVtcGxhdGUgaGluenVmJnV1bWw7Z2VuLyZhdW1sO25kZXJuJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnTSZvdW1sO2NodGVuIFNpZSBkaWVzZW4gS25vdGVuIHdpcmtsaWNoIGwmb3VtbDtzY2hlbj8gQWxsZSBBcnRpa2VsLCBkaWUgZGllc2VuIEtub3RlbiBudXR6ZW4sIHdlcmRlbiBhdWYgJnF1b3Q7bm8gaGllcmFyY2h5JnF1b3Q7IGdlc2V0enQnOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdXb2xsZW4gU2llIGRpZXMgV0lSS0xJQ0g/XG5cbkZhbHNjaGUgRWluc3RlbGx1bmdlbiBvZGVyIGVpbmUgdW5nJnV1bWw7bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSBrJm91bWw7bm5lbiBlaW4gYmlzbGFuZyBmdW5rdGlvbmllcmVuZGVzIFN5c3RlbSBrb21wbGV0dCB6ZXJzdCZvdW1sO3Jlbi4nOwokbGFuZ1snY29weSddID0gJ0tvcGllcmVuJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdLYXRlZ29yaWUga29waWVyZW4nOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdFcnN0ZWxsdW5nc2RhdHVtJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdBa3R1ZWxsZXIgV2VydCc7CiRsYW5nWydkYXRhJ10gPSAnRGF0ZW4nOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkZWluc3RlbGx1bmcnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkLVRlbXBsYXRlcyc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+QWNodHVuZzo8L3N0cm9uZz4gRGllIEluaGFsdGUgZGllc2VyIFRleHRmZWxkZXIgd2VyZGVuIGdlbnV0enQsIHVtIGRpZSB2b3JlaW5nZXN0ZWxsdGVuIEluaGFsdGUgZGVyIFRlbXBsYXRlcyBmZXN0enVsZWdlbiwgd2VubiAmcXVvdDtUZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4mcXVvdDsgaW4gZGVyIGpld2VpbGlnZW4gVGVtcGxhdGUtUmVnaXN0ZXJrYXJ0ZSBnZWtsaWNrdCB3aXJkLiBEaWUgVmVyJmF1bWw7bmRlcnVuZyBlaW5lcyBGZWxkZXMgaGF0IGtlaW5lbiBkaXJla3RlbiBFZmZla3QgYXVmIGRpZSBXZWJzZWl0ZS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnTCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdBdHRyaWJ1dCBsJm91bWw7c2NoZW4nOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnSGllcmFyY2hpZS1FbGVtZW50IGwmb3VtbDtzY2hlbic7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnQWJzdGVpZ2VuZCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2NocmVpYnVuZyc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlscyAnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsLVRlbXBsYXRlcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRWluIERldGFpbC1UZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vJmF1bWw7bmRlcm4nOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEZWFrdGl2aWVydCc7CiRsYW5nWydkcmFmdCddID0gJ0VudHd1cmYnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdMaXN0ZW5mZWxkJzsKJGxhbmdbJ2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdMaXN0ZW5mZWxkLU9wdGlvbmVuIDxlbT4obnVyIGluIExpc3RlbmZlbGQtTWVuJnV1bWw7cyBlaW5zZXR6YmFyKTwvZW0+PGJyLz48YnIvPjxlbT4oZWluIEVpbnRyYWcgcHJvIFplaWxlKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICcmQXVtbDtuZGVybiAnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdBdHRyaWJ1dGUgYmVhcmJlaXRlbic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdBdHRyaWJ1dGVpbnN0ZWxsdW5nZW4gYmVhcmJlaXRlbic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnQXR0cmlidXRlaW5zdGVsbHVuZ2VuIGJlYXJiZWl0ZW4gZiZ1dW1sO3InOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnQXR0cmlidXRlIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0thdGVnb3JpZSBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnS2F0ZWdvcmllbmZlbGRlciBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdIaWVyYXJjaGllLUVsZW1lbnQgYmVhcmJlaXRlbic7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAnRWluIEF0dHJpYnV0IG1pdCBkaWVzZW0gTmFtZW4gZXhpc3RpZXJ0IGJlcmVpdHMuJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZV9za3UnXSA9ICdEb3BwZWx0ZSBBcnRpa2VsbnVtbWVyIGdlZnVuZGVuJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdEZXIgV2VydCBkZXMgRmVsZGVzIGRhcmYgbmljaHQgbGVlciBzZWluJzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdQcm9ibGVtIG1pdCBkZW0gRGF0ZWktRm9ybWF0JzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0RpZSBEYXRlaSB3dXJkZSBuaWNodCBnZWZ1bmRlbic7CiRsYW5nWydlcnJvcl9maWxlb3BlbiddID0gJ1Byb2JsZW0gYmVpbSAmT3VtbDtmZm5lbiBkZXIgRGF0ZWkgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ1VuZyZ1dW1sO2x0aWdlcywgJnV1bWw7YmVyZ2VvcmRuZXRlcyBFbGVtZW50IChlaW4gSGllcmFyY2hpZWVsZW1lbnQga2FubiBuaWNodCBzZWluIGVpZ2VuZXMgJnV1bWw7YmVyZ2VvcmRuZXRlcyBFbGVtZW50IHNlaW4pJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ0RlciBlaW5nZWdlYmVuZSBXZXJ0IGltIGJlbnV0emVyZGVmaW5pZXJ0ZW4gRm9ybXVsYXItRmVsZCBpc3QgdW5nJnV1bWw7bHRpZyAoYmVpbmhhbHRldCBuaWNodC1hbHBoYW51bWVyaXNjaGVuIFplaWNoZW4pJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VpbiBiZW4mb3VtbDt0aWd0ZXIgUGFyYW1ldGVyIGZlaGx0IG9kZXIgaXN0IHVuZyZ1dW1sO2x0aWcnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdBbiBFbGVtZW50IG1pdCBkaWVzZW0gTmFtZW4gZXhpc3RpZXJ0IGJlcmVpdHMnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdCaXR0ZSB3JmF1bWw7aGxlbiBTaWUgZWluZW4gRmVsZHR5cCc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdTaWUgbSZ1dW1sO3NzZW4gZWluZW4gTmFtZW4gYW5nZWJlbic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnQmVyZWNodGlndW5nIHZlcndlaWdlcnQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdEZXIgZWluZ2VnZWJlbmUgQWxpYXMgd2lyZCBiZXJlaXRzIHZlcndlbmRldCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnRWluIEFydGlrZWwgbWl0IGRpZXNlbSBOYW1lbiBleGlzdGllcnQgYmVyZWl0cyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAnRGFzIGFuZ2VmcmFndGUgUHJvZHVrdCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfc2t1dXNlZCddID0gJ0RpZXNlIEFydGlrZWxudW1tZXIgd2lyZCBiZXJlaXRzIHZvbiBlaW5lbSBhbmRlcmVuIEFydGlrZWwgdmVyd2VuZGV0JzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdVbmcmdXVtbDtsdGlnZSBQcmVpcy1BbmdhYmVuIGYmdXVtbDtyIGRhcyBFbGVtZW50ICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdEYXMgSG9jaGxhZGVuIGlzdCBmZWhsZ2VzY2hsYWdlbjogJXMnOwokbGFuZ1snZXh0cmExJ10gPSAnRXh0cmFmZWxkIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnRXh0cmFmZWxkIDInOwokbGFuZ1snZmllbGQnXSA9ICdGZWxkJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmVsZGRlZmluaXRpb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRmVsZGRlZmluaXRpb25lbic7CiRsYW5nWydmaWxlJ10gPSAnRGF0ZWknOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRlcic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnQWxsZ2VtZWluZSBFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ2dvJ10gPSAnTG9zJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPg0KPHA+RGllc2VzIE1vZHVsIGJpZXRldCBkaWUgTSZvdW1sO2dsaWNoa2VpdCwgSW5mb3JtYXRpb25lbiAmdXVtbDtiZXIgUHJvZHVrdGUgdW5kIGRlcmVuIEthdGVnb3JpZW4genUgc2FtbWVsbiwgb3JnYW5pc2llcmVuIHVuZCBhbnp1emVpZ2VuLiBEaWVzZXMgTW9kdWwga2FubiBhbGxlaW4gZWluZ2VzZXR6dCB3ZXJkZW4gb2RlciBhbHMgVGVpbCBlaW5lciBFLUNvbW1lcmNlIEwmb3VtbDtzdW5nLiBEYXMgTW9kdWwgdW50ZXJzdCZ1dW1sO3R6dCBQcm9kdWt0ZSBpbiBtZWhyZXJlbiBLYXRlZ29yaWVuLCBBbmdhYmVuIHp1IFByZWlzLCBHZXdpY2h0LCBldGMuIHVuZCBpbmRpdmlkdWVsbGUgRmVsZGVyIGYmdXVtbDtyIGplZGVzIFByb2R1a3QuIEluZGl2aWR1ZWxsZW4gUHJvZHVrdC1GZWxkZXIgayZvdW1sO25uZW4gZWlnZW5lIFByZWlzZSB6dWdlb3JkbmV0IHdlcmRlbi4gRGllIFVtc2F0enN0ZXVlciBrYW5uIGdsb2JhbCBvZGVyIGYmdXVtbDtyIGplZGVzIFByb2R1a3QgaW5kaXZpZHVlbGwgYWt0aXZpZXJ0IHdlcmRlbi48L3A+DQo8cD5EaWVzZXMgTW9kdWwgdW50ZXJzdCZ1dW1sO3R6dCBtZWhyZXJlIEJpbGRlciBqZSBQcm9kdWt0LCBpbmRpdmlkdWVsbGUgRmVsZGVyIHZlcnNjaGllZGVuZXIgVHlwZW4gdW5kIGF1Y2ggaW50ZXJuZSAobmljaHQgJm91bWw7ZmZlbnRsaWNoZSkgRmVsZGVyLjwvcD4NCjxoMz5GdW5rdGlvbmVuOjwvaDM+DQo8dWw+DQogIDxsaT5WZXJzY2hpZWRlbmUgQW5zaWNodGVuPC9saT4NCiAgICA8dWw+DQogICAgICA8bGk+UHJvZHVrdC1MaXN0ZW5hbnNpY2h0PC9saT4NCiAgICAgIDxsaT5LYXRlZ29yaWUtTGlzdGVuYW5zaWNodDwvbGk+DQogICAgICA8bGk+RGV0YWlsIEFuc2ljaHQ8L2xpPiANCiAgICAgIDxsaT5WZXJ6d2VpZ3RlIEhpZXJhcmNoaWUgQW5zaWNodGVuPC9saT4NCiAgICA8L3VsPg0KICA8bGk+S29tcGxldHQgRGF0ZW5iYW5rLWJhc2llcmVuZGUgVGVtcGxhdGVzPC9saT4NCiAgPHA+RXMgayZvdW1sO25uZW4gbWVocmVyZSBUZW1wbGF0ZXMgZiZ1dW1sO3IgamVkZSBBbnNpY2h0IGdlc3BlaWNoZXJ0LCBmJnV1bWw7ciBqZWRlIEFuc2ljaHQgZWluIFN0YW5kYXJkLVRlbXBsYXRlIGZlc3RnZWxlZ3QgdW5kIGRhcyBnZXcmdXVtbDtuc2NodGUgVGVtcGxhdGUgZiZ1dW1sO3IgZWluZSBBbnNpY2h0IGthbm4gYWxzIFBhcmFtZXRlciBpbSBQbGF0emhhbHRlciBhbmdlZ2ViZW4gd2VyZGVuLjwvcD4NCiAgPGxpPlNvcnRpZXJ1bmcgdW5kIEJsJmF1bWw7dHRlci1GdW5rdGlvbiBpbiBkZXIgTGlzdGVuYW5zaWNodDwvbGk+DQogIDxsaT5BcnRpa2VsIGsmb3VtbDtubmVuIG1laHJlcmVuIEthdGVnb3JpZW4genVnZW9yZG5ldCB3ZXJkZW48L2xpPg0KICA8bGk+TWVocmVyZSBpbmRpdmlkdWVsbGUgRmVsZGVyIGsmb3VtbDtubmVuIGRlZmluaWVydCB3ZXJkZW4sIGRhYmVpIGdpYnQgZXMgdmVyc2NoaWVkZW5lIFR5cGVuLCBpbmtsdXNpdmUgQmlsZGVyPC9saT4NCiAgPGxpPkF1dG9tYXRpc2NoZSBUaHVtYm5haWwtRXJ6ZXVndW5nPC9saT4NCiAgPGxpPkludGVybmUgRmVsZGVyPC9saT4NCiAgPGxpPkluZGl2aWR1ZWxsZSBQcm9kdWt0LUVpZ2Vuc2NoYWZ0ZW4gKG1pdCBlaWdlbmVuIFByZWlzZW4pPC9saT4NCiAgPGxpPkZlbGRlciBmJnV1bWw7ciBHZXdpY2h0LCBVbXNhdHpzdGV1ZXIgdW5kIGFuZGVyZXMgKGYmdXVtbDtyIGRpZSBWZXJ3ZW5kdW5nIGluIEUtQ29tbWVyY2UgTCZvdW1sO3N1bmdlbik8L2xpPg0KICA8bGk+QXJ0aWtlbCBrJm91bWw7bm5lbiBkZW4gU3RhdHVzICZxdW90O1ZlciZvdW1sO2ZmZW50bGljaHQmcXVvdDsgb2RlciAmcXVvdDtFbnR3dXJmJnF1b3Q7IGhhYmVuLjwvbGk+DQogIDxsaT5VbnRlcnN0JnV1bWw7dHp1bmcgdm9uIFByZXR0eSBVUkxzPC9saT4NCiAgPGxpPjxzdHJvbmc+VmllbGVzIG1laHIuLi48L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGgzPldpZSBrYW5uIGRpZXNlcyBNb2R1bCB2ZXJ3ZW5kZXQgd2VyZGVuOjwvaDM+DQo8dWw+DQo8bGk+RWluc3RlbGx1bmdlbjwvbGk+DQo8cD5EaWVzIGlzdCBub3JtYWxlcndlaXNlIG51ciBlaW5lIEZvcm1hbGl0JmF1bWw7dC4gSGllciB3ZXJkZW4gZGFzIFByZWlzLVN5bWJvbCB1bmQgLVcmYXVtbDtocnVuZywgZGllIGFuenV6ZWlnZW5kZW4gRmVsZGVyIHUudi5tLiBlaW5nZXN0ZWxsdC48L3A+DQo8bGk+U2V0dXAgZiZ1dW1sO3IgQmVudXR6ZXIgdW5kIEJlcmVjaHRpZ3VuZ2VuPC9saT4NCjxwPkRpZXNlcyBNb2R1bCBudXR6dCBkaWUgJiMwMzk7TW9kaWZ5IFRlbXBsYXRlcyYjMDM5OyBCZXJlY2h0aWd1bmcsIHVtIE51dHplcm4gZGFzIEJlYXJiZWl0ZW4gZGVyIFRlbXBsYXRlcyB6dSBlcm0mb3VtbDtnbGljaGVuLiBFYmVuc28gd2lyZCBkaWUgJiMwMzk7TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMmIzAzOTsgQmVyZWNodGlndW5nIHZlcndlbmRldCBmJnV1bWw7ciBkZW4gRWluc3RlbGx1bmdzLVJlaXRlci4gVW0gRmVsZCBEZWZpbml0aW9uZW4sIEFydGlrZWwsIEthdGVnb3JpZW4gb2RlciBIaWVyYXJjaGllbiB6dSBiZWFyYmVpdGVuLCBiZW4mb3VtbDt0aWd0IGRlciBCZW51dHplciBkaWUgQmVyZWNodGlndW5nICYjMDM5O01vZGlmeSBQcm9kdWN0cyYjMDM5Oy48L3A+DQo8bGk+KG9wdGlvbmFsKSBFcnN0ZWxsZW4gdm9uIGVpbiBvZGVyIG1laHJlcmVuIEthdGVnb3JpZW48L2xpPg0KPHA+RGllc2VyIFNjaHJpdHQgaXN0IG9wdGlvbmFsLCBhYmVyIGVzIGlzdCBzaWNoZXIgcmF0c2FtLCBkaWVzIHNvIGZyJnV1bWw7aCB3aWUgbSZvdW1sO2dsaWNoIHp1IHR1biwgdW0gc3AmYXVtbDt0ZXJlbiBNZWhyYXVmd2FuZCB6dSB2ZXJtZWlkZW4uIFVtIGVpbmUgS2F0ZWdvcmllIGhpbnp1enVmJnV1bWw7Z2VuLCBrbGlja2VuIFNpZSBhdWYgZGVuIFJlaXRlciAmcXVvdDtLYXRlZ29yaWVuJnF1b3Q7IHVuZCBkb3J0IGF1ZiBkZW4gTGluayAmcXVvdDtLYXRlZ29yaWUgaGluenVmJnV1bWw7Z2VuJnF1b3Q7LCB3byBzY2hsaWUmc3psaWc7bGljaCBkZXIgTmFtZSBkZXIgS2F0ZWdvcmllIGFuZ2VnZWJlbiB3ZXJkZW4ga2Fubi48L3A+DQo8bGk+KG9wdGlvbmFsKSBFcnN0ZWxsZW4gdm9uIGVpbiBvZGVyIG1laHJlcmVuIGluZGl2aWR1ZWxsZW4gRmVsZGVybjwvbGk+DQo8cD5EaWVzZXIgU2Nocml0dCBpc3Qgb3B0aW9uYWwuIEluZGl2aWR1ZWxsZSBGZWxkZXIgd2VyZGVuIG5vY2h0IGJlbiZvdW1sO3RpZ3QsIHdlbm4gZGllc2VzIE1vZHVsIGRhcyBnZXcmdXVtbDtuc2NodGUgYmlldGV0LiBXZW5uIFNpZSBqZWRvY2ggenVzJmF1bWw7dHpsaWNoZSBJbmZvcm1hdGlvbmVuIHp1bSBBcnRpa2VsIGJlbiZvdW1sO3RpZ2VuLCBrJm91bWw7bm5lbiBTaWUgaGllciBpbmRpdmlkdWVsbGUgRmVsZGVyIGVyc3RlbGxlbi4gRWluIGluZGl2aWR1ZWxsZXMgRmVsZCB6dSBlcnN0ZWxsZW4gaXN0ICZhdW1sO2hubGljaCB3aWUgZWluZSBLYXRlZ29yaWUgenUgZXJzdGVsbGVuLCBhYmdlc2VoZW4gZGF2b24sIGRhc3MgbWVociBEYXRlbiBhbmdlZ2ViZW4gd2VyZGVuIG0mdXVtbDtzc2VuLjwvcD4NCjxwPkRlcnplaXQgc2luZCBzZWNocyBUeXBlbiB2b24gaW5kaXZpZHVlbGxlbiBGZWxkZXJuIHZlcmYmdXVtbDtnYmFyOiAmIzAzOTt0ZXh0Ym94JiMwMzk7LCAmIzAzOTtjaGVja2JveCYjMDM5OywgJiMwMzk7dGV4dGFyZWEmIzAzOTssICYjMDM5O2Ryb3Bkb3duJiMwMzk7IHVuZCAmIzAzOTtmaWxlJiMwMzk7LiBXJmF1bWw7aGxlbiBTaWUgZWluZW4gVHlwIGF1cywgZ2ViZW4gU2llIGRlbSBGZWxkIGVpbmVuIE5hbWVuIHVuZCBsZWdlbiBTaWUgZmVzdCwgb2IgZGFzIEZlbGQgJm91bWw7ZmZlbnRsaWNoIHNlaW4gc29sbCBvZGVyIGludGVybi4gQmVzdCZhdW1sO3RpZ2VuIFNpZSBzY2hsaWUmc3psaWc7bGljaCBtaXQgJnF1b3Q7QWJzZW5kZW4mcXVvdDsuPC9wPg0KPGxpPkVyc3RlbGxlbiB2b24gZWluIG9kZXIgbWVocmVyZW4gQXJ0aWtlbG48L2xpPg0KPHA+U2llIHNvbGx0ZW4gZWluIG9kZXIgbWVocmVyZSBBcnRpa2VsIGVyc3RlbGxlbiwgZGllIGF1ZiBkZXIgV2Vic2VpdGUgYW5nZXplaWd0IHdlcmRlbiBzb2xsZW4uIEdlYmVuIFNpZSBqZWRlbSBBcnRpa2VsIGVpbmVuIE5hbWVuLCBlaW5lbiBQcmVpcyB1bmQgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLjwvcD4NCjxwPldlbm4gS2F0ZWdvcmllbiBlcnN0ZWxsdCB3dXJkZW4sIHdpcmQgZiZ1dW1sO3IgamVkZSBLYXRlZ29yaWUgZWluZSBDaGVja2JveCBhbmdlemVpZ3QuIFcmYXVtbDtobGVuIFNpZSwgdW50ZXIgd2VsY2hlbiBLYXRlZ29yaWVuIGRlciBBcnRpa2VsIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbC48L3A+DQo8cD5XZW5uIGluZGl2aWR1ZWxsZSBGZWxkZXIgZXJzdGVsbHQgd3VyZGVuLCB3ZXJkZW4gZGllc2UgYXVjaCBhYmdlZnJhZ3QuIEdlYmVuIFNpZSBhdWNoIGhpZXIgZGllIHZvcmhhbmRlbmVuIERhdGVuIGVpbi4gRGllcyBpc3Qgb3B0aW9uYWwuPC9wPg0KPGxpPkVpbmYmdXVtbDtnZW4gZGVyIGVudHNwcmVjaGVuZGVuIFRhZ3MgaW4gZGFzIFNlaXRlbiBUZW1wbGF0ZSBvZGVyIGRlbiBTZWl0ZW4gSW5oYWx0PC9saT4NCjxwPkRpZSBlaW5mYWNoc3RlIFZhcmlhbnRlIGlzdCBlcywgZGVuIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiBUYWcgaW4gZGVuIEluaGFsdHMtVGV4dGJlcmVpY2ggb2RlciBpbiBlaW5lbSBUZW1wbGF0ZSBlaW56dWYmdXVtbDtnZW4uPC9wPg0KPHA+V2VubiBTaWUgZGFzIFZlcmhhbHRlbiBkaWVzZXMgTW9kdWxzIG5hY2ggSWhyZW4gVyZ1dW1sO25zY2hlbiBhbnBhc3NlbiB3b2xsZW4sIGsmb3VtbDtubmVuIFNpZSB2ZXJzY2hpZWRlbmUgUGFyYW1ldGVyIHp1bSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gVGFnIGhpbnp1ZiZ1dW1sO2dlbi4gRGllIGtvbXBsZXR0ZSBMaXN0ZSBkZXIgUGFyYW1ldGVyIGZpbmRlbiBTaWUgd2VpdGVyIHVudGVuIGltIFRleHQuIFdlbm4gU2llIHp1bSBCZWlzcGllbCBlaW5lIExpc3RlIHZvbiBQcm9kdWt0ZW4gZWluZXIgS2F0ZWdvcmllIGFuemVpZ2VuIHdvbGxlbiwgayZvdW1sO25uZW4gU2llIGRlbiBUYWcgd2llIGZvbGd0IHZlcndlbmRlbjogPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSYjMDM5O2NhdGVnb3J5bmFtZSYjMDM5O308L2NvZGU+PC9wPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRpZXNlcyBNb2R1bCBiZWluaGFsdGV0IGtlaW5lbiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQuIEVzIGV4aXN0aWVyZW4gamVkb2NoIGVpbmUgUmVpaGUgdm9uIFJlc3NvdXJjZW4sIGRpZSBJaG5lbiBiZWkgZGllc2VtIE1vZHVsIGhlbGZlbiBrJm91bWw7bm5lbjo8L3A+DQo8dWw+DQo8bGk+RiZ1dW1sO3IgZGllIG5ldWVzdGUgVmVyc2lvbiBkaWVzZXMgTW9kdWxzLCBmJnV1bWw7ciBGQVFzIG9kZXIgRmVobGVyYmVyaWNodGUsIGJlc3VjaGVuIFNpZSBkaWUgRW50d2lja2xlci1XZWJzZWl0ZSB2b24gQ01TIG1hZGUgc2ltcGxlOiA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiB1bmQgc3VjaGVuIFNpZSBuYWNoICYjMDM5O1Byb2R1Y3RzJiMwMzk7LjwvbGk+DQo8bGk+VW0ga29tbWVyemllbGxlbiBTdXBwb3J0IHp1IGVyaGFsdGVuLCBzZW5kZW4gU2llIGVpbmUgRU1haWwgenVtIEF1dGhvciA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPg0KPGxpPlp1cyZhdW1sO3R6bGljaGUgRGlza3Vzc2lvbmVuICZ1dW1sO2JlciBkaWVzZXMgTW9kdWwgZmluZGVuIFNpZSBpbSBDTVMgbWFkZSBzaW1wbGUgRm9ydW06IDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtPC9hPi48L2xpPg0KPGxpPkYmdXVtbDtyIEZyYWdlbiBvZGVyIGJlc2NociZhdW1sO25rdGVuIHRlY2huaXNjaGVuIFN1cHBvcnQga2FubiBkZXIgQXV0aG9yIHZpYSBJUkMgZXJyZWljaHQgd2VyZGVuOiA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoaWUnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFyY2hpZS1Qb3NpdGlvbic7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGQnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnXSA9ICdFaW5zdGVsbHVuZ2VuIGYmdXVtbDtyIGRpZSBCaWxkZXJ2ZXJ3YWx0dW5nJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ1Byb2R1a3RlIGF1cyBlaW5lciBDU1YtRGF0ZWkgaW1wb3J0aWVyZW4nOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0VpbnNjaGxpZSZzemxpZztsaWNoIFVudGVycHVua3RlPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ051ciBhbHBoYW51bWVyaXNjaGUgWmVpY2hlbi4gS2VpbmUgTGVlcnplaWNoZW4sIFppdGF0ZSBvZGVyIEJ1Y2hzdGFiZW4vTnVtbWVybi1Lb21iaW5hdGlvbmVuJzsKJGxhbmdbJ2luZm9fYXR0cmlidGVtcGxhdGUnXSA9ICdNJm91bWw7Z2xpY2hlIFZhcmlhYmxlbiBzaW5kOiB7JGF0dHJpYl90ZXh0fSx7JGF0dHJpYl9hZGp1c3R9LHskY3VycmVuY3lfc3ltYm9sfSc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdFcyB3ZXJkZW4gZGllIFdhc3NlcnplaWNoZW4tRWluc3RlbGx1bmdlbiBkZXMgQ0dFeHRlbnNpb25zLU1vZHVscyB2ZXJ3ZW5kZXQnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gIEFmdGVyIGEgYmF0Y2ggaXMgY29tcGxldGUsIHRoZSBpbXBvcnRlciB3aWxsIHJlZGlyZWN0LCBhbmQgcmVzdW1lIG9wZXJhdGlvbnMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBtZW1vcnkgZXJyb3JzLCBvciB0aW1lb3V0IHByb2JsZW1zIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIHByb2Nlc3NpbmcsIHlvdSBtYXkgbmVlZCB0byBjb25zdWx0IHlvdXIgaG9zdCBwcm92aWRlciwgb3IgcmVkdWNlIHRoaXMgbnVtYmVyJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnRGllc2UgUGFyYW1ldGVyIHdlcmRlbiB2ZXJ3ZW5kZXQsIHVtIGVpbiBXYXJlbmtvcmItTW9kdWwgZiZ1dW1sO3IgZGllIEFydGlrZWwtRGV0YWlsLSB1bmQgLUxpc3RlbmFuc2ljaHQgYXVzenV3JmF1bWw7aGxlbi4nOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdVbmJla2FubnRlIEFydGlrZWxmZWxkZXIgYXV0b21hdGlzY2ggZXJzdGVsbGVuPyA8ZW0+KHdlcmRlbiBhbHMgVGV4dGZlbGRlciBlcnN0ZWxsdCk8L2VtPic7CiRsYW5nWydpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcm9kdWN0IGNhdGVnb3JpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlLCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0JzsKJGxhbmdbJ2luZm9fY3JlYXRlaGllcmFyY2h5J10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJvZHVjdCBoaWVyYXJjaGllcyB0byBtYXRjaCB0aG9zZSBvZiB0aGUgQ1NWIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdEaWVzZXMgU3lzdGVtIHZlcnN0ZWh0ICguKSBhbHMgRGV6aW1hbHN0ZWxsZW4tVHJlbm56ZWljaGVuLCB6LkIuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdMZWdlbiBTaWUgaGllciBkYXMgKG9kZXIgZGllKSBaZWljaGVuIGZlc3QsIGRpZSBkaWUgRmVsZGVyIHZvbmVpbmFuZGVyIHRyZW5uZW4nOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZnkgaG93IHRoZSBzeXN0ZW0gc2hvdWxkIGhhbmRsZSBhIHByb2R1Y3Qgd2hvcyBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPkFjaHR1bmc6IDwvc3Ryb25nPiBBbGxlIEZlbGRlciwgZGllIGhpZXIgZGVmaW5pZXJ0IHdlcmRlbiwgc2luZCBmJnV1bWw7ciBhbGxlIEFydGlrZWwgdmVyZiZ1dW1sO2diYXIuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ0JlaSBlaW5lbSBvZGVyIG1laHJlcmVuIGJlbnV0emVyZGVmaW5pZXJ0ZW4gRmVsZGVybiB3dXJkZW4gUHJvYmxlbWUgZmVzdGdlc3RlbGx0LiBEaWUgQWt0aW9uIHd1cmRlIGVyZm9sZ3JlaWNoIGFiZ2VzY2hsb3NzZW4sIFNpZSBzb2xsdGVuIGplZG9jaCBkaWUgVXJzYWNoZSBkZXIgUHJvYmxlbWUgaGVyYXVzZmluZGVuLic7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1Vwb24gaW1wb3J0LCBpZiBhbiBpbWFnZSBmaWxlbmFtZSBpcyBmb3VuZCBpbiBhIGZpZWxkIGNvbHVtbiwgc2hvdWxkIGl0IGJlIG1vdmVkIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2F0ZXJtYXJrZWQsIHRodW1ibmFpbGVkLCBhbmQgdGhlIGZpZWxkIHR5cGUgY2hhbmdlZCB0byAmcXVvdDtpbWFnZSZxdW90Oyc7CiRsYW5nWydpbmZvX2ltYWdlcGF0aCddID0gJ1RoZSBwYXRoIChyZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXJlY3RvcnkpIHdoZXJlIGltYWdlcyByZWZlcnJlZCB0byBpbiB0aGUgaW1wb3J0IGZpbGUsIGNhbiBiZSBmb3VuZCc7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0EgYnJpZWYgdGVzdCBhcyBiZWVuIHBlcmZvcm1lZCBvbiB0aGUgaW5wdXQgZmlsZSBzcGVjaWZpZWQsIGFuZCBldmVyeXRoaW5nIGFwcGVhcnMgdG8gYmUgY29ycmVjdC48YnIvPlRoaXMgaXMgbm8gaW5kaWNhdGlvbiB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgaW4gdGhlIGZpbGUuJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ0cmdXVtbDtsdGlnZSBFaW5nYWJlbiBzaW5kICstKiMuIyMnOwokbGFuZ1snaW5mb19wcm9kbm90Zm91bmQnXSA9ICdUaGlzIG9wdGlvbiBkZXRlcm1pbmVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHdlYnNpdGUgaWYgYSBwcm9kdWN0IGRldGFpbCB2aWV3IGlzIGFjY2Vzc2VkIGRpcmVjdGx5IGJ5IFVSTCwgYW5kIHRoYXQgcHJvZHVjdCBmb3Igd2hhdGV2ZXIgcmVhc29uIChkaXNhYmxlZCwgZGVsZXRlZCwgZXRjKSBjYW5ub3QgYmUgYWNjZXNzZWQuJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICcmT3VtbDtmZmVudGxpY2hlIEZlbGRlciBzaW5kIGF1ZiBkZXIgV2Vic2VpdGUgZiZ1dW1sO3IgamVkZW4gc2ljaHRiYXIuJzsKJGxhbmdbJ2xhYmVsJ10gPSAnQmVzY2hyaWZ0dW5nJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICcmVXVtbDtiZXJzcHJpbmdlbic7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICcmVXVtbDtiZXJzY2hyZWliZW4nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGV0enRlICZBdW1sO25kZXJ1bmcnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdad2VpdGVzIEJpbGQnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW1hbGUgTCZhdW1sO25nZSA8ZW0+KG51ciBhdWYgVGV4dC1GZWxkZXIgYW53ZW5kYmFyKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJyZBdW1sO25kZXJ1bmdzLURhdHVtJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0VpbiBNb2R1bCwgdW0gZWluZW4gS2F0YWxvZyB2b24gQXJ0aWtlbG4sIGRlcmVuIFByZWlzZSwgQmlsZGVyLCBldGMuIHp1IHZlcndhbHRlbiB1bmQgQmVudXR6ZXJuIHp1IGVybGF1YmVuLCBkaWVzZSBhbiBlaW5lbiBXYXJlbmtvcmIgenUgJnV1bWw7YmVyZ2ViZW4uJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lICc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ1NpZSBoYWJlbiBuaWNodCBkaWUgZXJmb3JkZXJsaWNoZSBCZXJlY2h0aWd1bmc6ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnTmV1ZXIgS2F0ZWdvcmllbi1OYW1lJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05laW4nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdFcyB3dXJkZSBrZWluIE5hbWUgYW5nZWdlYmVuJzsKJGxhbmdbJ25vbmUnXSA9ICdLZWluZXMnOwokbGFuZ1snb2YnXSA9ICdWb24nOwokbGFuZ1sncGFnZSddID0gJ1NlaXRlJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTZWl0ZSAlcyB2b24gJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ1NlaXRlbi1BbnphaGwnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnTGVnZW4gU2llIGRhcyBWZXJoYWx0ZW4gZGVzIE1vZHVscyBmZXN0LiBNJm91bWw7Z2xpY2hlIFdlcnRlIHNpbmQ6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gemVpZ3QgZWluZSBBcnRpa2VsLUxpc3RlIG5hY2ggZGVyIEhpZXJhcmNoaWUgYW48L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gemVpZ3QgZWluZSBMaXN0ZSBkZXIgUHJvZHVrdGthdGVnb3JpZW4gYW48L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIHplaWd0IGVpbmUgWnVzYW1tZW5mYXNzdW5nIGRlciBQcm9kdWt0ZSBhbjwvbGk+DQogIDxsaT5kZXRhaWxzIC0gemVpZ3QgZGllIERldGFpbGFuc2ljaHQgZWluZXMgZWluemVsbmVuIEFydGlrZWxzIGFuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2VubiBkaWVzZXIgUGFyYW1ldGVyIGluIGRlciA8ZW0+ZGVmYXVsdDwvZW0+IExpc3RlbmFuc2ljaHQgdmVyd2VuZGV0IHdpcmQsIHdlcmRlbiBudXIgQXJ0aWtlbCB6dXIgYW5nZWdlYmVuZW4gS2F0ZWdvcmllIGFuZ2V6ZWlndC4gTWVocmVyZSBLYXRlZ29yaWVuIGsmb3VtbDtubmVuIGR1cmNoIEtvbW1hcyBnZXRyZW5udCBhbmdlZ2ViZW4gd2VyZGVuLiBEZXIgUGFyYW1ldGVyLU5hbWUgc29sbHRlIG5pY2h0ICZ1dW1sO2JlcmVpbnN0aW1tZW4gbWl0IGRlbSBOYW1lbiBlaW5lciBleGlzdGllcmVuZGVuIEthdGVnb3JpZS4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIEthdGVnb3JpZS1BdXNnYWJlIHNpbm52b2xsLiBFciB3aXJkIGJlbnV0enQsIHVtIGRhcyBUZW1wbGF0ZSBhbnp1Z2ViZW4sIHdlbGNoZXMgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBhbmdlZ2ViZW4gaXN0LCB3aXJkIGRhcyBEZWZhdWx0LVRlbXBsYXRlIHZlcndlbmRldC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ0RpZXMgbGVndCBkaWUgU2VpdGVuLUlEIChwYWdlaWQpIG9kZXIgZGVuIEFsaWFzIChhbGlhcykgZmVzdCwgd2VsY2hlKHIpIGJlbnV0enQgd2VyZGVuIHNvbGwsIHVtIGRpZSBEZXRhaWxhbnNpY2h0IGF1c3p1Z2ViZW4uJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGllc2VyIFBhcmFtZXRlciB3aXJkIHZlcndlbmRldCwgdW0gZGFzIFRlbXBsYXRlIGZlc3R6dWxlZ2VuLCB3ZWxjaGVzIGYmdXVtbDtyIGRpZSBBcnRpa2VsLURldGFpbGFuc2ljaHQgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLiBPaG5lIFZvcmdhYmUgd2lyZCBkYXMgU3RhbmRhcmQtVGVtcGxhdGUgdmVyd2VuZGV0Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5kZWZhdWx0PC9lbT4tQW5zaWNodCBzaW5udm9sbC4gRXIgd2lyZCB2ZXJ3ZW5kZXQsIHVtIG51ciBBcnRpa2VsIGFuenV6ZWlnZW4sIGRpZSBlaW5lciBiZXN0aW1tdGVuIEhpZXJhcmNoaWUgYW5nZWgmb3VtbDtyZW4uIERhYmVpIGsmb3VtbDtubmVuIFdpbGRjYXJkcyB2ZXJ3ZW5kZXQgd2VyZGVuLCB1bSAmdXVtbDtiZXJnZW9yZG5ldGUvdW50ZXJnZW9yZG5ldGUgQmV6aWVodW5nZW4gZWJlbmZhbGxzIGFuenV6ZWlnZW4uIFouQi4gZ2lidCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O0xLV3MqJiMwMzk7fSBlaW5lIFp1c2FtbWVuZmFzc3VuZyBhbGxlciBMS1dzIGF1cywgZWluc2NobGllJnN6bGlnO2xpY2ggYWxsZXIgdW50ZXJnZW9yZG5ldGVuIEVsZW1lbnRlIGRlciBIaWVyYXJjaGllLiBHZW5hdXNvIGdpYnQge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqTEtXcyYjMDM5O30gZWluZSBadXNhbW1lbmZhc3N1bmcgYWxsZXIgTEtXcyBhdXMsIGVpbnNjaGxpZSZzemxpZztsaWNoIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIEVsZW1lbnRlIGluIGRlciBIaWVyYXJjaGllLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ0RpZXNlciBQYXJhbWV0ZXIgd2lyZCB2ZXJ3ZW5kZXQsIHVtIGRhcyBUZW1wbGF0ZSBmZXN0enVsZWdlbiwgd2VsY2hlcyBmJnV1bWw7ciBkaWUgSGllcmFyY2hpZWFuc2ljaHQgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLiBPaG5lIFZvcmdhYmUgd2lyZCBkYXMgU3RhbmRhcmQtVGVtcGxhdGUgdmVyd2VuZGV0Lic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5kZWZhdWx0PC9lbT4tQXVzZ2FiZSBzaW5udm9sbC4gRXIgbGVndCBmZXN0LCB3aWUgdmllbGUgRWxlbWVudGUgcHJvIFNlaXRlIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5oaWVyYXJjaHk8L2VtPi1BdXNnYWJlIHNpbm52b2xsLiBFciBsZWd0IGRpZSBIaWVyYXJjaGllLUlEIGZlc3QsIGFiIHdlbGNoZXIgZGllIEFydGlrZWwgYXVzZ2VnZWJlbiB3ZXJkZW4gc29sbGVuLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5kZXRhaWw8L2VtPiBBcnRpa2VsYW5zaWNodCBzaW5udm9sbC4gRXIgbGVndCBmZXN0LCB3ZWxjaGVyIEFydGlrZWwgYW5nZXplaWd0IHdlcmRlbiBzb2xsLic7CiRsYW5nWydwYXJhbV9zaG93YWxsJ10gPSAnRGllc2VyIFBhcmFtZXRlciBpc3QgbnVyIGluIGRlciA8ZW0+Y2F0ZWdvcnlsaXN0PC9lbT4gS2F0ZWdvcmllbGlzdGVuYW5zaWNodCBzaW5udm9sbC4gSXN0IGRpZXNlciBXZXJ0IGdyJm91bWw7JnN6bGlnO2VyIGFscyAwLCB3ZXJkZW4gYWxsZSBLYXRlZ2llbiBhbmdlemVpZ3QgKGF1JnN6bGlnO2VyIGRlbmVuLCBkaWUgbm9jaCBrZWluZSBBcnRpa2VsIGVudGhhbHRlbikuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ0xlZ3QgZGllIFJlaWhlbmZvbGdlIGRlciBGZWxkLVNvcnRpZXJ1bmcgaW4gZGVyIExpc3RlbmFuc2ljaHQgZmVzdC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXVmc3RlaWdlbmRlIFJlaWhlbmZvbGdlPC9saT4NCiAgPGxpPmRlc2MgLS0gQWJzdGVpZ2VuZGUgUmVpaGVuZm9sZ2U8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnRGllc2VyIFBhcmFtZXRlciBpc3QgbnVyIGluIGRlciBMaXN0ZW5hbnNpY2h0IHNpbm52b2xsLiBFciBsZWd0IGRpZSBTb3J0aWVydW5nIGRlciBBcnRpa2VsIGZlc3QuIE0mb3VtbDtnbGljaGUgV2VydGUgc2luZDoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+IC0tIGRlciBBcnRpa2VsbmFtZTwvbGk+DQogIDxsaT5pZCAtLSBkaWUgQXJ0aWtlbC1JRDwvbGk+DQogIDxsaT53ZWlnaHQgLS0gZGFzIEdld2ljaHQgZGVzIEFydGlrZWxzPC9saT4NCiAgPGxpPnByaWNlIC0tIGRlciBQcmVpcyBkZXMgQXJ0aWtlbHM8L2xpPg0KICA8bGk+c3RhdHVzIC0tIFN0YXR1cyAoRW50d3VyZiBvZGVyIFZlciZvdW1sO2ZmZW50bGljaHQpPC9saT4NCiAgPGxpPnJhbmRvbSAtLSB2ZXJ3ZW5kZXQgYmVpIGplZGVyIEFuZnJhZ2UgZWluZSB6dWYmYXVtbDtsbGlnZSBSZWloZW5mb2xnZTwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIGRhcyBFcnN0ZWxsdW5nc2RhdHVtIGRlcyBBcnRpa2Vscy9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIGRhcyAmQXVtbDtuZGVydW5nc2RhdHVtIGRlcyBBcnRpa2VsczwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIHdpcmQgdmVyd2VuZGV0LCB1bSBkYXMgVGVtcGxhdGUgZmVzdHp1bGVnZW4sIHdlbGNoZXMgZiZ1dW1sO3IgZGllIFp1c2FtbWVuZmFzc3VuZ3NhbnNpY2h0IHZlcndlbmRldCB3ZXJkZW4gc29sbC4gT2huZSBWb3JnYWJlIHdpcmQgZGFzIFN0YW5kYXJkLVRlbXBsYXRlIHZlcndlbmRldC4nOwokbGFuZ1sncGFyZW50J10gPSAnJlV1bWw7YmVyZ2VvcmRuZXRlcyBFbGVtZW50JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGFzIFByb2R1Y3RzLU1vZHVsIHd1cmRlICBpbnN0YWxsaWVydC4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBQcm9kdWN0cy1Nb2R1bCB3dXJkZSBlaW5zY2hsaWUmc3psaWc7bGljaCBhbGxlciB6dWdlaCZvdW1sO3JpZ2VuIERhdGVuIGVudGZlcm50Lic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnV2VubiBTaWUgZGllc2VzIE1vZHVsIGVudGZlcm5lbiwgd2VyZGVuIGF1Y2ggYWxsZSB6dWdlaCZvdW1sO3JpZ2VuIERhdGVuIGdlbCZvdW1sO3NjaHQuIFdvbGxlbiBTaWUgZGFzIHdpcmtsaWNoPyc7CiRsYW5nWydwcmljZSddID0gJ1ByZWlzJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQcmVpcy1FaW5zdGVsbHVuZyc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ0FydGlrZWwnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdBcnRpa2VsLU5hbWUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdBcnRpa2VsJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnQXJ0aWtlbGRldGFpbC1FaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnQXJ0aWtlbC1IaWVyYXJjaGllJzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ0FydGlrZWx2ZXJ3YWx0dW5nJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3MnOwokbGFuZ1sncHJvbXB0J10gPSAnRWluZ2FiZSc7CiRsYW5nWydwcm9tcHRfYWRkX2F0dHJpYnNldCddID0gJ0F0dHJpYnV0ZWluc3RlbGx1bmdlbiBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdEYXMgSG9jaGxhZGVuIHZvbiBEYXRlaWVuIG1pdCBkaWVzZW4gRW5kdW5nZW4gKGYmdXVtbDtyIEZlbGRlciBkZXMgVHlwcyAmIzAzOTtmaWxlJiMwMzk7KSBlcmxhdWJlbic7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnRGFzIEhvY2hsYWRlbiB2b24gQmlsZGVybiBtaXQgZGllc2VuIEVuZHVuZ2VuIChmJnV1bWw7ciBGZWxkZXIgZGVzIFR5cHMgJiMwMzk7aW1hZ2UmIzAzOTspIGVybGF1YmVuJzsKJGxhbmdbJ3Byb21wdF9hdHRyaWJ0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGZvciBkaXNwbGF5IG9mIHByb2R1Y3QgYXR0cmlidXRlIHZhbHVlcyBpbiBkcm9wZG93bic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ1ZvcnNjaGF1YmlsZGVyIGF1dG9tYXRpc2NoIGVyemV1Z2VuJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIGRlciBWb3JzY2hhdWJpbGRlci4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGlzY2ggVm9yc2NoYXViaWxkZXIgZGVyIEJpbGRlciBlcnN0ZWxsZW4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgcHJldmlldyBpbWFnZS4nOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aXNjaCBXYXNzZXJ6ZWljaGVuIGF1ZiBkZW4gQmlsZGVybiBlcnpldWdlbic7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0FrdGl2aWVydW5nIHBlciBWb3JlaW5zdGVsbHVuZyBmJnV1bWw7ciBhbGxlIG5ldWVuIEFydGlrZWwnOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ0JhdGNoIFNpemUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydC1Nb2R1bCc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnQ2FydC1Nb2R1bCBQYXJhbWV0ZXInOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWVuIGVyc3RlbGxlbic7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQXJ0aWtlbGZlbGRlciBlcnN0ZWxsZW4/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdFaW5lIEFydGlrZWwtSGllcmFyY2hpZSBlcnN0ZWxsZW4nOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdFaW5lIENTVi1EYXRlaSBob2NobGFkZW4nOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1cmYXVtbDtocnVuZ3MtWmVpY2hlbic7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdXJmF1bWw7aHJ1bmdzenltYm9sJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ1ZvcmVpbmdlc3RlbGx0IGhhYmVuIGFsbGUgbmV1ZW4gQXJ0aWtlbCBkaWVzZW4gU3RhdHVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdWb3JlaW5nZXN0ZWxsdCBlbnRoYWx0ZW4gYWxsZSBuZXVlbiBBcnRpa2VsIGVpbmVuIFN0ZXVlcmFudGVpbCc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnQWxsZSB6dW0gQXJ0aWtlbCBnZWgmb3VtbDtyZW5kZW4gRGF0ZWllbiBsJm91bWw7c2NoZW4sIHdlbm4gZGVyIEFydGlrZWwgZ2VsJm91bWw7c2NodCB3aXJkPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRmVsZHRyZW5uZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdWb3JlaW5nZXN0ZWxsdGUgRGV0YWlsLVNlaXRlJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0hvdyB0byBoYW5kbGUgZHVwbGljYXRlIHByb2R1Y3RzPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFuZGxlIGltYWdlcz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0JpbGRlcnBmYWQnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJ10gPSAnV2VsY2hlIEFrdGlvbiBzb2xsIGF1c2dlZiZ1dW1sO2hydCB3ZXJkZW4sIHdlbm4gZWluIEFydGlrZWwgbmljaHQgYW5nZXplaWd0IHdlcmRlbiBrb25udGU/JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdFaW5lbiA0MDRlciBGZWhsZXIgZXJ6ZXVnZW4nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzMwMSddID0gJ0VpbmUgMzAxZXIgV2VpdGVybGVpdHVuZyBlcnpldWdlbic7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfZXJyb3Jtc2cnXSA9ICdFaW5lIEZlaGxlcm1lbGR1bmcgYW56ZWlnZW4nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX21zZyddID0gJ0ZlaGxlcm1lbGR1bmcsIHdlbm4gZWluIEFydGlrZWwgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIGtvbm50ZSc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfcGFnZSddID0gJ1BhZ2UgdG8gZG8gcGVybWFuZW50IHJlZGlyZWN0IHRvPyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ1ZvcmVpbmdlc3RlbGx0ZSBTb3J0aWVyLVJlaWhlbmZvbGdlIGluIGRlciBMaXN0ZW5hbnNpY2h0JzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ1ZvcmVpbmdlc3RlbGx0ZXMgU29ydGllci1GZWxkIGluIGRlciBMaXN0ZW5hbnNpY2h0JzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlLVF1ZWxsZSc7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnUHJlZml4IHRvIHVzZSBvbiBhbGwgVVJMUyB0YXJnZXRlZCB0byB0aGlzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ0dld2ljaHRzLUVpbmhlaXQnOwokbGFuZ1sncHVibGljJ10gPSAnSXN0IGRpZXMgZWluICZvdW1sO2ZmZW50bGljaGVzIEZlbGQ/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1ZlciZvdW1sO2ZmZW50bGljaHQnOwokbGFuZ1sncmFuZG9tJ10gPSAnWnVmJmF1bWw7bGxpZyc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ0F1ZiBkaWUgcHJvZ3JhbW1zZWl0aWdlbiBWb3JlaW5zdGVsbHVuZ2VuIHp1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ3JldHVybiddID0gJ1p1ciZ1dW1sO2NrJzsKJGxhbmdbJ3JldHVybl90b190b3AnXSA9ICdadXImdXVtbDtjayBuYWNoIG9iZW4nOwokbGFuZ1sncm9vdCddID0gJ1d1cnplbHZlcnplaWNobmlzJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdCaXR0ZSBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydza3UnXSA9ICdBcnQuLU5yLic7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGllcnQgbmFjaCc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGllci1SZWloZW5mb2xnZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1p1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRWluIFp1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGUgaGluenVmJnV1bWw7Z2VuLyZhdW1sO25kZXJuJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdNd1N0Lic7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdNZWhyemVpbGlnZXMgVGV4dGZlbGQnOwokbGFuZ1sndGV4dGJveCddID0gJ0VpbnplaWxpZ2VzIFRleHRmZWxkJzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ1ZvcmVpbnN0ZWxsdW5nIE5ldWVzIEhpZXJhcmNoaWUgQXVzZ2FiZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnVm9yZWluc3RlbGx1bmcgTmV1ZXMgS2F0ZWdvcmllLUF1c2dhYmUgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ1ZvcmVpbnN0ZWxsdW5nIE5ldWVzIEFydGlrZWwtRGV0YWlsYW5zaWNodCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ1ZvcmVpbnN0ZWxsdW5nIE5ldWVzIEFydGlrZWwtTGlzdGVuYW5zaWNodCBUZW1wbGF0ZSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0FrdHVhbGlzaWVyZW4nOwokbGFuZ1sndXBsb2FkJ10gPSAnSG9jaHp1bGFkZW5kZSBEYXRlaSBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWyd1cmxfYWxpYXMnXSA9ICdVUkwtQWxpYXMnOwokbGFuZ1sndmFsaWQnXSA9ICdHJnV1bWw7bHRpZyc7CiRsYW5nWyd2YWx1ZSddID0gJ1dlcnQnOwokbGFuZ1sndmFsdWVzJ10gPSAnV2VydGUnOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnUGxhdHppZXJ1bmcgZGVzIFdhc3NlcnplaWNoZW5zJzsKJGxhbmdbJ3dlaWdodCddID0gJ0dld2ljaHQnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sncWNhJ10gPSAnUDAtOTQ2Nzc1MDQyLTEyNjcxODM4MTE5ODInOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My44ODU4NTE4NzguMTI2NzE4Njk4NS4xMjY3MTg2OTg1LjEyNjcxODkyNDYuMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2NzE4Njk4NS4xLjEudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2J1Zy9saXN0LzQwOHx1dG1jbWQ9cmVmZXJyYWwnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0xpc2EnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdMaXNhIGthdGVnb29yaWEnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdMaXNhIHYmYXVtbDtsaSc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnTXV1ZGV0YXYnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0xpc2EgdG9vZGUnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdMaXNhIGF0dHJpYnV1dCc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdTZW8gdiZhdW1sO2xpIGthdGVnb29yaWFnYTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnTGlzYSBoaWVyYXJoaWEgZWxlbWVudCc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnTGlzYSBhdHRyaWJ1dWRpIHZhbGlrJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdLYXMgYWludWx0IGFkbWlubmlkIHNhYXZhZCBuJmF1bWw7aGEgc2VkYSBhdHRyaWJ1dXRpPyc7CiRsYW5nWydhbGlnbl91bCddID0gJyZVdW1sO2xlcyB2YXNha3VsZSc7CiRsYW5nWydhbGlnbl91YyddID0gJyZVdW1sO2xlcyBrZXNrZWxlJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnJlV1bWw7bGVzIHBhcmVtYWxlJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnVmFzYWt1bGUga2Vza2VsZSc7CiRsYW5nWydhbGlnbl9tYyddID0gJ0tlc2tlbGUnOwokbGFuZ1snYWxpZ25fbXInXSA9ICdQYXJlbWFsZSBrZXNrZWxlJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQWxsYSB2YXNha3VsZSc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0FsbGEga2Vza2VsZSc7CiRsYW5nWydhbGlnbl9sciddID0gJ0FsbGEgcGFyZW1hbGUnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ0smb3RpbGRlO2lrIGthdGVnb29yaWFkJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdPbGVkIHNhIGtpbmRlbD8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnT2xlZCBzYSBraW5kZWwsIGV0IHNvb3ZpZCBrdXN0dXRhZGEgc2VsbGUgdG9vdGUgamEgayZvdGlsZGU7aWsgc2VsbGVnYSBzZW9zdHV2YSBpbmZvcm1hdHNpb29uaT8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnS2FzdmF2YWx0JzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXVkaSBuaW1pJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYWF0bmUnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdIaWVyYXJjaHkgUmVwb3J0IFRlbXBsYXRlcyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBIaWVyYXJjaHkgUmVwb3J0IFRlbXBsYXRlJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1QmdXVtbDtoaXN0YSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvb3JpYWQnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29vcmlhJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnU2VsbGlzZSBuaW1lZ2Ega2F0ZWdvb3JpYSBla3Npc3RlZXJpYiBqdWJhJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdPbGVkIHNhIGtpbmRlbCwgZXQgc29vdmlkIGt1c3R1dGFkYSBzZWxsZSBlbGVtZW5kaT8gSyZvdGlsZGU7aWsgdG9vdGVkLCBtaXMga2FzdXRhdmFkIHNlZGEgZWxlbWVudGksIHNlYXRha3NlIHB1dWR1dmFrcyBoaWVyYXJoaWFrcyc7CiRsYW5nWydjb25maXJtX2ltcG9ydCddID0gJ09sZWQgc2Ega2luZGVsLCBldCBzYSB0Jm90aWxkZTtlc3RpIHNvb3ZpZCBzZWRhIHRlaGE/XG5cbkViYWtvcnJla3RzZWQgc2VhZGVkIHYmb3RpbGRlO2kgdmFsZSBrb25maWd1cmF0c2lvb25pIGZhaWwgdiZvdGlsZGU7aXZhZCB0JmF1bWw7aWVzdGkgcmlra3VkYSBwcmFlZ3VzZSB0b2ltaXZhIHMmdXVtbDtzdGVlbWkuJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BlZXJpJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdLb3BlZXJpIGthdGVnb29yaWEnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdMb29kdWQnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ0hldGtldiZhdW1sOyZhdW1sO3J0dXMnOwokbGFuZ1snZGF0YSddID0gJ0FuZG1lZCc7CiRsYW5nWydkZWZhdWx0J10gPSAnVmFpa2ltaXNpJzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdWYWlraW1pc2kgbWFsbGlkJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJ10gPSAnPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgY29udGVudHMgb2YgdGhlc2UgdGV4dCBhcmVhcyBhcmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGRlZmF1bHQgY29udGVudCBvZiB0ZW1wbGF0ZXMgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7QWRkIFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuICBFZGl0aW5nIG9uZSBvZiB0aGVzZSB0ZXh0IGFyZWFzIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIHlvdXIgd2Vic2l0ZS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnS3VzdHV0YSc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnS3VzdHV0YSBhdHRyaWJ1dXQnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnS3VzdHV0YSBoaWVyYXJoaWEgZWxlbWVudCc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnS2FoYW5ldmFsdCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0tpcmplbGR1cyc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlsaWQnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsaWRlIG1hbGwnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0xpc2EvTXV1ZGEgZGV0YWlsaWRlIG1hbGwnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEaXNhYmxlZCc7CiRsYW5nWydkcmFmdCddID0gJ011c3RhbmQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnRHJvcGRvd24gT3B0aW9ucyA8ZW0+KGFwcGxpY2FibGUgb25seSBmb3IgZHJvcGRvd24gZmllbGRzKTwvZW0+PGJyLz48YnIvPjxlbT4ob25lIGVudHJ5IHBlciBsaW5lKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdNdXVkYSc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ011dWRhIGF0dHJpYnV1dGknOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnTXV1ZGEgYXR0cmlidXVkaSBzZWFkZWlkJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzIEZvcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdNdXVkYSBhdHRyaWJ1dXRlJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdNdXVkYSBrYXRlZ29vcmlhdCc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ011dWRhIGthdGVnb29yaWEgdiZhdW1sO2xqdSc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnTXV1ZGEgaGllcmFyaGlhIGVsZW1lbnRpJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdTZWxsaXNlIG5pbWVnYSBhdHRyaWJ1dXQgb24ganViYSBvbGVtYXMnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ1YmYXVtbDtsamEgdiZhdW1sOyZhdW1sO3J0dXMgZWkgc2FhIG9sbGEgdCZ1dW1sO2hpJzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdGYWlsaSBmb3JtYWFkaSBwcm9ibGVlbSc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGYWlsaSBlaSBsZWl0dWQnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVlbSBmYWlsaSAlcyBhdmFtaXNlbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnVmFsZSB2YW5lbSAoaGllcmFyaGlhIGVsZW1lbnQgZWkgc2FhIG9sbGEgaXNlZW5kYSB2YW5lbSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnVGhlIGN1c3RvbSBmaWVsZCB2YWx1ZSBlbnRlcmVkIGlzIGludmFsaWQgKGNvbnRhaW5zIG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnQSByZXF1aXJlZCBwYXJhbWV0ZXIgaXMgbWlzc2luZyBvciBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnQW4gaXRlbSBieSB0aGF0IG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgZmllbGQgdHlwZSc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdZb3UgbXVzdCBzdXBwbHkgYSBuYW1lJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdQZXJtaXNzaW9uIERlbmllZCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnU2VsbGlzZSBuaW1lIHRvb2RlIG9uIGp1YmEgb2xlbWFzJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWYWxlIGhpbm5hIG11dWRhdHVzZSB2JmF1bWw7JmF1bWw7cnR1cyBlbGVtZW5kaWxlICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICcmVXVtbDtsZXNsYWFkaW1pbmUgZWJhJm90aWxkZTtubmVzdHVzOiAlcyc7CiRsYW5nWydleHRyYTEnXSA9ICdFa3N0cmEgdiZhdW1sO2xpIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnRWtzdHJhIHYmYXVtbDtsaSAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnViZhdW1sO2xpJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnViZhdW1sO2xqYSBkZWZpbml0c2lvb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnViZhdW1sO2xqYSBkZWZpbml0c2lvb25pZCc7CiRsYW5nWydmaWxlJ10gPSAnRmFpbCc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJpZCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnUGVhbWlzZWQgc2VhZGVkJzsKJGxhbmdbJ2dvJ10gPSAnTWluZSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdheSB0byBjb2xsZWN0LCBvcmdhbml6ZSwgYW5kIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgcHJvZHVjdHMgYW5kIHRoZWlyIGNhdGVnb3JpZXMuICBUaGlzIG1vZHVsZSBjYW4gc3RhbmQgb24gaXRzIG93biwgb3IgYmUgcGFydCBvZiBhbiBlLWNvbW1lcmNlIHNvbHV0aW9uIGlmIHlvdSB3aXNoLiAgVGhlIG1vZHVsZSBzdXBwb3J0cyBhIHByb2R1Y3QgZXhpc3RpbmcgaW4gbW9yZSB0aGFuIG9uZSBjYXRlZ29yeSwgc3VwcG9ydHMgcHJvZHVjdCB3ZWlnaHQsIHByaWNlLCBhbmQgYXR0cmlidXRlIHNldHMuICBFYWNoIGl0ZW0gaW4gYW4gYXR0cmlidXRlIHNldCBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQuICBBbHNvIGEgZ2xvYmFsIGZsYWcgaW5kaWNhdGVzIHdldGhlciB0aGUgcHJvZHVjdCBpcyAmIzAzOTt0YXhhYmxlJiMwMzk7IG9yIG5vdC48L3A+DQogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGZvciB1cCB0byB0d28gaW1hZ2VzIHBlciBwcm9kdWN0LCBjdXN0b20gZmllbGQgZGVmaW5pdGlvbnMsIGFuZCBmb3IgdGhlIGFiaWxpdHkgdG8gZGVzY3JpbWluYXRlIHByaXZhdGUgZnJvbSBwdWJsaWMgZGF0YS48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCiAgPGxpPk51bWVyb3VzIFZpZXdzPC9saT4NCiAgICA8dWw+DQogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4NCiAgICAgIDxsaT5DYXRlZ29yeSBMaXN0IFZpZXc8L2xpPg0KICAgICAgPGxpPkRldGFpbCB2aWV3PC9saT4gDQogICAgICA8bGk+SGllcmFyY2h5IERyaWxsLWRvd24gVmlldzwvbGk+DQogICAgPC91bD4NCiAgPGxpPkVudGlyZWx5IERhdGFiYXNlIFRlbXBsYXRlIERyaXZlbjwvbGk+DQogIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+DQogIDxsaT5Tb3J0aW5nIGFuZCBwYWdpbmF0aW9uIGluIHRoZSBzdW1tYXJ5IHZpZXc8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGV4aXN0IGluIG11bHRpcGxlIGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+TnVtZXJvdXMgY3VzdG9tIGZpZWxkcyBjYW4gYmUgZGVmaW5lZCwgaW5jbHVkaW5nIGltYWdlczwvbGk+DQogIDxsaT5BdXRvbWF0aWMgdGh1bWJuYWlsIGNyZWF0aW9uPC9saT4NCiAgPGxpPkFkbWluIGRlZmluZWQgZmllbGRzPC9saT4NCiAgPGxpPlByb2R1Y3QgYXR0cmlidXRlcyAoaW5jbHVkaW5nIHByaWNlIGFkanVzdG1lbnQpPC9saT4NCiAgPGxpPldlaWdodCBhbmQgdGF4YWJsZSBmaWVsZHMgKGZvciB1c2UgaW4gZS1jb21tZXJjZSBzb2x1dGlvbnMpPC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBoYXZlIGEgc3RhdHVzIChwdWJsaXNoZWQgb3IgZHJhZnQpIGluIG9yZGVyIHRvIGhpZGUgcHJvZHVjdHMgZnJvbSBwdWJsaWMgZGlzcGxheSBhdCBhbnkgdGltZTwvbGk+DQogIDxsaT5QcmV0dHkgVVJMIFN1cHBvcnQ8L2xpPg0KICA8bGk+PHN0cm9uZz5Nb3JlLi4uPC9zdHJvbmc+PC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjx1bD4NCjxsaT5TZXQgcHJlZmVyZW5jZXM8L2xpPg0KPHA+VXN1YWxseSB0aGlzIGlzIGp1c3QgYSBmb3JtYWxpdHkuICBZb3Ugc2hvdWxkIHNwZWNpZnkgeW91ciBkZWZhdWx0IHdlaWdodCB1bml0cywgYW5kIHlvdXIgZGVmYXVsdCBjdXJyZW5jeSBzeW1ib2wgZm9yIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuPC9wPg0KPGxpPlNldHVwIHVzZXJzIGFuZCBwZXJtaXNzaW9uczwvbGk+DQo8cD5UaGlzIG1vZHVsZSB1c2VzIHRoZSAmIzAzOTtNb2RpZnkgVGVtcGxhdGVzJiMwMzk7IHBlcm1pc3Npb24gdG8gYWxsb3cgdXNlcnMgdG8gYmUgYWJsZSB0byBtb2RpZnkgdGhlIHZhcmlvdXMgdGVtcGxhdGVzIHRoYXQgY2FuIGJlIHVzZWQgYnkgdGhpcyBtb2R1bGUuICBBcyB3ZWxsLCB0aGUgJiMwMzk7TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBhZGp1c3QgdGhlIG1vZHVsZXMgcHJlZmVyZW5jZXMuICBJbiBvcmRlciB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIG1vZGlmeSBmaWVsZCBkZWZpbml0aW9ucywgY2F0ZWdvcmllcywgb3IgcHJvZHVjdHMsIHlvdXIgdXNlcnMgd2lsbCBuZWVkIHRoZSAmIzAzOTtNb2RpZnkgUHJvZHVjdHMmIzAzOTsgcGVybWlzc2lvbi48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY2F0ZWdvcmllczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAsIGJ1dCB5b3Ugd2lsbCBwcm9iYWJseSB3YW50IHRvIGRvIHRoaXMgZWFybHkgdG8gcHJldmVudCBoYXZpbmcgdG8gZ28gYmFjayB0byBtb2RpZnkgZWFjaCBhbmQgZXZlcnkgcHJvZHVjdCBsYXRlci4gIEFkZGluZyBhIGNhdGVnb3J5IGlzIGFzIHNpbXBsZSBhcyBjbGlja2luZyBvbiB0aGUgJiMwMzk7Q2F0ZWdvcmllcyYjMDM5OyB0YWIgaW4gdGhlIFByb2R1Y3QgTWFuYWdlcnMgYWRtaW4gc2VjdGlvbiwgYW5kIGNsaWNraW5nICYjMDM5O0FkZCBBIENhdGVnb3J5JiMwMzk7LiAgRnJvbSB0aGVyZSB5b3Ugd2lsbCBiZSBwcm9tcHRlZCBmb3IgYSBjYXRlZ29yeSBuYW1lLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPg0KPHA+Q3VycmVudGx5IHNpeCB0eXBlcyBvZiBjdXN0b20gZmllbGRzIGFyZSBhdmFpbGFibGU6ICYjMDM5O3RleHRib3gmIzAzOTssJiMwMzk7Y2hlY2tib3gmIzAzOTssYW5kICYjMDM5O3RleHRhcmVhLCBkcm9wZG93biwgYW5kIGZpbGUmIzAzOTsuICBTZWxlY3Qgb25lIG9mIHRoZXNlLCBnaXZlIHlvdXIgbmV3IGZpZWxkIGEgbmFtZSwgYW5kIGluZGljYXRlIHdldGhlciB0aGF0IGZpZWxkIHNob3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBwdWJsaWMgaW4gdGhlIHZhcmlvdXMgdmlld3MuICBUaGVuIGhpdCBzdWJtaXQ8L3A+DQo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4NCjxwPllvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzIHRvIGRpc3BsYXkgaW4geW91ciB3ZWJzaXRlIGNvbnRlbnQuICBHaXZlIGVhY2ggcHJvZHVjdCBhIG5hbWUsIGEgcHJpY2UgKG9wdGlvbmFsKSBhIHdlaWdodCAob3B0aW9uYWwpLCBhIHN0YXR1cyAoZHJhZnQgb3IgcHVibGlzaGVkKSwgYW5kIHNvbWUgaW5mb3JtYXRpb24uICBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IGlmIHRoZSBwcm9kdWN0IGlzIHRheGFibGUuPC9wPg0KPHA+SWYgY2F0ZWdvcmllcyBhcmUgZGVmaW5lZCwgdGhlbiBhIGNoZWNrYm94IHdpbGwgYXBwZWFyIGZvciBlYWNoIGRlZmluZWQgY2F0ZWdvcnkuICBZb3UgY2FuIHNpbXBseSBjbGljayB0aGUgY2hlY2tib3ggZmllbGRzIGZvciBlYWNoIGNhdGVnb3J5IHRoYXQgdGhpcyBwcm9kdWN0IHNob3VsZCBiZWxvbmcgdG8uPC9wPg0KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPg0KPGxpPkFkZCB0aGUgYXBwcm9wcmlhdGUgdGFncyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgb3IgcGFnZSBjb250ZW50PC9saT4NCjxwPlRoaXMgY2FuIGJlIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcgaW50byB0aGUgY29udGVudCBhcmVhIG9mIG9uZSBvZiB5b3VyIHBhZ2VzLCBvciBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZS48L3A+DQo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSYjMDM5O2NhdGVnb3J5bmFtZSYjMDM5O308L2NvZGU+PC9wPg0KPC91bD4NCjxoMz5TbWFydHkgUGx1Z2luczwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbHNvIHJlZ2lzdGVycyBvbmUgb3IgbW9yZSBzbWFydHkgcGx1Z2lucyB0byBhaWRlIGluIHJldHJpZXZpbmcgdmFyaW91cyBwcm9kdWN0cyByZWxhdGVkIGluZm9ybWF0aW9uIHdoZW4gZGVzaWduaW5nIHByb2R1Y3RzIG1vZHVsZSB0ZW1wbGF0ZXM6PC9wPg0KPHVsPg0KICA8bGk+e3Byb2R1Y3RzX2dldGNhdGVnb3J5IGNhdGVnb3J5aWQ9JiMwMzk7OTkmIzAzOTsgW2Fzc2lnbj0mIzAzOTt0bXAmIzAzOTtdfQ0KICA8cD5UaGlzIHBsdWdpbiBhbGxvd3MgcmV0cmlldmluZyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGZvciBhIHNwZWNpZmljIGNhdGVnb3J5IGlkIGFuZCBvcHRpb25hbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLiAgVGhlIHJldHVybmVkIGlzIGFuIG9iamVjdCBjb250YWluaW5nIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBjYXRlZ29yeSwgaW5jbHVkaW5nIGl0cyBmaWVsZCB2YWx1ZXMuPGJyLz5pLmU6LiA8Y29kZT57cHJvZHVjdHNfZ2V0Y2F0ZWdvcnkgY2F0ZWdvcnlpZD0xIGFzc2lnbj0mIzAzOTt0bXAmIzAzOTt9Q2F0ZWdvcnkgbmFtZSA9IHskdG1wLT5uYW1lfTwvY29kZT48L3A+DQogICANCiAgIDwvcD4NCiAgPC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gIEhvd2V2ZXIgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciAmIzAzOTtQcm9kdWN0cyYjMDM5OzwvbGk+DQo8bGk+VG8gb2J0YWluIGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHNlbmQgYW4gZW1haWwgdG8gdGhlIGF1dGhvciBhdCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+DQo8bGk+Rm9yIHNvbWUgcXVlc3Rpb25zIGFuZCBsaW1pdGVkIHRlY2huaWNhbCBzdXBwb3J0LCB0aGUgYXV0aG9yIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyaGlhJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmhpYSBwb3NpdHNpb29uJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnUGlsdCc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ1BpbGRpIGsmYXVtbDtpdGxlbWlzZSBzZWFkZWQnOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnSW1wb3J0IFByb2R1Y3RzIGZyb20gQ1NWIGZpbGUnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0luY2x1ZGUgQ2hpbGRyZW4/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnT25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gTm8gd2hpdGVzcGFjZSwgcXVvdGVzLCBvciBub24gbGV0dGVyL251bWJlciBjb21iaW5hdGlvbnMnOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnV2F0ZXJtYXJrIHNldHRpbmdzIGFyZSB0YWtlbiBmcm9tIHRoZSBDR0V4dGVuc2lvbnMgTW9kdWxlJzsKJGxhbmdbJ2luZm9fYmF0Y2hzaXplJ10gPSAnU2V0IHRoZSBudW1iZXIgb2YgbGluZXMgdG8gcHJvY2VzcyBwZXIgJnF1b3Q7YmF0Y2gmcXVvdDsuICBBZnRlciBhIGJhdGNoIGlzIGNvbXBsZXRlLCB0aGUgaW1wb3J0ZXIgd2lsbCByZWRpcmVjdCwgYW5kIHJlc3VtZSBvcGVyYXRpb25zLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgbWVtb3J5IGVycm9ycywgb3IgdGltZW91dCBwcm9ibGVtcyBkdWUgdG8gbGFyZ2UgYW1vdW50cyBvZiBwcm9jZXNzaW5nLCB5b3UgbWF5IG5lZWQgdG8gY29uc3VsdCB5b3VyIGhvc3QgcHJvdmlkZXIsIG9yIHJlZHVjZSB0aGlzIG51bWJlcic7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1RoZXNlIHBhcmFtZXRlcnMgYXJlIGdpdmVuIHRvIHRoZSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBmcm9tIHRoZSBwcm9kdWN0IGRldGFpbCBhbmQgc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSB1bmtub3duIHByb2R1Y3QgZmllbGRzIGF1dG9tYXRpY2FsbHk/IDxlbT4oVGhleSB3aWxsIGJlIGNyZWF0ZWQgYXMgdGV4dCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJvZHVjdCBjYXRlZ29yaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSwgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgaGllcmFyY2hpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnVGhpcyBzeXN0ZW0gdW5kZXJzdGFuZHMgKC4pIGFzIHRoZSBkZWNpbWFsIHBvaW50IHNlcGFyYXRvci4gaS5lLjogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmeSB0aGUgY2hhcmFjdGVyIChvciBjaGFyYWN0ZXJzKSB0aGF0IHNlcGVyYXRlIGVhY2ggZmllbGQnOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZnkgaG93IHRoZSBzeXN0ZW0gc2hvdWxkIGhhbmRsZSBhIHByb2R1Y3Qgd2hvcyBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk5vdGU6IDwvc3Ryb25nPiBBbGwgRmllbGRzIGRlZmluZWQgaGVyZSBhcmUgYXZhaWxhYmxlIHRvIGFsbCBwcm9kdWN0cy4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbXMgd2VyZSBlbmNvdW50ZXJlZCB3aGVuIGRlYWxpbmcgd2l0aCBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzLiAgVGhlIGFjdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaG93ZXZlciB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCBjb3JyZWN0IHRoZXNlIHByb2JsZW1zJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnVGhlIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSkgd2hlcmUgaW1hZ2VzIHJlZmVycmVkIHRvIGluIHRoZSBpbXBvcnQgZmlsZSwgY2FuIGJlIGZvdW5kJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQSBicmllZiB0ZXN0IGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbnB1dCBmaWxlIHNwZWNpZmllZCwgYW5kIGV2ZXJ5dGhpbmcgYXBwZWFycyB0byBiZSBjb3JyZWN0Ljxici8+VGhpcyBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgZmlsZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnVmFsaWQgdmFsdWVzIGFyZSArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdQdWJsaWMgZmllbGRzIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBwdWJsaWMgdG8gc2VlJzsKJGxhbmdbJ2xhYmVsJ10gPSAnTGFiZWwnOwokbGFuZ1snbGFiZWxfc2tpcCddID0gJ1NraXAnOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnT3ZlcndyaXRlJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ1ZpaW1hdGkgbXV1ZGV0dWQnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdUZWluZSBwaWx0JzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ211dWRldHVkJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGZvciBtYW5hZ2luZyBhIGNhdGFsb2cgb2YgcHJvZHVjdHMsIHRoZWlyIHByaWNlLCBpbWFnZXMsIGV0YywgYW5kIGZvciBhbGxvd2luZyB1c2VycyB0byBidWlsZCBhIGNhcnQnOwokbGFuZ1snbmFtZSddID0gJ05pbWknOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdZb3UgZG8gbm90IGhhdmUgdGhlIHJlcXVpcmVkIHBlcm1pc3Npb246ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnVXVzIGthdGVnb29yaWEgbmltaSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdFaSc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ05pbWUgZWkgZXNpdGF0dWQnOwokbGFuZ1snbm9uZSddID0gJ1BvbGUnOwokbGFuZ1snb2YnXSA9ICdrb2trdSc7CiRsYW5nWydwYWdlJ10gPSAnTGVoZWsmdXVtbDtsZyc7CiRsYW5nWydwYWdlX29mJ10gPSAnTGVoZWsmdXVtbDtsZyAlcyAlcyYjMDM5O3N0JzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdMZWhlayZ1dW1sO2xqZSBsaW1paXQnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGRldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGF0IHByb2R1Y3QgdG8gdXNlIGZvciB0aGUgZGlzcGxheS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBwcm9kdWN0IHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ0VlbG1pbmUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUb29kZXRlIG1vb2R1bCBvbiBlZHVrYWx0IHBhaWdhbGRhdHVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUb29kZXRlIG1vb2R1bCBvbiBlZW1sZGF0dWQga29vcyBrJm90aWxkZTtpa2lkZSBzZW90dWQgYW5kbWV0ZWdhJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnRWVsaXN0dXNlZCc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdTZWxsZSBtb29kdWxpIGVlbWFsZGFtaW5lIGVlbWFsZGFiIGthIGsmb3RpbGRlO2lrIHNlb3R1ZCBhbmRtZWQsIG9sZWQgc2Ega2luZGVsLCBldCBzb292aWQgaiZhdW1sO3RrYXRhPyc7CiRsYW5nWydwcmljZSddID0gJ0hpbmQnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ0hpbm5hIG11dWRhdHVzJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnVG9vZGUnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdUb290ZSBuaW1pJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnVG9vdGVkJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnVG9vdGUgaGllcmFyaGlhJzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ1Rvb3RlIGhhbGR1cic7CiRsYW5nWydwcm9ncmVzcyddID0gJ1Byb2dyZXNzJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgZmlsZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBpbWFnZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgaW1hZ2UgdHlwZSBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgdGh1bWJuYWlscyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSB0aHVtYm5haWwuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByZXZpZXcgaW1hZ2VzIG9mIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWdfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSBwcmV2aWV3IGltYWdlLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ0F1dG9tYXRpY2FsbHkgcGxhY2Ugd2F0ZXJtYXJrcyBvbiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdFbmFibGUgYnkgZGVmYXVsdCBmb3IgYWxsIG5ldyBwcm9kdWN0cyc7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnQmF0Y2ggU2l6ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdDYXJ0IE1vZHVsZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnQ2FydCBNb2R1bGUgUGFyYW1ldGVycyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcyddID0gJ0xvbyBrYXRlZ29vcmlhaWQnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWZpZWxkcyddID0gJ0xvbyB0b290ZSB2JmF1bWw7bGphc2lkPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnTG9vIHRvb3RlIGhpZXJhcmhpYSc7CiRsYW5nWydwcm9tcHRfY3N2ZmlsZSddID0gJ1VwbG9hZCBDU1YgRmlsZSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAnVmFsdXV0YSBrb29kJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1ZhbHV1dGEgcyZ1dW1sO21ib2wnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfc3RhdHVzJ10gPSAnVmFpa2ltaXNpIGsmb3RpbGRlO2lraWRlbCB1dXRlbCB0b29kZXRlbCBvbiBzZWUgb2xlayc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnVmFpa2ltaXNpIGsmb3RpbGRlO2lrIHV1ZWQgdG9vdGVkIG9uIG1ha3N1c3RhdmFkJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdLdXN0dXRhIGsmb3RpbGRlO2lrIHRvb3RlZ2Egc2VvdHVkIGZhaWxpZCwga3VpIHRvb2RlIGt1c3R1dGF0YWtzZT8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ1YmYXVtbDtsamEgZXJhbGRhamEnOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdWYWlraW1pc2kgZGV0YWlsaSBsZWh0JzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0hvdyB0byBoYW5kbGUgZHVwbGljYXRlIHByb2R1Y3RzPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFuZGxlIGltYWdlcz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0ltYWdlIFBhdGgnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdEZWZhdWx0IFNvcnQgT3JkZXIgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ0RlZmF1bHQgU29ydCBGaWVsZCBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgU291cmNlJzsKJGxhbmdbJ3Byb21wdF91cmxwcmVmaXgnXSA9ICdQcmVmaXggdG8gdXNlIG9uIGFsbCBVUkxTIHRhcmdldGVkIHRvIHRoaXMgdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnS2FhbHUgJnV1bWw7aGlrdWQnOwokbGFuZ1sncHVibGljJ10gPSAnS2FzIHNlZSBvbiBhdmFsaWsgdiZhdW1sO2xpPz8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnQXZhbGRhdHVkJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1N1dmFsaW5lJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnVGFhc3RhIHRlaGFzZSB2JmF1bWw7JmF1bWw7cnR1c2VkJzsKJGxhbmdbJ3JldHVybiddID0gJ1RhZ2FzaSc7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnVGFnYXNpIHZhYXRlIHRpcHB1JzsKJGxhbmdbJ3Jvb3QnXSA9ICdKdXVyJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWYWxpICZ1dW1sO2tzJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0ZWVyaSc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGVlcmkgaiZhdW1sO3JqZWtvcmQnOwokbGFuZ1snc3RhdHVzJ10gPSAnT2xlayc7CiRsYW5nWydzdWJtaXQnXSA9ICdTYWFkYSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnS29ra3V2Jm90aWxkZTt0dGUgbWFsbCc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0xpc2EvTXV1ZGEga29ra3V2Jm90aWxkZTt0dGUgbWFsbCc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnTWFrc3VzdGF0YXYnOwokbGFuZ1sndGVzdCddID0gJ1Rlc3QnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUJnV1bWw7JnV1bWw7cCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVdWVuZGEnOwokbGFuZ1sndXBsb2FkJ10gPSAnVmFsaSBmYWlsICZ1dW1sO2xlc2xhYWRpbWlzZWtzJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnS2VodGl2JzsKJGxhbmdbJ3ZhbHVlJ10gPSAnViZhdW1sOyZhdW1sO3J0dXMnOwokbGFuZ1sndmFsdWVzJ10gPSAnViZhdW1sOyZhdW1sO3J0dXNlZCc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdWZXNpcGlsZGkgYXN1a29odCc7CiRsYW5nWyd3ZWlnaHQnXSA9ICdLYWFsJzsKJGxhbmdbJ3llcyddID0gJ0phaCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjMyMTU1NDUyNjY3MzIwMTkwMDAuMTI0MTA5MTc4Ny4xMjU1NTI4MzMwLjEyNTU2MDIyOTAuMTY1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1NDQ2OTA4My4xNDUuMjgudXRtY2NuPShvcmdhbmljKXx1dG1jc3I9Z29vZ2xlfHV0bWN0cj1jbXNtcyByZXF1aXJlbWVudHN8dXRtY21kPW9yZ2FuaWMnOwokbGFuZ1sncWNhJ10gPSAnMTI0MDY4MzYxNS01ODQwOTk3My03OTkxNTMwMyc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI1NTYwMjI5MCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0Fqb3V0ZXInOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBam91dGVyIHVuZSBjYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnQWpvdXRlciB1biBjaGFtcCc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnQWp1c3RhYmxlJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdBam91dGVyIHVuIHByb2R1aXQnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdBam91dGVyIHVuIGF0dHJpYnV0JzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29jaWUgdW4gY2hhbXAgJmFncmF2ZTsgbGEgY2F0JmVhY3V0ZTtnb3JpZTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWpvdXRlIHVuZSBoaSZlYWN1dGU7cmFyY2hpZSBkJiMwMzk7YXJ0aWNsZSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnQWpvdXRlciB1bmUgb3B0aW9uIGQmIzAzOTthdHRyaWJ1dCc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnU2V1bHMgbGVzIGFkbWluaXN0cmF0ZXVycyBwZXV2ZW50IHZvaXIgY2V0IGF0dHJpYnV0Pyc7CiRsYW5nWydhbGlnbl91bCddID0gJ0hhdXQgZ2F1Y2hlJzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnSGF1dCBjZW50cmUnOwokbGFuZ1snYWxpZ25fdXInXSA9ICdIYXV0IGRyb2l0JzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWlsaWV1IGdhdWNoZSc7CiRsYW5nWydhbGlnbl9tYyddID0gJ0NlbnRyZSc7CiRsYW5nWydhbGlnbl9tciddID0gJ01pbGlldSBkcm9pdCc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0JhcyBnYXVjaGUnOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdCYXMgY2VudHJlJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQmFzIGRyb2l0JzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdUb3V0ZXMgbGVzIGNhdCZlYWN1dGU7Z29yaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIGNlIHByb2R1aXQsIGV0IHRvdXRlIGwmIzAzOTtpbmZvcm1hdGlvbiBsJiMwMzk7YWNjb21wYWduYW50ID8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kYW50JzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnTm9tIGRlIGwmIzAzOTthdHRyaWJ1dCc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aXF1ZSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIGhpJmVhY3V0ZTtyYXJjaGllJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0Fqb3V0ZXIvRWRpdGVyIHVuIGdhYmFyaXQgZGUgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnVW5lIGNhdCZlYWN1dGU7Z29yaWUgZHUgbSZlY2lyYzttZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyBkZSBsYSBsaXN0ZSBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0Fqb3V0IG91ICZlYWN1dGU7ZGl0aW9uIGQmIzAzOTt1biBnYWJhcml0IGRlIGxpc3RlIGRlIGNhdCZlYWN1dGU7Z29yaWVzJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2FzZSAmYWdyYXZlOyBjb2NoZXInOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdDb25maXJtZXotdm91cyBsYSBzdXBwcmVzc2lvbiBkZSBjZXQgJmVhY3V0ZTtsJmVhY3V0ZTttZW50ID8gVG91cyBsZXMgcHJvZHVpdHMgcXVpIGwmIzAzOTt1dGlsaXNlbnQgbmUgZmlndXJlcm9udCBwbHVzIGRhbnMgbGEgaGkmZWFjdXRlO3JhcmNoaWUuJzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnVm91bGV6LXZvdXMgciZlYWN1dGU7ZWxsZW1lbnQgZWZmZWN0dWVyIGNldHRlIGFjdGlvbiA/XG5cbkRlcyBwYXJhbSZlZ3JhdmU7dHJlcyBpbmNvcnJlY3RzIG91IHVuIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBpbnZhbGlkZSBwZXV2ZW50IGNvcnJvbXByZSBsZSBjYXRhbG9ndWUgZGUgcHJvZHVpdHMgZXQgbGUgcmVuZHJlIGludXRpbGlzYWJsZS4nOwokbGFuZ1snY29weSddID0gJ0NvcGllcic7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29waWVyIGxhIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEYXRlIGRlIGNyJmVhY3V0ZTthdGlvbic7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnVmFsZXVyIGFjdHVlbGxlJzsKJGxhbmdbJ2RhdGEnXSA9ICdEb25uJmVhY3V0ZTtlcyc7CiRsYW5nWydkZWZhdWx0J10gPSAnRCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+TGUgY29udGVudSBkZSBjZXMgem9uZXMgZCYjMDM5OyZlYWN1dGU7ZGl0aW9uIHNvbnQgdXRpbGlzJmVhY3V0ZTtzIHBvdXIgZCZlYWN1dGU7dGVybWluZXIgbGUgY29udGVudSBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgZ2FiYXJpdHMgcXVhbmQgdm91cyBjbGlxdWV6IHN1ciAmcXVvdDtBam91dCBkJiMwMzk7dW4gbm91dmVhdSBnYWJhcml0JnF1b3Q7IGRhbnMgbCYjMDM5O29uZ2xldCBjb3JyZXNwb25kYW50LiBMYSBtb2RpZmljYXRpb24gZHUgY29udGVudSBkYW5zIGNlcyB6b25lcyBkJiMwMzk7JmVhY3V0ZTtkaXRpb24gbiYjMDM5O2F1cmEgcGFzIGQmIzAzOTtlZmZldCBpbW0mZWFjdXRlO2RpYXQgc3VyIHZvdHJlIHNpdGUnOwokbGFuZ1snZGVsZXRlJ10gPSAnU3VwcHJpbWVyJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdTdXBwcmltZXIgbCYjMDM5O2F0dHJpYnV0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ1N1cHByaW1lciB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgZGUgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRhbnQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdVbiBtb2R1bGUgcG91ciBnJmVhY3V0ZTtyZXIgdW4gY2F0YWxvZ3VlIGRlIHByb2R1aXRzLCBsZXVyIHByaXgsIGltYWdlcywgZXRjLCBldCBwb3VyIHBlcm1ldHRyZSBhdXggdXRpbGlzYXRldXJzIGRlIGNyJmVhY3V0ZTtlciB1biBwYW5pZXInOwokbGFuZ1snZGV0YWlscyddID0gJ0QmZWFjdXRlO3RhaWxzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGQmZWFjdXRlO3RhaWxzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBam91dCBvdSAmZWFjdXRlO2RpdGlvbiBkJiMwMzk7dW4gZ2FiYXJpdCBkJmVhY3V0ZTt0YWlscyc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0QmZWFjdXRlO3NhY3RpdiZlYWN1dGU7JzsKJGxhbmdbJ2RyYWZ0J10gPSAnJkVhY3V0ZTtiYXVjaGUnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdNZW51IGQmZWFjdXRlO3JvdWxhbnQnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ09wdGlvbnMgZHUgbWVudSBkJmVhY3V0ZTtyb3VsYW50IDxlbT4odW5pcXVlbWVudCBwb3VyIGxlcyBjaGFtcHMgZGUgdHlwZSBNZW51IGQmZWFjdXRlO3JvdWxhbnQpPC9lbT48YnIvPjxici8+PGVtPih1bmUgb3B0aW9uIGRlIG1lbnUgcGFyIGxpZ25lKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0ZXInOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdFZGl0ZXIgbGVzIEF0dHJpYnV0cyc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICcmRWFjdXRlO2RpdGVyIGxlcyBzZXRzIGQmIzAzOTthdHRyaWJ1dHMnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJyZFYWN1dGU7ZGl0ZXIgbGVzIHNldHMgZCYjMDM5O2F0dHJpYnV0cyBwb3VyJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJyZFYWN1dGU7ZGl0ZXIgbGVzIGF0dHJpYnV0cyc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdGVyIGxhIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdFZGl0ZXIgbGVzIGNoYW1wcyBkZSBsYSBjYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdFZGl0ZXIgbCYjMDM5OyZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSc7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAnSWwgeSBhIGQmZWFjdXRlO2omYWdyYXZlOyB1biBhdHRyaWJ1dCBkdSBtJmVjaXJjO21lIG5vbSc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAnVW5lIHZhbGV1ciBkb2l0ICZlY2lyYzt0cmUgaW5kaXF1JmVhY3V0ZTtlJzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdQcm9ibCZlZ3JhdmU7bWUgZGUgZm9ybWF0IGRlIGZpY2hpZXInOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmljaGllciBpbnRyb3V2YWJsZSc7CiRsYW5nWydlcnJvcl9maWxlb3BlbiddID0gJ0VycmV1ciAmYWdyYXZlOyBsJiMwMzk7b3V2ZXJ0dXJlIGR1IGZpY2hpZXIgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ1BhcmVudCBpbnZhbGlkZSAodW4gZWxlbWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSBuZSBwZXV0ICZlY2lyYzt0cmUgc29uIHByb3ByZSBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ0xhIHZhbGV1ciBkdSBjaGFtcCBwZXJzb25uYWxpcyZlYWN1dGU7IGVzdCBpbnZhbGlkZSAoc2V1bHMgbGVzIGNhcmFjdCZlZ3JhdmU7cmVzIGFscGhhbnVtJmVhY3V0ZTtyaXF1ZXMgc29udCBhdXRvcmlzJmVhY3V0ZTtzKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVbiBwYXJhbSZlZ3JhdmU7dHJlIHJlcXVpcyBlc3QgbWFucXVhbnQgb3UgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdVbiAmZWFjdXRlO2wmZWFjdXRlO21lbnQgcG9ydGFudCBjZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ0Nob2lzaXNzZXIgbGUgdHlwZSBkdSBjaGFtcCc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdVbiBub20gZG9pdCAmZWNpcmM7dHJlIGluZGlxdSZlYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdQZXJtaXNzaW9uIHJlZnVzJmVhY3V0ZTtlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdVbiBwcm9kdWl0IHBvcnRhbnQgY2Ugbm9tIGV4aXN0ZSBkJmVhY3V0ZTtqJmFncmF2ZTsnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0xhIHZhbGV1ciBkJiMwMzk7YWp1c3RlbWVudCBkdSBwcml4IGVzdCBpbnZhbGlkZSBwb3VyIGwmIzAzOTtvYmpldCAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnTCYjMDM5O2Vudm9pIGR1IGZpY2hpZXIgYSAmZWFjdXRlO2Nob3UmZWFjdXRlOzogJXMnOwokbGFuZ1snZXh0cmExJ10gPSAnQ2hhbXAgc3VwcGwmZWFjdXRlO21lbnRhaXJlIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnQ2hhbXAgc3VwcGwmZWFjdXRlO21lbnRhaXJlIDInOwokbGFuZ1snZmllbGQnXSA9ICdDaGFtcCc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0QmZWFjdXRlO2Zpbml0aW9uIGQmIzAzOTt1biBjaGFtcCc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEJmVhY3V0ZTtmaW5pdGlvbnMgZGVzIGNoYW1wcyc7CiRsYW5nWydmaWxlJ10gPSAnRmljaGllcic7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJlcyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmYW1wO2x0OyZhbXA7bHQ7JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXV4JzsKJGxhbmdbJ2dvJ10gPSAnRW52b3llcic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPkNlIG1vZHVsZSBwZXJtZXQgZGUgZCZlYWN1dGU7ZmluaXIsIGQmIzAzOTtvcmdhbmlzZXIgZXQgZCYjMDM5O2FmZmljaGVyIGxlcyBkb25uJmVhY3V0ZTtlcyBkZSBwcm9kdWl0cyBldCBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMgYXNzb2NpJmVhY3V0ZTtlcy4gSWwgcGV1dCBzJiMwMzk7aW50JmVhY3V0ZTtncmVyIGRhbnMgdW5lIHNvbHV0aW9uIGRlIGNvbW1lcmNlICZlYWN1dGU7bGVjdHJvbmlxdWUsIG1haXMgYXVzc2kgZm9uY3Rpb25uZXIgZGUgbWFuaSZlZ3JhdmU7cmUgYXV0b25vbWUuIExlcyBwcm9kdWl0cyBwZXV2ZW50IGFwcGFydGVuaXIgJmFncmF2ZTsgdW5lIG91IHBsdXNpZXVycyBjYXQmZWFjdXRlO2dvcmllcy4gTGUgcHJpeCBldCBsZSBwb2lkcyBkZXMgcHJvZHVpdHMgZXN0IGcmZWFjdXRlO3ImZWFjdXRlOyBwYXIgbGUgbW9kdWxlLCBldCBkZXMgaW5mb3JtYXRpb25zIHN1cHBsJmVhY3V0ZTttZW50YWlyZXMgKGF0dHJpYnV0cykgcGV1dmVudCAmZWNpcmM7dHJlIGFqb3V0JmVhY3V0ZTtlcy4gQ2hhcXVlIGF0dHJpYnV0IHBldXQgZCZlYWN1dGU7ZmluaXIgdW5lIG1vZGlmaWNhdGlvbiBkdSBwcml4IGR1IHByb2R1aXQuICBVbiBpbmRpY2F0ZXVyIHBlcm1ldCBkZSBkJmVhY3V0ZTtmaW5pciBzaSBwYXIgZCZlYWN1dGU7ZmF1dCB1biBwcm9kdWl0IGVzdCBvdSBub24gdGF4JmVhY3V0ZTsuPC9wPg0KICA8cD5MZSBtb2R1bGUgcGVybWV0IGQmIzAzOTthdHRhY2hlciBqdXNxdSYjMDM5OyZhZ3JhdmU7IGRldXggaW1hZ2VzICZhZ3JhdmU7IHVuIHByb2R1aXQsIGRlIGQmZWFjdXRlO2ZpbmlyIGRlcyBjaGFtcHMgcGVyc29ubmFsaXMmZWFjdXRlO3MgcHVibGljcyBvdSBwcml2JmVhY3V0ZTtzLjwvcD4NCjxoMz5Gb25jdGlvbnM6PC9oMz4NCjx1bD4NCiAgPGxpPlR5cGVzIGQmIzAzOTthZmZpY2hhZ2U8L2xpPg0KICAgIDx1bD4NCiAgICAgIDxsaT5BZmZpY2hhZ2UgciZlYWN1dGU7c3VtJmVhY3V0ZTs8L2xpPg0KICAgICAgPGxpPkFmZmljaGFnZSBwYXIgY2F0JmVhY3V0ZTtnb3JpZTwvbGk+DQogICAgICA8bGk+QWZmaWNoYWdlIGQmZWFjdXRlO3RhaWxsJmVhY3V0ZTs8L2xpPiANCiAgICAgIDxsaT5BZmZpY2hhZ2UgaGkmZWFjdXRlO3JhcmNoaXF1ZTwvbGk+DQogICAgPC91bD4NCiAgPGxpPlRvdXMgbGVzIGdhYmFyaXRzIHNvbnQgc3RvY2smZWFjdXRlO3MgZGFucyBsYSBiYXNlIGRlIGRvbm4mZWFjdXRlO2VzPC9saT4NCiAgPHA+UG91ciBjaGFxdWUgdHlwZSBkJiMwMzk7YWZmaWNoYWdlIHBsdXNpZXVycyBnYWJhcml0cyBwZXV0ICZlY2lyYzt0cmUgY3ImZWFjdXRlOyZlYWN1dGU7cywgYXZlYyB1biBnYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0LCBldCBkZXMgZ2FiYXJpdHMgcGFzcyZlYWN1dGU7cyBlbiBwYXJhbSZlZ3JhdmU7dHJlIGRlIGNoYWN1biBkZXMgdHlwZSBkJiMwMzk7YWZmaWNoYWdlLjwvcD4NCiAgPGxpPlRyaSBldCBhZmZpY2hhZ2UgcGFnZSBwYXIgcGFnZSBkYW5zIGRhbnMgbCYjMDM5O2FmZmljaGFnZSByJmVhY3V0ZTtzdW0mZWFjdXRlOzwvbGk+DQogIDxsaT5MZXMgcHJvZHVpdHMgcGV1dmVudCBmaWd1cmVyIGRhbnMgcGx1c2lldXJzIGNhdCZlYWN1dGU7Z29yaWVzPC9saT4NCiAgPGxpPlBvc3NpYmlsaXQmZWFjdXRlOyBkZSBkJmVhY3V0ZTtmaW5pciBhdXRhbnQgZCYjMDM5O2F0dHJpYnV0cyBwZXJzb25uYWxpcyZlYWN1dGU7cyBxdWUgbiZlYWN1dGU7Y2Vzc2FpcmUsIHkgY29tcHJpcyBkZSB0eXBlIGltYWdlIG91IGZpY2hpZXIuPC9saT4NCiAgPGxpPkNyJmVhY3V0ZTthdGlvbiBhdXRvbWF0aXF1ZSBkZXMgaW1hZ2VzIG1pbmlhdHVyZXM8L2xpPg0KICA8bGk+QXR0cmlidXRzIGQmZWFjdXRlO2ZpbmlzIHBhciBsJiMwMzk7YWRtaW5pc3RyYXRldXI8L2xpPg0KICA8bGk+QXR0cmlidXRzIGRlIHByb2R1aXRzIChhdmVjIHBvc3NpYmlsaXQmZWFjdXRlOyBkJiMwMzk7YWp1c3RlbWVudCBkdSBwcml4KTwvbGk+DQogIDxsaT5Qb2lkcyBldCBpbmRpY2F0ZXVyIGRlIHRheGF0aW9uIChwb3VyIGwmIzAzOTtpbnQmZWFjdXRlO2dyYXRpb24gJmFncmF2ZTsgdW4gc3lzdCZlZ3JhdmU7bWUgZGUgY29tbWVyY2UgJmVhY3V0ZTtsZWN0cm9uaXF1ZSk8L2xpPg0KICA8bGk+TGVzIHByb2R1aXRzIG9udCB1biBzdGF0dXQgZGUgcHVibGljYXRpb24gKGJyb3VpbGxvbi9wdWJsaSZlYWN1dGU7KSwgcXVpIHBlcm1ldCBkZSBsZXMgbWFzcXVlciBkYW5zIGxhIHBhcnRpZSBwdWJsaXF1ZSBzaSBiZXNvaW4gZXN0LjwvbGk+DQogIDxsaT5TdXBwb3J0IGRlcyBVUkwgc2ltcGxlczwvbGk+DQogIDxsaT48c3Ryb25nPkV0IGJpZW4gcGx1cyBlbmNvcmUuLi48L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGgzPkNvbW1lbnQgbCYjMDM5O3V0aWxpc2VyID88L2gzPg0KPHVsPg0KPGxpPkQmZWFjdXRlO2ZpbmlyIGxlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzPC9saT4NCjxwPkNlIG4mIzAzOTtlc3QgZW4gcHJpbmNpcGUgcXUmIzAzOTt1bmUgZm9ybWFsaXQmZWFjdXRlOy4gVm91cyBkZXZleiBpbmRpcXVlciBsJiMwMzk7dW5pdCZlYWN1dGU7IGRlIHBvaWRzIGV0IGxlIGNvZGUgbW9uJmVhY3V0ZTt0YWlyZSBxdWUgdm91cyBzb3VoYWl0ZXogdXRpbGlzZXIuPC9wPg0KDQo8bGk+Q29uZmlndXJlciBsZXMgdXRpbGlzYXRldXJzIGR1IGNhdGFsb2d1ZSBldCBsZXVycyBwZXJtaXNzaW9uczwvbGk+DQo8cD5DZSBtb2R1bGUgdXRpbGlzZSBsYSBwZXJtaXNzaW9uICYjMDM5O01vZGlmaWVyIGxlcyBnYWJhcml0cyYjMDM5OyAoTW9kaWZ5VGVtcGxhdGVzKSBwb3VyIGF0dHJpYnVlciBsJiMwMzk7YXV0b3Jpc2F0aW9uIGRlIG1vZGlmaWVyIGxlcyBkaXZlcnMgZ2FiYXJpdHMgZHUgbW9kdWxlLiAgRGUgbSZlY2lyYzttZSwgbGEgcGVybWlzc2lvbiAmIzAzOTtNb2RpZmllciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBkdSBzaXRlJiMwMzk7IChNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcykgZXN0IG4mZWFjdXRlO2Nlc3NhaXJlIHBvdXIgbW9kaWZpZXIgbGVzIHByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMgZHUgbW9kdWxlLiBQb3VyIHBvdXZvaXIgbW9kaWZpZXIgbGEgZCZlYWN1dGU7ZmluaXRpb24gZGVzIGF0dHJpYnV0cywgbGVzIGNhdCZlYWN1dGU7Z29yaWVzIG91IGxlcyBwcm9kdWl0cywgbGVzIHV0aWxpc2F0ZXVycyBkb2l2ZW50IGF2b2lyIGxhIHBlcm1pc3Npb24gJiMwMzk7TW9kaWZpZXIgbGVzIFByb2R1aXRzJiMwMzk7IChNb2RpZnkgUHJvZHVjdHMpLjwvcD4NCg0KPGxpPkNyJmVhY3V0ZTtlciBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMgKG9wdGlvbm5lbCk8L2xpPg0KPHA+Q2V0dGUgJmVhY3V0ZTt0YXBlIG4mIzAzOTtlc3QgcGFzIGluZGlzcGVuc2FibGUsIG1haXMgdm91cyBkZXZyaWV6IGQmZWFjdXRlO2ZpbmlyIGRlcyBjYXQmZWFjdXRlO2dvcmllcyBtYWludGVuYW50IHBvdXIgJmVhY3V0ZTt2aXRlciBwbHVzIHRhcmQgZCYjMDM5O2F2b2lyICZhZ3JhdmU7IHJldmVuaXIgbW9kaWZpZXIgY2hhcXVlIHByb2R1aXQgc2kgdm91cyBjaGFuZ2V6IGQmIzAzOTthdmlzLiBQb3VyIGFqb3V0ZXIgdW5lIGNhdCZlYWN1dGU7Z29yaWUsIGNsaXF1ZXIgc3VyIGwmIzAzOTtvbmdsZXQgJiMwMzk7Q2F0JmVhY3V0ZTtnb3JpZXMmIzAzOTsgZHUgR2VzdGlvbm5haXJlIGRlIFByb2R1aXRzLCBwdWlzIHN1ciAmIzAzOTtBam91dGVyIHVuZSBjYXQmZWFjdXRlO2dvcmllJiMwMzk7LiBWb3VzIGRldnJleiBlbnN1aXRlIGluZGlxdWVyIGxlIG5vbSBkZSBjZXR0ZSBub3V2ZWxsZSBjYXQmZWFjdXRlO2dvcmllLjwvcD4NCg0KPGxpPkNyJmVhY3V0ZTtlciBkZXMgYXR0cmlidXRzIChvcHRpb25uZWwpPC9saT4NCjxwPkNldHRlICZlYWN1dGU7dGFwZSBuJiMwMzk7ZXN0IHBhcyBpbmRpc3BlbnNhYmxlIHNpIGxlIG1vZHVsZSByJmVhY3V0ZTtwb25kIGV4YWN0ZW1lbnQgJmFncmF2ZTsgdm90cmUgYmVzb2luLiBQYXIgY29udHJlLCBzaSB2b3VzIHNvdWhhaXRleiBkJmVhY3V0ZTtmaW5pciBkZXMgaW5mb3JtYXRpb25zIHN1cHBsJmVhY3V0ZTttZW50YWlyZXMgcG91ciBjaGFxdWUgcHJvZHVpdCwgdm91cyBkZXZleiBjciZlYWN1dGU7ZXIgY2VzIGF0dHJpYnV0cy4gIExhIGNyJmVhY3V0ZTthdGlvbiBkJiMwMzk7YXR0cmlidXRzIHJlc3NlbWJsZSAmYWdyYXZlOyBsYSBjciZlYWN1dGU7YXRpb24gZGUgY2F0JmVhY3V0ZTtnb3JpZXMsIG1haXMgdm91cyBkZXZleiBpbmRpcXVlciB1biBwZXUgcGx1cyBkJiMwMzk7aW5mb3JtYXRpb25zLjwvcD4NCjxwPkFjdHVlbGxlbWVudCwgc2l4IHR5cGUgZCYjMDM5O2F0dHJpYnV0cyBzb250IGRpc3BvbmlibGVzOiAmIzAzOTt0ZXh0Ym94JiMwMzk7IChjaGFtcCBkZSB0ZXh0ZSksJiMwMzk7Y2hlY2tib3gmIzAzOTsgKGNhc2UgJmFncmF2ZTsgY29jaGVyKSwgJiMwMzk7dGV4dGFyZWEmIzAzOTsgKHpvbmUgZGUgdGV4dGUpLCBkcm9wZG93biAobWVudSBkJmVhY3V0ZTtyb3VsYW50KSwgJiMwMzk7aW1hZ2UmIzAzOTsgKGZpY2hpZXIgaW1hZ2UpIGV0ICYjMDM5O2ZpbGUmIzAzOTsgKGZpY2hpZXIgcXVlbGNvbnF1ZSkuICBDaG9pc2lzc2V6IHVuIHR5cGUgZCYjMDM5O2F0dHJpYnV0LCBkb25uZXotbHVpIHVuIG5vbSwgdW4gbGFiZWwgZCYjMDM5O2FmZmljaGFnZSwgZXQgaW5kaXF1ZXogc2kgY2V0IGF0dHJpYnV0IGVzdCB2aXNpYmxlIG91IG5vbiBkYW5zIGxhIHBhcnRpZSBwdWJsaXF1ZS48L3A+DQoNCjxsaT5DciZlYWN1dGU7ZXIgZGVzIHByb2R1aXRzPC9saT4NCjxwPlZvdXMgZGV2ZXogY3ImZWFjdXRlO2VyIGRlcyBwcm9kdWl0cyBwb3VyIHF1ZSBjZSBtb2R1bGUgcHVpc3NlIGFmZmljaGVyIHF1ZWxxdWUgY2hvc2UgZGFucyBsYSBwYXJ0aWUgcHVibGlxdWUgZHUgc2l0ZS4gUG91ciBjaGFjdW4gZGVzIHByb2R1aXRzLCBpbmRpcXVleiB1biBub20sIHVuIHByaXggKG9wdGlvbm5lbCkgdW4gcG9pZHMgKG9wdGlvbm5lbCksIHVuIHN0YXR1dCAocHVibGkmZWFjdXRlOy9icm91aWxsb24pLCBldCAmZWFjdXRlO3ZlbnR1ZWxsZW1lbnQgZCYjMDM5O2F1dHJlcyBpbmZvcm1hdGlvbnMuIFZvdXMgcG91dmV6IGF1c3NpIGluZGlxdWVyIHNpIGxlIHByb2R1aXQgZXN0IHNvdW1pcyBhdXggdGF4ZXMuPC9wPg0KPHA+U2kgdm91cyBhdmV6IGNyJmVhY3V0ZTsmZWFjdXRlOyBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMsIGxhIGxpc3RlIGRlIGNlcyBjYXQmZWFjdXRlO2dvcmllIGVzdCBhZmZpY2gmZWFjdXRlO2VzLCBldCB2b3VzIHBvdXZleiBlbiBzJmVhY3V0ZTtsZWN0aW9ubmVyIGxhIG91IGxlcyBjYXQmZWFjdXRlO2dvcmllcyBhdXhxdWVsbGVzIGNlIHByb2R1aXQgYXBwYXJ0aWVudC48L3A+DQo8cD5TaSBkZXMgYXR0cmlidXRzIG9udCAmZWFjdXRlO3QmZWFjdXRlOyBkJmVhY3V0ZTtmaW5pcywgbGVzIGNoYW1wcyBkZSBzYWlzaWUgYXNzb2NpJmVhY3V0ZTtzIHNvbnQgYWZmaWNoJmVhY3V0ZTtzLCBldCB2b3VzIHBvdXJyZXogc2Fpc2lyIGxlcyB2YWxldXJzIGRlIGNoYXF1ZSBhdHRyaWJ1dC4gTGEgc2Fpc2llIGRlcyBhdHRyaWJ1dHMgZXN0IG9wdGlvbm5lbGxlLjwvcD4NCg0KPGxpPkFqb3V0ZXogbGVzIGJhbGlzZXMgZHUgbW9kdWxlIGRhbnMgdm9zIGdhYmFyaXRzIGV0L291IGRhbnMgdm9zIHBhZ2VzPC9saT4NCg0KPHA+SWwgc3VmZml0IGQmIzAzOTtpbnMmZWFjdXRlO3JlciBsYSBiYWxpc2UgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IGRhbnMgbGUgY29udGVudSBkJiMwMzk7dW5lIGRlIHZvcyBwYWdlcywgb3UgZGFucyB1biBkZSB2b3MgZ2FiYXJpdHMuPC9wPg0KPHA+UG91ciB1dGlsaXNlciBkJiMwMzk7YXV0cmVzIGZvbmN0aW9ucywgdm91cyBkZXZleiBham91dGVyIHVuIG91IHBsdXNpZXVycyBwYXJhbSZlZ3JhdmU7dHJlcyAmYWdyYXZlOyBsYSBiYWxpc2UgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+LiBMYSBsaXN0ZSBkZSBjZXMgcGFyYW0mZWdyYXZlO3RyZXMgZmlndXJlIHVuIHBldSBwbHVzIGJhcy4gUGFyIGV4ZW1wbGUsIHBvdXIgYWZmaWNoZXIgbGEgbGlzdGUgZGVzIHByb2R1aXRzIGFwcGFydGVuYW50ICZhZ3JhdmU7IHVuZSBjYXQmZWFjdXRlO2dvcmllLCB1dGlsaXNleiB1bmUgYmFsaXNlIGNvbW1lIDxjb2RlPntQcm9kdWN0cyBjYXRlZ29yeT0mIzAzOTtub21fZGVfbGFfY2F0ZWdvcmllJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPkFzc2lzdGFuY2U8L2gzPg0KPHA+Q2UgbW9kdWxlIGVzdCBmb3Vybmkgc2FucyBhdWN1bmUgYXNzaXN0YW5jZSBjb21tZXJjaWFsZS4gQ2VwZW5kYW50LCB2b3VzIHBvdXZleiB0b3V0IGRlIG0mZWNpcmM7bWUgb2J0ZW5pciBkZSBsJiMwMzk7YWlkZTo8L3A+DQo8dWw+DQo8bGk+UG91ciBvYnRlbmlyIGxhIGRlcm5pJmVncmF2ZTtyZSB2ZXJzaW9uIGRlIGNlIG1vZHVsZSwgY29uc3VsdGVyIGxhIEZBUSwgb3Ugc2lnbmFsZXIgdW4gYnVnLCByZW5kZXotdm91cyBzdXIgbGEgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gZGUgQ01TIE1hZGUgU2ltcGxlLCBldCBmYWl0ZXMgdW5lIHJlY2hlcmNoZSBkZSAmIzAzOTtQcm9kdWN0cyYjMDM5Oy48L2xpPg0KPGxpPlBvdXIgb2J0ZW5pciB1bmUgYXNzaXN0YW5jZSBjb21tZXJjaWFsZSwgY29udGFjdGV6IHBhciBtYWlsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5Sb2JlcnQgQ2FtcGJlbGw8L2E+LCBsJiMwMzk7YXV0ZXVyIGRlIGNlIG1vZHVsZS48L2xpPg0KPGxpPkxlcyA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkZvcnVtcyBDTVMgTWFkZSBTaW1wbGU8L2E+IHNvbnQgYXVzc2kgdW5lIHByJmVhY3V0ZTtjaXNldXNlIHNvdXJjZSBkJiMwMzk7aW5mb3JtYXRpb25zLjwvbGk+DQo8bGk+UG91ciBkZXMgcXVlc3Rpb25zIHNpbXBsZXMgZXN0IHVuIHN1cHBvcnQgdGVjaG5pcXVlIGRlIGJhc2UsIHZvdXMgcG91dmV6IGNvbnRhY3RlciBsJiMwMzk7YXV0ZXVyIGR1IG1vZHVsZSBzdXIgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5sZSBjaGFubmVsIElSQyBDTVM8L2E+LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaGllJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ1Bvc2l0aW9uIGRhbnMgbGEgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snaWQnXSA9ICdJZCAnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2UgJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgZGUgbWFuaXB1bGF0aW9uIGRlcyBpbWFnZXMnOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnSW1wb3J0ZXIgbGVzIHByb2R1aXRzIGRlcHVpcyB1biBmaWNoaWVyIENTVic7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnQXZlYyBsZXMgZGVzY2VuZGFudHMgPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ0NhcmFjdCZlZ3JhdmU7cmVzIGFscGhhbnVtJmVhY3V0ZTtyaXF1ZXMgdW5pcXVlbWVudC4gUGFzIGQmIzAzOTtlc3BhY2VzLCBkZSBndWlsbGVtZXRzIG91IGRlIGNvbWJpbmFpc29ucyBhdXRyZXMgcXVlIGxldHRyZXMgZXQgY2hpZmZyZXMuJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ0xhIGNvbmZpZ3VyYXRpb24gZGVzIGZpbGlncmFuZXMgZXN0IGNlbGxlIGR1IG1vZHVsZSBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdJbmRpcXVleiBsZSBub21icmUgZGUgbGlnbmVzICZhZ3JhdmU7IHRyYWl0ZXIgJmFncmF2ZTsgY2hhcXVlIGl0JmVhY3V0ZTtyYXRpb24uIEQmZWdyYXZlO3MgcXUmIzAzOTt1bmUgaXQmZWFjdXRlO3JhdGlvbiBlc3QgdGVybWluJmVhY3V0ZTtlLCBsZSBzeXN0JmVncmF2ZTttZSBkJiMwMzk7aW1wb3J0YXRpb24gZCZlYWN1dGU7bWFycmUgbGEgc3VpdmFudGUuIFNpIGRlcyBwcm9ibCZlZ3JhdmU7bWVzIGRlIG0mZWFjdXRlO21vaXJlIG91IGRlIHRlbXBzIGQmIzAzOTtleCZlYWN1dGU7Y3V0aW9uIHNlIHByb2R1aXNlbnQsIHImZWFjdXRlO2R1aXNleiBjZXR0ZSB2YWxldXIsIG91IGNvbnN1bHRleiBsZSBmb3Vybmlzc2V1ciBkZSB2b3RyZSBoJmVhY3V0ZTtiZXJnZW1lbnQuJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnQ2VzIHBhcmFtJmVncmF2ZTt0cmVzIHNvbnQgcGFzcyZlYWN1dGU7cyBhdSBtb2R1bGUgcGFuaWVyIHMmZWFjdXRlO2xlY3Rpb25uJmVhY3V0ZTssICZhZ3JhdmU7IHBhcnRpciBkZSBsYSBkZXNjcmlwdGlvbiBldCBkdSByJmVhY3V0ZTtzdW0mZWFjdXRlOyBkdSBwcm9kdWl0Lic7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ0NyJmVhY3V0ZTtlciBhdXRvbWF0aXF1ZW1lbnQgbGVzIGNoYW1wcyBpbmNvbm51cyA/IDxlbT4oY3ImZWFjdXRlO2F0aW9uIGRlIGNoYW1wcyBkZSB0eXBlIHRleHRlKTwvZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0NyJmVhY3V0ZTtlciBhdXRvbWF0aXF1ZW1lbnQgbGVzIGNhdCZlYWN1dGU7Z29yaWVzIGRlIHByb2R1aXRzIHByJmVhY3V0ZTtzZW50ZXMgZGFucyBsZSBmaWNoaWVyIENTViwgc2kgZWxsZXMgbiYjMDM5O2V4aXN0ZW50IHBhcyBkJmVhY3V0ZTtqJmFncmF2ZTsnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdDciZlYWN1dGU7ZXIgYXV0b21hdGlxdWVtZW50IGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGRlIGhpJmVhY3V0ZTtyYXJjaGllIGRlIHByb2R1aXRzIHByJmVhY3V0ZTtzZW50ZXMgZGFucyBsZSBmaWNoaWVyIENTViwgc2kgaWxzIG4mIzAzOTtleGlzdGVudCBwYXMgZCZlYWN1dGU7aiZhZ3JhdmU7JzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ1V0aWxpc2VyIGxlIHBvaW50ICguKSBjb21tZSBzJmVhY3V0ZTtwYXJhdGV1ciBkJmVhY3V0ZTtjaW1hbC4gRXhlbXBsZTogIDxzdHJvbmc+NS4yNTwvc3Ryb25nPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ0luZGlxdWVyIGxlIGNhdGFjdCZlZ3JhdmU7cmUgKG91IGxlcyBjYXJhY3QmZWdyYXZlO3JlcykgcyZlYWN1dGU7cGFyYXRldXJzIGRlIGNoYW1wcyc7CiRsYW5nWydpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnVHJhaXRlbWVudCBhIGFwcGxpcXVlciBhdXggcHJvZHVpdHMgZG9udCBsZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyBkYW5zIGxlIGZpY2hpZXIgQ1NWJzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+Tm90ZTogPC9zdHJvbmc+IExlcyBjaGFtcHMgZCZlYWN1dGU7ZmluaXMgaWNpIHNvbnQgY29tbXVucyAmYWdyYXZlOyB0b3VzIGxlcyBwcm9kdWl0cyc7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGR1IHRyYWl0ZW1lbnQgZCYjMDM5O3VuIG91IHBsdXNpZXVycyBjaGFtcHMgcGVyc29ubmFsaXMmZWFjdXRlO3MuIEwmIzAzOTthY3Rpb24gcyYjMDM5O2VzdCB0ZXJtaW4mZWFjdXRlO2UgY29ycmVjdGVtZW50LCBtYWlzIHZvdXMgZGV2cmlleiBjaGVyY2hlciBsYSBjYXVzZSBkZSBsJiMwMzk7ZXJyZXVyLic7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ0xvcnMgZGUgbCYjMDM5O2ltcG9ydGF0aW9uLCBzaSB1biBub20gZGUgZmljaGllciBpbWFnZSBlc3QgdHJvdXYmZWFjdXRlOyBkYW5zIHVuZSBjb2xvbm5lLCBmYXV0LWlsIGxlIGQmZWFjdXRlO3BsYWNlciBkZSBzb24gciZlYWN1dGU7cGVydG9pcmUgZCYjMDM5O29yaWdpbmUsIGx1aSBham91dGVyIHVuIGZpbGlncmFuZSwgY3ImZWFjdXRlO2VyIHVuZSBtaW5pYXR1cmUsIGV0IGNoYW5nZXIgbGUgdHlwZSBkdSBjaGFtcCBhc3NvY2kmZWFjdXRlOyBlbiBjaGFtcCAmcXVvdDtpbWFnZSZxdW90OyA/JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnQ2hlbWluIChyZWxhdGlmIGF1IHImZWFjdXRlO3BlcnRvaXJlIHVwbG9hZHMpIGRlcyBpbWFnZXMgciZlYWN1dGU7ZiZlYWN1dGU7cmVuYyZlYWN1dGU7ZXMgcGFyIGxlIGZpY2hpZXIgaW1wb3J0JmVhY3V0ZTsgJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQXByJmVncmF2ZTtzIHVuIGV4YW1lbiBwciZlYWN1dGU7bGltaW5haXJlLCBsZSBmaWNoaWVyIHNlbWJsZSBjb3JyZWN0Ljxici8+Q2VwZW5kYW50LCBpbCBzZSBwZXV0IHF1JiMwMzk7aWwgY29udGllbm5lIHRvdXQgZGUgbSZlY2lyYzttZSBkZXMgZXJyZXVycyBxdWkgbmUgcG91cnJvbnQgJmVjaXJjO3RyZSBkJmVhY3V0ZTt0ZWN0JmVhY3V0ZTtlcyBxdWUgbG9ycyBkZSBsJiMwMzk7aW1wb3J0YXRpb24uJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ0xlcyB2YWxldXJzIHZhbGlkZXMgc29udCArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdMZXMgY2hhbXBzIHB1YmxpY3Mgc29udCB2aXNpYmxlcyBwYXIgbGVzIHV0aWxpc2F0ZXVycy4nOwokbGFuZ1snbGFiZWwnXSA9ICcmRWFjdXRlO3RpcXVldHRlJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdJZ25vcmVyJzsKJGxhbmdbJ2xhYmVsX292ZXJ3cml0ZSddID0gJ0VjcmFzZXInOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICcmYW1wO2d0OyZhbXA7Z3Q7JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdEZXJuaSZlZ3JhdmU7cmUgbW9kaWZpY2F0aW9uJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnTG9nbyAnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTG9uZ2V1ciBNYXhpbWFsZSA8ZW0+KGFwcGxpY2FibGUgc2V1bGVtZW50IGF1eCBjaGFtcHMgdGV4dGJveCk8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdEYXRlIGRlIG1vZGlmaWNhdGlvbic7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdVbiBtb2R1bGUgZGUgZ2VzdGlvbiBkJiMwMzk7dW4gY2F0YWxvZ3VlIGRlIHByb2R1aXRzLCBkZSBsZXVycyBwcml4LCBpbWFnZXMsIGV0Yy4gUGVybWV0IGF1c3NpIGF1eCB1dGlsaXNhdGV1cnMgZGUgcmVtcGxpciB1biBwYW5pZXIgZCYjMDM5O2FjaGF0Lic7CiRsYW5nWyduYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnVm91cyBuJiMwMzk7YXZleiBwYXMgbGEgcGVybWlzc2lvbiByZXF1aXNlJm5ic3A7OiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05vdXZlYXUgbm9tIGRlIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmYW1wO2d0Oyc7CiRsYW5nWydubyddID0gJ05vbic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ1ZvdXMgbiYjMDM5O2F2ZXogcGFzIGRvbm4mZWFjdXRlOyBkZSBub20nOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ29mJ10gPSAnZGUnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UgJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdQYWdlICVzIHN1ciAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnRWwmZWFjdXRlO21lbnRzIHBhciBwYWdlJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwJmVhY3V0ZTtjaWZpZSBsZSBjb21wb3J0ZW1lbnQgZHUgbW9kdWxlLiBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCZuYnNwOzoNCjx1bD4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIEFmZmljaGVyIHVuZSBsaXN0ZSBkZSBjYXQmZWFjdXRlO2dvcmllcyBkZSBwcm9kdWl0czwvbEkNCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBBZmZpY2hlIGxlIHNvbW1haXJlIGRlcyBwcm9kdWl0czwvbGk+DQogIDxsaT5kZXRhaWwgLSBBZmZpY2hlIGxlIGQmZWFjdXRlO3RhaWwgZCYjMDM5O3VuIHByb2R1aXQgZG9ubiZlYWN1dGU7PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnTG9ycyBkZSBsJiMwMzk7dXRpbGlzYXRpb24gPGVtPnBhciBkJmVhY3V0ZTtmYXV0PC9lbT4gZW4gbW9kZSBzb21tYWlyZSwgY2UgcGFyYW0mZWdyYXZlO3RyZSwgcXVpIGRldnJhaXQgY29ycmVzcG9uZHJlIGF1IG5vbSBkJiMwMzk7dW5lIGNhdCZlYWN1dGU7Z29yaWUgZXhpc3RhbnRlLCBzZXJhIHV0aWxpcyZlYWN1dGU7IHBvdXIgYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBlbnRyJmVhY3V0ZTtlcyBxdWkgc29udCBkYW5zIGNldHRlIGNhdCZlYWN1dGU7Z29yaWUgKHVuZSBsaXN0ZSBzJmVhY3V0ZTtwYXImZWFjdXRlO2UgcGFyIGRlcyB2aXJndWxlcyBwZXV0ICZlY2lyYzt0cmUgZm91cm5pZSknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVdGlsZSBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIGNhdGVnb3J5bGlzdCwgY2UgcGFyYW0mZWdyYXZlO3RyZSBpbmRpcXVlIHF1ZWwgZ2FiYXJpdCBkb2l0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBsJiMwMzk7YWZmaWNoYWdlLiBTaSBhdWN1bmUgdmFsZXVyIG4mIzAzOTtlc3QgZm91cm5pZSwgbGUgZ2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBhY3R1ZWwgZGUgY2UgdHlwZSBlc3QgdXRpbGlzJmVhY3V0ZTsuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdTcCZlYWN1dGU7Y2lmaWUgbCYjMDM5O2lkIG91IGwmIzAzOTthbGlhcyBkZSBsYSBwYWdlIHF1aSBkb2l0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTtlIHBvdXIgYWZmaWNoZXIgbGUgZCZlYWN1dGU7dGFpbC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdDZSBwYXJhbSZlZ3JhdmU7dHJlIHNwJmVhY3V0ZTtjaWZpZSBxdWVsIGdhYmFyaXQgZGV2cmFpdCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7IHBvdXIgbCYjMDM5O2FmZmljaGFnZSBlbiBtb2RlIGQmZWFjdXRlO3RhaWxzLiBTaSBhdWN1bmUgdmFsZXVyIG4mIzAzOTtlc3QgZm91cm5pZSwgbGUgZ2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBhY3R1ZWwgZGUgY2UgdHlwZSBlc3QgdXRpbGlzJmVhY3V0ZTsuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gDQo8ZW0+ZGVmYXVsdDwvZW0+LCBjZSBwYXJhbSZlZ3JhdmU7dHJlIGluZGlxdWUgcXVlIHNldWxzIGxlcyBwcm9kdWl0cyBhcHBhcnRlbmFudCAmYWdyYXZlOyBjZXQgJmVhY3V0ZTtsJmVhY3V0ZTttZW50IGRlIGhpJmVhY3V0ZTtyYXJjaGllIGRvaXZlbnQgJmVjaXJjO3RyZSBhZmZpY2gmZWFjdXRlO3MuICBEZXMgam9rZXJzIHBldXZlbnQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlO3MgcG91ciAmZWFjdXRlO3RlbmRyZSBsJiMwMzk7YWZmaWNoYWdlIGF1eCBwYXJlbnQgb3UgZW5mYW50cyBkZSBsJiMwMzk7JmVhY3V0ZTtsJmVhY3V0ZTttZW50IGRlIGhpJmVhY3V0ZTtyYXJjaGllIGluZGlxdSZlYWN1dGU7LiAgUGFyIGV4ZW1wbGUge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTtwb3Rpcm9ucyomIzAzOTt9IGFmZmljaGUgdW4gc29tbWFpcmUgZGUgdG91cyBsZXMgcG90aXJvbnMsIGV0IGRlcyBwcm9kdWl0cyBhcHBhcnRlbmFudCBhdXggZGVzY2VuZGFudHMgZGUgbCYjMDM5OyZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSAmIzAzOTtwb3Rpcm9ucyYjMDM5Oy4gIERlIG0mZWNpcmM7bWUsIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnBvdGlyb25zJiMwMzk7fSBhZmZpY2hlIHVuIHNvbW1haXJlIGRlIHRvdXMgbGVzIHBvdGlyb25zLCBldCBkZXMgcHJvZHVpdHMgYXBwYXJ0ZW5hbnQgYXV4IHBhcmVudHMgZGUgbCYjMDM5OyZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSAmIzAzOTtwb3Rpcm9ucyYjMDM5Oyc7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUgaW5kaXF1ZSBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIGxvcnMgZGUgbCYjMDM5O2FmZmljaGFnZSBkZSBsYSBoaSZlYWN1dGU7cmFyY2hpZS4gTGUgZ2FiYXJpdCBkZSBoaSZlYWN1dGU7cmFyY2hpZSBwYXIgZCZlYWN1dGU7ZmF1dCBlc3QgdXRpbGlzJmVhY3V0ZTsgc2kgY2UgcGFyYW0mZWdyYXZlO3RyZSBlc3QgYWJzZW50IG91IHZpZGUuJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPnBhciBkJmVhY3V0ZTtmYXV0PC9lbT4sIGNlIHBhcmFtJmVncmF2ZTt0cmUgc3AmZWFjdXRlO2NpZmllIGNvbWJpZW4gZCYjMDM5O2FydGljbGVzIGRvaXZlbnQgJmVjaXJjO3RyZSBsaXN0JmVhY3V0ZTtzIHN1ciBjaGFxdWUgcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXRpbGlzJmVhY3V0ZTsgc2V1bGVtZW50IGF2ZWMgbCYjMDM5O2FjdGlvbiA8ZW0+aGllcmFyY2h5PC9lbT4sIGNlIHBhcmFtJmVncmF2ZTt0cmUgaW5kaXF1ZSBxdWVsIGVzdCAgbCYjMDM5O0lEIGR1IHByZW1pZXIgJmVhY3V0ZTtsJmVhY3V0ZTttZW50IGRlIGxhIGhpJmVhY3V0ZTtyYXJjaGllICZhZ3JhdmU7IGFmZmljaGVyJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gZCZlYWN1dGU7dGFpbCwgY2UgcGFyYW0mZWdyYXZlO3RyZSBpbmRpcXVlIHF1ZWxzIHByb2R1aXRzIHV0aWxpc2VyIHBvdXIgbCYjMDM5O2FmZmljaGFnZS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3AmZWFjdXRlO2NpZmllIGwmIzAzOTtvcmRyZSBkZXMgY2hhbXBzIHRyaSZlYWN1dGU7cyBlbiBtb2RlIHNvbW1haXJlLiBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udDoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIE9yZHJlIGFzY2VuZGFudDwvbGk+DQogIDxsaT5kZXNjIC0tIE9yZGVyIGRlc2NlbmRhbnQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBzZXVsZW1lbnQgZW4gbW9kZSBzb21tYWlyZSwgY2UgcGFyYW0mZWdyYXZlO3RyZSBkJmVhY3V0ZTt0ZXJtaW5lIGxlIHRyaSBkZXMgZW50ciZlYWN1dGU7ZXMuIExlcyB2YWxldXJzIHBvc3NpYmxlcyBzb250Og0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+cGhvbmU8L2xpPg0KICA8bGk+ZmF4PC9saT4NCiAgPGxpPmVtYWlsPC9saT4NCiAgPGxpPndlYnNpdGUgLS0gTCYjMDM5O3VybCBkdSBzaXRlIGludGVybmV0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gTGEgZGF0ZSBkZSBjciZlYWN1dGU7YXRpb24gZGUgbFwmIzAzOTtlbnRyJmVhY3V0ZTtlPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tICBMYSBkYXRlIGRlIG1vZGlmaWNhdGlvbiBkZSBsXCYjMDM5O2VudHImZWFjdXRlO2U8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnQ2UgcGFyYW0mZWdyYXZlO3RyZSBzcCZlYWN1dGU7Y2lmaWUgcXVlbCBnYWJhcml0IGRvaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBlbiBhZmZpY2hhZ2UgbW9kZSBzb21tYWlyZS4gU2kgYXVjdW5lIHZhbGV1ciBuJiMwMzk7ZXN0IGZvdXJuaWUsIGxlIGdhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgYWN0dWVsIGRlIGNlIHR5cGUgZXN0IHV0aWxpcyZlYWN1dGU7Lic7CiRsYW5nWydwYXJlbnQnXSA9ICdQYXJlbnQgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTGUgbW9kdWxlIFByb2R1aXRzIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgaW5zdGFsbCZlYWN1dGU7IGF2ZWMgc3VjYyZlZ3JhdmU7cyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTGUgbW9kdWxlIFByb2R1aXRzIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgc3VwcHJpbSZlYWN1dGU7LCBhaW5zaSBxdWUgdG91dGVzIGxlcyBkb25uJmVhY3V0ZTtlcyBhc3NvY2kmZWFjdXRlO2VzLic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnU3VwcHJpbWVyIGNlIG1vZHVsZSB2YSBhdXNzaSBzdXBwcmltZXIgdG91dGVzIGxlcyBkb25uJmVhY3V0ZTtlcyBhc3NvY2kmZWFjdXRlO2VzLCAmZWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgY29udGludWVyPyc7CiRsYW5nWydwcmljZSddID0gJ1ByaXgnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ0FqdXN0ZW1lbnQgZGUgcHJpeCc7CiRsYW5nWydwcmV2cGFnZSddID0gJyZhbXA7bHQ7JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWl0JzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnTm9tIGR1IHByb2R1aXQnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdHZXN0aW9ubmFpcmUgZGUgUHJvZHVpdHMnOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdIaWVyYXJjaGllIGRlIHByb2R1aXRzJzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ0dlc3Rpb25uYWlyZSBkZSBQcm9kdWl0cyc7CiRsYW5nWydwcm9ncmVzcyddID0gJ1Byb2dyZXNzaW9uJzsKJGxhbmdbJ3Byb21wdCddID0gJ0xpYmVsbCZlYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ0V4dGVuc2lvbnMgZGUgZmljaGllcnMgYXV0b3JpcyZlYWN1dGU7ZXMgKHBvdXIgbGVzIGNoYW1wcyBkZSB0eXBlIGZpY2hpZXIpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdFeHRlbnNpb25zIGRlIGZpY2hpZXJzIGltYWdlIGF1dG9yaXMmZWFjdXRlO2VzIChwb3VyIGxlcyBjaGFtcHMgZGUgdHlwZSBpbWFnZSknOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdDciZlYWN1dGU7ZXIgYXV0b21hdGlxdWVtZW50IGxlcyBtaW5pYXR1cmVzIGRlcyBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ1RhaWxsZSBtYXhpbXVtIChjJm9jaXJjO3QmZWFjdXRlOyBsZSBwbHVzIGxvbmcpIGRlIGxhIG1pbmlhdHVyZS4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQ3ImZWFjdXRlO2VyIGF1dG9tYXRpcXVlbWVudCB1bmUgcHImZWFjdXRlO3Zpc3VhbGlzYXRpb24gZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnVGFpbGxlIG1heGltdW0gKGMmb2NpcmM7dCZlYWN1dGU7IGxlIHBsdXMgbG9uZykgZGUgbGEgcHImZWFjdXRlO3Zpc3VhbGlzYXRpb24gZGUgbCYjMDM5O2ltYWdlLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ1BsYWNlciBhdXRvbWF0aXF1ZW1lbnQgdW4gZmlsaWdyYW5lIGRhbnMgbGVzIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0FjdGl2ZXIgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciB0b3VzIGxlcyBub3V2ZWF1eCBwcm9kdWl0cyc7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnTm9tYnJlIGRlIGxpZ25lcyBpbXBvcnQmZWFjdXRlO2VzICZhZ3JhdmU7IGNoYXF1ZSBpdCZlYWN1dGU7cmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ01vZHVsZSBQYW5pZXIgKENhcnQpJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlIGR1IG1vZHVsZSBwYW5pZXInOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDciZlYWN1dGU7ZXIgZGVzIGNhdCZlYWN1dGU7Z29yaWVzJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdDciZlYWN1dGU7ZXIgbGVzIGNoYW1wcyBkZXMgcHJvZHVpdHMgPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnQ3ImZWFjdXRlO2VyIHVuZSBoaSZlYWN1dGU7cmFyY2hpZSBkZSBwcm9kdWl0cyc7CiRsYW5nWydwcm9tcHRfY3N2ZmlsZSddID0gJ0Vudm95ZXIgdW4gZmljaGllciBDU1YnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0NvZGUgbW9uJmVhY3V0ZTt0YWlyZSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdNb25uYWllJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ1N0YXR1dCBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgbm91dmVhdXggcHJvZHVpdHMnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfdGF4YWJsZSddID0gJ1RvdXMgbGVzIHByb2R1aXRzIHNvbnQgdGF4JmVhY3V0ZTtzIHBhciBkJmVhY3V0ZTtmYXV0JzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdFZmZhY2VyIGxlcyBmaWNoaWVycyBhdHRhY2gmZWFjdXRlO3MgYXUgcHJvZHVpdCBsb3JzIGRlIHNhIHN1cHByZXNzaW9uID8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ1MmZWFjdXRlO3BhcmF0ZXVyIGRlIGNoYW1wcyc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1BhZ2UgZCZlYWN1dGU7dGFpbCBwYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdNb2RlIGRlIGdlc3Rpb24gZGVzIHByb2R1aXRzIGVuIGRvdWJsb24gPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnRyZlYWN1dGU7cmVyIGxlcyBpbWFnZXMgPyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VwYXRoJ10gPSAnQ2hlbWluIGRlcyBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdPcmRyZSBkZSB0cmkgcGFyIGQmZWFjdXRlO2ZhdXQgZW4gbW9kZSBzb21tYWlyZSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdDaGFtcCBkZSB0cmkgcGFyIGQmZWFjdXRlO2ZhdXQgZW4gbW9kZSBzb21tYWlyZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdTb3VyY2UgZHUgZ2FiYXJpdCc7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnUHImZWFjdXRlO2ZpeGUgJmFncmF2ZTsgdXRpbGlzZXIgc3VyIHRvdXRlcyBsZXMgVVJMIGNpYmwmZWFjdXRlO2VzIGRlIGNlIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdVbml0JmVhY3V0ZTtzIGRlIHBvaWRzJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0VzdC1jZSB1biBjaGFtcCBwdWJsaWM/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1YmxpJmVhY3V0ZTsnOwokbGFuZ1sncmFuZG9tJ10gPSAnQXUgaGFzYXJkJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnUiZlYWN1dGU7aW5pdGlhbGlzZXIgYXV4IHZhbGV1cnMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sncmV0dXJuJ10gPSAnUmV0b3VyJzsKJGxhbmdbJ3JldHVybl90b190b3AnXSA9ICdSZXRvdXIgZW4gaGF1dCBkZSBwYWdlJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSYWNpbmUnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ0Nob2lzaXIuLi4nOwokbGFuZ1snc29ydF9ieSddID0gJ1RyaSBwYXInOwokbGFuZ1snc29ydF9vcmRlciddID0gJ09yZHJlIGRlIHRyaSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXQnOwokbGFuZ1snc3VibWl0J10gPSAnU291bWV0dHJlJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyBkZSBzb21tYWlyZSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0Fqb3V0IG91ICZlYWN1dGU7ZGl0aW9uIGQmIzAzOTt1biBnYWJhcml0IGRlIHNvbW1haXJlJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdUYXhhYmxlICc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdab25lIGRlIHRleHRlJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdDaGFtcCB0ZXh0ZSc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdHYWJhcml0IGRlIGhpJmVhY3V0ZTtyYXJjaGllIHBhciBkJmVhY3V0ZTtmYXV0JzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdHYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IHBvdXIgdW5lIG5vdXZlbGxlIGxpc3RlIGRlIGNhdCZlYWN1dGU7Z29yaWVzJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdHYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IHBvdXIgbCYjMDM5O2FmZmljaGFnZSBkdSBkJmVhY3V0ZTt0YWlsJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnR2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIGwmIzAzOTthZmZpY2hhZ2UgZHUgc29tbWFpcmUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ01pc2UgJmFncmF2ZTsgam91cic7CiRsYW5nWyd1cGxvYWQnXSA9ICdDaG9pc2lzc2V6IGxlIGZpY2hpZXIgJmFncmF2ZTsgZW52b3llcic7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkZSc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbGV1cic7CiRsYW5nWyd2YWx1ZXMnXSA9ICdWYWxldXJzJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ0VtcGxhY2VtZW50IGR1IGZpbGlncmFuZSc7CiRsYW5nWyd3ZWlnaHQnXSA9ICdQb2lkcyc7CiRsYW5nWyd5ZXMnXSA9ICdPdWknOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zNDE0NzY4MTE0OTM4MTkxMDAwLjEyNDUyNDk0MTYuMTI1NDc1NjQ4Ny4xMjU0ODMwMTUxLjgzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1Mzg4NTI4MC43MS4xOS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Y21zbWFkZXNpbXBsZS5mcnx1dG1jY3Q9L2Jsb2cvaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWydxY2EnXSA9ICcxMjQ1MzA5NTU5LTM5MjQ0MjE1LTYxNjA1MTI3JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4yLjEwLjEyNTQ4MzAxNTEnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0FnZ2l1bmdlcmUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZ2dpdW5nZXJlIHVuYSBjYXRlZ29yaWEnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdBZ2dpdW5nZXJlIHVuIGNhbXBvJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdNb2RpZmljYWJpbGUnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0FnZ2l1bmdlcmUgdW4gUHJvZG90dG8nOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdBZ2dpdW5nZXJlIHVuIGF0dHJpYnV0byc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2lhIGNhbXBvIGNvbiBjYXRlZ29yaWE6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0FnZ2l1bmdlcmUgdW4gSXRlbSBnZXJhcmNoaWNvJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdBZ2dpdW5nZXJlIHVuYSBvcHppb25lIGF0dHJpYnV0byc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnU29sbyBsJiMwMzk7YWRtaW4gcHUmb2dyYXZlOyB2ZXJlIHF1ZXN0byBhdHRyaWJ1dG8/JzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnQWx0byBTaW5pc3Rybyc7CiRsYW5nWydhbGlnbl91YyddID0gJ0FsdG8gQ2VudHJhdG8nOwokbGFuZ1snYWxpZ25fdXInXSA9ICdBbHRvIERlc3Rybyc7CiRsYW5nWydhbGlnbl9tbCddID0gJ01lZGlvIFNpbmlzdHJvJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudHJhdG8nOwokbGFuZ1snYWxpZ25fbXInXSA9ICdNZWRpbyBEZXN0cm8nOwokbGFuZ1snYWxpZ25fbGwnXSA9ICdCYXNzbyBTaW5pc3Rybyc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0Jhc3NvIENlbnRyYXRvJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQmFzc28gRGVzdHJvJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdUdXR0ZSBsZSBjYXRlZ29yaWUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1NpZXRlIHNpY3VyaT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyIHByb3ByaW8gY2FuY2VsbGFyZSBxdWVzdG8gcHJvZG90dG8gZSB0dXR0ZSBsZSBpbmZvcm1hemlvbmkgY29ycmVsYXRlPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRlbnRlJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnTm9tZSBhdHRyaWJ1dG8nOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljbyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ01vZGVsbGkgUmVwb3J0IGdlcmFyY2hpY2knOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBNb2RlbGxvIFJlcG9ydCBnZXJhcmNoaWNvJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbGxhJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWEnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdVbmEgY2F0ZWdvcmlhIGNvbiBxdWVsIG5vbWUgZ2kmYWdyYXZlOyBlc2lzdGUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnTW9kZWxsaSBMaXN0YSBjYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FnZ2l1bmdlcmUvTW9kaWZpY2EgdW4gTW9kZWxsbyBMaXN0YUNhdGVnb3JpZSc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyIHByb3ByaW8gY2FuY2VsbGFyZSBxdWVzdG8gbm9kbz8gVHV0dGkgaSBwcm9kb3R0aSBjaGUgc3Rhbm5vIHVzYW5kbyBxdWVzdG8gbm9kbyBub24gc2FyYW5ubyBwaSZ1Z3JhdmU7IGdlcmFyY2hpY2knOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdTaWV0ZSB2ZXJhbWVudGUgc2ljdXJpIGRpIHZvbGVyIGZhcmUgcXVlc3RvP1xuXG5Db25maWd1cmF6aW9uaSBub24gY29ycmV0dGUgbyB1biBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIG5vbiB2YWxpZG8gcG90cmViYmVybyBjb3Jyb21wZXJlIGlsIHNpc3RlbWEuJzsKJGxhbmdbJ2NvcHknXSA9ICdDb3BpYSc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29waWEgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRGF0YSBkaSBjcmVhemlvbmUnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ1ZhbG9yZSBjb3JyZW50ZSc7CiRsYW5nWydkYXRhJ10gPSAnRGF0YSc7CiRsYW5nWydkZWZhdWx0J10gPSAnUHJlZGVmaW5pdG8nOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ01vZGVsbGkgcHJlZGVmaW5pdGknOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGE6PC9zdHJvbmc+IElsIGNvbnRlbnV0byBkaSBxdWVzdGUgYXJlZSB0ZXN0byBzb25vIHVzYXRlIHBlciBkZXRlcm1pbmFyZSBpbCBjb250ZW51dG8gcHJlZGVmaW5pdG8gZGVpIE1vZGVsbGkgcXVhbmRvIHNjZWdsaWV0ZSAmcXVvdDtBZ2dpdW5nZXJlIE1vZGVsbG8mcXVvdDsgbmVsbCYjMDM5O2FwcHJvcHJpYXRvIHRhYi4gTW9kaWZpY2FuZG8gdW5hIGRpIHF1ZXN0ZSBhcmVlIHRlc3RvIG5vbiBhdnJhbm5vIG5lc3N1biBlZmZldHRvIHN1bCB2b3N0cm8gc2l0by4nOwokbGFuZ1snZGVsZXRlJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ0NhbmNlbGxhIGF0dHJpYnV0byc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdDYW5jZWxsYSB1biBJdGVtIGdlcmFyY2hpY28nOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rpc2NlbmRlbnRlJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpemlvbmUnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldHRhZ2xpJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ01vZGVsbGkgRGV0dGFnbGlvJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIHVuIE1vZGVsbG8gRGV0dGFnbGlvJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRGlzYWJpbGl0YXRvJzsKJGxhbmdbJ2RyYWZ0J10gPSAnQm96emEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdUZW5kaW5hJzsKJGxhbmdbJ2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdPcHppb25pIFRlbmRpbmEgPGVtPihhcHBsaWNhYmlsZSBzb2xvIHBlciBjYW1waSBkcm9wZG93bik8L2VtPjxici8+PGJyLz48ZW0+KHVuIHRlcm1pbmUgcGVyIG9nbmkgcmlnYSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpY2EnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdNb2RpZmljYSBBdHRyaWJ1dG8nOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnTW9kaWZpY2Egc2V0dGFnZ2kgQXR0cmlidXRvJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdNb2RpZmljYSBzZXR0YWdnaSBBdHRyaWJ1dG8gcGVyJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ01vZGlmaWNhIEF0dHJpYnV0aSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTW9kaWZpY2EgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnTW9kaWZpY2EgY2FtcGkgZGVsbGEgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdNb2RpZmljYSB1biBJdGVtIGdlcmFyY2hpY28nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ1VuIGF0dHJpYnV0byBjb24gcXVlbCBub21lIGdpJmFncmF2ZTsgZXNpc3RlJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdJbCB2YWxvcmUgZGVsIGNhbXBvIG5vbiBwdSZvZ3JhdmU7IGVzc2VyZSB2dW90byc7CiRsYW5nWydlcnJvcl9maWxlZm9ybWF0J10gPSAnUHJvYmxlbWEgbmVsIGZvcm1hdG8gRmlsZSc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGaWxlIG5vbiB0cm92YXRvJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlbWEgbmVsbCYjMDM5O2FwZXJ0dXJhIGRlbCBGaWxlICVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdQYXJlbnQgaW52YWxpZG8gKHVuIG5vZG8gZ2VyYXJjaGljbyBub24gcHUmb2dyYXZlOyBlc3NlcmUgaWwgcHJvcHJpbyBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ0lsIHZhbG9yZSBkZWwgY2FtcG8gcGVyc29uYWxpenphdG8gbm9uICZlZ3JhdmU7IHZhbGlkbyAoY29udGllbmUgY2FyYXR0ZXJpIG5vbiBhbGZhbnVtZXJpY2kpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1VuIHBhcmFtZXRybyByaWNoaWVzdG8gJmVncmF2ZTsgbWFuY2FudGUgbyBub24gdmFsaWRvJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnVW4gaXRlbSBjb24gcXVlbCBub21lICZlZ3JhdmU7IGdpJmFncmF2ZTsgaW4gdXNvJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnU2kgcHJlZ2Egc2kgc2VsZXppb25hcmUgaWwgdGlwbyBkaSBjYW1wbyc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdUdSBkZXZpIGFnZ2l1bmdlcmUgdW4gbm9tZSc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWVzc28gbmVnYXRvJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdVbiBQcm9kb3R0byBjb24gcXVlbCBub21lIGdpJmFncmF2ZTsgZXNpc3RlJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWYWxvcmUgZGVsIHByZXp6byBkaSBhZGVndWFtZW50byBub24gdmFsaWRvIHBlciBpbCB0ZXJtaW5lICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdVcGxvYWQgZmFsbGl0bzogJXMnOwokbGFuZ1snZXh0cmExJ10gPSAnQ2FtcG8gRXh0cmEgMSc7CiRsYW5nWydleHRyYTInXSA9ICdDYW1wbyBFeHRyYSAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnQ2FtcG8nOwokbGFuZ1snZmllbGRkZWYnXSA9ICdEZWZpbml6aW9uZSBDYW1wbyc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEZWZpbml6aW9uaSBDYW1wbyc7CiRsYW5nWydmaWxlJ10gPSAnRmlsZSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJpJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdDb25maWd1cmF6aW9uaSBnZW5lcmFsaSc7CiRsYW5nWydnbyddID0gJ1ZhaSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdheSB0byBjb2xsZWN0LCBvcmdhbml6ZSwgYW5kIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgcHJvZHVjdHMgYW5kIHRoZWlyIGNhdGVnb3JpZXMuICBUaGlzIG1vZHVsZSBjYW4gc3RhbmQgb24gaXRzIG93biwgb3IgYmUgcGFydCBvZiBhbiBlLWNvbW1lcmNlIHNvbHV0aW9uIGlmIHlvdSB3aXNoLiAgVGhlIG1vZHVsZSBzdXBwb3J0cyBhIHByb2R1Y3QgZXhpc3RpbmcgaW4gbW9yZSB0aGFuIG9uZSBjYXRlZ29yeSwgc3VwcG9ydHMgcHJvZHVjdCB3ZWlnaHQsIHByaWNlLCBhbmQgYXR0cmlidXRlIHNldHMuICBFYWNoIGl0ZW0gaW4gYW4gYXR0cmlidXRlIHNldCBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQuICBBbHNvIGEgZ2xvYmFsIGZsYWcgaW5kaWNhdGVzIHdldGhlciB0aGUgcHJvZHVjdCBpcyAmIzAzOTt0YXhhYmxlJiMwMzk7IG9yIG5vdC48L3A+DQogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGZvciB1cCB0byB0d28gaW1hZ2VzIHBlciBwcm9kdWN0LCBjdXN0b20gZmllbGQgZGVmaW5pdGlvbnMsIGFuZCBmb3IgdGhlIGFiaWxpdHkgdG8gZGVzY3JpbWluYXRlIHByaXZhdGUgZnJvbSBwdWJsaWMgZGF0YS48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCiAgPGxpPk51bWVyb3VzIFZpZXdzPC9saT4NCiAgICA8dWw+DQogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4NCiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IA0KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+DQogICAgPC91bD4NCiAgPGxpPkVudGlyZWx5IERhdGFiYXNlIFRlbXBsYXRlIERyaXZlbjwvbGk+DQogIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+DQogIDxsaT5Tb3J0aW5nIGFuZCBwYWdpbmF0aW9uIGluIHRoZSBzdW1tYXJ5IHZpZXc8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGV4aXN0IGluIG11bHRpcGxlIGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+VXAgdG8gdHdvIGltYWdlcyBwZXIgcHJvZHVjdDwvbGk+DQogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+DQogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+DQogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPg0KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4NCiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8dWw+DQo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4NCjxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4NCjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPg0KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgJiMwMzk7TW9kaWZ5IFRlbXBsYXRlcyYjMDM5OyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICYjMDM5O01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJiMwMzk7IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gYWRqdXN0IHRoZSBtb2R1bGVzIHByZWZlcmVuY2VzLiAgSW4gb3JkZXIgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgZmllbGQgZGVmaW5pdGlvbnMsIGNhdGVnb3JpZXMsIG9yIHByb2R1Y3RzLCB5b3VyIHVzZXJzIHdpbGwgbmVlZCB0aGUgJiMwMzk7TW9kaWZ5IFByb2R1Y3RzJiMwMzk7IHBlcm1pc3Npb24uPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlICYjMDM5O0NhdGVnb3JpZXMmIzAzOTsgdGFiIGluIHRoZSBQcm9kdWN0IE1hbmFnZXJzIGFkbWluIHNlY3Rpb24sIGFuZCBjbGlja2luZyAmIzAzOTtBZGQgQSBDYXRlZ29yeSYjMDM5Oy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAuICBDdXN0b20gZmllbGRzIGFyZSBub3QgbmVlZGVkIGlmIHRoaXMgbW9kdWxlIHN1aXRzIHlvdSBleGFjdGx5IGFzIGl0IGlzLiAgSG93ZXZlciBpZiB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBlYWNoIG9mIHlvdXIgcHJvZHVjdHMgeW91IGNhbiBjcmVhdGUgY3VzdG9tIGZpZWxkcy4gIENyZWF0aW5nIGN1c3RvbSBmaWVsZHMgaXMgc2ltaWxhciB0byBjcmVhdGluZyBjYXRlZ29yaWVzLCBleGNlcHQgdGhhdCBtb3JlIGRhdGEgaXMgcmVxdWVzdGVkLjwvcD4NCjxwPkN1cnJlbnRseSBvbmx5IHRocmVlIHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZTogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEmIzAzOTsuICBTZWxlY3Qgb25lIG9mIHRoZXNlLCBnaXZlIHlvdXIgbmV3IGZpZWxkIGEgbmFtZSwgYW5kIGluZGljYXRlIHdldGhlciB0aGF0IGZpZWxkIHNob3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBwdWJsaWMgaW4gdGhlIHZhcmlvdXMgdmlld3MuICBUaGVuIGhpdCBzdWJtaXQ8L3A+DQo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4NCjxwPllvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzIHRvIGRpc3BsYXkgaW4geW91ciB3ZWJzaXRlIGNvbnRlbnQuICBHaXZlIGVhY2ggcHJvZHVjdCBhIG5hbWUsIGEgcHJpY2UgKG9wdGlvbmFsKSBhIHdlaWdodCAob3B0aW9uYWwpLCBhIHN0YXR1cyAoZHJhZnQgb3IgcHVibGlzaGVkKSwgYW5kIHNvbWUgaW5mb3JtYXRpb24uICBBZGRpdGlvbmFsbHksIHlvdSBjYW4gdXBsb2FkIHVwIHR3byBpbWFnZXMgZm9yIGVhY2ggcHJvZHVjdCwgYW5kIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+DQo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+DQo8cD5JZiBjdXN0b20gZmllbGRzIGFyZSBkZWZpbmVkLCB0aGVuIGlucHV0IGZpZWxkcyBhcHByb3ByaWF0ZSB0byB0aGUgdHlwZSBvZiBjdXN0b20gZmllbGQgd2lsbCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRhdGEgZm9yIGVhY2ggb2YgdGhlbS4gIFRoaXMgZGF0YSBpcyBvcHRpb25hbC48L3A+DQo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPg0KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPklmIHlvdSB3aXNoIHRvIGFsdGVyIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBhcHBsaWNhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LCB5b3UgY2FuIGRvIHRoYXQgYnkgYWRkaW5nIG9uZSBvciBtb3JlIHBhcmFtZXRlcnMgdG8gdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcuICBUaGUgY29tcGxldGUgbGlzdCBvZiBwYXJhbWV0ZXJzIGFuZCB0aGVpciBiZWhhdmlvdXIgaXMgbGlzdGVkIGJlbG93LiAgQnV0IGZvciBleGFtcGxlLCB0byBkaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0cyBpbiBhIHNpbmdsZSwgZXhpc3RpbmcgY2F0ZWdvcnksIHlvdSBjb3VsZCB1c2UgYSB0YWcgbGlrZSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7Y2F0ZWdvcnluYW1lJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMgb3IgdG8gZmlsZSBhIGJ1ZyByZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIG1hZGUgc2ltcGxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPkRldmVsb3BlcnMgRm9yZ2U8L2E+IGFuZCBkbyBhIHNlYXJjaCBmb3IgJiMwMzk7UHJvZHVjdHMmIzAzOTs8L2xpPg0KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcm1zLjwvYT48L2xpPg0KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnR2VyYXJjaGlhJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ1Bvc2l6aW9uZSBnZXJhcmNoaWEnOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbW1hZ2luZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ0NvbmZpZ3VyYXppb25lIEltbWFnaW5pJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ1Byb2RvdHRpIGltcG9ydGF0aSBkYSBmaWxlIENTVic7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkbyBGaWdsaT8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdTb2xvIGNhcmF0dGVyaSBhbGZhbnVtZXJpY2kuIE5vIHNwYXppLCB2aXJnb2xldHRlLCBhcGljaSBvIGNvbWJpbmF6aW9uaSBsZXR0ZXJlL251bWVyaSc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdDb25maWd1cmF6aW9uZSBkZWkgV2F0ZXJtYXJrIHNvbm8gcHJlc2UgZGFsIG1vZHVsbyBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gIEFmdGVyIGEgYmF0Y2ggaXMgY29tcGxldGUsIHRoZSBpbXBvcnRlciB3aWxsIHJlZGlyZWN0LCBhbmQgcmVzdW1lIG9wZXJhdGlvbnMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBtZW1vcnkgZXJyb3JzLCBvciB0aW1lb3V0IHByb2JsZW1zIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIHByb2Nlc3NpbmcsIHlvdSBtYXkgbmVlZCB0byBjb25zdWx0IHlvdXIgaG9zdCBwcm92aWRlciwgb3IgcmVkdWNlIHRoaXMgbnVtYmVyJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnUXVlc3RpIHBhcmFtZXRyaSBzb25vIGRhdGkgYWwgbW9kdWxvIENhcnJlbGxvIHNlbGV6aW9uYXRvIGRhbCBkZXR0YWdsaW8gcHJvZG90dGkgZSB2aXN1YWxpenphemlvbmUgc29tbWFyaW8nOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdDcmVvIGF1dG9tYXRpY2FtZW50ZSBjYW1waSBwcm9kb3R0aSBzZW56YSBub21lPyA8ZW0+KFNhcmFubm8gY3JlYXRpIGNvbWUgY2FtcGkgdGVzdG8pPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGljYW1lbnRlIGNyZW8gY2F0ZWdvcmllIHByb2R1dHRvIGNoZSBjb2luY2lkb25vIGNvbiBxdWVsbGUgZGVsIGZpbGUgQ1NWLCBzZSBub24gZXNpc3Rvbm8gYW5jb3JhJzsKJGxhbmdbJ2luZm9fY3JlYXRlaGllcmFyY2h5J10gPSAnQXV0b21hdGljYW1lbnRlIGNyZW8gZ2VyYXJjaGllIHByb2R1dHRvIGNoZSBjb2luY2lkb25vIGNvbiBxdWVsbGUgZGVsIGZpbGUgQ1NWLCBzZSBub24gZXNpc3Rvbm8gYW5jb3JhJzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ1F1ZXN0byBzaXN0ZW1hIGNhcGlzY2UgaWwgcHVudG8gKC4pIGNvbWUgc2VwYXJhdG9yZSBkZWNpbWFsZS4gYWQgZXNlbXBpbzogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmaWNhIGlsIGNhcmF0dGVyZSAobyBjYXJhdHRlcmkpIGNoZSBzZXBhcmFubyBjaWFzY3VuIGNhbXBvJzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdTcGVjaWZpY2EgY29tZSBpbCBzaXN0ZW1hIGRvdnJlYmJlIHRlbmVyZSB1biBwcm9kb3R0byBxdWFuZG8gaWwgbm9tZSBzZW1wcmUgZXNpc3RlIG5lbCBmaWxlIENTVic7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk5vdGE6PC9zdHJvbmc+IFR1dHRpIGkgQ2FtcGkgcXVhIGRlZmluaXRpIHNvbm8gdXRpbGl6emFiaWxpIHBlciB0dXR0aSBpIHByb2RvdHRpLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdQcm9ibGVtYSBjb24gdW5vIG8gcGkmdWdyYXZlOyBkZWkgY2FtcGkgcGVyc29uYWxpenphdGkuIEwmIzAzOTthemlvbmUgaGEgdGVybWluYXRvIGNvbiBzdWNjZXNzbywgdHV0dGF2aWEgdm9pIGRvdnJlc3RlIGludmVzdGlnYXJlIGUgY29ycmVnZ2VyZSBxdWVzdGkgcHJvYmxlbWknOwokbGFuZ1snaW5mb19oYW5kbGVpbWFnZXMnXSA9ICdVcG9uIGltcG9ydCwgaWYgYW4gaW1hZ2UgZmlsZW5hbWUgaXMgZm91bmQgaW4gYSBmaWVsZCBjb2x1bW4sIHNob3VsZCBpdCBiZSBtb3ZlZCBmcm9tIHRoZSBzb3VyY2UgbG9jYXRpb24sIHdhdGVybWFya2VkLCB0aHVtYm5haWxlZCwgYW5kIHRoZSBmaWVsZCB0eXBlIGNoYW5nZWQgdG8gJnF1b3Q7aW1hZ2UmcXVvdDsnOwokbGFuZ1snaW5mb19pbWFnZXBhdGgnXSA9ICdJbCBwYXRoIChyZWxhdGl2byBhbGxhIGRpcmVjdG9yeSBkaSB1cGxvYWRzKSBkb3ZlIGxlIGltbWFnaW5pLCByaWZlcml0ZSBhbCBmaWxlIGRpIGltcG9ydGF6aW9uZSwgcG9zc29ubyBlc3NlcmUgdHJvdmF0ZSc7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0EgYnJpZWYgdGVzdCBhcyBiZWVuIHBlcmZvcm1lZCBvbiB0aGUgaW5wdXQgZmlsZSBzcGVjaWZpZWQsIGFuZCBldmVyeXRoaW5nIGFwcGVhcnMgdG8gYmUgY29ycmVjdC48YnIvPlRoaXMgaXMgbm8gaW5kaWNhdGlvbiB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgaW4gdGhlIGZpbGUuJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbG9yaSB2YWxpZGkgc29ubyArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdDYW1waSBwdWJibGljaSBzb25vIHV0aWxpenphYmlsaSBwZXIgaWwgcHViYmxpY28gZGEgdmVkZXJlJzsKJGxhbmdbJ2xhYmVsJ10gPSAnRXRpY2hldHRhJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdTYWx0YSc7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdTb3ZyYXNjcml2byc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdVbHRpbWEgbW9kaWZpY2EnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdTZWNvbmRhIGltbWFnaW5lJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01hc3NpbWEgbHVuZ2hlenphIDxlbT4oYXBwbGljYWJpbGUgc29sbyBzdSBjYW1waSB0ZXh0Ym94KTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ0RhdGEgZGkgbW9kaWZpY2EnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxvIHBlciBnZXN0aXJlIHVuIGNhdGFsb2dvIGRpIHByb2RvdHRpLCBsb3JvIHByZXp6aSwgaW1tYWdpbmksIGV0YywgZSBwZXJtZXR0ZSBhZ2xpIHV0ZW50aSBkaSBjb3N0cnVpcmUgdW4gY2FycmVsbG8nOwokbGFuZ1snbmFtZSddID0gJ05vbWUnOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdOb24gYXZldGUgaSBwZXJtZXNzaSByaWNoaWVzdGk6ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnTnVvdm8gbm9tZSBDYXRlZ29yaWEnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdOZXNzdW4gbm9tZSBpbnNlcml0byc7CiRsYW5nWydub25lJ10gPSAnTmVzc3Vubyc7CiRsYW5nWydvZiddID0gJ2RpJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncGFnZV9vZiddID0gJ1BhZ2luYSAlcyBkaSAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTGltaXRlIHBhZ2luYSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1F1YW5kbyB1c2F0byBuZWwgbW9kbyA8ZW0+ZGVmYXVsdDwvZW0+IHNvbW1hcmlvLCBxdWVzdG8gcGFyYW1ldHJvLCBkb3ZyZWJiZSBjb3JyaXNwb25kZXJlIGNvbCBub21lIGRpIHVuYSBjYXRlZ29yaWEgZXNpc3RlbnRlIHVzYXRhIHBlciB2aXN1YWxpenphcmUgc29sbyBxdWVpIHRlcm1pbmkgY2hlIHNvbm8gaW4gcXVlbGxhIGNhdGVnb3JpYS4gKHB1Jm9ncmF2ZTsgZXNzZXJlIGZvcm5pdGEgdW5hIGxpc3RhIHNlcGFyYXRhIGRhIHZpcmdvbGEpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXRpbGUgc29sbyBjb24gbCYjMDM5O2F6aW9uZSBjYXRlZ29yeWxpc3QsIHF1ZXN0byBwYXJhbWV0cm8gaW5kaWNhIGlsIE1vZGVsbG8gY2hlIGRvdnJlYmJlIGVzc2VyZSB1dGlsaXp6YXRvIHBlciBsYSB2aXN1YWxpenphemlvbmUuIFNlIG5lc3N1biB2YWxvcmUgJmVncmF2ZTsgc3BlY2lmaWNhdG8gYWxsb3JhICZlZ3JhdmU7IHVzYXRvIGlsIE1vZGVsbG8gcHJlZGVmaW5pdG8gY29ycmVudGUgZGkgcXVlbCB0aXBvLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnUXVlc3RvIHNwZWNpZmljYSBpbCBJRCBkaSBwYWdpbmEgbyBhbGlhcyBjaGUgZG92cmViYmUgZXNzZXJlIHVzYXRvIHBlciB2aXN1YWxpenphcmUgaWwgcmVwb3J0IGRldHRhZ2xpby4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdRdWVzdG8gcGFyYW1ldHJvIHNwZWNpZmljYSBpbCBNb2RlbGxvIGNoZSBkb3ZyZWJiZSBlc3NlcmUgdXNhdG8gcGVyIGxhIHZpc3VhbGl6emF6aW9uZSBkZXR0YWdsaW8uIFNlIG5lc3N1biB2YWxvcmUgJmVncmF2ZTsgc3BlY2lmaWNhdG8sIGFsbG9yYSBzYXImYWdyYXZlOyB1c2F0byBpbCBNb2RlbGxvIHByZWRlZmluaXRvIGRlbCB0aXBvIGNvcnJlbnRlLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVdGlsZSBzb2xvIGNvbiBsJiMwMzk7YXppb25lIDxlbT5kZWZhdWx0PC9lbT4sIHF1ZXN0byBwYXJhbWV0cm8gc3BlY2lmaWNhIGNoZSBzb2xvaSB0ZXJtaW5pIG5lbGxhIGxvY2F6aW9uZSBnZXJhcmNoaWNhIGRvdnJlYmJlcm8gZXNzZXJlIHZpc3VhbGl6emF0aS4gQ2FyYXR0ZXJpIHdpbGRjYXJkIHBvc3Nvbm8gZXNzZXJlIHVzYXRpIGNvcyZpZ3JhdmU7IGNoZSB2b2kgcG90ZXRlIHNwZWNpZmljYXJlIHJlbGF6aW9uaSBwYXJlbnQvZmlnbGkuIFBlciBlc2VtcGlvIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gY3JlYSB1biByZXBvcnQgc29tbWFyaW8gZGkgdHV0dGkgaSB0cnVja3MsIGluY2x1c28gaSBmaWdsaSBuZWxsYSBnZXJhcmNoaWEuIFNpbWlsbWVudGUsIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gdmlzdWFsaXp6YSB1biByZXBvcnQgc29tbWFyaW8gZGkgdHV0dGkgaSB0cnVja3MgZSB0dXR0aSBpIHByb2RvdHRpIHRlbnV0aSBkYSBvZ25pIHBhcmVudCBuZWxsYSBnZXJhcmNoaWEuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnUXVlc3RvIHBhcmFtZXRybyBzcGVjaWZpY2EgaWwgTW9kZWxsbyBjaGUgZG92cmViYmUgZXNzZXJlIHVzYXRvIHBlciBsYSB2aXN1YWxpenphemlvbmUgZ2VyYXJjaGlhLiBTZSBuZXNzdW4gdmFsb3JlICZlZ3JhdmU7IHNwZWNpZmljYXRvLCBhbGxvcmEgc2FyJmFncmF2ZTsgdXNhdG8gaWwgTW9kZWxsbyBwcmVkZWZpbml0byBkaSBxdWVsIHRpcG8uJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1V0aWxlIHNvbG8gY29uIGwmIzAzOTthemlvbmUgPGVtPmRlZmF1bHQ8L2VtPiwgcXVlc3RvIHBhcmFtZXRybyBzcGVjaWZpY2EgcXVhbnRpIHRlcm1pbmkgZG92cmViYmVybyBlc3NlcmUgdmlzdWFsaXp6YXRpIHN1IGNpYXNjdW5hIHBhZ2luYS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXRpbGUgc29sbyBjb24gbCYjMDM5O2F6aW9uZSA8ZW0+Z2VyYXJjaGlhPC9lbT4sIHF1ZXN0byBwYXJhbWV0cm8gc3BlY2lmaWNhIGwmIzAzOTtpZCBkZWxsYSBnZXJhcmNoaWEgZGVsbGEgbG9jYXppb25lIGRpIHBhcnRlbnphIGRlbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1V0aWxlIHNvbG8gY29uIGwmIzAzOTthemlvbmUgZGV0dGFnbGlvLCBxdWVzdG8gcGFyYW1ldHJvIGluZGljYSBpbCBwcm9kb3R0byBjaGUgZG92cmViYmUgZXNzZXJlIHV0aWxpenphdG8gcGVyIGxhIHZpc3VhbGl6emF6aW9uZS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgY29tcGFuaWVzLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBwcm9kdWN0IGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnUXVlc3RvIHBhcmFtZXRybyBzcGVjaWZpY2EgaWwgTW9kZWxsbyBjaGUgc2FyJmFncmF2ZTsgdXRpbGl6emF0byBwZXIgbGEgdmlzdWFsaXp6YXppb25lIGRlbCBtb2RvIHNvbW1hcmlvLiBTZSBuZXNzdW4gdmFsb3JlICZlZ3JhdmU7IHNwZWNpZmljYXRvLCBhbGxvcmEgaWwgc2FyJmFncmF2ZTsgdXRpbGl6emF0byBpbCBNb2RlbGxvIHByZWRlZmluaXRvIGRpIHF1ZWwgdGlwby4nOwokbGFuZ1sncGFyZW50J10gPSAnUGFkcmUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbCBtb2R1bG8gUHJvZHVjdHMgJmVncmF2ZTsgc3RhdG8gaW5zdGFsbGF0byBjb24gc3VjY2Vzc28nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0lsIG1vZHVsbyBQcm9kdWN0cyAmZWdyYXZlOyBzdGF0byByaW1vc3NvIGNvbiB0dXR0aSBpIGRhdGkgYXNzb2NpYXRpJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW56ZSc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdSaW11b3ZlcmUgcXVlc3RvIG1vZHVsbyByaW11b3ZlciZhZ3JhdmU7IGFuY2hlIHR1dHRpIGkgZGF0aSBhc3NvY2lhdGksIHNpZXRlIHNpY3VyaSBkaSB2b2xlciBwcm9jZWRlcmU/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJlenpvJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQcmV6em8gZGkgYWRlZ3VhbWVudG8nOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kb3R0byc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ05vbWUgUHJvZG90dG8nOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdHZXN0aW9uZSBQcm9kb3R0byc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ0dlcmFyY2hpYSBQcm9kb3R0byc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdHZXN0b3JlIFByb2RvdHRvJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3MnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1Blcm1ldHRlcmUgbCYjMDM5O3VwbG9hZCBkaSBmaWxlcyBjb24gcXVlc3RlIGVzdGVuc2lvbmkgKHBlciBjYW1waSB0aXBvIGZpbGUpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdQZXJtZXR0ZXJlIGwmIzAzOTt1cGxvYWQgZGkgaW1tYWdpbmkgY29uIHF1ZXN0ZSBlc3RlbnNpb25pICAocGVyIGNhbXBpIHRpcG8gaW1tYWdpbmUpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGljYW1lbnRlIGNyZWEgbWluaWF0dXJlIGRpIGltbWFnaW5pJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgdGh1bWJuYWlsLic7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWcnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcmV2aWV3IGltYWdlcyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgcHJldmlldyBpbWFnZS4nOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aWNhbWVudGUgcG9zaXppb25hIHdhdGVybWFya3Mgc3VsbGUgaW1tYWdpbmknOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdBYmlsaXRhdG8gcGVyIHR1dHRpIGkgbnVvdmkgcHJvZG90dGknOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ0JhdGNoIFNpemUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnTW9kdWxvIENhcnQnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1BhcmFtZXRyaSBkZWwgbW9kdWxvIENhcnQnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDcmVhIENhdGVnb3JpZSc7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQ3JlbyBjYW1waSBQcm9kb3R0bz8nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWhpZXJhcmNoeSddID0gJ0NyZWEgZ2VyYXJjaGlhIFByb2RvdHRvJzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnVXBsb2FkIGZpbGUgQ1NWJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdDb2RpY2UgcGVyIGxhIHZhbHV0YSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdTaW1ib2xvIGRpIHZhbHV0YSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdJbCBwcmVkZWZpbml0byAmZWdyYXZlOyBjaGUgdHV0dGkgaSBudW92aSBwcm9kb3R0aSBoYW5ubyBxdWVzdG8gc3RhdG8nOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfdGF4YWJsZSddID0gJ0lsIHByZWRlZmluaXRvICZlZ3JhdmU7IGNoZSB0dXR0aSBpIG51b3ZpIHByb2RvdHRpIGhhbm5vIGxhIHRhc3NhJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdDYW5jZWxsYSBpIGZpbGVzIGFzc29jaWF0aSBjb24gaWwgcHJvZG90dG8gcXVhbmRvIHZpZW5lIGNhbmNlbGxhdG8/JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdGaWVsZCBEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdQYWdpbmEgZGV0dGFnbGlvIHByZWRlZmluaXRhJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0NvbWUgZGV2byB0ZW5lcmUgcHJvZG90dGkgZHVwbGljYXRpPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFuZGxlIGltYWdlcz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ1BhdGggaW1tYWdpbmUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdPcmRpbmUgcHJlZGVmaW5pdG8gbmVsIG1vZG8gc29tbWFyaW8nOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnQ2FtcG8gZGVsbCYjMDM5O29yZGluZSBwcmVkZWZpbml0byBuZWwgbW9kbyBzb21tYXJpbyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHNvcmdlbnRlJzsKJGxhbmdbJ3Byb21wdF91cmxwcmVmaXgnXSA9ICdQcmVmaXggdG8gdXNlIG9uIGFsbCBVUkxTIHRhcmdldGVkIHRvIHRoaXMgdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnVW5pdCZhZ3JhdmU7IGRpIHBlc28nOwokbGFuZ1sncHVibGljJ10gPSAnRSYjMDM5OyB1biBjYW1wbyBwdWJibGljbz8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnUHViYmxpY2F0byc7CiRsYW5nWydyYW5kb20nXSA9ICdSYW5kb20nOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdBenplcmEgYWkgdmFsb3JpIGluaXppYWxpJzsKJGxhbmdbJ3JldHVybiddID0gJ1JpdG9ybmEnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JpdG9ybmEgYWxsJiMwMzk7aW5pemlvJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSYWRpY2UnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGV6aW9uYSB1bm8nOwokbGFuZ1snc29ydF9ieSddID0gJ09yZGluZSBwZXInOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1RpcG8gb3JkaW5lJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXRvJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0ludmlvJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxpIFNvbW1hcmlvJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBNb2RlbGxvIFNvbW1hcmlvJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdJbXBvbmliaWxlJzsKJGxhbmdbJ3Rlc3QnXSA9ICdUZXN0JzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dCBBcmVhJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ01vZGVsbG8gbnVvdm8gUmVwb3J0IGdlcmFyY2hpY28nOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ01vZGVsbG8gbnVvdm8gTGlzdGEgY2F0ZWdvcmllIHByZWRlZmluaXRvJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdNb2RlbGxvIG51b3ZvIGRldHRhZ2xpbyBwcmVkZWZpbml0byc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ01vZGVsbG8gbnVvdm8gc29tbWFyaW8gcHJlZGVmaW5pdG8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWdnaW9ybmEnOwokbGFuZ1sndXBsb2FkJ10gPSAnU2VsZXppb25hIHVuIGZpbGUgcGVyIHVwbG9hZCc7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkbyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbG9yZSc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdWYWxvcmknOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnTG9jYXppb25lIGRlbCBXYXRlcm1hcmsnOwokbGFuZ1snd2VpZ2h0J10gPSAnUGVzbyc7CiRsYW5nWyd5ZXMnXSA9ICdTJmlncmF2ZTsnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzAwMzk2NDgxNzYyOTQ4NDAwLjEyNDM1MTkzNjQuMTI0NzU2MzQxMC4xMjQ5NDcxMDA0LjI1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0OTQ3MTAwNC4yNS4yMS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9Lyc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI0OTQ3MTAwNCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1ByaWTEl3RpJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnUHJpZMSXdGkga2F0ZWdvcmlqxIUnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdQcmlkxJd0aSBsYXVrxIUnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ0FkanVzdGFibGUnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ1ByaWTEl3RpIHByb2R1a3TEhSc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ1ByaWTEl3RpIGF0cmlidXTEhSc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2lhdGUgRmllbGQgd2l0aCBDYXRlZ29yeTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnUHJpZMSXdGkgaGllcmFyY2hpam9zIHB1bmt0xIUnOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ1ByaWTEl3RpIGF0cmlidXRvIHNhdnlixJknOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0FyIHRpayBhZG1pbmlzdHJhdG9yaXVzIGdhbGkgbWF0eXRpICZzY2Fyb247xK8gYXRyaWJ1dMSFPyc7CiRsYW5nWydhbGlnbl91bCddID0gJ1RvcCBMZWZ0JzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnVG9wIENlbnRlcic7CiRsYW5nWydhbGlnbl91ciddID0gJ1RvcCBSaWdodCc7CiRsYW5nWydhbGlnbl9tbCddID0gJ01pZGRsZSBMZWZ0JzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudGVyJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWlkZGxlIFJpZ2h0JzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQm90dG9tIExlZnQnOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdCb3R0b20gQ2VudGVyJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQm90dG9tIFJpZ2h0JzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdWaXNvcyBrYXRlZ29yaWpvcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXIgSsWrcyDEr3NpdGlraW7EmXM/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0FyIHRpa3JhaSBub3JpdGUgaSZzY2Fyb247dHJpbnRpICZzY2Fyb247xK8gcHJvZHVrdMSFIGlyIHZpc8SFIHN1IGp1byBzdXNpanVzacSFIGluZm9ybWFjaWrEhT8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnRGlkxJdqYW7EjWlhaSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0F0cmlidXRvIHBhdmFkaW5pbWFzJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpYyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoaW7El3MgYXRhc2thaXRvcyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUHJpZMSXdGkva2Vpc3RpIGhpZXJhcmNoaW7El3MgYXRhc2thaXRvcyAmc2Nhcm9uO2FibG9uxIUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQXQmc2Nhcm9uO2F1a3RpJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWpvcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ2thdGVnb3JpamEnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdLYXRlZ29yaWphIHRva2kgcGF2YWRpbmltdSBqYXUgeXJhJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0thdGVnb3JpasWzIHPEhXJhJnNjYXJvbjtvICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUHJpZMSXdGkva2Vpc3RpIGthdGVnb3JpasWzIHPEhXJhJnNjYXJvbjtvICZzY2Fyb247YWJsb27EhSc7CiRsYW5nWydjaGVja2JveCddID0gJ1Zhcm5lbMSXJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIG5vZGU/ICBBbnkgcHJvZHVjdHMgdGhhdCBhcmUgdXNpbmcgdGhpcyBub2RlIHdpbGwgYmUgc2V0IHRvIG5vIGhpZXJhcmNoeSc7CiRsYW5nWydjb3B5J10gPSAnQ29weSc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29weSBDYXRlZ29yeSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ1N1a8WrcmltbyBkYXRhJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdQYXN0YXJvamkgcmVpayZzY2Fyb247bcSXJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdOdW1hdHl0aWVqaSAmc2Nhcm9uO2FibG9uYWknOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBjb250ZW50cyBvZiB0aGVzZSB0ZXh0IGFyZWFzIGFyZSB1c2VkIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCBjb250ZW50IG9mIHRlbXBsYXRlcyB3aGVuIHlvdSBjbGljayAmcXVvdDtBZGQgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4gIEVkaXRpbmcgb25lIG9mIHRoZXNlIHRleHQgYXJlYXMgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24geW91ciB3ZWJzaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdUcmludGknOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ1RyaW50aSBhdHJpYnV0xIUnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnVHJpbnRpIGhpZXJhcmNoaWpvcyBwdW5rdMSFJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdNYcW+xJdqYW7EjWlhaSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0FwaWLFq2RpbmltYXMnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFsxJdzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFsacWzICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUHJpZMSXdGkva2Vpc3RpIGRldGFsacWzICZzY2Fyb247YWJsb27EhSc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0kmc2Nhcm9uO2p1bmd0YXMnOwokbGFuZ1snZHJhZnQnXSA9ICdKdW9kcmEmc2Nhcm9uO3Rpcyc7CiRsYW5nWydkcm9wZG93biddID0gJ0kmc2Nhcm9uO2tyZW50YW50aXMgbWVuaXUnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnS2Vpc3RpJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ0tlaXN0aSBhdHJpYnV0xbMgcmlua2luxK8nOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ0tlaXN0aSBhdHJpYnV0xbMgcmlua2luxK8gKGthbT8pJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ0tlaXN0aSBhdHJpYnV0dXMnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1JlZGFndW90aSBrYXRlZ29yaWrEhSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ0VkaXQgQ2F0ZWdvcnkgRmllbGRzJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdLZWlzdGkgaGllcmFyY2hpam9zIHB1bmt0xIUnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0F0cmlidXRhcyB0b2tpdSB2YXJkdSBqYXUgeXJhJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdUaGUgRmllbGQgVmFsdWUgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgTm90IEZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdJbnZhbGlkIFBhcmVudCAoYSBoaWVyYXJjaHkgbm9kZSBjYW5ub3QgYmUgaXQmIzAzOTtzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ1RoZSBjdXN0b20gZmllbGQgdmFsdWUgZW50ZXJlZCBpcyBpbnZhbGlkIChjb250YWlucyBub24gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1Ryxatrc3RhIGFyYmEgbmV0ZWlzaW5nYXMgcHJpdmFsb21hcyBwYXJhbWV0cmFzJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnQW4gaXRlbSBieSB0aGF0IG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQYXNpcmlua2l0ZSBsYXVrbyB0aXDEhSc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdZb3UgbXVzdCBzdXBwbHkgYSBuYW1lJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdQcm9kdWt0YXMgdG9raXUgcGF2YWRpbmltdSBqYXUgeXJhJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdOZXRlaXNpbmdhIGthaW5vcyBwYWtlaXRpbW8gcmVpayZzY2Fyb247bcSXICAmc2Nhcm9uO2lhbSDEr3JhJnNjYXJvbjt1aTogJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ8Sua8SXbGltYXMgbmVwYXZ5a286ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnTGF1a2FzJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnTGF1a28gYXBpYnLEl8W+aW1hcyc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdMYXVrbyBhcGlicsSXxb5pbWFpJzsKJGxhbmdbJ2ZpbGUnXSA9ICdCeWxhJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmFpJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICYjMDM5O3RheGFibGUmIzAzOTsgb3Igbm90LjwvcD4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgZm9yIHVwIHRvIHR3byBpbWFnZXMgcGVyIHByb2R1Y3QsIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkZXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPg0KICAgIDx1bD4NCiAgICAgIDxsaT5TdW1tYXJ5IHZpZXc8L2xpPg0KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+DQogICAgICA8bGk+RGV0YWlsIHZpZXc8L2xpPiANCiAgICAgIDxsaT5IaWVyYXJjaHkgRHJpbGwtZG93biBWaWV3PC9saT4NCiAgICA8L3VsPg0KICA8bGk+RW50aXJlbHkgRGF0YWJhc2UgVGVtcGxhdGUgRHJpdmVuPC9saT4NCiAgPHA+TnVtZXJvdXMgdGVtcGxhdGVzIG9mIGVhY2ggdHlwZSBjYW4gYmUgZGVmaW5lZCwgZGVmYXVsdHMgc3BlY2lmaWVkIGZvciBlYWNoIHR5cGUsIGFuZCB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgZWFjaCBwYXJ0aWN1bGFyIHZpZXcgY2FuIGJlIHNwZWNpZmllZCBhcyBhIHBhcmFtZXRlcjwvcD4NCiAgPGxpPlNvcnRpbmcgYW5kIHBhZ2luYXRpb24gaW4gdGhlIHN1bW1hcnkgdmlldzwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gZXhpc3QgaW4gbXVsdGlwbGUgY2F0ZWdvcmllczwvbGk+DQogIDxsaT5OdW1lcm91cyBjdXN0b20gZmllbGRzIGNhbiBiZSBkZWZpbmVkLCBpbmNsdWRpbmcgaW1hZ2VzPC9saT4NCiAgPGxpPkF1dG9tYXRpYyB0aHVtYm5haWwgY3JlYXRpb248L2xpPg0KICA8bGk+QWRtaW4gZGVmaW5lZCBmaWVsZHM8L2xpPg0KICA8bGk+UHJvZHVjdCBhdHRyaWJ1dGVzIChpbmNsdWRpbmcgcHJpY2UgYWRqdXN0bWVudCk8L2xpPg0KICA8bGk+V2VpZ2h0IGFuZCB0YXhhYmxlIGZpZWxkcyAoZm9yIHVzZSBpbiBlLWNvbW1lcmNlIHNvbHV0aW9ucyk8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGhhdmUgYSBzdGF0dXMgKHB1Ymxpc2hlZCBvciBkcmFmdCkgaW4gb3JkZXIgdG8gaGlkZSBwcm9kdWN0cyBmcm9tIHB1YmxpYyBkaXNwbGF5IGF0IGFueSB0aW1lPC9saT4NCiAgPGxpPlByZXR0eSBVUkwgU3VwcG9ydDwvbGk+DQogIDxsaT48c3Ryb25nPk1vcmUuLi48L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHVsPg0KPGxpPlNldCBwcmVmZXJlbmNlczwvbGk+DQo8cD5Vc3VhbGx5IHRoaXMgaXMganVzdCBhIGZvcm1hbGl0eS4gIFlvdSBzaG91bGQgc3BlY2lmeSB5b3VyIGRlZmF1bHQgd2VpZ2h0IHVuaXRzLCBhbmQgeW91ciBkZWZhdWx0IGN1cnJlbmN5IHN5bWJvbCBmb3IgeW91ciBsb2NhbCBlbnZpcm9ubWVudC48L3A+DQo8bGk+U2V0dXAgdXNlcnMgYW5kIHBlcm1pc3Npb25zPC9saT4NCjxwPlRoaXMgbW9kdWxlIHVzZXMgdGhlICYjMDM5O01vZGlmeSBUZW1wbGF0ZXMmIzAzOTsgcGVybWlzc2lvbiB0byBhbGxvdyB1c2VycyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdmFyaW91cyB0ZW1wbGF0ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGlzIG1vZHVsZS4gIEFzIHdlbGwsIHRoZSAmIzAzOTtNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGFkanVzdCB0aGUgbW9kdWxlcyBwcmVmZXJlbmNlcy4gIEluIG9yZGVyIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8gbW9kaWZ5IGZpZWxkIGRlZmluaXRpb25zLCBjYXRlZ29yaWVzLCBvciBwcm9kdWN0cywgeW91ciB1c2VycyB3aWxsIG5lZWQgdGhlICYjMDM5O01vZGlmeSBQcm9kdWN0cyYjMDM5OyBwZXJtaXNzaW9uLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcCwgYnV0IHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gZG8gdGhpcyBlYXJseSB0byBwcmV2ZW50IGhhdmluZyB0byBnbyBiYWNrIHRvIG1vZGlmeSBlYWNoIGFuZCBldmVyeSBwcm9kdWN0IGxhdGVyLiAgQWRkaW5nIGEgY2F0ZWdvcnkgaXMgYXMgc2ltcGxlIGFzIGNsaWNraW5nIG9uIHRoZSAmIzAzOTtDYXRlZ29yaWVzJiMwMzk7IHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgJiMwMzk7QWRkIEEgQ2F0ZWdvcnkmIzAzOTsuICBGcm9tIHRoZXJlIHlvdSB3aWxsIGJlIHByb21wdGVkIGZvciBhIGNhdGVnb3J5IG5hbWUuPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLiAgQ3VzdG9tIGZpZWxkcyBhcmUgbm90IG5lZWRlZCBpZiB0aGlzIG1vZHVsZSBzdWl0cyB5b3UgZXhhY3RseSBhcyBpdCBpcy4gIEhvd2V2ZXIgaWYgeW91IHdvdWxkIGxpa2UgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBvZiB5b3VyIHByb2R1Y3RzIHlvdSBjYW4gY3JlYXRlIGN1c3RvbSBmaWVsZHMuICBDcmVhdGluZyBjdXN0b20gZmllbGRzIGlzIHNpbWlsYXIgdG8gY3JlYXRpbmcgY2F0ZWdvcmllcywgZXhjZXB0IHRoYXQgbW9yZSBkYXRhIGlzIHJlcXVlc3RlZC48L3A+DQo8cD5DdXJyZW50bHkgc2l4IHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZTogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEsIGRyb3Bkb3duLCBhbmQgZmlsZSYjMDM5Oy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4NCjxsaT5DcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHM8L2xpPg0KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+DQo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+DQo8cD5JZiBjdXN0b20gZmllbGRzIGFyZSBkZWZpbmVkLCB0aGVuIGlucHV0IGZpZWxkcyBhcHByb3ByaWF0ZSB0byB0aGUgdHlwZSBvZiBjdXN0b20gZmllbGQgd2lsbCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRhdGEgZm9yIGVhY2ggb2YgdGhlbS4gIFRoaXMgZGF0YSBpcyBvcHRpb25hbC48L3A+DQo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPg0KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPklmIHlvdSB3aXNoIHRvIGFsdGVyIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBhcHBsaWNhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LCB5b3UgY2FuIGRvIHRoYXQgYnkgYWRkaW5nIG9uZSBvciBtb3JlIHBhcmFtZXRlcnMgdG8gdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcuICBUaGUgY29tcGxldGUgbGlzdCBvZiBwYXJhbWV0ZXJzIGFuZCB0aGVpciBiZWhhdmlvdXIgaXMgbGlzdGVkIGJlbG93LiAgQnV0IGZvciBleGFtcGxlLCB0byBkaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0cyBpbiBhIHNpbmdsZSwgZXhpc3RpbmcgY2F0ZWdvcnksIHlvdSBjb3VsZCB1c2UgYSB0YWcgbGlrZSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7Y2F0ZWdvcnluYW1lJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMgb3IgdG8gZmlsZSBhIGJ1ZyByZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIG1hZGUgc2ltcGxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPkRldmVsb3BlcnMgRm9yZ2U8L2E+IGFuZCBkbyBhIHNlYXJjaCBmb3IgJiMwMzk7UHJvZHVjdHMmIzAzOTs8L2xpPg0KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcm1zLjwvYT48L2xpPg0KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpamEnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFyY2hpam9zIHBvemljaWphJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnUGF2ZWlrc2xhcyc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnxK50cmF1a3RpIHZpZGluZXM/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnT25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gTm8gd2hpdGVzcGFjZSwgcXVvdGVzLCBvciBub24gbGV0dGVyL251bWJlciBjb21iaW5hdGlvbnMnOwokbGFuZ1snaW5mb19hdXRvdGh1bWJuYWlsJ10gPSAnVGh1bWJuYWlsIHNldHRpbmdzIGFyZSB0YWtlbiBmcm9tIHRoZSBDR0V4dGVuc2lvbnMgTW9kdWxlJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1dhdGVybWFyayBzZXR0aW5ncyBhcmUgdGFrZW4gZnJvbSB0aGUgQ0dFeHRlbnNpb25zIE1vZHVsZSc7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1RoZXNlIHBhcmFtZXRlcnMgYXJlIGdpdmVuIHRvIHRoZSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBmcm9tIHRoZSBwcm9kdWN0IGRldGFpbCBhbmQgc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdUaGlzIHN5c3RlbSB1bmRlcnN0YW5kcyAoLikgYXMgdGhlIGRlY2ltYWwgcG9pbnQgc2VwYXJhdG9yLiBpLmUuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Ob3RlOiA8L3N0cm9uZz4gQWxsIEZpZWxkcyBkZWZpbmVkIGhlcmUgYXJlIGF2YWlsYWJsZSB0byBhbGwgcHJvZHVjdHMuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW1zIHdlcmUgZW5jb3VudGVyZWQgd2hlbiBkZWFsaW5nIHdpdGggb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcy4gIFRoZSBhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIGhvd2V2ZXIgeW91IHNob3VsZCBpbnZlc3RpZ2F0ZSBhbmQgY29ycmVjdCB0aGVzZSBwcm9ibGVtcyc7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdHYWxpbW9zIHRpayB0b2tpb3MgdmVydMSXczogKy0qIy4jIyc7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnVmllJnNjYXJvbjtpIGxhdWthaSB5cmEgdmllJnNjYXJvbjthaSBtYXRvbWknOwokbGFuZ1snbGFiZWwnXSA9ICdFdGlrZXTElyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdQYXNrdXRpbsSXIG1vZGlmaWthY2lqYSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0FudHJhcyBwYXZlaWtzbGFzJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01ha3NpbWFsdXMgaWxnaXM8ZW0+KHRhaWtvbWEgdGlrICZxdW90O3RleHRib3gmcXVvdDsgbGF1a3VpKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ01vZGlmaWthdmltbyBkYXRhJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGZvciBtYW5hZ2luZyBhIGNhdGFsb2cgb2YgcHJvZHVjdHMsIHRoZWlyIHByaWNlLCBpbWFnZXMsIGV0YywgYW5kIGZvciBhbGxvd2luZyB1c2VycyB0byBidWlsZCBhIGNhcnQnOwokbGFuZ1snbmFtZSddID0gJ1BhdmFkaW5pbWFzJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnSsWrcyBuZXR1cml0ZSByZWlraWFtxbMgbGVpZGltxbM6ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnTmV3IENhdGVnb3J5IE5hbWUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnSm9rcyB2YXJkYXMgbmVwYXRlaWt0YXMnOwokbGFuZ1snbm9uZSddID0gJ0pva2lvJzsKJGxhbmdbJ29mJ10gPSAnT2YnOwokbGFuZ1sncGFnZSddID0gJ1B1c2xhcGlzJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdQdXNsYXBpcyAlcyBpJnNjYXJvbjsgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ8SucmEmc2Nhcm9uO8WzIHNrYWnEjWl1cyBwdXNsYXB5amUnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgc3BlY2lmaWVzIHRoZSBwYWdlaWQgb3IgYWxpYXMgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTt0cnVja3MqJiMwMzk7fSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqdHJ1Y2tzJiMwMzk7fSB3aWxsIGRpc3BsYXkgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBhbmQgYWxsIHByb2R1Y3RzIGJlbG9naW5nIHRvIGFueSBwYXJlbnQgaW4gdGhlIGhpZXJhcmNoeS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdoYXQgcHJvZHVjdCB0byB1c2UgZm9yIHRoZSBkaXNwbGF5Lic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgb25seSBpbiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dCBwcm9kdWN0cy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ1TEl3Zhcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Byb2R1Y3RzIG1vZHVsaXMgaW5zdGFsaXVvdGFzIHPEl2ttaW5nYWknOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCBhbG9uZyB3aXRoIGFsbCBhc3NvY2lhdGVkIGRhdGEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQYXNpcmlua2ltYWknOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZpbmcgdGhpcyBtb2R1bGUgd2lsbCBhbHNvIHJlbW92ZSBhbGwgYXNzb2NpYXRlZCBkYXRhLCBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHJvY2VlZD8nOwokbGFuZ1sncHJpY2UnXSA9ICdLYWluYSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnS2Fpbm9zIHBha2VpdGltYXMnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWt0YXMnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWt0byBwYXZhZGluaW1hcyc7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3RhaSc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ1Byb3R1a3TFsyBoaWVyYXJjaGlqYSc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWt0xbMgdHZhcmt5bWFzJzsKJGxhbmdbJ3Byb21wdCddID0gJ1XFvnVvbWluYSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdMZWlzdGkgdGlrIHRva2lvIGZvcm1hdG8gcGF2ZWlrc2zFsyDEr2vEl2xpbcSFIGJ5bMWzIHRpcG8gbGF1a3Vvc2UnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0xlaXN0aSB0aWsgdG9raW8gZm9ybWF0byBwYXZlaWtzbMWzIMSva8SXbGltxIUgcGF2ZWlrc2zFsyB0aXBvIGxhdWt1b3NlJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGkmc2Nhcm9uO2thaSBnZW5lcnVvdGkgcGF2ZWlrc2zFsyBtaW5pYXRpxatyYXMnOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aWNhbGx5IHBsYWNlIHdhdGVybWFya3Mgb24gaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnTGVpc3RpIHBhZ2FsIG51dHlsxJdqaW3EhSB2aXNpZW1zIG5hdWppZW1zIHByb2R1a3RhbXMnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydCBNb2R1bGUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1ZhbGl1dG9zIGtvZGFzJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1ZhbGl1dG9zIHNpbWJvbGlzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ0J5IGRlZmF1bHQgYWxsIG5ldyBwcm9kdWN0cyBoYXZlIHRoaXMgc3RhdHVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgcHJvZHVjdHMgYXJlIHRheGFibGUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0kmc2Nhcm9uO3RyaW50aSBieWxhcyBzdXNpanVzaWFzIHN1IHByb2R1a3RhaXMsIGthaSAmc2Nhcm9uO2llIHlyYSBpJnNjYXJvbjt0cmluYW1pPyc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ051bWF0eXRhc2lzIGRldGFsacWzIHB1c2xhcGlzJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnTnVtYXR5dG9qaSByxasmc2Nhcm9uO2lhdmltbyB0dmFya2Egc2FudHJhdWtvcyBtb2RvamUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnTnVtYXR5dGFzaXMgcsWrJnNjYXJvbjtpYXZpbW8gbGF1a2FzIHNhbnRyYXVrb3MgbW9kb2plJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25vICZzY2Fyb247YWx0aW5pcyc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdTdm9yaW8gdmllbmV0YWknOwokbGFuZ1sncHVibGljJ10gPSAnQXIgJnNjYXJvbjtpcyBsYXVrYXMgdmllJnNjYXJvbjthcz8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnUGFza2VsYnRhJzsKJGxhbmdbJ3JhbmRvbSddID0gJ0F0c2l0aWt0aWluYWknOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdHcsSFxb5pbnRpIGdhbXlrbGluZXMgcmVpayZzY2Fyb247bWVzJzsKJGxhbmdbJ3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnUmV0dXJuIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXcnOwokbGFuZ1sncm9vdCddID0gJ1Jvb3QnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1Bhc2lyaW5raXRlIHZpZW7EhSc7CiRsYW5nWydzb3J0X2J5J10gPSAnUsWrJnNjYXJvbjtpdW90aSBwYWdhbCc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnUsWrJnNjYXJvbjtpYXZpbW8gdHZhcmthJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1c2FzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1BhdGVpa3RpJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTYW50cmF1a29zICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWTEl3RpL2tlaXN0aSBzYW50cmF1a29zICZzY2Fyb247YWJsb27EhSc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnQXBtb2tlc3RpbmFtYSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0aW7ElyBzcml0aXMnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0byDEr3Zlc3Rpcyc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdOdW1hdHl0YXNpcyBuYXVqb3MgaGllcmFyY2hpbsSXcyBhdGFza2FpdG9zICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnTnVtYXR5dGFzaXMgbmF1am8ga2F0ZWdvcmlqxbMgc8SFcmEmc2Nhcm9uO28gJnNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdOdW1hdHl0YXNpcyBuYXVqxbMgZGV0YWxpxbMgJnNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnTnVtYXR5dGFzaXMgbmF1am9zIHNhbnRyYXVrb3MgJnNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXBhcyc7CiRsYW5nWyd1cGRhdGUnXSA9ICdOYXVqaW50aSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdQYXNpcmlua3RpIGJ5bMSFIMSva8SXbGltdWknOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd2YWx1ZSddID0gJ1JlaWsmc2Nhcm9uO23Elyc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdSZWlrJnNjYXJvbjttxJdzJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1dhdGVybWFyayBMb2NhdGlvbic7CiRsYW5nWyd3ZWlnaHQnXSA9ICdTdm9yaXMnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zMzAxMTU1MzA1NzYyNTc5MDAwLjEyMjAzNDUwNzAuMTIyODkwMjg0Ny4xMjI4OTg2MzUxLjIwJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyODk4NjM1MS4yMC4xNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHAvdG9waWMsMjgyMTkuMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0xlZ2cgdGlsJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTGVnZyB0aWwgZW4ga2F0ZWdvcmknOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdMZWdnIHRpbCBmZWx0JzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdKc3V0ZXJiYXJ0JzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdMZWdnIHRpbCBwcm9kdWt0JzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnTGVnZyB0aWwgYXR0cmlidXR0JzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29zaWVyIEZlbHQgbWVkIEthdGVnb3JpOiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdMZWdnIHRpbCBoaWVyYXJraSBhcnRpa2tlbCc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnTGVnZyB0aWwgYXR0cmlidXR0IHZhbGcnOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0thbiBrdW4gYWRtaW5pc3RyYXRvcmVyIHNlIGRlbm5lIGF0dHJpYnV0dGVuPyc7CiRsYW5nWydhbGlnbl91bCddID0gJ1RvcHAgdmVuc3RyZSc7CiRsYW5nWydhbGlnbl91YyddID0gJ1RvcHAgc2VudGVyJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnVG9wcCBoJm9zbGFzaDt5cmUnOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdNaWR0ZW4gdmVuc3RyZSc7CiRsYW5nWydhbGlnbl9tYyddID0gJ1NlbnRlcic7CiRsYW5nWydhbGlnbl9tciddID0gJ01pZHRlbiBoJm9zbGFzaDt5cmUnOwokbGFuZ1snYWxpZ25fbGwnXSA9ICdCdW5uIHZlbnN0cmUnOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdCdW5uIHNlbnRlcic7CiRsYW5nWydhbGlnbl9sciddID0gJ0J1bm4gaCZvc2xhc2g7eXJlJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIGthdGVnb3JpZXInOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnRXIgZHUgdmlya2VsaWcgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGV0dGUgcHJvZHVrdGV0IG9nIGFsbCBkZXRzIHRpbGgmb3NsYXNoO3JlbmRlIGluZm9ybWFzam9uPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdTdGlnZW5kZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0F0dHJpYnV0dCBuYXZuJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpc2snOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdIaWVyYXJraSByYXBwb3JtYWxlcic7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIEhpZXJhcmtpIHJhcHBvcm1hbCc7CiRsYW5nWydjYW5jZWwnXSA9ICdBdmJyeXQnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZXInOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29yaSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0VuIGthdGVnb3JpIG1lZCBkZXQgbmF2bmV0IGVrc2lzdGVyZXIgYWxsZXJlZGUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnS2F0ZWdvcmlsaXN0ZSBtYWxlcic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTGVnZyB0aWwvcmVkaWdlciBrYXRlZ29yaSBMaXN0ZW1hbCc7CiRsYW5nWydjaGVja2JveCddID0gJ0F2a3J5c25pbmdzYm9rcyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIG5vZGVuPyBBbGxlIHByb2R1a3RlciBzb20gYnJ1a2VyIGRlbm5lIG5vZGVuIHZpbCBibGkgc2F0dCB0aWwgaW5nZW4gaGllcmFya2knOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdFciBkdSBoZWx0IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgZ2omb3NsYXNoO3JlIGRldHRlP1xuXG5GZWlsIGlubnN0aWxsaW5nZXIgZWxsZXIgZW4gdWd5bGRpZyBrb25maWd1cmFzam9uc2ZpbCBrYW4gZnVsbHN0ZW5kaWcgJm9zbGFzaDtkZWxlZ2dlIGV0IG4mYXJpbmc7IGd5bGRpZyBvZyBmdW5nZXJlbmRlIHN5c3RlbS4nOwokbGFuZ1snY29weSddID0gJ0tvcGllcic7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnS29waWVyIGthdGVnb3JpJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnT3BwcmV0dGV0IGRhdG8nOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ04mYXJpbmc7diZhZWxpZztyZW5kZSB2ZXJkaSc7CiRsYW5nWydkYXRhJ10gPSAnRGF0YSAnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdTdGFuZGFyZCBtYWxlcic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+TWVyazo8L3N0cm9uZz4gSW5uaG9sZGV0IGkgZGlzc2UgdGVrc29tciZhcmluZztkZW5lIGJlbnl0dGVzIGZvciAmYXJpbmc7IGxhZ2Ugc3RhbmRhcmRpbm5ob2xkIGkgbWFsZW5lIG4mYXJpbmc7ciBkdSBrbGlra2VyICYjMDM5O0xlZ2cgdGlsIG1hbCYjMDM5OyBpIGRlbiBha3R1ZWxsZSBtYWxmbGlrZW4uICZBcmluZzsgcmVkaWdlcmUgZW4gYXYgZGlzc2UgdGVrc3RvbXImYXJpbmc7ZGVuZSB2aWwgaWtrZSBoYSB1bWlkZGVsYmFyIGVmZmVrdCBwJmFyaW5nOyBkaXR0IG5ldHRzdGVkLic7CiRsYW5nWydkZWxldGUnXSA9ICdTbGV0dCc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnU2xldHQgYXR0cmlidXR0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ1NsZXR0IGhpZXJhcmtpIGFydGlra2VsJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdTeW5rZW5kZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGplcic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhbGptYWxlcic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiBkZXRhbGptYWwnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdJbmFrdGl2ZXJ0JzsKJGxhbmdbJ2RyYWZ0J10gPSAnS2xhZGQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdOZWR0cmVrayc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnTmVkdHJla2tzdmFsZyA8ZW0+KGt1biBneWxkaWcgZm9yIG5lZHRyZWtrc2ZlbHQpPC9lbT48YnIvPjxici8+PGVtPihlbiBwb3N0IHByIGxpbmplKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0J10gPSAnUmVkaWdlciBhdHRyaWJ1dHQnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnUmVkaWdlciBhdHRyaWJ1dHQgc2V0dCc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnUmVkaWdlciBhdHRyaWJ1dHQgc2V0dCBmb3InOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnUmVkaWdlciBhdHRyaWJ1dHRlcic7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnUmVkaWdlciBLYXRlZ29yaSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ1JlZGlnZXIgS2F0ZWdvcmkgZmVsdGVyJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdSZWRpZ2VyIGhpZXJhcmtpIGFydGlra2VsJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdFbiBhdHRyaWJ1dHQgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAnRHVwbGlrYXQgVi5uci4oU0tVKSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0ZlbHR2ZXJkaWVuIGthbiBpa2tlIHYmYWVsaWc7cmUgdG9tJzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdGaWxmb3JtYXQgcnBvYmxlbSc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGaWwgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtIG1lZCAmYXJpbmc7ICZhcmluZztwbmUgZmlsZW4gJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ1VneWxkaWcgZm9yZWxkcmUgKGVuIGhpZXJhcmtpIG5vZGUga2FuIGlra2UgdiZhZWxpZztyZSBzaW4gZWdlbiBmb3JlbGRyZSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnRWtzdHJhKGN1c3RvbSkgZmVsdHZlcmRpZW4gc29tIGJsZSBvcHBnaXR0IGVyIHVneWxkaWcgKGlubmVob2xkZXIgaWtrZS1hbGZhbnVtbWVyaXNrZSB0ZWduKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdFbiBuJm9zbGFzaDtkdmVuZGlnIHBhcmFtZXRlciBtYW5nbGVyIGVsbGVyIGVyIHVneWxkaWcnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdFbiBhcnRpa2tlbCBtZWQgZGV0IG5hdm5ldCBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnVmVubmxpZ3N0IHZlbGcgZW4gZmVsdHR5cGUnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnRHUgbSZhcmluZzsgb3BwZ2kgZXQgbmF2bic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnVGlsZ2FuZyBuZWt0ZXQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdBbGlhcyBzb20gYmxlIG9wcGdpdHQgZXIgYWxsZXJlZGUgaSBicnVrJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdFdCBwcm9kdWt0IG1lZCBkZXQgbmF2bmV0IGVrc2lzdGVyZXIgYWxsZXJlZGUnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCddID0gJ1Byb2R1a3RldCBibGUgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkJ10gPSAnRGV0dGUgVi5uci4oU0tVKSBlciBhbGxlcmVkZSBpIGJydWsgYXYgZXQgYW5uZXQgcHJvZHVrdCc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnVWd5bGRpZyBwcmlzanVzdGVyaW5nc3ZlcmRpIGZvciBlbmhldCAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnT3BwbGFzdGluZyBmZWlsZXQ6ICVzJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0Vrc3RyYWZlbHQgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFa3N0cmFmZWx0IDInOwokbGFuZ1snZmllbGQnXSA9ICdGZWx0JzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmVsdGRlZmluaXNqb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRmVsdGRlZmluaXNqb25lcic7CiRsYW5nWydmaWxlJ10gPSAnRmlsJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmUnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwgJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdHZW5lcmVsbGUgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydnbyddID0gJ1N0YXJ0JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICYjMDM5O3RheGFibGUmIzAzOTsgb3Igbm90LjwvcD4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgbXVsdGlwbGUgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zLCBhbmQgZm9yIHRoZSBhYmlsaXR5IHRvIGRpc2NyaW1pbmF0ZSBwcml2YXRlIGZyb20gcHVibGljIGRhdGEuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5OdW1lcm91cyBWaWV3czwvbGk+DQogICAgPHVsPg0KICAgICAgPGxpPlN1bW1hcnkgdmlldzwvbGk+DQogICAgICA8bGk+Q2F0ZWdvcnkgTGlzdCBWaWV3PC9saT4NCiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IA0KICAgICAgPGxpPkhpZXJhcmNoeSBEcmlsbC1kb3duIFZpZXc8L2xpPg0KICAgIDwvdWw+DQogIDxsaT5FbnRpcmVseSBEYXRhYmFzZSBUZW1wbGF0ZSBEcml2ZW48L2xpPg0KICA8cD5OdW1lcm91cyB0ZW1wbGF0ZXMgb2YgZWFjaCB0eXBlIGNhbiBiZSBkZWZpbmVkLCBkZWZhdWx0cyBzcGVjaWZpZWQgZm9yIGVhY2ggdHlwZSwgYW5kIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciBlYWNoIHBhcnRpY3VsYXIgdmlldyBjYW4gYmUgc3BlY2lmaWVkIGFzIGEgcGFyYW1ldGVyPC9wPg0KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBleGlzdCBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPk51bWVyb3VzIGN1c3RvbSBmaWVsZHMgY2FuIGJlIGRlZmluZWQsIGluY2x1ZGluZyBpbWFnZXM8L2xpPg0KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+DQogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+DQogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+DQogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPg0KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4NCiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8dWw+DQo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4NCjxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4NCjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPg0KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgJiMwMzk7TW9kaWZ5IFRlbXBsYXRlcyYjMDM5OyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICYjMDM5O01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJiMwMzk7IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gYWRqdXN0IHRoZSBtb2R1bGVzIHByZWZlcmVuY2VzLiAgSW4gb3JkZXIgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgZmllbGQgZGVmaW5pdGlvbnMsIGNhdGVnb3JpZXMsIG9yIHByb2R1Y3RzLCB5b3VyIHVzZXJzIHdpbGwgbmVlZCB0aGUgJiMwMzk7TW9kaWZ5IFByb2R1Y3RzJiMwMzk7IHBlcm1pc3Npb24uPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlICYjMDM5O0NhdGVnb3JpZXMmIzAzOTsgdGFiIGluIHRoZSBQcm9kdWN0IE1hbmFnZXJzIGFkbWluIHNlY3Rpb24sIGFuZCBjbGlja2luZyAmIzAzOTtBZGQgQSBDYXRlZ29yeSYjMDM5Oy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAuICBDdXN0b20gZmllbGRzIGFyZSBub3QgbmVlZGVkIGlmIHRoaXMgbW9kdWxlIHN1aXRzIHlvdSBleGFjdGx5IGFzIGl0IGlzLiAgSG93ZXZlciBpZiB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBlYWNoIG9mIHlvdXIgcHJvZHVjdHMgeW91IGNhbiBjcmVhdGUgY3VzdG9tIGZpZWxkcy4gIENyZWF0aW5nIGN1c3RvbSBmaWVsZHMgaXMgc2ltaWxhciB0byBjcmVhdGluZyBjYXRlZ29yaWVzLCBleGNlcHQgdGhhdCBtb3JlIGRhdGEgaXMgcmVxdWVzdGVkLjwvcD4NCjxwPkN1cnJlbnRseSBhIG51bWJlciBvZiB0eXBlcyBvZiBjdXN0b20gZmllbGRzIGFyZSBhdmFpbGFibGUsIGluY2x1ZGluZzogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEmIzAzOTssICYjMDM5O2Ryb3Bkb3duJiMwMzk7LCBhbmQgJiMwMzk7ZmlsZSYjMDM5Oy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4NCjxsaT5DcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHM8L2xpPg0KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+DQo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+DQo8cD5JZiBjdXN0b20gZmllbGRzIGFyZSBkZWZpbmVkLCB0aGVuIGlucHV0IGZpZWxkcyBhcHByb3ByaWF0ZSB0byB0aGUgdHlwZSBvZiBjdXN0b20gZmllbGQgd2lsbCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRhdGEgZm9yIGVhY2ggb2YgdGhlbS4gIFRoaXMgZGF0YSBpcyBvcHRpb25hbC48L3A+DQo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPg0KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPklmIHlvdSB3aXNoIHRvIGFsdGVyIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBhcHBsaWNhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LCB5b3UgY2FuIGRvIHRoYXQgYnkgYWRkaW5nIG9uZSBvciBtb3JlIHBhcmFtZXRlcnMgdG8gdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcuICBUaGUgY29tcGxldGUgbGlzdCBvZiBwYXJhbWV0ZXJzIGFuZCB0aGVpciBiZWhhdmlvdXIgaXMgbGlzdGVkIGJlbG93LiAgQnV0IGZvciBleGFtcGxlLCB0byBkaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0cyBpbiBhIHNpbmdsZSwgZXhpc3RpbmcgY2F0ZWdvcnksIHlvdSBjb3VsZCB1c2UgYSB0YWcgbGlrZSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7Y2F0ZWdvcnluYW1lJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPlNtYXJ0eSBQbHVnaW5zPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsc28gcmVnaXN0ZXJzIG9uZSBvciBtb3JlIHNtYXJ0eSBwbHVnaW5zIHRvIGFpZGUgaW4gcmV0cmlldmluZyB2YXJpb3VzIHByb2R1Y3RzIHJlbGF0ZWQgaW5mb3JtYXRpb24gd2hlbiBkZXNpZ25pbmcgcHJvZHVjdHMgbW9kdWxlIHRlbXBsYXRlczo8L3A+DQo8dWw+DQogIDxsaT57cHJvZHVjdHNfZ2V0Y2F0ZWdvcnkgY2F0ZWdvcnlpZD0mIzAzOTs5OSYjMDM5OyBbYXNzaWduPSYjMDM5O3RtcCYjMDM5O119DQogIDxwPlRoaXMgcGx1Z2luIGFsbG93cyByZXRyaWV2aW5nIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZm9yIGEgc3BlY2lmaWMgY2F0ZWdvcnkgaWQgYW5kIG9wdGlvbmFsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuICBUaGUgcmV0dXJuZWQgaXMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIGNhdGVnb3J5LCBpbmNsdWRpbmcgaXRzIGZpZWxkIHZhbHVlcy48YnIvPmkuZTouIDxjb2RlPntwcm9kdWN0c19nZXRjYXRlZ29yeSBjYXRlZ29yeWlkPTEgYXNzaWduPSYjMDM5O3RtcCYjMDM5O31DYXRlZ29yeSBuYW1lID0geyR0bXAtPm5hbWV9PC9jb2RlPjwvcD4NCiAgIA0KICAgPC9wPg0KICA8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICYjMDM5O1Byb2R1Y3RzJiMwMzk7PC9saT4NCjxsaT5UbyBvYnRhaW4gY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0byB0aGUgYXV0aG9yIGF0IDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5Sb2JlcnQgQ2FtcGJlbGw8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4NCjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJraSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdIaWVyYXJraSBwb3Npc2pvbic7CiRsYW5nWydpZCddID0gJ0lkICc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdCaWxkZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ0JpbGRlYmVoYW5kbGluZ3Npbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ0ltcG9ydGVyIHByb2R1a3RlciBmcmEgQ1NWIGZpbCc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5rbHVkZXIgYmFybj8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdLdW4gYWxmYW51bW1lcmlza2UgdGVnbi4gSW5nZW4gbWVsbG9tcm9tLCBhbmYmb3NsYXNoO3JzZWxzdGVnbiBlbGxlciBpa2tlLWJva3N0YXYvdGFsbCBrb21iaW5hc2pvbmVyJzsKJGxhbmdbJ2luZm9fYXR0cmlidGVtcGxhdGUnXSA9ICdNdWxpZ2UgdmFyaWFibGVyIGVyOiAoJGF0dHJpYl90ZXh0KSwgKCRhdHRyaWJfYWRqdXN0KSwgKCRjdXJyZW5jeV9zeW1ib2wpJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1Zhbm5tZXJrZSBpbm5zdGlsbGluZ2VuZSBlciBoZW50ZXQgZnJhIENHRXh0ZW5zaW9ucyBNb2R1bGVuJzsKJGxhbmdbJ2luZm9fYmF0Y2hzaXplJ10gPSAnU2V0dCBldCBhbnRhbGwgbGluamVyIHNvbSBza2FsIHByb3Nlc3NlcmVzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gRXR0ZXIgaHZlciBiYXRjaCBlciBmZXJkaWcsIHZpbCBpbXBvcnRlcmVyZW4gb21kaXJpZ2VyZSwgb2cgZm9ydHNldHRlIG9wZXJhc2pvbmVuZS4gT20gZHUgb3BwbGV2ZXIgbWlubmUgZmVpbCBlbGxlciB0aWRzYXZicnVkZCBwcm9ibGVtZXIgcCZhcmluZzsgZ3J1bm4gYXYgc3RvcmUgbWVuZ2RlciBpIHByb3Nlc3NlcmluZywgc28gYiZvc2xhc2g7ciBkdSBrYW5za2plIGtvbnRha3RlIGRpbiBkaW4gbmV0dHN0ZWRzdmVydCwgZWxsZXIgcmVkdXNlcmUgZGV0dGUgYW50YWxsZXQnOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdEaXNzZSBwYXJhbWV0ZXJlIGdpcyB0aWwgZGVuIHZhbGd0ZSBoYW5kbGVrdXJ2KGNhcnQpIG1vZHVsZW4gZnJhIHByb2R1a3QtZGV0YWxqIG9nIC1zYW1tZW5kcmFnc3Zpc25pbmdlbmUnOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdPcHByZXR0IHVramVudGUgcHJvZHVrdGZlbHRlciBhdXRvbWF0aXNrPyA8ZW0+KERlIHZpbCBibGkgb3BwcmV0dGV0IHNvbSB0ZWtzdGZlbHRlcik8L2VtPic7CiRsYW5nWydpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdPcHByZXR0IGF1dG9tYXRpc2sgcHJvZHVrdGthdGVnb3JpZXIgZm9yICZhcmluZzsgc2Ftc3ZhcmUgbWVkIGRlIHNvbSBlciBpIENTViBmaWxlbiwgb20gZGUgaWtrZSBhbGxlcmVkZSBla3Npc3RlcmVyJzsKJGxhbmdbJ2luZm9fY3JlYXRlaGllcmFyY2h5J10gPSAnT3BwcmV0dCBwcm9kdWt0aGllcmFya2llciBhdXRvbWF0aXNrIGZvciAmYXJpbmc7IHNhbXN2YXJlIG1lZCBkZSBzb20gZXIgaSBDU1YgZmlsZW4sIG9tIGRlIGlra2UgYWxsZXJlZGUgZWtzaXN0ZXJlcic7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdTeXN0ZW1ldCBmb3JzdCZhcmluZztyICguKSBzb20gZGVzaW1hbHNlcGFyYXRvciAoaWtrZSBrb21tYSEpLiBGLmVrcy46IDxzdHJvbmc+NS4yNTwvc3Ryb25nPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ1NwZXNpZmlzZXIgYm9rc3RhdmVuIChlbGxlciBib2tzdGF2ZW5lKSBzb20gc2VwYXJlcmVyIGh2ZXJ0IGZlbHQnOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZXNpZmlzZXIgaHZvcmRhbiBzeXN0ZW1ldCBza2FsIGJlaGFuZGxlIGV0IHByb2R1a3Qgc29tIGhhciBldCBuYXZuIHNvbSBhbGxlcmVkZSBla3Npc3RlcmVyIGkgQ1NWIGZpbGVuJzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+TWVyazogPC9zdHJvbmc+IEFsbGUgZmVsdGVyIGRlZmluZXJ0IGhlciBlciB0aWxnamVuZ2plbGlnZSBmb3IgYWxsZSBwcm9kdWt0ZXIuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW1lciBibGUgb3BwZGFnZXQgdW5kZXIgaCZhcmluZztuZHRlcmluZyBhdiBldCBlbGxlciBmbGVyZSBla3N0cmEoY3VzdG9tKSBmZWx0ZXIuIEhhbmRsaW5nZW4gZXIgdmVsbHlra2V0IGZ1bGxmJm9zbGFzaDtydCwgbWVuIGR1IGImb3NsYXNoO3IgdW5kZXJzJm9zbGFzaDtrZSBvZyBrb3JyaWdlcmUgZGlzc2UgcHJvYmxlbWVuZSc7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1ZlZCBpbXBvcnQsIG9tIGV0IGJpbGRlIGZpbG5hdm4gYmxpciBmdW5uZXQgaSBlbiBmZWx0a29sb25uZSwgc2thbCBkZXQgYmxpIGZqZXJuZXQgZnJhIGtpbGRlIGxva2Fzam9uZW4sIHZhbm5tZXJrZXQsIG1pbmlhdHlyYmlsZGV0LCBvZyBmZWx0dHlwZW4gZW5kcmVzIHRpbCAmcXVvdDtpbWFnZSZxdW90Oyc7CiRsYW5nWydpbmZvX2ltYWdlcGF0aCddID0gJ1N0aWVuIChyZWxhdGl2dCB0aWwgdXBsb2FkcyBrYXRhbG9nZW4pIGh2b3IgYmlsZGVyIHJlZmVyZXJ0IHRpbCBpIGltcG9ydGZpbGVuLCBrYW4gYmxpIGZ1bm5ldCc7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0VuIGtvcnQgdGVzdCBoYXIgYmxpdHQgdXRmJm9zbGFzaDtydCBwJmFyaW5nOyBkZW4gc3Blc2lmaXNlcnRlIGlubmZpbGVuLCBvZyBhbHQgc2VyIHV0IHRpbCAmYXJpbmc7IHYmYWVsaWc7cmUgaSBvcmRlbi48YnIvPkRldHRlIGVyIGlra2UgZW4gaW5kaWthc2pvbiBwJmFyaW5nOyBhdCBkZXQgaWtrZSBrYW4gdiZhZWxpZztyZSBmZWlsIGkgZmlsZW4uJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ0d5bGRpZ2UgdmVyZGllciBlciArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnRGV0dGUgYWx0ZXJuYXRpdmV0IGJlc3RlbW1lciBvcHBmJm9zbGFzaDtyc2VsZW4gdGlsIG5ldHRzdGVkZXQgaHZpcyBlbiBoYXIgZyZhcmluZzt0dCByZXR0IHRpbCBwcm9kdWt0LWRldGFsanZpc25pbmcgdmlhIGVuIG5ldHRhZHJlc3NlLCBvZyBhdCBwcm9kdWt0ZXQgYXYgZW4gZWxsZXIgYW5uZW4gZ3J1bm4gKGRlYWt0aXZlcnQsIHNsZXR0ZXQsIG9zdi4pIGlra2Uga2FuICZhcmluZztwbmVzLic7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnT2ZmZW50bGlnZSBmZWx0IGVyIHRpbGdqZW5nZWxpZ2UgZm9yIG9mZmVudGxpZ2hldGVuICZhcmluZzsgc2UnOwokbGFuZ1snbGFiZWwnXSA9ICdFdGlrZXR0JzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdIb3BwIG92ZXInOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnT3ZlcnNrcml2JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnID4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdTaXN0IGVuZHJldCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0FuZHJlIGJpbGRlJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01ha3NpbXVtIGxlbmdkZSA8ZW0+KGthbiBiZW55dHRlcyBrdW4gcCZhcmluZzsgdGVrc3Rib2tzIGZlbHRlcik8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdFbmRyZXQgZGF0byc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdFbiBtb2R1bCBmb3IgJmFyaW5nOyBiZWhhbmRsZSBlbiBrYXRhbG9nIG1lZCBwcm9kdWt0ZXIsIGRldHMgcHJpcywgYmlsZGVyLCBvc3YsIG9nIGZvciAmYXJpbmc7IHRpbGxhdGUgYnJ1a2VyZSAmYXJpbmc7IGJ5Z2dlIGVuIGhhbmRsZWt1cnYnOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdEdSBoYXIgaWtrZSBkZW4gbiZvc2xhc2g7ZHZlbmRpZ2UgcmV0dGlnaGV0ZW46ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnTnl0dCBrYXRlZ29yaSBuYXZuJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnID4nOwokbGFuZ1snbm8nXSA9ICdOZWknOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdJbmdlbiBuYXZuIG9wcGdpdHQnOwokbGFuZ1snbm9uZSddID0gJ0luZ2VuJzsKJGxhbmdbJ29mJ10gPSAnYXYnOwokbGFuZ1sncGFnZSddID0gJ1NpZGUnOwokbGFuZ1sncGFnZV9vZiddID0gJ1NpZGUgJXMgYXYgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ1NpZGUgYmVncmVuc25pbmcnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdOJmFyaW5nO3IgYmVueXR0ZXQgbWVkIDxlbT5zdGFuZGFyZDwvZW0+IHNhbW1lbmRyYWdzbW9kdXMgdmlsIGRlbm5lIHBhcmFtZXRlciwgc29tIHNrYWwgdiZhZWxpZztyZSBsaWsgbmF2bmV0IHAmYXJpbmc7IGVuIGVrc2lzdGVyZW5kZSBrYXRlZ29yaSwgYmxpIGJlbnl0dGV0IGZvciAmYXJpbmc7IHZpc2Uga3VuIGRlIHByb2R1a3RlbmUgc29tIGVyIGkgZGVubmUga2F0ZWdvcmllbi4gKGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUga2FuIG9wcGdpcyknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdNZWQga2F0ZWdvcmlsaXN0ZSBoYW5kbGluZ2VuLCB2aWwgZGVubmUgcGFyYW1ldGVyIGluZGlrZXJlIG1hbGVuIHNvbSBza2FsIGJlbnl0dGVzIGZvciB2aXNuaW5nLiBPbSBpbmdlbiB2ZXJkaSBlciBvcHBnaXR0IHZpbCBuJmFyaW5nO3YmYWVsaWc7cmVuZGUgc3RhbmRhcmQgbWFsIGF2IGRlbm5lIHR5cGUgYmxpIGJlbnl0dGV0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnRGV0dGUgc3Blc2lmaXNlcmVyIHNpZGVpZCYjMDM5O2VuIGVsbGVyIHNpZGVhbGlhcyBzb20gc2thbCBiZW55dHRlcyBmb3IgJmFyaW5nOyB2aXNlIGRldGFsanJhcHBvcnRlbi4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgc3Blc2lmaXNlcmVyIG1hbGVuIHNvbSBza2FsIGJlbnl0dGVzIGZvciBkZXRhbGptb2R1cyB2aXNuaW5nLiBPbSBpbmdlbiB2ZXJkaSBlciBvcHBnaXR0IHZpbCBuJmFyaW5nO3YmYWVsaWc7cmVuZGUgc3RhbmRhcmQgbWFsIGF2IGRlbm5lIHR5cGUgYmxpIGJlbnl0dGV0LiBEZW5uZSBwYXJhbWV0ZXIgaGFyIGluZ2VuIHZpcmtuaW5nIG4mYXJpbmc7ciB2YWtyZSB1cmxlciBlciBwJmFyaW5nO3NsJmFyaW5nO3R0Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdLYW4ga3VuIGJlbnl0dGVzIGkgPGVtPmRlZmF1bHQ8L2VtPiBoYW5kbGluZ2VuLiBEZW5uZSBwYXJhbWV0ZXIgc3Blc2lmaXNlcmVyIGF0IGt1biBhcnRpa2xlciBpIGRlbm5lIGxva2Fzam9uZW4gaSBoaWVyYXJraWV0IHNrYWwgdmlzZXMuICBKb2tlcnRlZ24ga2FuIGJlbnl0dGVzIHMmYXJpbmc7IGR1IG9ncyZhcmluZzsga2FuIHNwZXNpZmlzZXJlIGZvcmVsZHJlL2Jhcm4gcmVsYXNqb25lci4gRi5la3MuIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gdmlsIGxhZ2UgZW4gc2FtbWVuZHJhZ3NyYXBwb3J0IG1lZCBhbGxlIHRydWNrcywgaW5rbHVkZXJ0IGJhcm5hIGkgaGllcmFya2lldC4gIFAmYXJpbmc7IHNhbW1lIG0mYXJpbmc7dGUsIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gdmlsIHZpc2UgZW4gc2FtbWVuZHJhZ3NyYXBwb3J0IG1lZCBhbGxlIHRydWNrcyBvZyBhbGxlIHByb2R1a3RlciB0aWxoJm9zbGFzaDtyZW5kZSBlbmh2ZXIgZm9yZWxkcmUgaSBoaWVyYXJraWV0Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ0Rlbm5lIHBhcmFtZXRlciBzcGVzaWZpc2VyZXIgbWFsZW4gc29tIHNrYWwgYnJ1a2VzIGZvciBoaWVyYXJraSB2aXNuaW5nLiBPbSBpbmdlbiB2ZXJkaSBlciBzYXR0IHZpbCBzdGFuZGFyZCBtYWwgYXYgZGVuIHR5cGVuIGJsaSBiZW55dHRldC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnQmVueXR0ZXQgbWVkIDxlbT5zdGFuZGFyZDwvZW0+IGhhbmRsaW5nZW4gdmlsIGRlbm5lIHBhcmFtZXRlciBzcGVzaWZpc2VyZSBodm9yIG1hbmdlIHByb2R1a3RlciBzb20gc2thbCBsaXN0ZXMgcCZhcmluZzsgaHZlciBzaWRlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdLYW4ga3VuIGJlbnl0dGVzIGkgPGVtPmhpZXJhcmNoeTwvZW0+IGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlciBzcGVzaWZpc2VyZXIgaGllcmFya2kgaWQgdGlsIHN0YXJ0IHBvc2lzam9uZW4gaSByYXBwb3J0ZW4uJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ0Jlbnl0dGV0IG1lZCBkZXRhbGogaGFuZGxpbmdlbiB2aWwgZGVubmUgcGFyYW1ldGVyIGluZGlrZXJlIGh2aWxrZXQgcHJvZHVrdCBzb20gc2thbCB2aXNlcyBwJmFyaW5nOyBzaWRlbi4nOwokbGFuZ1sncGFyYW1fc2hvd2FsbCddID0gJ0dqZWxkZXIga3VuIHRpbCBjYXRlZ29yeWxpc3QgaGFuZGxpbmdlbiwgZGVyc29tIGRlbm5lIHBhcmFtZXRlcmVuIGVyIHNhdHQgdGlsIGVuIGlra2UgMCBoZWx0YWxsc3ZlcmRpIHZpbCBhbGxlIGthdGVnb3JpZXIgKG9ncyZhcmluZzsgZGUgdXRlbiBwcm9kdWt0ZXIpIGJsaSB2aXN0Lic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgb25seSBpbiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dCBwcm9kdWN0cy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5pZCAtLSBUaGUgcHJvZHVjdCBpZDwvbGk+DQogIDxsaT53ZWlnaHQgLS0gVGhlIHByb2R1Y3Qgd2VpZ2h0PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBwcm9kdWN0IGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlciBtYWxlbiBzb20gc2thbCBiZW55dHRlcyBmb3Igc2FtbWVuZHJhZ3Ntb2R1cyB2aXNuaW5nZW4uIE9tIGluZ2VuIHZlcmRpIGVyIG9wcGdpdHQgdmlsIG4mYXJpbmc7diZhZWxpZztyZW5kZSBzdGFuZGFyZCBtYWwgYXYgZGVubmUgdHlwZSBibGkgYmVueXR0ZXQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ0ZvcmVsZHJlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUHJvZHVjdHMgbW9kdWxlbiBoYXIgYmxpdHQgaW5zdGFsbGVydCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUHJvZHVjdHMgbW9kdWxlbiBvZyBhbGxlIGFzc29zaWVydGUgZGF0YSBoYXIgYmxpdHQgZmplcm5ldCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmFuc2VyJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJyZBcmluZzsgZmplcm5lIGRlbm5lIG1vZHVsZW4gdmlsIG9ncyZhcmluZzsgZmplcm5lIGFsbGUgYXNzb3NpZXJ0ZSBkYXRhLCBlciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGZvcnRzZXR0ZT8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmlzJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQcmlzanVzdGVyaW5nJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCAnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1a3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWt0bmF2bic7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3QgYWRtaW5pc3RyYXNqb24nOwokbGFuZ1sncHJvZHVjdF9kZXRhaWxfc2V0dGluZ3MnXSA9ICdQcm9kdWt0IGRldGFsamlubnN0aWxsaW5nZXInOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdQcm9kdWt0IGhpZXJhcmtpJzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ1Byb2R1a3QgYmVoYW5kbGVyJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnRnJlbWRyaWZ0JzsKJGxhbmdbJ3Byb21wdCddID0gJ0V0aWtldHQgKHNwJm9zbGFzaDtyc20mYXJpbmc7bC9wcm9tcHQpJzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnTGVnZyB0aWwvcmVkaWdlciBhdHJpYnV0dHNldHQnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAnVGlsbGF0IG9wcGxhc3RpbmcgYXYgZmlsZSBtZWQgZGlzc2UgZmlsZW5kZWxzZXIgKGZvciBmaWwgdHlwZSBmZWx0ZXIpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdUaWxsYXQgb3BwbGFzdGluZyBhdiBiaWxkZXIgbWVkIGRpc3NlIGZpbGVuZGVsc2VyIChmb3IgYmlsZGUgdHlwZSBmZWx0ZXIpJzsKJGxhbmdbJ3Byb21wdF9hdHRyaWJ0ZW1wbGF0ZSddID0gJ01hbCBmb3IgdmlzbmluZyBhdiBwcm9kdWt0ZXRzIGF0dHJpYnV0dHZlcmRpZXIgaSBuZWR0cmVrayc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ09wcHJldHQgbWluaWF0eXJiaWxkZXIgYXV0b21hdGlzayBmcmEgYmlsZGVyJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYWtzaW11bSBzdCZvc2xhc2g7cnJlbHNlIChzdCZvc2xhc2g7cnN0ZSBkaW1lbnNqb24pIGZvciBtaW5pYXR5cmJpbGRldC4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnTGFnIGZvcmgmYXJpbmc7bmRzdmlzbmluZ3NiaWxkZXIgYXV0b21hdGlzayBhdiBiaWxkZW5lJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWFrc2ltdW0gc3Qmb3NsYXNoO3JyZWxzZSAoc3Qmb3NsYXNoO3JzdGUgZGltZW5zam9uKSBmb3IgZm9yaCZhcmluZztuZHN2aXNuaW5nc2JpbGRldC4nOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdQbGFzc2VyIHZhbm5tZXJrZXIgcCZhcmluZzsgYmlsZGVyIGF1dG9tYXRpc2snOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdTbCZhcmluZzsgcCZhcmluZzsgc29tIHN0YW5kYXJkIGZvciBhbGxlIG55ZSBwcm9kdWt0ZXInOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ0JhdGNoIHN0Jm9zbGFzaDtycmVsc2UnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnSGFuZGxla3VydihjYXJ0KSBtb2R1bCc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnSGFuZGxla3VydihjYXJ0KSBtb2R1bCBwYXJhbWV0ZXJlJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnT3BwcmV0dCBrYXRlZ29yaWVyJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdPcHByZXR0IHByb2R1a3RrYXRlZ29yaWVyPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnT3BwcmV0dCBwcm9kdWt0a2F0ZWdvcmknOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdMYXN0IG9wcCBDU1YgZmlsJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdWYWx1dGFrb2RlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1ZhbHV0YXN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdTb20gc3RhbmRhcmQgaGFyIGFsbGUgbnllIHByb2R1a3RlciBkZW5uZSBzdGF0dXNlbic7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnU29tIHN0YW5kYXJkIGVyIGFsbGUgbnllIHByb2R1a3RlciBhdmdpZnRzcGxpa3RpZ2UnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ1NsZXR0IGFsbGUgZmlsZXIgdGlsa255dHRldCBwcm9kdWt0ZXQgbiZhcmluZztyIHByb2R1a3RldCBzbGV0dGVzPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRmVsdCBza2lsbGV0ZWduJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnU3RhbmRhcmQgZGV0YWxqc2lkZSc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIdm9yZGFuIHNrYWwgZHVwbGlrYXRlIHByb2R1a3RlciBiZWhhbmRsZXM/JzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdCZWhhbmRsZSBiaWxkZXI/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdCaWxkZXN0aSc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfYmVoYXZpb3InXSA9ICdIdmlsa2VuIGhhbmRsaW5nIHNrYWwgdXRmJm9zbGFzaDtyZXMgb20gZXQgcHJvZHVrdCBpa2tlIGthbiB2aXNlcz8nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzQwNCddID0gJ0dlbmVyZXIgZW4gNDA0IGZlaWwnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzMwMSddID0gJ0dlbmVyZXIgZW4gMzAxIG9tZGlyaWdlcmluZyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfZXJyb3Jtc2cnXSA9ICdWaXMgZW4gZmVpbG1lbGRpbmcnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX21zZyddID0gJ0ZlaWxtZWxkaW5nIGZvciBuJmFyaW5nO3IgZXQgcHJvZHVrdCBpa2tlIGJsaXIgZnVubmV0JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9wYWdlJ10gPSAnU2lkZSAmYXJpbmc7IG9tZGlyaWdlcmUgdGlsIHBlcm1hbmVudD8nOwokbGFuZ1sncHJvbXB0X3Byb2RfZGV0YWlscGFnZSddID0gJ1N0YW5kYXJkc2lkZSBmb3IgUHJvZHVjdCBkZXRhbGp2aXNuaW5nJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnU3RhbmRhcmQgc29ydGVyaW5nIGkgc2FtbWVuZHJhZ3Ntb2R1cyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdTdGFuZGFyZCBzb3J0ZXJpbmdzZmVsdCBpIHNhbW1lbmRyYWdzbW9kdXMnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnTWFsa2lsZGUnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpa3MgdGlsIGJydWsgcCZhcmluZzsgYWxsZSBuZXR0YWRyZXNzZXIgbSZhcmluZztscmV0dGV0IHRpbCBkZW5uZSBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ3Byb21wdF91c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJ10gPSAnQmVueXR0IGRlbm5lIHNpZGVuIGZvciBzJm9zbGFzaDtrZXJlc3VsdGF0ZXIgb2dzJmFyaW5nOyA8ZW0+KG92ZXJzdHlyZXIgc2VhcmNocmVzdWx0cyBzaWRlcGFyYW1ldGVyZW4gaSBzJm9zbGFzaDtrZW1vZHVsZW4pPC9lbT4nOwokbGFuZ1sncHJvbXB0X3VzZWhpZXJwYXRodXJscyddID0gJ0Jlbnl0dCBoaWVyYWtpc3RpIGkgUHJvZHVjdCBkZXRhbGogVVJMZXInOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnVmVrdGVuaGV0ZXInOwokbGFuZ1sncHVibGljJ10gPSAnRXIgZGV0dGUgZXQgb2ZmZW50bGlnIGZlbHQ/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1Ymxpc2VydCc7CiRsYW5nWydyYW5kb20nXSA9ICdUaWxmZWxkaWcnOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdTZXR0IHRpbGJha2UgdGlsIGZhYnJpa2tpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3JldHVybiddID0gJ1RpbGJha2UnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JldHVybmVyIHRpbCB0b3BwZW4gYXYgdmlzbmluZ2VuJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb3RhJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWZWxnIGVuJzsKJGxhbmdbJ3NrdSddID0gJ1YubnIuKFNLVSknOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnRlciBldHRlcic7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGVyaW5nc3Jla2tlZiZvc2xhc2g7bGdlJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snc3VibWl0J10gPSAnVXRmJm9zbGFzaDtyJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTYW1tZW5kcmFnc21hbCc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgc2FtbWVuZHJhZ3NtYWwnOwokbGFuZ1sndGF4YWJsZSddID0gJ0thbiBpbGVnZ2VzIGF2Z2lmdCc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdG9tciZhcmluZztkZSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGVrc3QgaW5uc2tyaXZpbmcnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmQgSGllcmFya2kgcmFwcG9ydG1hbCc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmQgbnkga2F0ZWdvcmlsaXN0ZW1hbCc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmQgbnkgZGV0YWxqbWFsJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmQgbnkgc2FtbWVuZHJhZ3NtYWwnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ09wcGRhdGVyJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1ZlbGcgZW4gZmlsICZhcmluZzsgbGFzdGUgb3BwJzsKJGxhbmdbJ3VybF9hbGlhcyddID0gJ1VSTCBhbGlhcyc7CiRsYW5nWyd2YWxpZCddID0gJ0d5bGRpZyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZlcmRpJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZlcmRpZXInOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnVmFubm1lcmtlIGxva2Fzam9uJzsKJGxhbmdbJ3dlaWdodCddID0gJ1Zla3QnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjY5Mjg0OTA1LjI1MzYuNTUudXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2luZGV4LnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3OTA1MjYyMzA4NDExMDEwMC4xMjEwNDIzNTc3LjEyNjk3ODk2MTMuMTI2OTgwMDUzNC4yNTcxJzsKJGxhbmdbJ3FjYSddID0gJzEyMTA5NzE2OTAtMjczMDgwNzMtODE5NTI4MzInOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyNjk4MDA1MzQnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1ZvZWcgdG9lJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnVm9lZyBjYXRlZ29yaWUgdG9lJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnVm9lZyB2ZWxkIHRvZSc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnV2lqemlnYmFhcic7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnVm9lZyBwcm9kdWN0IHRvZSc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ1ZvZWcgYXR0cmlidXV0IHRvZSc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdLb3BwZWwgdmVsZCBtZXQgY2F0ZWdvcmllOiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdWb2VnIGhpZXJhcmNoaWUtYXJ0aWtlbCB0b2UnOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ1ZvZWcgYXR0cmlidXV0b3B0aWUgdG9lJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdLYW4gYWxsZWVuIGRlIGFkbWluaXN0cmF0b3IgZGl0IGF0dHJpYnV1dCB6aWVuPyc7CiRsYW5nWydhbGlnbl91bCddID0gJ0JvdmVuIExpbmtzJzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnQm92ZW4gTWlkZGVuJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnQm92ZW4gUmVjaHRzJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWlkZGVuIExpbmtzJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnTWlkZGVuJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWlkZGVuIFJlY2h0cyc7CiRsYW5nWydhbGlnbl9sbCddID0gJ09uZGVyIExpbmtzJzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnT25kZXIgTWlkZGVuJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnT25kZXIgUmVjaHRzJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIGNhdGVnb3JpZSZldW1sO24nOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dlZXQgdSBkaXQgemVrZXI/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgcHJvZHVjdCBlbiBhbGxlIGJpamJlaG9yZW5kZSBpbmZvcm1hdGllIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ09wbG9wZW5kJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXRyaWJ1dXQgTmFhbSc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aXNjaCc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoaWUgUmFwcG9ydCBTamFibG9uZW4nOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnSGllcmFyY2hpZSBSYXBwb3J0IFNqYWJsb29uIHRvZXZvZWdlbi9hYW5wYXNzZW4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcmVuJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWUmZXVtbDtuJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnRXIgYmVzdGFhdCBhbCBlZW4gY2F0ZWdvcmllIG1ldCBkZXplIG5hYW0nOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnQ2F0ZWdvcmllIExpanN0IFNqYWJsb25lbic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQ2F0ZWdvcmllIExpanN0IFNqYWJsb29uIHRvZXZvZWdlbi9hYW5wYXNzZW4nOwokbGFuZ1snY2hlY2tib3gnXSA9ICdWaW5rdmFramUnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdCZW50IHUgemVrZXIgZGF0IHUgZGV6ZSBub2RlIHdpbHQgdmVyd2lqZGVyZW4/ICBFbGsgcHJvZHVjdCB3YXQgZ2VicnVpayBtYWFrdCB2YW4gZGV6ZSBub2RlIHphbCBuaWV0IG1lZXIgb25kZXIgZWVuIGhpZXJhY2hpZSB2YWxsZW4uJzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnQmVudCB1IHpla2VyIGRhdCB1IGRpdCB3aWx0IHVpdHZvZXJlbj9cblxuRm91dGlldmUgaW5zdGVsbGluZ2VuIG9mIGVlbiBmb3V0aWVmIGNvbmZpZ3VyYXRpZWJlc3RhbmQga2FuIGhldCBoZWxlIHN5c3RlZW0gaW4gZGUgd2FyIGJyZW5nZW4uIFdhdCByZXN1bHRlZXJ0IGluIGVlbiBuaWV0IHdlcmtlbmQgc3lzdGVlbS4nOwokbGFuZ1snY29weSddID0gJ0tvcGllJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWUga29waWVyZW4nOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdBYW5nZW1hYWt0IG9wJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdIdWlkaWdlIHdhYXJkZSc7CiRsYW5nWydkYXRhJ10gPSAnRGF0YSAnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYWFyZCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhYXJkIFNqYWJsb25lbic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+T3BtZXJraW5nOjwvc3Ryb25nPiBEZSBpbmhvdWQgdmFuIGRlemUgdGVrc3RibG9ra2VuIHdvcmRlbiBnZWJydWlrdCBvbSBkZSBzdGFuZGFhcmQgd2FhcmRlbiB2YW4gZWVuIHRlbXBsYXRlIG9wIHRlIHNsYWFuLiBBbHMgdSBvcCBkZSBrbm9wICZxdW90O1ZvZWcgdGVtcGxhdGUgdG9lJnF1b3Q7IGtsaWt0IGRhbiB6dWxsZW4gZGV6ZSBzdGFuZGFhcmQgd2FhcmRlbiBpbiBoZXQgbmlldXdlIHRlbXBsYXRlIHdvcmRlbiBvcGdlbm9tZW4uJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1ZlcndpamRlcmVuJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdBdHRyaWJ1dXQgdmVyd2lqZGVyZW4nOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnVmVyd2lqZGVyIEhpZXJhcmNoaWUgSXRlbSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnQWZsb3BlbmQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMgJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFpbCBTamFibG9uZW4nOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBEZXRhaWwgU2phYmxvb24nOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdVaXRnZXNjaGFrZWxkJzsKJGxhbmdbJ2RyYWZ0J10gPSAnQ29uY2VwdCc7CiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duICc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnRHJvcGRvd24gb3B0aWVzIDxlbT4od29yZHQgYWxsZWVuIHRvZWdlcGFzdCBvcCB2ZWxkZW4pPC9lbT48YnIvPjxici8+PGVtPigxIGludm9lciBwZXIgcmVnZWwpPC9lbT4nOwokbGFuZ1snZWRpdCddID0gJ0FhbnBhc3Nlbic7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ1dpanppZyBhdHRyaWJ1dXQnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnQXR0cmlidXV0IEdyb2VwZW4gYWFucGFzc2VuJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdBdHRyaWJ1dXQgR3JvZXAgYWFucGFzZW4gdm9vcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dXQgYWFucGFzc2VuJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWUgYWFucGFzc2VuJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnQ2F0ZWdvcmllIFZlbGRlbiBhYW5wYXNzZW4nOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0hpZXJhcmNoaWUgSXRlbSBhYW5wYXNzZW4nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0VyIGJlc3RhYXQgYWwgZWVuIGF0dHJpYnV1dCBtZXQgZGV6ZSBuYWFtJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZV9za3UnXSA9ICdEdWJiZWxlIFNLVSB3YWFyZGUgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0RlIFZlbGQgV2FhcmRlIG1hZyBuaWV0IGxlZWcgemlqbic7CiRsYW5nWydlcnJvcl9maWxlZm9ybWF0J10gPSAnRmlsZSBGb3JtYXQgcHJvYmxlZW0nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnQmVzdGFuZCBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlZW0gbWV0IG9wZW5lbiB2YW4gYmVzdGFuZCAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnT25nZWxkaWdlIE91ZGVyIChlZW4gaGllcmFyY2hpZSBub2RlIGthbiBuaWV0IHppam4gZWlnZW4gb3VkZXIgemlqbiknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnRGUgYWFuZ2VwYXN0ZSB2ZWxkIHdhYXJkZSBkaWUgdSBoZWVmdCBpbmdldm9lcmQga2xvcHQgbmlldCAoZXIgc3RhYW4gb29rIG5pZXQgYWxmbnVtZXJpZWtlIGthcmFrdGVycyBpbiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRWVuIGJlbm9kaWdkZSBwYXJhbWV0ZXIgbWlzdCBvZiBpcyBuaWV0IGdlbGRpZyc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ0VlbiBpdGVtIG1ldCBkZXplIG5hYW0gaXMgYWwgaW4gZ2VicnVpayc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1NlbGVjdGVlciBhLnUuYi4gZWVuIHZlbGR0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1UgbW9ldCBlZW4gbmFhbSBpbnZvZXJlbic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdEZSBnZW5vZW1kZSBhbGlhcyBpcyBhbCBpbiBnZWJydWlrJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdFciBiZXN0YWF0IGFsIGVlbiBwcm9kdWN0IG1ldCBkZXplIG5hYW0nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCddID0gJ0hldCBnZXZyYWFnZGUgcHJvZHVjdCBrYW4gbmlldCB3b3JkZW4gZ2V2b25kZW4nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkJ10gPSAnRGV6ZSBTS1UgaXMgYWwgaW4gZ2VicnVpayBkb29yIGVlbiBhbmRlciBwcm9kdWN0JzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdPbmdlbGRpZ2UgcHJpanMgYWFucGFzc2luZyB2YW4gaXRlbSAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIG1pc2x1a3Q6ICVzJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0V4dHJhIHZlbGQgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFeHRyYSB2ZWxkIDInOwokbGFuZ1snZmllbGQnXSA9ICdWZWxkJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnVmVsZGRlZmluaXRpZSc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdWZWxkZGVmaW5pdGllcyc7CiRsYW5nWydmaWxlJ10gPSAnQmVzdGFuZCc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyAnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0FsZ2VtZW5lIGluc3RlbGxpbmdlbic7CiRsYW5nWydnbyddID0gJ0dhIG5hYXInOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz8gPC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICYjMDM5O3RheGFibGUmIzAzOTsgb3Igbm90LjwvcD4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgZm9yIHVwIHRvIHR3byBpbWFnZXMgcGVyIHByb2R1Y3QsIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkZXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPg0KICAgIDx1bD4NCiAgICAgIDxsaT5TdW1tYXJ5IHZpZXc8L2xpPg0KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+DQogICAgICA8bGk+RGV0YWlsIHZpZXc8L2xpPiANCiAgICAgIDxsaT5IaWVyYXJjaHkgRHJpbGwtZG93biBWaWV3PC9saT4NCiAgICA8L3VsPg0KICA8bGk+RW50aXJlbHkgRGF0YWJhc2UgVGVtcGxhdGUgRHJpdmVuPC9saT4NCiAgPHA+TnVtZXJvdXMgdGVtcGxhdGVzIG9mIGVhY2ggdHlwZSBjYW4gYmUgZGVmaW5lZCwgZGVmYXVsdHMgc3BlY2lmaWVkIGZvciBlYWNoIHR5cGUsIGFuZCB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgZWFjaCBwYXJ0aWN1bGFyIHZpZXcgY2FuIGJlIHNwZWNpZmllZCBhcyBhIHBhcmFtZXRlcjwvcD4NCiAgPGxpPlNvcnRpbmcgYW5kIHBhZ2luYXRpb24gaW4gdGhlIHN1bW1hcnkgdmlldzwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gZXhpc3QgaW4gbXVsdGlwbGUgY2F0ZWdvcmllczwvbGk+DQogIDxsaT5OdW1lcm91cyBjdXN0b20gZmllbGRzIGNhbiBiZSBkZWZpbmVkLCBpbmNsdWRpbmcgaW1hZ2VzPC9saT4NCiAgPGxpPkF1dG9tYXRpYyB0aHVtYm5haWwgY3JlYXRpb248L2xpPg0KICA8bGk+QWRtaW4gZGVmaW5lZCBmaWVsZHM8L2xpPg0KICA8bGk+UHJvZHVjdCBhdHRyaWJ1dGVzIChpbmNsdWRpbmcgcHJpY2UgYWRqdXN0bWVudCk8L2xpPg0KICA8bGk+V2VpZ2h0IGFuZCB0YXhhYmxlIGZpZWxkcyAoZm9yIHVzZSBpbiBlLWNvbW1lcmNlIHNvbHV0aW9ucyk8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGhhdmUgYSBzdGF0dXMgKHB1Ymxpc2hlZCBvciBkcmFmdCkgaW4gb3JkZXIgdG8gaGlkZSBwcm9kdWN0cyBmcm9tIHB1YmxpYyBkaXNwbGF5IGF0IGFueSB0aW1lPC9saT4NCiAgPGxpPlByZXR0eSBVUkwgU3VwcG9ydDwvbGk+DQogIDxsaT48c3Ryb25nPk1vcmUuLi48L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHVsPg0KPGxpPlNldCBwcmVmZXJlbmNlczwvbGk+DQo8cD5Vc3VhbGx5IHRoaXMgaXMganVzdCBhIGZvcm1hbGl0eS4gIFlvdSBzaG91bGQgc3BlY2lmeSB5b3VyIGRlZmF1bHQgd2VpZ2h0IHVuaXRzLCBhbmQgeW91ciBkZWZhdWx0IGN1cnJlbmN5IHN5bWJvbCBmb3IgeW91ciBsb2NhbCBlbnZpcm9ubWVudC48L3A+DQo8bGk+U2V0dXAgdXNlcnMgYW5kIHBlcm1pc3Npb25zPC9saT4NCjxwPlRoaXMgbW9kdWxlIHVzZXMgdGhlICYjMDM5O01vZGlmeSBUZW1wbGF0ZXMmIzAzOTsgcGVybWlzc2lvbiB0byBhbGxvdyB1c2VycyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdmFyaW91cyB0ZW1wbGF0ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGlzIG1vZHVsZS4gIEFzIHdlbGwsIHRoZSAmIzAzOTtNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGFkanVzdCB0aGUgbW9kdWxlcyBwcmVmZXJlbmNlcy4gIEluIG9yZGVyIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8gbW9kaWZ5IGZpZWxkIGRlZmluaXRpb25zLCBjYXRlZ29yaWVzLCBvciBwcm9kdWN0cywgeW91ciB1c2VycyB3aWxsIG5lZWQgdGhlICYjMDM5O01vZGlmeSBQcm9kdWN0cyYjMDM5OyBwZXJtaXNzaW9uLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcCwgYnV0IHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gZG8gdGhpcyBlYXJseSB0byBwcmV2ZW50IGhhdmluZyB0byBnbyBiYWNrIHRvIG1vZGlmeSBlYWNoIGFuZCBldmVyeSBwcm9kdWN0IGxhdGVyLiAgQWRkaW5nIGEgY2F0ZWdvcnkgaXMgYXMgc2ltcGxlIGFzIGNsaWNraW5nIG9uIHRoZSAmIzAzOTtDYXRlZ29yaWVzJiMwMzk7IHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgJiMwMzk7QWRkIEEgQ2F0ZWdvcnkmIzAzOTsuICBGcm9tIHRoZXJlIHlvdSB3aWxsIGJlIHByb21wdGVkIGZvciBhIGNhdGVnb3J5IG5hbWUuPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLiAgQ3VzdG9tIGZpZWxkcyBhcmUgbm90IG5lZWRlZCBpZiB0aGlzIG1vZHVsZSBzdWl0cyB5b3UgZXhhY3RseSBhcyBpdCBpcy4gIEhvd2V2ZXIgaWYgeW91IHdvdWxkIGxpa2UgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBvZiB5b3VyIHByb2R1Y3RzIHlvdSBjYW4gY3JlYXRlIGN1c3RvbSBmaWVsZHMuICBDcmVhdGluZyBjdXN0b20gZmllbGRzIGlzIHNpbWlsYXIgdG8gY3JlYXRpbmcgY2F0ZWdvcmllcywgZXhjZXB0IHRoYXQgbW9yZSBkYXRhIGlzIHJlcXVlc3RlZC48L3A+DQo8cD5DdXJyZW50bHkgc2l4IHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZTogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEsIGRyb3Bkb3duLCBhbmQgZmlsZSYjMDM5Oy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4NCjxsaT5DcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHM8L2xpPg0KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+DQo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+DQo8cD5JZiBjdXN0b20gZmllbGRzIGFyZSBkZWZpbmVkLCB0aGVuIGlucHV0IGZpZWxkcyBhcHByb3ByaWF0ZSB0byB0aGUgdHlwZSBvZiBjdXN0b20gZmllbGQgd2lsbCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRhdGEgZm9yIGVhY2ggb2YgdGhlbS4gIFRoaXMgZGF0YSBpcyBvcHRpb25hbC48L3A+DQo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPg0KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPklmIHlvdSB3aXNoIHRvIGFsdGVyIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBhcHBsaWNhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LCB5b3UgY2FuIGRvIHRoYXQgYnkgYWRkaW5nIG9uZSBvciBtb3JlIHBhcmFtZXRlcnMgdG8gdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcuICBUaGUgY29tcGxldGUgbGlzdCBvZiBwYXJhbWV0ZXJzIGFuZCB0aGVpciBiZWhhdmlvdXIgaXMgbGlzdGVkIGJlbG93LiAgQnV0IGZvciBleGFtcGxlLCB0byBkaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0cyBpbiBhIHNpbmdsZSwgZXhpc3RpbmcgY2F0ZWdvcnksIHlvdSBjb3VsZCB1c2UgYSB0YWcgbGlrZSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7Y2F0ZWdvcnluYW1lJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPlNtYXJ0eSBQbHVnaW5zPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsc28gcmVnaXN0ZXJzIG9uZSBvciBtb3JlIHNtYXJ0eSBwbHVnaW5zIHRvIGFpZGUgaW4gcmV0cmlldmluZyB2YXJpb3VzIHByb2R1Y3RzIHJlbGF0ZWQgaW5mb3JtYXRpb24gd2hlbiBkZXNpZ25pbmcgcHJvZHVjdHMgbW9kdWxlIHRlbXBsYXRlczo8L3A+DQo8dWw+DQogIDxsaT57cHJvZHVjdHNfZ2V0Y2F0ZWdvcnkgY2F0ZWdvcnlpZD0mIzAzOTs5OSYjMDM5OyBbYXNzaWduPSYjMDM5O3RtcCYjMDM5O119DQogIDxwPlRoaXMgcGx1Z2luIGFsbG93cyByZXRyaWV2aW5nIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gZm9yIGEgc3BlY2lmaWMgY2F0ZWdvcnkgaWQgYW5kIG9wdGlvbmFsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuICBUaGUgcmV0dXJuZWQgaXMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIGNhdGVnb3J5LCBpbmNsdWRpbmcgaXRzIGZpZWxkIHZhbHVlcy48YnIvPmkuZTouIDxjb2RlPntwcm9kdWN0c19nZXRjYXRlZ29yeSBjYXRlZ29yeWlkPTEgYXNzaWduPSYjMDM5O3RtcCYjMDM5O31DYXRlZ29yeSBuYW1lID0geyR0bXAtPm5hbWV9PC9jb2RlPjwvcD4NCiAgIA0KICAgPC9wPg0KICA8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICYjMDM5O1Byb2R1Y3RzJiMwMzk7PC9saT4NCjxsaT5UbyBvYnRhaW4gY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0byB0aGUgYXV0aG9yIGF0IDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5Sb2JlcnQgQ2FtcGJlbGw8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4NCjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaGllJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmNoaWUgUG9zaXRpZSc7CiRsYW5nWydpZCddID0gJ0lkICc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdBZmJlZWxkaW5nJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnSW5zdGVsbGluZ2VuIGFmYmVlbGRpbmcgYWZoYW5kZWxpbmcnOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnSW1wb3J0ZWVyIHByb2R1Y3RlbiB2YW51aXQgZWVuIENTViBmaWxlJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdXNpZWYgb25kZXJsaWdnZW5kZW4/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnQWxsZWVuIGFsZmFudW1lcmlla2Uga2FyYWt0ZXJzLiBHZWVuIHdpdHJ1aW10ZSwgYWFuaGFsaW5nc3Rla2VucyBvZiBsZXR0ZXIvbnVtbWVyIGNvbWJpbmF0aWVzJzsKJGxhbmdbJ2luZm9fYXR0cmlidGVtcGxhdGUnXSA9ICdNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOiB7JGF0dHJpYl90ZXh0fSwgeyRhdHRyaWJfYWRqdXN0fSwgeyRjdXJyZW5jeV9zeW1ib2x9JzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1dhdGVybWVyayBpbnN0ZWxsaW5nZW4gemlqbiBhZmtvbXN0aWcgdWl0IGRlIENHRXh0ZW5zaW9ucyBNb2R1bGUnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gIEFmdGVyIGEgYmF0Y2ggaXMgY29tcGxldGUsIHRoZSBpbXBvcnRlciB3aWxsIHJlZGlyZWN0LCBhbmQgcmVzdW1lIG9wZXJhdGlvbnMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBtZW1vcnkgZXJyb3JzLCBvciB0aW1lb3V0IHByb2JsZW1zIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIHByb2Nlc3NpbmcsIHlvdSBtYXkgbmVlZCB0byBjb25zdWx0IHlvdXIgaG9zdCBwcm92aWRlciwgb3IgcmVkdWNlIHRoaXMgbnVtYmVyJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnRGV6ZSBwYXJhbWV0ZXJzIHdvcmRlbiBkb29yZ2VnZXZlbiBhYW4gZGUgZ2VzZWxjdGVlcmRlIGNhcnQgbW9kdWxlIHZhbnVpdCBoZXQgIHByb2R1Y3QgdWl0Z2VicmVpZCBlbiBvcHNvbW1pbmcgZGlzcGxheXMnOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdNYWFrIG9uYmVrZW5kZSBwcm9kdWN0dmVsZGVuIGF1dG9tYXRpc2NoIGFhbj8gPGVtPihaZSB3b3JkZW4gZGFuIGFhbmdlbWFha3QgYWxzIHRla3N0dmVsZCk8L2VtPic7CiRsYW5nWydpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdNYWFrIGF1dG9tYXRpc2NoIGVlbiBwcm9kdWN0Y2F0ZWdvcmllIGFhbiBkaWUgdm9vcmtvbXQgaW4gaGV0IENTViBmaWxlIGFscyBkZXplIG5vZyBuaWV0IGJlc3RhYXQnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdNYWFrIGF1dG9tYXRpc2NoIGVlbiBwcm9kdWN0IGhpZXJhY2hpZSBhYW4gZGllIHZvb3Jrb210IGluIGhldCBDU1YgZmlsZSBhbHMgZGV6ZSBub2cgbmlldCBiZXN0YWFuJzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ0hldCBzeXN0ZWVtIGdlYnJ1aWt0ICguKSBhbHMgaGV0IGRlY2ltYWxlIHNjaGVpZGluZ3N0ZWtlbiBiLnYuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdTcGVjaWZpY2VlciBoZXQga2FyYWt0ZXIocykgZGF0IGdlYnJ1aWt0IG1vZXQgd29yZGVuIG9tIHZlbGRlbiB0ZSBzY2hlaWRlbic7CiRsYW5nWydpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnU3BlY2lmaWNlZXIgaG9lIGhldCBzeXN0ZWVtIG1vZXQgaGFuZGVsZW4gYWxzIGVyIGVlbiBwcm9kdWN0IHZvb3Jrb210IG1ldCBkZXplbGZkZSBuYWFtIGluIGhldCBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk9wbWVya2luZzo8L3N0cm9uZz4gQWxsZSBoaWVyIGFhbndlemlnZSB2ZWxkZW4gemlqbiBiZXNjaGlrYmFhciB2b29yIGFsbGUgcHJvZHVjdGVuLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdFciBpcyBwcm9ibGVlbSBvbnRzdGFhbiBtZXQgaGV0IHZlcndlcmtlbiB2YW4gZWVuIG9mIG1lZXIgYWFuZ2VtYWFrdGUgdmVsZGVuLiAgRGV6ZSBhY3RpZSBpcyBjb3JyZWN0IHVpdGdldm9lcmQuIG1hYXIgaGV0IGlzIHZlcnN0YW5kaWcgYWxsZXMgdGUgY29udHJvbGVyZW4gZW4gZXZlbnR1ZWVsIHRlIGhlcnN0ZWxsZW4uJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnVGhlIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSkgd2hlcmUgaW1hZ2VzIHJlZmVycmVkIHRvIGluIHRoZSBpbXBvcnQgZmlsZSwgY2FuIGJlIGZvdW5kJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnRWVuIGtvcnRlIHRlc3QgaGVlZnQgcGxhYXRzZ2V2b25kZW4gb3AgaGV0IGdlc2VsZWN0ZWVyZGUgZ2VzZWxlY3RlZXJkZSBiZXN0YW5kIGVuIGFsbGVzIGxpamt0IGluIG9yZGUuPGJyLz5EaXQgaXMgZWNodGVyIGdlZW4gZ2FyYW50aWUgZGF0IGVyIGdlZW4gZm91dGVuIGluIGhldCBiZXN0YW5kIGFhbndlemlnIHppam4uJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ0dlYWNjZXB0ZWVyZGUgd2FhcmRlbiB6aWpuICstKiMuIyMnOwokbGFuZ1snaW5mb19wcm9kbm90Zm91bmQnXSA9ICdUaGlzIG9wdGlvbiBkZXRlcm1pbmVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHdlYnNpdGUgaWYgYSBwcm9kdWN0IGRldGFpbCB2aWV3IGlzIGFjY2Vzc2VkIGRpcmVjdGx5IGJ5IFVSTCwgYW5kIHRoYXQgcHJvZHVjdCBmb3Igd2hhdGV2ZXIgcmVhc29uIChkaXNhYmxlZCwgZGVsZXRlZCwgZXRjKSBjYW5ub3QgYmUgYWNjZXNzZWQuJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdQdWJsaWVrZSB2ZWxkZW4gemlqbiB6aWNodGJhYXIgdm9vciBoZXQgcHVibGllayc7CiRsYW5nWydsYWJlbCddID0gJ0xhYmVsICc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnU2xhIG92ZXInOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnT3ZlcnNjaHJpanZlbic7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYWF0c3QgYWFuZ2VwYXN0IG9wJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnVHdlZWRlIEFmYmVlbGRpbmcnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW1hbGUgbGVuZ3RlIDxlbT4oYWxsZWVuIHZhbiB0b2VwYXNzaW5nIG9wIGhldCB0ZWtzdHZlbGQpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnQWFuZ2VwYXN0IG9wJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0VlbiBtb2R1bGUgdm9vciBoZXQgbWFuYWdlbiB2YW4gZWVuIHByb2R1Y3RjYXRhbG9ndXMuIERlIHByb2R1Y3RlbiB6aWpuIHZvb3J6aWVuIHZhbiBlZW4gcHJpanMsIGVlbiBmb3RvLCBldGMuIE9vayBpcyBlciBlZW4gbW9nZWxpamtoZWlkIHZvb3IgZWVuIHdpbmtlbHdhZ2VuIHRlIG1ha2VuLic7CiRsYW5nWyduYW1lJ10gPSAnTmFhbSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ1UgaGVlZnQgbmlldCBkZSB2ZXJlaXN0ZSByZWNodGVuOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05pZXV3ZSBDYXRlZ29yaWUgTmFhbSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdOZWUnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdFciBpcyBnZWVuIG5hYW0gaW5nZXZ1bGQnOwokbGFuZ1snbm9uZSddID0gJ0dlZW4nOwokbGFuZ1snb2YnXSA9ICdWYW4nOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnaW5hICVzIHZhbiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnaW5hIExpbWlldCc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZpY2VlciBkZSB3ZXJraW5nIHZhbiBkZSBtb2R1bGUuICBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIFRvb24gZWVuIHByb2R1Y3RsaWpzdCBvcCBiYXNpcyB2YW4gaGllcmFjaGllPC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIFRvb24gZWVuIHByb2R1a3RsaWpzdCBvcCBiYXNpcyB2YW4gY2F0ZWdvcmllbjwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ0hlZWZ0IGFsbGVlbiB6aW4gaW4gZGUgdWl0Z2VicmVpZGUgc2phYmxvb24uIERlemUgcGFyYW1ldGVyIGdlZWZ0IGFhbiB3ZWxrIHByb2R1Y3QgdGUgZ2VicnVpa2VuIGJpaiBoZXQgd2VlcmdldmVuLic7CiRsYW5nWydwYXJhbV9zaG93YWxsJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCBpZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBub24gMCBpbnRlZ2VyIHZhbHVlIGFsbCBjYXRlZ29yaWVzIChldmVuIHRob3NlIHdpdGhvdXQgcHJvZHVjdHMpIHdpbGwgYmUgZGlzcGxheWVkLic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgb25seSBpbiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dCBwcm9kdWN0cy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6IA0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBwcm9kdWN0IHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RlemUgcGFyYW1ldGVyIGdlZWZ0IGFhbiB3ZWxrZSBvcHNvbW1pbmcgc2phYmxvb24gZXIgZ2VicnVpa3QgbW9ldCB3b3JkZW4uIEFscyBlciBnZWVuIGdlc2VsZWN0ZWVyZCB3b3JkdCBkYW4gd29yZCBkZSBzdGFuZGFhcmQgc2phYmxvb24gZ2VicnVpa3QuJzsKJGxhbmdbJ3BhcmVudCddID0gJ091ZGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgUHJvZHVjdHMgbW9kdWxlIGlzIGdlaW5zdGFsbGVlcmQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RlIFByb2R1Y3RzIG1vZHVsZSBpcyB2ZXJ3aWpkZXJkIGluY2x1c2llZiBhbGxlIGdla29wcGVsZGUgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1Zvb3JrZXVyZW4nOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnQWxzIGRlIG1vZHVsZSB3b3JkdCB2ZXJ3aWpkZXJkIGRhbiB3b3JkIG9vayBhbGxlIGFhbndlemlnZSBkYXRhIGdld2lzdC4gQmVudCB1IHpla2VyIGRhdCB1IHdpbHQgdmVyZGVyZ2Fhbj8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmlqcyc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnUHJpanN3aWp6aWdpbmcnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWN0ICc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ1Byb2R1Y3RuYWFtJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnUHJvZHVjdGVuJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnUHJvZHVjdCBEZXRhaWwgSW5zdGVsbGluZ2VuJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVjdGhpZXJhcmNoaWUnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVjdG1hbmFnZXInOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdWb29ydGdhbmcnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0ICc7CiRsYW5nWydwcm9tcHRfYWRkX2F0dHJpYnNldCddID0gJ1RvZXZvZWdlbi9XaWp6aWdlbiBBdHRyaWJ1dGVuIFNldCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdTdGEgdXBsb2FkIHZhbiBiZXN0YW5kZW4gdG9lIG1ldCBkZXplIGV4dGVuc2llcyAodm9vciBiZXN0YW5kZW4pJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdTdGEgdXBsb2FkIHZhbiBiZXN0YW5kZW4gdG9lIG1ldCBkZXplIGV4dGVuc2llcyAgKHZvb3IgYWZiZWVsZGluZ2VuKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdTamFibG9vbiB2b29yIGhldCwgaW4gZWVuIGRyb3Bkb3duIHRvbmVuIHZhbiBwcm9kdWN0IGF0dHJpYnV0ZW4nOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdNYWFrIGF1dG9tYXRpc2NoIG1pbmlhdHVyZW4gdmFuIGRlIGFmYmVlbGRpbmdlbic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW1hbGUgYWZtZXRpbmcgKGdyb290c3RlIHppamRlKSB2YW4gaGV0IG1pbmlhdHV1ci4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGlzY2ggZ2VuZXJlcmVuIHZhbiBrbGVpbmUgcHJvZHVjdGFmYmVlbGRpbmdlbiB2YW4gZGUgYWZiZWVsZGluZ2VuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWF4aW1hbGUgYWZtZXRpbmcgKGdyb290c3RlIHppamRlKSB2YW4gZGUga2xlaW5lIHByb2R1Y3RhZmJlZWxkaW5nLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ1BsYWF0cyBhdXRvbWF0aXNjaCBlZW4gd2F0ZXJtZXJrIG9wIGRlIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ1NjaGFrZWwgc3RhbmRhYXJkIGluIHZvb3IgYWxsZSBuaWV1d2UgcHJvZHVjdGVuJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdWb2x1bWUgZ3Jvb3R0ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdDYXJ0IE1vZHVsZSAnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMgJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnTWFhayBjYXRlZ29yaSZldW1sO24nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWZpZWxkcyddID0gJ01hYWsgcHJvZHVjdCB2ZWxkZW4/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdNYWFrIHByb2R1Y3QgaGllcmFjaGllJzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnVXBsb2FkIGVlbiBDU1YgYmVzdGFuZCc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAnVmFsdXRhY29kZSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdWYWx1dGF0ZWtlbic7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdTdGFuZGFhcmQgaGViYmVuIGFsbGUgbmlldXdlIHByb2R1Y3RlbiBkZXplIHN0YXR1cyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnU3RhbmRhYXJkIHppam4gYWxsZSBwcm9kdWN0ZW4gYmVsYXN0YmFhcic7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnTW9ldGVuIGFsbGUgYmVzdGFuZGVuIHZlcndpamRlcmQgd29yZGVuIGRpZSBnZWtvcHBlbGQgemlqbiBhYW4gZWVuIHByb2R1Y3QgYWxzIGhldCBwcm9kdWt0IHdvcmQgdmVyd2lqZGVyZCB3b3JkdD8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ1ZlbGQgc2NoZWlkaW5nc3Rla2VuJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnU3RhbmRhYXJkIGRldGFpbHBhZ2luYSc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIb2Ugb20gdGUgZ2FhbiBtZXQgZGV6ZWxmZGUgcHJvZHVjdGVuPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnVmVyd2VyayBhZmJlZWxkaW5nZW4/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdBZmJlZWxkaW5nIHBhZCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfYmVoYXZpb3InXSA9ICdXYXQgbW9ldCBlciB3b3JkZW4gZ2VkYWFuIGFscyBlZW4gcHJvZHVjdCBuaWV0IGdldm9uZGVuIHdvcmR0Pyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfNDA0J10gPSAnR2VuZXJlZXIgZWVuIDQwNCBtZWxkaW5nJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF8zMDEnXSA9ICdHZW5lcmVlciBlZW4gMzAxIHJlZGlyZWN0JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9lcnJvcm1zZyddID0gJ1Rvb24gZWVuIGZvdXQgYm9vZHNjaGFwJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdGb3V0bWVsZGluZyBhbHMgZWVuIHByb2R1Y3QgbmlldCBnZXZvbmRlbiBpcyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfcGFnZSddID0gJ1BhZ2luYSBvbSBwZXJtYW5lbnQgbmFhciB0ZSB2ZXJ3aWp6ZW4/JzsKJGxhbmdbJ3Byb21wdF9wcm9kX2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFhcmQgUGFnaW5hIHZvb3IgUHJvZHVjdCBEZXRhaWwgT3ZlcnppY2h0ZW4nOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdTdGFuZGFhcmQgc29ydGVlcnZvbGdvcmRlIGluIG9wc29tbWluZyBtb2RlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ1N0YW5kYWFyZCB2ZWxkdm9sZ29yZGUgaW4gb3Bzb21taW5nIG1vZGUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnU2phYmxvb24gQnJvbic7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnVGUgZ2VicnVpa2VuIHByZWZpeCB2b29yIGFsbGUgVVJMcyBkaWUgZGV6ZSBtb2R1bGUgZ2VicnVpa3QnOwokbGFuZ1sncHJvbXB0X3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnXSA9ICdHZWJydWlrIGRlemUgcGFnaW5hIG9vayB2b29yIHpvZWtyZXN1bHRhdGVuIDxlbT4ob3ZlcnNjaHJpamZ0IGRlIHpvZWtyZXN1bHRhdGVuIHBhZ2luYSBwYXJhbWV0ZXIgaW4gZGUgWm9layBtb2R1bGUpPC9lbT4nOwokbGFuZ1sncHJvbXB0X3VzZWhpZXJwYXRodXJscyddID0gJ0dlYnJ1aWsgUGFkIEhpZXJhcmNoaWUgaW4gZGUgUHJvZHVjdCBEZXRhaWwgVXJsJiMwMzk7cyc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdHZXdpY2h0IGVlbmhlZGVuJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0lzIGRpdCBlZW4gcHVibGllayB2ZWxkPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdHZXB1YmxpY2VlcmQnOwokbGFuZ1sncmFuZG9tJ10gPSAnV2lsbGVrZXVyaWcnOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdSZXNldCBuYWFyIHN0YW5kYWFyZGluc3RlbGxpbmdlbic7CiRsYW5nWydyZXR1cm4nXSA9ICdLZWVyIHRlcnVnJzsKJGxhbmdbJ3JldHVybl90b190b3AnXSA9ICdHYSB0ZXJ1ZyBuYWFyIGRlIGJvdmVua2FudCB2YW4gZGUgcGFnaW5hJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb290ICc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnS2llcyAmZWFjdXRlOyZlYWN1dGU7bic7CiRsYW5nWydza3UnXSA9ICdTS1UgJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0ZWVyIG9wJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0ZWVydm9sZ29yZGUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzdWJtaXQnXSA9ICdWZXJzdHVyZW4nOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1NhbWVudmF0dGluZ3NzYWJsb25lbic7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBTYW1lbnZhdHRpbmcgU2phYmxvb24nOwokbGFuZ1sndGF4YWJsZSddID0gJ0JlbGFzdGJhYXInOwokbGFuZ1sndGVzdCddID0gJ1Rlc3Rlbic7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0cnVpbXRlJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZWtzdCBJbnZvZXInOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIG5pZXV3ZSBIaWVyYWNoaWUgUmFwcG9ydCBTamFibG9vbic7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIG5pZXV3ZSBDYXRlZ29yaWVsaWpzdCBTamFibG9vbic7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIG5pZXV3ZSBEZXRhaWwgU2phYmxvb24nOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgbmlldXdlIFNhbWVudmF0dGluZyBTamFibG9vbic7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXBkYXRlJ10gPSAnQmlqd2Vya2VuICc7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlY3RlZXIgZWVuIGJlc3RhbmQgb20gdGUgdXBsb2FkZW4nOwokbGFuZ1sndXJsX2FsaWFzJ10gPSAnVXJsIEFsaWFzJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnS2xvcHQnOwokbGFuZ1sndmFsdWUnXSA9ICdXYWFyZGUnOwokbGFuZ1sndmFsdWVzJ10gPSAnV2FhcmRlbic7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdQbGFhdHMgV2F0ZXJtZXJrJzsKJGxhbmdbJ3dlaWdodCddID0gJ0dld2ljaHQnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yOTU0ODUyMzQuMTI2MzU2MzY3MS4xMjY3OTk1OTk5LjEyNjgwMzI2NjIuMTI3JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2NjIyODc0Ny41Ni40LnV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vcHJvamVjdHMvZ2FsbGVyeSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xMjA5MzQ0NDE0LTEyNjM1NjM2NzEzMzQnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyNjgwMzI2NjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0RvZGFqJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnRG9kYWoga2F0ZWdvcmnEmSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0RvZGFqIHBvbGUnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ1ptaWVuaWFsbnknOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0RvZGFqIHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdEb2RhaiBhdHJ5YnV0JzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ1ByenlwaXNhxIcgcG9sZSBkbyBrYXRlZ29yaWk6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0RvZGFqIGVsZW1lbnQgaGllcmFyY2hpaSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnRG9kYWogb3BjasSZIGF0cnlidXR1JzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdDenkgdHlsa28gYWRtaW5pc3RyYXRvcnp5IG1vZ8SFIHdpZHppZcSHIHRlbiBhdHJ5YnV0Pyc7CiRsYW5nWydhbGlnbl91bCddID0gJ0cmb2FjdXRlO3JueSBsZXd5JzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnRyZvYWN1dGU7cm55IMWbcm9kZWsnOwokbGFuZ1snYWxpZ25fdXInXSA9ICdHJm9hY3V0ZTtybnkgcHJhd3knOwokbGFuZ1snYWxpZ25fbWwnXSA9ICfFmnJvZGVrIGxld3knOwokbGFuZ1snYWxpZ25fbWMnXSA9ICfFmnJvZGVrJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnxZpyb2RlayBwcmF3eSc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0Qmb2FjdXRlO8WCIGxld3knOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdEJm9hY3V0ZTvFgiDFm3JvZGVrJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnRCZvYWN1dGU7xYIgcHJhd3knOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1dzenlzdGtpZSBrYXRlZ29yaWUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0N6eSBuYSBwZXdubyB1c3VuxIXEhz8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnQ3p5IG5hcGV3bm8gY2hjZXN6IHVzdW7EhcSHIHRlbiBwcm9kdWt0IG9yYXogd3N6eXN0a2llIGRvZGF0a293ZSBpbmZvcm1hY2plIG5hIGplZ28gdGVtYXQ/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1Jvc27EhWNvJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnTmF6d2EgYXRyeWJ1dHUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdHljem5pZSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ1N6YWJsb255IHJhcG9ydCZvYWN1dGU7dyBoaWVyYXJjaGlpJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0RvZGFqL0VkeXR1aiBzemFibG9uIHJhcG9ydHUgaGllcmFyY2hpaSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbnVsdWonOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpYSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0thdGVnb3JpYSBvIHRlaiBuYXp3aWUganXFvCBpc3RuaWVqZSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdTemFibG9ueSBsaXN0eSBrYXRlZ29yaWknOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0RvZGFqL0VkeXR1aiBzemFibG9uIGxpc3R5IGthdGVnb3JpaSc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnQ3p5IG5hcGV3bm8gY2hjZXN6IHVzdW7EhcSHIHRlbiBlbGVtZW50IGhpZXJhcmNoaWk/IFdzenlzdGtpZSBwcm9kdWt0eSB1xbx5d2FqxIVjZSB0ZWdvIGVsZW1lbnR1IG5pZSBixJlkxIUgcHJ6eXBpc2FuZSBkbyDFvGFkbmVqIGhpZXJhcmNoaWknOwokbGFuZ1snY29weSddID0gJ1Nrb3BpdWonOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ1Nrb3BpdWoga2F0ZWdvcmnEmSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0RhdGEgdXR3b3J6ZW5pYSc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnQWt0dWFsbmEgd2FydG/Fm8SHJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYW5lJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEb215xZtsbnknOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N6YWJsb255IGRvbXnFm2xuZSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+VXdhZ2E6PC9zdHJvbmc+IFphd2FydG/Fm8SHIHR5Y2ggcCZvYWN1dGU7bCB0ZWtzdG93eWNoIGplc3QgdcW8eXdhbmEgZG8gb2tyZcWbbGVuaWEgZG9tecWbbG5laiB6YXdhcnRvxZtjaSBzemFibG9uJm9hY3V0ZTt3IHcgbW9tZW5jaWUgd3licmFuaWEgb3BjamkgJmFtcDtxdW90O0RvZGFqIHN6YWJsb24mYW1wO3F1b3Q7IG5hIG9kcG93aWVkbmllaiB6YWvFgmFkY2UuIEVkeWNqYSB0eWNoIHAmb2FjdXRlO2wgbmllIHdwxYJ5d2EgYmV6cG/Fm3JlZG5pbyBuYSBpc3RuaWVqxIVjZSBzemFibG9ueS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnU2thc3VqJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdTa2FzdWogYXRyeWJ1dCc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdTa2FzdWogZWxlbWVudCBoaWVyYXJjaGlpJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdNYWxlasSFY28nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdPcGlzJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdTemN6ZWcmb2FjdXRlO8WCeSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdTemFibG9ueSBzemN6ZWcmb2FjdXRlO8WCb3dlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdEb2Rhai9lZHl0dWogc3phYmxvbiBzemN6ZWcmb2FjdXRlO8WCb3d5JzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnV3nFgsSFY3pvbnknOwokbGFuZ1snZHJhZnQnXSA9ICdLb3BpYSByb2JvY3phJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTGlzdGEgcm96d2lqYWxuYSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnT3BjamVsaXN0eSByb3p3aWphbG5laiA8ZW0+KGF0byBwb2xlIGplc3QgdcW8eXdhbmUgdHlsa28gcHJ6eSBsaXN0YWNoIHJvendpamFsbnljaCk8L2VtPjxici8+PGJyLz48ZW0+KGplZG5hIGxpbmlhIHRvIGplZG5hIG9wY2phKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZHl0dWonOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnRWR5dHVqIHplc3RhdyBhdHJ5YnV0Jm9hY3V0ZTt3JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdFZHl0dWogYXRyeWJ1dHkgZGxhJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ0VkeXR1aiBhdHJ5YnV0eSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWR5dHVqIGthdGVnb3JpxJknOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdFZHl0dWogcG9sYSBrYXRlZ29yaWknOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0VkeXR1aiBlbGVtZW50IGhpZXJhcmNoaWknOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0F0cnlidXQgeiB0YWvEhSBuYXp3xIUganXFvCBpc3RuaWVqZSc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAnV2FydG/Fm8SHIHBvbGEgbmllIG1vxbxlIGJ5xIcgcHVzdGEnOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnTmllIG9kbmFsZXppb25vIHBsaWt1JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdOaWVwcmF3aWTFgm93eSBlbGVtZW50IG5hZHJ6xJlkbnkgKGdhxYLEhcW6IGhpZXJhcmNoaWkgbmllIG1vxbxlIGJ5xIcgc3dvaW0gd8WCYXNueW0gZWxlbWVudGVtIG5hZHJ6xJlkbnltKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdXYXJ0b8WbxIcgcG9sYSBqZXN0IG5pZXBvcHJhd25hIChtb8W8ZSB6YXdpZXJhxIcgdHlsa28gem5ha2kgYWxmYW51bWVyeWN6bmUpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1dZbWFnYW55IHBhcmFtZXRyIGplc3QgbmllcHJhd2lkxYJvd3kgbHViIHB1c3R5JzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnRWxlbWVudCB6IHRha8SFIG5henfEhSBqdcW8IGlzdG5pZWplJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnUHJvc3rEmSB3eWJyYcSHdHlwIHBvbGEnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnTXVzaXN6IHdwaXNhxIcgbmF6d8SZJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdQcm9kdWt0IHogdGFrxIUgbmF6d8SFIGp1xbwgaXN0bmllamUnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ05JZXByYXdpZMWCb3dhIHptaWFuYSB3YXJ0b8WbY2kgY2VueSBkbGEgZWxlbWVudHUgJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ1phxYJhZG93YW5pZSBwbGlrdSBuaWUgcG93aW9kxYJvIHNpxJk6ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnUG9sZSc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluaWNqYSBwb2xhJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0RlZmluaWNqZSBwJm9hY3V0ZTtsJzsKJGxhbmdbJ2ZpbGUnXSA9ICdQbGlrJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cnknOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB3YXkgdG8gY29sbGVjdCwgb3JnYW5pemUsIGFuZCBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHByb2R1Y3RzIGFuZCB0aGVpciBjYXRlZ29yaWVzLiAgVGhpcyBtb2R1bGUgY2FuIHN0YW5kIG9uIGl0cyBvd24sIG9yIGJlIHBhcnQgb2YgYW4gZS1jb21tZXJjZSBzb2x1dGlvbiBpZiB5b3Ugd2lzaC4gIFRoZSBtb2R1bGUgc3VwcG9ydHMgYSBwcm9kdWN0IGV4aXN0aW5nIGluIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnksIHN1cHBvcnRzIHByb2R1Y3Qgd2VpZ2h0LCBwcmljZSwgYW5kIGF0dHJpYnV0ZSBzZXRzLiAgRWFjaCBpdGVtIGluIGFuIGF0dHJpYnV0ZSBzZXQgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50LiAgQWxzbyBhIGdsb2JhbCBmbGFnIGluZGljYXRlcyB3ZXRoZXIgdGhlIHByb2R1Y3QgaXMgJiMwMzk7dGF4YWJsZSYjMDM5OyBvciBub3QuPC9wPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBmb3IgdXAgdG8gdHdvIGltYWdlcyBwZXIgcHJvZHVjdCwgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zLCBhbmQgZm9yIHRoZSBhYmlsaXR5IHRvIGRlc2NyaW1pbmF0ZSBwcml2YXRlIGZyb20gcHVibGljIGRhdGEuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5OdW1lcm91cyBWaWV3czwvbGk+DQogICAgPHVsPg0KICAgICAgPGxpPlN1bW1hcnkgdmlldzwvbGk+DQogICAgICA8bGk+Q2F0ZWdvcnkgTGlzdCBWaWV3PC9saT4NCiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IA0KICAgICAgPGxpPkhpZXJhcmNoeSBEcmlsbC1kb3duIFZpZXc8L2xpPg0KICAgIDwvdWw+DQogIDxsaT5FbnRpcmVseSBEYXRhYmFzZSBUZW1wbGF0ZSBEcml2ZW48L2xpPg0KICA8cD5OdW1lcm91cyB0ZW1wbGF0ZXMgb2YgZWFjaCB0eXBlIGNhbiBiZSBkZWZpbmVkLCBkZWZhdWx0cyBzcGVjaWZpZWQgZm9yIGVhY2ggdHlwZSwgYW5kIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciBlYWNoIHBhcnRpY3VsYXIgdmlldyBjYW4gYmUgc3BlY2lmaWVkIGFzIGEgcGFyYW1ldGVyPC9wPg0KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBleGlzdCBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPk51bWVyb3VzIGN1c3RvbSBmaWVsZHMgY2FuIGJlIGRlZmluZWQsIGluY2x1ZGluZyBpbWFnZXM8L2xpPg0KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+DQogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+DQogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+DQogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPg0KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4NCiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8dWw+DQo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4NCjxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4NCjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPg0KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgJiMwMzk7TW9kaWZ5IFRlbXBsYXRlcyYjMDM5OyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICYjMDM5O01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJiMwMzk7IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gYWRqdXN0IHRoZSBtb2R1bGVzIHByZWZlcmVuY2VzLiAgSW4gb3JkZXIgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgZmllbGQgZGVmaW5pdGlvbnMsIGNhdGVnb3JpZXMsIG9yIHByb2R1Y3RzLCB5b3VyIHVzZXJzIHdpbGwgbmVlZCB0aGUgJiMwMzk7TW9kaWZ5IFByb2R1Y3RzJiMwMzk7IHBlcm1pc3Npb24uPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlICYjMDM5O0NhdGVnb3JpZXMmIzAzOTsgdGFiIGluIHRoZSBQcm9kdWN0IE1hbmFnZXJzIGFkbWluIHNlY3Rpb24sIGFuZCBjbGlja2luZyAmIzAzOTtBZGQgQSBDYXRlZ29yeSYjMDM5Oy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAuICBDdXN0b20gZmllbGRzIGFyZSBub3QgbmVlZGVkIGlmIHRoaXMgbW9kdWxlIHN1aXRzIHlvdSBleGFjdGx5IGFzIGl0IGlzLiAgSG93ZXZlciBpZiB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBlYWNoIG9mIHlvdXIgcHJvZHVjdHMgeW91IGNhbiBjcmVhdGUgY3VzdG9tIGZpZWxkcy4gIENyZWF0aW5nIGN1c3RvbSBmaWVsZHMgaXMgc2ltaWxhciB0byBjcmVhdGluZyBjYXRlZ29yaWVzLCBleGNlcHQgdGhhdCBtb3JlIGRhdGEgaXMgcmVxdWVzdGVkLjwvcD4NCjxwPkN1cnJlbnRseSBzaXggdHlwZXMgb2YgY3VzdG9tIGZpZWxkcyBhcmUgYXZhaWxhYmxlOiAmIzAzOTt0ZXh0Ym94JiMwMzk7LCYjMDM5O2NoZWNrYm94JiMwMzk7LGFuZCAmIzAzOTt0ZXh0YXJlYSwgZHJvcGRvd24sIGFuZCBmaWxlJiMwMzk7LiAgU2VsZWN0IG9uZSBvZiB0aGVzZSwgZ2l2ZSB5b3VyIG5ldyBmaWVsZCBhIG5hbWUsIGFuZCBpbmRpY2F0ZSB3ZXRoZXIgdGhhdCBmaWVsZCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgcHVibGljIGluIHRoZSB2YXJpb3VzIHZpZXdzLiAgVGhlbiBoaXQgc3VibWl0PC9wPg0KPGxpPkNyZWF0ZSBvbmUgb3IgbW9yZSBwcm9kdWN0czwvbGk+DQo8cD5Zb3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSBwcm9kdWN0cyB0byBkaXNwbGF5IGluIHlvdXIgd2Vic2l0ZSBjb250ZW50LiAgR2l2ZSBlYWNoIHByb2R1Y3QgYSBuYW1lLCBhIHByaWNlIChvcHRpb25hbCkgYSB3ZWlnaHQgKG9wdGlvbmFsKSwgYSBzdGF0dXMgKGRyYWZ0IG9yIHB1Ymxpc2hlZCksIGFuZCBzb21lIGluZm9ybWF0aW9uLiAgQWRkaXRpb25hbGx5LCB5b3UgY2FuIGFsc28gc3BlY2lmeSBpZiB0aGUgcHJvZHVjdCBpcyB0YXhhYmxlLjwvcD4NCjxwPklmIGNhdGVnb3JpZXMgYXJlIGRlZmluZWQsIHRoZW4gYSBjaGVja2JveCB3aWxsIGFwcGVhciBmb3IgZWFjaCBkZWZpbmVkIGNhdGVnb3J5LiAgWW91IGNhbiBzaW1wbHkgY2xpY2sgdGhlIGNoZWNrYm94IGZpZWxkcyBmb3IgZWFjaCBjYXRlZ29yeSB0aGF0IHRoaXMgcHJvZHVjdCBzaG91bGQgYmVsb25nIHRvLjwvcD4NCjxwPklmIGN1c3RvbSBmaWVsZHMgYXJlIGRlZmluZWQsIHRoZW4gaW5wdXQgZmllbGRzIGFwcHJvcHJpYXRlIHRvIHRoZSB0eXBlIG9mIGN1c3RvbSBmaWVsZCB3aWxsIGFwcGVhciBhbmQgYWxsb3cgeW91IHRvIHNwZWNpZnkgZGF0YSBmb3IgZWFjaCBvZiB0aGVtLiAgVGhpcyBkYXRhIGlzIG9wdGlvbmFsLjwvcD4NCjxsaT5BZGQgdGhlIGFwcHJvcHJpYXRlIHRhZ3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGVzIG9yIHBhZ2UgY29udGVudDwvbGk+DQo8cD5UaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnIGludG8gdGhlIGNvbnRlbnQgYXJlYSBvZiBvbmUgb2YgeW91ciBwYWdlcywgb3IgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9wPg0KPHA+SWYgeW91IHdpc2ggdG8gYWx0ZXIgdGhlIGJlaGF2aW91ciBvZiB0aGlzIGFwcGxpY2F0aW9uIGZyb20gaXRzIGRlZmF1bHQsIHlvdSBjYW4gZG8gdGhhdCBieSBhZGRpbmcgb25lIG9yIG1vcmUgcGFyYW1ldGVycyB0byB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZy4gIFRoZSBjb21wbGV0ZSBsaXN0IG9mIHBhcmFtZXRlcnMgYW5kIHRoZWlyIGJlaGF2aW91ciBpcyBsaXN0ZWQgYmVsb3cuICBCdXQgZm9yIGV4YW1wbGUsIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3RzIGluIGEgc2luZ2xlLCBleGlzdGluZyBjYXRlZ29yeSwgeW91IGNvdWxkIHVzZSBhIHRhZyBsaWtlIDxjb2RlPntQcm9kdWN0cyBjYXRlZ29yeT0mIzAzOTtjYXRlZ29yeW5hbWUmIzAzOTt9PC9jb2RlPjwvcD4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gIEhvd2V2ZXIgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciAmIzAzOTtQcm9kdWN0cyYjMDM5OzwvbGk+DQo8bGk+VG8gb2J0YWluIGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHNlbmQgYW4gZW1haWwgdG8gdGhlIGF1dGhvciBhdCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+DQo8bGk+Rm9yIHNvbWUgcXVlc3Rpb25zIGFuZCBsaW1pdGVkIHRlY2huaWNhbCBzdXBwb3J0LCB0aGUgYXV0aG9yIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaGlhJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ1BvenljamEgdyBoaWVyYXJjaGlpJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnT2JyYXplayc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnRG/FgsSFY3p5xIcgZWxlbWVudHkgcG9kcnrEmWRuZT8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdUeWxrbyB6bmFraSBhbGZhbnVtZXJ5Y3puZSAoYmV6IHNwYWNqaSwgYXBvc3Ryb2Ymb2FjdXRlO3csIGN1ZHp5c8WCb3cmb2FjdXRlO3csIHBvbHNraWNoIHpuYWsmb2FjdXRlO3cpJzsKJGxhbmdbJ2luZm9fYXV0b3RodW1ibmFpbCddID0gJ1VzdGF3aWVuaWEgbWluaWF0dXJlayB6ZGrEmcSHIHPEhSBwb2JpZXJhbmUgeiBtb2R1xYJ1IENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdVc3Rhd2llbmlhIHpuYWsmb2FjdXRlO3cgd29kbnljaCBzxIUgcG9iaWVyYW5lIHogbW9kdcWCdSBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Vd2FnYTogPC9zdHJvbmc+IFdzenlzdGtpZSBwb2xhIHpkZWZpbmlvd2FuZSB0dXRhaiBzxIUgZG9zdMSZcG5lIGRsYSB3c3p5c3RraWNoIHByb2R1a3Qmb2FjdXRlO3cuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1d5c3TEhXBpxYJ5IHByb2JsZW15IHogb2JzxYJ1Z8SFIGplZG5lZ28gbHViIHdpxJljZWogcCZvYWN1dGU7bCB6ZGVmaW5pb3dhbnljaC4gQWtjamEgem9zdGHFgmEgcHJ6ZXByb3dhZHpvbmEgcG9wcmF3bmllLCBqZWRuYWsgcG93aW5pZW5lxZsgc3ByYXdkemnEhyBjenkgd3N6eXN0a28gamVzdCB3IHBvcnrEhWRrdSc7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQb3ByYXduZSB3YXJ0b8WbY2kgcG9sYSB0byArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdQb2xhIHB1YmxpY3puZSBzxIUgd2lkb2N6bmUgZGxhIHdzenlzdGtpY2gnOwokbGFuZ1snbGFiZWwnXSA9ICdFdHlraWV0YSc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdPc3RhdG5pYSBtb2R5ZmlrYWNqYSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0RydWdpIG9icmF6ZWsnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrc3ltYWxuYSBkxYJ1Z2/Fm8SHIDxlbT4oZG90eWN6eSB0eWxrbyBwJm9hY3V0ZTtsIHRla3N0b3d5Y2gpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnRGF0YSBtb2R5ZmlrYWNqaSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdNb2R1xYIgcG96d2FsYWrEhWN5IG5hIHN0d29yemVuaWUga2F0YWxvZ3UgcHJvZHVrdCZvYWN1dGU7dyB6IGNlbmFtaSwgemRqxJljaWFtaSBpdHAuIFBvendhbGEgdGFrxbxlIG5hIHR3b3J6ZW5pZSBrb3N6eWthLic7CiRsYW5nWyduYW1lJ10gPSAnTmF6d2EnOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdOaWUgcG9zaWFkYXN6IHd5bWFnYW5lZ28gdXByYXduaWVuaWE6ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnTm93YSBuYXp3YSBrYXRlZ29yaWknOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTmllIHBvZGFubyBuYXp3eSc7CiRsYW5nWydub25lJ10gPSAnQnJhayc7CiRsYW5nWydvZiddID0gJ3onOwokbGFuZ1sncGFnZSddID0gJ1N0cm9uYSc7CiRsYW5nWydwYWdlX29mJ10gPSAnU3Ryb25hICVzIHogJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ0xpbWl0IG5hIHN0cm9uxJknOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdLaWVkeSB1xbx5dHkgdyB0cnliaWUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBwcm9kdWN0cyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBwcm9kdWN0IHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IGluIHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0IHByb2R1Y3RzLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBwcm9kdWN0IGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyZW50J10gPSAnRWxlbWVudCBuYWRyesSZZG55JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdcWCIEthdGFsb2cgcHJvZHVrdCZvYWN1dGU7dyB6b3N0YcWCIHBvbXnFm2xuaWUgemFpbnN0YWxvd2FueSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdcWCIEthdGFsb2cgcHJvZHVrdCZvYWN1dGU7dyB6b3N0YcWCIG9kaW5zdGFsb3dhbnkuJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnVXN0YXdpZW5pYSc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdVc3VuacSZY2llIHRlZ28gbW9kdcWCdSBzcG93b2R1amUgdXN1bmnEmWNpZSB3c3p5c3RraWNoIGRhbnljaCBrYXRhbG9ndS4gQ3p5IG5hcGV3bm8gY2hjZXN6IGtvbnR5bnVvd2HEhz8nOwokbGFuZ1sncHJpY2UnXSA9ICdDZW5hJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdabWlhbmEgY2VueSc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1a3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdOYXp3YSBwcm9kdWt0dSc7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3R5JzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnSGllcmFyY2hpYSBwcm9kdWt0Jm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ0thdGFsb2cgcHJvZHVrdCZvYWN1dGU7dyc7CiRsYW5nWydwcm9tcHQnXSA9ICdaYWNoxJl0YSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIHVwbG9hZCBwbGlrJm9hY3V0ZTt3IHRlZ28gdHlwdSAoZGxhIHAmb2FjdXRlO2wgdHlwdSBwbGlrKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnUG96dyZvYWN1dGU7bCBuYSB1cGxvYWQgb2JyYXprJm9hY3V0ZTt3IHRlZ28gdHlwdSAoZGxhIHAmb2FjdXRlO2wgdHlwdSBvYnJhemVrKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ1R3Jm9hY3V0ZTtyeiBhdXRvbWF0eWN6bmllIG1pbmlhdHVyeSBvYnJhemsmb2FjdXRlO3cnOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0eWN6bmllIG5ha8WCYWRhaiB6bmFraSB3b2RuZSBuYSDFgmFkb3dhbmUgb2JyYXpraSc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ1fFgsSFY3ogZG9tecWbbG5pZSBkbGEgbm93eWNoIHByb2R1a3Qmb2FjdXRlO3cnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0tvZCB3YWx1dHknOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnU3ltYm9sIHdhbHV0eSc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnU2thc293YcSHIHdzenlzdGtpZSBwbGlraSB6d2nEhXphbmUgeiBwcm9kdWt0ZW0gZ2R5IGplc3Qgb24ga2Fzb3dhbnk/JzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnRE9tecWbbG5hIHN0cm9uYSB3aWRva3Ugc3pjemVnJm9hY3V0ZTvFgm93ZWdvJzsKJGxhbmdbJ3Byb21wdF90YXhyYXRlJ10gPSAnU3Rhd2thIHBvZGF0a3UnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdEb215xZtsbmEga29sZWpub8WbxIcgc29ydG93YW5pYSB3IHdpZG9rdSBsaXN0eSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdEb215xZtsbmUgcG9sZSB1xbx5d2FuZSBkbyBzb3J0b3dhbmlhIHcgd2lkb2t1IGxpc3R5JzsKJGxhbmdbJ3Byb21wdF90YXgxJ10gPSAnUG9kYXRlayAoMSknOwokbGFuZ1sncHJvbXB0X3RheDInXSA9ICdQb2RhdGVrICgyKSc7CiRsYW5nWydwcm9tcHRfdGF4bmFtZSddID0gJ05hendhIHBvZGF0a3UnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnxblyJm9hY3V0ZTtkxYJvIHN6YWJsb251JzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ0plZG5vc3RpIHdhZ2knOwokbGFuZ1sncHVibGljJ10gPSAnQ3p5IHRvIGplc3QgcG9sZSBkb3N0xJlwbmUgZGxhIHdzenlzdGtpY2g/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ09wdWJsaWtvd2FueSc7CiRsYW5nWydyYW5kb20nXSA9ICdMb3Nvd3knOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdQcnp5d3Imb2FjdXRlO8SHIHdhcnRvxZtjaSBkb215xZtsbmUnOwokbGFuZ1sncm9vdCddID0gJ0fFgiZvYWN1dGU7d255JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdXeWJpZXJ6IG9wY2rEmSc7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydHVqIHBvJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdLb2xlam5vxZvEhyBzb3J0b3dhbmlhJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdWJtaXQnXSA9ICdaYXBpc3onOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N6YWJsb255IGxpc3QnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdEb2Rhai9lZHl0dWogc3phYmxvbiBsaXN0eSc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnT3BvZGF0a293YW55JzsKJGxhbmdbJ3RheF9tb2R1bGUnXSA9ICdNb2R1xYIgcG9kYXRrb3d5JzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnUG9sZSB0ZWtzdG93ZSAodGV4dGFyZWEpJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdQb2xlIHRla3N0b3dlJzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ0RvbXnFm2xueSBub3d5IHN6YWJsb24gcmFwb3J0dSBoaWVyYXJjaGlpJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdEb215xZtsbnkgbm93eSBzemFibG9uIGxpc3R5IGthdGVnb3JpaSc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnRG9tecWbbG55IG5vd3kgc3phYmxvbiB3aWRva3Ugc3pjemVnJm9hY3V0ZTvFgm93ZWdvJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnRG9tecWbbG55IG5vd3kgc3phYmxvbiB3aWRva3UgbGlzdHknOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdBa3R1YWxpenVqJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1d5YmllcnogcGxpayc7CiRsYW5nWyd2YWxpZCddID0gJ1BvcHJhd255JzsKJGxhbmdbJ3ZhbHVlJ10gPSAnV2FydG/Fm8SHJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1dhcnRvxZtjaSc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICfFmmNpZcW8a2EgZG8gcGxpa3UgemUgem5ha2llbSB3b2RueW0nOwokbGFuZ1snd2VpZ2h0J10gPSAnV2FnYSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE2MDU1OTQwOTcuMTIyNDIzOTYxMi4xMjI0NDk5MzYyLjEyMjQ1MDMwNzUuNic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjQ0NDE0OTAuMi4yLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0FkaWNpb25hcic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkaWNpb25hciBDYXRlZ29yaWEnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdBZGljaW9uYXIgQ2FtcG8nOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ0FkanVzdCZhYWN1dGU7dmVsJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdBZGljaW9uYXIgUHJvZHV0byc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0FkaWNpb25hciBBdHJpYnV0byc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdDYW1wbyBBc3NvY2kmYWFjdXRlO3ZlbCBjb20gYSBDYXRlZ29yaWE6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0FkaWNpb25hciBJdGVtICZhZ3JhdmU7IEhpZXJhcnF1aWEnOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ0FkaWNpb25hciBPcCZjY2VkaWw7JmF0aWxkZTtvIGRlIEF0cmlidXRvJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdTJm9hY3V0ZTsgYXBlbmFzIEFkbWluJiMwMzk7cyBwb2RlbSB2aXN1YWxpemFyIGVzdGUgYXRyaWJ1dG8/JzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnVG9wbyBFc3F1ZXJkYSc7CiRsYW5nWydhbGlnbl91YyddID0gJ1RvcG8gQ2VudHJvJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnVG9wbyBEaXJlaXRhJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWVpbyBFc3F1ZXJkYSc7CiRsYW5nWydhbGlnbl9tYyddID0gJ0NlbnRybyc7CiRsYW5nWydhbGlnbl9tciddID0gJ01laW8gRGlyZWl0YSc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0JhaXhvIEVzcXVlcmRhJzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnQmFpeG8gQ2VudHJvJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQmFpeG8gRGlyZWl0YSc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnVG9kYXMgYXMgQ2F0ZWdvcmlhcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnVGVtIGEgY2VydGV6YT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnVGVtIGNlcnRlemEgcXVlIGRlc2VqYSBhcGFnYXIgZXN0ZSBwcm9kdXRvLCBiZW0gY29tbyBvIGFjb21wYW5oYW1lbnRvIGRlIHRvZGFzIGFzIGluZm9ybWEmY2NlZGlsOyZvdGlsZGU7ZXMgcmVmZXJlbnRlcyBhbyBtZXNtbz8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kZW50ZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0F0cmlidXRvIE5vbWUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b20mYWFjdXRlO3RpY28nOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdIaWVyYXJxdWlhIFJlbGF0Jm9hY3V0ZTtyaW8gdGVtcGxhdGVzJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkaWNpb25hci9FZGl0YXIgSGllcmFycXVpYSBSZWxhdCZvYWN1dGU7cmlvIHRlbXBsYXRlcyc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWxhcic7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmlhcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3JpYSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ08gbm9tZSBkYSBjYXRlZ29yaWEgaiZhYWN1dGU7IGV4aXN0ZSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgTGlzdGEgZGUgQ2F0ZWdvcmlhcyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRpY2lvbmFyL0VkaXRhciBUZW1wbGF0ZXMgTGlzdGEgZGUgQ2F0ZWdvcmlhcyc7CiRsYW5nWydjaGVja2JveCddID0gJ0NhaXhhIGRlIFZlcmlmaWNhJmNjZWRpbDsmYXRpbGRlO28nOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdUZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGV4Y2x1aXIgZXN0ZSBuJm9hY3V0ZTs/IFF1YWxxdWVyIHByb2R1dG8gcXVlIGVzdGVqYSBhIHVzYXIgZXN0ZSBuJm9hY3V0ZTsgc2VyJmFhY3V0ZTsgY29uZmlndXJhZG8gcGFyYSBuJmF0aWxkZTtvIHVzYXJlbSBoaWVyYXJxdWlhJzsKJGxhbmdbJ2NvcHknXSA9ICdDb3BpYXInOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ0NvcGlhciBDYXRlZ29yaWEnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEYXRhIGRhIENyaWEmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnVmFsb3IgQWN0dWFsJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhICc7CiRsYW5nWydkZWZhdWx0J10gPSAnUGFkciZhdGlsZGU7byc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIFBhZHImYXRpbGRlO28nOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGE6PC9zdHJvbmc+IE8gY29udGUmdWFjdXRlO2RvIGRlc3RhcyAmYWFjdXRlO3JlYXMgdGV4dG9zICBzJmF0aWxkZTtvIHVzYWRhcyBwYXJhIGRldGVybWluYXIgbyBjb250ZSZ1YWN1dGU7ZG8gZG9zIHRlbXBsYXRlcyBwYWRyJmF0aWxkZTtvIHF1YW5kbyBjbGljYXIgZW0gJnF1b3Q7QWRpY2lvbmFyIFRlbXBsYXRlJnF1b3Q7IG5hIFRhYiBhcHJvcHJpYWRhLiBFZGl0YW5kbyB1bWEgZGVzdGFzICZhYWN1dGU7cmVhcyBkZSB0ZXh0byBuJmF0aWxkZTtvIHRlciZhYWN1dGU7IGVmZWl0b3MgaW1lZGlhdG9zIG5vIHNldSBzaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdFbGltaW5hcic7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnRWxpbWluYXIgQXRyaWJ1dG8nOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnRWxpbWluYXIgSGllcmFycXVpYSBJdGVtJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kZW50ZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaSZjY2VkaWw7JmF0aWxkZTtvJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGhlcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgRGV0YWxoZXMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkaWNpb25hci9FZGl0YXIgVGVtcGxhdGVzIERldGFsaGVzJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRGVzYXRpdmFkbyc7CiRsYW5nWydkcmFmdCddID0gJ1Jhc2N1bmhvJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVudSBNJnVhY3V0ZTtsdGlwbG8gKERyb3Bkb3duKSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnTWVudSBNJnVhY3V0ZTtsdGlwbG8gKERyb3Bkb3duKSA8ZW0+KGFwbGljYXIgcyZvYWN1dGU7IGNhbXBvcyBNZW51IE0mdWFjdXRlO2x0aXBsbyAoRHJvcGRvd24pICk8L2VtPjxici8+PGJyLz48ZW0+KHVtYSBlbnRyYWRhIHBvciBsaW5oYSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnRWRpdGFyICc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdFZGl0YXIgRGVmaW5pJmNjZWRpbDsmb3RpbGRlO2VzIGRlIEF0cmlidXRvcyc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnRWRpdGFyIERlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBkZSBBdHJpYnV0b3MgUGFyYSc7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdFZGl0YXIgQXRyaWJ1dG9zJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZGl0YXIgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnRWRpdGFyIENhdGVnb3JpYSBDYW1wb3MnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0VkaXRhciBIaWVyYXJxdWlhIEl0ZW0nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ1VtIGF0cmlidXRvIGNvbSBlc3NlIG5vbWUgaiZhYWN1dGU7IGV4aXN0ZSc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAnTyB2YWxvciBkbyBDYW1wbyBuJmF0aWxkZTtvIHBvZGUgZXN0YXIgdmF6aW8nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmljaGVpcm8gTiZhdGlsZGU7byBFbmNvbnRyYWRvJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdQYXJlbnRlIEludiZhYWN1dGU7bGlkbyAgKG8gbm9kZSBkZSBIaWVyYXJxdWlhICBuJmF0aWxkZTtvIHBvZGUgc2VyLCAmZWFjdXRlOyBvIHByJm9hY3V0ZTtwcmlvKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdPIHZhbG9yIGRvIGNhbXBvIHBlcnNvbmFsaXphZG8gZGlnaXRhZG8gJmVhY3V0ZTsgaW52JmFhY3V0ZTtsaWRvIChuJmF0aWxkZTtvIGNvbnQmZWFjdXRlO20gY2FyYWN0ZXJlcyBhbGZhbnVtJmVhY3V0ZTtyaWNvcyknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnVW0gcGFyJmFjaXJjO21ldHJvIG9icmlnYXQmb2FjdXRlO3JpbyBlc3QmYWFjdXRlOyBhdXNlbnRlIG91ICZlYWN1dGU7IGludiZhYWN1dGU7bGlkbyc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ1VtIGl0ZW0gY29tIGVzc2Ugbm9tZSBqJmFhY3V0ZTsgZXN0JmFhY3V0ZTsgZW0gdXNvJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnUG9yIEZhdm9yIHNlbGVjaW9uZSB1bSB0aXBvIGRlIGNhbXBvJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1lvdSBkZXZlIGZvcm5lY2VyIHVtIG5vbWUnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ1VtIHByb2R1dG8gcG9yIGVzc2Ugbm9tZSBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdPIHZhbG9yIGFqdXN0YWRvIGRvIHByZSZjY2VkaWw7byAmZWFjdXRlOyBpbnYmYWFjdXRlO2xpZG8gcGFyYSBvIGl0ZW0gJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ0NhcnJlZ2FtZW50byBmYWxob3U6ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnQ2FtcG8nOwokbGFuZ1snZmllbGRkZWYnXSA9ICdEZWZpbmkmY2NlZGlsOyZhdGlsZGU7byBkbyBDYW1wbyc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEZWZpbmkmY2NlZGlsOyZvdGlsZGU7ZXMgZG9zIENhbXBvcyc7CiRsYW5nWydmaWxlJ10gPSAnQXJxdWl2byc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJvcyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdheSB0byBjb2xsZWN0LCBvcmdhbml6ZSwgYW5kIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgcHJvZHVjdHMgYW5kIHRoZWlyIGNhdGVnb3JpZXMuICBUaGlzIG1vZHVsZSBjYW4gc3RhbmQgb24gaXRzIG93biwgb3IgYmUgcGFydCBvZiBhbiBlLWNvbW1lcmNlIHNvbHV0aW9uIGlmIHlvdSB3aXNoLiAgVGhlIG1vZHVsZSBzdXBwb3J0cyBhIHByb2R1Y3QgZXhpc3RpbmcgaW4gbW9yZSB0aGFuIG9uZSBjYXRlZ29yeSwgc3VwcG9ydHMgcHJvZHVjdCB3ZWlnaHQsIHByaWNlLCBhbmQgYXR0cmlidXRlIHNldHMuICBFYWNoIGl0ZW0gaW4gYW4gYXR0cmlidXRlIHNldCBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQuICBBbHNvIGEgZ2xvYmFsIGZsYWcgaW5kaWNhdGVzIHdldGhlciB0aGUgcHJvZHVjdCBpcyAmIzAzOTt0YXhhYmxlJiMwMzk7IG9yIG5vdC48L3A+DQogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGZvciB1cCB0byB0d28gaW1hZ2VzIHBlciBwcm9kdWN0LCBjdXN0b20gZmllbGQgZGVmaW5pdGlvbnMsIGFuZCBmb3IgdGhlIGFiaWxpdHkgdG8gZGVzY3JpbWluYXRlIHByaXZhdGUgZnJvbSBwdWJsaWMgZGF0YS48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCiAgPGxpPk51bWVyb3VzIFZpZXdzPC9saT4NCiAgICA8dWw+DQogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4NCiAgICAgIDxsaT5DYXRlZ29yeSBMaXN0IFZpZXc8L2xpPg0KICAgICAgPGxpPkRldGFpbCB2aWV3PC9saT4gDQogICAgICA8bGk+SGllcmFyY2h5IERyaWxsLWRvd24gVmlldzwvbGk+DQogICAgPC91bD4NCiAgPGxpPkVudGlyZWx5IERhdGFiYXNlIFRlbXBsYXRlIERyaXZlbjwvbGk+DQogIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+DQogIDxsaT5Tb3J0aW5nIGFuZCBwYWdpbmF0aW9uIGluIHRoZSBzdW1tYXJ5IHZpZXc8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGV4aXN0IGluIG11bHRpcGxlIGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+TnVtZXJvdXMgY3VzdG9tIGZpZWxkcyBjYW4gYmUgZGVmaW5lZCwgaW5jbHVkaW5nIGltYWdlczwvbGk+DQogIDxsaT5BdXRvbWF0aWMgdGh1bWJuYWlsIGNyZWF0aW9uPC9saT4NCiAgPGxpPkFkbWluIGRlZmluZWQgZmllbGRzPC9saT4NCiAgPGxpPlByb2R1Y3QgYXR0cmlidXRlcyAoaW5jbHVkaW5nIHByaWNlIGFkanVzdG1lbnQpPC9saT4NCiAgPGxpPldlaWdodCBhbmQgdGF4YWJsZSBmaWVsZHMgKGZvciB1c2UgaW4gZS1jb21tZXJjZSBzb2x1dGlvbnMpPC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBoYXZlIGEgc3RhdHVzIChwdWJsaXNoZWQgb3IgZHJhZnQpIGluIG9yZGVyIHRvIGhpZGUgcHJvZHVjdHMgZnJvbSBwdWJsaWMgZGlzcGxheSBhdCBhbnkgdGltZTwvbGk+DQogIDxsaT5QcmV0dHkgVVJMIFN1cHBvcnQ8L2xpPg0KICA8bGk+PHN0cm9uZz5Nb3JlLi4uPC9zdHJvbmc+PC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjx1bD4NCjxsaT5TZXQgcHJlZmVyZW5jZXM8L2xpPg0KPHA+VXN1YWxseSB0aGlzIGlzIGp1c3QgYSBmb3JtYWxpdHkuICBZb3Ugc2hvdWxkIHNwZWNpZnkgeW91ciBkZWZhdWx0IHdlaWdodCB1bml0cywgYW5kIHlvdXIgZGVmYXVsdCBjdXJyZW5jeSBzeW1ib2wgZm9yIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuPC9wPg0KPGxpPlNldHVwIHVzZXJzIGFuZCBwZXJtaXNzaW9uczwvbGk+DQo8cD5UaGlzIG1vZHVsZSB1c2VzIHRoZSAmIzAzOTtNb2RpZnkgVGVtcGxhdGVzJiMwMzk7IHBlcm1pc3Npb24gdG8gYWxsb3cgdXNlcnMgdG8gYmUgYWJsZSB0byBtb2RpZnkgdGhlIHZhcmlvdXMgdGVtcGxhdGVzIHRoYXQgY2FuIGJlIHVzZWQgYnkgdGhpcyBtb2R1bGUuICBBcyB3ZWxsLCB0aGUgJiMwMzk7TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBhZGp1c3QgdGhlIG1vZHVsZXMgcHJlZmVyZW5jZXMuICBJbiBvcmRlciB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIG1vZGlmeSBmaWVsZCBkZWZpbml0aW9ucywgY2F0ZWdvcmllcywgb3IgcHJvZHVjdHMsIHlvdXIgdXNlcnMgd2lsbCBuZWVkIHRoZSAmIzAzOTtNb2RpZnkgUHJvZHVjdHMmIzAzOTsgcGVybWlzc2lvbi48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY2F0ZWdvcmllczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAsIGJ1dCB5b3Ugd2lsbCBwcm9iYWJseSB3YW50IHRvIGRvIHRoaXMgZWFybHkgdG8gcHJldmVudCBoYXZpbmcgdG8gZ28gYmFjayB0byBtb2RpZnkgZWFjaCBhbmQgZXZlcnkgcHJvZHVjdCBsYXRlci4gIEFkZGluZyBhIGNhdGVnb3J5IGlzIGFzIHNpbXBsZSBhcyBjbGlja2luZyBvbiB0aGUgJiMwMzk7Q2F0ZWdvcmllcyYjMDM5OyB0YWIgaW4gdGhlIFByb2R1Y3QgTWFuYWdlcnMgYWRtaW4gc2VjdGlvbiwgYW5kIGNsaWNraW5nICYjMDM5O0FkZCBBIENhdGVnb3J5JiMwMzk7LiAgRnJvbSB0aGVyZSB5b3Ugd2lsbCBiZSBwcm9tcHRlZCBmb3IgYSBjYXRlZ29yeSBuYW1lLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPg0KPHA+Q3VycmVudGx5IHNpeCB0eXBlcyBvZiBjdXN0b20gZmllbGRzIGFyZSBhdmFpbGFibGU6ICYjMDM5O3RleHRib3gmIzAzOTssJiMwMzk7Y2hlY2tib3gmIzAzOTssYW5kICYjMDM5O3RleHRhcmVhLCBkcm9wZG93biwgYW5kIGZpbGUmIzAzOTsuICBTZWxlY3Qgb25lIG9mIHRoZXNlLCBnaXZlIHlvdXIgbmV3IGZpZWxkIGEgbmFtZSwgYW5kIGluZGljYXRlIHdldGhlciB0aGF0IGZpZWxkIHNob3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBwdWJsaWMgaW4gdGhlIHZhcmlvdXMgdmlld3MuICBUaGVuIGhpdCBzdWJtaXQ8L3A+DQo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4NCjxwPllvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzIHRvIGRpc3BsYXkgaW4geW91ciB3ZWJzaXRlIGNvbnRlbnQuICBHaXZlIGVhY2ggcHJvZHVjdCBhIG5hbWUsIGEgcHJpY2UgKG9wdGlvbmFsKSBhIHdlaWdodCAob3B0aW9uYWwpLCBhIHN0YXR1cyAoZHJhZnQgb3IgcHVibGlzaGVkKSwgYW5kIHNvbWUgaW5mb3JtYXRpb24uICBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IGlmIHRoZSBwcm9kdWN0IGlzIHRheGFibGUuPC9wPg0KPHA+SWYgY2F0ZWdvcmllcyBhcmUgZGVmaW5lZCwgdGhlbiBhIGNoZWNrYm94IHdpbGwgYXBwZWFyIGZvciBlYWNoIGRlZmluZWQgY2F0ZWdvcnkuICBZb3UgY2FuIHNpbXBseSBjbGljayB0aGUgY2hlY2tib3ggZmllbGRzIGZvciBlYWNoIGNhdGVnb3J5IHRoYXQgdGhpcyBwcm9kdWN0IHNob3VsZCBiZWxvbmcgdG8uPC9wPg0KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPg0KPGxpPkFkZCB0aGUgYXBwcm9wcmlhdGUgdGFncyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgb3IgcGFnZSBjb250ZW50PC9saT4NCjxwPlRoaXMgY2FuIGJlIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcgaW50byB0aGUgY29udGVudCBhcmVhIG9mIG9uZSBvZiB5b3VyIHBhZ2VzLCBvciBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZS48L3A+DQo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSYjMDM5O2NhdGVnb3J5bmFtZSYjMDM5O308L2NvZGU+PC9wPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICYjMDM5O1Byb2R1Y3RzJiMwMzk7PC9saT4NCjxsaT5UbyBvYnRhaW4gY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0byB0aGUgYXV0aG9yIGF0IDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5Sb2JlcnQgQ2FtcGJlbGw8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4NCjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcnF1aWEnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnUG9zaSZjY2VkaWw7JmF0aWxkZTtvIHBvciBIaWVyYXJxdWlhICc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0ltYWdlbSc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVpciBGaWxob3M/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnU29tZW50ZSBjYXJhY3RlcmVzIGFsZmFudW0mZWFjdXRlO3JpY29zLiBOJmF0aWxkZTtvIGFjZWl0YSBlc3BhJmNjZWRpbDtvcyBlbSBicmFuY28sIGFzcGFzLCBvdSBsZXRyYS9uJnVhY3V0ZTttZXJvIHNlbSBjb21iaW5hJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ2luZm9fYXV0b3RodW1ibmFpbCddID0gJ0RlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBNaW5pYXR1cmFzIHMmYXRpbGRlO28gcmVhbGl6YWRhcyBhIHBhcnRpciBkbyBNJm9hY3V0ZTtkdWxvIENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdEZWZpbmkmY2NlZGlsOyZvdGlsZGU7ZXMgV2F0ZXJtYXJrIHMmYXRpbGRlO28gcmVhbGl6YWRhcyBhIHBhcnRpciBkbyBNJm9hY3V0ZTtkdWxvIENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0Vzc2VzIHBhciZhY2lyYzttZXRyb3MgcyZhdGlsZGU7byBpbmRpY2Fkb3MgcGFyYSBvIG0mb2FjdXRlO2R1bG8gQ2FycmluaG8gc2VsZWNjaW9uYWRvIGRvIHByb2R1dG8gZGV0YWxoZSBlIGV4aWJlIHN1bSZhYWN1dGU7cmlvJzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ0VzdGUgc2lzdGVtYSBjb21wcmVlbmRlICguKSBDb21vIG8gcG9udG8gZGVjaW1hbCBzZXBhcmFkb3IuIG91IHNlamE6IDxzdHJvbmc+IDUuMjUgPC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+Tm90YTogPC9zdHJvbmc+VG9kb3Mgb3MgY2FtcG9zIGRlZmluaWRvcyBlc3QmYXRpbGRlO28gYXF1aSBkaXNwb24maWFjdXRlO3ZlaXMgcGFyYSB0b2RvcyBvcyBwcm9kdXRvcy4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnRm9yYW0gZW5jb250cmFkb3MgcHJvYmxlbWFzIHF1YW5kbyBzZSB0cmF0YSBkZSB1bSBvdSBtYWlzIGNhbXBvcyBwZXJzb25hbGl6YWRvcy4gQSBhYyZjY2VkaWw7JmF0aWxkZTtvIGZvaSBjb25jbHUmaWFjdXRlO2RhIGNvbSBzdWNlc3NvLCBubyBlbnRhbnRvIHZvYyZlY2lyYzsgZGV2ZXImYWFjdXRlOyBpbnZlc3RpZ2FyIGUgY29ycmlnaXIgZXN0ZXMgcHJvYmxlbWFzJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbG9yZXMgViZhYWN1dGU7bGlkb3MgcyZhdGlsZGU7byArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICcmQWFjdXRlO3JlYXMgcCZ1YWN1dGU7YmxpY2FzIGVzdCZhdGlsZGU7byBkaXNwb24maWFjdXRlO3ZlaXMgcGFyYSBzZXJlbSB2aXN1YWxpemFkYXMnOwokbGFuZ1snbGFiZWwnXSA9ICdCbG9jbyAoTGFiZWwpJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJyZVYWN1dGU7bHRpbWEgTW9kaWZpY2EmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydsb2dvdGV4dCddID0gJ1NlZ3VuZGEgSW1hZ2VtJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ0NvbXByaW1lbnRvIG0mYWFjdXRlO3hpbW8gPGVtPihhcGxpYyZhYWN1dGU7dmVsIHNvbWVudGUgbm9zIGNhbXBvcyBjYWl4YXMgZGUgdGV4dG8gKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ0RhdGEgZGEgbW9kaWZpY2EmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdVbSBtJm9hY3V0ZTtkdWxvIGRlIGdlc3QmYXRpbGRlO28gZGUgdW0gY2F0JmFhY3V0ZTtsb2dvIGRlIHByb2R1dG9zLCBvcyBzZXVzIHByZSZjY2VkaWw7b3MsIGltYWdlbnMsIGV0YywgZSBwYXJhIHBlcm1pdGlyIHF1ZSBvcyB1c3UmYWFjdXRlO3Jpb3MgdGVuaGFtIHVtIGNhcnJpbmhvJzsKJGxhbmdbJ25hbWUnXSA9ICdOb21lJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnTiZhdGlsZGU7byB0ZW0gYSBhdXRvcml6YSZjY2VkaWw7JmF0aWxkZTtvIG5lY2VzcyZhYWN1dGU7cmlhOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05vdmEgQ2F0ZWdvcmlhIE5vbWUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTmVuaHVtIG5vbWUgZm9pIGZvcm5lY2lkbyc7CiRsYW5nWydub25lJ10gPSAnTiZhdGlsZGU7byc7CiRsYW5nWydvZiddID0gJ0RlJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQJmFhY3V0ZTtnaW5hJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdQJmFhY3V0ZTtnaW5hICVzIGRlICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQJmFhY3V0ZTtnaW5hIEwmaWFjdXRlO21pdGUnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnRXNwZWNpZmljYXIgbyBjb21wb3J0YW1lbnRvIGRvIG0mb2FjdXRlO2R1bG8uIE9zIHZhbG9yZXMgcG9zcyZpYWN1dGU7dmVpcyBzJmF0aWxkZTtvOg0KPHVsPg0KIDxsaT5oaWVyYXJjaHkgLSBFeGliZSB1bWEgbGlzdGEgZGUgcHJvZHV0b3MgcG9yIGhpZXJhcnF1aWE8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRXhpYmUgdW1hIGxpc3RhIGRlIGNhdGVnb3JpYXMgbm9zIHByb2R1dG9zPC9sSQ0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtRXhpYmUgbyBzdW0mYWFjdXRlO3JpbyBkb3MgcHJvZHV0b3M8L2xpPg0KICA8bGk+ZGV0YWlsIC0gRXhpYmUgbyBkZXRhbGhlIGRlIHVtICZ1YWN1dGU7bmljbyBwcm9kdXRvPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnUXVhbmRvIHV0aWxpemFkbyBlbSA8ZW0+IHBhZHImYXRpbGRlO28gPC8gZW0+IG1vZG8gc3VtJmFhY3V0ZTtyaW8sIGVzdGUgcGFyJmFjaXJjO21ldHJvLCBkZXZlIHNlciBpZ3VhbCBhbyBub21lIGRlIHVtYSBjYXRlZ29yaWEgZXhpc3RlbnRlIHNlciZhYWN1dGU7IHV0aWxpemFkbyBwYXJhIGV4aWJpciBhcGVuYXMgYXMgZW1wcmVzYXMgcXVlIGVzdCZhdGlsZGU7byBuZXNzYSBjYXRlZ29yaWEuIChVbWEgbGlzdGEgc2VwYXJhZGEgcG9yIHYmaWFjdXRlO3JndWxhcyBwb2RlIHNlciBmb3JuZWNpZGEpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnJlVhY3V0ZTt0aWwgYXBlbmFzIGNvbSBvIGxpc3RhcyBkZSBjYXRlZ29yaWFzLCBlc3RlIHBhciZhY2lyYzttZXRybyBpbmRpY2EgbyB0ZW1wbGF0ZSBxdWUgZGV2ZSBzZXIgdXRpbGl6YWRvIHBhcmEgYSBleGliaSZjY2VkaWw7JmF0aWxkZTtvLiBTZSBuZW5odW0gdmFsb3IgZm9yIGVzcGVjaWZpY2FkbywgZW50JmF0aWxkZTtvIG8gYWN0dWFsIHRlbXBsYXRlIHBhZHImYXRpbGRlO28gJmVhY3V0ZTsgdXNhZG8uJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdFc3BlY2lmaWNhIG8gcGFnZWlkIG91IGFsaWFzIHF1ZSBkZXZlIHNlciB1c2FkbyBwYXJhIGV4aWJpciBvIHJlbGF0Jm9hY3V0ZTtyaW8gZGUgZGV0YWxoZXMgLic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ0VzdGUgcGFyJmFjaXJjO21ldHJvIGVzcGVjaWZpY2EgbyB0ZW1wbGF0ZSBxdWUgZGV2ZSBzZXIgdXRpbGl6YWRvIHBhcmEgbyBkZXRhbGhlLiBTZSBuZW5odW0gdmFsb3IgZm9yIGVzcGVjaWZpY2FkbywgbyB0ZW1wbGF0ZSBwYWRyJmF0aWxkZTtvICZlYWN1dGU7IHVzYWRvLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICcmVWFjdXRlO3RlaXMgYXBlbmFzIG5vIDxlbT4gcGFkciZhdGlsZGU7byA8L2VtPiwgZXN0ZSBwYXImYWNpcmM7bWV0cm8gZXNwZWNpZmljYSBxdWUgYXBlbmFzIG9zIGl0ZW5zIGVtIHF1ZSBhIGxvY2FsaXphJmNjZWRpbDsmYXRpbGRlO28gZGEgaGllcmFycXVpYSBkZXZlIHNlciBleGliaWRvLiBXaWxkY2FyZCBwb2RlbSBzZXIgdXRpbGl6YWRvcyBkZSBtb2RvIHF1ZSBwb2RlIGVzcGVjaWZpY2FyIG0mYXRpbGRlO2UvZmlsaG8gcmVsYWNpb25hbWVudG9zLiBFLlguIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gaXImYWFjdXRlOyBjcmlhciB1bWEgcyZpYWN1dGU7bnRlc2UgZGUgdG9kb3Mgb3MgY2FtaW5oJm90aWxkZTtlcywgaW5jbHVpbmRvIG9zIGZpbGhvcyBuYSBoaWVyYXJxdWlhLiBEYSBtZXNtYSBtYW5laXJhLCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IGV4aWJpciZhYWN1dGU7IHVtIHJlbGF0Jm9hY3V0ZTtyaW8tcyZpYWN1dGU7bnRlc2UgZGUgdG9kb3Mgb3MgY2FtaW5oJm90aWxkZTtlcywgZSB0b2RvcyBvcyBwcm9kdXRvcyBwZXJ0ZW5jZW50ZXMgYSBxdWFscXVlciBwYWkgbmEgaGllcmFycXVpYS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdFc3RlIHBhciZhY2lyYzttZXRybyBlc3BlY2lmaWNhIG8gdGVtcGxhdGUgcXVlIGRldmUgc2VyIHVzYWRvIHBhcmEgZXhpYmlyIGEgaGllcmFycXVpYS4gU2UgbmVuaHVtIHZhbG9yIGZvciBlc3BlY2lmaWNhZG8sIGVudCZhdGlsZGU7byBvIGFjdHVhbCB0ZW1wbGF0ZSBwYWRyJmF0aWxkZTtvIGRvIHRpcG8gcXVlIGVzdCZhYWN1dGU7IHNlciB1c2Fkby4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnJlVhY3V0ZTt0aWwgYXBlbmFzIGNvbSBhIGFjJmNjZWRpbDsmYXRpbGRlO28gIDxlbT5wYWRyJmF0aWxkZTtvPC9lbT4gLCBlc3RlIHBhciZhY2lyYzttZXRybyBlc3BlY2lmaWNhIHF1YW50b3MgaXRlbnMgZGV2ZW0gc2VyIGxpc3RhZG9zIGVtIGNhZGEgcCZhYWN1dGU7Z2luYS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnJlVhY3V0ZTt0ZWlzIGFwZW5hcyBuYSA8ZW0+IGhpZXJhcnF1aWEgPC9lbT4sIGVzdGUgcGFyJmFjaXJjO21ldHJvIGVzcGVjaWZpY2EgYSBoaWVyYXJxdWlhIGlkIGRhIHBhcnRpZGEgZGEgbG9jYWxpemEmY2NlZGlsOyZhdGlsZGU7byBkbyByZWxhdCZvYWN1dGU7cmlvLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICcmVWFjdXRlO3RpbCBhcGVuYXMgY29tIGEgYWMmY2NlZGlsOyZhdGlsZGU7byBkZSBkZXRhbGhlICwgZXN0ZSBwYXImYWNpcmM7bWV0cm8gaW5kaWNhIG8gcHJvZHV0byBxdWUgcHJldGVuZGUgZXhpYmlyLic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdFc3BlY2lmaWNhciBhIG9yZGVtIGRvcyBjYW1wb3Mgb3JkZW5hZG9zIG5vIHN1bSZhYWN1dGU7cmlvLiBPcyB2YWxvcmVzIHBvc3MmaWFjdXRlO3ZlaXMgcyZhdGlsZGU7bzoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBsaWMmYWFjdXRlO3ZlbCBhcGVuYXMgZW0gbW9kbyBzdW0mYWFjdXRlO3JpbywgZXN0ZSBwYXImYWNpcmM7bWV0cm8gZGV0ZXJtaW5hIGEgdHJpYWdlbSBkYXMgZW1wcmVzYXMgZGUgc2EmaWFjdXRlO2RhLiBPcyB2YWxvcmVzIHBvc3MmaWFjdXRlO3ZlaXMgcyZhdGlsZGU7bzoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiA8bGk+cHJpY2UgLS0gTyB2YWxvciBiYXNlIGRvIHByb2R1dG88L2xpPg0KICA8bGk+c3RhdHVzIC0tIFJhc2N1bmhvIG91IHB1YmxpY2FkbzwvbGk+DQogIDxsaT5yYW5kb20gLS0gRXhpYmlyIHBvciBvcmRlbSBhbGVhdCZvYWN1dGU7cmlhIGVtIGNhZGEgc29saWNpdGEmY2NlZGlsOyZhdGlsZGU7bzwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIEEgZGF0YSBkYSBjcmlhJmNjZWRpbDsmYXRpbGRlO28gcGFyYSBlc3RhIGVtcHJlc2E8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gQSBkYXRhIGRhIG1vZGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gcGFyYSBlc3RhIGVtcHJlc2E8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRXN0ZSBwYXImYWNpcmM7bWV0cm8gZXNwZWNpZmljYSBubyB0ZW1wbGF0ZSBxdWUgZGV2ZSBzZXIgdXRpbGl6YWRvIHBhcmEgYSBleGliaSZjY2VkaWw7JmF0aWxkZTtvIGRvIHN1bSZhYWN1dGU7cmlvLiBTZSBuZW5odW0gdmFsb3IgZm9yIGVzcGVjaWZpY2FkbywgbyBwYWRyJmF0aWxkZTtvIGFjdHVhbCAmZWFjdXRlOyB1c2Fkby4nOwokbGFuZ1sncGFyZW50J10gPSAnUGFyZW50ZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ00mb2FjdXRlO2R1bG8gUHJvZHV0b3MgZm9pIGluc3RhbGFkbyBjb20gc3VjZXNzbyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTyBtJm9hY3V0ZTtkdWxvIFByb2R1dG9zIGZvaSByZW1vdmlkbyBqdW50YW1lbnRlIGNvbSB0b2RvcyBvcyBkYWRvcyBhc3NvY2lhZG9zJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyJmVjaXJjO25jaWFzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92ZW5kbyBlc3RlIG0mb2FjdXRlO2R1bG8gdGFtYiZlYWN1dGU7bSBpciZhYWN1dGU7IHJlbW92ZXIgdG9kb3Mgb3MgZGFkb3MgYXNzb2NpYWRvcywgdGVtIGNlcnRlemEgZGUgcXVlIGRlc2VqYSBwcm9zc2VndWlyPyc7CiRsYW5nWydwcmljZSddID0gJ1ByZSZjY2VkaWw7byc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnQWp1c3RlcyBkZSBwcmUmY2NlZGlsO29zJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVjdG8nOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWN0byBOb21lJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnR2VzdCZhdGlsZGU7byBkbyBQcm9kdWN0byc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ0hpZXJhcnF1aWEgUHJvZHVjdG8nOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnR2VzdCZhdGlsZGU7byBkZSBQcm9kdXRvcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdDb21hbmRvJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1Blcm1pdGlyIGNhcnJlZ2FyIGFycXVpdm9zIGNvbSBhcyBleHRlbnMmb3RpbGRlO2VzIChwYXJhIG8gdGlwbyBjYW1wb3MgZGUgYXJxdWl2byApJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdQZXJtaXRpciBjYXJyZWdhciBpbWFnZW5zIGNvbSBlc3NhcyBleHRlbnMmb3RpbGRlO2VzIChwYXJhIG8gdGlwbyBjYW1wb3MgZGUgaW1hZ2VtKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0NyaWFyIGF1dG9tYXRpY2FtZW50ZSBtaW5pYXR1cmFzIGRhcyBpbWFnZW5zJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnTHVnYXIgYXV0b20mYWFjdXRlO3RpY28gZGFzIG1hcmNhcyBkJiMwMzk7JmFhY3V0ZTtndWEgZW0gaW1hZ2Vucyc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0FjdGl2YXIgcG9yIHBhZHImYXRpbGRlO28gcGFyYSB0b2RvcyBvcyBub3ZvcyBwcm9kdXRvcyc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdDYXJyaW5obyBNJm9hY3V0ZTtkdWxvJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdDYXJyaW5obyBNJm9hY3V0ZTtkdWxvIFBhciZhY2lyYzttZXRyb3MnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0Mmb2FjdXRlO2RpZ28gZG8gUyZpYWN1dGU7bWJvbG8nOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnUyZpYWN1dGU7bWJvbG8gZGEgbW9lZGEnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfc3RhdHVzJ10gPSAnUG9yIGRlZmVpdG8sIHRvZG9zIG9zIG5vdm9zIHByb2R1dG9zIHQmZWNpcmM7bSBlc3RlIGVzdGFkbyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnUG9yIGRlZmVpdG8sIHRvZG9zIG9zIG5vdm9zIHByb2R1dG9zIHMmYXRpbGRlO28gdHJpYnV0JmFhY3V0ZTt2ZWlzJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdFeGNsdWEgcXVhaXNxdWVyIGFycXVpdm9zIGFzc29jaWFkb3MgY29tIG8gcHJvZHV0bywgcXVhbmRvIG8gcHJvZHV0byBmb3IgZXhjbHUmaWFjdXRlO2RvPyc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1AmYWFjdXRlO2dpbmEgRGV0YWxoZSBQYWRyJmF0aWxkZTtvJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnT3JkZW5hJmNjZWRpbDsmYXRpbGRlO28gUGFkciZhdGlsZGU7byBkbyBzdW0mYWFjdXRlO3Jpbyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdPcmRlbmEmY2NlZGlsOyZhdGlsZGU7byBQYWRyJmF0aWxkZTtvIGRvcyBjYW1wb3Mgbm8gc3VtJmFhY3V0ZTtyaW8nOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgRm9udGUnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnVW5pZGFkZXMgZGUgUGVzbyAnOwokbGFuZ1sncHVibGljJ10gPSAnJkVhY3V0ZTsgdW0gY2FtcG8gcCZ1YWN1dGU7YmxpY28/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1AmdWFjdXRlO2JsaWNhZG8nOwokbGFuZ1sncmFuZG9tJ10gPSAnQWxpYXQmb2FjdXRlO3Jpbyc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1JlZGVmZW5pciBwYXJhIG9zIHZhbG9yZXMgUGFkciZhdGlsZGU7byc7CiRsYW5nWydyZXR1cm4nXSA9ICdWb2x0YXInOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1ZvbHRhciBwYXJhIG8gdG9wbyBkYSB2aXN0YSc7CiRsYW5nWydyb290J10gPSAnUmFpeiAoUm9vdCknOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjY2lvbmFyIFVtJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdPcmRlbmFyIFBvcic7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnT3JkZW0gZGEgT3JkZW5hJmNjZWRpbDsmYXRpbGRlO28nOwokbGFuZ1snc3RhdHVzJ10gPSAnRXN0YWRvJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdGVyJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW0mYWFjdXRlO3JpbyBUZW1wbGF0ZXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGljaW9uYXIvRWRpdGFyICBTdW0mYWFjdXRlO3JpbyBUZW1wbGF0ZXMnOwokbGFuZ1sndGF4YWJsZSddID0gJ1RyaWJ1dCZhYWN1dGU7dmVpcyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJyZBYWN1dGU7cmVhIGRlIFRleHRvJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdDYW1wbyBkZSBUZXh0byc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdIaWVyYXJxdWlhIFBhZHImYXRpbGRlO28gbm92byB0ZW1wbGF0ZSBkZSByZWxhdCZvYWN1dGU7cmlvJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdOb3ZvIFRlbXBsYXRlIFBhZHImYXRpbGRlO28gQ2F0ZWdvcmlhIExpc3RhJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdOb3ZvIFRlbXBsYXRlIFBhZHImYXRpbGRlO28gRGV0YWxoZXMnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdOb3ZvIFRlbXBsYXRlIFBhZHImYXRpbGRlO28gU3VtJmFhY3V0ZTtyaW8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWN0dWFsaXphcic7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlY2Npb25lIHVtIGFycXVpdm8gYSBjYXJyZWdhcic7CiRsYW5nWyd2YWxpZCddID0gJ1YmYWFjdXRlO2xpZG8nOwokbGFuZ1sndmFsdWUnXSA9ICdWYWxvcic7CiRsYW5nWyd2YWx1ZXMnXSA9ICdWYWxvcmVzJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1dhdGVybWFyayBMb2NhbGl6YSZjY2VkaWw7JmF0aWxkZTtvJzsKJGxhbmdbJ3dlaWdodCddID0gJ1Blc28nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yMDI4NDU2OTc0LjEyMjg2Njg1NzkuMTIyODk1Mzg2Mi4xMjI4OTU3MzYwLjE2JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyODk0MTAyNy4xNC40LnV0bWNzcj1ibG9nLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9LzIwMDcvMTAvJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyMjg5NTczNjAnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ9CU0L7QsdCw0LLQuNGC0YwnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICfQlNC+0LHQsNCy0LjRgtGMINC60LDRgtC10LPQvtGA0LjRjic7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ9CU0L7QsdCw0LLQuNGC0Ywg0L/QvtC70LUnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ9CS0YDRg9GH0L3Rg9GOJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINC/0YDQvtC00YPQutGCJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAn0JTQvtCx0LDQstC40YLRjCDQsNGC0YDQuNCx0YPRgic7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2lhdGUgRmllbGQgd2l0aCBDYXRlZ29yeTogIiVzIic7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICfQlNC+0LHQsNCy0LjRgtGMINCt0LvQtdC80LXQvdGCINCY0LXRgNCw0YDRhdC40LgnOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ9CU0L7QsdCw0LLQuNGC0Ywg0LLQsNGA0LjQsNC90YIg0LDRgtGA0LjQsdGD0YLQsCc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnQ2FuIG9ubHkgYWRtaW5zIHNlZSB0aGlzIGF0dHJpYnV0ZT8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdUb3AgTGVmdCc7CiRsYW5nWydhbGlnbl91YyddID0gJ1RvcCBDZW50ZXInOwokbGFuZ1snYWxpZ25fdXInXSA9ICdUb3AgUmlnaHQnOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdNaWRkbGUgTGVmdCc7CiRsYW5nWydhbGlnbl9tYyddID0gJ0NlbnRlcic7CiRsYW5nWydhbGlnbl9tciddID0gJ01pZGRsZSBSaWdodCc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0JvdHRvbSBMZWZ0JzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnQm90dG9tIENlbnRlcic7CiRsYW5nWydhbGlnbl9sciddID0gJ0JvdHRvbSBSaWdodCc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAn0JLRgdC1INC60LDRgtC10LPQvtGA0LjQuCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riz8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0L7RgiDRgtC+0LLQsNGALCDQuCDQstGB0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0L3QtdC8Pyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICfQn9C+INCy0L7Qt9GA0LDRgdGC0LDQvdC40Y4nOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICfQndCw0LfQstCw0L3QuNC1INCw0YLRgNC40LHRg9GC0LAnOwokbGFuZ1snYXV0b21hdGljJ10gPSAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICfQqNCw0LHQu9C+0L3RiyDQuNC10YDQsNGA0YXQuNC4JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ9CU0L7QsdCw0LLQuNGC0Ywv0JjQt9C80LXQvdC40YLRjCDRiNCw0LHQu9C+0L0g0LLRi9Cy0L7QtNCwINC40LXRgNCw0YDRhdC40LgnOwokbGFuZ1snY2FuY2VsJ10gPSAn0J7RgtC80LXQvdCwJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICfQmtCw0YLQtdCz0L7RgNC40LgnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICfQmtCw0YLQtdCz0L7RgNC40Y8nOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICfQmtCw0YLQtdCz0L7RgNC40Y8g0YEg0YLQsNC60LjQvCDQuNC80LXQvdC10Lwg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ9Co0LDQsdC70L7QvSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5JzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnXSA9ICfQlNC+0LHQsNCy0LjRgtGML9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGI0LDQsdC70L7QvSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGD0LfQtdC7PyDQktGB0LUg0L/RgNC+0LTRg9C60YLRiywg0L3QsNGF0L7QtNC10YnQuNC10YHRjyDQsiDRg9C30LvQtSDQsdGD0LTRg9GCINC/0LXRgNC10LzQtdGJ0LXQvdGLINCyINC60L7RgNC10L3RjCc7CiRsYW5nWydjb25maXJtX2ltcG9ydCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcz9cXG5cXG5JbXByb3BlciBzZXR0aW5ncywgb3IgYW4gaW52YWxpZCBjb25maWcgZmlsZSBjb3VsZCBjb21wbGV0ZWx5IGNvcnJ1cHQgYSBjdXJyZW50bHkgdmFsaWQgYW5kIHdvcmtpbmcgc3lzdGVtLic7CiRsYW5nWydjb3B5J10gPSAn0JrQvtC/0LjRgNC+0LLQsNGC0YwnOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ9Ca0L7Qv9C40YDQvtCy0LDRgtGMINC60LDRgtC10LPQvtGA0LjRjic7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ9Ch0L7Qt9C00LDQvSc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAn0JfQvdCw0YfQtdC90LjQtSc7CiRsYW5nWydkYXRhJ10gPSAn0JTQsNGC0LAnOwokbGFuZ1snZGVmYXVsdCddID0gJ9Cf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICfQqNCw0LHQu9C+0L3RiyDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGNvbnRlbnRzIG9mIHRoZXNlIHRleHQgYXJlYXMgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGNvbnRlbnQgb2YgdGVtcGxhdGVzIHdoZW4geW91IGNsaWNrICJBZGQgVGVtcGxhdGUiIGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuICBFZGl0aW5nIG9uZSBvZiB0aGVzZSB0ZXh0IGFyZWFzIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIHlvdXIgd2Vic2l0ZS4nOwokbGFuZ1snZGVsZXRlJ10gPSAn0KPQtNCw0LvQuNGC0YwnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ9Cj0LTQsNC70LjRgtGMINCw0YLRgNC40LHRg9GCJzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ9Cj0LTQsNC70LjRgtGMINCt0LvQtdC80LXQvdGCINCY0LXRgNCw0YDRhdC40LgnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ9Cf0L4g0YPQsdGL0LLQsNC90LjRjic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ9Ce0L/QuNGB0LDQvdC40LUnOwokbGFuZ1snZGV0YWlscyddID0gJ9Ce0L/QuNGB0LDQvdC40LUnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAn0KjQsNCx0LvQvtC9INCa0LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICfQlNC+0LHQsNCy0LjRgtGML9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGI0LDQsdC70L7QvSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCc7CiRsYW5nWydkaXNhYmxlZCddID0gJ9Ce0YLQutC70Y7Rh9C10L3Qvic7CiRsYW5nWydkcmFmdCddID0gJ9Cn0LXRgNC90L7QstC40LonOwokbGFuZ1snZHJvcGRvd24nXSA9ICfQktGL0L/QsNC00LDRjtGJ0LjQuSDRgdC/0LjRgdC+0LonOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQsNGC0YDQuNCx0YPRgic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQvdCw0LHQvtGAINCw0YLRgNC40LHRg9GC0L7Qsic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L3QsNCx0L7RgCDQsNGC0YDQuNCx0YPRgtC+0LIg0LTQu9GPJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCw0YLRgNC40LHRg9GC0YsnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINC60LDRgtC10LPQvtGA0LjRjic7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINC/0L7Qu9GPINC60LDRgtC10LPQvtGA0LjQuCc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0Y3Qu9C10LzQtdC90YIg0LjQtdGA0LDRgNGF0LjQuCc7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAnQW4gYXR0cmlidXRlIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICfQndC10L7QsdGF0L7QtNC40LzQviDQt9Cw0L/QvtC70L3QuNGC0Ywg0L/QvtC70LUnOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ9Ce0YjQuNCx0LrQsCDRhNC+0YDQvNCw0YLQsCDRhNCw0LnQu9CwJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ9Ck0LDQudC7INC90LUg0L3QsNC50LTQtdC9JzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0XCdzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ1RoZSBjdXN0b20gZmllbGQgdmFsdWUgZW50ZXJlZCBpcyBpbnZhbGlkIChjb250YWlucyBub24gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0EgcmVxdWlyZWQgcGFyYW1ldGVyIGlzIG1pc3Npbmcgb3IgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ0FuIGl0ZW0gYnkgdGhhdCBuYW1lIGlzIGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnUGxlYXNlIHNlbGVjdCBhIGZpZWxkIHR5cGUnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnWW91IG11c3Qgc3VwcGx5IGEgbmFtZSc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWlzc2lvbiBEZW5pZWQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ0EgcHJvZHVjdCBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0ludmFsaWQgcHJpY2UgYWRqdXN0bWVudCB2YWx1ZSBmb3IgaXRlbSAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIGZhaWxlZDogJXMnOwokbGFuZ1snZXh0cmExJ10gPSAn0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QtSDQv9C+0LvQtSAxJzsKJGxhbmdbJ2V4dHJhMiddID0gJ9CU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0LUg0L/QvtC70LUgMic7CiRsYW5nWydmaWVsZCddID0gJ9Cf0L7Qu9C1JzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICfQn9C+0LvRjyc7CiRsYW5nWydmaWxlJ10gPSAn0KTQsNC50LsnOwokbGFuZ1snZmlsdGVycyddID0gJ9Ck0LjQu9GM0YLRgCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAn0J7QsdGJ0LjQtSDQvdCw0YHRgtGA0L7QudC60LgnOwokbGFuZ1snZ28nXSA9ICdHbyc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdheSB0byBjb2xsZWN0LCBvcmdhbml6ZSwgYW5kIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgcHJvZHVjdHMgYW5kIHRoZWlyIGNhdGVnb3JpZXMuICBUaGlzIG1vZHVsZSBjYW4gc3RhbmQgb24gaXRzIG93biwgb3IgYmUgcGFydCBvZiBhbiBlLWNvbW1lcmNlIHNvbHV0aW9uIGlmIHlvdSB3aXNoLiAgVGhlIG1vZHVsZSBzdXBwb3J0cyBhIHByb2R1Y3QgZXhpc3RpbmcgaW4gbW9yZSB0aGFuIG9uZSBjYXRlZ29yeSwgc3VwcG9ydHMgcHJvZHVjdCB3ZWlnaHQsIHByaWNlLCBhbmQgYXR0cmlidXRlIHNldHMuICBFYWNoIGl0ZW0gaW4gYW4gYXR0cmlidXRlIHNldCBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQuICBBbHNvIGEgZ2xvYmFsIGZsYWcgaW5kaWNhdGVzIHdldGhlciB0aGUgcHJvZHVjdCBpcyBcJ3RheGFibGVcJyBvciBub3QuPC9wPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBmb3IgdXAgdG8gdHdvIGltYWdlcyBwZXIgcHJvZHVjdCwgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zLCBhbmQgZm9yIHRoZSBhYmlsaXR5IHRvIGRlc2NyaW1pbmF0ZSBwcml2YXRlIGZyb20gcHVibGljIGRhdGEuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5OdW1lcm91cyBWaWV3czwvbGk+DQogICAgPHVsPg0KICAgICAgPGxpPlN1bW1hcnkgdmlldzwvbGk+DQogICAgICA8bGk+Q2F0ZWdvcnkgTGlzdCBWaWV3PC9saT4NCiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IA0KICAgICAgPGxpPkhpZXJhcmNoeSBEcmlsbC1kb3duIFZpZXc8L2xpPg0KICAgIDwvdWw+DQogIDxsaT5FbnRpcmVseSBEYXRhYmFzZSBUZW1wbGF0ZSBEcml2ZW48L2xpPg0KICA8cD5OdW1lcm91cyB0ZW1wbGF0ZXMgb2YgZWFjaCB0eXBlIGNhbiBiZSBkZWZpbmVkLCBkZWZhdWx0cyBzcGVjaWZpZWQgZm9yIGVhY2ggdHlwZSwgYW5kIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciBlYWNoIHBhcnRpY3VsYXIgdmlldyBjYW4gYmUgc3BlY2lmaWVkIGFzIGEgcGFyYW1ldGVyPC9wPg0KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBleGlzdCBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPk51bWVyb3VzIGN1c3RvbSBmaWVsZHMgY2FuIGJlIGRlZmluZWQsIGluY2x1ZGluZyBpbWFnZXM8L2xpPg0KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+DQogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+DQogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+DQogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPg0KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4NCiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8dWw+DQo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4NCjxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4NCjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPg0KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgXCdNb2RpZnkgVGVtcGxhdGVzXCcgcGVybWlzc2lvbiB0byBhbGxvdyB1c2VycyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdmFyaW91cyB0ZW1wbGF0ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGlzIG1vZHVsZS4gIEFzIHdlbGwsIHRoZSBcJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzXCcgcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBhZGp1c3QgdGhlIG1vZHVsZXMgcHJlZmVyZW5jZXMuICBJbiBvcmRlciB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIG1vZGlmeSBmaWVsZCBkZWZpbml0aW9ucywgY2F0ZWdvcmllcywgb3IgcHJvZHVjdHMsIHlvdXIgdXNlcnMgd2lsbCBuZWVkIHRoZSBcJ01vZGlmeSBQcm9kdWN0c1wnIHBlcm1pc3Npb24uPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlIFwnQ2F0ZWdvcmllc1wnIHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgXCdBZGQgQSBDYXRlZ29yeVwnLiAgRnJvbSB0aGVyZSB5b3Ugd2lsbCBiZSBwcm9tcHRlZCBmb3IgYSBjYXRlZ29yeSBuYW1lLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPg0KPHA+Q3VycmVudGx5IHNpeCB0eXBlcyBvZiBjdXN0b20gZmllbGRzIGFyZSBhdmFpbGFibGU6IFwndGV4dGJveFwnLFwnY2hlY2tib3hcJyxhbmQgXCd0ZXh0YXJlYSwgZHJvcGRvd24sIGFuZCBmaWxlXCcuICBTZWxlY3Qgb25lIG9mIHRoZXNlLCBnaXZlIHlvdXIgbmV3IGZpZWxkIGEgbmFtZSwgYW5kIGluZGljYXRlIHdldGhlciB0aGF0IGZpZWxkIHNob3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBwdWJsaWMgaW4gdGhlIHZhcmlvdXMgdmlld3MuICBUaGVuIGhpdCBzdWJtaXQ8L3A+DQo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4NCjxwPllvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzIHRvIGRpc3BsYXkgaW4geW91ciB3ZWJzaXRlIGNvbnRlbnQuICBHaXZlIGVhY2ggcHJvZHVjdCBhIG5hbWUsIGEgcHJpY2UgKG9wdGlvbmFsKSBhIHdlaWdodCAob3B0aW9uYWwpLCBhIHN0YXR1cyAoZHJhZnQgb3IgcHVibGlzaGVkKSwgYW5kIHNvbWUgaW5mb3JtYXRpb24uICBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IGlmIHRoZSBwcm9kdWN0IGlzIHRheGFibGUuPC9wPg0KPHA+SWYgY2F0ZWdvcmllcyBhcmUgZGVmaW5lZCwgdGhlbiBhIGNoZWNrYm94IHdpbGwgYXBwZWFyIGZvciBlYWNoIGRlZmluZWQgY2F0ZWdvcnkuICBZb3UgY2FuIHNpbXBseSBjbGljayB0aGUgY2hlY2tib3ggZmllbGRzIGZvciBlYWNoIGNhdGVnb3J5IHRoYXQgdGhpcyBwcm9kdWN0IHNob3VsZCBiZWxvbmcgdG8uPC9wPg0KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPg0KPGxpPkFkZCB0aGUgYXBwcm9wcmlhdGUgdGFncyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgb3IgcGFnZSBjb250ZW50PC9saT4NCjxwPlRoaXMgY2FuIGJlIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcgaW50byB0aGUgY29udGVudCBhcmVhIG9mIG9uZSBvZiB5b3VyIHBhZ2VzLCBvciBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZS48L3A+DQo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PVwnY2F0ZWdvcnluYW1lXCd9PC9jb2RlPjwvcD4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gIEhvd2V2ZXIgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciBcJ1Byb2R1Y3RzXCc8L2xpPg0KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcm1zLjwvYT48L2xpPg0KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAn0JjQtdGA0LDRgNGF0LjRjyc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICfQn9C+0LfQuNGG0LjRjyDQsiDQuNC10YDQsNGA0YXQuNC4JzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAn0JjQt9C+0LHRgNCw0LbQtdC90LjQtSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ0ltYWdlIEhhbmRsaW5nIFNldHRpbmdzJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ9CY0LzQv9C+0YDRgiDQv9GA0L7QtNGD0LrRgtC+0LIg0LjQtyBDU1Yg0YTQsNC50LvQsCc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAn0JLQutC70Y7Rh9Cw0YLRjCDQv9C+0LTQutCw0YLQtdCz0L7RgNC40Lg/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAn0KLQvtC70YzQutC+INC70LDRgtC40L3RgdC60LjQtSDQsdGD0LrQstC10L3QvdC+LdGG0LjRhNGA0L7QstGL0LUg0YHQuNC80LLQvtC70YsuINCR0LXQtyDQv9GA0L7QsdC10LvQvtCyLCDQutCw0LLRi9GH0LrQuCwg0LjQu9C4INC90LXQv9C10YfQsNGC0LDQtdC80YvRhSDRgdC40LzQstC+0LvQvtCyJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ9Cf0LDRgNCw0LzQtdGC0YDRiyDQstC+0LTQvdGL0YUg0LfQvdCw0LrQvtCyINGD0YHRgtCw0L3QsNCy0LvQuNCy0LDRjtGC0YzRgdGPINC40LcgQ0dFeHRlbnNpb25zINC80L7QtNGD0LvRjyc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ1NldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHByb2Nlc3MgcGVyICJiYXRjaCIuICBBZnRlciBhIGJhdGNoIGlzIGNvbXBsZXRlLCB0aGUgaW1wb3J0ZXIgd2lsbCByZWRpcmVjdCwgYW5kIHJlc3VtZSBvcGVyYXRpb25zLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgbWVtb3J5IGVycm9ycywgb3IgdGltZW91dCBwcm9ibGVtcyBkdWUgdG8gbGFyZ2UgYW1vdW50cyBvZiBwcm9jZXNzaW5nLCB5b3UgbWF5IG5lZWQgdG8gY29uc3VsdCB5b3VyIGhvc3QgcHJvdmlkZXIsIG9yIHJlZHVjZSB0aGlzIG51bWJlcic7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1RoZXNlIHBhcmFtZXRlcnMgYXJlIGdpdmVuIHRvIHRoZSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBmcm9tIHRoZSBwcm9kdWN0IGRldGFpbCBhbmQgc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSB1bmtub3duIHByb2R1Y3QgZmllbGRzIGF1dG9tYXRpY2FsbHk/IDxlbT4oVGhleSB3aWxsIGJlIGNyZWF0ZWQgYXMgdGV4dCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJvZHVjdCBjYXRlZ29yaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSwgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgaGllcmFyY2hpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAn0JIg0LrQsNGH0LXRgdGC0LLQtSDQtNC10YHRj9GC0LjRh9C90L7Qs9C+INGA0LDQt9C00LXQu9C40YLQtdC70Y8g0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgtC+0YfQutGDICguKSDQvdCw0L/RgNC40LzQtdGAOiA8c3Ryb25nPiA1OS45MCA8LyBTVFJPTkc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmeSB0aGUgY2hhcmFjdGVyIChvciBjaGFyYWN0ZXJzKSB0aGF0IHNlcGVyYXRlIGVhY2ggZmllbGQnOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZnkgaG93IHRoZSBzeXN0ZW0gc2hvdWxkIGhhbmRsZSBhIHByb2R1Y3Qgd2hvcyBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPtCf0YDQuNC80LXRh9Cw0L3QuNC1OiA8L3N0cm9uZz4g0JLRgdC1INC/0L7Qu9GPINC+0L/RgNC10LTQtdC70Y/QtdC80YvQtSDQt9C00LXRgdGMINC00L7RgdGC0YPQv9C90Ysg0LTQu9GPINCy0YHQtdGFINGC0L7QstCw0YDQvtCyLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICfQktC+0LfQvdC40LrQu9C4INC/0YDQvtCx0LvQtdC80Ysg0L/RgNC4INGA0LDQsdC+0YLQtSDRgSDQvtC00L3QuNC8INC40LvQuCDQsdC+0LvQtdC1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC/0L7Qu9C10LkuINC00LXQudGB0YLQstC40LUg0LfQsNCy0LXRgNGI0LXQvdC+INGD0YHQv9C10YjQvdC+LCDQvtC00L3QsNC60L4g0LLRiyDQtNC+0LvQttC90Ysg0LjQt9GD0YfQuNGC0Ywg0Lgg0LjRgdC/0YDQsNCy0LjRgtGMINGN0YLQuCDQv9GA0L7QsdC70LXQvNGLLic7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1Vwb24gaW1wb3J0LCBpZiBhbiBpbWFnZSBmaWxlbmFtZSBpcyBmb3VuZCBpbiBhIGZpZWxkIGNvbHVtbiwgc2hvdWxkIGl0IGJlIG1vdmVkIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2F0ZXJtYXJrZWQsIHRodW1ibmFpbGVkLCBhbmQgdGhlIGZpZWxkIHR5cGUgY2hhbmdlZCB0byAiaW1hZ2UiJzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnVGhlIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSkgd2hlcmUgaW1hZ2VzIHJlZmVycmVkIHRvIGluIHRoZSBpbXBvcnQgZmlsZSwgY2FuIGJlIGZvdW5kJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQSBicmllZiB0ZXN0IGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbnB1dCBmaWxlIHNwZWNpZmllZCwgYW5kIGV2ZXJ5dGhpbmcgYXBwZWFycyB0byBiZSBjb3JyZWN0Ljxici8+VGhpcyBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgZmlsZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAn0JTQvtC/0YPRgdGC0LjQvNGL0LUg0LfQvdCw0YfQtdC90LjRjyArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICfQn9GD0LHQu9C40YfQvdGL0LUg0L/QvtC70Y8g0LTQvtGB0YLRg9C/0L3RiyDQtNC70Y8g0L/RgNC+0YHQvNC+0YLRgNCwINC/0L7RgdC10YLQuNGC0LXQu9GP0LzQuCc7CiRsYW5nWydsYWJlbCddID0gJ9Cf0L7QtNC/0LjRgdGMJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICfQn9GA0L7Qv9GD0YHRgtC40YLRjCc7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdPdmVyd3JpdGUnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAn0JjQt9C80LXQvdC10L0nOwokbGFuZ1snbG9nb3RleHQnXSA9ICfQktGC0L7RgNC+0LUg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIGxlbmd0aCA8ZW0+KGFwcGxpY2FibGUgb25seSBvbiB0ZXh0Ym94IGZpZWxkcyk8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICfQmNC30LzQtdC90LXQvSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSBmb3IgbWFuYWdpbmcgYSBjYXRhbG9nIG9mIHByb2R1Y3RzLCB0aGVpciBwcmljZSwgaW1hZ2VzLCBldGMsIGFuZCBmb3IgYWxsb3dpbmcgdXNlcnMgdG8gYnVpbGQgYSBjYXJ0JzsKJGxhbmdbJ25hbWUnXSA9ICfQndCw0LfQstCw0L3QuNC1JzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHRoZSByZXF1aXJlZCBwZXJtaXNzaW9uOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ9Cd0L7QstC+0LUg0L3QsNC30LLQsNC90LjQtSDQutCw0YLQtdCz0L7RgNC40LgnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAn0J3QtdGCJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSB3YXMgc3VwcGxpZWQnOwokbGFuZ1snbm9uZSddID0gJzzQndC10YI+JzsKJGxhbmdbJ29mJ10gPSAn0JjQtyc7CiRsYW5nWydwYWdlJ10gPSAn0KHRgtGA0LDQvdC40YbQsCc7CiRsYW5nWydwYWdlX29mJ10gPSAn0KHRgtGA0LDQvdC40YbQsCAlcyDQuNC3ICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICfQn9GA0L7QtNGD0LrRgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1JzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbHMgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1doZW4gdXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBwcm9kdWN0cyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PVwndHJ1Y2tzKlwnfSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT1cJyp0cnVja3NcJ30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGRldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGF0IHByb2R1Y3QgdG8gdXNlIGZvciB0aGUgZGlzcGxheS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBwcm9kdWN0IHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ9Cg0L7QtNC40YLQtdC70YwnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgUHJvZHVjdHMgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCBhbG9uZyB3aXRoIGFsbCBhc3NvY2lhdGVkIGRhdGEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICfQndCw0YHRgtGA0L7QudC60LgnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZpbmcgdGhpcyBtb2R1bGUgd2lsbCBhbHNvIHJlbW92ZSBhbGwgYXNzb2NpYXRlZCBkYXRhLCBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHJvY2VlZD8nOwokbGFuZ1sncHJpY2UnXSA9ICfQptC10L3QsCc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAn0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0YbQtdC9JzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAn0KLQvtCy0LDRgCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ9Cd0LDQt9Cy0LDQvdC40LUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICfQotC+0LLQsNGA0YsnOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICfQmNC10YDQsNGA0YXQuNGPINCa0LDRgtCw0LvQvtCz0LAnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAn0KPQv9GA0LDQstC70LXQvdC40LUg0L/RgNC+0LTRg9C60YLQsNC80LgnOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdQcm9ncmVzcyc7CiRsYW5nWydwcm9tcHQnXSA9ICfQn9C+0LTRgdC60LDQt9C60LAnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC30LDQs9GA0YPQttCw0YLRjCDRhNCw0LnQu9GLINGBINGA0LDRgdGI0LjRgNC10L3QuNGP0LzQuCAo0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC/0L7Qu9C10Lkg0YLQuNC/0LAgItGE0LDQudC7IiknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ9Cg0LDQt9GA0LXRiNC40YLRjCDQt9Cw0LPRgNGD0LbQsNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDRgSDRjdGC0LjQvNC4INGA0LDRgdGI0LjRgNC10L3QuNGP0LzQuCAo0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC/0L7Qu9C10Lkg0YLQuNC/0LAgItC40LfQvtCx0YDQsNC20LXQvdC40LUiKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INGB0L7Qt9C00LDQstCw0YLRjCDRjdGB0LrQuNC30Ysg0LjQt9C+0LHRgNCw0LbQtdC90LjQuSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW11bSBzaXplIChsYXJnZXN0IGRpbWVuc2lvbikgb2YgdGhlIHRodW1ibmFpbC4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJldmlldyBpbWFnZXMgb2YgaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWF4aW11bSBzaXplIChsYXJnZXN0IGRpbWVuc2lvbikgb2YgdGhlIHByZXZpZXcgaW1hZ2UuJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0YHRgtCw0LLQuNGC0Ywg0LLQvtC00Y/QvdGL0LUg0LfQvdCw0LrQuCDQvdCwINC40LfQvtCx0YDQsNC20LXQvdC40Y/RhSc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0VuYWJsZSBieSBkZWZhdWx0IGZvciBhbGwgbmV3IHByb2R1Y3RzJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdCYXRjaCBTaXplJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ9Cc0L7QtNGD0LvRjCDQutC+0YDQt9C40L3Riyc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAn0J/QsNGA0LzQtdGC0YDRiyDQvNC+0LTRg9C70Y8g0LrQvtGA0LfQuNC90YsnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDcmVhdGUgQ2F0ZWdvcmllcyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQ3JlYXRlIFByb2R1Y3QgRmllbGRzPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnQ3JlYXRlIFByb2R1Y3QgSGllcmFyY2h5JzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAn0JfQsNCz0YDRg9C30LjRgtGMIENWUyDRhNCw0LnQuyc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAn0JrQvtC0INCy0LDQu9GO0YLRiyc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICfQodC40LzQstC+0Lsg0LLQsNC70Y7RgtGLJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ9Cf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINCy0YHQtSDQvdC+0LLRi9C1INC/0YDQvtC00YPQutGC0Ysg0LjQvNC10Y7RgiDRgdGC0LDRgtGD0YEnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfdGF4YWJsZSddID0gJ9Cf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINCy0YHQtSDQvdC+0LLRi9C1INC/0YDQvtC00YPQutGC0Ysg0L7QsdC70LDQs9Cw0Y7RgtGB0Y8g0L3QsNC70L7Qs9C+0LwnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ9Cj0LTQsNC70Y/RgtGMINCy0YHQtSDRhNCw0LnQu9GLLCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YEg0L/RgNC+0LTRg9C60YLQvtC8LCDQutC+0LPQtNCwINC/0YDQvtC00YPQutGCINCx0YPQtNC10YIg0YPQtNCw0LvQtdC9Pyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRmllbGQgRGVsaW1pdGVyJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAn0KHRgtGA0LDQvdC40YbQsCDQvtC/0LjRgdCw0L3QuNGPINGC0L7QstCw0YDQsCDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIb3cgdG8gaGFuZGxlIGR1cGxpY2F0ZSBwcm9kdWN0cz8nOwokbGFuZ1sncHJvbXB0X2hhbmRsZWltYWdlcyddID0gJ0hhbmRsZSBpbWFnZXM/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdJbWFnZSBQYXRoJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAn0J/QvtGA0Y/QtNC+0Log0YHQvtGA0YLQuNGA0L7QstC60Lgg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LIg0YHRg9C80LzQsNGA0L3QvtC8INGA0LXQttC40LzQtSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICfQn9C+0LvRjyDRgdC+0YDRgtC40YDQvtCy0LrQuCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQsiDRgdGD0LzQvNCw0YDQvdC+0Lwg0YDQtdC20LjQvNC1JzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIFNvdXJjZSc7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnUHJlZml4IHRvIHVzZSBvbiBhbGwgVVJMUyB0YXJnZXRlZCB0byB0aGlzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ9CV0LTQuNC90LjRhtCwINCy0LXRgdCwJzsKJGxhbmdbJ3B1YmxpYyddID0gJ9Cv0LLQu9GP0LXRgtGB0Y8g0LvQuCDRjdGC0L4g0L/QvtC70LUg0L/Rg9Cx0LvQuNGH0L3Ri9C8Pyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICfQntC/0YPQsdC70LjQutC+0LLQsNC9JzsKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Jlc2V0IHRvIEZhY3RvcnkgVmFsdWVzJzsKJGxhbmdbJ3JldHVybiddID0gJ9Cd0LDQt9Cw0LQnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JldHVybiB0byB0aGUgdG9wIG9mIHRoZSB2aWV3JzsKJGxhbmdbJ3Jvb3QnXSA9ICfQmtCw0YLQsNC70L7Qsyc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydzb3J0X2J5J10gPSAn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9C+JzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICfQn9C+0YDRj9C00L7QuiDRgdC+0YDRgtC40YDQvtCy0LrQuCc7CiRsYW5nWydzdGF0dXMnXSA9ICfQodGC0LDRgtGD0YEnOwokbGFuZ1snc3VibWl0J10gPSAn0J7RgtC/0YDQsNCy0LjRgtGMJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICfQodGD0LzQvNCw0YDQvdGL0Lkg0YjQsNCx0LvQvtC9JzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAn0JTQvtCx0LDQstC40YLRjC/QoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgdGD0LzQvNCw0YDQvdGL0Lkg0YjQsNCx0LvQvtC9JzsKJGxhbmdbJ3RheGFibGUnXSA9ICfQntCx0LvQsNCz0LDQtdC80YvQuSDQvdCw0LvQvtCz0L7QvCc7CiRsYW5nWyd0ZXN0J10gPSAn0J/RgNC+0LLQtdGA0LrQsCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ9Ci0LXQutGB0YLQvtCy0LDRjyDQvtCx0LvQsNGB0YLRjCc7CiRsYW5nWyd0ZXh0Ym94J10gPSAn0KLQtdC60YHRgtC+0LLQsNGPINGB0YLRgNC+0LrQsCc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0g0LjQtdGA0LDRgNGF0LjQuCDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAn0KjQsNCx0LvQvtC9INGB0L/QuNGB0LrQsCDQutCw0YLQtdCz0L7RgNC40Lkg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ9Ch0YPQvNC80LDRgNC90YvQuSDRiNCw0LHQu9C+0L0g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndHlwZSddID0gJ9Ci0LjQvyc7CiRsYW5nWyd1cGRhdGUnXSA9ICfQntCx0L3QvtCy0LjRgtGMJzsKJGxhbmdbJ3VwbG9hZCddID0gJ9CS0YvQsdC10YDQuNGC0LUg0YTQsNC50Lsg0LTQu9GPINC30LDQs9GA0YPQt9C60LgnOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd2YWx1ZSddID0gJ9CX0L3QsNGH0LXQvdC40LUnOwokbGFuZ1sndmFsdWVzJ10gPSAn0JfQvdCw0YfQtdC90LjRjyc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICfQoNCw0YHQv9C+0LvQvtC20LXQvdC40LUg0LLQvtC00Y/QvdGL0YUg0LfQvdCw0LrQvtCyKNC/0L7QtNC/0LjRgdC4INC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSknOwokbGFuZ1snd2VpZ2h0J10gPSAn0JLQtdGBJzsKJGxhbmdbJ3llcyddID0gJ9CU0LAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjQ0OTAzMDc5LjU0LjQxLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1tYWRlc2ltcGxlfHV0bWNjdD0vYWRtaW4vbGlzdG1vZHVsZXMucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MTI0ODU2ODkuMTIzNjg3NDcyMS4xMjQ1MDY4MjMyLjEyNDUwNzY3MDUuNjAnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1ByaWRhxaUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdQcmlkYcWlIGthdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdQcmlkYcWlIHBvbGUnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ05hc3Rhdml0ZcS+biZlYWN1dGU7JzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdQcmlkYcWlIHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdQcmlkYcWlIGF0cmliJnVhY3V0ZTt0JzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ1ByaXBvamnFpSAgcG9sZSBrdSBrYXRlZyZvYWN1dGU7cmlpOiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdQcmlkYcWlIHBvbG/Fvmt1IHYgaGllcmFyY2hpaSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnUHJpZGHFpSBhdHJpYiZ1YWN1dGU7dCB2b8S+YnknOwokbGFuZ1snYWRtaW5fb25seSddID0gJ00mb2NpcmM7xb51IHRlbnRvIGF0cmliJnVhY3V0ZTt0IHZpZGllxaUgbGVuIGFkbWluaXN0ciZhYWN1dGU7dG9yaT8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdWxL5hdm8gaG9yZSc7CiRsYW5nWydhbGlnbl91YyddID0gJ1Ygc3RyZWRlIGhvcmUnOwokbGFuZ1snYWxpZ25fdXInXSA9ICdWcHJhdm8gaG9yZSc7CiRsYW5nWydhbGlnbl9tbCddID0gJ1Ygc3RyZWRlIHbEvmF2byc7CiRsYW5nWydhbGlnbl9tYyddID0gJ1Ygc3RyZWRlJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnViBzdHJlZGUgdnByYXZvJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnRG9sZSB2xL5hdm8nOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdEb2xlIHYgc3RyZWRlJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnRG9sZSB2cHJhdm8nOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1Ymc2Nhcm9uO2V0a3kga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7Pyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssLCDFvmUgY2hjZXRlIHNrdXRvxI1uZSBvZHN0ciZhYWN1dGU7bmnFpSB0ZW50byBwcm9kdWt0LCB2ciZhYWN1dGU7dGFuZSB2JnNjYXJvbjtldGt5Y2ggcHJpZHJ1xb5lbiZ5YWN1dGU7Y2ggaW5mb3JtJmFhY3V0ZTtjaWk/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1Z6b3N0dXBuZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ04mYWFjdXRlO3pvdiBhdHJpYiZ1YWN1dGU7dHUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljayZ5YWN1dGU7JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHYmeWFjdXRlO3Bpc3UgdiBoaWVyYXJjaGlpJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvVXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO25hIHYmeWFjdXRlO3Bpc3UgdiBoaWVyYXJjaGlpJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1pydSZzY2Fyb247acWlJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWcmb2FjdXRlO3JpYSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0thdGVnJm9hY3V0ZTtyaWEgcyB0JnlhY3V0ZTttdG8gbiZhYWN1dGU7enZvbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hICB6b3puYW11IGthdGVnJm9hY3V0ZTtyaWknOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvVXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251IHpvem5hbXUga2F0ZWcmb2FjdXRlO3JpaSc7CiRsYW5nWydjaGVja2JveCddID0gJ1phJnNjYXJvbjtrcnQmYWFjdXRlO3ZhY2llIHBvbGUnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2RzdHImYWFjdXRlO25pxaUgdCZ1YWN1dGU7dG8gJnVhY3V0ZTtyb3ZlxYg/ICBQcm9kdWt0eSB2IHRlanRvICZ1YWN1dGU7cm92bmkgIHByJmlhY3V0ZTtkdSBhdXRvbWF0aWNreSBvIHphcmFkZW5pZSB2IGhpZXJhcmNoaWknOwokbGFuZ1snY29weSddID0gJ0tvcCZpYWN1dGU7cm92YcWlJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdLb3AmaWFjdXRlO3JvdmHFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRCZhYWN1dGU7dHVtIHZ5dHZvcmVuaWEnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ1MmdWFjdXRlO8SNYXNuJmFhY3V0ZTsgaG9kbm90YSc7CiRsYW5nWydkYXRhJ10gPSAnRCZhYWN1dGU7dGEnOwokbGFuZ1snZGVmYXVsdCddID0gJ1ByZWRuYXN0YXZlbiZlYWN1dGU7JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdQcmVkYXN0YXZlbiZlYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtueSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+UG96biZhYWN1dGU7bWthOjwvc3Ryb25nPiBPYnNhaHkgdCZ5YWN1dGU7Y2h0byB0ZXh0b3YmeWFjdXRlO2NoIG9ibGFzdCZpYWN1dGU7IHNhIHBvdcW+JmlhY3V0ZTt2YWomdWFjdXRlOyBuYSB2eXR2b3JlbmllIHByZWRuYXN0YXZlbiZlYWN1dGU7aG8gb2JzYWh1ICZzY2Fyb247YWJsJm9hY3V0ZTtuIHByZSBqZWRub3RsaXYmZWFjdXRlOyAmc2Nhcm9uO2FsYiZvYWN1dGU7bnkuIEljaCAmdWFjdXRlO3ByYXZvdm91IG5lc3Amb2NpcmM7c29iJmlhY3V0ZTt0ZSDFvmlhZGVuIGVmZWt0IG5hIHMmdWFjdXRlO8SNYXNuZSB2eXR2b3JlbiZlYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtueS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnT2RzdHImYWFjdXRlO25pxaUnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ09kc3RyJmFhY3V0ZTtuacWlIGF0cmliJnVhY3V0ZTt0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ09kc3RyJmFhY3V0ZTtuacWlIHBvbG/Fvmt1IHYgaGllcmFyY2hpaSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnWm9zdHVwbmUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdQb3Bpcyc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlseSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEgZGV0YWlseSAnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvdXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251IGRldGFpbHUnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdWeXBuJnVhY3V0ZTvFpSc7CiRsYW5nWydkcmFmdCddID0gJ04mYWFjdXRlO3ZyaCc7CiRsYW5nWydkcm9wZG93biddID0gJ1YmeWFjdXRlO2Jlcm92JmVhY3V0ZTsgcG9sZSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnSG9kbm90eSB2JnlhY3V0ZTtiZXJvdiZlYWN1dGU7aG8gcG/EvmEgPGVtPihidWQmdWFjdXRlOyBwb3XFvml0JmVhY3V0ZTsgaWJhIHByZSB2JnlhY3V0ZTtiZXJvdiZlYWN1dGU7IHBvbGlhKTwvZW0+PGJyLz48YnIvPjxlbT4obm92JmFhY3V0ZTsgcG9sb8W+a2EgbmEgbm92JnlhY3V0ZTsgcmlhZG9rKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdVcHJhdmnFpSBzZXR5IGF0cmliJnVhY3V0ZTt0b3YnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ1VwcmF2acWlIHNldHkgYXRyaWImdWFjdXRlO3RvdiBwcmUnOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnVXByYXZpxaUgYXRyaWImdWFjdXRlO3R5JzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdVcHJhdmnFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnVXByYXZpxaUgcG9saWEga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnVXByYXZpxaUgcG9sb8W+a3UgdiBoaWVyYXJjaGlpJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdBdHJpYiZ1YWN1dGU7xaUgcyB0JnlhY3V0ZTttdG8gbiZhYWN1dGU7enZvbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0hvZG5vdGEgbmVtJm9jaXJjO8W+ZSBiecWlIHByJmFhY3V0ZTt6ZG5hJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ1MmdWFjdXRlO2JvciBuZW4mYWFjdXRlO2pkZW4meWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnTmVwbGF0biZ5YWN1dGU7IHJvZGnEjSAocHJ2b2sgdiBoaWVyYXJjaGlpIG5lbSZvY2lyYzvFvmUgYnnFpSBzdm9qIHZsYXN0biZ5YWN1dGU7IHJvZGnEjSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnSG9kbm90YSB2bGFzdG4mZWFjdXRlO2hvIHBvxL5hIG9ic2FodWplIG5lcG92b2xlbiZlYWN1dGU7IHpuYWt5IChwb3ZvbGVuJmVhY3V0ZTsgcyZ1YWN1dGU7IGxlbiBhbGZhbnVtZXJpY2smZWFjdXRlOyknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnUG92aW5uJnlhY3V0ZTsgcGFyYW1ldGVyIG5lYm9sIHZ5cGxuZW4mZWFjdXRlOywgYWxlIGJvbCB2eXBsbmVuJnlhY3V0ZTsgbmVzcHImYWFjdXRlO3ZuZSc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ1BvbG/FvmthIHMgdCZ5YWN1dGU7bXRvIG4mYWFjdXRlO3p2b20gZXhpc3R1amUnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQcm9zJmlhY3V0ZTttIHZ5YmVydGUgdHlwIHBvxL5hJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ011cyZpYWN1dGU7dGUgdnlwbG5pxaUgbiZhYWN1dGU7em92JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdQcm9kdWt0IHMgdCZ5YWN1dGU7bXRvIG4mYWFjdXRlO3p2b20gZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ05lcGxhdG4mYWFjdXRlOyBob2Rub3RhIHVwcmF2ZW5laiBjZW55IHByZSBwb2xvxb5rdSAgJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ05haHImYWFjdXRlO3ZhbmllIHpseWhhbG86ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnUG9sZSc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluJmlhY3V0ZTtjaWEgcG/EvmEnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW4maWFjdXRlO2NpYSBwb2wmaWFjdXRlOyc7CiRsYW5nWydmaWxlJ10gPSAnUyZ1YWN1dGU7Ym9yJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmUnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB3YXkgdG8gY29sbGVjdCwgb3JnYW5pemUsIGFuZCBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHByb2R1Y3RzIGFuZCB0aGVpciBjYXRlZ29yaWVzLiAgVGhpcyBtb2R1bGUgY2FuIHN0YW5kIG9uIGl0cyBvd24sIG9yIGJlIHBhcnQgb2YgYW4gZS1jb21tZXJjZSBzb2x1dGlvbiBpZiB5b3Ugd2lzaC4gIFRoZSBtb2R1bGUgc3VwcG9ydHMgYSBwcm9kdWN0IGV4aXN0aW5nIGluIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnksIHN1cHBvcnRzIHByb2R1Y3Qgd2VpZ2h0LCBwcmljZSwgYW5kIGF0dHJpYnV0ZSBzZXRzLiAgRWFjaCBpdGVtIGluIGFuIGF0dHJpYnV0ZSBzZXQgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50LiAgQWxzbyBhIGdsb2JhbCBmbGFnIGluZGljYXRlcyB3ZXRoZXIgdGhlIHByb2R1Y3QgaXMgJiMwMzk7dGF4YWJsZSYjMDM5OyBvciBub3QuPC9wPg0KICA8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBmb3IgdXAgdG8gdHdvIGltYWdlcyBwZXIgcHJvZHVjdCwgY3VzdG9tIGZpZWxkIGRlZmluaXRpb25zLCBhbmQgZm9yIHRoZSBhYmlsaXR5IHRvIGRlc2NyaW1pbmF0ZSBwcml2YXRlIGZyb20gcHVibGljIGRhdGEuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQogIDxsaT5OdW1lcm91cyBWaWV3czwvbGk+DQogICAgPHVsPg0KICAgICAgPGxpPlN1bW1hcnkgdmlldzwvbGk+DQogICAgICA8bGk+Q2F0ZWdvcnkgTGlzdCBWaWV3PC9saT4NCiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IA0KICAgICAgPGxpPkhpZXJhcmNoeSBEcmlsbC1kb3duIFZpZXc8L2xpPg0KICAgIDwvdWw+DQogIDxsaT5FbnRpcmVseSBEYXRhYmFzZSBUZW1wbGF0ZSBEcml2ZW48L2xpPg0KICA8cD5OdW1lcm91cyB0ZW1wbGF0ZXMgb2YgZWFjaCB0eXBlIGNhbiBiZSBkZWZpbmVkLCBkZWZhdWx0cyBzcGVjaWZpZWQgZm9yIGVhY2ggdHlwZSwgYW5kIHRoZSB0ZW1wbGF0ZSB1c2VkIGZvciBlYWNoIHBhcnRpY3VsYXIgdmlldyBjYW4gYmUgc3BlY2lmaWVkIGFzIGEgcGFyYW1ldGVyPC9wPg0KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBleGlzdCBpbiBtdWx0aXBsZSBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPk51bWVyb3VzIGN1c3RvbSBmaWVsZHMgY2FuIGJlIGRlZmluZWQsIGluY2x1ZGluZyBpbWFnZXM8L2xpPg0KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+DQogIDxsaT5BZG1pbiBkZWZpbmVkIGZpZWxkczwvbGk+DQogIDxsaT5Qcm9kdWN0IGF0dHJpYnV0ZXMgKGluY2x1ZGluZyBwcmljZSBhZGp1c3RtZW50KTwvbGk+DQogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gaGF2ZSBhIHN0YXR1cyAocHVibGlzaGVkIG9yIGRyYWZ0KSBpbiBvcmRlciB0byBoaWRlIHByb2R1Y3RzIGZyb20gcHVibGljIGRpc3BsYXkgYXQgYW55IHRpbWU8L2xpPg0KICA8bGk+UHJldHR5IFVSTCBTdXBwb3J0PC9saT4NCiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+DQo8dWw+DQo8bGk+U2V0IHByZWZlcmVuY2VzPC9saT4NCjxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4NCjxsaT5TZXR1cCB1c2VycyBhbmQgcGVybWlzc2lvbnM8L2xpPg0KPHA+VGhpcyBtb2R1bGUgdXNlcyB0aGUgJiMwMzk7TW9kaWZ5IFRlbXBsYXRlcyYjMDM5OyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICYjMDM5O01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJiMwMzk7IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gYWRqdXN0IHRoZSBtb2R1bGVzIHByZWZlcmVuY2VzLiAgSW4gb3JkZXIgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgZmllbGQgZGVmaW5pdGlvbnMsIGNhdGVnb3JpZXMsIG9yIHByb2R1Y3RzLCB5b3VyIHVzZXJzIHdpbGwgbmVlZCB0aGUgJiMwMzk7TW9kaWZ5IFByb2R1Y3RzJiMwMzk7IHBlcm1pc3Npb24uPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLCBidXQgeW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBkbyB0aGlzIGVhcmx5IHRvIHByZXZlbnQgaGF2aW5nIHRvIGdvIGJhY2sgdG8gbW9kaWZ5IGVhY2ggYW5kIGV2ZXJ5IHByb2R1Y3QgbGF0ZXIuICBBZGRpbmcgYSBjYXRlZ29yeSBpcyBhcyBzaW1wbGUgYXMgY2xpY2tpbmcgb24gdGhlICYjMDM5O0NhdGVnb3JpZXMmIzAzOTsgdGFiIGluIHRoZSBQcm9kdWN0IE1hbmFnZXJzIGFkbWluIHNlY3Rpb24sIGFuZCBjbGlja2luZyAmIzAzOTtBZGQgQSBDYXRlZ29yeSYjMDM5Oy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAuICBDdXN0b20gZmllbGRzIGFyZSBub3QgbmVlZGVkIGlmIHRoaXMgbW9kdWxlIHN1aXRzIHlvdSBleGFjdGx5IGFzIGl0IGlzLiAgSG93ZXZlciBpZiB5b3Ugd291bGQgbGlrZSB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBlYWNoIG9mIHlvdXIgcHJvZHVjdHMgeW91IGNhbiBjcmVhdGUgY3VzdG9tIGZpZWxkcy4gIENyZWF0aW5nIGN1c3RvbSBmaWVsZHMgaXMgc2ltaWxhciB0byBjcmVhdGluZyBjYXRlZ29yaWVzLCBleGNlcHQgdGhhdCBtb3JlIGRhdGEgaXMgcmVxdWVzdGVkLjwvcD4NCjxwPkN1cnJlbnRseSBzaXggdHlwZXMgb2YgY3VzdG9tIGZpZWxkcyBhcmUgYXZhaWxhYmxlOiAmIzAzOTt0ZXh0Ym94JiMwMzk7LCYjMDM5O2NoZWNrYm94JiMwMzk7LGFuZCAmIzAzOTt0ZXh0YXJlYSwgZHJvcGRvd24sIGFuZCBmaWxlJiMwMzk7LiAgU2VsZWN0IG9uZSBvZiB0aGVzZSwgZ2l2ZSB5b3VyIG5ldyBmaWVsZCBhIG5hbWUsIGFuZCBpbmRpY2F0ZSB3ZXRoZXIgdGhhdCBmaWVsZCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgcHVibGljIGluIHRoZSB2YXJpb3VzIHZpZXdzLiAgVGhlbiBoaXQgc3VibWl0PC9wPg0KPGxpPkNyZWF0ZSBvbmUgb3IgbW9yZSBwcm9kdWN0czwvbGk+DQo8cD5Zb3Ugc2hvdWxkIGNyZWF0ZSBvbmUgb3IgbW9yZSBwcm9kdWN0cyB0byBkaXNwbGF5IGluIHlvdXIgd2Vic2l0ZSBjb250ZW50LiAgR2l2ZSBlYWNoIHByb2R1Y3QgYSBuYW1lLCBhIHByaWNlIChvcHRpb25hbCkgYSB3ZWlnaHQgKG9wdGlvbmFsKSwgYSBzdGF0dXMgKGRyYWZ0IG9yIHB1Ymxpc2hlZCksIGFuZCBzb21lIGluZm9ybWF0aW9uLiAgQWRkaXRpb25hbGx5LCB5b3UgY2FuIGFsc28gc3BlY2lmeSBpZiB0aGUgcHJvZHVjdCBpcyB0YXhhYmxlLjwvcD4NCjxwPklmIGNhdGVnb3JpZXMgYXJlIGRlZmluZWQsIHRoZW4gYSBjaGVja2JveCB3aWxsIGFwcGVhciBmb3IgZWFjaCBkZWZpbmVkIGNhdGVnb3J5LiAgWW91IGNhbiBzaW1wbHkgY2xpY2sgdGhlIGNoZWNrYm94IGZpZWxkcyBmb3IgZWFjaCBjYXRlZ29yeSB0aGF0IHRoaXMgcHJvZHVjdCBzaG91bGQgYmVsb25nIHRvLjwvcD4NCjxwPklmIGN1c3RvbSBmaWVsZHMgYXJlIGRlZmluZWQsIHRoZW4gaW5wdXQgZmllbGRzIGFwcHJvcHJpYXRlIHRvIHRoZSB0eXBlIG9mIGN1c3RvbSBmaWVsZCB3aWxsIGFwcGVhciBhbmQgYWxsb3cgeW91IHRvIHNwZWNpZnkgZGF0YSBmb3IgZWFjaCBvZiB0aGVtLiAgVGhpcyBkYXRhIGlzIG9wdGlvbmFsLjwvcD4NCjxsaT5BZGQgdGhlIGFwcHJvcHJpYXRlIHRhZ3MgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGVzIG9yIHBhZ2UgY29udGVudDwvbGk+DQo8cD5UaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnIGludG8gdGhlIGNvbnRlbnQgYXJlYSBvZiBvbmUgb2YgeW91ciBwYWdlcywgb3IgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9wPg0KPHA+SWYgeW91IHdpc2ggdG8gYWx0ZXIgdGhlIGJlaGF2aW91ciBvZiB0aGlzIGFwcGxpY2F0aW9uIGZyb20gaXRzIGRlZmF1bHQsIHlvdSBjYW4gZG8gdGhhdCBieSBhZGRpbmcgb25lIG9yIG1vcmUgcGFyYW1ldGVycyB0byB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZy4gIFRoZSBjb21wbGV0ZSBsaXN0IG9mIHBhcmFtZXRlcnMgYW5kIHRoZWlyIGJlaGF2aW91ciBpcyBsaXN0ZWQgYmVsb3cuICBCdXQgZm9yIGV4YW1wbGUsIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3RzIGluIGEgc2luZ2xlLCBleGlzdGluZyBjYXRlZ29yeSwgeW91IGNvdWxkIHVzZSBhIHRhZyBsaWtlIDxjb2RlPntQcm9kdWN0cyBjYXRlZ29yeT0mIzAzOTtjYXRlZ29yeW5hbWUmIzAzOTt9PC9jb2RlPjwvcD4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gIEhvd2V2ZXIgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcyBvciB0byBmaWxlIGEgYnVnIHJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgbWFkZSBzaW1wbGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+RGV2ZWxvcGVycyBGb3JnZTwvYT4gYW5kIGRvIGEgc2VhcmNoIGZvciAmIzAzOTtQcm9kdWN0cyYjMDM5OzwvbGk+DQo8bGk+VG8gb2J0YWluIGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHNlbmQgYW4gZW1haWwgdG8gdGhlIGF1dGhvciBhdCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ybXMuPC9hPjwvbGk+DQo8bGk+Rm9yIHNvbWUgcXVlc3Rpb25zIGFuZCBsaW1pdGVkIHRlY2huaWNhbCBzdXBwb3J0LCB0aGUgYXV0aG9yIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaGlhJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ1BveiZpYWN1dGU7Y2lhIHYgaGllcmFyY2hpaSc7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ09iciZhYWN1dGU7em9rJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdWciZhYWN1dGU7dGFuZSBwb2QmdWFjdXRlO3Jvdm5lPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ0liYSBhbGZhbnVtZXJpY2smZWFjdXRlOyB6bmFta3ksIGJleiBtZWR6aWVyLCAmdWFjdXRlO3ZvZHpvdmllaywgYSBvc3RhdG4meWFjdXRlO2NoIHpuYWtvdiBtaW1vIMSNJmlhY3V0ZTtzaWVsIGEgcCZpYWN1dGU7c21lbi4nOwokbGFuZ1snaW5mb19hdXRvdGh1bWJuYWlsJ10gPSAnTmFzdGF2ZW5pZSBuJmFhY3V0ZTtoxL5hZG92JnlhY3V0ZTtjaCBvYnImYWFjdXRlO3prb3YgcyZ1YWN1dGU7IHogbW9kdWx1IENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdOYXN0YXZlbmlhIHZvZG96bmFrdSBzJnVhY3V0ZTsgIHogbW9kdWx1IENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPlBvem4mYWFjdXRlO21rYTogPC9zdHJvbmc+IFYmc2Nhcm9uO2V0a3kgcG9saWEgdHUgcyZ1YWN1dGU7IGRvc3R1cG4mZWFjdXRlOyBwcmUgdiZzY2Fyb247ZXRreSBwcm9kdWt0eSc7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdQcm9ibGVtcyB3ZXJlIGVuY291bnRlcmVkIHdoZW4gZGVhbGluZyB3aXRoIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHMuICBUaGUgYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBob3dldmVyIHlvdSBzaG91bGQgaW52ZXN0aWdhdGUgYW5kIGNvcnJlY3QgdGhlc2UgcHJvYmxlbXMnOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnUG92b2xlbiZlYWN1dGU7IHpuYWt5IHMmdWFjdXRlOyArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdWZXJlam4mZWFjdXRlOyBwb2xpYSBzJnVhY3V0ZTsgdmlkaXRlxL5uJmVhY3V0ZTsgcHJlIHYmc2Nhcm9uO2V0az15Y2gnOwokbGFuZ1snbGFiZWwnXSA9ICdabmHEjWthJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ1Bvc2xlZG4mYWFjdXRlOyB6bWVuYSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0RydWgmeWFjdXRlOyBvYnImYWFjdXRlO3pvayc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbSZhYWN1dGU7bG5hIGTEusW+bGEgPGVtPihwbGF0biZlYWN1dGU7IGliYSB2IHRleHRvdm9tIHBvbGkpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnRCZhYWN1dGU7dHVtICZ1YWN1dGU7cHJhdnknOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnTW9kdWwgcHJlIHNwciZhYWN1dGU7dnUgcHJvZHVrdG92LCBpY2ggY2llbiwgb2JyJmFhY3V0ZTt6a292LCBhdMSPLiBNJm9jaXJjO8W+bm9zxaUgcG91xb5pxaUgdiBrb21iaW4mYWFjdXRlO2NpaSBzIG1vZHVsb20gbiZhYWN1dGU7a3VwbiZlYWN1dGU7aG8ga28mc2Nhcm9uOyZpYWN1dGU7a2EgKENhcnQpIGEgbW9kdWxvbSBvYmplZG4mYWFjdXRlO3ZvayAoT3JkZXJzKSc7CiRsYW5nWyduYW1lJ10gPSAnTiZhYWN1dGU7em92JzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnTmVtJmFhY3V0ZTt0ZSBwb3RyZWJuJmVhY3V0ZTsgcHImYWFjdXRlO3ZhOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ04mYWFjdXRlO3pvdiBub3ZlaiBrYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ8W9aWFkbnkgbiZhYWN1dGU7em92IG5lYm9sIHphZGFuJnlhY3V0ZTsnOwokbGFuZ1snbm9uZSddID0gJ8W9aWFkbmUnOwokbGFuZ1snb2YnXSA9ICd6JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTdHJhbmEnOwokbGFuZ1sncGFnZV9vZiddID0gJ1N0cmFuYSAlcyB6ICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdNYXguIG5hIHN0ciZhYWN1dGU7bmt1JzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1BvdcW+JmlhY3V0ZTt2YSBzYSB2JnlhY3V0ZTtocmFkbmUgcHJpIG0mb2FjdXRlO2RlIGRldGFpbCxhIHpvYnJhenVqZSBkZXRhaWwgcHJvZHVrdHUnOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdQb3XFviZpYWN1dGU7dmEgc2EgdiZ5YWN1dGU7aHJhZG5lIHYgbSZvYWN1dGU7ZGUgcHJlaMS+YWR1IChzdW1tYXJ5KSBhIHphYmV6cGXEjXVqZSB0cmllZGVuaWUgcHJvZHVrdG92IG5hIHYmeWFjdXRlO3N0dXBlLiBNb8W+biZlYWN1dGU7IGhvZG5vdHkgcGFyYW1ldHJhOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+cHJpY2UgLS0geiZhYWN1dGU7a2xhZG4mYWFjdXRlOyBjZW5hIHByb2R1a3R1PC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBhbGVibyBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIG4mYWFjdXRlO2hvZG4meWFjdXRlOyB2JnlhY3V0ZTtiZXI8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBkJmFhY3V0ZTt0dW0gdnl0dm9ycmVuaWE8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gZCZhYWN1dGU7dHVtIHBvc2xlZG5laiAmdWFjdXRlO3ByYXZ5PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RlbnRvIHBhcmFtZXRlciAmc2Nhcm9uO3BlY2lmaWt1amUgJnNjYXJvbjthYmwmb2FjdXRlO251IHByZSBwcmUgbSZvYWN1dGU7ZCBwcmVoxL5hZHkgJnF1b3Q7c3VtbWFyeSZxdW90Oy4gQWsgbmllamUgemFkYW4meWFjdXRlOywgcG91xb5pamUgc2EgcHJlZG5hc3RhdmVuJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hLic7CiRsYW5nWydwYXJlbnQnXSA9ICdSb2RpxI0nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCBib2wgJnVhY3V0ZTtzcGUmc2Nhcm9uO25lIG5haW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUHJvZHVrdG92JnlhY3V0ZTsgbW9kdWwgYm9sIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyBzbyB2JnNjYXJvbjtldGsmeWFjdXRlO21pIGQmYWFjdXRlO3RhbWl1JzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdPZHN0ciZhYWN1dGU7bmVuJmlhY3V0ZTttIG1vZHVsdSBzdHJhdCZpYWN1dGU7dGUgdiZzY2Fyb247ZXRreSBkJmFhY3V0ZTt0YSBzIG4maWFjdXRlO20gcyZ1YWN1dGU7dmlzZWomdWFjdXRlO2NlLCBjaGNldGUgcG9rcmHEjW92YcWlPyc7CiRsYW5nWydwcmljZSddID0gJ0NlbmEnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByaXAmb2NpcmM7c29iZW5pZSBjZW55JzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVrdCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ04mYWFjdXRlO3pvdiBwcm9kdWt0dSc7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3R5JzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnSGllcmFyY2hpYSBwcm9kdWt0b3YnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVrdG92JnlhY3V0ZTsgbW9kdWwnOwokbGFuZ1sncHJvbXB0J10gPSAnSGwmYWFjdXRlOyZzY2Fyb247a2EnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAnUG92b2xpxaUgbmFociZhYWN1dGU7dmHFpSBzJnVhY3V0ZTtib3J5IHMgdCZ5YWN1dGU7bWl0byBrb25jb3ZrYW1pIChwcmUgcG9sZSBzJnVhY3V0ZTtib3IpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdQb3ZvbGnFpSBuYWhyJmFhY3V0ZTt2YcWlIG9iciZhYWN1dGU7emt5IHMgdCZ5YWN1dGU7bWkga29uY292a2FtaSAocHJlIHBvbGUgb2JyJmFhY3V0ZTt6b2spJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGlja3kgdnl0dm9yacWlIG5haMS+YWQgb2JyJmFhY3V0ZTt6a2EnOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aWNreSB2bG/FvmnFpSB2b2Rvem5hayBkbyBvYnImYWFjdXRlO3prb3YnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdaYXBuJnVhY3V0ZTvFpSBha28gcHJlZG5hc3RhdmVuJmVhY3V0ZTsgcHJlIHYmc2Nhcm9uO2V0a3kgbm92JmVhY3V0ZTsgcHJvZHVrdHknOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1MmdWFjdXRlO8SNYXNuJnlhY3V0ZTsgayZvYWN1dGU7ZCc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdTJnVhY3V0ZTvEjWFzbiZ5YWN1dGU7IHN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnT2RzdHJhbmnFpSB2JnNjYXJvbjtldGt5IHMmdWFjdXRlO2Jvcnkgc3BvamVuJmVhY3V0ZTsgcyB0JnlhY3V0ZTttdG8gcHJvZHVrdG9tIHByaSBqZWhvIG9kc3RyJmFhY3V0ZTtuZW4maWFjdXRlOz8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyBzdHImYWFjdXRlO25rYSBkZXRhaWx1JzsKJGxhbmdbJ3Byb21wdF90YXhyYXRlJ10gPSAnU2FkemJhIGRhbmUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyB0cmllZGVuaWUgdiBtJm9hY3V0ZTtkZSBwcmVoxL5hZHUgKHN1bW1hcnkpJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ1ByZWRuYXN0YXZlbiZlYWN1dGU7IHRyaWVkZW5pZSB2IG0mb2FjdXRlO2RlIHByZWjEvmFkdSAoc3VtbWFyeSknOwokbGFuZ1sncHJvbXB0X3RheDEnXSA9ICdQcnYmYWFjdXRlOyBkYcWIJzsKJGxhbmdbJ3Byb21wdF90YXgyJ10gPSAnRHJ1aCZhYWN1dGU7IGRhxYgnOwokbGFuZ1sncHJvbXB0X3RheG5hbWUnXSA9ICdOJmFhY3V0ZTt6b3YgZGFuZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdaZHJvaiAmc2Nhcm9uO2FibCZvYWN1dGU7bnknOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnSmVkbm90a3kgaG1vdG5vc3RpJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0plIHRvdG8gdmVyZWpuJmVhY3V0ZTsgcG9sZT8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnUHVibGlrb3ZhbiZlYWN1dGU7JzsKJGxhbmdbJ3JhbmRvbSddID0gJ04mYWFjdXRlO2hvZG5lJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnUHJlZG5hc3RhdmnFpSBuYSBwcmVkdm9sZW4mZWFjdXRlOyBob2Rub3R5JzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb2RpxI1vdnNrJnlhY3V0ZTsgYWRyZXMmYWFjdXRlO3InOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1Z5YmVydGUgamVkbnUnOwokbGFuZ1snc29ydF9ieSddID0gJ1pvdHJpZWRpxaUgcG9kxL5hJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdQb3JhZGllJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXYnOwokbGFuZ1snc3VibWl0J10gPSAnT2Rvc2xhxaUnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSBwcmVoxL5hZG92IChzdW1tYXJ5KSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvdXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251IHByZWjEvmFkdSc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnWmRhbmVuJmVhY3V0ZTsnOwokbGFuZ1sndGF4X21vZHVsZSddID0gJ01vZHVsIHByZSBkYW5lJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dG92JmFhY3V0ZTsgb2JsYXPFpSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dG92JmVhY3V0ZTsgcG9sZSc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgdiZ5YWN1dGU7cGlzdSB2IGhpZXJhcmNoaSZpYWN1dGU7JzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgdiZ5YWN1dGU7cGlzdSBrYXRlZyZvYWN1dGU7cmlpJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgZGV0YWlsdSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ1ByZWRuYXN0YXZlbiZhYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtuYSBzJnVhY3V0ZTtocm51JzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXByYXZpxaUnOwokbGFuZ1sndXBsb2FkJ10gPSAnVnlicmHFpSBzJnVhY3V0ZTtib3IgcHJlIG5haHJhdGllJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnU3ByJmFhY3V0ZTt2bmUnOwokbGFuZ1sndmFsdWUnXSA9ICdIb2Rub3RhJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ0hvZG5vdHknOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnQWRyZXNhIHZvZG96bmFrdSc7CiRsYW5nWyd3ZWlnaHQnXSA9ICdWJmFhY3V0ZTtoYSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjQ3NjExMDcuMzg4LjI2LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj12YXNzYWxneW0uc2t8dXRtY2N0PS9hZG1pbi9saXN0Y29udGVudC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNDMwMDc0MjY4OTI3NTYwMTQwMC4xMjEzMjU2OTUzLjEyMjUxMTAyODAuMTIyNTExNDQ0MS4zOTknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjUuMTAuMTIyNTExNDQ0MSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0RvZGFqJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnRG9kYWoga2F0ZWdvcmlqbyc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0RvZGFqIHBvbGplJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdOYXN0YXZsaml2byc7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnRG9kYWogYXJ0aWtlbCc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0RvZGFqIGF0cmlidXQnOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnRG9kZWxpIHBvbGplIGthdGVnb3Jpamk6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0RvZGFqIGVsZW1lbnQgaGllcmFyaGlqZSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnRG9kYWogbW/Fvm5vc3QgYXRyaWJ1dGEnOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0FsaSBsYWhrbyBzYW1vIGFkbWluaXN0cmF0b3JqaSB2aWRpam8gdGEgYXRyaWJ1dD8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdaZ29yYWogbGV2byc7CiRsYW5nWydhbGlnbl91YyddID0gJ1pnb3JhaiBzcmVkaW5hJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnWmdvcmFqIGRlc25vJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnU3JlZGluYSBsZXZvJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnU3JlZGluYSc7CiRsYW5nWydhbGlnbl9tciddID0gJ1NyZWRpbmEgZGVzbm8nOwokbGFuZ1snYWxpZ25fbGwnXSA9ICdTcG9kYWogbGV2byc7CiRsYW5nWydhbGlnbl9sYyddID0gJ1Nwb2RhaiBzcmVkaW5hJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnU3BvZGFqIGRlc25vJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdWc2Uga2F0ZWdvcmlqZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHByZXByacSNYW5pPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdTdGUgcHJlcHJpxI1hbmksIGRhIMW+ZWxpdGUgaXpicmlzYXRpIHRhIGFydGlrZWwgdGVyIHZzZSBpbmZvcm1hY2lqZSwga2kgc28geiBuamltIHBvdmV6YW5lPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdOYXJhJnNjYXJvbjvEjWFqb8SNZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0ltZSBhdHJpYnV0YSc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdnRvbWF0acSNbm8nOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBwb3JvxI1pbG8gaGllcmFyaGlqZSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdEb2Rhai91cmVkaSBwcmVkbG9nbyBwb3JvxI1pbGEgaGllcmFyaGlqZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdQcmVrbGnEjWknOwokbGFuZ1snY2FydF9tb2R1bGUnXSA9ICdNb2R1bCB6YSB2b3ppxI1layc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmlqZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpamEnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdLYXRlZ29yaWphIHMgdGVtIGltZW5vbSDFvmUgb2JzdGFqYSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBwcmVnbGVkIGthdGVnb3Jpaic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRG9kYWovdXJlZGkgcHJlZGxvZ28gemEgcHJlZ2xlZCBrYXRlZ29yaWonOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBpemJyaXNhdGkgdGEgbml2bz8gVnNpIGFydGlrbGksIGtpIHVwb3JhYmxqYWpvIHRhIG5pdm8gYm9kbyBvZHN0cmFuamVuaSBpeiBoaWVyYXJoaWplLic7CiRsYW5nWydjb3B5J10gPSAnS29waXJhaic7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnS29waXJhaiBrYXRlZ29yaWpvJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRGF0dW0gdm5vc2EnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ1RyZW51dG5hIHZyZWRub3N0JzsKJGxhbmdbJ2RhdGEnXSA9ICdQb2RhdGtpJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdQcml2emV0byc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnUHJpdnpldGUgcHJlZGxvZ2UnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPlBvem9yOjwvc3Ryb25nPiBWc2ViaW5hIHRlaCBwb2xqIGplIHVwb3JhYmxqZW5hIHphIGRvbG/EjWFuamUgcHJpdnpldGUgdnNlYmluZSBwcmVkbG9nLCBrbyBrbGlrbmV0ZSAmcXVvdDtEb2RhaiBwcmVkbG9nbyZxdW90OyB2IHVzdHJlem5lbSB6YXZpaGt1IHMgcHJlZGxvZ2FtaS4gU3ByZW1pbmphbmplIHZzZWJpbmUgdGVoIHBvbCBuZSBibyB2cGxpdmFsbyBuYSB2YSZzY2Fyb247byBzcGxldG5vIHN0cmFuLic7CiRsYW5nWydkZWxldGUnXSA9ICdJemJyaSZzY2Fyb247aSc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnSXpicmkmc2Nhcm9uO2kgYXRyaWJ1dCc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdJemJyaSZzY2Fyb247aSBlbGVtZW50IGhpZXJhcmhpamUnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ1BhZGFqb8SNZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1snZGV0YWlscyddID0gJ1BvZHJvYm5vc3RpJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1ByZWRsb2dlIHphIHBvZHJvYm5vc3QnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0RvZGFqL3VyZWRpIHByZWRsb2dvIHphIHBvZHJvYm5vc3QnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdPbmVtb2dvxI1lbm8nOwokbGFuZ1snZHJhZnQnXSA9ICdPc251dGVrJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnSXp2bGXEjW5pIG1lbmknOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ01vxb5ub3N0aSBpenZsZcSNbmVnYSBtZW5pamEgPGVtPihzYW1vIHByaSBpenZsZcSNbmloIHBvbGppaCk8L2VtPjxici8+PGJyLz48ZW0+KGVuIHphcGlzIG5hIHZyc3RpY28pPC9lbT4nOwokbGFuZ1snZWRpdCddID0gJ1VyZWRpJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ1VyZWphbmplIG5hYm9yb3YgYXRyaWJ1dG92JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdVcmVqYW5qZSBuYWJvcm92IGF0cmlidXRvdiB6YSc7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdVcmVqYW5qZSBhdHJpYnV0b3YnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1VyZWphbmplIGthdGVnb3JpamUnOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdVcmVqYW5qZSBwb2xqIGthdGVnb3JpamUnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ1VyZWphbmplIGVsZW1lbnRhIGhpZXJhcmhpamUnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0F0cmlidXQgcyB0ZW0gaW1lbm9tIMW+ZSBvYnN0YWphJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdWcmVkbm9zdCBwb2xqYSBuZSBtb3JlIGJpdGkgcHJhem5hJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0RhdG90ZWthIG5lIG9ic3RhamEnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ05hcGHEjWVuIG5hZHJlamVuaSBlbGVtZW50IChlbGVtZW50IGhpZXJhcmhpamUgbmUgbW9yZSBiaXRpIG5hZHJlamVuIHNhbWVtdSBzZWJpKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdWcmVkbm9zdCBwcmlsYWdvamVuZWdhIHBvbGphIGplIG5hcGHEjW5hICh2c2VidWplIHBvc2VibmUgem5ha2UpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ09idmV6ZW4gcGFyYW1ldGVyIG5lIG9ic3RhamEgYWxpIHBhIGplIG5hcGHEjWVuJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnRWxlbWVudCBzIHRlbSBpbWVub20gxb5lIG9ic3RhamEnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQcm9zaW1vLCBpemJlcml0ZSB0aXAgcG9samEnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnVnBpc2F0aSBtb3JhdGUgaW1lJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdBcnRpa2VsIHMgdGVtIGltZW5vbSDFvmUgb2JzdGFqYSc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnTmFwYcSNbmEgdnJlZG5vc3QgY2VuZSB6YSBhcnRpa2VsICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdQcmVub3MgbmkgdXNwZSZzY2Fyb247ZW46ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnUG9samUnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdEZWZpbmljaWphIHBvbGphJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0RlZmluaWNpamUgcG9saic7CiRsYW5nWydmaWxlJ10gPSAnRGF0b3Rla2EnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyaSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHdheSB0byBjb2xsZWN0LCBvcmdhbml6ZSwgYW5kIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgcHJvZHVjdHMgYW5kIHRoZWlyIGNhdGVnb3JpZXMuICBUaGlzIG1vZHVsZSBjYW4gc3RhbmQgb24gaXRzIG93biwgb3IgYmUgcGFydCBvZiBhbiBlLWNvbW1lcmNlIHNvbHV0aW9uIGlmIHlvdSB3aXNoLiAgVGhlIG1vZHVsZSBzdXBwb3J0cyBhIHByb2R1Y3QgZXhpc3RpbmcgaW4gbW9yZSB0aGFuIG9uZSBjYXRlZ29yeSwgc3VwcG9ydHMgcHJvZHVjdCB3ZWlnaHQsIHByaWNlLCBhbmQgYXR0cmlidXRlIHNldHMuICBFYWNoIGl0ZW0gaW4gYW4gYXR0cmlidXRlIHNldCBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQuICBBbHNvIGEgZ2xvYmFsIGZsYWcgaW5kaWNhdGVzIHdldGhlciB0aGUgcHJvZHVjdCBpcyAmIzAzOTt0YXhhYmxlJiMwMzk7IG9yIG5vdC48L3A+DQogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGZvciB1cCB0byB0d28gaW1hZ2VzIHBlciBwcm9kdWN0LCBjdXN0b20gZmllbGQgZGVmaW5pdGlvbnMsIGFuZCBmb3IgdGhlIGFiaWxpdHkgdG8gZGVzY3JpbWluYXRlIHByaXZhdGUgZnJvbSBwdWJsaWMgZGF0YS48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCiAgPGxpPk51bWVyb3VzIFZpZXdzPC9saT4NCiAgICA8dWw+DQogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4NCiAgICAgIDxsaT5DYXRlZ29yeSBMaXN0IFZpZXc8L2xpPg0KICAgICAgPGxpPkRldGFpbCB2aWV3PC9saT4gDQogICAgICA8bGk+SGllcmFyY2h5IERyaWxsLWRvd24gVmlldzwvbGk+DQogICAgPC91bD4NCiAgPGxpPkVudGlyZWx5IERhdGFiYXNlIFRlbXBsYXRlIERyaXZlbjwvbGk+DQogIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+DQogIDxsaT5Tb3J0aW5nIGFuZCBwYWdpbmF0aW9uIGluIHRoZSBzdW1tYXJ5IHZpZXc8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGV4aXN0IGluIG11bHRpcGxlIGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+TnVtZXJvdXMgY3VzdG9tIGZpZWxkcyBjYW4gYmUgZGVmaW5lZCwgaW5jbHVkaW5nIGltYWdlczwvbGk+DQogIDxsaT5BdXRvbWF0aWMgdGh1bWJuYWlsIGNyZWF0aW9uPC9saT4NCiAgPGxpPkFkbWluIGRlZmluZWQgZmllbGRzPC9saT4NCiAgPGxpPlByb2R1Y3QgYXR0cmlidXRlcyAoaW5jbHVkaW5nIHByaWNlIGFkanVzdG1lbnQpPC9saT4NCiAgPGxpPldlaWdodCBhbmQgdGF4YWJsZSBmaWVsZHMgKGZvciB1c2UgaW4gZS1jb21tZXJjZSBzb2x1dGlvbnMpPC9saT4NCiAgPGxpPlByb2R1Y3RzIGNhbiBoYXZlIGEgc3RhdHVzIChwdWJsaXNoZWQgb3IgZHJhZnQpIGluIG9yZGVyIHRvIGhpZGUgcHJvZHVjdHMgZnJvbSBwdWJsaWMgZGlzcGxheSBhdCBhbnkgdGltZTwvbGk+DQogIDxsaT5QcmV0dHkgVVJMIFN1cHBvcnQ8L2xpPg0KICA8bGk+PHN0cm9uZz5Nb3JlLi4uPC9zdHJvbmc+PC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgRG8gSSBVc2UgSXQ6PC9oMz4NCjx1bD4NCjxsaT5TZXQgcHJlZmVyZW5jZXM8L2xpPg0KPHA+VXN1YWxseSB0aGlzIGlzIGp1c3QgYSBmb3JtYWxpdHkuICBZb3Ugc2hvdWxkIHNwZWNpZnkgeW91ciBkZWZhdWx0IHdlaWdodCB1bml0cywgYW5kIHlvdXIgZGVmYXVsdCBjdXJyZW5jeSBzeW1ib2wgZm9yIHlvdXIgbG9jYWwgZW52aXJvbm1lbnQuPC9wPg0KPGxpPlNldHVwIHVzZXJzIGFuZCBwZXJtaXNzaW9uczwvbGk+DQo8cD5UaGlzIG1vZHVsZSB1c2VzIHRoZSAmIzAzOTtNb2RpZnkgVGVtcGxhdGVzJiMwMzk7IHBlcm1pc3Npb24gdG8gYWxsb3cgdXNlcnMgdG8gYmUgYWJsZSB0byBtb2RpZnkgdGhlIHZhcmlvdXMgdGVtcGxhdGVzIHRoYXQgY2FuIGJlIHVzZWQgYnkgdGhpcyBtb2R1bGUuICBBcyB3ZWxsLCB0aGUgJiMwMzk7TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBhZGp1c3QgdGhlIG1vZHVsZXMgcHJlZmVyZW5jZXMuICBJbiBvcmRlciB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIG1vZGlmeSBmaWVsZCBkZWZpbml0aW9ucywgY2F0ZWdvcmllcywgb3IgcHJvZHVjdHMsIHlvdXIgdXNlcnMgd2lsbCBuZWVkIHRoZSAmIzAzOTtNb2RpZnkgUHJvZHVjdHMmIzAzOTsgcGVybWlzc2lvbi48L3A+DQo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY2F0ZWdvcmllczwvbGk+DQo8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAsIGJ1dCB5b3Ugd2lsbCBwcm9iYWJseSB3YW50IHRvIGRvIHRoaXMgZWFybHkgdG8gcHJldmVudCBoYXZpbmcgdG8gZ28gYmFjayB0byBtb2RpZnkgZWFjaCBhbmQgZXZlcnkgcHJvZHVjdCBsYXRlci4gIEFkZGluZyBhIGNhdGVnb3J5IGlzIGFzIHNpbXBsZSBhcyBjbGlja2luZyBvbiB0aGUgJiMwMzk7Q2F0ZWdvcmllcyYjMDM5OyB0YWIgaW4gdGhlIFByb2R1Y3QgTWFuYWdlcnMgYWRtaW4gc2VjdGlvbiwgYW5kIGNsaWNraW5nICYjMDM5O0FkZCBBIENhdGVnb3J5JiMwMzk7LiAgRnJvbSB0aGVyZSB5b3Ugd2lsbCBiZSBwcm9tcHRlZCBmb3IgYSBjYXRlZ29yeSBuYW1lLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPg0KPHA+Q3VycmVudGx5IHNpeCB0eXBlcyBvZiBjdXN0b20gZmllbGRzIGFyZSBhdmFpbGFibGU6ICYjMDM5O3RleHRib3gmIzAzOTssJiMwMzk7Y2hlY2tib3gmIzAzOTssYW5kICYjMDM5O3RleHRhcmVhLCBkcm9wZG93biwgYW5kIGZpbGUmIzAzOTsuICBTZWxlY3Qgb25lIG9mIHRoZXNlLCBnaXZlIHlvdXIgbmV3IGZpZWxkIGEgbmFtZSwgYW5kIGluZGljYXRlIHdldGhlciB0aGF0IGZpZWxkIHNob3VsZCBiZSB2aXNpYmxlIHRvIHRoZSBwdWJsaWMgaW4gdGhlIHZhcmlvdXMgdmlld3MuICBUaGVuIGhpdCBzdWJtaXQ8L3A+DQo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4NCjxwPllvdSBzaG91bGQgY3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzIHRvIGRpc3BsYXkgaW4geW91ciB3ZWJzaXRlIGNvbnRlbnQuICBHaXZlIGVhY2ggcHJvZHVjdCBhIG5hbWUsIGEgcHJpY2UgKG9wdGlvbmFsKSBhIHdlaWdodCAob3B0aW9uYWwpLCBhIHN0YXR1cyAoZHJhZnQgb3IgcHVibGlzaGVkKSwgYW5kIHNvbWUgaW5mb3JtYXRpb24uICBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IGlmIHRoZSBwcm9kdWN0IGlzIHRheGFibGUuPC9wPg0KPHA+SWYgY2F0ZWdvcmllcyBhcmUgZGVmaW5lZCwgdGhlbiBhIGNoZWNrYm94IHdpbGwgYXBwZWFyIGZvciBlYWNoIGRlZmluZWQgY2F0ZWdvcnkuICBZb3UgY2FuIHNpbXBseSBjbGljayB0aGUgY2hlY2tib3ggZmllbGRzIGZvciBlYWNoIGNhdGVnb3J5IHRoYXQgdGhpcyBwcm9kdWN0IHNob3VsZCBiZWxvbmcgdG8uPC9wPg0KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPg0KPGxpPkFkZCB0aGUgYXBwcm9wcmlhdGUgdGFncyBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgb3IgcGFnZSBjb250ZW50PC9saT4NCjxwPlRoaXMgY2FuIGJlIGFzIHNpbXBsZSBhcyBhZGRpbmcgdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcgaW50byB0aGUgY29udGVudCBhcmVhIG9mIG9uZSBvZiB5b3VyIHBhZ2VzLCBvciBpbnRvIHlvdXIgcGFnZSB0ZW1wbGF0ZS48L3A+DQo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSYjMDM5O2NhdGVnb3J5bmFtZSYjMDM5O308L2NvZGU+PC9wPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiAgSG93ZXZlciB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICYjMDM5O1Byb2R1Y3RzJiMwMzk7PC9saT4NCjxsaT5UbyBvYnRhaW4gY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0byB0aGUgYXV0aG9yIGF0IDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5Sb2JlcnQgQ2FtcGJlbGw8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4NCjxsaT5Gb3Igc29tZSBxdWVzdGlvbnMgYW5kIGxpbWl0ZWQgdGVjaG5pY2FsIHN1cHBvcnQsIHRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmhpamEnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnUG9sb8W+YWogdiBoaWVyYXJoaWppJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnU2xpa2EnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ1ZrbGp1xI1pIHBvZHJlamVuZT8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdTYW1vIGFsZmFudW1lcmnEjW5pIHpuYWtpLiBCcmV6IHByZXNsZWRrb3YsIG5hcmVrb3ZhamV2LCAmc2Nhcm9uO3Vtbmlrb3YgaW4gcG9zZWJuaWggem5ha292Lic7CiRsYW5nWydpbmZvX2F1dG90aHVtYm5haWwnXSA9ICdOYXN0YXZpdHZlIHBvbWFuaiZzY2Fyb247YW5paCBzbGlrIG5hc3Rhdml0ZSB2IG1vZHVsdSBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnTmFzdGF2aXR2ZSB2b2RuZWdhIMW+aWdhIG5hc3Rhdml0ZSB2IG1vZHVsdSBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5PcG96b3JpbG86IDwvc3Ryb25nPiBWc2EgdHVrYWogZGVmaW5pcmFuYSBwb2xqYSBzbyBuYSB2b2xqbyB2c2VtIGFydGlrbG9tLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdQcmkmc2Nhcm9uO2xvIGplIGRvIHRlxb5hdiBwcmkgdXByYXZsamFuanUgeiBlbmltIGFsaSB2ZcSNIHByaWxhZ29qZW5paCBwb2xqLiBBa2NpamEgamUgYmlsYSB1c3BlJnNjYXJvbjtubyB6YWtsanXEjWVuYSwgdmVuZGFyIHByZXZlcml0ZSBpbiBvZHByYXZpdGUgbmFwYWtlLic7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdEb3ZvbGplbmUgdnJlZG5vc3RpIHNvICstKiMuIyMnOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ0phdm5hIHBvbGphIGxhaGtvIHZpZGlqbyB2c2knOwokbGFuZ1snbGFiZWwnXSA9ICdOYXppdic7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdaYWRuamEgc3ByZW1lbWJhJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnRHJ1Z2Egc2xpa2EnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTmFqdmXEjWphIGRvbMW+aW5hIDxlbT4oc2FtbyBwcmkgdGV4dGJveCBwb2xqaWgpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnRGF0dW0gc3ByZW1lbWJlJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ01vZHVsIHphIHVwcmF2bGphbmplIHMga2F0YWxvZ29tIGFydGlrbG92LCBjZW5hbWksIHNsaWthbWkgaXRkLic7CiRsYW5nWyduYW1lJ10gPSAnSW1lJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnTmltYXRlIHphZG9zdG5paCBwcmF2aWM6ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnSW1lIG5vdmUga2F0ZWdvcmlqZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdJbWUgbmkgYmlsbyBwb2Rhbm8nOwokbGFuZ1snbm9uZSddID0gJ05vYmVuJzsKJGxhbmdbJ29mJ10gPSAnb2QnOwokbGFuZ1sncGFnZSddID0gJ1N0cmFuJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHJhbiAlcyBvZCAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnT21laml0ZXYgc3RyYW5pJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbHMgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1doZW4gdXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBwcm9kdWN0cyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBwcm9kdWN0IHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IGluIHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0IHByb2R1Y3RzLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBwcm9kdWN0IGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyZW50J10gPSAnTmFkcmVqZW5pIGVsZW1lbnQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCBQcm9kdWt0aSBqZSBiaWwgdXNwZSZzY2Fyb247bm8gbmFtZSZzY2Fyb247xI1lbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWwgUHJvZHVrdGkgamUgYmlsIHVzcGUmc2Nhcm9uO25vIG9kc3RyYW5qZW4geiB2c2VtaSBwb2RhdGtpJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnTmFzdGF2aXR2ZSc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICfEjGUgb2RzdHJhbml0ZSB0YSBtb2R1bCwgYm9zdGUgb2RzdHJhbmlsaSB0dWRpIHZzZSBwb2RhdGtlLCBraSBtdSBwcmlwYWRham8uIFN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBuYWRhbGpldmF0aT8nOwokbGFuZ1sncHJpY2UnXSA9ICdDZW5hJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdOYXN0YXZpdGV2IGNlbmUnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdBcnRpa2VsJzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnSW1lIGFydGlrbGEnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWt0aSc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ0hpZXJhcmhpamEgcHJvZHVrdG92JzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ1VwcmF2aXRlbGogcHJvZHVrdG92JzsKJGxhbmdbJ3Byb21wdCddID0gJ1ZwcmEmc2Nhcm9uO2FuamUnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAnRG92b2xpIG5hbGFnYW5qZSBkYXRvdGVrIHMgdGVtaSBrb27EjW5pY2FtaSAoemEgcG9samEgdGlwYSBkYXRvdGVrYSknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0Rvdm9saSBuYWxhZ2FuamUgZGF0b3RlayBzIHRlbWkga29uxI1uaWNhbWkgKHphIHBvbGphIHRpcGEgc2xpa2EpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXZ0b21hdGnEjW5vIHVzdHZhcmkgcG9tYW5qJnNjYXJvbjthbmUgc2xpa2UnOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdnRvbWF0acSNbm8gdnN0YXZpIHZvZG5pIMW+aWcgbmEgc2xpa2UnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdPbW9nb8SNaSBwcml2emV0byB6YSB2c2Ugbm92ZSBhcnRpa2xlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICcmU2Nhcm9uO2lmcmEgdmFsdXRlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1NpbWJvbCB2YWx1dGUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0l6YnJpJnNjYXJvbjtlbSB2c2UgZGF0b3Rla2UsIGtpIHNvIHBvdmV6YW5lIHogYXJ0aWtsb20sIGtvIGl6YnJpJnNjYXJvbjtlbSBhcnRpa2VsPyc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1ByaXZ6ZXRhIHN0cmFuIHMgcG9kcm9ibm9zdG1pJzsKJGxhbmdbJ3Byb21wdF90YXhyYXRlJ10gPSAnU3RvcG5qYSBkYXZrYSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ1ByaXZ6ZXRhIHNtZXIgcmF6dnImc2Nhcm9uO8SNYW5qYSBhcnRpa2xvdiB2IHBvdnpldGt1JzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ1ByaXZ6ZXRvIHBvbGplIHphIHJhenZyJnNjYXJvbjvEjWFuamUgYXJ0aWtsb3YgdiBwb3Z6ZXRrdSc7CiRsYW5nWydwcm9tcHRfdGF4MSddID0gJ1BydmkgZGF2ZWsnOwokbGFuZ1sncHJvbXB0X3RheDInXSA9ICdEcnVnaSBkYXZlayc7CiRsYW5nWydwcm9tcHRfdGF4bmFtZSddID0gJ0ltZSBkYXZrYSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdLb2RhIHByZWRsb2dlJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ0Vub3RhIHRlxb5lJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0plIHRvIHBvbGplIGphdm5vPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdPYmphdmxqZW5vJzsKJGxhbmdbJ3JhbmRvbSddID0gJ05ha2xqdcSNbm8nOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdQb25hc3RhdmkgbmEgdG92YXJuaSZzY2Fyb247a2UgbmFzdGF2aXR2ZSc7CiRsYW5nWydyb290J10gPSAnS29yZW4nOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ0l6YmVyaXRlIGVubyc7CiRsYW5nWydzb3J0X2J5J10gPSAnUmF6dnJzdGkgcG8nOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NtZXIgcmF6dnImc2Nhcm9uO8SNYW5qYSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc3VibWl0J10gPSAnUG8mc2Nhcm9uO2xqaSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnUHJlZGxvZ2UgemEgcG92emV0ZWsnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdEb2Rhai91cmVkaSBwcmVkbG9nbyB6YSBwb3Z6ZXRlayc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnT2JkYXbEjWVubyc7CiRsYW5nWyd0YXhfbW9kdWxlJ10gPSAnTW9kdWwgemEgZGF2ZWsnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdG92bm8gcG9kcm/EjWplJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZWtzdG92bmkgdm5vcyc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdQcml2emV0byB6YSBub3ZlIHByZWRsb2dlIGhpZXJhcmhpamUnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ1ByaXZ6ZXRvIHphIG5vdmUgcHJlZGxvZ2UgcHJlZ2xlZGEga2F0ZWdvcmlqJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdQcml2emV0byB6YSBub3ZlIHByZWRsb2dlIHBvZHJvYm5vc3RpJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnUHJpdnpldG8gemEgbm92ZSBwcmVkbG9nZSBwb3Z6ZXRrYSc7CiRsYW5nWyd0eXBlJ10gPSAnVGlwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1Bvc29kb2JpJzsKJGxhbmdbJ3VwbG9hZCddID0gJ0l6YmVyaXRlIGRhdG90ZWtvIHphIG5hbGFnYW5qZSc7CiRsYW5nWyd2YWxpZCddID0gJ1ZlbGphdm5vJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVnJlZG5vc3QnOwokbGFuZ1sndmFsdWVzJ10gPSAnVnJlZG5vc3RpJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ0xva2FjaWphIHZvZG5lZ2Egxb5pZ2EnOwokbGFuZ1snd2VpZ2h0J10gPSAnVGXFvmEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41ODc5NTkyNzcuMTIxNzQzMzU5NS4xMjIyNTg4MjE2LjEyMjY2NzcxNjcuMjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjIyNTg4MjE2LjIwLjExLnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zIG1hZGUgc2ltcGxlJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0wmYXVtbDtnZyB0aWxsJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTCZhdW1sO2dnIHRpbGwgZW4ga2F0ZWdvcmknOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdMJmF1bWw7Z2cgdGlsbCBldHQgZiZhdW1sO2x0JzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdKdXN0ZXJiYXInOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0wmYXVtbDtnZyB0aWxsIGVuIHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdMJmF1bWw7Z2cgdGlsbCBhdHRyaWJ1dCc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2llcmFuZGUgZiZhdW1sO2x0IG1lZCBrYXRlZ29yaTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnTCZhdW1sO2dnIHRpbGwgaGllcmFya2kgb2JqZWt0JzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdMJmF1bWw7Z2cgdGlsbCBldHQgYXR0cmlidXQgYWx0ZXJuYXRpdic7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnRGV0dGEgYXR0cmlidXQga2FuIGVuZGFzdCBzZXMgYXYgYWRtaW4/JzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnVG9wcGVuIHRpbGwgdiZhdW1sO25zdGVyJzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnVG9wcGVuIGNlbnRyZXJhdCc7CiRsYW5nWydhbGlnbl91ciddID0gJ1RvcHBlbiBoJm91bWw7Z2VyJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWl0dGVuIHRpbGwgdiZhdW1sO25zdGVyJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudHJlcmF0JzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWl0dGVuIHRpbGwgaCZvdW1sO2dlcic7CiRsYW5nWydhbGlnbl9sbCddID0gJ05lZGVyc3QgdGlsbCB2JmF1bWw7bnN0ZXInOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdOZWRlcnN0IENlbnRyZXJhdCc7CiRsYW5nWydhbGlnbl9sciddID0gJ05lZGVyc3QgdGlsbCBoJm91bWw7Z2VyJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxhIGthdGVnb3JpZXInOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlcj8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2ZXJrbGlnZW4gdmlsbCB0YSBib3J0IGRlbiBoJmF1bWw7ciBwcm9kdWt0ZW4sIG9jaCBhbGxhIGRlIGtvbXBsZXR0ZXJhbmRlIGluZm9ybWF0aW9uIGYmb3VtbDtyIGRlbj8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnU3RpZ2FuZGUnOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICdBdHRyaWJ1dCBuYW1uJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpc2t0JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFya2ltYWxsYXInOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTCZhdW1sO2dnIHRpbGwvUmVkaWdlcmEgSGllcmFya2ltYWxsJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllcic7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnRW4ga2F0ZWdvcmkgbWVkIGRldCBuYW1uZXQgZmlubnMgcmVkYW4nOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnS2F0ZWdvcmltYWxsYXInOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIGthdGVnb3JpbWFsbCc7CiRsYW5nWydjaGVja2JveCddID0gJ0tyeXNzcnV0YSc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCB0YSBib3J0IGRlbm5hIG5vZD8gQWxsYSBwcm9kdWt0ZXIgc29tIGFudiZhdW1sO25kZXIgZGVubmEgbm9kIGtvbW1lciBpbnRlIGF0dCB0aWxsaCZvdW1sO3JhIG4mYXJpbmc7Z29uIGhpZXJhcmtpJzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2ZXJrbGlnZW4gdmlsbCBnJm91bWw7cmEgZGV0dGE/IFwgbiBcIG5JbXByb3BlciBpbnN0JmF1bWw7bGxuaW5nYXIsIGVsbGVyIGVuIG9naWx0aWd0IGtvbmZpZ3VyYXRpb25zZmlsIGt1bmRlIGhlbHQgZiZvdW1sO3JkJmF1bWw7cnZhdCBmdW5nZXJhbmRlIHN5c3RlbS4nOwokbGFuZ1snY29weSddID0gJ0tvcGllcmEnOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ0tvcGllcmEgS2F0ZWdvcmknOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdTa2FwYWQgZGF0dW0nOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ051dmFyYW5kZSB2JmF1bWw7cmRlJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhICc7CiRsYW5nWydkZWZhdWx0J10gPSAnU3RhbmRhcmQnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkbWFsbGFyJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJ10gPSAnPHN0cm9uZz5Ob3Rpczo8L3N0cm9uZz4gSW5uZWgmYXJpbmc7bGxldCBpIGRlc3NhIHRleHQgb21yJmFyaW5nO2RlbiBhbnYmYXVtbDtuZHMgZiZvdW1sO3IgYXR0IGJlc3QmYXVtbDttbWEgc3RhbmRhcmRpbm5laCZhcmluZztsbCBhdiBkaW5hIG1hbGxhciBuJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7ICZxdW90O0wmYXVtbDtnZyB0aWxsIG1hbGwmcXVvdDsgaSBsJmF1bWw7bXBsaWcgbWFsbCBmbGlrLiBSZWRpZ2VyaW5nIGF2IGVuIHRleHQgaSBkZXNzYSBvbXImYXJpbmc7ZGVuIGtvbW1lciBhdHQgaGEgb21lZGVsYmFyIGVmZmVrdCBwJmFyaW5nOyBkaW4gd2ViYnBsYXRzLic7CiRsYW5nWydkZWxldGUnXSA9ICdSYWRlcmEnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ1JhZGVyYSBhdHRyaWJ1dCc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdSYWRlcmEgaGllcmFya2kgb2JqZWt0ZXQnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0ZhbGxhbmRlJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3Jpdm5pbmcnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFsamVyJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFsam1hbGwnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIGVuIGRldGFsam1hbGwnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdJbmFrdGl2ZXJhZCc7CiRsYW5nWydkcmFmdCddID0gJ1V0a2FzdCc7CiRsYW5nWydkcm9wZG93biddID0gJ05lZHJ1bGxuaW5nc2Jhcic7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnRHJvcGRvd24gVmFsIDxlbT4oZyZhdW1sO2xsZXIgZW5kYXN0IGYmb3VtbDtyIGRyb3Bkb3duIG9tciZhcmluZztkZW4pPC9lbT48YnIvPjxici8+PGVtPihlbiBwb3N0IHBlciByYWQpPC9lbT4nOwokbGFuZ1snZWRpdCddID0gJ1JlZGlnZXJhJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0J10gPSAnUmVkaWdlcmEgYXR0cmlidXQnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnUmVkaWdlcmEgYXR0cmlidXR1cHBzJmF1bWw7dHRuaW5nYXInOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ1JlZGlnZXJhIGF0dHJpYnV0dXBwcyZhdW1sO3R0bmluZ2FyIGYmb3VtbDtyJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ1JlZGlnZXJhIGF0dHJpYnV0ZXInOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1JlZGlnZXJhIGthdGVnb3JpJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnUmVkaWdlcmEga2F0ZWdvcmkgZiZhdW1sO2x0ZXQnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ1JlZGlnZXJhIGhpZXJha2kgb2JqZWt0ZXQnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0VuIGF0dHJpYnV0IG1lZCBkZXQgbmFtbmV0IGZpbm5zIHJlZGFuJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdGJmF1bWw7bHRldHMgdiZhdW1sO3JkZSBrYW4gaW50ZSB2YXJhIHRvbXQnOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ0ZpbGZvcm1hdHNwcm9ibGVtJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGVuIGhpdHRhZGVzIGludGUnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtIGF0dCAmb3VtbDtwcG5hIGZpbCUgcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0JiMwMzk7cyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdGJmF1bWw7bHRldHMgdiZhdW1sO3JkZSAmYXVtbDtyIG9naWx0aWcgKGlubmVoJmFyaW5nO2xsZXIgaWNrZSBhbGZhbnVtZXJpc2thIHRlY2tlbiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRW4gbiZvdW1sO2R2JmF1bWw7bmRpZyBwYXJhbWV0ZXIgc2FrbmFzIGVsbGVyICZhdW1sO3Igb2dpbHRpZyc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ0V0dCBvYmpla3QgbWVkIGRldCBuYW1uZXQgYW52JmF1bWw7bmRzIHJlZGFuJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnViZhdW1sO2xqIGYmYXVtbDtsdCB0eXAnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnRHUgbSZhcmluZztzdGUgdXBwZ2UgZXR0IG5hbW4nOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ05la2F0IHRpbGxzdCZhcmluZztuZCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnRW4gcHJvZHVrdCBtZWQgZGV0IG5hbW5ldCBmaW5ucyByZWRhbic7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnT2dpbHRpZyBwcmlzanVzdGVyaW5ncyB2JmF1bWw7cmRlIGYmb3VtbDtyIG9iamVrdGV0ICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdVcHBsYWRkbmluZ3MgZmVsOiAlcyc7CiRsYW5nWydleHRyYTEnXSA9ICdFeHRyYSBmJmF1bWw7bHQgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFeHRyYSBmJmF1bWw7bHQgMic7CiRsYW5nWydmaWVsZCddID0gJ0YmYXVtbDtsdCc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0YmYXVtbDtsdGRlZmluaXRpb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRiZhdW1sO2x0ZGVmaW5pdGlvbmVyJzsKJGxhbmdbJ2ZpbGUnXSA9ICdGaWwnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRlcic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnU3RhbmRhcmQgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2dvJ10gPSAnVmlkYXJlJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICYjMDM5O3RheGFibGUmIzAzOTsgb3Igbm90LjwvcD4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgZm9yIHVwIHRvIHR3byBpbWFnZXMgcGVyIHByb2R1Y3QsIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkZXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPg0KICAgIDx1bD4NCiAgICAgIDxsaT5TdW1tYXJ5IHZpZXc8L2xpPg0KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+DQogICAgICA8bGk+RGV0YWlsIHZpZXc8L2xpPiANCiAgICAgIDxsaT5IaWVyYXJjaHkgRHJpbGwtZG93biBWaWV3PC9saT4NCiAgICA8L3VsPg0KICA8bGk+RW50aXJlbHkgRGF0YWJhc2UgVGVtcGxhdGUgRHJpdmVuPC9saT4NCiAgPHA+TnVtZXJvdXMgdGVtcGxhdGVzIG9mIGVhY2ggdHlwZSBjYW4gYmUgZGVmaW5lZCwgZGVmYXVsdHMgc3BlY2lmaWVkIGZvciBlYWNoIHR5cGUsIGFuZCB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgZWFjaCBwYXJ0aWN1bGFyIHZpZXcgY2FuIGJlIHNwZWNpZmllZCBhcyBhIHBhcmFtZXRlcjwvcD4NCiAgPGxpPlNvcnRpbmcgYW5kIHBhZ2luYXRpb24gaW4gdGhlIHN1bW1hcnkgdmlldzwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gZXhpc3QgaW4gbXVsdGlwbGUgY2F0ZWdvcmllczwvbGk+DQogIDxsaT5OdW1lcm91cyBjdXN0b20gZmllbGRzIGNhbiBiZSBkZWZpbmVkLCBpbmNsdWRpbmcgaW1hZ2VzPC9saT4NCiAgPGxpPkF1dG9tYXRpYyB0aHVtYm5haWwgY3JlYXRpb248L2xpPg0KICA8bGk+QWRtaW4gZGVmaW5lZCBmaWVsZHM8L2xpPg0KICA8bGk+UHJvZHVjdCBhdHRyaWJ1dGVzIChpbmNsdWRpbmcgcHJpY2UgYWRqdXN0bWVudCk8L2xpPg0KICA8bGk+V2VpZ2h0IGFuZCB0YXhhYmxlIGZpZWxkcyAoZm9yIHVzZSBpbiBlLWNvbW1lcmNlIHNvbHV0aW9ucyk8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGhhdmUgYSBzdGF0dXMgKHB1Ymxpc2hlZCBvciBkcmFmdCkgaW4gb3JkZXIgdG8gaGlkZSBwcm9kdWN0cyBmcm9tIHB1YmxpYyBkaXNwbGF5IGF0IGFueSB0aW1lPC9saT4NCiAgPGxpPlByZXR0eSBVUkwgU3VwcG9ydDwvbGk+DQogIDxsaT48c3Ryb25nPk1vcmUuLi48L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHVsPg0KPGxpPlNldCBwcmVmZXJlbmNlczwvbGk+DQo8cD5Vc3VhbGx5IHRoaXMgaXMganVzdCBhIGZvcm1hbGl0eS4gIFlvdSBzaG91bGQgc3BlY2lmeSB5b3VyIGRlZmF1bHQgd2VpZ2h0IHVuaXRzLCBhbmQgeW91ciBkZWZhdWx0IGN1cnJlbmN5IHN5bWJvbCBmb3IgeW91ciBsb2NhbCBlbnZpcm9ubWVudC48L3A+DQo8bGk+U2V0dXAgdXNlcnMgYW5kIHBlcm1pc3Npb25zPC9saT4NCjxwPlRoaXMgbW9kdWxlIHVzZXMgdGhlICYjMDM5O01vZGlmeSBUZW1wbGF0ZXMmIzAzOTsgcGVybWlzc2lvbiB0byBhbGxvdyB1c2VycyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdmFyaW91cyB0ZW1wbGF0ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGlzIG1vZHVsZS4gIEFzIHdlbGwsIHRoZSAmIzAzOTtNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGFkanVzdCB0aGUgbW9kdWxlcyBwcmVmZXJlbmNlcy4gIEluIG9yZGVyIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8gbW9kaWZ5IGZpZWxkIGRlZmluaXRpb25zLCBjYXRlZ29yaWVzLCBvciBwcm9kdWN0cywgeW91ciB1c2VycyB3aWxsIG5lZWQgdGhlICYjMDM5O01vZGlmeSBQcm9kdWN0cyYjMDM5OyBwZXJtaXNzaW9uLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcCwgYnV0IHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gZG8gdGhpcyBlYXJseSB0byBwcmV2ZW50IGhhdmluZyB0byBnbyBiYWNrIHRvIG1vZGlmeSBlYWNoIGFuZCBldmVyeSBwcm9kdWN0IGxhdGVyLiAgQWRkaW5nIGEgY2F0ZWdvcnkgaXMgYXMgc2ltcGxlIGFzIGNsaWNraW5nIG9uIHRoZSAmIzAzOTtDYXRlZ29yaWVzJiMwMzk7IHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgJiMwMzk7QWRkIEEgQ2F0ZWdvcnkmIzAzOTsuICBGcm9tIHRoZXJlIHlvdSB3aWxsIGJlIHByb21wdGVkIGZvciBhIGNhdGVnb3J5IG5hbWUuPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLiAgQ3VzdG9tIGZpZWxkcyBhcmUgbm90IG5lZWRlZCBpZiB0aGlzIG1vZHVsZSBzdWl0cyB5b3UgZXhhY3RseSBhcyBpdCBpcy4gIEhvd2V2ZXIgaWYgeW91IHdvdWxkIGxpa2UgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBvZiB5b3VyIHByb2R1Y3RzIHlvdSBjYW4gY3JlYXRlIGN1c3RvbSBmaWVsZHMuICBDcmVhdGluZyBjdXN0b20gZmllbGRzIGlzIHNpbWlsYXIgdG8gY3JlYXRpbmcgY2F0ZWdvcmllcywgZXhjZXB0IHRoYXQgbW9yZSBkYXRhIGlzIHJlcXVlc3RlZC48L3A+DQo8cD5DdXJyZW50bHkgc2l4IHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZTogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEsIGRyb3Bkb3duLCBhbmQgZmlsZSYjMDM5Oy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4NCjxsaT5DcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHM8L2xpPg0KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+DQo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+DQo8cD5JZiBjdXN0b20gZmllbGRzIGFyZSBkZWZpbmVkLCB0aGVuIGlucHV0IGZpZWxkcyBhcHByb3ByaWF0ZSB0byB0aGUgdHlwZSBvZiBjdXN0b20gZmllbGQgd2lsbCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRhdGEgZm9yIGVhY2ggb2YgdGhlbS4gIFRoaXMgZGF0YSBpcyBvcHRpb25hbC48L3A+DQo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPg0KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPklmIHlvdSB3aXNoIHRvIGFsdGVyIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBhcHBsaWNhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LCB5b3UgY2FuIGRvIHRoYXQgYnkgYWRkaW5nIG9uZSBvciBtb3JlIHBhcmFtZXRlcnMgdG8gdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcuICBUaGUgY29tcGxldGUgbGlzdCBvZiBwYXJhbWV0ZXJzIGFuZCB0aGVpciBiZWhhdmlvdXIgaXMgbGlzdGVkIGJlbG93LiAgQnV0IGZvciBleGFtcGxlLCB0byBkaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0cyBpbiBhIHNpbmdsZSwgZXhpc3RpbmcgY2F0ZWdvcnksIHlvdSBjb3VsZCB1c2UgYSB0YWcgbGlrZSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7Y2F0ZWdvcnluYW1lJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMgb3IgdG8gZmlsZSBhIGJ1ZyByZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIG1hZGUgc2ltcGxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPkRldmVsb3BlcnMgRm9yZ2U8L2E+IGFuZCBkbyBhIHNlYXJjaCBmb3IgJiMwMzk7UHJvZHVjdHMmIzAzOTs8L2xpPg0KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcm1zLjwvYT48L2xpPg0KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFya2knOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFya2kgcG9zaXRpb24nOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdCaWxkJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnQmlsZGhhbnRlcmluZ3MgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ0ltcG9ydGVyYSBwcm9kdWt0ZXIgZnImYXJpbmc7biBDU1YtZmlsJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmtsdWRlcmEgY2hpbGRyZW4/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnRW5kYXN0IGFsZmFudW1lcmlza2EgdGVja2VuLiBJbmdhIGJsYW5rc3RlZywgY2l0YXR0ZWNrZW4gZWxsZXIgaWNrZSBza3JpdmVsc2UgLyBudW1tZXIga29tYmluYXRpb25lcic7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdWYXR0ZW5zdCZhdW1sO21wZWxzIGluc3QmYXVtbDtsbG5pbmdhcm5hICZhdW1sO3IgaCZhdW1sO210YWRlIGZyJmFyaW5nO24gQ0dFeHRlbnNpb25zIE1vZHVsZSc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ1NldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHByb2Nlc3MgcGVyICZxdW90O2JhdGNoJnF1b3Q7LiAgQWZ0ZXIgYSBiYXRjaCBpcyBjb21wbGV0ZSwgdGhlIGltcG9ydGVyIHdpbGwgcmVkaXJlY3QsIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIG1lbW9yeSBlcnJvcnMsIG9yIHRpbWVvdXQgcHJvYmxlbXMgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgcHJvY2Vzc2luZywgeW91IG1heSBuZWVkIHRvIGNvbnN1bHQgeW91ciBob3N0IHByb3ZpZGVyLCBvciByZWR1Y2UgdGhpcyBudW1iZXInOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdEZXNzYSBwYXJhbWV0cmFyIGZpbm5zIHRpbGwgZGVuIHZhbGRhIGt1bmR2YWduc21vZHVsZW4gZnImYXJpbmc7biBwcm9kdWt0ZGV0YWxqIG9jaCBzYW1tYW5mYXR0bmluZyc7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ1NrYXBhIGF1dG9tYXRpc2t0IGV0dCBvayZhdW1sO250IHByb2R1a3RmJmF1bWw7bHQ/IDxlbT4gKERlIGtvbW1lciBhdHQgc2thcGFzIHNvbSB0ZXh0ZiZhdW1sO2x0KSA8LyBlbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGlza3Qgc2thcGEgcHJvZHVrdGthdGVnb3JpZXIgZiZvdW1sO3IgYXR0IG1hdGNoYSBkZW0gaSBDU1YtZmlsZW4sIG9tIGRldCBpbnRlIHJlZGFuIGZpbm5zJzsKJGxhbmdbJ2luZm9fY3JlYXRlaGllcmFyY2h5J10gPSAnQXV0b21hdGlza3Qgc2thcGEgcHJvZHVrdCBoaWVyYXJraWVyIGYmb3VtbDtyIGF0dCBtYXRjaGEgZGVtIGkgQ1NWLWZpbGVuIG9tIGRldCBpbnRlIHJlZGFuIGZpbm5zJzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ0RldHRhIHN5c3RlbSBmJm91bWw7cnN0JmFyaW5nO3IgKC4pIHNvbSBkZWNpbWFsdGVja2Vuc2VwYXJhdG9yLiBkdnM6IDxzdHJvbmc+NSwyNTwvc3Ryb25nPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ0FuZ2Ugdmlsa2V0IHRlY2tlbiAoZWxsZXIgdGVja2VuKSBzb20gc2VwYXJlcmEgdmFyamUgZiZhdW1sO2x0JzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdBbmdlIGh1ciBzeXN0ZW1ldCBza2EgaGFudGVyYSBlbiBwcm9kdWt0IHZpbGtldHMgbmFtbiByZWRhbiBmaW5ucyBpIENTVi1maWxlbic7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk5vdGlzOiA8L3N0cm9uZz4gQWxsYSBmJmF1bWw7bHQgc29tIGRlZmluaWVyYXMgaCZhdW1sO3IgJmF1bWw7ciB0aWxsZyZhdW1sO25nbGlnYSBmJm91bWw7ciBhbGxhIHByb2R1a3Rlci4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbSB1cHBzdG9kIG4mYXVtbDtyIG1hbiBoYXIgYXR0IGcmb3VtbDtyYSBtZWQgZW4gZWxsZXIgZmxlcmEgZWduYSBmJmF1bWw7bHQuICZBcmluZzt0ZyZhdW1sO3JkZW4gJmF1bWw7ciBrbGFyLCBtZW4gZHUgYiZvdW1sO3IgdW5kZXJzJm91bWw7a2Egb2NoIHImYXVtbDt0dGEgdGlsbCBkZXNzYSBwcm9ibGVtJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnVGhlIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSkgd2hlcmUgaW1hZ2VzIHJlZmVycmVkIHRvIGluIHRoZSBpbXBvcnQgZmlsZSwgY2FuIGJlIGZvdW5kJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQSBicmllZiB0ZXN0IGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbnB1dCBmaWxlIHNwZWNpZmllZCwgYW5kIGV2ZXJ5dGhpbmcgYXBwZWFycyB0byBiZSBjb3JyZWN0Ljxici8+VGhpcyBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgZmlsZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnR2lsdGlnYSB2JmF1bWw7cmRlbiAmYXVtbDtyICstKiMuIyMnOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ09mZmVudGxpZ2EgZiZhdW1sO2x0IHNvbSAmYXVtbDtyIHRpbGxnJmF1bWw7bmdsaWdhIGYmb3VtbDtyIGFsbG0mYXVtbDtuaGV0ZW4gYXR0IHNlJzsKJGxhbmdbJ2xhYmVsJ10gPSAnRXRpa2V0dCc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnSG9wcGEgJm91bWw7dmVyJzsKJGxhbmdbJ2xhYmVsX292ZXJ3cml0ZSddID0gJ1Nrcml2ICZvdW1sO3Zlcic7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdTZW5hc3QgdXBwZGF0ZXJhZCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0FuZHJhIGJpbGQnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW1hbCBsJmF1bWw7bmdkIDxlbT4odGlsbCZhdW1sO21wYXMgZW5kYXN0IHAmYXJpbmc7IHRleHRydXRhbnMgb21yJmFyaW5nO2Rlbik8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICcmQXVtbDtuZHJhdCBkYXR1bSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdFbiBtb2R1bCBmJm91bWw7ciBhdHQgaGFudGVyYSBldHQgc29ydGltZW50IGF2IHByb2R1a3RlciwgZGVyYXMgcHJpcywgYmlsZGVyLCBldGMsIG9jaCBnJm91bWw7cmEgZGV0IG0mb3VtbDtqbGlndCBmJm91bWw7ciBhbnYmYXVtbDtuZGFyZSBhdHQgYnlnZ2EgZW4ga3VuZHZhZ24nOwokbGFuZ1snbmFtZSddID0gJ05hbW4nOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdEdSBoYXIgaW50ZSByJmF1bWw7dHRpZ2hldGVyIGYmb3VtbDtyOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ055dHQga2F0ZWdvcmluYW1uJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05laic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ0luZ2V0IG5hbW4gaGFyIHVwcGdldHRzJzsKJGxhbmdbJ25vbmUnXSA9ICdJbmdlbic7CiRsYW5nWydvZiddID0gJ0F2JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTaWRhJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTaWRhICVzIG9mICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdNYXggYW50YWwgc2lkb3InOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnQW52JmF1bWw7bmRiYXIgZW5kYXN0IG1lZCBrYXRlZ29yaWxpc3RhbnMgJmFyaW5nO3RnJmF1bWw7cmRlciwgZGVuIGgmYXVtbDtyIHBhcmFtZXRlcm4gYW5nZXIgZGVuIG1hbGwgc29tIHNrYSBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGh1ciBsaXN0YW4gc2thIHZpc2FzLiBPbSBpbmdldCB2JmF1bWw7cmRlIGFuZ2VzIGtvbW1lciBkZW4gbnV2YXJhbmRlIHN0YW5kYXJkbWFsbCBhdiBkZW5uYSB0eXAgYW52JmF1bWw7bmRhcy4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ0RldHRhIGFuZ2VyIHBhZ2VpZCBlbGxlciBhbGlhcyBzb20gYiZvdW1sO3IgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgdmlzYSBlbiBkZXRhbGogcmFwcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZW4gaCZhdW1sO3IgcGFyYW1ldGVybiBhbmdlciBkZW4gbWFsbCBzb20gc2thIGFudiZhdW1sO25kYXMgZiZvdW1sO3IgaHVyIGRldGFsai1sJmF1bWw7Z2UgdmlzYXMuIE9tIGluZ2V0IHYmYXVtbDtyZGUgYW5nZXMsIGQmYXJpbmc7IGtvbW1lciBkZW4gbnV2YXJhbmRlIHN0YW5kYXJkbWFsbCBhdiBkZW5uYSB0eXAgYXR0IGFudiZhdW1sO25kYXMuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnRGVuIGgmYXVtbDtyIHBhcmFtZXRlcm4gYW5nZXIgZGVuIG1hbGwgc29tIHNrYSBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGhpZXJhcmtpbiBkaXNwbGF5ZW4uIE9tIGluZ2V0IHYmYXVtbDtyZGUgYW5nZXMsIGQmYXJpbmc7IGtvbW1lciBkZW4gbnV2YXJhbmRlIHN0YW5kYXJkbWFsbCBhdiBkZW5uYSB0eXAgYXR0IGFudiZhdW1sO25kYXMuJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ0FudiZhdW1sO25kYmFyIGVuZGFzdCBtZWQgPGVtPiBzdGFuZGFyZCA8LyBlbT4gJmFyaW5nO3RnJmF1bWw7cmRlciwgZGVubmEgcGFyYW1ldGVyIGFuZ2VyIGh1ciBtJmFyaW5nO25nYSBvYmpla3Qgc2thIGFuZ2VzIHAmYXJpbmc7IHZhcmplIHNpZGEuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ0FudiZhdW1sO25kYmFyIGVuZGFzdCBpIDxlbT4gaGllcmFya2kgPC8gZW0+ICZhcmluZzt0ZyZhdW1sO3JkZXIsIGRlbm5hIHBhcmFtZXRlciBhbmdlciBoaWVyYXJraW4gaWQgYiZvdW1sO3JqYW5zIHBsYXRzIGkgcmFwcG9ydGVuLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdBbnYmYXVtbDtuZGJhciBlbmRhc3QgbWVkIGRldGFsaiAmYXJpbmc7dGcmYXVtbDtyZGVyLCBkZW4gaCZhdW1sO3IgcGFyYW1ldGVybiBhbmdlciB2aWxrZW4gcHJvZHVrdCBzb20gc2thIGFudiZhdW1sO25kYXMgZiZvdW1sO3IgdmlzbmluZy4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdEZW4gaCZhdW1sO3IgcGFyYW1ldGVybiBhbmdlciBkZW4gbWFsbCBzb20gc2thIGFudiZhdW1sO25kYXMgZiZvdW1sO3Igc2FtbWFuZmF0dG5pbmdzIGwmYXVtbDtnZS4gT20gaW5nZXQgdiZhdW1sO3JkZSBhbmdlcywgZCZhcmluZzsga29tbWVyIGRlbiBudXZhcmFuZGUgc3RhbmRhcmRtYWxsIGF2IGRlbm5hIHR5cCBhdHQgYW52JmF1bWw7bmRhcy4nOwokbGFuZ1sncGFyZW50J10gPSAnRiZvdW1sO3JlZyZhcmluZztlbmRlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUHJvZHVjdHMgbW9kdWxlbiAmYXVtbDtyIG51IGluc3RhbGxlcmFkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdQcm9kdWN0cyBtb2R1bGVuICZhdW1sO3IgbnUgYm9ydHRhZ2VuIHNhbXQgYWxsIHRpbGxoJm91bWw7cmFuZGUgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdHZW5vbSBhdHQgdGEgYm9ydCBkZW4gaCZhdW1sO3IgbW9kdWxlbiBzJmFyaW5nOyBrb21tZXIgb2NrcyZhcmluZzsgYXR0IGFsbCB0aWxsaCZvdW1sO3JhbmRlIGRhdGEgdGFzIGJvcnQsICZhdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCBmb3J0cyZhdW1sO3R0YT8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmlzJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQcmlzanVzdGVyaW5nJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVrdCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ1Byb2R1a3RuYW1uJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnUHJvZHVrdGVyJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVrdCBIaWVyYXJraSc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWt0IE1hbmFnZXInOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdGcmFtc3RlZyc7CiRsYW5nWydwcm9tcHQnXSA9ICdVcHBtYW5hJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1RpbGwmYXJpbmc7dCBhdHQgbGFkZGEgdXBwIGZpbGVyIG1lZCBkZXNzYSBmJm91bWw7cmwmYXVtbDtuZ25pbmdhciAoZiZvdW1sO3IgZmlsdHlwZW4gZiZhdW1sO2x0KSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnVGlsbCZhcmluZzt0IHVwcGxhZGRuaW5nIGF2IGJpbGRlciBtZWQgZGVzc2EgZmlsdCZhdW1sO25kZWxzZXIoZiZvdW1sO3IgYmlsZGYmYXVtbDtsdGVuKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0F1dG9tYXRpc2t0IHNrYXBhIHR1bW5hZ2VsYmlsZCAodGh1bWJuYWlsKSBhdiBiaWxkZXInOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01heGltYWwgc3RvcmxlayBwJmFyaW5nOyB0dW1uYWdlbGJpbGQgKHRodW1ibmFpbCknOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGlza3Qgc2thcGEgZiZvdW1sO3JoYW5kc2dyYW5za25pbmdzYmlsZGVyIGF2IGJpbGRlcic7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWdfc2l6ZSddID0gJ01heGltYWwgc3RvcmxlayBwJmFyaW5nOyBmJm91bWw7cmhhbmRzZ3JhbnNrbmluZ3NiaWxkJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGlza3QgcGxhY2VyYSB2YXR0ZW5tJmF1bWw7cmtlIHAmYXJpbmc7IGJpbGRlcic7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0FrdGl2ZXJhIGF1dG9tYXRpc2t0IGYmb3VtbDtyIGFsbGEgbnlhIHByb2R1a3Rlcic7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnUGFydGlzdG9ybGVrJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ0t1bmR2YWduc21vZHVsJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdQYXJhbWV0cmFyIGYmb3VtbDtyIEt1bmR2YWduc21vZHVsJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnU2thcGEga2F0ZWdvcmllcic7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnU2thcGEgcHJvZHVrdGYmYXVtbDtsdD8nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWhpZXJhcmNoeSddID0gJ1NrYXBhIHByb2R1a3RoaXJhcmtpJzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnTGFkZGEgdXBwIENTVi1maWwnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1ZhbHV0YWtvZCc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdWYWx1dGFzeW1ib2wnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfc3RhdHVzJ10gPSAnU29tIHN0YW5kYXJkIGhhciBhbGxhIG55YSBwcm9kdWt0ZXIgZGVubmEgc3RhdHVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdTb20gc3RhbmRhcmQgJmF1bWw7ciBhbGxhIG4geWEgcHJvZHVrdGVyIGJlc2thdHRuaW5nc2JhcmEnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ1RhIGJvcnQgYWxsYSBmaWxlciBpIHNhbWJhbmQgbWVkIHByb2R1a3RlbiBuJmF1bWw7ciBwcm9kdWt0ZW4gc2thbGwgcmFkZXJhcz8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0YmYXVtbDtsdCBhdmdyJmF1bWw7bnNhcmUnOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFyZCBkZXRhbGpzaWRhJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0h1ciBtYW4gaGFudGVyYXIgZHVwbGlrYXQgcHJvZHVrdGVyPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFudGVyYSBiaWxkZXI/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdCaWxkcyZvdW1sO2t2JmF1bWw7Zyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ1N0YW5kYXJkIHNvcnRlcmluZ3NvcmRuaW5nIGkgc2FtbWFuZHJhZ3MgbCZhdW1sO2dlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ1N0YW5kYXJkIHNvcnRlcmluZ3NvcmRuaW5nIGkgZiZhdW1sO2x0ZW5zIHNhbW1hbmRyYWdzIGwmYXVtbDtnZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdNYWxsZW5zIGsmYXVtbDtsbGEnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCBhdHQgYW52JmF1bWw7bmRhIHAmYXJpbmc7IGFsbGEgd2ViYmFkcmVzc2VyIHNvbSAmYXVtbDtyIGlucmlrdGFkIHAmYXJpbmc7IGRlbm5hIG1vZHVsZW4nOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnVmlrdCBlbmhldGVyJzsKJGxhbmdbJ3B1YmxpYyddID0gJyZBdW1sO3IgZGV0dGEgZXR0IG9mZmVudGxpZ3QgZiZhdW1sO2x0Pyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaWNlcmFkJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1NsdW1wdmlzJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnJkFyaW5nO3RlcnN0JmF1bWw7bGwgdGlsbCBmYWJyaWtzaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3JldHVybiddID0gJyZBcmluZzt0ZXJ2JmF1bWw7bmQnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJyZBcmluZzt0ZXJ2JmF1bWw7bmQgdGlsbCB0b3BwZW4nOwokbGFuZ1sncm9vdCddID0gJ1JPT1QnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1YmYXVtbDtsaiBlbic7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGVyYSc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGVyaW5nc29yZGVyJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snc3VibWl0J10gPSAnU3BhcmEnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1lcmluZ3NtYWxsYXInOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdMJmF1bWw7Z2cgdGlsbC9yZWRpZ2VyYSBlbiBzdW1tZXJpbmdzbWFsbCc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnQmVza2F0dG5pbmdzYmFyYSc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0LUFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQtSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmRoaWVyYXJraW1hbGwnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJka2F0ZWdvcmltYWxsJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZGRldGFsam1hbGwnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZHNhbW1hbmZhdHRuaW5nc21hbGwnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcHBkYXRlcmEnOwokbGFuZ1sndXBsb2FkJ10gPSAnViZhdW1sO2xqIGVuIGZpbCBzb20gc2thIGxhZGRhcyB1cHAnOwokbGFuZ1sndmFsaWQnXSA9ICdHaWx0aWcnOwokbGFuZ1sndmFsdWUnXSA9ICdWJmF1bWw7cmRlJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1YmYXVtbDtyZGVuJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1ZhdHRlbm0mYXVtbDtya2V0cyBwbGFjZXJpbmcnOwokbGFuZ1snd2VpZ2h0J10gPSAnVmlrdCc7CiRsYW5nWyd5ZXMnXSA9ICdKYT8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xOTM2MjUzMzQ5LjEyNTkyNzY1MjUuMTI2MDI4ODY1MS4xMjYwMzk5Njg5LjE3JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2MDIzNTc4MS4xNS4yLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9wcm9qZWN0L2NvZGUvMTV8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTc4MDQxMjI2NS0xMjU5Mjc2NTI2NDA2JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjYwMzk5Njg5JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0VrbGUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdLYXRlZ29yaSBFa2xlJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnQWxhbiBFa2xlJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdVeWFybGFuYWJpbGlyJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICcmVXVtbDtyJnV1bWw7biBFa2xlJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnTml0ZWxpayBFa2xlJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29jaWF0ZSBGaWVsZCB3aXRoIENhdGVnb3J5OiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdBZGQgSGllcmFyY2h5IEl0ZW0nOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ0FkZCBBdHRyaWJ1dGUgT3B0aW9uJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdDYW4gb25seSBhZG1pbnMgc2VlIHRoaXMgYXR0cmlidXRlPyc7CiRsYW5nWydhbGlnbl91bCddID0gJyZVdW1sO3N0IFNvbCc7CiRsYW5nWydhbGlnbl91YyddID0gJyZVdW1sO3N0IE9ydGEnOwokbGFuZ1snYWxpZ25fdXInXSA9ICcmVXVtbDtzdCBTYcSfJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnT3J0YSBTb2wnOwokbGFuZ1snYWxpZ25fbWMnXSA9ICdPcnRhJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnT3J0YSBTYcSfJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQWx0IFNvbCc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0FsdCBPcnRhJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQWx0IFNhxJ8nOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1QmdXVtbDttIEthdGVnb3JpbGVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgWW91IFN1cmU/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcHJvZHVjdCwgYW5kIGFsbCBvZiB0aGUgYWNjb21wYW55aW5nIGluZm9ybWF0aW9uIGZvciBpdD8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXRlIE5hbWUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZXMnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0EgY2F0ZWdvcnkgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbm9kZT8gIEFueSBwcm9kdWN0cyB0aGF0IGFyZSB1c2luZyB0aGlzIG5vZGUgd2lsbCBiZSBzZXQgdG8gbm8gaGllcmFyY2h5JzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBkbyB0aGlzP1xuXG5JbXByb3BlciBzZXR0aW5ncywgb3IgYW4gaW52YWxpZCBjb25maWcgZmlsZSBjb3VsZCBjb21wbGV0ZWx5IGNvcnJ1cHQgYSBjdXJyZW50bHkgdmFsaWQgYW5kIHdvcmtpbmcgc3lzdGVtLic7CiRsYW5nWydjb3B5J10gPSAnQ29weSc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29weSBDYXRlZ29yeSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgRGF0ZSc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnQ3VycmVudCBWYWx1ZSc7CiRsYW5nWydkYXRhJ10gPSAnRGF0YSc7CiRsYW5nWydkZWZhdWx0J10gPSAnRGVmYXVsdCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnRGVmYXVsdCBUZW1wbGF0ZXMnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBjb250ZW50cyBvZiB0aGVzZSB0ZXh0IGFyZWFzIGFyZSB1c2VkIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCBjb250ZW50IG9mIHRlbXBsYXRlcyB3aGVuIHlvdSBjbGljayAmcXVvdDtBZGQgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4gIEVkaXRpbmcgb25lIG9mIHRoZXNlIHRleHQgYXJlYXMgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24geW91ciB3ZWJzaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ0RlbGV0ZSBBdHRyaWJ1dGUnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnRGVsZXRlIEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kaW5nJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgQSBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEaXNhYmxlZCc7CiRsYW5nWydkcmFmdCddID0gJ0RyYWZ0JzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ0VkaXQgQXR0cmlidXRlJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ0VkaXQgQXR0cmlidXRlIFNldHMnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ0VkaXQgQXR0cmlidXRlIFNldHMgRm9yJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ0VkaXQgQXR0cmlidXRlcyc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdCBDYXRlZ29yeSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ0VkaXQgQ2F0ZWdvcnkgRmllbGRzJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdFZGl0IEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdBbiBhdHRyaWJ1dGUgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ1RoZSBGaWVsZCBWYWx1ZSBjYW5ub3QgYmUgZW1wdHknOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ0ZpbGUgRm9ybWF0IFByb2JsZW0nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBOb3QgRm91bmQnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtIG9wZW5pbmcgZmlsZSAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0JiMwMzk7cyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdUaGUgY3VzdG9tIGZpZWxkIHZhbHVlIGVudGVyZWQgaXMgaW52YWxpZCAoY29udGFpbnMgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1BsZWFzZSBzZWxlY3QgYSBmaWVsZCB0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1lvdSBtdXN0IHN1cHBseSBhIG5hbWUnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1Blcm1pc3Npb24gRGVuaWVkJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdBIHByb2R1Y3QgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdJbnZhbGlkIHByaWNlIGFkanVzdG1lbnQgdmFsdWUgZm9yIGl0ZW0gJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ1VwbG9hZCBmYWlsZWQ6ICVzJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0V4dHJhIEZpZWxkIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnRXh0cmEgRmllbGQgMic7CiRsYW5nWydmaWVsZCddID0gJ0ZpZWxkJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyc7CiRsYW5nWydmaWxlJ10gPSAnRmlsZSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnR2VuZXJhbCBTZXR0aW5ncyc7CiRsYW5nWydnbyddID0gJ0dvJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICYjMDM5O3RheGFibGUmIzAzOTsgb3Igbm90LjwvcD4NCiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgZm9yIHVwIHRvIHR3byBpbWFnZXMgcGVyIHByb2R1Y3QsIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkZXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPg0KICAgIDx1bD4NCiAgICAgIDxsaT5TdW1tYXJ5IHZpZXc8L2xpPg0KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+DQogICAgICA8bGk+RGV0YWlsIHZpZXc8L2xpPiANCiAgICAgIDxsaT5IaWVyYXJjaHkgRHJpbGwtZG93biBWaWV3PC9saT4NCiAgICA8L3VsPg0KICA8bGk+RW50aXJlbHkgRGF0YWJhc2UgVGVtcGxhdGUgRHJpdmVuPC9saT4NCiAgPHA+TnVtZXJvdXMgdGVtcGxhdGVzIG9mIGVhY2ggdHlwZSBjYW4gYmUgZGVmaW5lZCwgZGVmYXVsdHMgc3BlY2lmaWVkIGZvciBlYWNoIHR5cGUsIGFuZCB0aGUgdGVtcGxhdGUgdXNlZCBmb3IgZWFjaCBwYXJ0aWN1bGFyIHZpZXcgY2FuIGJlIHNwZWNpZmllZCBhcyBhIHBhcmFtZXRlcjwvcD4NCiAgPGxpPlNvcnRpbmcgYW5kIHBhZ2luYXRpb24gaW4gdGhlIHN1bW1hcnkgdmlldzwvbGk+DQogIDxsaT5Qcm9kdWN0cyBjYW4gZXhpc3QgaW4gbXVsdGlwbGUgY2F0ZWdvcmllczwvbGk+DQogIDxsaT5OdW1lcm91cyBjdXN0b20gZmllbGRzIGNhbiBiZSBkZWZpbmVkLCBpbmNsdWRpbmcgaW1hZ2VzPC9saT4NCiAgPGxpPkF1dG9tYXRpYyB0aHVtYm5haWwgY3JlYXRpb248L2xpPg0KICA8bGk+QWRtaW4gZGVmaW5lZCBmaWVsZHM8L2xpPg0KICA8bGk+UHJvZHVjdCBhdHRyaWJ1dGVzIChpbmNsdWRpbmcgcHJpY2UgYWRqdXN0bWVudCk8L2xpPg0KICA8bGk+V2VpZ2h0IGFuZCB0YXhhYmxlIGZpZWxkcyAoZm9yIHVzZSBpbiBlLWNvbW1lcmNlIHNvbHV0aW9ucyk8L2xpPg0KICA8bGk+UHJvZHVjdHMgY2FuIGhhdmUgYSBzdGF0dXMgKHB1Ymxpc2hlZCBvciBkcmFmdCkgaW4gb3JkZXIgdG8gaGlkZSBwcm9kdWN0cyBmcm9tIHB1YmxpYyBkaXNwbGF5IGF0IGFueSB0aW1lPC9saT4NCiAgPGxpPlByZXR0eSBVUkwgU3VwcG9ydDwvbGk+DQogIDxsaT48c3Ryb25nPk1vcmUuLi48L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPg0KPHVsPg0KPGxpPlNldCBwcmVmZXJlbmNlczwvbGk+DQo8cD5Vc3VhbGx5IHRoaXMgaXMganVzdCBhIGZvcm1hbGl0eS4gIFlvdSBzaG91bGQgc3BlY2lmeSB5b3VyIGRlZmF1bHQgd2VpZ2h0IHVuaXRzLCBhbmQgeW91ciBkZWZhdWx0IGN1cnJlbmN5IHN5bWJvbCBmb3IgeW91ciBsb2NhbCBlbnZpcm9ubWVudC48L3A+DQo8bGk+U2V0dXAgdXNlcnMgYW5kIHBlcm1pc3Npb25zPC9saT4NCjxwPlRoaXMgbW9kdWxlIHVzZXMgdGhlICYjMDM5O01vZGlmeSBUZW1wbGF0ZXMmIzAzOTsgcGVybWlzc2lvbiB0byBhbGxvdyB1c2VycyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdmFyaW91cyB0ZW1wbGF0ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGlzIG1vZHVsZS4gIEFzIHdlbGwsIHRoZSAmIzAzOTtNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGFkanVzdCB0aGUgbW9kdWxlcyBwcmVmZXJlbmNlcy4gIEluIG9yZGVyIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8gbW9kaWZ5IGZpZWxkIGRlZmluaXRpb25zLCBjYXRlZ29yaWVzLCBvciBwcm9kdWN0cywgeW91ciB1c2VycyB3aWxsIG5lZWQgdGhlICYjMDM5O01vZGlmeSBQcm9kdWN0cyYjMDM5OyBwZXJtaXNzaW9uLjwvcD4NCjxsaT4ob3B0aW9uYWwpIERlZmluZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzPC9saT4NCjxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcCwgYnV0IHlvdSB3aWxsIHByb2JhYmx5IHdhbnQgdG8gZG8gdGhpcyBlYXJseSB0byBwcmV2ZW50IGhhdmluZyB0byBnbyBiYWNrIHRvIG1vZGlmeSBlYWNoIGFuZCBldmVyeSBwcm9kdWN0IGxhdGVyLiAgQWRkaW5nIGEgY2F0ZWdvcnkgaXMgYXMgc2ltcGxlIGFzIGNsaWNraW5nIG9uIHRoZSAmIzAzOTtDYXRlZ29yaWVzJiMwMzk7IHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgJiMwMzk7QWRkIEEgQ2F0ZWdvcnkmIzAzOTsuICBGcm9tIHRoZXJlIHlvdSB3aWxsIGJlIHByb21wdGVkIGZvciBhIGNhdGVnb3J5IG5hbWUuPC9wPg0KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHM8L2xpPg0KPHA+VGhpcyBpcyBhbiBvcHRpb25hbCBzdGVwLiAgQ3VzdG9tIGZpZWxkcyBhcmUgbm90IG5lZWRlZCBpZiB0aGlzIG1vZHVsZSBzdWl0cyB5b3UgZXhhY3RseSBhcyBpdCBpcy4gIEhvd2V2ZXIgaWYgeW91IHdvdWxkIGxpa2UgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBvZiB5b3VyIHByb2R1Y3RzIHlvdSBjYW4gY3JlYXRlIGN1c3RvbSBmaWVsZHMuICBDcmVhdGluZyBjdXN0b20gZmllbGRzIGlzIHNpbWlsYXIgdG8gY3JlYXRpbmcgY2F0ZWdvcmllcywgZXhjZXB0IHRoYXQgbW9yZSBkYXRhIGlzIHJlcXVlc3RlZC48L3A+DQo8cD5DdXJyZW50bHkgc2l4IHR5cGVzIG9mIGN1c3RvbSBmaWVsZHMgYXJlIGF2YWlsYWJsZTogJiMwMzk7dGV4dGJveCYjMDM5OywmIzAzOTtjaGVja2JveCYjMDM5OyxhbmQgJiMwMzk7dGV4dGFyZWEsIGRyb3Bkb3duLCBhbmQgZmlsZSYjMDM5Oy4gIFNlbGVjdCBvbmUgb2YgdGhlc2UsIGdpdmUgeW91ciBuZXcgZmllbGQgYSBuYW1lLCBhbmQgaW5kaWNhdGUgd2V0aGVyIHRoYXQgZmllbGQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHB1YmxpYyBpbiB0aGUgdmFyaW91cyB2aWV3cy4gIFRoZW4gaGl0IHN1Ym1pdDwvcD4NCjxsaT5DcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHM8L2xpPg0KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+DQo8cD5JZiBjYXRlZ29yaWVzIGFyZSBkZWZpbmVkLCB0aGVuIGEgY2hlY2tib3ggd2lsbCBhcHBlYXIgZm9yIGVhY2ggZGVmaW5lZCBjYXRlZ29yeS4gIFlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBjaGVja2JveCBmaWVsZHMgZm9yIGVhY2ggY2F0ZWdvcnkgdGhhdCB0aGlzIHByb2R1Y3Qgc2hvdWxkIGJlbG9uZyB0by48L3A+DQo8cD5JZiBjdXN0b20gZmllbGRzIGFyZSBkZWZpbmVkLCB0aGVuIGlucHV0IGZpZWxkcyBhcHByb3ByaWF0ZSB0byB0aGUgdHlwZSBvZiBjdXN0b20gZmllbGQgd2lsbCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBzcGVjaWZ5IGRhdGEgZm9yIGVhY2ggb2YgdGhlbS4gIFRoaXMgZGF0YSBpcyBvcHRpb25hbC48L3A+DQo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPg0KPHA+VGhpcyBjYW4gYmUgYXMgc2ltcGxlIGFzIGFkZGluZyB0aGUgPHN0cm9uZz57UHJvZHVjdHN9PC9zdHJvbmc+IHRhZyBpbnRvIHRoZSBjb250ZW50IGFyZWEgb2Ygb25lIG9mIHlvdXIgcGFnZXMsIG9yIGludG8geW91ciBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPklmIHlvdSB3aXNoIHRvIGFsdGVyIHRoZSBiZWhhdmlvdXIgb2YgdGhpcyBhcHBsaWNhdGlvbiBmcm9tIGl0cyBkZWZhdWx0LCB5b3UgY2FuIGRvIHRoYXQgYnkgYWRkaW5nIG9uZSBvciBtb3JlIHBhcmFtZXRlcnMgdG8gdGhlIDxzdHJvbmc+e1Byb2R1Y3RzfTwvc3Ryb25nPiB0YWcuICBUaGUgY29tcGxldGUgbGlzdCBvZiBwYXJhbWV0ZXJzIGFuZCB0aGVpciBiZWhhdmlvdXIgaXMgbGlzdGVkIGJlbG93LiAgQnV0IGZvciBleGFtcGxlLCB0byBkaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0cyBpbiBhIHNpbmdsZSwgZXhpc3RpbmcgY2F0ZWdvcnksIHlvdSBjb3VsZCB1c2UgYSB0YWcgbGlrZSA8Y29kZT57UHJvZHVjdHMgY2F0ZWdvcnk9JiMwMzk7Y2F0ZWdvcnluYW1lJiMwMzk7fTwvY29kZT48L3A+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMgb3IgdG8gZmlsZSBhIGJ1ZyByZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIG1hZGUgc2ltcGxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPkRldmVsb3BlcnMgRm9yZ2U8L2E+IGFuZCBkbyBhIHNlYXJjaCBmb3IgJiMwMzk7UHJvZHVjdHMmIzAzOTs8L2xpPg0KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPlJvYmVydCBDYW1wYmVsbDwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcm1zLjwvYT48L2xpPg0KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPC91bD4nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2h5JzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmNoeSBQb3NpdGlvbic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0ltYWdlJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnSW1hZ2UgSGFuZGxpbmcgU2V0dGluZ3MnOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnSW1wb3J0IFByb2R1Y3RzIGZyb20gQ1NWIGZpbGUnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0luY2x1ZGUgQ2hpbGRyZW4/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnT25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gTm8gd2hpdGVzcGFjZSwgcXVvdGVzLCBvciBub24gbGV0dGVyL251bWJlciBjb21iaW5hdGlvbnMnOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnV2F0ZXJtYXJrIHNldHRpbmdzIGFyZSB0YWtlbiBmcm9tIHRoZSBDR0V4dGVuc2lvbnMgTW9kdWxlJzsKJGxhbmdbJ2luZm9fYmF0Y2hzaXplJ10gPSAnU2V0IHRoZSBudW1iZXIgb2YgbGluZXMgdG8gcHJvY2VzcyBwZXIgJnF1b3Q7YmF0Y2gmcXVvdDsuICBBZnRlciBhIGJhdGNoIGlzIGNvbXBsZXRlLCB0aGUgaW1wb3J0ZXIgd2lsbCByZWRpcmVjdCwgYW5kIHJlc3VtZSBvcGVyYXRpb25zLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgbWVtb3J5IGVycm9ycywgb3IgdGltZW91dCBwcm9ibGVtcyBkdWUgdG8gbGFyZ2UgYW1vdW50cyBvZiBwcm9jZXNzaW5nLCB5b3UgbWF5IG5lZWQgdG8gY29uc3VsdCB5b3VyIGhvc3QgcHJvdmlkZXIsIG9yIHJlZHVjZSB0aGlzIG51bWJlcic7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1RoZXNlIHBhcmFtZXRlcnMgYXJlIGdpdmVuIHRvIHRoZSBzZWxlY3RlZCBjYXJ0IG1vZHVsZSBmcm9tIHRoZSBwcm9kdWN0IGRldGFpbCBhbmQgc3VtbWFyeSBkaXNwbGF5cyc7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSB1bmtub3duIHByb2R1Y3QgZmllbGRzIGF1dG9tYXRpY2FsbHk/IDxlbT4oVGhleSB3aWxsIGJlIGNyZWF0ZWQgYXMgdGV4dCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJvZHVjdCBjYXRlZ29yaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSwgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgaGllcmFyY2hpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnVGhpcyBzeXN0ZW0gdW5kZXJzdGFuZHMgKC4pIGFzIHRoZSBkZWNpbWFsIHBvaW50IHNlcGFyYXRvci4gaS5lLjogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmeSB0aGUgY2hhcmFjdGVyIChvciBjaGFyYWN0ZXJzKSB0aGF0IHNlcGVyYXRlIGVhY2ggZmllbGQnOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZnkgaG93IHRoZSBzeXN0ZW0gc2hvdWxkIGhhbmRsZSBhIHByb2R1Y3Qgd2hvcyBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk5vdGU6IDwvc3Ryb25nPiBBbGwgRmllbGRzIGRlZmluZWQgaGVyZSBhcmUgYXZhaWxhYmxlIHRvIGFsbCBwcm9kdWN0cy4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbXMgd2VyZSBlbmNvdW50ZXJlZCB3aGVuIGRlYWxpbmcgd2l0aCBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzLiAgVGhlIGFjdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaG93ZXZlciB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCBjb3JyZWN0IHRoZXNlIHByb2JsZW1zJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnVGhlIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSkgd2hlcmUgaW1hZ2VzIHJlZmVycmVkIHRvIGluIHRoZSBpbXBvcnQgZmlsZSwgY2FuIGJlIGZvdW5kJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQSBicmllZiB0ZXN0IGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbnB1dCBmaWxlIHNwZWNpZmllZCwgYW5kIGV2ZXJ5dGhpbmcgYXBwZWFycyB0byBiZSBjb3JyZWN0Ljxici8+VGhpcyBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgZmlsZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnVmFsaWQgdmFsdWVzIGFyZSArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdQdWJsaWMgZmllbGRzIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBwdWJsaWMgdG8gc2VlJzsKJGxhbmdbJ2xhYmVsJ10gPSAnTGFiZWwnOwokbGFuZ1snbGFiZWxfc2tpcCddID0gJ1NraXAnOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnT3ZlcndyaXRlJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ0xhc3QgTW9kaWZpZWQnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdTZWNvbmQgSW1hZ2UnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSBsZW5ndGggPGVtPihhcHBsaWNhYmxlIG9ubHkgb24gdGV4dGJveCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnTW9kaWZpZWQgRGF0ZSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSBmb3IgbWFuYWdpbmcgYSBjYXRhbG9nIG9mIHByb2R1Y3RzLCB0aGVpciBwcmljZSwgaW1hZ2VzLCBldGMsIGFuZCBmb3IgYWxsb3dpbmcgdXNlcnMgdG8gYnVpbGQgYSBjYXJ0JzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHRoZSByZXF1aXJlZCBwZXJtaXNzaW9uOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05ldyBDYXRlZ29yeSBOYW1lJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSB3YXMgc3VwcGxpZWQnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snb2YnXSA9ICdPZic7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnZSAlcyBvZiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnZSBMaW1pdCc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgc3BlY2lmaWVzIHRoZSBwYWdlaWQgb3IgYWxpYXMgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTt0cnVja3MqJiMwMzk7fSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqdHJ1Y2tzJiMwMzk7fSB3aWxsIGRpc3BsYXkgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBhbmQgYWxsIHByb2R1Y3RzIGJlbG9naW5nIHRvIGFueSBwYXJlbnQgaW4gdGhlIGhpZXJhcmNoeS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdoYXQgcHJvZHVjdCB0byB1c2UgZm9yIHRoZSBkaXNwbGF5Lic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgb25seSBpbiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dCBwcm9kdWN0cy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5pZCAtLSBUaGUgcHJvZHVjdCBpZDwvbGk+DQogIDxsaT53ZWlnaHQgLS0gVGhlIHByb2R1Y3Qgd2VpZ2h0PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBwcm9kdWN0IGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyZW50J10gPSAnUGFyZW50JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgUHJvZHVjdHMgbW9kdWxlIGhhcyBiZWVuIHJlbW92ZWQgYWxvbmcgd2l0aCBhbGwgYXNzb2NpYXRlZCBkYXRhJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZpbmcgdGhpcyBtb2R1bGUgd2lsbCBhbHNvIHJlbW92ZSBhbGwgYXNzb2NpYXRlZCBkYXRhLCBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHJvY2VlZD8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmljZSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnUHJpY2UgQWRqdXN0bWVudCc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1Y3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWN0IE5hbWUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWN0cyc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ1Byb2R1Y3QgSGllcmFyY2h5JzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ1Byb2R1Y3QgTWFuYWdlcic7CiRsYW5nWydwcm9ncmVzcyddID0gJ1Byb2dyZXNzJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgZmlsZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBpbWFnZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgaW1hZ2UgdHlwZSBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgdGh1bWJuYWlscyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSB0aHVtYm5haWwuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByZXZpZXcgaW1hZ2VzIG9mIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWdfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSBwcmV2aWV3IGltYWdlLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ0F1dG9tYXRpY2FsbHkgcGxhY2Ugd2F0ZXJtYXJrcyBvbiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdFbmFibGUgYnkgZGVmYXVsdCBmb3IgYWxsIG5ldyBwcm9kdWN0cyc7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnQmF0Y2ggU2l6ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdDYXJ0IE1vZHVsZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnQ2FydCBNb2R1bGUgUGFyYW1ldGVycyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcyddID0gJ0NyZWF0ZSBDYXRlZ29yaWVzJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdDcmVhdGUgUHJvZHVjdCBGaWVsZHM/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdDcmVhdGUgUHJvZHVjdCBIaWVyYXJjaHknOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdVcGxvYWQgQ1NWIEZpbGUnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0N1cnJlbmN5IENvZGUnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnQ3VycmVuY3kgU3ltYm9sJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ0J5IGRlZmF1bHQgYWxsIG5ldyBwcm9kdWN0cyBoYXZlIHRoaXMgc3RhdHVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgcHJvZHVjdHMgYXJlIHRheGFibGUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0RlbGV0ZSBhbnkgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9kdWN0IHdoZW4gdGhlIHByb2R1Y3QgaXMgZGVsZXRlZD8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0ZpZWxkIERlbGltaXRlcic7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ0RlZmF1bHQgRGV0YWlsIFBhZ2UnOwokbGFuZ1sncHJvbXB0X2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnSG93IHRvIGhhbmRsZSBkdXBsaWNhdGUgcHJvZHVjdHM/JzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdIYW5kbGUgaW1hZ2VzPyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VwYXRoJ10gPSAnSW1hZ2UgUGF0aCc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ0RlZmF1bHQgU29ydCBPcmRlciBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnRGVmYXVsdCBTb3J0IEZpZWxkIGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBTb3VyY2UnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCB0byB1c2Ugb24gYWxsIFVSTFMgdGFyZ2V0ZWQgdG8gdGhpcyB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdXZWlnaHQgVW5pdHMnOwokbGFuZ1sncHVibGljJ10gPSAnSXMgdGhpcyBhIHB1YmxpYyBmaWVsZD8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnUHVibGlzaGVkJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Jlc2V0IHRvIEZhY3RvcnkgVmFsdWVzJzsKJGxhbmdbJ3JldHVybiddID0gJ1JldHVybic7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnUmV0dXJuIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXcnOwokbGFuZ1sncm9vdCddID0gJ1Jvb3QnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdCBPbmUnOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnQgT3JkZXInOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBBIFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1sndGF4YWJsZSddID0gJ1RheGFibGUnOwokbGFuZ1sndGVzdCddID0gJ1Rlc3QnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlY3QgYSBmaWxlIHRvIHVwbG9hZCc7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmFsdWUnOwokbGFuZ1sndmFsdWVzJ10gPSAnVmFsdWVzJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1dhdGVybWFyayBMb2NhdGlvbic7CiRsYW5nWyd3ZWlnaHQnXSA9ICdXZWlnaHQnOwokbGFuZ1sneWVzJ10gPSAnWWVzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuODk2MTg3NjMxLjEyMzY2NzYxMjEuMTI0MjkwNDA4OS4xMjQyOTEwMjIwLjI1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0MjkwNDA4OS4yNC45LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9wcm9qZWN0L2xpc3R8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.product_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgoKY2xhc3MgcHJvZHVjdF9vcHMKewogIHN0YXRpYyBwcml2YXRlIGZ1bmN0aW9uICZfZ2V0X2RiKCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICByZXR1cm4gJGRiOwogIH0KCgogIHN0YXRpYyBwcml2YXRlIGZ1bmN0aW9uICZfZ2V0X21vZHVsZSgpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJHJlcyA9IG51bGw7CiAgICBpZiggaXNzZXQoJGdDbXMtPm1vZHVsZXNbJ1Byb2R1Y3RzJ11bJ29iamVjdCddKSApCiAgICAgIHsKCSRyZXMgPSAkZ0Ntcy0+bW9kdWxlc1snUHJvZHVjdHMnXVsnb2JqZWN0J107CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gaXNfdmFsaWRfY2F0ZWdvcnkoJG5hbWUpCiAgewogICAgJGRiID0mIHNlbGY6Ol9nZXRfZGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgV0hFUkUgbmFtZSA9ID8nOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkbmFtZSkpOwogICAgaWYoICR0bXAgKSByZXR1cm4gVFJVRTsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzX3ZhbGlkX3Byb2R1Y3RfaWQoJHBpZCkKICB7CiAgICAkZGIgPSYgc2VsZjo6X2dldF9kYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgCiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkdG1wID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGlkKSk7CiAgICBpZiggJHRtcCApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfdmFsaWRfaGllcmFyY2h5KCRzdHIpCiAgewogICAgLy8gYWNjZXB0IHN0cmluZyBvZiAibmFtZS5uYW1lLm5hbWUubmFtZSIgYW5kIAogICAgLy8gY29udmVydCBpbnRvICJuYW1lIHwgbmFtZSB8IG5hbWUgfCBuYW1lIjsKICAgICR0bXAgPSBleHBsb2RlKCcuJywkc3RyKTsKICAgICR0bXAyID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCiAgICAgIHsKCSR0bXAyW10gPSB0cmltKHRyaW0oJG9uZSwnIicpKTsKICAgICAgfQogICAgJHRtcDMgPSBpbXBsb2RlKCcgfCAnLCR0bXAyKTsKCiAgICAkZGIgPSYgc2VsZjo6X2dldF9kYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgICAgIFdIRVJFIGxvbmdfbmFtZSA9ID8nOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdG1wMykpOwogICAgaWYoICEkdG1wICkgcmV0dXJuIEZBTFNFOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjaGVja19za3VfdXNlZCgkc2t1LCRwcm9kdWN0aWQgPSAnJywkcHJvZHVjdG9ubHkgPSBmYWxzZSkKICB7CiAgICAkZGIgPSYgc2VsZjo6X2dldF9kYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMKICAgICAgICAgICAgICAgV0hFUkUgc2t1ID0gPyc7CiAgICAkcGFybXMgPSBhcnJheSgkc2t1KTsKICAgIGlmKCAhZW1wdHkoJHByb2R1Y3RpZCkgKQogICAgICB7CgkkcXVlcnkgLj0gJyBBTkQgaWQgIT0gPyc7CgkkcGFybXNbXSA9ICRwcm9kdWN0aWQ7CiAgICAgIH0KICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksJHBhcm1zKTsKICAgIGlmKCAkdG1wICkgcmV0dXJuIFRSVUU7CgogICAgaWYoICEkcHJvZHVjdG9ubHkgKQogICAgICB7CgkkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzCiAgICAgICAgICAgICAgICAgICBXSEVSRSBza3UgPSA/JzsKCSR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHNrdSkpOwoJaWYoICR0bXAgKSByZXR1cm4gVFJVRTsKICAgICAgfQoKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGNoZWNrX2FsaWFzX3VzZWQoJGFsaWFzLCRwcm9kdWN0aWQgPSAnJykKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgJHBhcm1zW10gPSAkYWxpYXM7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cwogICAgICAgICAgICAgICBXSEVSRSBhbGlhcyA9ID8nOwogICAgaWYoICFlbXB0eSgkcHJvZHVjdGlkKSApCiAgICAgIHsKCSRxdWVyeSAuPSAnQU5EIGlkICE9ID8nOwoJJHBhcm1zW10gPSAoaW50KSRwcm9kdWN0aWQ7CiAgICAgIH0KICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksJHBhcm1zKTsKICAgIGlmKCAhJHRtcCApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVfYWxpYXMoJHByb2R1Y3RfbmFtZSkKICB7CiAgICAkc3RyID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcHJvZHVjdF9uYW1lKTsKICAgICRwb3N0Zml4ID0gJyc7CiAgICAKICAgIHdoaWxlKCAkcG9zdGZpeCA8IDEwMDAgKQogICAgICB7CgkkYWxpYXMgPSAkc3RyLiRwb3N0Zml4OwoJaWYoICFzZWxmOjpjaGVja19hbGlhc191c2VkKCRhbGlhcykgKSByZXR1cm4gJGFsaWFzOwoJaWYoICRwb3N0Zml4ID09ICcnICkgJHBvc3RmaXggPSAxOwoJJHBvc3RmaXgrKzsKICAgICAgfQoKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIHByZXR0eV91cmwoJHBpZCwkcmV0dXJuaWQgPSAnJykKICB7CiAgICAkbW9kdWxlID0gc2VsZjo6X2dldF9tb2R1bGUoKTsKICAgICRwcm9kdWN0ID0gJG1vZHVsZS0+R2V0UHJvZHVjdCgkcGlkKTsKICAgIGlmKCAhJHByb2R1Y3QgKSByZXR1cm47CiAgICAkZGIgPSAkbW9kdWxlLT5HZXREQigpOwogICAgCiAgICAkdXNlcmV0dXJuaWQgPSB0cnVlOyAgICAKICAgIGlmKCAkcmV0dXJuaWQgPT0gLTEgKQogICAgICB7CglnbG9iYWwgJGdDbXM7CgkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJJHJldHVybmlkID0gJGdDbXMtPkdldERlZmF1bHRDb250ZW50KCk7CiAgICAgIH0KICAgICRkZmx0cmV0dXJuaWQgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywtMSk7CiAgICBpZiggJGRmbHRyZXR1cm5pZCA9PSAkcmV0dXJuaWQgfHwgJHJldHVybmlkID09ICcnICkKICAgICAgewoJJHVzZXJldHVybmlkID0gZmFsc2U7CgkkcmV0dXJuaWQgPSAkZGZsdHJldHVybmlkOwogICAgICB9CgogICAgLy8gZ2V0IHRoZSBoaWVyYXJjaHkgaWQKICAgICRxdWVyeSA9ICdTRUxFQ1QgaGllcmFyY2h5X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIAogICAgICAgICAgICAgICBXSEVSRSBwcm9kdWN0X2lkID0gPyc7CiAgICAkaGllcl9pZCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcGlkKSk7CiAgICAKICAgICRwcmV0dHlfdXJsID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4JywkbW9kdWxlLT5HZXROYW1lKCkpOwogICAgJGRvbmUgPSBmYWxzZTsKICAgIGlmKCAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCd1c2VoaWVycGF0aHVybHMnLDApICYmICFlbXB0eSgkcHJvZHVjdFsnYWxpYXMnXSkgJiYgKCRoaWVyX2lkID4gMCkgKQogICAgICB7CgkkdG1wID0gJG1vZHVsZS0+R2V0SGllcmFyY2h5SW5mbygkaGllcl9pZCk7CglpZiggJHRtcCApCgkgIHsKCSAgICAkdG1wMiA9IGV4cGxvZGUoJyB8ICcsJHRtcFsnbG9uZ19uYW1lJ10pOwoJICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXAyKTsgJGkrKyApCgkgICAgICB7CgkJJHRtcDJbJGldID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdG1wMlskaV0pOwoJICAgICAgfQoJICAgICRwYXRoID0gaW1wbG9kZSgnLycsJHRtcDIpOwoKCSAgICBpZiggJHVzZXJldHVybmlkICkKCSAgICAgIHsKCQkkcHJldHR5X3VybCAuPSAiLyRyZXR1cm5pZCI7CgkgICAgICB9CgoJICAgIGlmKCAhZW1wdHkoJHBhdGgpICkKCSAgICAgIHsKCQkkcHJldHR5X3VybCAuPSAiL2RldGFpbHMvJHBhdGgiOwoJICAgICAgfQoKCSAgICAkcHJldHR5X3VybCAuPSAiLyIuJHByb2R1Y3RbJ2FsaWFzJ107CgkgICAgJGRvbmUgPSB0cnVlOwoJICB9CiAgICAgIH0KCiAgICBpZiggISRkb25lICkKICAgICAgewoJJHByZXR0eV91cmwgLj0gIi8kcGlkIjsKCWlmKCAkdXNlcmV0dXJuaWQgKQoJICB7CgkgICAgJHByZXR0eV91cmwgLj0gIi8kcmV0dXJuaWQiOwoJICB9CgkkYWxpYXMgPSAkcHJvZHVjdFsnYWxpYXMnXTsKCWlmKCBlbXB0eSgkYWxpYXMpICkKCSAgewoJICAgICRhbGlhcyA9ICRtb2R1bGUtPm1ha2VfYWxpYXMoJHByb2R1Y3RbJ3Byb2R1Y3RfbmFtZSddKTsKCSAgfQoJJHByZXR0eV91cmwgLj0gIi8kYWxpYXMiOwogICAgICB9CiAgICByZXR1cm4gJHByZXR0eV91cmw7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVfaGllcmFyY2h5X2JyZWFkY3J1bWIoJHByb2R1Y3RfaWQsICRoaWVycGFnZSwgJGRlbGltID0gJyAmZ3Q7ICcpCiAgewogICAgJG1vZHVsZSA9IHNlbGY6Ol9nZXRfbW9kdWxlKCk7CiAgICAkdG1wID0gYXJyYXkoKTsKICAgICRoaWVyYXJjaHlfcGF0aCA9ICRtb2R1bGUtPkdldFByb2R1Y3RIaWVyYXJjaHlQYXRoKCRwcm9kdWN0X2lkKTsKICAgIGlmKCAhJGhpZXJhcmNoeV9wYXRoICkgcmV0dXJuIGZhbHNlOwogICAgZm9yZWFjaCggJGhpZXJhcmNoeV9wYXRoIGFzICRvbmUgKQogICAgICB7CgkkaW5mbyA9ICRtb2R1bGUtPkdldEhpZXJhcmNoeUluZm8oJG9uZSk7CgkkbGluayA9ICRtb2R1bGUtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCdoaWVyYXJjaHknLCRoaWVycGFnZSwKCQkJCQkgICRpbmZvWyduYW1lJ10sYXJyYXkoJ3BhcmVudCc9PiRpbmZvWydpZCddKSk7CgkkdG1wW10gPSAkbGluazsKICAgICAgfQogICAgcmV0dXJuIGltcGxvZGUoJGRlbGltLCR0bXApOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlYXJjaF9yZXN1bHQoJHJldHVybmlkLCAkcHJvZHVjdGlkLCAkYXR0ciA9ICcnKQogIHsKICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgJG1vZCA9IHNlbGY6Ol9nZXRfbW9kdWxlKCk7CiAgICAKICAgIGlmICgkYXR0ciAhPSAncHJvZHVjdCcpCiAgICAgIHsKCXJldHVybiAkcmVzdWx0OwogICAgICB9CgogICAgaWYoICRtb2QtPkdldFByZWZlcmVuY2UoJ3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnLDApICkKICAgICAgewoJJHJldHVybmlkID0gJyc7CiAgICAgIH0KCiAgICAkZGIgPSYgJG1vZC0+R2V0RGIoKTsKICAgICRxID0gIlNFTEVDVCBwcm9kdWN0X25hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIFdIRVJFCgkJCSAgICAgIGlkID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHByb2R1Y3RpZCApICk7CiAgICBpZiAoJGRicmVzdWx0KQogICAgICB7Cgkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJCgkvLzAgcG9zaXRpb24gaXMgdGhlIHByZWZpeCBkaXNwbGF5ZWQgaW4gdGhlIGxpc3QgcmVzdWx0cy4KCSRyZXN1bHRbMF0gPSAkbW9kLT5HZXRGcmllbmRseU5hbWUoKTsKCQoJLy8xIHBvc2l0aW9uIGlzIHRoZSB0aXRsZQoJJHJlc3VsdFsxXSA9ICRyb3dbJ3Byb2R1Y3RfbmFtZSddOwoJCgkvLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuCgkkcHJldHR5dXJsID0gc2VsZjo6cHJldHR5X3VybCgkcHJvZHVjdGlkLCRyZXR1cm5pZCk7CgkkcmVzdWx0WzJdID0gJG1vZC0+Q3JlYXRlTGluaygnY250bnQwMScsICdkZXRhaWxzJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ3Byb2R1Y3RpZCcgPT4gJHByb2R1Y3RpZCkgLAoJCQkJICAgICAgJycsIHRydWUsIGZhbHNlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7CiAgICAgIH0KICAgIAogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoJCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2N1cnJlbmN5X3N5bWJvbCgpCiAgewogICAgaWYoIGNsYXNzX2V4aXN0cygnY2dfZWNvbW0nKSApCiAgICAgIHsKCXJldHVybiBjZ19lY29tbTo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpOwogICAgICB9CiAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX2N1cnJlbmN5c3ltYm9sJywnJCcpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3dlaWdodF91bml0cygpCiAgewogICAgaWYoIGNsYXNzX2V4aXN0cygnY2dfZWNvbW0nKSApCiAgICAgIHsKCXJldHVybiBjZ19lY29tbTo6Z2V0X3dlaWdodF91bml0cygpOwogICAgICB9CiAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX3dlaWdodHVuaXRzJywna2cnKTsKICB9Cn0gLy8gY2xhc3MKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokZmxkcyA9ICIKCWlkIEkgS0VZIEFVVE8sCglwcm9kdWN0X25hbWUgQygyNTUpIE5PVCBOVUxMLAoJZGV0YWlscyBYLAogICAgICAgIHByaWNlIEYsCgljcmVhdGVfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCW1vZGlmaWVkX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCiAgICAgICAgdGF4YWJsZSBJLAogICAgICAgIHN0YXR1cyBDKDUwKSwKICAgICAgICB3ZWlnaHQgRiwKICAgICAgICBza3UgICAgQygyNSksCiAgICAgICAgYWxpYXMgIEMoMjU1KQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMiLCAKCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgoJaWQgSSBLRVkgQVVUTywKCW5hbWUgQygyNTUpIE5PVCBOVUxMLAoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCiI7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKJGZsZHMgPSAiCglwcm9kdWN0X2lkIEkgTk9UIE5VTEwsCgljYXRlZ29yeV9pZCBJIE5PVCBOVUxMLAoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMiLCAKCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgogICAgICAgIGNhdGVnb3J5X2lkIEksCiAgICAgICAgZmllbGRfdHlwZSAgQygyMCksCiAgICAgICAgZmllbGRfbmFtZSAgQygyNTUpLAogICAgICAgIGZpZWxkX3Byb21wdCBDKDI1NSksCiAgICAgICAgZmllbGRfdmFsdWUgIFgKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKJGZsZHMgPSAiCglpZCBJIEtFWSBBVVRPLAoJbmFtZSBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgcHJvbXB0IEMoMjU1KSwKCXR5cGUgQyg1MCksCgltYXhfbGVuZ3RoIEksCiAgICAgICAgb3B0aW9ucyBYLAoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiLAogICAgICAgIGl0ZW1fb3JkZXIgSSwKICAgICAgICBwdWJsaWMgSQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIiwgCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgokZmxkcyA9ICIKCXByb2R1Y3RfaWQgSSwKCWZpZWxkZGVmX2lkIEksCgl2YWx1ZSBYLAoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMiLCAKCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgogICAgICAgIGF0dHJpYl9zZXRfaWQgSSBLRVkgQVVUTywKICAgICAgICBwcm9kdWN0X2lkIEkgS0VZLAogICAgICAgIGF0dHJpYl9zZXRfbmFtZSBDKDI1NSkgTk9UIE5VTEwKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMiLCAKCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgogICAgICAgIGF0dHJpYl9pZCBJIEtFWSBBVVRPLAogICAgICAgIGF0dHJpYl9zZXRfaWQgSSBLRVksCiAgICAgICAgYXR0cmliX3RleHQgICBDKDI1NSkgS0VZLAogICAgICAgIGF0dHJpYl9hZGp1c3RtZW50IEMoNTApLAogICAgICAgIHNrdSBDKDI1KQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKJGZsZHMgPSAiaWQgSSBLRVkgQVVUTywKICAgICAgICAgbmFtZSBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgIHBhcmVudF9pZCBJLAogICAgICAgICBoaWVyYXJjaHkgQygyNTUpLAogICAgICAgICBpbWFnZSBDKDI1NSksCiAgICAgICAgIGxvbmdfbmFtZSBYLAogICAgICAgICBkZXNjcmlwdGlvbiBYLAogICAgICAgICBleHRyYTEgQygyNTUpLAogICAgICAgICBleHRyYTIgQygyNTUpIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeScsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gInByb2R1Y3RfaWQgSSBLRVksCiAgICAgICAgIGhpZXJhcmNoeV9pZCBJIEtFWSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyJywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIwojIEluZGV4ZXMKIwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywncHJvZHVjdF9uYW1lJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19zdGF0dXMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywncHJvZHVjdF9zdGF0dXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX3ByaWNlJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ3Byb2R1Y3RfcHJpY2UnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2RhdGVzJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ2NyZWF0ZV9kYXRlLG1vZGlmaWVkX2RhdGUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2NhdF9uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzJywnbmFtZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfcHJvZF9jYXQnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcycsJ3Byb2R1Y3RfaWQsY2F0ZWdvcnlfaWQnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2NhdF9wcm9kJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMnLCdjYXRlZ29yeV9pZCxwcm9kdWN0X2lkJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19jYXRfZmxkX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcycsJ2NhdGVnb3J5X2lkLGZpZWxkX25hbWUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2ZsZGRlZl9uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMnLCduYW1lJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19mbGRkZWZfdHlwZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzJywndHlwZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZmxkdmFsX3Byb2RfZGVmJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsdmFscycsJ3Byb2R1Y3RfaWQsZmllbGRkZWZfaWQnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2ZsZHZhbF9kZWZfcHJvZCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbHZhbHMnLCdmaWVsZGRlZl9pZCxwcm9kdWN0X2lkJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeScsJ25hbWUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywnbmFtZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfaGllcl9wYXJlbnQnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeScsJ3BhcmVudF9pZCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfaGllcl9sb25nbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywnbG9uZ19uYW1lJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX2hpZXJhcmNoeScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywnaGllcmFyY2h5Jyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ3Byb2R1Y3RfYWxpYXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCgojCiMgVGVtcGxhdGVzCiMKCgojIFNldHVwIHN1bW1hcnkgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc3VtbWFyeV9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFNldHVwIGRldGFpbCB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGV0YWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVERFVEFJTF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBTZXR1cCBkZWZhdWx0IGhpZXJhcmNoeSByZXBvcnQgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19ieWhpZXJhcmNoeV90ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdCWUhJRVJBUkNIWV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdieWhpZXJhcmNoeV9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRCWUhJRVJBUkNIWV9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBTZXR1cCBkZWZhdWx0IGNhdGVnb3J5IGxpc3QgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19jYXRlZ29yeWxpc3RfdGVtcGxhdGUudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQ0FURUdPUllMSVNUX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGVnb3J5bGlzdF9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRDQVRFR09SWUxJU1RfVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCgojU2V0IFBlcm1pc3Npb24KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycsICdNb2RpZnkgUHJvZHVjdHMnKTsKCiNQcmVmZXJlbmNlcwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfY3VycmVuY3lzeW1ib2wnLCckJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kdWN0c193ZWlnaHR1bml0cycsJ2tnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ltYWdldHlwZXMnLCdqcGcsanBlZyxnaWYscG5nJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ZpbGV0eXBlcycsJ3BkZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b3RodW1ibmFpbCcsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWxldGVwcm9kdWN0ZmlsZXMnLDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2FydG1vZHVsZXBhcmFtcycsJ3Byb2R1Y3Q9JGVudHJ5LT5pZCcpOwoKLy8gZmluZCBhIGNhcnQgbW9kdWxlCiRtb2R1bGVzID0mICRnQ21zLT5tb2R1bGVzOwpmb3JlYWNoKCAkbW9kdWxlcyBhcyAkb25lICkKewogIGlmKCAhaXNzZXQoJG9uZVsnb2JqZWN0J10pICkgY29udGludWU7CiAgJG9iaiA9JiAkb25lWydvYmplY3QnXTsKICBpZiggIWlzX29iamVjdCgkb2JqKSApIGNvbnRpbnVlOwogIGlmKCAhbWV0aG9kX2V4aXN0cygkb2JqLCdJc0NhcnRNb2R1bGUnKSApIGNvbnRpbnVlOwogIGlmKCAhJG9iai0+SXNDYXJ0TW9kdWxlKCkgKSBjb250aW51ZTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2FydG1vZHVsZScsJG9iai0+R2V0TmFtZSgpKTsKICBicmVhazsKfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0mICR0aGlzLT5HZXREYigpOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0cyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3J5X2ZpZWxkcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKc3dpdGNoKCAkb2xkdmVyc2lvbiApCiAgewogIGNhc2UgJzEuMCc6CiAgY2FzZSAnMS4wLjEnOgogICAgewogICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCiAgICAgICRmbGRzID0gIgogICAgICAgIGF0dHJpYl9zZXRfaWQgSSBLRVkgQVVUTywKICAgICAgICBwcm9kdWN0X2lkIEkgS0VZLAogICAgICAgIGF0dHJpYl9zZXRfbmFtZSBDKDI1NSkKICAgICAgIjsKICAgICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMiLCAKCQkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICAgJGZsZHMgPSAiCiAgICAgICAgYXR0cmliX3NldF9pZCBJIEtFWSwKICAgICAgICBhdHRyaWJfdGV4dCAgIEMoMjU1KSBLRVksCiAgICAgICAgYXR0cmliX2FkanVzdG1lbnQgQyg1MCkKICAgICAgIjsKICAgICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMiLCAKCQkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgfQoKCiAgY2FzZSAnMi4wJzoKICBjYXNlICcyLjAuMSc6CiAgY2FzZSAnMi4wLjInOgogICAgewogICAgICAkZGIgPSYgJHRoaXMtPkdldERiKCk7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCiAgICAgICRmbGRzID0gIgogICAgICAgICAgY2F0ZWdvcnlfaWQgSSwKICAgICAgICAgIGZpZWxkX3R5cGUgIEMoMjApLAogICAgICAgICAgZmllbGRfbmFtZSAgQygyNTUpLAogICAgICAgICAgZmllbGRfcHJvbXB0IEMoMjU1KSwKICAgICAgICAgIGZpZWxkX3ZhbHVlICBYCiAgICAgICI7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMiLCAKCSAgICAgJGZsZHMsICR0YWJvcHRhcnJheSk7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgIH0KCiAgY2FzZSAnMi4xJzoKICAgIHsKICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMnOwogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAgICRkYXRhID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzJyk7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgICAgICRmbGRzID0gIgogICAgICAgIGF0dHJpYl9pZCBJIEtFWSBBVVRPLAogICAgICAgIGF0dHJpYl9zZXRfaWQgSSwKICAgICAgICBhdHRyaWJfdGV4dCAgIEMoMjU1KSwKICAgICAgICBhdHRyaWJfYWRqdXN0bWVudCBDKDUwKQogICAgICAiOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzCiAgICAgICAgICAgICAgICAoYXR0cmliX3NldF9pZCwgYXR0cmliX3RleHQsIGF0dHJpYl9hZGp1c3RtZW50KQogICAgICAgICAJICAgIFZBTFVFUyAoPyw/LD8pJzsKICAgICAgZm9yZWFjaCggJGRhdGEgYXMgJG9uZSApCiAgICAgIHsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAogICAgICAgICAgIGFycmF5KCRvbmVbJ2F0dHJpYl9zZXRfaWQnXSwkb25lWydhdHRyaWJfdGV4dCddLCRvbmVbJ2F0dHJpYl9hZGp1c3RtZW50J10pKTsKICAgICAgfQogICAgfQogCiAgY2FzZSAnMi4xLjInOgoJewoJICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2FydG1vZHVsZXBhcmFtcycsJ3Byb2R1Y3Q9JGVudHJ5LT5pZCcpOwoKCSAgLy8gZmluZCBhIGNhcnQgbW9kdWxlCgkgICRtb2R1bGVzID0mICRnQ21zLT5tb2R1bGVzOwoJICAkZm91bmQgPSBmYWxzZTsKCSAgZm9yZWFjaCggJG1vZHVsZXMgYXMgJG9uZSApCgkJewoJCSAgaWYoICFpc3NldCgkb25lWydvYmplY3QnXSkgKSBjb250aW51ZTsKCQkgICRvYmogPSYgJG9uZVsnb2JqZWN0J107CgkJICBpZiggIWlzX29iamVjdCgkb2JqKSApIGNvbnRpbnVlOwoJCSAgaWYoICFtZXRob2RfZXhpc3RzKCRvYmosJ0lzQ2FydE1vZHVsZScpICkgY29udGludWU7CgkJICBpZiggISRvYmotPklzQ2FydE1vZHVsZSgpICkgY29udGludWU7CgkJICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2FydG1vZHVsZScsJG9iai0+R2V0TmFtZSgpKTsKCQkgICRmb3VuZCA9IHRydWU7CgkJICBicmVhazsKCQl9CgkgIGlmKCAkZm91bmQgPT09IGZhbHNlICkKCQl7CgkJICAvLyBTZXQgYSBkZWZhdWx0IGNhcnQgbW9kdWxlIHRvICdOb25lJy4uLiBqdXN0IGluIGNhc2UKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYXJ0bW9kdWxlJywtMSk7CgkJfQoJICAKCSAgJG5ld25hbWUgPSBzdHJfcmVwbGFjZSgnLicsJ18nLCd1cGdyYWRlX3RvXycuJHRoaXMtPkdldFZlcnNpb24oKSk7CgkgIAoJICAvLyBzZXR1cCBhIG5ldyBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUuCgkgIC8vIGJ1dCBkb24ndCBkZXN0cm95IGFueSBvdGhlcnMuCgkgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnKTsKCSAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCSAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwoJCSAgJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5XycuJG5ld25hbWUsJHRlbXBsYXRlKTsKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVFNVTU1BUllfVEVNUExBVEUsJG5ld25hbWUpOwoJCX0KCgkgIC8vIHNldHVwIGEgbmV3IGRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlLgoJICAvLyBidXQgZG9uJ3QgZGVzdHJveSBhbnkgb3RoZXJzLgoJICAkZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnKTsKCSAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCSAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwoJCSAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfJy4kbmV3bmFtZSwkdGVtcGxhdGUpOwoJCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUREVUQUlMX1RFTVBMQVRFLCRuZXduYW1lKTsKCQl9CgoJICAvLyBzZXR1cCBhIG5ldyBkZWZhdWx0IGJ5aGllcmFyY2h5IHRlbXBsYXRlLgoJICAvLyBidXQgZG9uJ3QgZGVzdHJveSBhbnkgb3RoZXJzLgoJICAkZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2J5aGllcmFyY2h5X3RlbXBsYXRlLnRwbCcpOwoJICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CgkJICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2J5aGllcmFyY2h5XycuJG5ld25hbWUsJHRlbXBsYXRlKTsKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVEJZSElFUkFSQ0hZX1RFTVBMQVRFLCRuZXduYW1lKTsKCQl9CgoJICAvLyBzZXR1cCBhIG5ldyBkZWZhdWx0IGNhdGVnb3J5bGlzdCB0ZW1wbGF0ZS4KCSAgLy8gYnV0IGRvbid0IGRlc3Ryb3kgYW55IG90aGVycy4KCSAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19jYXRlZ29yeWxpc3RfdGVtcGxhdGUudHBsJyk7CgkgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCXsKCQkgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKCQkgICR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0XycuJG5ld25hbWUsJHRlbXBsYXRlKTsKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVENBVEVHT1JZTElTVF9URU1QTEFURSwkbmV3bmFtZSk7CgkJfQoKCX0gLy8gMi4xLjEKCiAgY2FzZSAnMi4yJzoKICBjYXNlICcyLjIuMSc6CiAgY2FzZSAnMi4yLjInOgogIGNhc2UgJzIuMi4zJzoKICBjYXNlICcyLjIuNCc6Cgl7CiAgICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ3Byb2R1Y3RfbmFtZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfc3RhdHVzJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ3Byb2R1Y3Rfc3RhdHVzJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19wcmljZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMnLCdwcm9kdWN0X3ByaWNlJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19kYXRlcycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMnLCdjcmVhdGVfZGF0ZSxtb2RpZmllZF9kYXRlJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19jYXRfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcycsJ25hbWUnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX3Byb2RfY2F0JyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMnLCdwcm9kdWN0X2lkLGNhdGVnb3J5X2lkJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19jYXRfcHJvZCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzJywnY2F0ZWdvcnlfaWQscHJvZHVjdF9pZCcpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfY2F0X2ZsZF9uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMnLCdjYXRlZ29yeV9pZCxmaWVsZF9uYW1lJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19mbGRkZWZfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzJywnbmFtZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZmxkZGVmX3R5cGUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcycsJ3R5cGUnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2ZsZHZhbF9wcm9kX2RlZicsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbHZhbHMnLCdwcm9kdWN0X2lkLGZpZWxkZGVmX2lkJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19mbGR2YWxfZGVmX3Byb2QnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWx2YWxzJywnZmllbGRkZWZfaWQscHJvZHVjdF9pZCcpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfaGllcl9uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCduYW1lJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeScsJ25hbWUnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfcGFyZW50JyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCdwYXJlbnRfaWQnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfbG9uZ25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeScsJ2xvbmdfbmFtZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfaGllcl9oaWVyYXJjaHknLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeScsJ2hpZXJhcmNoeScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSIsICJleHRyYTEgQygyNTUpLGV4dHJhMiBDKDI1NSkiKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCX0KCiAgY2FzZSAnMi4zJzoKICBjYXNlICcyLjMuMSc6Cgl7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbF9zaXplJyw3NSk7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvcHJldmlld2ltZycsMCk7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3ByZXZpZXdpbWdfc2l6ZScsMTUwKTsKCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VybHByZWZpeCcsJ3Byb2R1Y3RzJyk7Cgl9CgogIGNhc2UgJzIuNCc6CiAgY2FzZSAnMi40LjEnOgogIGNhc2UgJzIuNC4yJzoKICBjYXNlICcyLjQuMyc6CiAgY2FzZSAnMi40LjQnOgogIGNhc2UgJzIuNC41JzoKICBjYXNlICcyLjQuNic6CiAgY2FzZSAnMi40LjcnOgogIGNhc2UgJzIuNC44JzoKCXsKICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIiwgInNrdSBDKDI1KSIpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMiLCAic2t1IEMoMjUpIik7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCX0KCiAgY2FzZSAnMi41JzoKCXsKICAgICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIiwgImFsaWFzIEMoMjU1KSIpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywncHJvZHVjdF9hbGlhcycpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJfQogIH0KCi8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/Products.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKJGNnZXh0ZW5zaW9ucyA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLAoJCQkgICAgICAnQ0dFeHRlbnNpb25zJywnQ0dFeHRlbnNpb25zLm1vZHVsZS5waHAnKTsKaWYoICFpc19yZWFkYWJsZSggJGNnZXh0ZW5zaW9ucyApICkKewogIGVjaG8gJzxoMT48Zm9udCBjb2xvcj0icmVkIj5FUlJPUjogVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kLjwvZm9udD48L2gxPic7CiAgcmV0dXJuOwp9CnJlcXVpcmVfb25jZSgkY2dleHRlbnNpb25zKTsKCmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFJywncHJvZHVjdHNfcHJlZl9uZXdzdW1tYXJ5X3RlbXBsYXRlJyk7CmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURScsJ3Byb2R1Y3RzX3ByZWZfZGZsdHN1bW1hcnlfdGVtcGxhdGUnKTsKZGVmaW5lKCdQUk9EVUNUU19QUkVGX05FV0RFVEFJTF9URU1QTEFURScsJ3Byb2R1Y3RzX3ByZWZfbmV3ZGV0YWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ERkxUREVUQUlMX1RFTVBMQVRFJywncHJvZHVjdHNfcHJlZl9kZmx0ZGV0YWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ORVdDQVRFR09SWUxJU1RfVEVNUExBVEUnLCdwcm9kdWN0c19wcmVmX25ld2NhdGVnb3J5bGlzdF90ZW1wbGF0ZScpOwpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfREZMVENBVEVHT1JZTElTVF9URU1QTEFURScsJ3Byb2R1Y3RzX3ByZWZfZGZsdGNhdGVnb3J5bGlzdF90ZW1wbGF0ZScpOwpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfTkVXQllISUVSQVJDSFlfVEVNUExBVEUnLCdwcm9kdWN0c19wcmVmX25ld2J5aGllcmFyY2h5X3RlbXBsYXRlJyk7CmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ERkxUQllISUVSQVJDSFlfVEVNUExBVEUnLCdwcm9kdWN0c19wcmVmX2RmbHRieWhpZXJhcmNoeV90ZW1wbGF0ZScpOwoKY2xhc3MgUHJvZHVjdHMgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewogIHZhciAkX3Byb2R1Y3RfY2FjaGU7CiAgdmFyICRfaGllcmFyY2h5X2NhY2hlOwogIHZhciAkX2NhdGVnb3J5X2NhY2hlOwogIHZhciAkX2FkbWluX2xvYWRlZDsKICB2YXIgJF9jb21tb25fbG9hZGVkOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCSR0aGlzLT5fcHJvZHVjdF9jYWNoZSA9IGFycmF5KCk7CgkkdGhpcy0+X2hpZXJhcmNoeV9jYWNoZSA9IGFycmF5KCk7CgkkdGhpcy0+X2NhdGVnb3J5X2NhY2hlID0gYXJyYXkoKTsKCSR0aGlzLT5fYWRtaW5fbG9hZGVkID0gZmFsc2U7CgkkdGhpcy0+X2NvbW1vbl9sb2FkZWQgPSBmYWxzZTsKCiAgICBnbG9iYWwgJGdDbXM7CiAgICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKCSRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdwcm9kdWN0c19nZXRjYXRlZ29yeScsCgkJCQkJCQkgICBhcnJheSgkdGhpcywnX3NtYXJ0eV9wcm9kdWN0c19nZXRjYXRlZ29yeScpKTsKICB9CgogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKCXJldHVybiAnUHJvZHVjdHMnOwogIH0KCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ3Byb2R1Y3RfbWFuYWdlcicpOwogIH0KCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CglyZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucyc9PicxLjE4LjEnLAoJCSAnQ0dTaW1wbGVTbWFydHknPT4nMS40LjQnKTsKICB9CgogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKQogIHsKCXJldHVybiBGQUxTRTsKICB9CgogIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKQogIHsKCXJldHVybiBGQUxTRTsKICB9CgogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CglyZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CglyZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKCXJldHVybiAnMi42JzsKICB9CgogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKICB7CglyZXR1cm4gJzEuNi42JzsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKCXJldHVybiAkdGhpcy0+TGFuZygnbW9kdWxlX2Rlc2NyaXB0aW9uJyk7CiAgfQoKICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKCSAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEhlYWRlckhUTUwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKQogIHsKICAgICRvYmogPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdKUXVlcnlUb29scycpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSApCiAgICAgIHsKJHRtcGwgPSA8PDxFT1QKe0pRdWVyeVRvb2xzIGFjdGlvbj0naW5janMnIGV4Y2x1ZGU9J2Zvcm0nfQp7SlF1ZXJ5VG9vbHMgYWN0aW9uPSdyZWFkeSd9CkVPVDsKICAgICAgICByZXR1cm4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0bXBsKTsKICAgICAgfQogIH0JCgoKICBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKICB7CgkkdGhpcy0+QWRkSW1hZ2VEaXIoJ2ljb25zJyk7CgoJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CgkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywnZGVmYXVsdCcsJHRoaXMtPkxhbmcoJ3BhcmFtX2FjdGlvbicpKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwcm9kdWN0aWQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9wcm9kdWN0aWQnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncHJvZHVjdGlkJyxDTEVBTl9JTlQpOwoKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHBhZ2UnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9kZXRhaWxwYWdlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLENMRUFOX1NUUklORyk7CgoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2F0ZWdvcnlsaXN0dGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeWxpc3R0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2RldGFpbHRlbXBsYXRlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZScpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdW1tYXJ5dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaGllcmFyY2h5dGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZScpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdoaWVyYXJjaHl0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0YnknLCdwcm9kdWN0X25hbWUnLCR0aGlzLT5MYW5nKCdwYXJhbV9zb3J0YnknKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydGJ5JyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydG9yZGVyJywnYXNjJywkdGhpcy0+TGFuZygncGFyYW1fc29ydG9yZGVyJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRvcmRlcicsQ0xFQU5fU1RSSU5HKTsKLy8gCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NlbGVjdGNhdGVnb3J5JywwLCR0aGlzLT5MYW5nKCdwYXJhbV9zZWxlY3RjYXRlZ29yeScpKTsKLy8gCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZWxlY3RjYXRlZ29yeScsQ0xFQU5fSU5UKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdGVnb3J5JywnJywkdGhpcy0+TGFuZygncGFyYW1fY2F0ZWdvcnknKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnknLENMRUFOX1NUUklORyk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdoaWVyYXJjaHknLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9oaWVyYXJjaHknKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGllcmFyY2h5JyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncGFnZWxpbWl0JywnJywkdGhpcy0+TGFuZygncGFyYW1fcGFnZWxpbWl0JykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsQ0xFQU5fSU5UKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhcmVudCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3BhcmVudCcpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYXJlbnQnLENMRUFOX0lOVCk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzaG93YWxsJywkdGhpcy0+TGFuZygncGFyYW1fc2hvd2FsbCcpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaG93YWxsJyxDTEVBTl9JTlQpOwoKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdqdW5rJyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2UnLENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWxpYXMnLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGllcmFyY2h5aWQnLENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnlpZCcsQ0xFQU5fSU5UKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL2NkXy4qLycsQ0xFQU5fU1RSSU5HKTsKCgkvLyBGcmllbmRseSBVUkwgc3R1ZmYKICAgICRkZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnLC0xKTsKICAgIGlmKCAkZGV0YWlscGFnZSA9PSAtMSApCiAgICAgIHsKCQlnbG9iYWwgJGdDbXM7CgkJJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJGRldGFpbHBhZ2UgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdFBhZ2VJRCgpOwogICAgICB9Cgkkc3RyID0gJy8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdbUHBdcm9kdWN0cycpOwoJaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VoaWVycGF0aHVybHMnKSApCgkgIHsKCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2RldGFpbHNcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oW15cL10rXC8pKyg/UDxhbGlhcz4uKikkLycsCgkJCQkJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWxzJywncmV0dXJuaWQnPT4kZGV0YWlscGFnZSkpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvZGV0YWlsc1wvKFteXC9dK1wvKSsoP1A8YWxpYXM+LiopJC8nLAoJCQkJCQkJIGFycmF5KCdhY3Rpb24nPT4nZGV0YWlscycsJ3JldHVybmlkJz0+JGRldGFpbHBhZ2UpKTsKCSAgfQoKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvKD9QPHByb2R1Y3RpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJYXJyYXkoJ2FjdGlvbic9PidkZXRhaWxzJykpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJHN0ci4nXC8oP1A8cHJvZHVjdGlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsCgkJCQkJCSBhcnJheSgnYWN0aW9uJz0+J2RldGFpbHMnLCdyZXR1cm5pZCc9PiRkZXRhaWxwYWdlKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcLyg/UDxwcm9kdWN0aWQ+WzAtOV0rKSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL3N1bW1hcnlcLygkUDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvc3VtbWFyeVwvKCRQPHJldHVybmlkPlswLTldKykkLycpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJHN0ci4nXC9ieWNhdGVnb3J5XC8oP1A8Y2F0ZWdvcnlpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2J5Y2F0ZWdvcnlcLyg/UDxjYXRlZ29yeWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvYnloaWVyYXJjaHlcLyg/UDxoaWVyYXJjaHlpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2J5aGllcmFyY2h5XC8oP1A8aGllcmFyY2h5aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJHN0ci4nXC9oaWVyYXJjaHlcLyg/UDxwYXJlbnQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJHN0ci4nXC9oaWVyYXJjaHlcLyg/UDxwYXJlbnQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycpOwoKICB9CgogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgewoJcmV0dXJuICR0aGlzLT5MYW5nKCdwcmV1bmluc3RhbGwnKTsKICB9CgogIGZ1bmN0aW9uIEdldEhlbHAoJGxhbmc9J2VuX1VTJykKICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewoJcmV0dXJuICdjb250ZW50JzsKICB9CgogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewoJcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CgogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICB7CglyZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOwogIH0KCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CglyZXR1cm4gZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaHRtbCcpOwogIH0KCiAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiggJGV2ZW50bmFtZSApCiAgewoJcmV0dXJuICR0aGlzLT5sYW5nKCdldmVudGRlc2MtJyAuICRldmVudG5hbWUpOwogIH0KCiAgZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCAkZXZlbnRuYW1lICkKICB7CglyZXR1cm4gJHRoaXMtPmxhbmcoJ2V2ZW50aGVscC0nIC4gJGV2ZW50bmFtZSk7CiAgfQoJCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERvQWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBEb0FjdGlvbigkbmFtZSwkaWQsJHBhcmFtcywkcmV0dXJuaWQ9JycpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CgogICAgJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignbW9kJywkdGhpcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3JldHVybmlkJywkcmV0dXJuaWQpOwogICAgcGFyZW50OjpEb0FjdGlvbigkbmFtZSwkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwogIH0KCgogIGZ1bmN0aW9uIF9sb2FkX2FkbWluKCkKICB7CglpZiggISR0aGlzLT5fYWRtaW5fbG9hZGVkICkKCSAgewoJCXJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9ucy5hZG1pbl90b29scy5waHAnKTsKCQkkdGhpcy0+X2FkbWluX2xvYWRlZCA9IHRydWU7CgkgIH0KICB9CgogIGZ1bmN0aW9uIF9sb2FkX2NvbW1vbigpCiAgewoJaWYoICEkdGhpcy0+X2NvbW1vbl9sb2FkZWQgKQoJICB7CgkJcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb25zLmNvbW1vbl90b29scy5waHAnKTsKCQkkdGhpcy0+X2NvbW1vbl9sb2FkZWQgPSB0cnVlOwoJICB9CiAgfQoKLy8gcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX29wcygpCi8vIHsKLy8gICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9saWIvY2xhc3MucHJvZHVjdF9vcHMucGhwJyk7Ci8vIH0KCiAgZnVuY3Rpb24gR2V0VHlwZXNEcm9wZG93biggJGlkLCAkbmFtZSwgJHNlbGVjdGVkID0gJycsICRhZGR0ZXh0ID0gJycsICRzZWxlY3RvbmUgPSBmYWxzZSApCiAgewoJJHRoaXMtPl9sb2FkX2FkbWluKCk7CglyZXR1cm4gcHJvZHVjdHNfR2V0VHlwZXNEcm9wZG93bigkdGhpcywkaWQsJG5hbWUsJHNlbGVjdGVkLCRhZGR0ZXh0LCRzZWxlY3RvbmUpOwogIH0KCQoKICBmdW5jdGlvbiBHZXRDYXRlZ29yeSgkY2F0ZWdvcnlfaWQsJGZ1bGwgPSBmYWxzZSkKICB7CglnbG9iYWwgJGdDbXM7CgkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgaWQgPSA/JzsKICAgICRxdWVyeTIgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyAKICAgICAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCgkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjYXRlZ29yeV9pZCkpOwoJaWYoICEkcm93ICkgcmV0dXJuIEZBTFNFOwoKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCSRvbmVyb3ctPmlkID0gJHJvd1snaWQnXTsKCSRvbmVyb3ctPm5hbWUgPSAkcm93WyduYW1lJ107Cgkkb25lcm93LT52YWx1ZSA9IGZhbHNlOwoJJG9uZXJvdy0+ZmlsZV9sb2NhdGlvbiA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy8nLiR0aGlzLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJG9uZXJvdy0+aWQ7CgoJaWYoICRmdWxsICkKCSAgewoJCSR0bXAyID0gJGRiLT5HZXRBcnJheSgkcXVlcnkyLCRyb3dbJ2lkJ10pOwoJCWlmKCBpc19hcnJheSgkdG1wMikgKQoJCSAgewoJCQkkb25lcm93LT5kYXRhID0gJHRtcDI7CgkJICB9CgkgIH0KCglyZXR1cm4gJG9uZXJvdzsKICB9CgoKICBmdW5jdGlvbiBHZXRDYXRlZ29yaWVzKCRmdWxsID0gZmFsc2UpCiAgewoJZ2xvYmFsICRnQ21zOwoJJGRiID0mICRnQ21zLT5HZXREQigpOwoJJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgkJCglpZiggY291bnQoJHRoaXMtPl9jYXRlZ29yeV9jYWNoZSkgKQoJICB7CgkJcmV0dXJuICR0aGlzLT5fY2F0ZWdvcnlfY2FjaGU7CgkgIH0KCgkkZW50cnlhcnJheSA9IGFycmF5KCk7CgkJCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMnOwogICAgJHF1ZXJ5MiA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzIAogICAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7Cglmb3JlYWNoKCAkdG1wIGFzICRyb3cgKQoJICB7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCQkKCQkkb25lcm93LT5pZCA9ICRyb3dbJ2lkJ107CgkJJG9uZXJvdy0+bmFtZSA9ICRyb3dbJ25hbWUnXTsKCQkkb25lcm93LT52YWx1ZSA9IGZhbHNlOwoJCSRvbmVyb3ctPmZpbGVfbG9jYXRpb24gPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kdGhpcy0+R2V0TmFtZSgpLicvY2F0ZWdvcmllcy8nLiRvbmVyb3ctPmlkOwoKCQlpZiggJGZ1bGwgKQoJCSAgewoJCQkkdG1wMiA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5MixhcnJheSgkcm93WydpZCddKSk7CgkJCWlmKCBpc19hcnJheSgkdG1wMikgJiYgY291bnQoJHRtcDIpID4gMCkKCQkJICB7CgkJCQkkb25lcm93LT5kYXRhID0gJHRtcDI7CgkJCSAgfQoJCSAgfQoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJICB9CgoJJHRoaXMtPl9jYXRlZ29yeV9jYWNoZSA9ICRlbnRyeWFycmF5OwoJcmV0dXJuICRlbnRyeWFycmF5OwogIH0KCgkKICBmdW5jdGlvbiBHZXRDYXRlZ29yaWVzRm9yUHJvZHVjdCgkcHJvZHVjdCwkYnJpZWYgPSBmYWxzZSwkZnVsbCA9IGZhbHNlKQogIHsKCSRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCglnbG9iYWwgJGdDbXM7CgkkZGIgPSYgJGdDbXMtPkdldERCKCk7CgkKCSRlbnRyeWFycmF5ID0gJHRoaXMtPkdldENhdGVnb3JpZXMoJGZ1bGwpOwoKCSRxdWVyeSA9ICdTRUxFQ1QgYy4qIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgYyBXSEVSRSBjLnByb2R1Y3RfaWQgPSA/IE9SREVSIEJZIGMuY2F0ZWdvcnlfaWQnOwoJJHByb2RjYXRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHByb2R1Y3QpKTsKCQoJJHJlc3VsdHMgPSBhcnJheSgpOwoJaWYoICRicmllZiApCgkgIHsKCQlmb3JlYWNoKCAkcHJvZGNhdHMgYXMgJG9uZXByb2RjYXQgKQoJCSAgewoJCQlmb3JlYWNoKCAkZW50cnlhcnJheSBhcyAkZW50cnkgKQoJCQkgIHsKCQkJCWlmKCAkb25lcHJvZGNhdFsnY2F0ZWdvcnlfaWQnXSA9PSAkZW50cnktPmlkICkKCQkJCSAgewoJCQkJCSRlbnRyeS0+dmFsdWUgPSB0cnVlOwoJCQkJCSRyZXN1bHRzW10gPSAkZW50cnk7CgkJCQkJYnJlYWs7CgkJCQkgIH0KCQkJICB9CgkJICB9CgkgIH0KCWVsc2UKCSAgewoJCS8vIGZ1bGwgbGlzdCBvZiBjYXRlZ29yaWVzLAoJCS8vIHNldCB2YWx1ZSB0byB0cnVlIGlmIHRoaXMgcHJvZHVjdCBpcyBhIG1lbWJlciBvZiB0aGlzIGNhdGVnb3J5CgkJZm9yZWFjaCggJGVudHJ5YXJyYXkgYXMgJGVudHJ5ICkKCQkgIHsKCQkJJGVudHJ5LT52YWx1ZSA9IGZhbHNlOwoJCQlmb3JlYWNoKCAkcHJvZGNhdHMgYXMgJG9uZXByb2RjYXQgKQoJCQkgIHsKCQkJCWlmKCAkb25lcHJvZGNhdFsnY2F0ZWdvcnlfaWQnXSA9PSAkZW50cnktPmlkICkKCQkJCSAgewoJCQkJCSRlbnRyeS0+dmFsdWUgPSB0cnVlOwoJCQkJCWJyZWFrOwoJCQkJICB9CgkJCQkKCQkJICB9CgoJCQkkcmVzdWx0c1tdID0gJGVudHJ5OwoJCSAgfQoJICB9CglyZXR1cm4gJHJlc3VsdHM7CiAgfQoJCgogIGZ1bmN0aW9uIEdldEZpZWxkRGVmcygkYWRtaW4gPSBmYWxzZSwkcHVibGljID0gdHJ1ZSkKICB7CgkkZW50cnlhcnJheSA9IGFycmF5KCk7CgkJCglnbG9iYWwgJGdDbXM7CgkkZGIgPSYgJGdDbXMtPkdldERCKCk7CgkJCglpZiggJGFkbWluID09IHRydWUgJiYgJHB1YmxpYyA9PSB0cnVlICkKCSAgewoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIE9SREVSIEJZIGl0ZW1fb3JkZXInOwoJICB9CgllbHNlIGlmKCAkcHVibGljID09IHRydWUgKQoJICB7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgcHVibGljID4gMCBPUkRFUiBCWSBpdGVtX29yZGVyJzsKCSAgfQoJZWxzZQoJICB7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgYWRtaW5fb25seSA8PSAwIE9SREVSIEJZIGl0ZW1fb3JkZXInOwoJICB9CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgIHsKCQkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJCQoJCSRvbmVyb3ctPmlkID0gJHJvd1snaWQnXTsKCQkkb25lcm93LT5uYW1lID0gJHJvd1snbmFtZSddOwoJCSRvbmVyb3ctPnByb21wdCA9ICRyb3dbJ3Byb21wdCddOwoJCSRvbmVyb3ctPnR5cGUgPSAkcm93Wyd0eXBlJ107CgkJJHRtcCA9IGV4cGxvZGUoIlxuIiwkcm93WydvcHRpb25zJ10pOwoJCSR0bXAyID0gYXJyYXkoKTsKCQlmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQoJCSAgewoJCQkkb25lID0gdHJpbSgkb25lKTsKCQkJJHRtcDJbJG9uZV0gPSAkb25lOwoJCSAgfQoJCSRvbmVyb3ctPm9wdGlvbnMgPSAkdG1wMjsKCQkkb25lcm93LT5tYXhfbGVuZ3RoID0gJHJvd1snbWF4X2xlbmd0aCddOwoJCQkKCQkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCSAgfQoJCQoJcmV0dXJuICRlbnRyeWFycmF5OwogIH0KCgkKICBmdW5jdGlvbiBHZXRGaWVsZERlZnNGb3JQcm9kdWN0KCRpZCwkYWRtaW4gPSBmYWxzZSwkcHVibGljID0gdHJ1ZSkKICB7CgkkZW50cnlhcnJheSA9IGFycmF5KCk7CgoJZ2xvYmFsICRnQ21zOwoJJGRiID0mICRnQ21zLT5HZXREQigpOwoJCQoJJGVudHJ5YXJyYXkgPSAkdGhpcy0+R2V0RmllbGREZWZzKCRhZG1pbiwkcHVibGljKTsKCgkkcXVlcnkgPSAnJzsKCWlmKCAkYWRtaW4gPT0gdHJ1ZSAmJiAkcHVibGljID09IHRydWUgKQoJICB7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCBmdi4qIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgZnYgV0hFUkUgZnYucHJvZHVjdF9pZCA9ID8nOwoJICB9CgllbHNlIGlmKCAkcHVibGljID09IHRydWUgKQoJICB7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCBiLiogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBhLCAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBiIFdIRVJFIGEuaWQgPSBiLmZpZWxkZGVmX2lkIEFORCBhLnB1YmxpYyA+IDAgYW5kIGIucHJvZHVjdF9pZCA9ID8nOwoJICB9CgllbHNlIAoJICB7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCBiLiogRlJPTSAgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgYSwgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgYiBXSEVSRSBhLmlkID0gYi5maWVsZGRlZl9pZCBBTkQgYS5hZG1pbl9vbmx5IDw9IDAgYW5kIGIucHJvZHVjdF9pZCA9ID8nOwoJICB9CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWQpKTsKCgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgIHsKCQkkY291bnQgPSAwOwoJCWZvcmVhY2ggKCRlbnRyeWFycmF5IGFzICRmaWVsZCkKCQkgIHsKCQkJaWYgKCRyb3dbJ2ZpZWxkZGVmX2lkJ10gPT0gJGZpZWxkLT5pZCkKCQkJICB7CgkJCQkkZW50cnlhcnJheVskY291bnRdLT5maWVsZGRlZl9pZCA9ICRmaWVsZC0+aWQ7CgkJCQkkZW50cnlhcnJheVskY291bnRdLT52YWx1ZSA9ICRyb3dbJ3ZhbHVlJ107CgkJCSAgfQoJCQkkY291bnQrKzsKCQkgIH0KCSAgfQoKCXJldHVybiAkZW50cnlhcnJheTsKICB9CgkKCiAgZnVuY3Rpb24gU2VhcmNoUmVzdWx0KCRyZXR1cm5pZCwgJHByb2R1Y3RpZCwgJGF0dHIgPSAnJykKICB7CglyZXR1cm4gcHJvZHVjdF9vcHM6OmdldF9zZWFyY2hfcmVzdWx0KCRyZXR1cm5pZCwkcHJvZHVjdGlkLCRhdHRyKTsKICB9CgkKCiAgZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgmJG1vZHVsZSkKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19TZWFyY2hSZWluZGV4KCR0aGlzLCRtb2R1bGUpOwogIH0KCgogIGZ1bmN0aW9uIEdldFNlYXJjaGFibGVUZXh0KCRwcm9kdWN0X2lkKQogIHsKCS8vIHRoZSBwcm9kdWN0IG5hbWUsIHRoZSBkZXNjcmlwdGlvbiwgYW5kIGFsbCBkYXRhIGZyb20KCS8vIHRleHQgZmllbGRzLCB0ZXh0YXJhIGZpZWxkcywgYW5kIGRyb3Bkb3ducwoJaWYoICFpc3NldCggJHRoaXMtPl9wcm9kdWN0X2NhY2hlWyRwcm9kdWN0X2lkXSApICkKCSAgewoJCSR0aGlzLT5HZXRQcm9kdWN0KCAkcHJvZHVjdF9pZCApOwoJICB9CgoJJHJlc3VsdHMgPSBhcnJheSgpOwoJJHByb2R1Y3QgPSYgJHRoaXMtPl9wcm9kdWN0X2NhY2hlWyRwcm9kdWN0X2lkXTsKCWlmKCAkcHJvZHVjdFsnc3RhdHVzJ10gIT0gJ3B1Ymxpc2hlZCcgKSByZXR1cm4gYXJyYXkoKTsKCSRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmc0ZvclByb2R1Y3QoJHByb2R1Y3RfaWQpOwoKCSRyZXN1bHRzW10gPSAkcHJvZHVjdFsncHJvZHVjdF9uYW1lJ107CgkkcmVzdWx0c1tdID0gJHByb2R1Y3RbJ2RldGFpbHMnXTsKCSRyZXN1bHRzW10gPSAkcHJvZHVjdFsnc2t1J107CgkkcmVzdWx0c1tdID0gJHByb2R1Y3RbJ2FsaWFzJ107Cglmb3JlYWNoKCAkZGVmcyBhcyAkb25lZGVmICkKCSAgewoJCXN3aXRjaCggJG9uZWRlZi0+dHlwZSApCgkJICB7CgkJICBjYXNlICd0ZXh0Ym94JzoKCQkgIGNhc2UgJ3RleHRhcmVhJzoKCQkgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgaWYoIGlzc2V0KCRvbmVkZWYtPnZhbHVlKSApCiAgICAgICAgICAgICAgewogICAgCQkJJHJlc3VsdHNbXSA9ICRvbmVkZWYtPnZhbHVlOwoJCQkgIH0KCQkJYnJlYWs7CgkJICB9CgkgIH0KCQoJcmV0dXJuICRyZXN1bHRzOwogIH0KCiAgZnVuY3Rpb24gR2V0UHJvZHVjdE5hbWVGcm9tSWQoICRpZCApCiAgewoJaWYoICFpc3NldCggJHRoaXMtPl9wcm9kdWN0X2NhY2hlWyRpZF0gKSApCgkgIHsKCQkkdGhpcy0+R2V0UHJvZHVjdCggJGlkICk7CgkgIH0KCglyZXR1cm4gJHRoaXMtPl9wcm9kdWN0X2NhY2hlWyRpZF1bJ3Byb2R1Y3RfbmFtZSddOwogIH0KCgogIGZ1bmN0aW9uIGlzX3RheGFibGUoJHByb2R1Y3RfaWQpCiAgewogICAgJHRtcCA9ICR0aGlzLT5HZXRQcm9kdWN0KCRwcm9kdWN0X2lkKTsKCXJldHVybiAkdG1wWyd0YXhhYmxlJ107CiAgfQoKCiAgZnVuY3Rpb24gaXNfc2hpcHBhYmxlKCRwcm9kdWN0X2lkKQogIHsKCS8vIHRvZG86IGFkZCBzb21ldGhpbmcgaGVyZS4KCXJldHVybiBUUlVFOwogIH0KCgogIGZ1bmN0aW9uIEdldFByb2R1Y3QoICRpZCApCiAgewoJaWYoICFpc3NldCgkdGhpcy0+X3Byb2R1Y3RfY2FjaGVbJGlkXSkgKQoJICB7CgkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/IjsKCQkkcm93ID0gJGRiLT5HZXRSb3coICRxdWVyeSwgYXJyYXkoICRpZCApICk7CgkJaWYoISRyb3cpIHJldHVybiBGQUxTRTsKCQkkdGhpcy0+X3Byb2R1Y3RfY2FjaGVbJGlkXSA9ICRyb3c7CgkgIH0KCglyZXR1cm4gJHRoaXMtPl9wcm9kdWN0X2NhY2hlWyRpZF07CiAgfQoKCiAgZnVuY3Rpb24gR2V0UHJvZHVjdEF0dHJpYnV0ZXMoJHByb2R1Y3RfaWQpCiAgewoJJHJlc3VsdHMgPSBhcnJheSgpOwoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19hdHRyaWJzZXRzCiAgICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQgPSA/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHByb2R1Y3RfaWQpKTsKCXdoaWxlKCAkZGJyZXN1bHQgJiYgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpICkKCSAgewoJCSRyZXN1bHRzWyRyb3dbJ2F0dHJpYl9zZXRfaWQnXV0gPSAgJHJvd1snYXR0cmliX3NldF9uYW1lJ107CgkgIH0KCXJldHVybiAkcmVzdWx0czsKICB9CgoKICBmdW5jdGlvbiBHZXRQcm9kdWN0QXR0cmlidXRlVmFsdWVzKCRwcm9kdWN0X2lkLCRhdHRyaWJzZXRfaWQpCiAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJJHJlc3VsdHMgPSBhcnJheSgpOwoJZ2xvYmFsICRnQ21zOwoJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMKICAgICAgICAgICAgICAgV0hFUkUgYXR0cmliX3NldF9pZCA9ID8gT1JERVIgQlkgYXR0cmliX2lkJzsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSgkYXR0cmlic2V0X2lkKSApOwoKCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdHRyaWJ0ZW1wbGF0ZScsJ3skYXR0cmliX3RleHR9ICh7JGN1cnJlbmN5X3N5bWJvbH0geyRhdHRyaWJfYWRqdXN0fSknKTsKCSRzbWFydHktPmFzc2lnbignY3VycmVuY3lfc3ltYm9sJyxwcm9kdWN0X29wczo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpKTsKCXdoaWxlKCAkZGJyZXN1bHQgJiYgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpICkKCSAgewoJCSRzbWFydHktPmFzc2lnbignYXR0cmliX2FkanVzdCcsc3ByaW50ZignJS4yZicsJHJvd1snYXR0cmliX2FkanVzdG1lbnQnXSkpOwoJCSRzbWFydHktPmFzc2lnbignYXR0cmliX3RleHQnLCRyb3dbJ2F0dHJpYl90ZXh0J10pOwoJCSRsYWJlbCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwoJCSRyZXN1bHRzWyRsYWJlbF0gPSAkcm93WydhdHRyaWJfdGV4dCddLicqQConLnNwcmludGYoIiUuMmYiLCRyb3dbJ2F0dHJpYl9hZGp1c3RtZW50J10pLicqQConLiRyb3dbJ3NrdSddOwoKCSAgfQoJcmV0dXJuICRyZXN1bHRzOwogIH0KCgogIGZ1bmN0aW9uIEdldFByb2R1Y3RBdHRyaWJ1dGVEcm9wZG93bigkaWQsJG5hbWUsJHByb2R1Y3RfaWQsJGF0dHJpYnNldF9pZCkKICB7CgkkbGlzdCA9ICR0aGlzLT5HZXRQcm9kdWN0QXR0cmlidXRlVmFsdWVzKCRwcm9kdWN0X2lkLCRhdHRyaWJzZXRfaWQpOwoKCXJldHVybiAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJG5hbWUsJGxpc3QsLTEsLTEpOwogIH0KCgogIGZ1bmN0aW9uIEdldFByb2R1Y3RBdHRyaWJ1dGVEYXRhQ29tcGxldGUoJHByb2R1Y3RfaWQpCiAgewoJJGRiID0mICR0aGlzLT5HZXREYigpOwoJJGRhdGEgPSBhcnJheSgpOwoKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cwogICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcHJvZHVjdF9pZCkpOwoJCgoJJHRtcDIgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHRtcCwnYXR0cmliX3NldF9pZCcpOwoJJHEyID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzCiAgICAgICAgICAgIFdIRVJFIGF0dHJpYl9zZXRfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHRtcDIpLicpIE9SREVSIEJZIGF0dHJpYl9zZXRfaWQgQVNDJzsKCSR0bXAzID0gJGRiLT5HZXRBcnJheSgkcTIpOwoKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKCSAgewoJCSRyb3cgPSYgJHRtcFskaV07CgoJCSRhdHRyaWJzID0gYXJyYXkoKTsKCQlmb3IoICRqID0gMDsgJGogPCBjb3VudCgkdG1wMyk7ICRqKysgKQoJCSAgewoJCQkkcm93MiA9JiAkdG1wM1skal07CgkJCWlmKCAkcm93MlsnYXR0cmliX3NldF9pZCddIDwgJHJvd1snYXR0cmliX3NldF9pZCddICkgY29udGludWU7CgkJCWlmKCAkcm93MlsnYXR0cmliX3NldF9pZCddID4gJHJvd1snYXR0cmliX3NldF9pZCddICkgYnJlYWs7CgoJCQkkYXR0cmlic1skcm93MlsnYXR0cmliX3RleHQnXV0gPSAkcm93MlsnYXR0cmliX2FkanVzdG1lbnQnXTsKCQkgIH0KCQkkZGF0YVskcm93WydhdHRyaWJfc2V0X25hbWUnXV0gPSAkYXR0cmliczsKCSAgfQoKCWlmKCAhY291bnQoJGRhdGEpICkgcmV0dXJuIGZhbHNlOwoJcmV0dXJuICRkYXRhOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gR2V0UHJvZHVjdElkc0Zyb21DYXRlZ29yaWVzKCRzdHIsJGRlbGltID0gJywnKQogIHsKCWlmKCBlbXB0eSgkc3RyKSApIHJldHVybiBGQUxTRTsKCSRuYW1lcyA9IGV4cGxvZGUoJGRlbGltLCRzdHIpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG5hbWVzKTsgJGkrKyApCgkgIHsKCQkkbmFtZXNbJGldID0gdHJpbSh0cmltKCRuYW1lc1skaV0pLCInIik7CgkgIH0KCglnbG9iYWwgJGdDbXM7CgkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgoJLy8gY29udmVydCBuYW1lcyB0byBjYXRlZ29yeSBpZHMuCgkkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzCiAgICAgICAgICAgICAgIFdIRVJFIG5hbWUgSU4gKCcuaW1wbG9kZSgnLCcsJG5hbWVzKS4nKSc7CgkkY2F0ZWdvcmllcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CglpZiggISRjYXRlZ29yaWVzICkgcmV0dXJuIEZBTFNFOwoJCgkkcXVlcnkgPSAnU0VMRUNUIHByb2R1Y3RfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcwogICAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkY2F0ZWdvcmllcykuJyknOwoJJHByb2R1Y3RzID0gJGRiLT5HZXRDb2woJHF1ZXJ5KTsKCXJldHVybiAkcHJvZHVjdHM7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBHZXRQcm9kdWN0SWRzRnJvbUhpZXJhcmNoeSgkaGllcl9zdHIsJGRlbGltID0gJyB8ICcpCiAgewoJaWYoIGVtcHR5KCRoaWVyX3N0cikgKSByZXR1cm4gRkFMU0U7CgkkaGllcl9zdHIgPSB0cmltKCRoaWVyX3N0cik7CglpZiggJGRlbGltICE9ICcgfCAnICkKCSAgewoJCSRoaWVyX3N0ciA9IHN0cl9yZXBsYWNlKCRkZWxpbSwnIHwgJywkaGllcl9zdHIpOwoJICB9CgkKCWdsb2JhbCAkZ0NtczsKCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCSRoaWVyYXJjaGllcyA9IGFycmF5KCk7CglpZiggZW5kc3dpdGgoJGhpZXJfc3RyLCcqJykgKQoJICB7CgkJJGhpZXJfc3RyID0gc3RyX3JlcGxhY2UoJyonLCclJywkaGllcl9zdHIpOwoJCQoJCSRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSAKICAgICAgICAgICAgICAgV0hFUkUgdXBwZXIobG9uZ19uYW1lKSBMSUtFIHVwcGVyKD8pJzsKCQkkaGllcmFyY2hpZXMgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJGhpZXJfc3RyKSk7CgkgIH0KCWVsc2UKCSAgewoJCSRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeQogICAgICAgICAgICAgICBXSEVSRSB1cHBlcihsb25nX25hbWUpID0gdXBwZXIoPyknOwoJCSRoaWVyX2lkID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRoaWVyX3N0cikpOwoJCWlmKCAhJGhpZXJfaWQgKQoJCSAgewoJCQlyZXR1cm4gRkFMU0U7CgkJICB9CgkJJGhpZXJhcmNoaWVzW10gPSAkaGllcl9pZDsKCSAgfQoKCSR0bXAgPSBpbXBsb2RlKCcsJywkaGllcmFyY2hpZXMpOwoJJHF1ZXJ5ID0gJ1NFTEVDVCBwcm9kdWN0X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyCiAgICAgICAgICAgICAgICAgV0hFUkUgaGllcmFyY2h5X2lkIElOICgkdG1wKSI7CgkkcHJvZHVjdHMgPSAkZGItPkdldENvbCgkcXVlcnkpOwoJcmV0dXJuICRwcm9kdWN0czsKICB9CgoKICBmdW5jdGlvbiBVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKQogIHsKCSR0aGlzLT5fbG9hZF9hZG1pbigpOwoJcmV0dXJuIHByb2R1Y3RzX1VwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygkdGhpcyk7CiAgfQoKCiAgZnVuY3Rpb24gQnVpbGRIaWVyYXJjaHlMaXN0KCkKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19CdWlsZEhpZXJhcmNoeUxpc3QoJHRoaXMpOwogIH0KCgogIGZ1bmN0aW9uIENyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCRpZCwkbmFtZSwkc2VsZWN0ZWR2YWx1ZSkKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19DcmVhdGVIaWVyYXJjaHlEcm9wZG93bigkdGhpcywkaWQsJG5hbWUsJHNlbGVjdGVkdmFsdWUpOwogIH0KCgogIGZ1bmN0aW9uIENyZWF0ZVByZXR0eUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQ9JycsICRjb250ZW50cz0nJywgJHBhcmFtcz1hcnJheSgpLCAKCQkJCQkJCSR3YXJuX21lc3NhZ2U9JycsICRvbmx5aHJlZj1mYWxzZSwgJGlubGluZT1mYWxzZSwgJGFkZHRleHQ9JycsIAoJCQkJCQkJJHRhcmdldGNvbnRlbnRvbmx5PWZhbHNlLCAkcHJldHR5dXJsPScnKQogIHsKCS8vIHRoaXMgbWV0aG9kLCBpZiBvdmVycmlkZGVuLCBzaG91bGQgY2FsbCBDcmVhdGVMaW5rIGZvciBhbGwgc3R1ZmYgaXQgY2FuJ3QKCS8vIHVuZGVyc3RhbmQKCSRwcm9kdWN0cyA9ICcnOwoJJHByZXR0eXVybCA9ICcnOwogCXN3aXRjaCggJGFjdGlvbiApCgkgIHsKCSAgY2FzZSAnZGV0YWlscyc6CgkJJHByZXR0eXVybCA9IHByb2R1Y3Rfb3BzOjpwcmV0dHlfdXJsKCRwYXJhbXNbJ3Byb2R1Y3RpZCddLCRyZXR1cm5pZCwkcGFyYW1zKTsKCSAJYnJlYWs7CgoJICBjYXNlICdkZWZhdWx0JzoKCQlpZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlpZCddKSApCgkJICB7CgkJCS8vIGlmIHRoZSBjYXRlZ29yeSBpZCBwYXJhbWV0ZXIgaXMgc2V0LCB1c2UgYnljYXRlZ29yeQoJCQkkcHJldHR5dXJsID0gc3ByaW50ZigiJXMvYnljYXRlZ29yeS8lZC8lZCIsCgkJCQkJCQkJICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpLAoJCQkJCQkJCSAoaW50KSRwYXJhbXNbJ2NhdGVnb3J5aWQnXSwkcmV0dXJuaWQpOwoJCQlpZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnluYW1lJ10pICkKCQkJICB7CgkJCQkkcHJldHR5dXJsIC49ICcvJy5tdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ2NhdGVnb3J5bmFtZSddKTsKCQkJICB9CgkJICB9CgkJZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snaGllcmFyY2h5aWQnXSkgKQoJCSAgewoJCQkvLyBpZiB0aGUgaGllcmFyY2h5IGlkIHBhcmFtZXRlciBpcyBzZXQsIHVzZSBieWhpZXJhcmNoeQoJCQkkcHJldHR5dXJsID0gc3ByaW50ZigiJXMvYnloaWVyYXJjaHkvJWQvJWQiLAoJCQkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4JywncHJvZHVjdHMnKSwKCQkJCQkJCQkgKGludCkkcGFyYW1zWydoaWVyYXJjaHlpZCddLCRyZXR1cm5pZCk7CgkJICB9CgkJZWxzZQoJCSAgewoJCQkvLyBvdGhlcndpc2UgdXNlIHN1bW1hcnkKCQkJJHByZXR0eXVybCA9IHNwcmludGYoIiVzL3N1bW1hcnkvJWQiLAoJCQkJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4JywncHJvZHVjdHMnKSwKCQkJCQkJCQkgJHJldHVybmlkKTsKCQkgIH0KCSAJYnJlYWs7CgoJICBjYXNlICdoaWVyYXJjaHknOgoJCSRwcmV0dHl1cmwgPSBzcHJpbnRmKCIlcy9oaWVyYXJjaHkvJWQvJWQiLAoJCQkJCQkJICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpLAoJCQkJCQkJIChpbnQpJHBhcmFtc1sncGFyZW50J10sJHJldHVybmlkKTsKCQlicmVhazsKCgkgIH0KCgkkb3V0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCRhY3Rpb24sJHJldHVybmlkLCRjb250ZW50cywkcGFyYW1zLCR3YXJuX21lc3NhZ2UsCgkJCQkJCQkgJG9ubHlocmVmLCRpbmxpbmUsJGFkZHRleHQsJHRhcmdldGNvbnRlbnRvbmx5LCRwcmV0dHl1cmwpOwoKCXJldHVybiAkb3V0OwogIH0KCgogIC8vIGNyZWF0ZXMgYSBmb3JtLXNhZmUgYWxpYXMgc3RyaW5nCiAgZnVuY3Rpb24gbWFrZV9hbGlhcygkc3RyaW5nLCAkaXNGb3JtPWZhbHNlKQogIHsKCSRzdHJpbmcgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRzdHJpbmcpOwoJJHN0cmluZyA9IHRyaW0oJHN0cmluZywgJ18nKTsKCXJldHVybiBzdHJ0b2xvd2VyKCRzdHJpbmcpOwogIH0KCgogIGZ1bmN0aW9uIEhhbmRsZVVwbG9hZGVkSW1hZ2UoJGlkLCRuYW1lLCRkZXN0ZGlyLCYkZXJyb3JzLCRzdWJmaWVsZD0nJywkd21sb2NhdGlvbj0nJywkb3ZlcndyaXRlPWZhbHNlKQogIHsKCSR0aGlzLT5fbG9hZF9hZG1pbigpOwoJcmV0dXJuIHByb2R1Y3RzX0hhbmRsZVVwbG9hZGVkSW1hZ2UoJHRoaXMsJGlkLCRuYW1lLCRkZXN0ZGlyLCRlcnJvcnMsJHN1YmZpZWxkLAoJCQkJCQkJCQkJJHdtbG9jYXRpb24sJG92ZXJ3cml0ZSk7CiAgfQoKCiAgZnVuY3Rpb24gUHJvY2Vzc0ltYWdlKCRzcmNuYW1lLCR3bWxvY2F0aW9uPSdkZWZhdWx0JykKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19Qcm9jZXNzSW1hZ2UoJHRoaXMsJHNyY25hbWUsJHdtbG9jYXRpb24pOwogIH0KCiAgZnVuY3Rpb24gJkdldENhcnRNb2R1bGUoKQogIHsKCSRjYXJ0bW9kID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NhcnRtb2R1bGUnLCcnKTsKCWlmKCBlbXB0eSgkY2FydG1vZCkgfHwgJGNhcnRtb2QgPT0gLTEgKSByZXR1cm4gRkFMU0U7CgkkbW9kID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgkY2FydG1vZCk7CglpZiggIWlzX29iamVjdCgkbW9kKSApIHJldHVybiBGQUxTRTsKCXJldHVybiAkbW9kOwogIH0KCgogIGZ1bmN0aW9uIEdldEhpZXJhcmNoeUluZm8oJGhpZXJhcmNoeV9pZCkKICB7CgkkdGhpcy0+X2xvYWRfY29tbW9uKCk7CglyZXR1cm4gcHJvZHVjdHNfR2V0SGllcmFyY2h5SW5mbygkdGhpcywkaGllcmFyY2h5X2lkKTsKICB9CgoKICBmdW5jdGlvbiBHZXRIaWVyYXJjaHlQYXRoKCRoaWVhcmNoeV9pZCkKICB7CgkkdGhpcy0+X2xvYWRfY29tbW9uKCk7CglyZXR1cm4gcHJvZHVjdHNfR2V0SGllcmFyY2h5UGF0aCgkdGhpcywkaGllcmFyY2h5X2lkKTsKICB9CgoKICBmdW5jdGlvbiBHZXRQcm9kdWN0SGllcmFyY2h5UGF0aCgkcHJvZHVjdGlkKQogIHsKCSR0aGlzLT5fbG9hZF9jb21tb24oKTsKCXJldHVybiBwcm9kdWN0c19HZXRQcm9kdWN0SGllcmFyY2h5UGF0aCgkdGhpcywkcHJvZHVjdGlkKTsKICB9CgoKICBmdW5jdGlvbiBEZWxldGVQcm9kdWN0KCRwcm9kdWN0aWQsJHVwZGF0ZV9zZWFyY2g9dHJ1ZSkKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19EZWxldGVQcm9kdWN0KCR0aGlzLCRwcm9kdWN0aWQsJHVwZGF0ZV9zZWFyY2gpOwogIH0KCgogIGZ1bmN0aW9uIF9zbWFydHlfcHJvZHVjdHNfZ2V0Y2F0ZWdvcnkoJHBhcmFtcywmJHNtYXJ0eSkKICB7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5aWQnXSkgKSByZXR1cm47CgoJJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRlZ29yeWlkJ107Cgkkb2JqID0mICR0aGlzLT5HZXRDYXRlZ29yeSgkY2F0aWQpOwoJCglpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkKCSAgewoJCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkb2JqKTsKCQlyZXR1cm47CgkgIH0KCXJldHVybiAkb2JqOwogIH0KCn0gLy8gY2xhc3MKCiMgdmltOnRzPTQgc3c9NCBub2V0Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addcategoryfield.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdhZGRfY2F0ZWdvcnlfZmllbGQnLCRjYXRlZ29yeS5uYW1lKX08L2gzPgoKeyRmb3Jtc3RhcnR9CjxkaXY+eyRoaWRkZW4xfTwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3R5cGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGR0eXBlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWVsZG5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGRwcm9tcHR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd2YWx1ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAge2lmICRmaWVsZHR5cGUgPT0gJ2ZpbGUnIHx8ICRmaWVsZHR5cGUgPT0gJ2ltYWdlJ30KICAgIHtpZiBpc3NldCgkaW5wdXRfaGlkZGVuKX08ZGl2PnskaW5wdXRfaGlkZGVufTwvZGl2PnsvaWZ9CiAgICB7JG1vZC0+TGFuZygnY3VycmVudF92YWx1ZScpfTombmJzcDt7JGZpZWxkdmFsdWV9CiAgICB7aWYgaXNzZXQoJGZpbGVleGlzdHMpfSZuYnNwO3skbW9kLT5MYW5nKCd2YWxpZCcpfXtlbHNlfTxlbT4oeyRtb2QtPkxhbmcoJ2Vycm9yX2ZpbGVub3Rmb3VuZCcpfSk8L2VtPnsvaWZ9CiAgICA8YnIvPgogIHsvaWZ9CiAgeyRpbnB1dF9maWVsZHZhbHVlfQogIHtpZiAkZmllbGR0eXBlID09ICdpbWFnZScgJiYgaXNzZXQoJGlucHV0X3dhdGVybWFya2xvY2F0aW9uKX0KICAgIDxici8+CiAgICB7JHByb21wdF93YXRlcm1hcmtsb2NhdGlvbn06Jm5ic3A7eyRpbnB1dF93YXRlcm1hcmtsb2NhdGlvbn0KICB7L2lmfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/add_attrib_set.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfYWRkX2F0dHJpYnNldCcpfTwvaDM+CjxoND57JHByb2R1Y3QucHJvZHVjdF9uYW1lfSAoeyRwcm9kdWN0LmlkfSl7aWYgJHByb2R1Y3Quc2t1ICE9ICcnfSZuYnNwOyZuYnNwO3skbW9kLT5MYW5nKCdza3UnKX06Jm5ic3A7eyRwcm9kdWN0LnNrdX17L2lmfTwvaDQ+CnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc2V0X25hbWV9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NldF9uYW1lfTwvcD4KPC9kaXY+Cgp7aWYgY291bnQoJHZhbHVlcyl9Cjxici8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZT4KICA8dGhlYWQ+CiAgICA8dGg+eyRpZHRleHR9PC90aD4KICAgIDx0aD57JGtleXRleHR9PC90aD4KICAgIDx0aD57JHZhbHVldGV4dH08YnIvPnskaW5mb192YWx1ZXRleHR9PC90aD4KICAgIDx0aD57JG1vZC0+TGFuZygnc2t1Jyl9PC90aD4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSR2YWx1ZXMgaXRlbT0nb25ldmFsdWUnfQogIDx0cj4KICAgIDx0ZD57JG9uZXZhbHVlLT5pZHh9PC90ZD4KICAgIDx0ZD57JG9uZXZhbHVlLT5rZXl9PC90ZD4KICAgIDx0ZD57JG9uZXZhbHVlLT52YWx1ZX08L3RkPgogICAgPHRkPnskb25ldmFsdWUtPnNrdX08L3RkPgogIDwvdHI+CiAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CjwvZGl2Pgo8YnIvPgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FkZH08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCIgYm9yZGVyPSIwIj4KICAgICB7JGlucHV0X3VwZGF0ZX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fSZuYnNwO3skY2FuY2VsfTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_add_hierarchy_item.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRoaWVyYXJjaHlfaWQpfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfaGllcmFyY2h5X2l0ZW0nKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRfaGllcmFyY2h5X2l0ZW0nKX08L2gzPgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmFtZScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1uYW1lIiB2YWx1ZT0ieyRuYW1lfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ij48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3BhcmVudCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkYWN0aW9uaWQsJ3BhcmVudCcsJGhpZXJhcmNoeV9pdGVtcywnLTEnLCRwYXJlbnQpfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkNyZWF0ZVRleHRBcmVhKCd0cnVlJywkYWN0aW9uaWQsJGRlc2NyaXB0aW9uLCdkZXNjcmlwdGlvbicpfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnaW1hZ2V0ZXh0Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHtpZiBpc3NldCgkaW1hZ2UpICYmICFlbXB0eSgkaW1hZ2UpICYmICRpbWFnZSAhPSAnMCd9eyRtb2QtPkxhbmcoJ2N1cnJlbnRfdmFsdWUnKX06Jm5ic3A7eyRpbWFnZX08YnIvPgogICAgICAgeyRtb2QtPkxhbmcoJ2RlbGV0ZScpfTo8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskbW9kLT5HZXRBY3Rpb25JZCgpfWRlbGV0ZWltZyIgdmFsdWU9IjEiPjxici8+CiAgICAgey9pZn0KICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1maWxlIiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiPgogICAgIHtpZiBpc3NldCgkd2F0ZXJtYXJrX2xvY2F0aW9uKX0KICAgICAgIDxici8+CiAgICAgICB7JG1vZC0+TGFuZygnd2F0ZXJtYXJrX2xvY2F0aW9uJyl9OiZuYnNwO3skd2F0ZXJtYXJrX2xvY2F0aW9ufQogICAgIHsvaWZ9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdleHRyYTEnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZXh0cmExIiB2YWx1ZT0ieyRleHRyYTF9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZXh0cmEyJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWV4dHJhMiIgdmFsdWU9InskZXh0cmEyfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ij48L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iPiZuYnNwOzxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSI+PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_hierarchy_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRlbnRyaWVzKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoIHdpZHRoPSIyJSI+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeScpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keT4KICAgIHtmb3JlYWNoIGZyb209JGVudHJpZXMgaXRlbT0nb25lZW50cnknfQogICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogICAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJPHRkPnskb25lZW50cnkuaWR9PC90ZD4KICAgICAgICA8dGQ+e2NncmVwZWF0IHRleHQ9JyZuYnNwOyZndDsmbmJzcDsnIGNvdW50PSRvbmVlbnRyeS5kZXB0aH08YSBocmVmPSJ7JG9uZWVudHJ5LmVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0X2hpZXJhcmNoeV9pdGVtJyl9Ij57JG9uZWVudHJ5Lm5hbWV9PC9hPjwvdGQ+CiAgICAgICAgPHRkPnskb25lZW50cnkuZWRpdF9saW5rfTwvdGQ+CiAgICAgICAgPHRkPnskb25lZW50cnkuZGVsZXRlX2xpbmt9PC90ZD4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4KPC9kaXY+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICB7JGFkZF9oaWVyYXJjaHlfbGlua30KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JG1vZC0+TGFuZygnY2F0ZWdvcnknKX08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5maWVsZHNsaW5rfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5jb3B5bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/copycategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb3B5X2NhdGVnb3J5Jyl9OiB7JGNhdGVnb3J5Lm5hbWV9PC9oMz4KeyRzdGFydGZvcm19CjxkaXY+eyRoaWRkZW59PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmV3X2NhdGVnb3J5X25hbWUnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/dflt_templates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRpbmZvX2RmbHRfdGVtcGxhdGV9CjwvZGl2PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRsZWdlbmRfc3VtbWFyeXRlbXBsYXRlfTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnl0ZW1wbGF0ZX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5dGVtcGxhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0X3N1bW1hcnl0ZW1wbGF0ZX0mbmJzcDt7JHJlc2V0X3N1bW1hcnl0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JGxlZ2VuZF9kZXRhaWx0ZW1wbGF0ZX08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9kZXRhaWx0ZW1wbGF0ZX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXRhaWx0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXRfZGV0YWlsdGVtcGxhdGV9Jm5ic3A7eyRyZXNldF9kZXRhaWx0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JGxlZ2VuZF9ieWhpZXJhcmNoeXRlbXBsYXRlfTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2J5aGllcmFyY2h5dGVtcGxhdGV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYnloaWVyYXJjaHl0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXRfYnloaWVyYXJjaHl0ZW1wbGF0ZX0mbmJzcDt7JHJlc2V0X2J5aGllcmFyY2h5dGVtcGxhdGV9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRsZWdlbmRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0X2NhdGVnb3J5bGlzdHRlbXBsYXRlfSZuYnNwO3skcmVzZXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCntpZiBlbXB0eSgkaGlkZGVuKX0KPGgzPnskbW9kLT5MYW5nKCdhZGRjYXRlZ29yeScpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX08L2gzPgp7L2lmfQoKeyRzdGFydGZvcm19Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskbmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/editcategoryfields.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2NhdGVnb3J5X2ZpZWxkcycsJGNhdGVnb3J5Lm5hbWUpfTwvaDM+CntpZiBpc3NldCgkZmllbGRzKSAmJiBjb3VudCgkZmllbGRzKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygndHlwZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygndmFsdWUnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSRmaWVsZHMgaXRlbT0nb25lZmllbGQnfQogICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgIDx0ZD57JG9uZWZpZWxkLmZpZWxkX25hbWV9PC90ZD4KICAgICAgIDx0ZD57JG9uZWZpZWxkLmZpZWxkX3R5cGV9PC90ZD4KICAgICAgIDx0ZD57JG9uZWZpZWxkLmZpZWxkX3ZhbHVlfHN0cmlwX3RhZ3N8c3VtbWFyaXplOjEwfTwvdGQ+CiAgICAgICA8dGQ+eyRvbmVmaWVsZC5lZGl0bGlua308L3RkPgogICAgICAgPHRkPnskb25lZmllbGQuZGVsZXRlbGlua308L3RkPgogICAgIDwvdHI+CiAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CjwvZGl2Pgp7L2lmfQoKPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRhZGRsaW5rfQo8L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX0mbmJzcDt7JG1vZC0+TGFuZygnaW5mb19hbG51bW9ubHknKX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG1vZC0+TGFuZygncHJvbXB0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cHJvbXB0fTwvcD4KPC9kaXY+Cgp7aWYgJHNob3dpbnB1dHR5cGUgZXEgdHJ1ZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG1vZC0+TGFuZygndHlwZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHR5cGV9PC9wPgo8L2Rpdj4Ke2Vsc2V9CiAgeyRpbnB1dHR5cGV9CnsvaWZ9Cgp7aWYgJHR5cGUgPT0gJ3RleHRib3gnfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCdtYXhsZW5ndGgnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRtYXhsZW5ndGh9PC9wPgo8L2Rpdj4Key9pZn0KCntpZiAkdHlwZSA9PSAnZHJvcGRvd24nfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCdkcm9wZG93bl9vcHRpb25zJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1vcHRpb25zIj57JG9wdGlvbnN9PC90ZXh0YXJlYT48L3A+CjwvZGl2Pgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JHVzZXJ2aWV3dGV4dH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcnZpZXd9PGJyLz57JG1vZC0+TGFuZygnaW5mb19wdWJsaWNmaWVsZCcpfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/editproduct.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCnskc3RhcnRmb3JtfQp7aWYgaXNzZXQoJGNvbXBpZCl9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpZHRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNvbXBpZH08L3A+Cgk8L2Rpdj4Key9pZn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRuYW1ldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRuYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd1cmxfYWxpYXMnKX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRhbGlhc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc2t1Jyl9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c2t1fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJpY2V0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjdXJyZW5jeV9zeW1ib2x9eyRpbnB1dHByaWNlfTxici8+CgkgICAgICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fZGVjaW1hbF91bml0cycpfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskd2VpZ2h0dGV4dH0gKHskd2VpZ2h0dW5pdHN9KTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdlaWdodH08YnIvPgogICAgICAgICAgICAgICAgICB7JG1vZC0+TGFuZygnaW5mb19kZWNpbWFsX3VuaXRzJyl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzdGF0dXN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHN0YXR1c308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRldGFpbHN0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGRldGFpbHN9PC9wPgoJPC9kaXY+CgoJeyogdGhlIGhpZXJhcmNoeSBzdHVmZiAqfQoJe2lmIGNvdW50KCRoaWVyYXJjaHlfaXRlbXMpfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeV9wb3NpdGlvbicpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkYWN0aW9uaWQsJ2hpZXJhcmNoeScsJGhpZXJhcmNoeV9pdGVtcywnLTEnLCRoaWVyYXJjaHlfcG9zKX08L3A+CgkgICAgICAgICAgICAgICAgICAKCTwvZGl2PgogICAgICAgIHsvaWZ9CgoJeyogdGF4YWJsZT8gKn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRheGFibGV0ZXh0fTo8L3A+CgkgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR0YXhhYmxlfTwvcD4KCTwvZGl2PgoJCiAgICAgICAgeyogY2F0ZWdvcmllcyAqfQogICAgICAgIHtpZiBpc3NldCgkaW5wdXRfY2F0ZWdvcmllcyl9CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjYXRlZ29yaWVzJyl9PC9wPgogICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcmllc308L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgey9pZn0KCgl7KiBkaXNwbGF5IGN1c3RvbSBmaWVsZHMgKn0KCXtpZiAkY3VzdG9tZmllbGRzY291bnQgZ3QgMH0KCQl7Zm9yZWFjaCBmcm9tPSRjdXN0b21maWVsZHMgaXRlbT1jdXN0b21maWVsZH0KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+e2lmIGlzc2V0KCRjdXN0b21maWVsZC0+cHJvbXB0KX17JGN1c3RvbWZpZWxkLT5wcm9tcHR9e2Vsc2V9eyRjdXN0b21maWVsZC0+bmFtZX17L2lmfTo8L3A+CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkY3VzdG9tZmllbGQtPnZhbHVlKSAmJiAkY3VzdG9tZmllbGQtPnR5cGUgIT0gJ3RleHRhcmVhJ317JG1vZC0+TGFuZygnY3VycmVudF92YWx1ZScpfTombmJzcDt7JGN1c3RvbWZpZWxkLT52YWx1ZX08YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGN1c3RvbWZpZWxkLT5kZWxldGUpfXskbW9kLT5MYW5nKCdkZWxldGUnKX0mbmJzcDt7JGN1c3RvbWZpZWxkLT5kZWxldGV9PGJyLz57L2lmfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkY3VzdG9tZmllbGQtPmhpZGRlbil9eyRjdXN0b21maWVsZC0+aGlkZGVufXsvaWZ9eyRjdXN0b21maWVsZC0+aW5wdXRfYm94fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lmIGlzc2V0KCRjdXN0b21maWVsZC0+YXR0cmlidXRlKX08YnIvPnskY3VzdG9tZmllbGQtPmF0dHJpYnV0ZX17L2lmfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCQkJPC9kaXY+CgkJey9mb3JlYWNofQoJey9pZn0KCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KCTwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/edit_attribsets.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfYXR0cmlic2V0c19mb3J9OiZuYnNwO3skcHJvZHVjdF9uYW1lfTwvaDM+Cgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyRpZHRleHR9PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnskbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY291bnR0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9Cgl7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQoJCTx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5hdHRyaWJfc2V0X2lkfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5hdHRyaWJfc2V0X25hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmNvdW50fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgeyRhZGRfbGlua30mbmJzcDt7JHJldHVybl9saW5rfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/fielddeflist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCjxwPnskbW9kLT5MYW5nKCdpbmZvX2ZpZWxkZGVmc190YWInKX08L3A+Cgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyRmaWVsZGRlZnRleHR9PC90aD4KCQkJPHRoPnskdHlwZXRleHR9PC90aD4KCQkJPHRoIGNsYXNzPSJtb3ZlIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJe2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+dHlwZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+dXBsaW5rfSB7JGVudHJ5LT5kb3dubGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/importcsv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbD4KPGhlYWQ+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iQ01TIE1hZGUgU2ltcGxlIC0gQ29weXJpZ2h0IChDKSAyMDA0LTggVGVkIEt1bHAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIiAvPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdyIgLz4KCjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9Ik1haW5Db250ZW50Ij4KCgo8aDMgc3R5bGU9IndpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5JbXBvcnQgQ1NWPC9oMz4KPGJyLz4KPGRpdj4KICB7JHByb2dyZXNzYmFyfQo8L2Rpdj4KPGJyLz4KPGJyLz4KCjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/templates/importproducts.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogaW1wb3J0IHByb2R1Y3RzIGZvcm0gKn0KCntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8qPCFbQ0RBVEFbKi8KZnVuY3Rpb24gb25fc3VibWl0KG1zZyx1cmwpCnsKICB2YXIgcmVzID0gY29uZmlybShtc2cpOwogIGlmKCAhcmVzICkgcmV0dXJuIGZhbHNlOwoKICB3aW5kb3cub3Blbih1cmwsInByb2dyZXNzIiwic3RhdHVzPTAsdG9vbGJhcj0wLGxvY2F0aW9uPTAsbWVudWJhcj0wLGRpcmVjdG9yaWVzPTAscmVzaXphYmxlPTAsc2Nyb2xsYmFycz0wLGhlaWdodD0yNTAsd2lkdGg9NDUwIik7CiAgcmV0dXJuIHRydWU7Cn0KLypdXT4gKi8KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCjxoMz57JG1vZC0+TGFuZygnaW1wb3J0X2Zyb21fY3N2Jyl9PC9oMz4KCnskZm9ybXN0YXJ0fQp7aWYgaXNzZXQoJG1lc3NhZ2VzKX0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxkaXYgc3R5bGU9Im92ZXJmbG93OiBhdXRvOyBoZWlnaHQ6IDEwZW07IHdpZHRoOiA3NSU7IG1hcmdpbi1sZWZ0OiA1ZW07IGJvcmRlcjogMXB4IGRhc2hlZCAjY2NjOyIvPgp7c3RyaXB9Cntmb3JlYWNoIGZyb209JG1lc3NhZ2VzIGl0ZW09J29uZSd9CiAgeyRvbmV9PGJyLz4Key9mb3JlYWNofQp7L3N0cmlwfQo8L2Rpdj4KPC9kaXY+Cgp7ZWxzZX0Ke2lmIGlzc2V0KCRlcnJvcnMpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8ZGl2IHN0eWxlPSJvdmVyZmxvdzogYXV0bzsgaGVpZ2h0OiAxMGVtOyB3aWR0aDogNzUlOyBtYXJnaW4tbGVmdDogNWVtOyBib3JkZXI6IDFweCBkYXNoZWQgI2NjYzsiLz4Ke3N0cmlwfQp7Zm9yZWFjaCBmcm9tPSRlcnJvcnMgaXRlbT0nb25lJ30KICB7JG9uZX08YnIvPgp7L2ZvcmVhY2h9Cnsvc3RyaXB9CjwvZGl2Pgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2RlbGltaXRlcicpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWRlbGltaXRlciIgdmFsdWU9InskZGVsaW1pdGVyfSIgc2l6ZT0iNSIgbWF4bGVuZ3RoPSIxMCIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2RlbGltaXRlcicpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcmVhdGVmaWVsZHMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y3JlYXRlZmllbGRzIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZXNubyBzZWxlY3RlZD0kZmxhZ19jcmVhdGVmaWVsZHN9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jcmVhdGVmaWVsZHMnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaGFuZGxlaW1hZ2VzJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWhhbmRsZWltYWdlcyI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0keWVzbm8gc2VsZWN0ZWQ9JGZsYWdfaGFuZGxlaW1hZ2VzfQogICAgPC9zZWxlY3Q+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9faGFuZGxlaW1hZ2VzJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ltYWdlcGF0aCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWltYWdlcGF0aCIgdmFsdWU9InskaW1hZ2VwYXRofSIgc2l6ZT0iNjAiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19pbWFnZXBhdGgnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY3JlYXRlaGllcmFyY2h5Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNyZWF0ZWhpZXJhcmNoeSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0keWVzbm8gc2VsZWN0ZWQ9JGZsYWdfY3JlYXRlaGllcmFyY2h5fQogICAgPC9zZWxlY3Q+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fY3JlYXRlaGllcmFyY2h5Jyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y3JlYXRlY2F0ZWdvcmllcyI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0keWVzbm8gc2VsZWN0ZWQ9JGZsYWdfY3JlYXRlY2F0ZWdvcmllc30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZHVwbGljYXRlcHJvZHVjdHMiPgogICAgICAgPG9wdGlvbiBsYWJlbD0ieyRtb2QtPkxhbmcoJ2xhYmVsX3NraXAnKX0gdmFsdWU9InNraXAiIHtpZiAkZmxhZ19kdXBsaWNhdGVwcm9kdWN0cyBlcSAic2tpcCJ9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PnskbW9kLT5MYW5nKCdsYWJlbF9za2lwJyl9PC9vcHRpb24+CiAgICAgICA8b3B0aW9uIGxhYmVsPSJ7JG1vZC0+TGFuZygnbGFiZWxfb3ZlcndyaXRlJyl9IHZhbHVlPSJvdmVyd3JpdGUiIHtpZiAkZmxhZ19kdXBsaWNhdGVwcm9kdWN0cyBuZSAic2tpcCJ9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PnskbW9kLT5MYW5nKCdsYWJlbF9vdmVyd3JpdGUnKX08L29wdGlvbj4KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2JhdGNoc2l6ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1iYXRjaHNpemUiIHZhbHVlPSJ7JGJhdGNoc2l6ZX0iIHNpemU9IjMiIG1heGxlbmd0aD0iMyIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2JhdGNoc2l6ZScpfQogIDwvcD4KPC9kaXY+Cgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY3N2ZmlsZScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtpZiBpc3NldCgkY3N2ZmlsZSl9CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jc3ZmaWxlIiB2YWx1ZT0ieyRjc3ZmaWxlfSIgcmVhZG9ubHk9cmVhZG9ubHkvPgogICAge2Vsc2V9CiAgICA8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1jc3ZmaWxlIiB2YWx1ZT0iIiBzaXplPSI2MCIvPgogICAgey9pZn0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtpZiBpc3NldCgkaW1wb3J0X3VybCl9CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2dvJyl9IiBvbmNsaWNrPSJyZXR1cm4gb25fc3VibWl0KCd7JG1vZC0+TGFuZygnY29uZmlybV9pbXBvcnQnKX0nLCd7JGltcG9ydF91cmx9Jyk7Ii8+CiAgICB7ZWxzZX0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9dGVzdCIgdmFsdWU9InskbW9kLT5MYW5nKCd0ZXN0Jyl9Ii8+CiAgICB7L2lmfQogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_byhierarchy_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogaGllcmFyY2h5IHJlcG9ydCB0ZW1wbGF0ZSAqfQo8aDM+SGllcmFyY2h5IERhdGEgZm9yIHskaGllcmFyY2h5X2l0ZW0ubmFtZX0gKHskaGllcmFyY2h5X2l0ZW0uaWR9KTwvaDM+CntpZiBpc3NldCgkdXB1cmwpfQogICA8cD48YSBocmVmPSJ7JHVwdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdwYXJlbnQnKX0iPnskbW9kLT5MYW5nKCdwYXJlbnQnKX08L2E+PC9wPgp7L2lmfQp7YXNzaWduIHZhcj0ncHJvZG1vZCcgdmFsdWU9JG1vZH0KCntpZiBpc3NldCgkcGFyZW50KX0KPGg0PlRoaXMgTm9kZTwvaDQ+Ck5hbWU6IHskcGFyZW50Lm5hbWV9CkRlc2NyaXB0aW9uOiB7JHBhcmVudC5kZXNjcmlwdGlvbn08YnIvPgp7L2lmfQoKPGg0PkNoaWxkIE5vZGVzPC9oND4Ke2lmIGlzc2V0KCRjaGlsZF9ub2RlcykgJiYgY291bnQoJGNoaWxkX25vZGVzKX0KICB7Zm9yZWFjaCBmcm9tPSRjaGlsZF9ub2RlcyBpdGVtPSdub2RlJ30gICAgICAKICAgICA8aDU+CiAgICAgICB7aWYgaXNzZXQoJG5vZGUuZG93bnVybCl9CiAgICAgICAgIDxhIGhyZWY9Inskbm9kZS5kb3dudXJsfSIgdGl0bGU9Inskbm9kZS5uYW1lfSI+eyRub2RlLm5hbWV9PC9hPgogICAgICAge2Vsc2V9CiAgICAgICAgIHskbm9kZS5uYW1lfQogICAgICAgey9pZn0KICAgICA8L2g1PgogICAgIHtpZiAhZW1wdHkoJG5vZGUuaW1hZ2UpfSAKICAgICAgIHtjYXB0dXJlIGFzc2lnbj0naW1hZ2UnfXskaGllcmFyY2h5X2ltYWdlX2xvY2F0aW9ufS97JG5vZGUuaW1hZ2V9ey9jYXB0dXJlfQogICAgICAge2NhcHR1cmUgYXNzaWduPSduYW1lJ317JG5vZGUubmFtZX17L2NhcHR1cmV9CiAgICAgICB7aWYgIWVtcHR5KCRub2RlLnRodW1ibmFpbCl9CiAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndGh1bWInfXskaGllcmFyY2h5X2ltYWdlX2xvY2F0aW9ufS97JG5vZGUudGh1bWJuYWlsfXsvY2FwdHVyZX0KCSA8YSBocmVmPSJ7JGltYWdlfSIgY2xhc3M9ImZhbmN5Ym94IiByZWw9Im5vZm9sbG93Ij48aW1nIHNyYz0ieyR0aHVtYn0iIGFsdD0ieyRuYW1lfSIvPjwvYT4KICAgICAgIHtlbHNlfQogICAgICAgICA8aW1nIHNyYz0ieyRpbWFnZX0iIGFsdD0ieyRuYW1lfSIvPgogICAgICAgey9pZn0KICAgICB7L2lmfQogICAgIHtpZiAhZW1wdHkoJG5vZGUuZGVzY3JpcHRpb24pfQogICAgICA8cD5EZXNjcmlwdGlvbjogeyRub2RlLmRlc2NyaXB0aW9ufTwvcD4KICAgICB7L2lmfQogICAgIDxici8+PGJyLz4KICB7L2ZvcmVhY2h9CnsvaWZ9Cgo8aDU+UHJvZHVjdHMgbWF0Y2hpbmcgdGhpcyBsb2NhdGlvbiBpbiBoaWVyYXJjaHk8L2g1Pgp7UHJvZHVjdHMgaGllcmFyY2h5aWQ9JGhpZXJhcmNoeV9pdGVtLmlkfQoK]]></data>
	</file>
	<file>
	  <filename>/templates/orig_categorylist_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcnlsaXN0IGl0ZW09J29iaid9CiAgPGRpdiBjbGFzcz0iQ29tcGFueURpcmVjdG9yeUNhdGVnb3J5Ij4gCiAgICB7KiBjYXRlZ29yeSBmaWVsZHMgYXJlIGF2YWlsYWJsZSBhcyBhbiBhcnJheSBpbiAkb2JqLT5maWVsZHMgKn0KICAgIHsqIGkuZTogJG9iai0+ZmllbGRzLmZpZWxkbmFtZS5maWVsZF92YWx1ZSAqfQogICAgPGEgaHJlZj0ieyRvYmotPnN1bW1hcnlfdXJsfSI+eyRvYmotPm5hbWV9PC9hPih7JG9iai0+Y291bnR9KQogIDwvZGl2Pgp7L2ZvcmVhY2h9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdGhpcyBpcyBhIHNhbXBsZSBwcm9kdWN0IGRldGFpbCB0ZW1wbGF0ZSAqfQp7YXNzaWduIHZhcj0ncHJvZHVjdHMnIHZhbHVlPSRtb2R9CjxkaXYgY2xhc3M9IlByb2R1Y3REaXJlY3RvcnlJdGVtIj4KCntpZiBpc19hcnJheSgkZW50cnktPmJyZWFkY3J1bWIpfQpCcmVhZGNydW1iOiAgeycgPj4gJ3xpbXBsb2RlOiRlbnRyeS0+YnJlYWRjcnVtYn08YnIvPgp7L2lmfQoKTmFtZTogPGEgbmFtZT0icHJvZHVjdF9uYW1lIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+eyRlbnRyeS0+cHJvZHVjdF9uYW1lfTwvYT48YnIgLz4KRmlsZSBMb2NhdGlvbjogeyRlbnRyeS0+ZmlsZV9sb2NhdGlvbn08YnIvPgoKCntpZiAkZW50cnktPndlaWdodCBuZSAnJ30KV2VpZ2h0IHskd2VpZ2h0X3VuaXRzfTogeyRlbnRyeS0+d2VpZ2h0fTxiciAvPgp7L2lmfQoKQnJlYWRjcnVtYjogeyRlbnRyeS0+YnJlYWRjcnVtYn0KCntpZiAkZW50cnktPmRldGFpbHMgbmUgJyd9CkRldGFpbHM6PGJyIC8+CnskZW50cnktPmRldGFpbHN9PGJyIC8+CnsvaWZ9Cgp7KiB1bmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIGlmIHRoZSBQcm9tb3Rpb25zIG1vZHVsZSBpcyBpbnN0YWxsZWQgKn0KeyogcHJvbW9fZ2V0X3Byb2RfZGlzY291bnQgcHJvZHVjdF9pZD0kZW50cnktPmlkIGFzc2lnbj0nZm9vJyAqfQp7aWYgaXNzZXQoJGZvby5wcm9tb19pZCl9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+RGlzY291bnQ6ICB7JGN1cnJlbmN5X3N5bWJvbH17JGZvby5kaXNjb3VudHxudW1iZXJfZm9ybWF0OjJ9ICh7JGZvby5wZXJjZW50YWdlfG51bWJlcl9mb3JtYXQ6Mn0lKTwvc3Bhbj48YnIvPgp7aWYgJGVudHJ5LT5wcmljZSBuZSAnJ30KUHJpY2UgeyRjdXJyZW5jeV9zeW1ib2x9OiB7JGVudHJ5LT5wcmljZSAqICRmb28uZGVjaW1hbHxudW1iZXJfZm9ybWF0OjJ9PGJyIC8+CnsvaWZ9CntlbHNlaWYgJGVudHJ5LT5wcmljZSBuZSAnJ30KUHJpY2UgeyRjdXJyZW5jeV9zeW1ib2x9OiB7JGVudHJ5LT5wcmljZX08YnIgLz4Key9pZn0KCnsqIGFjY2Vzc2luZyBhbGwgb2YgdGhlIGZpZWxkcyBpbiBhIGxpc3QgKn0Ke2lmIGNvdW50KCRlbnRyeS0+ZmllbGRzKX0KICA8aDQ+Q3VzdG9tIEZpZWxkczwvaDQ+CiAge2ZvcmVhY2ggZnJvbT0kZW50cnktPmZpZWxkcyBrZXk9J25hbWUnIGl0ZW09J2ZpZWxkJ30KICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0X2RldGFpbF9maWVsZCI+PHA+CiAgICAgICB7JG1vZC0+TGFuZygnbmFtZScpfTogeyRuYW1lfTxici8+CiAgICAgICB7JG1vZC0+bGFuZygndHlwZScpfTogeyRmaWVsZC0+dHlwZX08YnIvPgogICAgICAgeyRtb2QtPmxhbmcoJ3ZhbHVlJyl9OiB7JGZpZWxkLT52YWx1ZX08YnIvPgogICAgICAge2lmICRmaWVsZC0+dHlwZSA9PSAnaW1hZ2UnICYmIGlzc2V0KCRmaWVsZC0+dGh1bWJuYWlsKX0KICAgICAgICAgPGltZyBzcmM9InskZW50cnktPmZpbGVfbG9jYXRpb259L3skZmllbGQtPnRodW1ibmFpbH0iIGFsdD0ieyRmaWVsZC0+dmFsdWV9Ii8+CiAgICAgICB7L2lmfQogICAgIDwvcD48L2Rpdj4KICB7L2ZvcmVhY2h9CnsvaWZ9Cgp7KiBwcmludCBvdXQgYXR0cmlidXRlcyAqfQp7aWYgaXNzZXQoJGVudHJ5LT5hdHRyaWJ1dGVzKX0KICA8aDQ+QXR0cmlidXRlczwvaDQ+CiAge2ZvcmVhY2ggZnJvbT0kZW50cnktPmF0dHJpYnV0ZXMga2V5PSduYW1lJyBpdGVtPSdhdHRyaWJzZXQnfQogICAgIDxoNj57JG5hbWV9PC9oNj4KICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0X2RldGFpbF9maWVsZCI+PHA+CiAgICAgICB7Zm9yZWFjaCBmcm9tPSRhdHRyaWJzZXQga2V5PSdsYWJlbCcgaXRlbT0nYWRqdXN0bWVudCd9CiAgICAgICAgIHskbGFiZWx9OiB7JGFkanVzdG1lbnR9PGJyLz4KICAgICAgIHsvZm9yZWFjaH0KICAgICA8L3A+PC9kaXY+CiAgey9mb3JlYWNofQp7L2lmfQoKeyogcHJpbnQgb3V0IHRoZSBjYXRlZ29yaWVzICp9CntpZiBpc3NldCgkZW50cnktPmNhdGVnb3JpZXMpfQogIDxoND5DYXRlZ29yaWVzPC9oND4KICB7Zm9yZWFjaCBmcm9tPSRlbnRyeS0+Y2F0ZWdvcmllcyBpdGVtPSdjYXRlZ29yeSd9CiAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0X2RldGFpbF9jYXRlZ29yeSI+PHA+CiAgICAgIHskbW9kLT5MYW5nKCdpZCcpfTogeyRjYXRlZ29yeS0+aWR9PGJyLz4KICAgICAgeyRtb2QtPkxhbmcoJ25hbWUnKX06IHskY2F0ZWdvcnktPm5hbWV9PGJyLz4KICAgICAgeyogaWYgdGhlcmUgYXJlIGRhdGEgZmllbGRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhdGVnb3J5LCBkaXNwbGF5IHRoZW0gdG9vICp9CiAgICAgIHtpZiBpc3NldCgkY2F0ZWdvcnktPmRhdGEpICYmIGNvdW50KCRjYXRlZ29yeS0+ZGF0YSl9CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdF9kZXRhaWxfY2F0ZWdvcnlfZmllbGRzIj4KICAgICAgICA8c3Ryb25nPnskbW9kLT5MYW5nKCdkYXRhJyl9PC9zdHJvbmc+PGJyLz4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRjYXRlZ29yeS0+ZGF0YSBpdGVtPSdvbmVkYXRhaXRlbSd9CiAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdF9kZXRhaWxfY2F0ZWdvcnlfb25lZmllbGQiPgogICAgICAgICAgIHtpZiAkb25lZGF0YWl0ZW0uZmllbGRfdHlwZSA9PSAnaW1hZ2UnfQogICAgICAgICAgICAgPGEgaHJlZj0ieyRjYXRlZ29yeS0+ZmlsZV9sb2NhdGlvbn0veyRvbmVkYXRhaXRlbS5maWVsZF92YWx1ZX0iPjxpbWcgc3JjPSJ7JGNhdGVnb3J5LT5maWxlX2xvY2F0aW9ufS90aHVtYl97JG9uZWRhdGFpdGVtLmZpZWxkX3ZhbHVlfSIgYWx0PSJ0aHVtYiIgLz48L2E+CiAgICAgICAgICAge2Vsc2VpZiAkb25lZGF0YWl0ZW0uZmllbGRfdHlwZSA9PSAnZmlsZSd9CiAgICAgICAgICAgICA8YSBocmVmPSJ7JGNhdGVnb3J5LT5maWxlX2xvY2F0aW9ufS97JG9uZWRhdGFpdGVtLmZpZWxkX3ZhbHVlfSI+eyRvbmVkYXRhaXRlbS5maWVsZF92YWx1ZX08L2E+CiAgICAgICAgICAge2Vsc2V9CiAgICAgICAgICAgICA8c3Ryb25nPnskb25lZGF0YWl0ZW0uZmllbGRfcHJvbXB0fTwvc3Ryb25nPjogeyRvbmVkYXRhaXRlbS5maWVsZF92YWx1ZX08YnIvPgogICAgICAgICAgIHsvaWZ9CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgey9mb3JlYWNofQogICAgICAgIDwvZGl2PgogICAgICB7L2lmfQogICAgPC9wPjwvZGl2PiAKICB7L2ZvcmVhY2h9CnsvaWZ9Cgp7KiBpbmNsdWRlIHRoZSBjYXJ0ICp9CnsqIGluY2x1ZGUgdGhlIGNhcnQgKn0Ke2NnZV9oYXZlX21vZHVsZSBtPSdDR0Vjb21tZXJjZUJhc2UnIGFzc2lnbj0ndG1wJ30Ke2lmICR0bXB9CjxkaXY+CntjZ2Vjb21tX2Zvcm1fYWRkdG9jYXJ0IHByb2R1Y3Q9JGVudHJ5LT5pZCBmb289J2Jhcid9CjwvZGl2Pgp7L2lmfQoKeyogY3JlYXRlIGEgbGluayBiYWNrIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2UgKn0Ke2FuY2hvciBhbmNob3I9J3Byb2R1Y3RfbmFtZScgdGV4dD0kcHJvZHVjdHMtPkxhbmcoJ3JldHVybl90b190b3AnKSB0aXRsZT0kcHJvZHVjdHMtPkxhbmcoJ3JldHVybl90b190b3AnKX0KCjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_frontendform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2NnZXJyb3J9eyRtZXNzYWdlfXsvY2dlcnJvcn0KeyRzdGFydGZvcm19CiAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KICAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskbmFtZXRleHR9PC9kaXY+Cgk8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dG5hbWV9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXJvdyI+CgkJICAgPGRpdiBjbGFzcz0icm93dGV4dCI+eyRhZGRyZXNzdGV4dH08L2Rpdj4KCQkgICA8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dGFkZHJlc3N9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXJvdyI+CgkJICAgPGRpdiBjbGFzcz0icm93dGV4dCI+eyR0ZWxlcGhvbmV0ZXh0fTwvZGl2PgoJCSAgIDxkaXYgY2xhc3M9InJvd2lucHV0Ij57JGlucHV0dGVsZXBob25lfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskZmF4dGV4dH08L2Rpdj4KCQkgICA8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dGZheH08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KCQkgICA8ZGl2IGNsYXNzPSJyb3d0ZXh0Ij57JGVtYWlsdGV4dH08L2Rpdj4KCQkgICA8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dGVtYWlsfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskd2Vic2l0ZXRleHR9PC9kaXY+CgkJICAgPGRpdiBjbGFzcz0icm93aW5wdXQiPnskaW5wdXR3ZWJzaXRlfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskZGV0YWlsc3RleHR9PC9kaXY+CgkJICAgPGRpdiBjbGFzcz0icm93aW5wdXQiPnskaW5wdXRkZXRhaWxzfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskaW1hZ2V0ZXh0fTwvZGl2PgoJCSAgIDxkaXYgY2xhc3M9InJvd2lucHV0Ij57JGltYWdlY3VycmVudH17JGltYWdlY3VycmVudGhpZGRlbn17JGltYWdldXBsb2FkfXskZGVsZXRldGV4dH17JGltYWdlY3VycmVudGRlbGV0ZX08L2Rpdj4KICAgICAgICA8L2Rpdj4KCSAgICB7aWYgJGN1c3RvbWZpZWxkc2NvdW50IGd0IDB9CgkJICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbWZpZWxkcyBpdGVtPWN1c3RvbWZpZWxkfQoJCQk8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KCQkJCTxwIGNsYXNzPSJyb3d0ZXh0Ij57JGN1c3RvbWZpZWxkLT5uYW1lfTo8L3A+CgkJCQk8cCBjbGFzcz0icm93aW5wdXQiPnskY3VzdG9tZmllbGQtPmlucHV0X2JveH08L3A+CgkJCTwvZGl2PgoJCSAgICB7L2ZvcmVhY2h9CiAgCSAgICB7L2lmfQogICAJICAgIHtpZiAkY2F0ZWdvcmllc2NvdW50IGd0IDB9CgkJICB7Zm9yZWFjaCBmcm9tPSRjYXRlZ29yaWVzIGl0ZW09Y2F0ZWdvcnl9CgkJCTxkaXYgY2xhc3M9InBhZ2Vvcm93Ij4KCQkJCTxwIGNsYXNzPSJyb3d0ZXh0Ij57JGNhdGVnb3J5LT5uYW1lfTo8L3A+CgkJCQk8cCBjbGFzcz0icm93aW5wdXQiPnskY2F0ZWdvcnktPmNoZWNrYm94fTwvcD4KCQkJPC9kaXY+CgkJICB7L2ZvcmVhY2h9CgkgICAgey9pZn0KCSAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KCQkgIDxwIGNsYXNzPSJyb3d0ZXh0Ij4mbmJzcDs8L3A+CgkJICA8cCBjbGFzcz0icm93aW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KCSAgICA8L2Rpdj4KICAgICAgeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRjYXRmb3Jtc3RhcnQpfQp7JGNhdGZvcm1zdGFydH0KeyRjYXRkcm9wZG93bn17JGNhdGJ1dHRvbn0KeyRjYXRmb3JtZW5kfQp7L2lmfQoKe2lmIGlzc2V0KCRwYWdlY291bnQpICYmICRwYWdlY291bnQgZ3QgMX0KeyRmaXJzdGxpbmt9Jm5ic3A7eyRwcmV2bGlua30mbmJzcDsmbmJzcDt7JHBhZ2V0ZXh0fSB7JGN1cnBhZ2V9IHskb2Z0ZXh0fSB7JHBhZ2Vjb3VudH0mbmJzcDsmbmJzcDt7JG5leHRsaW5rfSZuYnNwO3skbGFzdGxpbmt9CnsvaWZ9Cgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICB7KiAKICAgICB0aGUgc3VtbWFyeSB0ZW1wbGF0ZSBoYXMgYWNjZXNzIHRvIGN1c3RvbSBmaWVsZHMgdmlhIHRoZSAkZW50cnktPmZpZWxkcyBoYXNoCiAgICAgYW5kIHRvIGNhdGVnb3JpZXMgdmlhIHRoZSAkZW50cnktPmNhdGVnb3JpZXMgYXJyYXkgb2Ygb2JqZWN0cy4gIEFsc28KICAgICBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHZpYSAkZW50cnktPmF0dHJpYnV0ZXMuCiAgICAgeW91IHNob3VsZCB1c2UgdGhlIGdldF90ZW1wbGF0ZV92YXJzIGFuZCB0aGUgcHJpbnRfciBtb2RpZmllciB0byBzZWUKICAgICB3aGF0IGlzIGF2YWlsYWJsZQogICAgKn0KICA8ZGl2IGNsYXNzPSJQcm9kdWN0RGlyZWN0b3J5SXRlbSI+CiAgICAgPGEgaHJlZj0ieyRlbnRyeS0+ZGV0YWlsX3VybH0iPnskZW50cnktPnByb2R1Y3RfbmFtZX08L2E+Jm5ic3A7KHskZW50cnktPndlaWdodH17JHdlaWdodF91bml0c30pJm5ic3A7Jm5ic3A7eyRjdXJyZW5jeV9zeW1ib2x9eyRlbnRyeS0+cHJpY2V9CiAgICAge2lmIGlzc2V0KCRlbnRyeS0+Y2F0ZWdvcmllcyl9CiAgICAgICBDYXRlZ29yaWVzOiZuYnNwOwogICAgICAge2ZvcmVhY2ggZnJvbT0kZW50cnktPmNhdGVnb3JpZXMgaXRlbT0nY2F0ZWdvcnknfQogICAgICAgICB7JGNhdGVnb3J5LT5uYW1lfSwmbmJzcDsKICAgICAgIHsvZm9yZWFjaH0KICAgICAgIDxici8+CiAgICAgey9pZn0gICAgIAogIDwvZGl2PgoKICB7KiBpbmNsdWRlIHRoZSBjYXJ0IAogIHtpZiBpc3NldCgkY2FydF9tb2R1bGVfdGFnKX0KICA8ZGl2PgogIHtldmFsIHZhcj0kY2FydF9tb2R1bGVfdGFnfQogIDwvZGl2PgogIHsvaWZ9CiAgKn0KCnsvZm9yZWFjaH0K]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnZ2VuZXJhbF9zZXR0aW5ncycpfTwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGF4YWJsZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0X3N0YXR1cycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdGF0dXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXJscHJlZml4Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH11cmxwcmVmaXgiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjIwIiB2YWx1ZT0ieyR1cmxwcmVmaXh9Ii8+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlzb3J0b3JkZXJ9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlzb3J0b3JkZXJ9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlzb3J0aW5nfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5c29ydGluZ308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ZpbGV0eXBlc308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGVsZXRlcHJvZHVjdGZpbGVzfTwvcD4KPC9kaXY+CntpZiBpc3NldCgkaW5wdXRfY3VycmVuY3lzeW1ib2wpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY3VycmVuY3lzeW1ib2x9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2N1cnJlbmN5c3ltYm9sfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF93ZWlnaHR1bml0c306PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfd2VpZ2h0dW5pdHN9PC9wPgo8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXR0cmlidGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYXR0cmlidGVtcGxhdGV9CiAgPGJyLz4KICB7JG1vZC0+TGFuZygnaW5mb19hdHRyaWJ0ZW1wbGF0ZScpfQogIDwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3VzZWhpZXJwYXRodXJscycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JGlucHV0X3VzZWhpZXJwYXRodXJsc30KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZGV0YWlscGFnZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGV0YWlscGFnZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF91c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4gCiAgICB7JGlucHV0X3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2h9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbm90Zm91bmRfYmVoYXZpb3InKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXByb2Rub3Rmb3VuZCI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG5vdGZvdW5kX29wdHMgc2VsZWN0ZWQ9JHByb2Rub3Rmb3VuZH0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3Byb2Rub3Rmb3VuZCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25vdGZvdW5kX3BhZ2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRpbnB1dF9wcm9kbm90Zm91bmRwYWdlfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25vdGZvdW5kX21zZycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1wcm9kbm90Zm91bmRtc2ciIHJvd3M9IjUiPnskcHJvZG5vdGZvdW5kbXNnfTwvdGV4dGFyZWE+CiAgPC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93ZWRfaW1hZ2V0eXBlc308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hdXRvdGh1bWJuYWlsJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2F1dG90aHVtYm5haWx9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWF1dG90aHVtYm5haWxfc2l6ZSIgc2l6ZT0iNSIgbWF4bGVuZ3RoPSI1IiB2YWx1ZT0ieyRhdXRvX3RodW1ibmFpbF9zaXplfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2F1dG9wcmV2aWV3aW1nJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2F1dG9wcmV2aWV3aW1nfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YXV0b3ByZXZpZXdpbWdfc2l6ZSIgc2l6ZT0iNSIgbWF4bGVuZ3RoPSI1IiB2YWx1ZT0ieyRhdXRvX3ByZXZpZXdpbWdfc2l6ZX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2F1dG93YXRlcm1hcmt9PGJyLz57JG1vZC0+TGFuZygnaW5mb19hdXRvd2F0ZXJtYXJrJyl9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KCnskZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/productlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVycycpfTombmJzcDs8L2xlZ2VuZD4KeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnaGllcmFyY2h5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2hpZXJhcmNoeX0mbmJzcDt7JG1vZC0+TGFuZygnaW5jbHVkZV9jaGlsZHJlbicpfSB7JGlucHV0X2NoaWxkcmVufTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc29ydF9ieScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb3J0Ynl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzb3J0X29yZGVyJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRvcmRlcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3BhZ2VfbGltaXQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZWxpbWl0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRtb2QtPkdldEFjdGlvbklkKCl9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSI+PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo8L2ZpZWxkc2V0PgoKCntpZiAkaXRlbWNvdW50ID4gMH0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4Ke2lmIGlzc2V0KCRmaXJzdHBhZ2VfdXJsKX0KIDxhIGhyZWY9InskZmlyc3RwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZmlyc3RwYWdlJyl9Ij57JG1vZC0+TGFuZygnZmlyc3RwYWdlJyl9PC9hPgogPGEgaHJlZj0ieyRwcmV2cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3ByZXZwYWdlJyl9Ij57JG1vZC0+TGFuZygncHJldnBhZ2UnKX08L2E+CnsvaWZ9CntpZiBpc3NldCgkZmlyc3RwYWdlX3VybCkgfHwgaXNzZXQoJGxhc3RwYWdlX3VybCl9CiAgeyRtb2QtPkxhbmcoJ3BhZ2Vfb2YnLCRwYWdlbnVtYmVyLCRwYWdlY291bnQpfQp7L2lmfQp7aWYgaXNzZXQoJGxhc3RwYWdlX3VybCl9CiA8YSBocmVmPSJ7JG5leHRwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbmV4dHBhZ2UnKX0iPnskbW9kLT5MYW5nKCduZXh0cGFnZScpfTwvYT4KIDxhIGhyZWY9InskbGFzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYXN0cGFnZScpfSI+eyRtb2QtPkxhbmcoJ2xhc3RwYWdlJyl9PC9hPgp7L2lmfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUgY21zX3NvcnRhYmxlIHRhYmxlc29ydGVyIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JGlkdGV4dH08L3RoPgoJCQk8dGg+eyRwcm9kdWN0dGV4dH08L3RoPgoJICAgICAgICAgICAgICAgIDx0aD57JG1vZC0+TGFuZygnc2t1Jyl9PC90aD4KCQkJPHRoPnskcHJpY2V0ZXh0fTwvdGg+CgkJCTx0aD57JHdlaWdodHRleHR9ICh7JHdlaWdodF91bml0c30pPC90aD4KCQkJPHRoPnskbW9kLT5MYW5nKCdzdGF0dXMnKX08L3RoPgoJCQk8dGg+eyRtb2QtPkxhbmcoJ2xhc3RfbW9kaWZpZWQnKX08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJe2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KCQl7Kjx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+Kn0KICAgICAgICAgICAgICAgIDx0cj4KCQkJPHRkPnskZW50cnktPmlkfTwvdGQ+CgkJCTx0ZD48YSBocmVmPSJ7JGVudHJ5LT5lZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+eyRlbnRyeS0+cHJvZHVjdF9uYW1lfTwvYT48L3RkPgoJICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5za3V9PC90ZD4KCQkJPHRkPnskZW50cnktPnByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+d2VpZ2h0fG51bWJlcl9mb3JtYXQ6Mn08L3RkPgoJCQk8dGQ+eyRtb2QtPkxhbmcoJGVudHJ5LT5zdGF0dXMpfTwvdGQ+CgkgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPm1vZGlmaWVkX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5hdHRyaWJzbGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfSZuYnNwO3skaW1wb3J0bGlua308L3A+PC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/test_import.csv</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I0ZMQUd8I25hbWV8I3NrdXwjZGV0YWlsc3wjcHJpY2V8I2NyZWF0ZV9kYXRlfCNtb2RpZmllZF9kYXRlfCN0YXhhYmxlfCNzdGF0dXN8I3dlaWdodHwjSElFUnwjQ0FUOnRlc3QxfCNDQVQ6dGVzdDJ8I0ZJRUxEOmltYWdlOkltYWdlfCNGSUVMRDp0ZXh0YXJlYTpOb3Rlc3wjQVRUUklCUwpQfFB1cHRlbnR8MTIzNHB8InRoaXMgaXMgYSB0d28gbWFuIHB1cCB0ZW50InwxNC45OXwyMDA5LTAxLTAxfDIwMDktMDEtMDF8MXxwdWJsaXNoZWR8Mi4yNXwiT3V0ZG9vcnMgPj4gQ2FtcGluZyJ8MXwwfHB1cHRlbnQucG5nfCJ0aGlzIGlzIGF1eGlsbGFyeSBkYXRhIGFib3V0IHRoZSBwdXAgdGVudHxDb2xvcjpSZWQ6KzIuNToxMjM0cC1yIC0tIENvbG9yOkdyZWVuOis0LjU6MTIzNHAtZwpQfCJGYW1pbHkgVGVudCJ8MTIzNWZ8InRoaXMgaXMgYSBmYW1pbHkgdGVudCJ8NDMuNzR8MjAwOS0wMi0wMnwyMDA5LTAyLTAyfDF8cHVibGlzaGVkfDUuMzV8Ik91dGRvb3JzID4+IFRlbnRzInwwfDF8YmlndGVudC5wbmd8InRoaXMgaXMgYXV4aWxsYXJ5IGRhdGEgYWJvdXQgdGhlIGZhbWlseSB0ZW50fENvbG9yOkJsdWU6KzIuNToxMjM1Zi1iIC0tIENvbG9yOlJlZDorMy41fDEyMzVmLXI=]]></data>
	</file>
</module>
