<?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>CGBFCrud</name>
	<version>1.3.5</version>
    <mincmsversion>2.2.5</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGEgY29tcGFuaW9uIG1vZHVsZSBmb3IgQ0dCZXR0ZXJGb3Jtcy4gIEl0IGFsbG93cyBmb3JtIHN1Ym1pc3Npb25zIGZyb20gbXVsdGlwbGUgZm9ybXMgdG8gYmUgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gIEZvcm0gc3VibWlzc2lvbnMgY2FuIHRoZW4gYmUgYnJvd3NlZCwgdmlld2VkLCBlZGl0ZWQsIGRlbGV0ZWQsIGFuZCBleHBvcnRlZCBieSBhdXRob3JpemVkIHNpdGUgYWRtaW5pc3RyYXRvcnMuPC9wPgo8cD5UaGlzIG1vZHVsZSBpcyBpbnRlbmRlZCB0byBhbGxvdyBzaXRlIG93bmVycyB0byBtb3JlIGVhc2lseSBtYW5hZ2UgdGhlIGRhdGEgZ2F0aGVyZWQgZnJvbSB1c2VycyBzdWJtaXR0aW5nIGZvcm1zIG9uIHRoZSBmcm9udGVuZCBvZiB0aGVpciB3ZWJzaXRlLjwvcD4KCjxoMz5XaGF0IHRoaXMgZG9lcyBOT1QgZG86PC9oMz4KPHA+VGhpcyBtb2R1bGUgaXMgTk9UIGEgY29uc3RlbnQgY29uc3RydWN0aW9uIGtpdC4gIFRoZXJlIGlzIG5vIHByb3Zpc2lvbiBmb3IgZGF0YSB2YWxpZGF0aW9uLCBvciBvcmdhbml6YXRpb24gKGkuZTogY2F0ZWdvcml6aW5nKS4gIEFuZCB0aGVyZSBpcyBubyB3YXkgYXQgdGhpcyB0aW1lIHRvIGRpc3BsYXkgdGhpcyBkYXRhIG9uIHRoZSBmcm9udGVuZCBvZiB0aGUgd2Vic2l0ZS48L3A+CjxwPlRoaXMgbW9kdWxlIGlzIE5PVCBpbnRlbmRlZCBhcyBhIHJlcGxhY2VtZW50IGZvciBMSVNFLiAgTElTRSBhbGxvd3MgYWRtaW5pc3RyYXRvcnMgdG8gZGVmaW5lIGZpZWxkcywgYW5kIGFkZCByZWNvcmRzIGZyb20gdGhlIGFkbWluIGludGVyZmFjZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgb2YgeW91ciB3ZWJzaXRlLiAgVGhpcyBtb2R1bGUgKGFsb25nIHdpdGggQ0dCZXR0ZXJGb3JtcykgYWxsb3dzIHNpdGUgdmlzaXRvcnMgdG8gY3JlYXRlIG5ldyByZWNvcmRzIGZyb20gdGhlIGZyb250ZW5kIG9mIHlvdXIgd2Vic2l0ZS93ZWItYXBwIGFuZCBmb3IgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHRoZSBzdWJtaXNzaW9ucy48L3A+Cgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CiAgIDxsaT5BZGRzIGEgZGlzcG9zaXRpb24gdG8gdGhlIENHQmV0dGVyRm9ybXMgbW9kdWxlIHRvIGFsbG93IHNhdmluZyBpbmZvcm1hdGlvbiB0byB0aGUgZGF0YWJhc2UuPC9saT4KICAgPGxpPkFsbG93cyBicm93c2luZyByZWNvcmRzIHN0b3JlZCBmb3IgaW5kaXZpZHVhbCBmb3Jtcy48L2xpPgogICA8bGk+QWxsb3dzIGVkaXRpbmcgdGhlIHN1Ym1pc3NvbnMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48L2xpPgogICA8bGk+UmVhZHMgdGhlIENHQmV0dGVyRm9ybXMgZm9ybSBhbmQgd2hlcmUgcG9zc2libGUgY2FuIGRpc3BsYXkgaHVtYW4gcmVhZGFibGUgdmFsdWVzIGZvciBjaGVja2JveCBncm91cHMsIHNlbGVjdCBib3hlcywgYW5kIHJhZGlvIGJ1dHRvbiBncm91cHMuPC9saT4KICAgPGxpPlRoaXMgbW9kdWxlIHdpbGwgZGlzcGxheSB0aHVtYm5haWxzIGZvciB1cGxvYWRlZCBpbWFnZXMuPC9saT4KICAgPGxpPlJlYWRzIHRoZSBDR0JldHRlckZvcm1zIGZvcm0gYW5kIHdoZXJlIHBvc3NpYmxlIHdpbGwgcHJvdmlkZSBpbnRlbGxpZ2VudCBkYXRhIGNvbnRyb2xzIHdoZW4gZWRpdGluZyBhIHN1Ym1pc3Npb24uICBpLmU6ICBpdCB3aWxsIHJlLWNyZWF0ZSBjaGVja2JveCBncm91cHMsIHNlbGVjdCBib3hlcywgYW5kIHJhZGlvIGJ1dHRvbiBncm91cHMuCiAgICAgIDxwPkluIGVkaXQgbW9kZSBpdCBjYW4gYWxzbyByZWFkIHRoZSBpbnB1dCBmaWVsZCB0eXBlIChpLmU6IGRhdGUsIG51bWJlciwgZXRjKS4gIGFuZCB2YXJpb3VzIGF0dHJpYnV0ZXMgbGlrZSBtaW4gYW5kIG1heCBmcm9tIHRoZSBmb3JtLCBhbmQgdXRpbGl6ZSB0aG9zZSBhdHRyaWJ1dGVzIHdoZW4gcmVuZGVyaW5nIHRoZSBlZGl0IGNvbnRyb2wgZm9yIGEgZmllbGQuPC9wPgogICA8L2xpPgogICA8bGk+UHJvdmlkZXMgYSBjb252ZW5pZW50IHdheSB0byBhZGQgcmVjb3JkcyB0byB0aGUgZGF0YWJhc2UgZm9yIGEgcGFydGljdWxhciBmb3JtLjwvbGk+CiAgIDxsaT5FeHBvcnQgYWxsIGRhdGEgY29sbGVjdGVkIGZvciBhIHBhcnRpY3VsYXIgZm9ybSB0byBDU1YuPC9saT4KICAgPGxpPkNyZWF0ZSB2aWV3cyBvZiBhIHN1YnNldCBvZiBmaWVsZHMgYW5kIGEgZmlsdGVyIGNvbmRpdGlvbiwgaW5kZXBlbmRhbnQgb24gdGhlIGZvcm0gdXNlZCB0byBzdWJtaXQgdGhlIGRhdGE8L2xpPgogICA8bGk+RXhwb3J0IGRhdGEgZnJvbSBtYXRjaGVkIHZpZXdzLjwvbGk+CiAgIDxsaT5Tb3J0IHZpZXdzLjwvbGk+CiAgIDxsaT5Nb3JlLi4uPC9saT4KPC91bD4KCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHVsPgogICA8bGk+SW5zdGFsbCB0aGUgbW9kdWxlLjwvbGk+CiAgIDxsaT5PbiB5b3VyIENHQmV0dGVyRm9ybXMgRm9ybXMgYWRkIHRoZSAiU2F2ZSBzdWJtaXNzaW9uIHRvIENHQkZDcnVkIiBoYW5kbGVyIHRvIHRoZSBmb3JtLjwvbGk+CiAgIDxsaT5TYXZlIHRoZSBmb3JtLjwvbGk+CjwvdWw+Cgo8aDM+U2VlIEFsc288L2gzPgo8dWw+CiAgIDxsaT5DR0JldHRlckZvcm1zPC9saT4KICAgPGxpPkxJU0U8L2xpPgo8L3VsPgoKPGgzPkZBUTwvaDM+Cjx1bD4KICAgPGxpPkNhbiBJIGRpc3BsYXkgb3IgZWRpdCBkYXRhIG9uIHRoZSBmcm9udGVuZCBvZiBteSB3ZWJzaXRlPwogICAgICAgPHA+VGhpcyBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS48L3A+CiAgIDwvbGk+CiAgIDxsaT5Tb21lIGZpZWxkcyBhcmUgbm90IGRpc3BsYXllZCBpbiBhZG1pbiBzdW1tYXJ5IHZpZXcKICAgICAgIDxwPkJlY2F1c2Ugc29tZSBmb3JtcyBhbmQgc29tZSBmaWVsZHMgY2FuIGJlIHNvbWV3aGF0IGxhcmdlLCBhbmQgZGlmZmljdWx0IHRvIGRpc3BsYXkgaW4gYSB0YWJ1bGFyIGZvcm1hdCwgdGhlIGFkbWluIHN1bW1hcnkgdmlldyBtYWtlcyBzb21lIGRlY2lzaW9ucyBhcyB0byB3aGF0IGl0IHdpbGwgZGlzcGxheS4gIEl0IGRpc3BsYXlzIHRoZSBmaXJzdCAxMiBub24tdGV4dGFyZWEgZmllbGRzLjwvcD4KICAgICAgIDxwPldoZW4geW91IGNyZWF0ZSB5b3VyIG93biB2aWV3Li4uIGFuZCB1c2UgdGhhdCB2aWV3IHRvIGNyZWF0ZSBhIHN1bW1hcnkgdGhlcmUgaXMgbm8gbGltaXRhdGlvbiwgaG93ZXZlciB0YWJsZXMgbWF5IHNjcm9sbCBhbmQgYmUgZGlmZmljdWx0IHRvIHVzZSB3aXRoIGxhcmdlIG51bWJlcnMgb2YgY29sdW1ucy48L3A+CiAgIDwvbGk+CiAgIDxsaT5JbiBzdXVtbWFyeSB2aWV3IHNvcnRpbmcgb24gYW4gaW50ZWdlciBvciBkYXRlIGNvbHVtIGRvZXMgbm90IHdvcmsKICAgICAgIDxwPlRoaXMgbW9kdWxlIHN0b3JlcyBkYXRhIGluIGtleS92YWx1ZSBwYWlycywgd2hlcmUgZWFjaCB2YWx1ZSBpcyBzdG9yZWQgYXMgYSBzdHJpbmcuICBTb3J0aW5nIGludGVnZXJzIGFzIHN0cmluZ3MgZG9lcyBub3QgZnVuY3Rpb24gdmVyeSB3ZWxsIGJlY2F1c2UgdmFsdWVzIGxpa2UgMTAwIGJlY29tZSBzbWFsbGVyIHRoYW4gdmFsdWVzIGxpa2UgMTIuICBUaGUgb25seSBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW0gaXMgdG8gbW9kaWZ5IHlvdXIgZm9ybSBzdWNoIHRoYXQgaW50ZWdlciBvciBmbG9hdGluZyBwb2ludCB2YWx1ZXMgYXJlIHplcm8gZmlsbGVkIHRvIGEgcmVhc29uYWJsZSBhY2N1cmFjeS4gIFdpdGggZm9ybSBmaWVsZHMgcmVwcmVzZW50aW5nIGRhdGVzLCB5b3Ugd291bGQgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGV5IGFyZSByZXR1cm5lZCBpbiBhIFlZWU1NREQgZm9ybWF0IG9yIHNvbWV0aGluZyBzaW1pbGFyIHNvIHRoYXQgc29ydGluZyB3aWxsIHdvcmsuPC9wPgogICA8L2xpPgogICA8bGk+SW4gZWRpdCBtb2RlIEkgc2VlIGEgdGV4dCBhcmVhL3RleHQgZmllbGQgaW5zdGVhZCBvZiBhIGRyb3Bkb3duLi4uCiAgICAgICA8cD5UT0RPPC9wPgogICA8L2xpPgogICA8bGk+Q2FuIEkgYWRkLCBkZWxldGUsIG9yIHJlbmFtZSBmaWVsZHMgaW4gbXkgZm9ybT8KICAgICAgPHA+RmllbGRzIGNhbiBiZSByZW5hbWVkIGluIGEgZm9ybS4gIEhvd2V2ZXIgdGhpcyB3aWxsIG5vdCByZW5hbWUgdGhlIHN0b3JlZCB2YWx1ZXMgaW4gdGhlIGRhdGFiYXNlLiAgIFNvIHJlbmFtaW5nIGEgZmllbGQgaW4geW91ciBmb3JtIHdpbGwgcmVzdWx0IGluIHRoYXQgbmV3IGZpZWxkIG5hbWUgYmVpbmcgdXNlZCBmb3IgYWxsIG5ldyBzdWJtaXNzaW9ucy4gIE9sZGVyIHN1Ym1pc3Npb25zIHdpbGwgc3RpbGwgaGF2ZSB0aGUgb2xkIGZpZWxkIG5hbWUuPC9wPgogICAgICA8cD5EZWxldGluZyBmaWVsZHMgaW4gYSBmb3JtIHdpbGwgbm90IGFsdGVyIHRoZSBkYXRhYmFzZS4gIFlvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gZWRpdCB0aGUgZmllbGQgdmFsdWUgaW4gdGhlIGVkaXQgZm9ybSwgaG93ZXZlciBzaW5jZSB0aGUgc3lzdGVtIGNhbiBubyBsb25nZXIgaWRlbnRpZnkgdGhlIHR5cGUgb2YgZmllbGQsIGl0IHdpbGwgYmUgcmVwcmVzZW50ZWQgYXMgYSB0ZXh0IGFyZWEuPC9wPgogICAgICA8cD5BZGRpbmcgZmllbGRzIGluIGEgZm9ybSBpcyBzdHJhaWdodCBmb3J3YXJkLiAgSG93ZXZlciBzaW5jZSB0aGUgZmllbGQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIGZvciBleGlzdGluZyBzdWJtaXNzaW9ucywgeW91IHdpbGwgb25seSBiZSBhYmxlIHRvIGVkaXQgdGhhdCBmaWVsZCB2YWx1ZSBmb3IgZXhpc3Rpbmcgc3VibWlzc2lvbnMuPC9wPgogICA8L2xpPgogICA8bGk+Q2FuIEkgY2hhbmdlIHRoZSBvcmRlciBvZiBjb2x1bW5zIGluIG15IGZvcm0/CiAgICAgIDxwPlN1cmUuICBUaGlzIHdpbGwgYmUgcmVmbGVjdGVkIGluIHN1bW1hcnkgdmlldyBhbmQgc29tZXdoYXQgcmVmbGVjdGVkIHdoZW4gZWRpdGluZyBhIHN1Ym1pc3Npb24uPC9wPgogICA8L2xpPgogICA8bGk+Q2FuIEkgdXBsb2FkIG5ldyBmaWxlcyBmb3IgYSByZWNvcmQ/CiAgICAgIDxwPlRob3VnaCB5b3UgY2FuIHZpZXcgYW5kIGRvd25sb2FkIGZpbGVzIGF0dGFjaGVkIHRvIGEgc3VibWlzc2lvbiwgdXBsb2FkaW5nIG5ldyBmaWxlcyBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS48L3A+CiAgIDwvbGk+CiAgIDxsaT5FeHBvcnQgb3V0cHV0cyBkaWZmZXJlbnQgc3RyaW5ncyBmb3Igc29tZSBmaWVsZHMuCiAgICAgIDxwPklmIHlvdSBjaGFuZ2VkIHRoZSB2YWx1ZXMgZm9yIG9wdGlvbnMgaW4gcmFkaW8gYnV0dG9uIGdyb3VwcywgY2hlY2tib3ggZ3JvdXBzLCBvciBzZWxlY3QgZmllbGRzIHRoZW4gdGhlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzIHdpbGwgYmUgc3RvcmVkIGZvciBuZXcgb3IgZWRpdGVkIHN1Ym1pc3Npb25zIG9ubHkuICBIb3dldmVyLCBvbGQgc3VibWlzc2lvbnMgd2lsbCBzdGlsbCBoYXZlIHRoZSBvbGQgdmFsdWVzLjwvcD4KICAgPC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Zyb250ZW5kdXNlcnMiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJvdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDE3LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjU4PC9saT48bGk+Q0dCZXR0ZXJGb3JtcyA9Jmd0OyAxLjQuMjwvbGk+PGxpPkZyb250RW5kVXNlcnMgPSZndDsgMi4xMDwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMy41PGJyIC8+]]></about>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.58</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGBetterForms</requiredname>
	  <requiredversion>1.4.2</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>2.10</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_add_separator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5DYW5NYW5hZ2VWaWV3cygpICkgcmV0dXJuOwoKdHJ5IHsKICAgICR2aWV3TWFuYWdlciA9ICR0aGlzLT5nZXRWaWV3TWFuYWdlcigpOwogICAgJHZpZXcgPSAkdmlld01hbmFnZXItPmNyZWF0ZV9zZXBhcmF0b3IoKTsKICAgICR2aWV3TWFuYWdlci0+c2F2ZSggJHZpZXcgKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoICRlLT5HZXRNZXNzYWdlKCkgKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/action.admin_del_record.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNhbk1hbmFnZSgpICkgcmV0dXJuOwoKdHJ5IHsKICAgICRmb3JtX2lkID0gXGNnZV9wYXJhbTo6Z2V0X2ludCggJHBhcmFtcywgJ2Zvcm1faWQnICk7CiAgICAkZ3VpZCA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoICRwYXJhbXMsICdndWlkJyApOwogICAgaWYoICEkZm9ybV9pZCB8fCAhJGd1aWQgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHBhcmFtZXRlcnMgcGFzc2VkIHRvICcuJGFjdGlvbik7CiAgICAkcmV0dXJuX2EgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAncmV0dXJuX2EnICk7CiAgICAkcmV0dXJuX2IgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAncmV0dXJuX2InICk7CiAgICBpZiggISRyZXR1cm5fYiApICRyZXR1cm5fYSA9IG51bGw7CgogICAgJGZvcm1kYW8gPSAkdGhpcy0+Z2V0Rm9ybVN0b3JhZ2UoKTsKICAgICRmb3JtID0gJGZvcm1kYW8tPmxvYWRfYnlfaWQoICRmb3JtX2lkICk7CiAgICBpZiggISRmb3JtICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCAkdGhpcy0+TGFuZygnZXJyX2JhZGZvcm0nKSApOwogICAgJHJlY29yZCA9ICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCktPmxvYWQoICRmb3JtX2lkLCAkZ3VpZCApOwogICAgaWYoICEkcmVjb3JkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbiggJHRoaXMtPkxhbmcoJ2Vycl9ub3Rmb3VuZCcpICk7CiAgICAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpLT5kZWxldGUoICRmb3JtLCAkcmVjb3JkICk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSggJHRoaXMtPkxhbmcoJ21zZ19yZWNvcmRfZGVsZXRlZCcpICk7CgogICAgc3dpdGNoKCAkcmV0dXJuX2EgKSB7CiAgICBjYXNlICd2aWV3JzoKICAgICAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2FkbWluX3ZpZXdfc3VtbWFyeScsICRyZXR1cm5pZCwgWyAndmlldyc9PiRyZXR1cm5fYiBdICk7CiAgICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2FkbWluX3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ2Zvcm1faWQnPT4kZm9ybV9pZCBdICk7CiAgICB9Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoICRlLT5HZXRNZXNzYWdlKCkgKTsKICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnYWRtaW5fc3VtbWFyeScsICRyZXR1cm5pZCwgWyAnZm9ybV9pZCc9PiRmb3JtX2lkIF0gKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_del_responses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5DYW5NYW5hZ2UoKSApIHJldHVybjsKCi8vIGdldCB0aGUgbGlzdCBvZiBmaWVsZHMgZnJvbSB0aGUgZGF0YWJhc2UuCnRyeSB7CiAgICAkcmVjU3RvcmFnZSA9ICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCk7CiAgICAkZm9ybWRhbyA9ICR0aGlzLT5nZXRGb3JtU3RvcmFnZSgpOwoKICAgICRmb3JtX2lkID0gXGNnZV9wYXJhbTo6Z2V0X2ludCggJHBhcmFtcywgJ2Zvcm1faWQnICk7CiAgICAkZm9ybSA9ICRmb3JtZGFvLT5sb2FkX2J5X2lkKCAkZm9ybV9pZCApOwogICAgaWYoICEkZm9ybSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0Zvcm0gbm90IGZvdW5kJyk7CgogICAgJHJlY1N0b3JhZ2UtPmRlbGV0ZV9hbGxfZm9yX2Zvcm0oICRmb3JtICk7CiAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2FkbWluX2xpc3RfZm9ybXMnICk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoICRlLT5HZXRNZXNzYWdlKCkgKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/action.admin_del_view.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5DYW5NYW5hZ2VWaWV3cygpICkgcmV0dXJuOwoKLy8gZ2V0IHRoZSBsaXN0IG9mIGZpZWxkcyBmcm9tIHRoZSBkYXRhYmFzZS4KdHJ5IHsKICAgICR2bSA9ICR0aGlzLT5nZXRWaWV3TWFuYWdlcigpOwogICAgJHZpZXdfaWQgPSBcY2dlX3BhcmFtOjpnZXRfaW50KCAkcGFyYW1zLCAndmlldycgKTsKICAgIGlmKCAkdmlld19pZCA8IDEgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZpZXcgaWQnKTsKCiAgICAkdmlldyA9ICR2bS0+bG9hZF9ieV9pZCggJHZpZXdfaWQgKTsKICAgIGlmKCAhJHZpZXcgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCAnQ291bGQgbm90IGxvYWQgdGhlIHNwZWNpZmllZCB2aWV3JyApOwogICAgJHZtLT5kZWxldGUoICR2aWV3ICk7CgogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvciggJGUtPkdldE1lc3NhZ2UoKSApOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.admin_detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggXENHQkZDcnVkOjpWSUVXX1BFUk0gKSApIHJldHVybjsKCnRyeSB7CiAgICAkZm9ybV9pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICdmb3JtX2lkJyApOwogICAgJGd1aWQgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAnZ3VpZCcgKTsKICAgIGlmKCAkZm9ybV9pZCA8IDEgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCAnSW52YWxpZCBvciBtaXNzaW5nIGZvcm1faWQnICk7CiAgICBpZiggISAkZ3VpZCApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oICdJbnZhbGlkIG9yIG1pc3NpbmcgZ3VpZCcgKTsKCiAgICAkcmVjb3JkID0gJHRoaXMtPmdldFJlY29yZFN0b3JhZ2UoKS0+bG9hZCggJGZvcm1faWQsICRndWlkICk7CiAgICBpZiggISRyZWNvcmQgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICR0aGlzLT5MYW5nKCdlcnJfbm90Zm91bmQnKSApOwogICAgJGZvcm0gPSAkdGhpcy0+Z2V0Rm9ybVN0b3JhZ2UoKS0+bG9hZF9ieV9pZCggJGZvcm1faWQgKTsKICAgICRtYXAgPSAkdGhpcy0+Z2V0TWFwRmFjdG9yeSgpLT5jcmVhdGVfcHJpbWFyeV9tYXAoICRmb3JtICk7CiAgICAkZmFjdG9yeSA9IG5ldyBEaXNwbGF5YWJsZVJlY29yZEZhY3RvcnkoICRmb3JtLCAkbWFwICk7CiAgICAkcmVjb3JkID0gJGZhY3RvcnktPmNyZWF0ZURpc3BsYXlhYmxlKCAkcmVjb3JkICk7CgogICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fZGV0YWlsLnRwbCcpOwogICAgJHRwbC0+YXNzaWduKCdmb3JtX2lkJywkZm9ybV9pZCk7CiAgICAkdHBsLT5hc3NpZ24oJ2Zvcm0nLCRmb3JtKTsKICAgICR0cGwtPmFzc2lnbigncmVjb3JkJywkcmVjb3JkKTsKICAgICR0cGwtPmFzc2lnbignbWFwJywkbWFwKTsKICAgICR0cGwtPmRpc3BsYXkoKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvciggJGUtPkdldE1lc3NhZ2UoKSApOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_record.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggXENHQkZDcnVkOjpNQU5BR0VfUEVSTSApICkgcmV0dXJuOwoKdHJ5IHsKICAgIC8vIG5vdGU6IHRoaXMgZm9ybSB1c2VzIHRoZSBsaXN0IG9mIGNvbHVtbnMgcmV0dXJuZWQgaW4gdGhlIHJlY29yZCBhcyB0aGUgcHJpbWFyeSBkYXRhIHNvdXJjZQogICAgLy8gdGhlIGZvcm0gZmllbGQgaW5mb3JtYXRpb24gaXMgb25seSB1c2VkIHRvIGdldCBkaXNwbGF5IGluZm9ybWF0aW9uCiAgICAvLyBpZiBhIGNvbHVtbiBleGlzdHMgaW4gdGhlIHJlY29yZCwgYnV0IG5vdCBpbiB0aGUgZm9ybSBpdCBpcyB0cmVhdGVkIGFzIGEgcmF3IHRleHQvdGV4dGFyZWEKICAgICRtYXAgPSBudWxsOwogICAgJGZvcm1faWQgPSBcY2dlX3BhcmFtOjpnZXRfaW50KCAkcGFyYW1zLCAnZm9ybV9pZCcgKTsKICAgICRndWlkID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJHBhcmFtcywgJ2d1aWQnICk7CiAgICAkZm9ybWRhbyA9ICR0aGlzLT5nZXRGb3JtU3RvcmFnZSgpOwogICAgJGZvcm0gPSAkZm9ybWRhby0+bG9hZF9ieV9pZCggJGZvcm1faWQgKTsKICAgIGlmKCAhJGZvcm0gKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICR0aGlzLT5MYW5nKCdlcnJfYmFkZm9ybScpICk7CiAgICAkcmV0dXJuX2EgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAncmV0dXJuX2EnICk7CiAgICAkcmV0dXJuX2IgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAncmV0dXJuX2InICk7CiAgICBpZiggISRyZXR1cm5fYiApICRyZXR1cm5fYSA9IG51bGw7CgogICAgJHJlY29yZCA9IG51bGw7CiAgICBpZiggJGd1aWQgKSB7CiAgICAgICAgJHJlY29yZCA9ICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCktPmxvYWQoICRmb3JtX2lkLCAkZ3VpZCApOwogICAgfSBlbHNlIHsKICAgICAgICAkZ3VpZCA9IFxjZ2VfdXRpbHM6OmNyZWF0ZV9ndWlkKCk7CiAgICB9CiAgICBpZiggISRyZWNvcmQgKSB7CiAgICAgICAgLy8gY291bGQgbm90IGxvYWQuLi4gb3IgaGF2ZSBubyBndWlkLCBzbyBjcmVhdGluZyBhIG5ldyByZWNvcmQuCiAgICAgICAgJHJlY29yZCA9IG5ldyBEQlJlY29yZCggJGZvcm1faWQsICRndWlkICk7CiAgICAgICAgJHJlY29yZCA9ICRyZWNvcmQtPmFkanVzdEZpZWxkKCdjZ2JmX3N1Ym1pdF90aW1lJyx0aW1lKCkpLT5hZGp1c3RGaWVsZCgnY2diZl9yZXF1ZXN0aWQnLCRndWlkKQogICAgICAgICAgICAtPmFkanVzdEZpZWxkKCdjZ2JmX3N1Ym1pdF9pcCcsIFxjZ2VfdXRpbHM6OmdldF9yZWFsX2lwKCkgKTsKICAgIH0KCiAgICBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnY2FuY2VsJykgKSB7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoICR0aGlzLT5MYW5nKCdtc2dfY2FuY2VsbGVkJykgKTsKICAgICAgICBzd2l0Y2goICRyZXR1cm5fYSApIHsKICAgICAgICBjYXNlICd2aWV3JzoKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdhZG1pbl92aWV3X3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ3ZpZXcnPT4kcmV0dXJuX2IgXSApOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdhZG1pbl9zdW1tYXJ5JywgJHJldHVybmlkLCBbICdmb3JtX2lkJz0+JGZvcm1faWQgXSApOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYoIFxjZ2VfcGFyYW06OmV4aXN0cyggJHBhcmFtcywgJ3N1Ym1pdCcpICkgewogICAgICAgIC8vIHRvZG86IG1heSBoYXZlIHRvIGFkanVzdCBzb21lIG9mIHRoZSBwYXJhbXMgZm9yIG11bHRpLXZhbHVlIGZpZWxkcwoKICAgICAgICAvLyBoYW5kbGUgZGVsZXRlZCBmaWxlcyAoZmllbGQgbmFtZXMgZW5kIHdpdGggX2RlbCkKICAgICAgICAkZmllbGRzID0gJHJlY29yZC0+ZmllbGRzOwogICAgICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBpZiggISBzdGFydHN3aXRoKCAka2V5LCAnZmxkXycpICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhIGVuZHN3aXRoKCAka2V5LCAnX2RlbCcpICkgY29udGludWU7CiAgICAgICAgICAgICRmaWVsZF9uYW1lID0gc3Vic3RyKCAka2V5LCA0LCAtNCApOwoKICAgICAgICAgICAgJGN1cl92YWwgPSAkZmllbGRzWyRmaWVsZF9uYW1lXTsKICAgICAgICAgICAgaWYoICEkY3VyX3ZhbCB8fCAhY291bnQoJGN1cl92YWwpICkgY29udGludWU7CgogICAgICAgICAgICAkdG1wID0gbnVsbDsKICAgICAgICAgICAgZm9yZWFjaCggJGN1cl92YWwgYXMgJG9uZV9jdXIgKSB7CiAgICAgICAgICAgICAgICBpZiggIWluX2FycmF5KCAkb25lX2N1ciwgJHZhbCApICkgewogICAgICAgICAgICAgICAgICAgIC8vIG5vdCBkZWxldGVkCiAgICAgICAgICAgICAgICAgICAgJHRtcFtdID0gJG9uZV9jdXI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIGlmIHdlIGNhbm5vdCBkZWxldGUgdGhlIGZpbGUgZm9yIHNvbWUgcmVhc29uIChwZXJtaXNzaW9ucykgYWRkIGl0IGJhY2sgdG8gdGhlIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgLy9pZiggIXVubGluayggJG9uZV9jdXIgKSApICR0bXBbXSA9ICRvbmVfY3VyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZWNvcmQgPSAkcmVjb3JkLT5hZGp1c3RGaWVsZCggJGZpZWxkX25hbWUsICR0bXAgKTsKICAgICAgICAgICAgdW5zZXQoICRwYXJhbXNbJGtleV0gKTsKICAgICAgICB9CgogICAgICAgIC8vIHVwZGF0ZSB0aGUgcmVjb3JkIHdpdGggZmllbGQgdmFsdWVzCiAgICAgICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgIGlmKCAhIHN0YXJ0c3dpdGgoICRrZXksICdmbGRfJykgKSBjb250aW51ZTsKICAgICAgICAgICAgJGtleSA9IHN1YnN0ciggJGtleSwgNCApOwogICAgICAgICAgICBpZiggZW5kc3dpdGgoICRrZXksICdfZGVsJykgKSBjb250aW51ZTsKCiAgICAgICAgICAgICRmaWVsZCA9ICRmb3JtLT5nZXRfZmllbGQoICRrZXkgKTsKICAgICAgICAgICAgaWYoICEkZmllbGQgKSBjb250aW51ZTsgLy8gZmllbGQgbm90IGZvdW5kCgogICAgICAgICAgICAkcmVjb3JkID0gJHJlY29yZC0+YWRqdXN0RmllbGQoICRrZXksICR2YWwgKTsKICAgICAgICB9CgogICAgICAgIC8vIHRvZG86IHZhbGlkYXRlIHRoZSByZWNvcmQgYWdhaW5zdCB0aGUgZm9ybSAocmVxdWlyZWQgZmllbGQsIG1pbmltdW0vbWF4aW11bSBldGMpCgogICAgICAgICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCktPnNhdmUoICRyZWNvcmQgKTsKICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSggJHRoaXMtPkxhbmcoJ21zZ19yZWNvcmRfc2F2ZWQnKSApOwoKICAgICAgICBzd2l0Y2goICRyZXR1cm5fYSApIHsKICAgICAgICBjYXNlICd2aWV3JzoKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdhZG1pbl92aWV3X3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ3ZpZXcnPT4kcmV0dXJuX2IgXSApOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdhZG1pbl9zdW1tYXJ5JywgJHJldHVybmlkLCBbICdmb3JtX2lkJz0+JGZvcm1faWQgXSApOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYoIFxjZ2VfcGFyYW06OmV4aXN0cyggJHBhcmFtcywgJ2RlbGV0ZScpICkgewogICAgICAgICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCktPmRlbGV0ZSggJGZvcm0sICRyZWNvcmQgKTsKICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSggJHRoaXMtPkxhbmcoJ21zZ19yZWNvcmRfZGVsZXRlZCcpICk7CiAgICAgICAgLy8kdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2FkbWluX3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ2Zvcm1faWQnPT4kZm9ybV9pZCBdICk7CgogICAgICAgIHN3aXRjaCggJHJldHVybl9hICkgewogICAgICAgIGNhc2UgJ3ZpZXcnOgogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2FkbWluX3ZpZXdfc3VtbWFyeScsICRyZXR1cm5pZCwgWyAndmlldyc9PiRyZXR1cm5fYiBdICk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2FkbWluX3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ2Zvcm1faWQnPT4kZm9ybV9pZCBdICk7CiAgICAgICAgfQogICAgfQoKICAgICRyZW5kZXJlciA9ICR0aGlzLT5jcmVhdGVGb3JtUmVuZGVyZXIoKTsKICAgICRyZW5kZXJlci0+YWRkX2hpZGRlbiggJ3JldHVybl9hJywgJHJldHVybl9hICk7CiAgICAkcmVuZGVyZXItPmFkZF9oaWRkZW4oICdyZXR1cm5fYicsICRyZXR1cm5fYiApOwogICAgZWNobyAkcmVuZGVyZXItPnJlbmRlciggJGZvcm0sICRyZWNvcmQgKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvciggJGUtPkdldE1lc3NhZ2UoKSApOwogICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdhZG1pbl9zdW1tYXJ5JywgJHJldHVybmlkLCBbICdmb3JtX2lkJz0+JGZvcm1faWQgXSApOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_view.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5DYW5NYW5hZ2VWaWV3cygpICkgcmV0dXJuOwoKLy8gZ2V0IHRoZSBsaXN0IG9mIGZpZWxkcyBmcm9tIHRoZSBkYXRhYmFzZS4KdHJ5IHsKICAgICRyZWNfc3RvcmFnZSA9ICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCk7CiAgICAkY29sdW1ucyA9ICRyZWNfc3RvcmFnZS0+Z2V0X2dsb2JhbF9jb2x1bW5zKCk7CiAgICBpZiggISRjb2x1bW5zICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCAkdGhpcy0+TGFuZygnZXJyX25vZGF0YScpICk7CiAgICAkdmlld01hbmFnZXIgPSAkdGhpcy0+Z2V0Vmlld01hbmFnZXIoKTsKICAgICRmb3JtZGFvID0gJHRoaXMtPmdldEZvcm1TdG9yYWdlKCk7CiAgICAkZm9ybV9saXN0ID0gJGZvcm1kYW8tPmxpc3RfYWxsKCk7CiAgICAkdmlld19pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICd2aWV3JyApOwogICAgJGZvcm1faWQgPSBcY2dlX3BhcmFtOjpnZXRfaW50KCAkcGFyYW1zLCAnZm9ybV9pZCcgKTsKCiAgICAkdmlldyA9ICR2aWV3TWFuYWdlci0+Y3JlYXRlKCk7CiAgICBpZiggJGZvcm1faWQgKSB7CiAgICAgICAgLy8gY3JlYXRlIGEgdmlldyBmcm9tIGEgZm9ybSBhbmQgdGhlbiBhbGxvdyBlZGl0aW5nLgogICAgICAgICRmb3JtID0gJGZvcm1kYW8tPmxvYWRfYnlfaWQoICRmb3JtX2lkICk7CiAgICAgICAgJHZpZXcgPSAkdmlld01hbmFnZXItPmNyZWF0ZV9mb3JfZm9ybSggJGZvcm0gKTsKICAgIH0KICAgIGVsc2UgaWYoICR2aWV3X2lkICkgewogICAgICAgICR2aWV3ID0gJHZpZXdNYW5hZ2VyLT5sb2FkX2J5X2lkKCAkdmlld19pZCApOwogICAgICAgIGlmKCAhJHZpZXcgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZpZXcgaWQgcGFzc2VkIHRvIGFjdGlvbicpOwogICAgfQoKICAgIGlmKCBcY2dlX3BhcmFtOjpleGlzdHMoICRwYXJhbXMsICdjYW5jZWwnKSApIHsKICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwogICAgfQogICAgZWxzZSBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnc3VibWl0JyApICkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIC8vIHdlIGRvIG5vdCBrbm93IHdoYXQgdHlwZSBvZiBmaWVsZHMgdGhlc2UgYXJlCiAgICAgICAgICAgIC8vIGFuZCB0aGVyZSBjb3VsZCBiZSBtdWx0aXBsZSBmaWVsZHMgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBkaWZmZXJlbnQgdHlwZXMgaW4gZGlmZmVyZW50IGZvcm1zCiAgICAgICAgICAgIC8vIHNvIHdlIGNhbiBvbmx5IGRpc3BsYXkgcmF3IHZhbHVlcy4KICAgICAgICAgICAgJG1hcCA9IG5ldyBGaWVsZE1hcDsKICAgICAgICAgICAgaWYoIGlzc2V0KCAkcGFyYW1zWyd2aWV3X2ZsZCddICkgKSB7CiAgICAgICAgICAgICAgICAkZmxkcyA9IFxjZ2VfdXRpbHM6OmdldF9wYXJhbSggJHBhcmFtcywgJ3ZpZXdfZmxkJyApOwogICAgICAgICAgICAgICAgJGZtdHMgPSBcY2dlX3V0aWxzOjpnZXRfcGFyYW0oICRwYXJhbXMsICd2aWV3X2ZtdCcgKTsKICAgICAgICAgICAgICAgICRsYmxzID0gXGNnZV91dGlsczo6Z2V0X3BhcmFtKCAkcGFyYW1zLCAndmlld19sYmwnICk7CiAgICAgICAgICAgICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZmxkcyk7ICRpKysgKSB7CiAgICAgICAgICAgICAgICAgICAgJGZsZCA9ICRmbGRzWyRpXTsKICAgICAgICAgICAgICAgICAgICAkZm10ID0gJGZtdHNbJGldOwogICAgICAgICAgICAgICAgICAgICRsYmwgPSAkbGJsc1skaV07CiAgICAgICAgICAgICAgICAgICAgaWYoICEkZmxkIHx8ICEkZm10ICkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgaWYoICEkbGJsICkgJGxibCA9ICRtYXAtPmdldF9sYWJlbCggJGZsZCApOwogICAgICAgICAgICAgICAgICAgICRtYXAtPiRmbGQgPSAkZm10OwogICAgICAgICAgICAgICAgICAgICRtYXAtPnNldF9sYWJlbCggJGZsZCwgJGxibCApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICRmaWx0ZXIgPSBuZXcgREJGaWx0ZXI7CiAgICAgICAgICAgICRmaWx0ZXJbJ2xpbWl0J10gPSAyNTsKICAgICAgICAgICAgJGZpbHRlclsnZm9ybXMnXSA9IFxjZ2VfdXRpbHM6OmdldF9wYXJhbSggJHBhcmFtcywgJ3ZpZXdfZmlsdGVyX2Zvcm1zJyApOwogICAgICAgICAgICAkZmlsdGVyWydzZWFyY2hfZmllbGQnXSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoICRwYXJhbXMsICd2aWV3X2ZpbHRlcl9maWVsZCcgKTsKICAgICAgICAgICAgJGZpbHRlclsnc2VhcmNoX3N0ciddID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJHBhcmFtcywgJ3ZpZXdfZmlsdGVyX3N0cicgKTsKICAgICAgICAgICAgJGZpbHRlclsnc3VibWl0dGVkX2V4cHInXSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoICRwYXJhbXMsICd2aWV3X2ZpbHRlcl9zdWJtaXR0ZWRfZXhwcicgKTsKICAgICAgICAgICAgJGZpbHRlclsnc3VibWl0dGVkX3ZhbCddID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJHBhcmFtcywgJ3ZpZXdfZmlsdGVyX3N1Ym1pdHRlZF92YWwnICk7CiAgICAgICAgICAgICRmaWx0ZXJbJ29yZGVyX2J5J10gPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAndmlld19maWx0ZXJfc29ydGJ5JyApOwogICAgICAgICAgICAkZmlsdGVyWydzb3J0X2FzYyddID0gKGJvb2wpIFxjZ2VfcGFyYW06OmdldF9ib29sKCAkcGFyYW1zLCAndmlld19maWx0ZXJfc29ydF9hc2MnICk7CiAgICAgICAgICAgICR2aWV3ID0gJHZpZXctPndpdGhGaWx0ZXIoICRmaWx0ZXIgKTsKICAgICAgICAgICAgJHZpZXcgPSAkdmlldy0+d2l0aE1hcCggJG1hcCApOwogICAgICAgICAgICAkdmlldyA9ICR2aWV3LT53aXRoTmFtZSggXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJHBhcmFtcywgJ3ZpZXdfbmFtZScpICk7CgogICAgICAgICAgICAvLyBjaGVjayBpZiBhIHZpZXcgYnkgdGhpcyBuYW1lIGV4aXN0cwogICAgICAgICAgICBpZiggJHZpZXdNYW5hZ2VyLT52aWV3X2V4aXN0cyggJHZpZXcgKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbiggJHRoaXMtPkxhbmcoJ2Vycl92aWV3X2V4aXN0cycpICk7CiAgICAgICAgICAgICR2aWV3TWFuYWdlci0+c2F2ZSggJHZpZXcgKTsKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoICRlLT5HZXRNZXNzYWdlKCkgKTsKICAgICAgICB9CiAgICB9CgogICAgJHN1Ym1pdHRlZF9leHByX2xpc3QgPSBbICcnID0+ICR0aGlzLT5MYW5nKCdhbnknKSwgREJGaWx0ZXI6OlNVQk1JVFRFRF9CRUZPUkUgPT4gJHRoaXMtPkxhbmcoJ3N1Ym1fYmVmb3JlJyksIERCRmlsdGVyOjpTVUJNSVRURURfQUZURVIgPT4gJHRoaXMtPkxhbmcoJ3N1Ym1fYWZ0ZXInKSBdOwogICAgJHN1Ym1pdHRlZF92YWxfbGlzdCA9IFtdOwogICAgJHN1Ym1pdHRlZF92YWxfbGlzdFsnMUQnXSA9ICR0aGlzLT5MYW5nKCdzdWJtaXR0ZWRfMUQnKTsKICAgICRzdWJtaXR0ZWRfdmFsX2xpc3RbJzJEJ10gPSAkdGhpcy0+TGFuZygnc3VibWl0dGVkXzJEJyk7CiAgICAkc3VibWl0dGVkX3ZhbF9saXN0WyczRCddID0gJHRoaXMtPkxhbmcoJ3N1Ym1pdHRlZF8zRCcpOwogICAgJHN1Ym1pdHRlZF92YWxfbGlzdFsnMVcnXSA9ICR0aGlzLT5MYW5nKCdzdWJtaXR0ZWRfMVcnKTsKICAgICRzdWJtaXR0ZWRfdmFsX2xpc3RbJzJXJ10gPSAkdGhpcy0+TGFuZygnc3VibWl0dGVkXzJXJyk7CiAgICAkc3VibWl0dGVkX3ZhbF9saXN0WyczVyddID0gJHRoaXMtPkxhbmcoJ3N1Ym1pdHRlZF8zVycpOwogICAgJHN1Ym1pdHRlZF92YWxfbGlzdFsnMU0nXSA9ICR0aGlzLT5MYW5nKCdzdWJtaXR0ZWRfMU0nKTsKICAgICRzdWJtaXR0ZWRfdmFsX2xpc3RbJzJNJ10gPSAkdGhpcy0+TGFuZygnc3VibWl0dGVkXzJNJyk7CiAgICAkc3VibWl0dGVkX3ZhbF9saXN0WyczTSddID0gJHRoaXMtPkxhbmcoJ3N1Ym1pdHRlZF8zTScpOwogICAgJHN1Ym1pdHRlZF92YWxfbGlzdFsnNk0nXSA9ICR0aGlzLT5MYW5nKCdzdWJtaXR0ZWRfNk0nKTsKICAgICRzdWJtaXR0ZWRfdmFsX2xpc3RbJzFZJ10gPSAkdGhpcy0+TGFuZygnc3VibWl0dGVkXzFZJyk7CiAgICAkc3VibWl0dGVkX3ZhbF9saXN0WycyWSddID0gJHRoaXMtPkxhbmcoJ3N1Ym1pdHRlZF8yWScpOwogICAgJGNvbHVtbl9saXN0ID0gYXJyYXlfbWVyZ2UoIFsgJyc9PiR0aGlzLT5MYW5nKCdub25lJykgXSwgYXJyYXlfY29tYmluZSggJGNvbHVtbnMsICRjb2x1bW5zICkgKTsKICAgICRmb3JtYXRfdHlwZXMgPSBbXTsKICAgICRmb3JtYXRfdHlwZXNbJ3JhdyddID0gJHRoaXMtPkxhbmcoJ2Zvcm1hdF9yYXcnKTsKICAgICRmb3JtYXRfdHlwZXNbJ25vd3JhcCddID0gJHRoaXMtPkxhbmcoJ2Zvcm1hdF9ub3dyYXAnKTsKICAgICRmb3JtYXRfdHlwZXNbJ2ZpbGVzJ10gPSAkdGhpcy0+TGFuZygnZm9ybWF0X2ZpbGVzJyk7CiAgICAkZm9ybWF0X3R5cGVzWydpbWFnZXMnXSA9ICR0aGlzLT5MYW5nKCdmb3JtYXRfaW1hZ2VzJyk7CiAgICAkZm9ybWF0X3R5cGVzWydkYXRlJ10gPSAkdGhpcy0+TGFuZygnZm9ybWF0X2RhdGUnKTsKICAgICRmb3JtYXRfdHlwZXNbJ2Zsb2F0J10gPSAkdGhpcy0+TGFuZygnZm9ybWF0X2Zsb2F0Jyk7CiAgICAkZm9ybWF0X3R5cGVzWydpbnQnXSA9ICR0aGlzLT5MYW5nKCdmb3JtYXRfaW50Jyk7CiAgICAkZm9ybWF0X3R5cGVzWydlbWFpbCddID0gJHRoaXMtPkxhbmcoJ2Zvcm1hdF9lbWFpbCcpOwogICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSggJ2FkbWluX2VkaXRfdmlldy50cGwnICk7CiAgICAkdHBsLT5hc3NpZ24oJ2FsbF9jb2x1bW5zJyxhcnJheV9jb21iaW5lKCAkY29sdW1ucywgJGNvbHVtbnMgKSk7CiAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fbGlzdCcsICRmb3JtX2xpc3QgKTsKICAgICR0cGwtPmFzc2lnbignY29sdW1uX2xpc3QnLCAkY29sdW1uX2xpc3QgKTsKICAgICR0cGwtPmFzc2lnbignZm9ybWF0X3R5cGVzJywkZm9ybWF0X3R5cGVzKTsKICAgICR0cGwtPmFzc2lnbigndmlldycsJHZpZXcpOwogICAgJHRwbC0+YXNzaWduKCdzdWJtaXR0ZWRfZXhwcl9saXN0JywgJHN1Ym1pdHRlZF9leHByX2xpc3QgKTsKICAgICR0cGwtPmFzc2lnbignc3VibWl0dGVkX3ZhbF9saXN0JywgJHN1Ym1pdHRlZF92YWxfbGlzdCApOwogICAgJHRwbC0+ZGlzcGxheSgpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCAkZS0+R2V0TWVzc2FnZSgpICk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_export_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgZXhpdDsKCiRmaWx0ZXIgPSBuZXcgREJGaWx0ZXI7CiRtYXAgPSBudWxsOwoKdHJ5IHsKICAgICR0b3RhbF9tYXRjaGVzID0gbnVsbDsKICAgICRmb3JtX2lkID0gXGNnZV9wYXJhbTo6Z2V0X2ludCggJHBhcmFtcywgJ2Zvcm1faWQnICk7CiAgICBpZiggJGZvcm1faWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbiggJ0ludmFsaWQgb3IgbWlzc2luZyBmb3JtX2lkJyApOwogICAgJGZpbHRlclsnZm9ybV9pZCddID0gJGZvcm1faWQ7CgogICAgJHNlc3Npb25rZXkgPSBcQ0dCRkNydWQ6OkZJTFRFUktFWS4kZm9ybV9pZDsKICAgICR0bXAgPSAkdGhpcy0+c2Vzc2lvbl9nZXQoICRzZXNzaW9ua2V5ICk7CiAgICBpZiggaXNfc3RyaW5nKCAkdG1wICkgKSB7CiAgICAgICAgJHRtcCA9IHVuc2VyaWFsaXplKCAkdG1wICk7CiAgICAgICAgaWYoIGlzX29iamVjdCgkdG1wKSAmJiAkdG1wLT5mb3JtX2lkID09ICRmb3JtX2lkICkgJGZpbHRlciA9ICR0bXA7CiAgICB9CgogICAgJGZvcm1kYW8gPSAkdGhpcy0+Z2V0Rm9ybVN0b3JhZ2UoKTsKICAgICRmb3JtID0gJGZvcm1kYW8tPmxvYWRfYnlfaWQoICRmb3JtX2lkICk7CiAgICBpZiggISRmb3JtICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCAnRm9ybSB3aXRoIGlkICcuJGZvcm1faWQuJyBub3QgZm91bmQgaW4gQ0dCZXR0ZXJGb3Jtcy4gIFdhcyBpdCBkZWxldGVkPycgKTsKICAgICRhbGxfY29sdW1ucyA9ICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCktPmdldF9hbGxfY29sdW1ucyggJGZvcm1faWQgKTsKICAgICRhbGxfY29sdW1ucyA9IGFycmF5X2ZsaXAoICRhbGxfY29sdW1ucyApOwogICAgdW5zZXQoICRhbGxfY29sdW1uc1snY2diZl9mb3JtZGVzYyddLCAkYWxsX2NvbHVtbnNbJ2NnYmZfZm9ybW5hbWUnXSwgJGFsbF9jb2x1bW5zWydjZ2JmX2Zvcm1pZCddICk7CiAgICAkYWxsX2NvbHVtbnMgPSBhcnJheV92YWx1ZXMoIGFycmF5X2ZsaXAoICRhbGxfY29sdW1ucyApICk7CgogICAgJGdldF9jb2x1bW5fYXJyYXkgPSBmdW5jdGlvbiggREJSZWNvcmQgJG9iaiwgYXJyYXkgJGFsbF9jb2x1bW5zICkgewogICAgICAgIC8vIG1ha2UgYWxsX2NvbHVtbnMgYW4gYXNzb2NpYXRpdmUgYXJyYXkKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICAkcmVjID0gJG9iai0+dG9fYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkYWxsX2NvbHVtbnMgYXMgJGtleSApIHsKICAgICAgICAgICAgJHZhbCA9IG51bGw7CiAgICAgICAgICAgIGlmKCBpc3NldCggJHJlY1ska2V5XSkgKSAkdmFsID0gJHJlY1ska2V5XTsKICAgICAgICAgICAgaWYoIGlzX2FycmF5KCAkdmFsICkgKSAkdmFsID0gaW1wbG9kZSggJHZhbCwgJywnKTsKICAgICAgICAgICAgJG91dFska2V5XSA9ICR2YWw7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfTsKCiAgICAkb2Zmc2V0ID0gMDsKICAgICR0b3RhbF9tYXRjaGVzID0gbnVsbDsKICAgICRmaWxlbmFtZSA9IHRlbXBuYW0oIFRNUF9DQUNIRV9MT0NBVElPTiwgJ2NnYmZjcnVkXycgKTsKICAgICRmaCA9IGZvcGVuKCAkZmlsZW5hbWUsICd3JyApOwogICAgZG8gewogICAgICAgICRmaWx0ZXJbJ29mZnNldCddID0gJG9mZnNldDsKICAgICAgICAkdmFsaWRhdGVkX2ZpbHRlciA9ICR0aGlzLT52YWxpZGF0ZUZpbHRlciggJGZvcm0sICRmaWx0ZXIgKTsKICAgICAgICAkcnMgPSAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpLT5jcmVhdGVfcXVlcnkoICR2YWxpZGF0ZWRfZmlsdGVyICk7CiAgICAgICAgJHRvdGFsX21hdGNoZXMgPSAkcnMtPlRvdGFsTWF0Y2hlcygpOwogICAgICAgIGlmKCAkcnMtPlRvdGFsTWF0Y2hlcygpID09IDAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICR0aGlzLT5MYW5nKCdlcnJfbm90aGluZ3RvZXhwb3J0JyApICk7CgogICAgICAgIGlmKCAkb2Zmc2V0ID09IDAgKSB7CiAgICAgICAgICAgIC8vIG91dHB1dCB0aGUgaGVhZGVyCiAgICAgICAgICAgIGZwcmludGYoICRmaCwgJyMnKTsKICAgICAgICAgICAgZnB1dGNzdiggJGZoLCAkYWxsX2NvbHVtbnMgKTsKICAgICAgICAgICAgZnByaW50ZiggJGZoLCAiXG4iKTsgIC8vIGFub3RoZXIgbmV3bGluZQogICAgICAgIH0KCiAgICAgICAgLy8gb3V0cHV0IGVhY2ggcmVjb3JkCiAgICAgICAgd2hpbGUoICEkcnMtPkVPRigpICkgewogICAgICAgICAgICAkYXJyID0gJGdldF9jb2x1bW5fYXJyYXkoICRycy0+Z2V0X29iamVjdCgpLCAkYWxsX2NvbHVtbnMgKTsKICAgICAgICAgICAgZnB1dGNzdiggJGZoLCAkYXJyICk7CiAgICAgICAgICAgICRycy0+TW92ZU5leHQoKTsKICAgICAgICB9CgogICAgICAgICRvZmZzZXQgKz0gJGZpbHRlclsnbGltaXQnXTsKICAgIH0KICAgIHdoaWxlKCAkb2Zmc2V0IDwgJHRvdGFsX21hdGNoZXMgKTsKICAgIGZjbG9zZSggJGZoICk7CgogICAgLy8gdGhpcyBwYXJ0IGNvdWxkIGJlIG1hZGUgdG8gYmUgbW9yZSBtZW1vcnkgZWZmaWNpZW50IHdpdGggbGFyZ2UgZXhwb3J0cy4KICAgIFxjZ2VfdXRpbHM6OnNlbmRfZGF0YV9hbmRfZXhpdCggZmlsZV9nZXRfY29udGVudHMoICRmaWxlbmFtZSApLCAndGV4dC9jc3YnLCAnZXhwb3J0ICcuJGZvcm0tPm5hbWUuJy5jc3YnICk7CiAgICB1bmxpbmsoICRmaWxlbmFtZSApOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCAkZS0+R2V0TWVzc2FnZSgpICk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_export_view.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIHJldHVybjsKCnRyeSB7CiAgICAkZ2V0X3JvdyA9IGZ1bmN0aW9uKCBWaWV3ICR2aWV3LCAkcmVjICkgewogICAgICAgICRpdGVtcyA9ICR2aWV3LT5tYXAtPml0ZW1zKCk7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICRpdGVtcyBhcyAkY29sID0+ICR0eXBlICkgewogICAgICAgICAgICAkdmFsID0gJHJlYy0+JGNvbDsKICAgICAgICAgICAgaWYoICR0eXBlID09ICdkYXRlJyApIHsKICAgICAgICAgICAgICAgICR2YWwgPSBzdHJmdGltZSgnJXggJVgnLCR2YWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRvdXRbXSA9ICR2YWw7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfTsKCiAgICAkdmlld19pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICd2aWV3JyApOwogICAgJHZpZXcgPSAkdGhpcy0+Z2V0Vmlld01hbmFnZXIoKS0+bG9hZF9ieV9pZCggJHZpZXdfaWQgKTsKCiAgICAkZmlsdGVyID0gJHZpZXctPmZpbHRlcjsKICAgICRmaWx0ZXJbJ2xpbWl0J10gPSAxMDAwMDsKICAgICR2aWV3ID0gJHZpZXctPndpdGhGaWx0ZXIoICRmaWx0ZXIgKTsKCiAgICAkYWxsX2NvbHVtbnMgPSAkdmlldy0+bWFwLT5sYWJlbHMoKTsKCiAgICAkaXRlbXMgPSAkdmlldy0+bWFwLT5pdGVtcygpOwogICAgJG9mZnNldCA9IDA7CiAgICAkdG90YWxfbWF0Y2hlcyA9IG51bGw7CiAgICAkZmlsZW5hbWUgPSB0ZW1wbmFtKCBUTVBfQ0FDSEVfTE9DQVRJT04sICdjZ2JmY3J1ZF8nICk7CiAgICAkZmggPSBmb3BlbiggJGZpbGVuYW1lLCAndycgKTsKICAgIGRvIHsKICAgICAgICAkZmlsdGVyWydvZmZzZXQnXSA9ICRvZmZzZXQ7CiAgICAgICAgJHZpZXcgPSAkdmlldy0+d2l0aEZpbHRlciggJGZpbHRlciApOwogICAgICAgICRycyA9ICR0aGlzLT5nZXRSZWNvcmRTdG9yYWdlKCktPmNyZWF0ZV9xdWVyeV9mcm9tX3ZpZXcoICR2aWV3ICk7CiAgICAgICAgJHRvdGFsX21hdGNoZXMgPSAkcnMtPlRvdGFsTWF0Y2hlcygpOwogICAgICAgIGlmKCAkcnMtPlRvdGFsTWF0Y2hlcygpID09IDAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICR0aGlzLT5MYW5nKCdlcnJfbm90aGluZ3RvZXhwb3J0JyApICk7CgogICAgICAgIGlmKCAkb2Zmc2V0ID09IDAgKSB7CiAgICAgICAgICAgIC8vIG91dHB1dCB0aGUgaGVhZGVyCiAgICAgICAgICAgIGZwcmludGYoICRmaCwgJyMnKTsKICAgICAgICAgICAgZnB1dGNzdiggJGZoLCAkYWxsX2NvbHVtbnMgKTsKICAgICAgICAgICAgZnByaW50ZiggJGZoLCAiXG4iKTsgIC8vIGFub3RoZXIgbmV3bGluZQogICAgICAgIH0KCiAgICAgICAgd2hpbGUoICEkcnMtPkVPRigpICkgewogICAgICAgICAgICAkb2JqID0gJHJzLT5nZXRfb2JqZWN0KCk7CiAgICAgICAgICAgICRhcnIgPSAkZ2V0X3JvdyggJHZpZXcsICRvYmogKTsKICAgICAgICAgICAgZnB1dGNzdiggJGZoLCAkYXJyICk7CiAgICAgICAgICAgICRycy0+TW92ZU5leHQoKTsKICAgICAgICB9CgogICAgICAgICRvZmZzZXQgKz0gJGZpbHRlclsnbGltaXQnXTsKICAgIH0KICAgIHdoaWxlKCAkb2Zmc2V0IDwgJHRvdGFsX21hdGNoZXMgKTsKICAgIGZjbG9zZSggJGZoICk7CgogICAgLy8gdGhpcyBwYXJ0IGNvdWxkIGJlIG1hZGUgdG8gYmUgbW9yZSBtZW1vcnkgZWZmaWNpZW50IHdpdGggbGFyZ2UgZXhwb3J0cy4KICAgIFxjZ2VfdXRpbHM6OnNlbmRfZGF0YV9hbmRfZXhpdCggZmlsZV9nZXRfY29udGVudHMoICRmaWxlbmFtZSApLCAndGV4dC9jc3YnLCAnZXhwb3J0IG9mIHZpZXcgJy4kdmlldy0+bmFtZS4nLmNzdicgKTsKICAgIHVubGluayggJGZpbGVuYW1lICk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoICRlLT5HZXRNZXNzYWdlKCkgKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/action.admin_import_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENHQmV0dGVyRm9ybXNcRm9ybTsKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DYW5NYW5hZ2UoKSApIGV4aXQ7CiRzcGVjaWFsX2ZpZWxkcyA9IFsnY2diZl9mb3JtZGVzYycsJ2NnYmZfZm9ybW5hbWUnLCdjZ2JmX3ZlcnNpb24nLCdjZ2JmX3JlcXVlc3RpZCcsJ2NnYmZfZm9ybWlkJywgJ2NnYmZfZWRpdF9ieScsICdjZ2JmX2VkaXRfdGltZSddOwokbWFwID0gbnVsbDsKCiRnZXRfa25vd25fZmllbGRzID0gZnVuY3Rpb24oIEZvcm0gJGZvcm0sIGFycmF5ICRkYl9jb2x1bW5zICkgdXNlICgkc3BlY2lhbF9maWVsZHMpIHsKICAgIGlmKCBpc19hcnJheSggJGRiX2NvbHVtbnMgKSAmJiBjb3VudCggJGRiX2NvbHVtbnMgKSApIHsKICAgICAgICAkdG1wID0gYXJyYXlfZmxpcCggJGRiX2NvbHVtbnMgKTsKICAgICAgICAvLyByZW1vdmUgc29tZSBjb2x1bXNuIHdlIGRvbid0IGNhcmUgYWJvdXQKICAgICAgICBmb3JlYWNoKCAkc3BlY2lhbF9maWVsZHMgYXMgJGtleSApIHsKICAgICAgICAgICAgaWYoIGlzc2V0KCAkdG1wWyRrZXldKSApIHVuc2V0KCAkdG1wWyRrZXldICk7CiAgICAgICAgfQogICAgICAgICR0bXAgPSBhcnJheV9mbGlwKCR0bXApOyAvLyByZXZlcnNlIG9mIGFycmF5IGZsaQogICAgICAgICRkYl9jb2x1bW5zID0gYXJyYXlfY29tYmluZSggJHRtcCwgJHRtcCApOwogICAgfSBlbHNlIHsKICAgICAgICAkZGJfY29sdW1ucyA9IFtdOwogICAgfQogICAgJGZvcm1fZmllbGRzID0gJGZvcm0tPmdldF9maWVsZF9saXN0KCk7CiAgICAkZm9ybV9maWVsZHMgPSBhcnJheV9tZXJnZSggJGRiX2NvbHVtbnMsICRmb3JtX2ZpZWxkcyApOwogICAgcmV0dXJuICRmb3JtX2ZpZWxkczsKfTsKCnRyeSB7CiAgICAkZXJyID0gbnVsbDsKICAgICRjZ2JmID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dCRVRURVJGT1JNUyk7CiAgICAkZm9ybV9pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICdmb3JtX2lkJyApOwogICAgaWYoICRmb3JtX2lkIDwgMSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oICdJbnZhbGlkIG9yIG1pc3NpbmcgZm9ybV9pZCcgKTsKICAgICRmb3JtZGFvID0gJHRoaXMtPmdldEZvcm1TdG9yYWdlKCk7CiAgICAkZm9ybSA9ICRmb3JtZGFvLT5sb2FkX2J5X2lkKCAkZm9ybV9pZCApOwogICAgaWYoICEkZm9ybSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbiggJ0Zvcm0gd2l0aCBpZCAnLiRmb3JtX2lkLicgbm90IGZvdW5kIGluIENHQmV0dGVyRm9ybXMuICBXYXMgaXQgZGVsZXRlZD8nICk7CiAgICAkcmVjb3JkX3N0b3JhZ2UgPSAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpOwogICAgJGRiX2NvbHVtbnMgPSAkcmVjb3JkX3N0b3JhZ2UtPmdldF9hbGxfY29sdW1ucyggJGZvcm1faWQgKTsKICAgICRmb3JtX2ZpZWxkcyA9ICRnZXRfa25vd25fZmllbGRzKCAkZm9ybSwgJGRiX2NvbHVtbnMgKTsKCiAgICBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnY2FuY2VsJykgKSB7CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCAnbTFfJywgJ2FkbWluX3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ2Zvcm1faWQnPT4kZm9ybV9pZF0gKTsKICAgIH0KICAgIGVsc2UgaWYoIFxjZ2VfcGFyYW06OmV4aXN0cyggJHBhcmFtcywgJ3N1Ym1pdCcpICkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRma2V5ID0gJGlkLidmaWxlJzsKICAgICAgICAgICAgaWYoICFpc3NldCggJF9GSUxFUyApIHx8ICFpc3NldCggJF9GSUxFU1skZmtleV0pICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCAkdGhpcy0+TGFuZygnZXJyX2ltcG9ydF9ub2ZpbGUnKSApOwogICAgICAgICAgICAkZnJlYyA9ICRfRklMRVNbJGZrZXldOwogICAgICAgICAgICBpZiggISRmcmVjWyduYW1lJ10gfHwgJGZyZWNbJ3NpemUnXSA9PSAwICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCAkdGhpcy0+TGFuZygnZXJyX2ltcG9ydF9ub2ZpbGUnKSApOwogICAgICAgICAgICBpZiggJGZyZWNbJ2Vycm9yJ10gPiAwICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCAkdGhpcy0+TGFuZygnZXJyX2ltcG9ydF91cGxvYWRlcnJvcicpICk7CgogICAgICAgICAgICAvLyBub3cgd2UgY2FuIG9wZW4gdGhlIGRhbW5lZCB0aGluZy4KICAgICAgICAgICAgJGZoID0gZm9wZW4oICRmcmVjWyd0bXBfbmFtZSddLCAncicgKTsKICAgICAgICAgICAgaWYoICEkZmggKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICR0aGlzLT5MYW5nKCdlcnJfaW1wb3J0X3VwbG9hZGVycm9yJykuJygyKScgKTsKICAgICAgICAgICAgJG5faW1wb3J0ZWQgPSAkc2tlbF9yZWMgPSAkY29sdW1uX21hcCA9IG51bGw7CiAgICAgICAgICAgICRsaW5lID0gMTsKICAgICAgICAgICAgd2hpbGUoICFmZW9mKCAkZmggKSApIHsKICAgICAgICAgICAgICAgIHNldF90aW1lX2xpbWl0KCAyMCApOyAvLyAyMCBzZWNvbmRzIHBlciBsaW5lCiAgICAgICAgICAgICAgICAkaW5fcmVjID0gZmdldGNzdiggJGZoICk7CiAgICAgICAgICAgICAgICBpZiggaXNfYXJyYXkoJGluX3JlYykgJiYgY291bnQoJGluX3JlYykgPiAxICkgewoKICAgICAgICAgICAgICAgICAgICBpZiggJGxpbmUgPT0gMSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBmaXJzdCByZWNvcmQuLi4gZGVmaW5lIHRoZSBza2VsZXRvbiByZWNvcmQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAhc3RhcnRzd2l0aCggJGluX3JlY1swXSwgJyMnKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignZXJyX2ltcG9ydF9iYWRmaWxlJyk7CgogICAgICAgICAgICAgICAgICAgICAgICAkaW5fcmVjWzBdID0gdHJpbShzdWJzdHIoJGluX3JlY1swXSwxKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb2x1bW5fbWFwID0gYXJyYXlfZmxpcCggJGluX3JlYyApOwogICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGp1c3QgZm9ybSBmaWVsZHMgd2l0aCB0aGUgaW50ZXJlc2VjdGlvbiBvZiB0aGUgb25lcyBpbiB0aGlzIGZpbGUuCiAgICAgICAgICAgICAgICAgICAgICAgICRjb21tb25fZm9ybV9maWVsZHMgPSBhcnJheV9pbnRlcnNlY3Rfa2V5KCAkZm9ybV9maWVsZHMsICRjb2x1bW5fbWFwICk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGFyZSBubyBjb21tb24gZmllbGRzLCBPUiBqdXN0IHRoZSBjZ2JmXyBvbmVzLi4gdGhyb3cgYW4gZXJyb3IKICAgICAgICAgICAgICAgICAgICAgICAgaWYoICFjb3VudCgkY29tbW9uX2Zvcm1fZmllbGRzKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignZXJyX2ltcG9ydF9iYWRmaWxlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRmbmQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCggJGNvbW1vbl9mb3JtX2ZpZWxkcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggIXN0YXJ0c3dpdGgoICRrZXksICdjZ2JmXycpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmbmQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAhJGZuZCApICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ2Vycl9pbXBvcnRfYmFkZmlsZScpOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3JlYXRlIGFuIGluaXRpYWwgcmVjb3JkCiAgICAgICAgICAgICAgICAgICAgICAgICRza2VsX3JlYyA9IFsnY2diZl9mb3JtZGVzYyc9PiRmb3JtLT5kZXNjcmlwdGlvbiwgJ2NnYmZfZm9ybW5hbWUnPT4kZm9ybS0+bmFtZSwgJ2NnYmZfZm9ybWlkJz0+JGZvcm0tPmlkXTsKICAgICAgICAgICAgICAgICAgICAgICAgJHNrZWxfcmVjWydjZ2JmX3JlcXVlc3RpZCddID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgJHNrZWxfcmVjWydjZ2JmX2VkaXRfdGltZSddID0gJHNrZWxfcmVjWydjZ2JmX3N1Ym1pdF90aW1lJ10gPSB0aW1lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRza2VsX3JlY1snY2diZl9lZGl0X2J5J10gPSBnZXRfdXNlcmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRza2VsX3JlY1snY2diZl9zdWJtaXRfaXAnXSA9IFxjZ2VfdXRpbHM6OmdldF9yZWFsX2lwKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2goICRjb21tb25fZm9ybV9maWVsZHMgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICFpc3NldCggJHNrZWxfcmVjWyRrZXldKSApICRza2VsX3JlY1ska2V5XSA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBhIGRhdGEgcmVjb3JkCiAgICAgICAgICAgICAgICAgICAgICAgICRyb3cgPSAkc2tlbF9yZWM7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2goICRyb3cgYXMgJGtleSA9PiAkanVuayApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAhaXNzZXQoICRjb2x1bW5fbWFwWyRrZXldKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlkeCA9ICRjb2x1bW5fbWFwWyRrZXldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICFpc3NldCggJGluX3JlY1skaWR4XSkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb3dbJGtleV0gPSAkaW5fcmVjWyRpZHhdOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICRyb3dbJ2NnYmZfcmVxdWVzdGlkJ10gPSBcY2dlX3V0aWxzOjpjcmVhdGVfZ3VpZCgpOyAvLyBicmFuZCBuZXcgZ3VpZAoKICAgICAgICAgICAgICAgICAgICAgICAgJHJlY19vYmogPSBEQlJlY29yZDo6ZnJvbV9hcnJheSggJHJvdyApOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVjb3JkX3N0b3JhZ2UtPnNhdmUoICRyZWNfb2JqICk7CiAgICAgICAgICAgICAgICAgICAgICAgICRuX2ltcG9ydGVkKys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGxpbmUrKzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gZG9uZQogICAgICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSggJHRoaXMtPkxhbmcoJ2ltcG9ydF9zdWNjZXNzJywkbl9pbXBvcnRlZCkgKTsKICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCAnbTFfJywgJ2FkbWluX3N1bW1hcnknLCAkcmV0dXJuaWQsIFsgJ2Zvcm1faWQnPT4kZm9ybV9pZF0gKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgICRlcnIgPSAkZS0+R2V0TWVzc2FnZSgpOwogICAgICAgIH0KICAgIH0KCiAgICAkdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9pbXBvcnRfY3N2LnRwbCcpOwogICAgJHRwbC0+YXNzaWduKCdmb3JtJywkZm9ybSk7CiAgICAkdHBsLT5hc3NpZ24oJ2VycicsJGVycik7CiAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZmllbGRzJywkZm9ybV9maWVsZHMpOwogICAgJHRwbC0+ZGlzcGxheSgpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCAkZS0+R2V0TWVzc2FnZSgpICk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_list_forms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIHJldHVybjsKCiRmb3Jtc193aXRoX3N1Ym1pc3Npb25zID0gbnVsbDsKCi8vIGdldCBhIGxpc3Qgb2YgdGhlIGZvcm1zCiRmb3JtZGFvID0gJHRoaXMtPmdldEZvcm1TdG9yYWdlKCk7CiRmb3JtX2xpc3QgPSAkZm9ybWRhby0+bGlzdF9hbGwoKTsKaWYoIGNvdW50KCRmb3JtX2xpc3QpICkgewogICAgJGZvcm1zX3dpdGhfc3VibWlzc2lvbnMgPSAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpLT5nZXRfc3VibWlzc2lvbl9zdGF0cygpOwogICAgLy8gY3JlYXRlIHRoZSBpbnRlcnNlY3RpbiBvZiB0aGVzZS4KfQoKJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSggJ2FkbWluX2xpc3RfZm9ybXMudHBsJyApOwokdHBsLT5hc3NpZ24oJ2Zvcm1fbGlzdCcsJGZvcm1fbGlzdCk7CiR0cGwtPmFzc2lnbignZm9ybXNfd2l0aF9zdWJtaXNzaW9ucycsJGZvcm1zX3dpdGhfc3VibWlzc2lvbnMpOwokdHBsLT5kaXNwbGF5KCk7]]></data>
	</file>
	<file>
	  <filename>/action.admin_summary.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggXENHQkZDcnVkOjpWSUVXX1BFUk0gKSApIHJldHVybjsKCiRmaWx0ZXIgPSBuZXcgREJGaWx0ZXI7CiRtYXAgPSBudWxsOwoKdHJ5IHsKICAgIC8vIHRoaXMgZGlzcGxheSB3aWxsIG9ubHkgZGlzcGxheSBjb2x1bW5zIHRoYXQgZXhpc3QgaW4gdGhlIGZvcm0uCiAgICAvLyBkdWUgdG8gaGlzdG9yeSwgdGhyZSBtYXkgYmUgb3RoZXIgY29sdW1ucyB0aGF0IGV4aXN0IGluIHRoZSBkYXRhYmFzZSBmb3Igc29tZSByZWNvcmRkcyB0aGF0IGFyZSBub3QgaW4gdGhlIGZvcm0uCiAgICAvLyB0aGV5IGFyZSBlZGl0aWFibGUgYXMgdGV4dCBhcmVhcyB3aXRoaW4gdGhlIGVkaXRfcmVjb3JkIGZvcm0uCiAgICAkZm9ybV9pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICdmb3JtX2lkJyApOwogICAgaWYoICRmb3JtX2lkIDwgMSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oICdJbnZhbGlkIG9yIG1pc3NpbmcgZm9ybV9pZCcgKTsKICAgICRmaWx0ZXJbJ2Zvcm1faWQnXSA9ICRmb3JtX2lkOwogICAgJHN0ZF9maWx0ZXIgPSAkZmlsdGVyOwoKICAgIC8vIGdldCBvdXIgY3VycmVudCBmaWx0ZXIgZnJvbSBzZXNzaW9uL3ByZWZlcmVuY2Ugb3Igc29tZXdoZXJlCiAgICAkc2Vzc2lvbmtleSA9IFxDR0JGQ3J1ZDo6RklMVEVSS0VZLiRmb3JtX2lkOwogICAgJHRtcCA9ICR0aGlzLT5zZXNzaW9uX2dldCggJHNlc3Npb25rZXkgKTsKICAgIGlmKCBpc19zdHJpbmcoICR0bXAgKSApIHsKICAgICAgICAkdG1wID0gdW5zZXJpYWxpemUoICR0bXAgKTsKICAgICAgICBpZiggaXNfb2JqZWN0KCR0bXApICYmICR0bXAtPmZvcm1faWQgPT0gJGZvcm1faWQgKSAkZmlsdGVyID0gJHRtcDsKICAgIH0KCiAgICBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnZmlsdGVyJykgKSB7CiAgICAgICAgLy8gdXBkYXRlIHRoZSBmaWx0ZXIgb2JqZWN0CiAgICAgICAgaWYoICgkc2VhcmNoX2ZpZWxkID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdmaWx0ZXJfc2VhcmNoZmllbGQnKSkgKSB7CiAgICAgICAgICAgICRmaWx0ZXJbJ3NlYXJjaF9maWVsZCddID0gJHNlYXJjaF9maWVsZDsKICAgICAgICB9CiAgICAgICAgaWYoICgkc2VhcmNoX3N0ciA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmlsdGVyX3NlYXJjaHN0cicpKSApIHsKICAgICAgICAgICAgJGZpbHRlclsnc2VhcmNoX3N0ciddID0gJHNlYXJjaF9zdHI7CiAgICAgICAgfQogICAgICAgIGlmKCAoJG9yZGVyX2J5ID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdmaWx0ZXJfb3JkZXJieScpKSApIHsKICAgICAgICAgICAgJGZpbHRlclsnb3JkZXJfYnknXSA9ICRvcmRlcl9ieTsKICAgICAgICB9CiAgICAgICAgJGZpbHRlclsnc29ydF9hc2MnXSA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICdmaWx0ZXJfc29ydGFzYycpOwoKICAgICAgICAvLyBzdG9yZSB0aGUgZmlsdGVyIG9iamVjdAogICAgICAgICR0aGlzLT5zZXNzaW9uX3B1dCggJHNlc3Npb25rZXksIHNlcmlhbGl6ZSggJGZpbHRlciApICk7CiAgICB9CiAgICBlbHNlIGlmKCBcY2dlX3BhcmFtOjpleGlzdHMoICRwYXJhbXMsICdmaWx0ZXJyZXNldCcpICkgewogICAgICAgIC8vIHJlc2V0IHRvIHRoZSBzdGFuZGFyZCBmaWx0ZXIuCiAgICAgICAgJGZpbHRlciA9ICRzdGRfZmlsdGVyOwogICAgICAgICR0aGlzLT5zZXNzaW9uX2NsZWFyKCAkc2Vzc2lvbmtleSApOwogICAgfQoKICAgICRwYWdlbnVtID0gXGNnZV9wYXJhbTo6Z2V0X2ludCggJHBhcmFtcywgJ3BhZ2UnICk7CiAgICBpZiggJHBhZ2VudW0gPiAwICkgJGZpbHRlclsnb2Zmc2V0J10gPSAoJHBhZ2VudW0gLSAxKSAqICRmaWx0ZXJbJ2xpbWl0J107CgogICAgLy8gZ2V0IHRoZSBmb3JtCiAgICAkZm9ybWRhbyA9ICR0aGlzLT5nZXRGb3JtU3RvcmFnZSgpOwogICAgJGZvcm0gPSAkZm9ybWRhby0+bG9hZF9ieV9pZCggJGZvcm1faWQgKTsKICAgIGlmKCAhJGZvcm0gKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICdGb3JtIHdpdGggaWQgJy4kZm9ybV9pZC4nIG5vdCBmb3VuZCBpbiBDR0JldHRlckZvcm1zLiAgV2FzIGl0IGRlbGV0ZWQ/JyApOwogICAgaWYoICEkbWFwICkgewogICAgICAgICRtYXAgPSAkdGhpcy0+Z2V0TWFwRmFjdG9yeSgpLT5jcmVhdGVfc3VtbWFyeV9tYXAoICRmb3JtICk7CiAgICB9CgogICAgJHZhbGlkYXRlZF9maWx0ZXIgPSAkdGhpcy0+dmFsaWRhdGVGaWx0ZXIoICRmb3JtLCAkZmlsdGVyICk7CiAgICAkcnMgPSAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpLT5jcmVhdGVfcXVlcnkoICR2YWxpZGF0ZWRfZmlsdGVyICk7CiAgICAkcGFnID0gJHJzLT5nZXRfcGFnaW5hdGlvbigpOwoKICAgIC8vIGdldCBhbGwgb2YgdGhlIGl0ZW1zIGFuZCBjb252ZXJ0IHRoZW0gaW50byBzb21ldGhpbmcgZGlzcGxheWFibGUuCiAgICAkZmFjdG9yeSA9IG5ldyBEaXNwbGF5YWJsZVJlY29yZEZhY3RvcnkoICRmb3JtLCAkbWFwICk7CiAgICAkb3V0ID0gbnVsbDsKICAgIGZvcmVhY2goICRycyBhcyAkb25lICkgewogICAgICAgICRvdXRbXSA9ICRmYWN0b3J5LT5jcmVhdGVEaXNwbGF5YWJsZSggJG9uZSApOwogICAgfQogICAgdW5zZXQoICRycyApOwoKICAgIC8vIGdldCB0aGUgc3VibWlzc2lvbnMgZnJvbSB0aGUgZm9ybSAobGltaXQsIG9mZnNldCkKICAgIC8vIGdldCB0aGUgZmllbGQgbWFwCiAgICAvLyB0b2RvOiAkbWFwID0gJHRoaXMtPmZpZWxkbWFwU3RvcmFnZS0+bG9hZF9ieV9pZCggJGZvcm0tPmlkICk7CiAgICAkZmllbGRfbGlzdCA9IFsgJycgPT4gJHRoaXMtPkxhbmcoJ25vbmUnKSBdOwogICAgJHNvcnRfbGlzdCA9IG51bGw7CiAgICAkZmllbGRzID0gJGZvcm0tPmdldF9maWVsZHMoKTsKICAgIGZvcmVhY2goICRmaWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICRsYWJlbCA9ICRmaWVsZC0+bGFiZWw7CiAgICAgICAgaWYoICEkbGFiZWwgKSAkbGFiZWwgPSAkZmllbGQtPm5hbWU7CiAgICAgICAgJGZpZWxkX2xpc3RbJGZpZWxkLT5uYW1lXSA9ICRsYWJlbDsKICAgICAgICAkc29ydF9saXN0WyRmaWVsZC0+bmFtZV0gPSAkbGFiZWw7CiAgICB9CiAgICAvLyBhZGQgc3RhbmRhcmQgb3B0aW9ucyB0byBzb3J0IGxpc3QuCiAgICAkc29ydF9saXN0WydjZ2JmX3N1Ym1pdF90aW1lJ10gPSAkdGhpcy0+TGFuZygnc29ydF9kYXRlX29mX3N1Ym1pc3Npb24nKTsKICAgICR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoICdhZG1pbl9zdW1tYXJ5LnRwbCcgKTsKICAgICR0cGwtPmFzc2lnbignZmllbGRfbGlzdCcsJGZpZWxkX2xpc3QpOwogICAgJHRwbC0+YXNzaWduKCdzb3J0X2xpc3QnLCRzb3J0X2xpc3QpOwogICAgJHRwbC0+YXNzaWduKCdmaWx0ZXInLCRmaWx0ZXIpOwogICAgJHRwbC0+YXNzaWduKCdmaWx0ZXJfYXBwbGllZCcsICgkZmlsdGVyICE9ICRzdGRfZmlsdGVyKSk7CiAgICAkdHBsLT5hc3NpZ24oJ2Zvcm0nLCRmb3JtKTsKICAgICR0cGwtPmFzc2lnbignbWFwJywkbWFwKTsKICAgICR0cGwtPmFzc2lnbigncmVzdWx0cycsJG91dCk7CiAgICAkdHBsLT5hc3NpZ24oJ2Nhbl9tYW5hZ2UnLCR0aGlzLT5DYW5NYW5hZ2UoKSApOwogICAgJHRwbC0+YXNzaWduKCdjYW5fbWFuYWdlX3ZpZXdzJywkdGhpcy0+Q2FuTWFuYWdlVmlld3MoKSApOwogICAgJHRwbC0+YXNzaWduKCdwYWdpbmF0aW9uJywkcGFnKTsKICAgICR0cGwtPmRpc3BsYXkoKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvciggJGUtPkdldE1lc3NhZ2UoKSApOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_summary.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIHJldHVybjsKCnRyeSB7CiAgICAkdmlld19pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICd2aWV3JyApOwogICAgJHZpZXcgPSAkdGhpcy0+Z2V0Vmlld01hbmFnZXIoKS0+bG9hZF9ieV9pZCggJHZpZXdfaWQgKTsKICAgICRzZXNzaW9uX2tleSA9ICdhZGRmaWx0ZXInLiR2aWV3X2lkOwogICAgJGFkZGZpbHRlciA9IG5ldyBcU3RkQ2xhc3M7CiAgICAkYWRkZmlsdGVyLT5maWVsZCA9ICcnOwogICAgJGFkZGZpbHRlci0+c3Vic3RyID0gJyc7CiAgICBpZiggaXNzZXQoJF9TRVNTSU9OWyRzZXNzaW9uX2tleV0pICkgJGFkZGZpbHRlciA9ICRfU0VTU0lPTlskc2Vzc2lvbl9rZXldOwoKICAgICRmaWx0ZXIgPSAkdmlldy0+ZmlsdGVyOwogICAgaWYoIFxjZ2VfcGFyYW06OmV4aXN0cyggJHBhcmFtcywgJ3N1Ym1pdCcgKSApIHsKICAgICAgICAkYWRkZmlsdGVyLT5maWVsZCA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoICRwYXJhbXMsICdmaWx0ZXJfc2VhcmNoZmllbGQnICk7CiAgICAgICAgJGFkZGZpbHRlci0+c3Vic3RyID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJHBhcmFtcywgJ2ZpbHRlcl9zZWFyY2hzdHInICk7CiAgICAgICAgJF9TRVNTSU9OWyRzZXNzaW9uX2tleV0gPSAkYWRkZmlsdGVyOwogICAgICAgIHVuc2V0KCRfU0VTU0lPTlsncGFnZScuJHZpZXdfaWRdKTsKICAgIH0KICAgIGlmKCAkYWRkZmlsdGVyLT5maWVsZCAmJiAkYWRkZmlsdGVyLT5zdWJzdHIgKSB7CiAgICAgICAgJGZpbHRlclsnc2VhcmNoX2ZpZWxkMiddID0gJGFkZGZpbHRlci0+ZmllbGQ7CiAgICAgICAgJGZpbHRlclsnc2VhcmNoX3N0cjInXSA9ICRhZGRmaWx0ZXItPnN1YnN0cjsKICAgIH0KCiAgICAkcGFnZW51bSA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRfU0VTU0lPTiwgJ3BhZ2UnLiR2aWV3X2lkICk7CiAgICBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAncGFnZScpICkgICRwYWdlbnVtID0gXGNnZV9wYXJhbTo6Z2V0X2ludCggJHBhcmFtcywgJ3BhZ2UnICk7CiAgICBpZiggJHBhZ2VudW0gPiAwICkgewogICAgICAgICRmaWx0ZXJbJ29mZnNldCddID0gKCRwYWdlbnVtIC0gMSkgKiAkZmlsdGVyWydsaW1pdCddOwogICAgICAgICRfU0VTU0lPTlsncGFnZScuJHZpZXdfaWRdID0gJHBhZ2VudW07CiAgICB9CiAgICAkdmlldyA9ICR2aWV3LT53aXRoRmlsdGVyKCAkZmlsdGVyICk7CiAgICAkcnMgPSAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpLT5jcmVhdGVfcXVlcnlfZnJvbV92aWV3KCAkdmlldyApOwogICAgJHBhZyA9ICRycy0+Z2V0X3BhZ2luYXRpb24oKTsKCiAgICAkdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl92aWV3X3N1bW1hcnkudHBsJyk7CiAgICAkdHBsLT5hc3NpZ24oJ3Jlc3VsdHMnLCRycyk7CiAgICAkdHBsLT5hc3NpZ24oJ3ZpZXcnLCR2aWV3KTsKICAgICR0cGwtPmFzc2lnbigncGFnJywkcGFnKTsKICAgICR0cGwtPmFzc2lnbignYWRkZmlsdGVyJywkYWRkZmlsdGVyKTsKICAgICR0cGwtPmFzc2lnbignY2FuX21hbmFnZScsJHRoaXMtPkNhbk1hbmFnZSgpKTsKICAgICR0cGwtPmFzc2lnbignY2FuX21hbmFnZV92aWV3cycsJHRoaXMtPkNhbk1hbmFnZVZpZXdzKCkpOwogICAgJHRwbC0+ZGlzcGxheSgpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCAkZS0+R2V0TWVzc2FnZSgpICk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIHJldHVybjsKCmlmKCBcY2dlX3BhcmFtOjpleGlzdHMoICRwYXJhbXMsICdzYXZlc29ydGluZycpICkgewogICAgJHNvcnRpbmcgPSBcY2dlX3V0aWxzOjpnZXRfcGFyYW0oICRwYXJhbXMsICd2aWV3JyApOwogICAgJHRoaXMtPmdldFZpZXdNYW5hZ2VyKCktPm9yZ2FuaXplX3ZpZXdzKCAkc29ydGluZyApOwp9Cgokdmlld3MgPSAkdGhpcy0+Z2V0Vmlld01hbmFnZXIoKS0+bG9hZF9hbGwoKTsKJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSggJ2RlZmF1bHRhZG1pbi50cGwnICk7CiR0cGwtPmFzc2lnbignY2FuX21hbmFnZV92aWV3cycsICR0aGlzLT5DYW5NYW5hZ2VWaWV3cygpICk7CiR0cGwtPmFzc2lnbiggJ3ZpZXdzJywgJHZpZXdzICk7CiR0cGwtPmRpc3BsYXkoKTs=]]></data>
	</file>
	<file>
	  <filename>/CGBFCrud.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKdXNlIFxDR0JldHRlckZvcm1zXEZvcm07CnVzZSBcQ0dCRkNydWRcREJGaWx0ZXI7CnVzZSBcQ0dCRkNydWRcVmFsaWRhdGVkREJGaWx0ZXI7CgpmaW5hbCBjbGFzcyBDR0JGQ3J1ZCBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgICBjb25zdCBNQU5BR0VWSUVXU19QRVJNID0gJ01hbmFnZSBDR0JGIFZpZXdzJzsKICAgIGNvbnN0IE1BTkFHRV9QRVJNID0gJ01hbmFnZSBDR0JGIFN0b3JlZCBTdWJtaXNzaW9ucyc7CiAgICBjb25zdCBWSUVXX1BFUk0gPSAnVmlldyBDR0JGIFN0b3JlZCBTdWJtaXNzaW9ucyc7CgogICAgLy8gdXNlZCB0byBrZWVwIGZpbHRlcnMgZm9yIGRpZmZlcmVudCBmb3JtcyBpbiB0aGUgc2Vzc2lvbi4KICAgIC8vIHdlIGFwcGVuZCB0aGUgZm9ybSBpZCB0byB0aGlzIHN0cmluZy4KICAgIC8vIHRvIGludmFsaWRhdGUgZmlsdGVycywganVzdCBjaGFuZ2UgdGhpcyBzdHJpbmcuCiAgICBjb25zdCBGSUxURVJLRVkgPSAnZmlsdGVyXyc7CgogICAgcHJpdmF0ZSAkX21hcEZhY3Rvcnk7CiAgICBwcml2YXRlICRfZm9ybVN0b3JhZ2U7CiAgICBwcml2YXRlICRfcmVjU3RvcmFnZTsKICAgIHByaXZhdGUgJF92aWV3TWFuYWdlcjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCiAgICAgICAgJHNtYXJ0eSA9IENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldFNtYXJ0eSgpOwogICAgICAgIGlmKCAhJHNtYXJ0eSApIHJldHVybjsKCiAgICAgICAgc3RhdGljICR0cnkgPSAwOwogICAgICAgIGlmKCAkdHJ5ID09IDAgKSB7CiAgICAgICAgICAgICRjZ2JmID0gXGNnZV91dGlsczo6Z2V0X21vZHVsZSgnQ0dCZXR0ZXJGb3JtcycpOwogICAgICAgICAgICBpZiggISRjZ2JmICkgcmV0dXJuOyAgLy8gbW9kdWxlIG1heSBuZWVkIHVwZ3JhZGluZy4KICAgICAgICAgICAgJGVkaXRvciA9IG5ldyBcQ0dCRkNydWRcREJEaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKTsKICAgICAgICAgICAgJGNnYmYtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggJGVkaXRvciApOwogICAgICAgICAgICAkdHJ5Kys7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzEuMy41JzsgfQogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgeyByZXR1cm4gJzIuMi41JzsgfQogICAgcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkgCiAgICB7IAoJcmV0dXJuIFsgCgkJJ0NHRXh0ZW5zaW9ucyc9PicxLjU4JywgCgkJJ0NHQmV0dGVyRm9ybXMnPT4nMS40LjInLAoJIAknRnJvbnRFbmRVc2Vycyc9PicyLjEwJyAKCV07ICAKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICAgIHsKICAgICAgICByZXR1cm4KICAgICAgICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggc2VsZjo6TUFOQUdFX1BFUk0gKSB8fAogICAgICAgICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCBzZWxmOjpNQU5BR0VWSUVXU19QRVJNICkgfHwKICAgICAgICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggc2VsZjo6VklFV19QRVJNICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIENhbk1hbmFnZVZpZXdzKCkgeyByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggc2VsZjo6TUFOQUdFVklFV1NfUEVSTSApOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gQ2FuTWFuYWdlKCkgeyByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggc2VsZjo6TUFOQUdFX1BFUk0gKTsgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2YWxpZGF0ZUZpbHRlciggRm9ybSAkZm9ybSwgREJGaWx0ZXIgJGZpbHRlciApCiAgICB7CiAgICAgICAgJGtub3duX2ZpZWxkcyA9IFsnY2diZl9zdWJtaXRfdGltZScsICdjZ2JmX3N1Ym1pdF9pcCcsICdjZ2JmX3ZlcnNpb24nLCAnY2diZl9mb3JtbmFtZScsICdjZ2JmX2Zvcm1kZXNjJywgJ2NnYmZfcmVxdWVzdGlkJyBdOwogICAgICAgIC8vIHJlYWRzIHRoZSBmaWx0ZXIsIHZhbGlkYXRlcyB0aGUgc2VhcmNoX2ZpZWxkIGFuZCBzb3J0YnkKICAgICAgICAvLyBwYXNzZXMgb3V0IGEgdmFsaWRhdGVkIGZpbHRlci4KICAgICAgICBpZiggJGZpbHRlci0+c2VhcmNoX2ZpZWxkICkgewogICAgICAgICAgICBpZiggISRmaWx0ZXItPnNlYXJjaF9zdHIgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZmlsdGVyJykgKTsKICAgICAgICAgICAgaWYoICFpbl9hcnJheSggJGZpbHRlci0+c2VhcmNoX2ZpZWxkLCAka25vd25fZmllbGRzICkgKSAkZm9ybS0+Z2V0X2ZpZWxkKCAkZmlsdGVyLT5zZWFyY2hfZmllbGQgKTsKICAgICAgICB9CiAgICAgICAgaWYoICRmaWx0ZXItPm9yZGVyX2J5ICkgewogICAgICAgICAgICBpZiggIWluX2FycmF5KCAkZmlsdGVyLT5vcmRlcl9ieSwgJGtub3duX2ZpZWxkcyApICkgewogICAgICAgICAgICAgICAgJGZvcm0tPmdldF9maWVsZCggJGZpbHRlci0+b3JkZXJfYnkgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyBpZiB3ZSBnb3QgaGVyZSB3aXRob3V0IGFuIGV4Y2VwdGlvbiwgaXQgdmFsaWRhdGVkLgogICAgICAgIHJldHVybiBuZXcgVmFsaWRhdGVkREJGaWx0ZXIoICRmaWx0ZXIgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0UmVjb3JkU3RvcmFnZSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X3JlY1N0b3JhZ2UgKSB7CiAgICAgICAgICAgICR0aGlzLT5fcmVjU3RvcmFnZSA9IG5ldyBcQ0dCRkNydWRcREJGb3JtU3RvcmFnZSggXGNnZV91dGlsczo6Z2V0X2RiKCkgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5fcmVjU3RvcmFnZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Rm9ybVN0b3JhZ2UoKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPl9mb3JtU3RvcmFnZSApIHsKICAgICAgICAgICAgJHRoaXMtPl9mb3JtU3RvcmFnZSA9IG5ldyBcQ0dCZXR0ZXJGb3Jtc1xGb3JtREFPKCBcY2dlX3V0aWxzOjpnZXRfZGIoKSApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPl9mb3JtU3RvcmFnZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0TWFwRmFjdG9yeSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X21hcEZhY3RvcnkgKSB7CiAgICAgICAgICAgICR0aGlzLT5fbWFwRmFjdG9yeSA9IG5ldyBcQ0dCRkNydWRcRmllbGRNYXBGYWN0b3J5OwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPl9tYXBGYWN0b3J5OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRWaWV3TWFuYWdlcigpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X3ZpZXdNYW5hZ2VyICkgewogICAgICAgICAgICAkdGhpcy0+X3ZpZXdNYW5hZ2VyID0gbmV3IFxDR0JGQ3J1ZFxWaWV3TWFuYWdlciggJHRoaXMgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmlld01hbmFnZXI7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZUZvcm1SZW5kZXJlcigpCiAgICB7CiAgICAgICAgJG9iaiA9IG5ldyBcQ0dCRkNydWRcQWRtaW5TaWRlRm9ybVJlbmRlcmVyKCAnXENHQkZDcnVkXEZpZWxkUmVuZGVyZXInICk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9Cn0gLy8gY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGEgY29tcGFuaW9uIG1vZHVsZSBmb3IgQ0dCZXR0ZXJGb3Jtcy4gIEl0IGFsbG93cyBmb3JtIHN1Ym1pc3Npb25zIGZyb20gbXVsdGlwbGUgZm9ybXMgdG8gYmUgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gIEZvcm0gc3VibWlzc2lvbnMgY2FuIHRoZW4gYmUgYnJvd3NlZCwgdmlld2VkLCBlZGl0ZWQsIGRlbGV0ZWQsIGFuZCBleHBvcnRlZCBieSBhdXRob3JpemVkIHNpdGUgYWRtaW5pc3RyYXRvcnMuPC9wPgo8cD5UaGlzIG1vZHVsZSBpcyBpbnRlbmRlZCB0byBhbGxvdyBzaXRlIG93bmVycyB0byBtb3JlIGVhc2lseSBtYW5hZ2UgdGhlIGRhdGEgZ2F0aGVyZWQgZnJvbSB1c2VycyBzdWJtaXR0aW5nIGZvcm1zIG9uIHRoZSBmcm9udGVuZCBvZiB0aGVpciB3ZWJzaXRlLjwvcD4KCjxoMz5XaGF0IHRoaXMgZG9lcyBOT1QgZG86PC9oMz4KPHA+VGhpcyBtb2R1bGUgaXMgTk9UIGEgY29uc3RlbnQgY29uc3RydWN0aW9uIGtpdC4gIFRoZXJlIGlzIG5vIHByb3Zpc2lvbiBmb3IgZGF0YSB2YWxpZGF0aW9uLCBvciBvcmdhbml6YXRpb24gKGkuZTogY2F0ZWdvcml6aW5nKS4gIEFuZCB0aGVyZSBpcyBubyB3YXkgYXQgdGhpcyB0aW1lIHRvIGRpc3BsYXkgdGhpcyBkYXRhIG9uIHRoZSBmcm9udGVuZCBvZiB0aGUgd2Vic2l0ZS48L3A+CjxwPlRoaXMgbW9kdWxlIGlzIE5PVCBpbnRlbmRlZCBhcyBhIHJlcGxhY2VtZW50IGZvciBMSVNFLiAgTElTRSBhbGxvd3MgYWRtaW5pc3RyYXRvcnMgdG8gZGVmaW5lIGZpZWxkcywgYW5kIGFkZCByZWNvcmRzIGZyb20gdGhlIGFkbWluIGludGVyZmFjZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgb2YgeW91ciB3ZWJzaXRlLiAgVGhpcyBtb2R1bGUgKGFsb25nIHdpdGggQ0dCZXR0ZXJGb3JtcykgYWxsb3dzIHNpdGUgdmlzaXRvcnMgdG8gY3JlYXRlIG5ldyByZWNvcmRzIGZyb20gdGhlIGZyb250ZW5kIG9mIHlvdXIgd2Vic2l0ZS93ZWItYXBwIGFuZCBmb3IgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHRoZSBzdWJtaXNzaW9ucy48L3A+Cgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CiAgIDxsaT5BZGRzIGEgZGlzcG9zaXRpb24gdG8gdGhlIENHQmV0dGVyRm9ybXMgbW9kdWxlIHRvIGFsbG93IHNhdmluZyBpbmZvcm1hdGlvbiB0byB0aGUgZGF0YWJhc2UuPC9saT4KICAgPGxpPkFsbG93cyBicm93c2luZyByZWNvcmRzIHN0b3JlZCBmb3IgaW5kaXZpZHVhbCBmb3Jtcy48L2xpPgogICA8bGk+QWxsb3dzIGVkaXRpbmcgdGhlIHN1Ym1pc3NvbnMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48L2xpPgogICA8bGk+UmVhZHMgdGhlIENHQmV0dGVyRm9ybXMgZm9ybSBhbmQgd2hlcmUgcG9zc2libGUgY2FuIGRpc3BsYXkgaHVtYW4gcmVhZGFibGUgdmFsdWVzIGZvciBjaGVja2JveCBncm91cHMsIHNlbGVjdCBib3hlcywgYW5kIHJhZGlvIGJ1dHRvbiBncm91cHMuPC9saT4KICAgPGxpPlRoaXMgbW9kdWxlIHdpbGwgZGlzcGxheSB0aHVtYm5haWxzIGZvciB1cGxvYWRlZCBpbWFnZXMuPC9saT4KICAgPGxpPlJlYWRzIHRoZSBDR0JldHRlckZvcm1zIGZvcm0gYW5kIHdoZXJlIHBvc3NpYmxlIHdpbGwgcHJvdmlkZSBpbnRlbGxpZ2VudCBkYXRhIGNvbnRyb2xzIHdoZW4gZWRpdGluZyBhIHN1Ym1pc3Npb24uICBpLmU6ICBpdCB3aWxsIHJlLWNyZWF0ZSBjaGVja2JveCBncm91cHMsIHNlbGVjdCBib3hlcywgYW5kIHJhZGlvIGJ1dHRvbiBncm91cHMuCiAgICAgIDxwPkluIGVkaXQgbW9kZSBpdCBjYW4gYWxzbyByZWFkIHRoZSBpbnB1dCBmaWVsZCB0eXBlIChpLmU6IGRhdGUsIG51bWJlciwgZXRjKS4gIGFuZCB2YXJpb3VzIGF0dHJpYnV0ZXMgbGlrZSBtaW4gYW5kIG1heCBmcm9tIHRoZSBmb3JtLCBhbmQgdXRpbGl6ZSB0aG9zZSBhdHRyaWJ1dGVzIHdoZW4gcmVuZGVyaW5nIHRoZSBlZGl0IGNvbnRyb2wgZm9yIGEgZmllbGQuPC9wPgogICA8L2xpPgogICA8bGk+UHJvdmlkZXMgYSBjb252ZW5pZW50IHdheSB0byBhZGQgcmVjb3JkcyB0byB0aGUgZGF0YWJhc2UgZm9yIGEgcGFydGljdWxhciBmb3JtLjwvbGk+CiAgIDxsaT5FeHBvcnQgYWxsIGRhdGEgY29sbGVjdGVkIGZvciBhIHBhcnRpY3VsYXIgZm9ybSB0byBDU1YuPC9saT4KICAgPGxpPkNyZWF0ZSB2aWV3cyBvZiBhIHN1YnNldCBvZiBmaWVsZHMgYW5kIGEgZmlsdGVyIGNvbmRpdGlvbiwgaW5kZXBlbmRhbnQgb24gdGhlIGZvcm0gdXNlZCB0byBzdWJtaXQgdGhlIGRhdGE8L2xpPgogICA8bGk+RXhwb3J0IGRhdGEgZnJvbSBtYXRjaGVkIHZpZXdzLjwvbGk+CiAgIDxsaT5Tb3J0IHZpZXdzLjwvbGk+CiAgIDxsaT5Nb3JlLi4uPC9saT4KPC91bD4KCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHVsPgogICA8bGk+SW5zdGFsbCB0aGUgbW9kdWxlLjwvbGk+CiAgIDxsaT5PbiB5b3VyIENHQmV0dGVyRm9ybXMgRm9ybXMgYWRkIHRoZSAiU2F2ZSBzdWJtaXNzaW9uIHRvIENHQkZDcnVkIiBoYW5kbGVyIHRvIHRoZSBmb3JtLjwvbGk+CiAgIDxsaT5TYXZlIHRoZSBmb3JtLjwvbGk+CjwvdWw+Cgo8aDM+U2VlIEFsc288L2gzPgo8dWw+CiAgIDxsaT5DR0JldHRlckZvcm1zPC9saT4KICAgPGxpPkxJU0U8L2xpPgo8L3VsPgoKPGgzPkZBUTwvaDM+Cjx1bD4KICAgPGxpPkNhbiBJIGRpc3BsYXkgb3IgZWRpdCBkYXRhIG9uIHRoZSBmcm9udGVuZCBvZiBteSB3ZWJzaXRlPwogICAgICAgPHA+VGhpcyBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS48L3A+CiAgIDwvbGk+CiAgIDxsaT5Tb21lIGZpZWxkcyBhcmUgbm90IGRpc3BsYXllZCBpbiBhZG1pbiBzdW1tYXJ5IHZpZXcKICAgICAgIDxwPkJlY2F1c2Ugc29tZSBmb3JtcyBhbmQgc29tZSBmaWVsZHMgY2FuIGJlIHNvbWV3aGF0IGxhcmdlLCBhbmQgZGlmZmljdWx0IHRvIGRpc3BsYXkgaW4gYSB0YWJ1bGFyIGZvcm1hdCwgdGhlIGFkbWluIHN1bW1hcnkgdmlldyBtYWtlcyBzb21lIGRlY2lzaW9ucyBhcyB0byB3aGF0IGl0IHdpbGwgZGlzcGxheS4gIEl0IGRpc3BsYXlzIHRoZSBmaXJzdCAxMiBub24tdGV4dGFyZWEgZmllbGRzLjwvcD4KICAgICAgIDxwPldoZW4geW91IGNyZWF0ZSB5b3VyIG93biB2aWV3Li4uIGFuZCB1c2UgdGhhdCB2aWV3IHRvIGNyZWF0ZSBhIHN1bW1hcnkgdGhlcmUgaXMgbm8gbGltaXRhdGlvbiwgaG93ZXZlciB0YWJsZXMgbWF5IHNjcm9sbCBhbmQgYmUgZGlmZmljdWx0IHRvIHVzZSB3aXRoIGxhcmdlIG51bWJlcnMgb2YgY29sdW1ucy48L3A+CiAgIDwvbGk+CiAgIDxsaT5JbiBzdXVtbWFyeSB2aWV3IHNvcnRpbmcgb24gYW4gaW50ZWdlciBvciBkYXRlIGNvbHVtIGRvZXMgbm90IHdvcmsKICAgICAgIDxwPlRoaXMgbW9kdWxlIHN0b3JlcyBkYXRhIGluIGtleS92YWx1ZSBwYWlycywgd2hlcmUgZWFjaCB2YWx1ZSBpcyBzdG9yZWQgYXMgYSBzdHJpbmcuICBTb3J0aW5nIGludGVnZXJzIGFzIHN0cmluZ3MgZG9lcyBub3QgZnVuY3Rpb24gdmVyeSB3ZWxsIGJlY2F1c2UgdmFsdWVzIGxpa2UgMTAwIGJlY29tZSBzbWFsbGVyIHRoYW4gdmFsdWVzIGxpa2UgMTIuICBUaGUgb25seSBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW0gaXMgdG8gbW9kaWZ5IHlvdXIgZm9ybSBzdWNoIHRoYXQgaW50ZWdlciBvciBmbG9hdGluZyBwb2ludCB2YWx1ZXMgYXJlIHplcm8gZmlsbGVkIHRvIGEgcmVhc29uYWJsZSBhY2N1cmFjeS4gIFdpdGggZm9ybSBmaWVsZHMgcmVwcmVzZW50aW5nIGRhdGVzLCB5b3Ugd291bGQgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGV5IGFyZSByZXR1cm5lZCBpbiBhIFlZWU1NREQgZm9ybWF0IG9yIHNvbWV0aGluZyBzaW1pbGFyIHNvIHRoYXQgc29ydGluZyB3aWxsIHdvcmsuPC9wPgogICA8L2xpPgogICA8bGk+SW4gZWRpdCBtb2RlIEkgc2VlIGEgdGV4dCBhcmVhL3RleHQgZmllbGQgaW5zdGVhZCBvZiBhIGRyb3Bkb3duLi4uCiAgICAgICA8cD5UT0RPPC9wPgogICA8L2xpPgogICA8bGk+Q2FuIEkgYWRkLCBkZWxldGUsIG9yIHJlbmFtZSBmaWVsZHMgaW4gbXkgZm9ybT8KICAgICAgPHA+RmllbGRzIGNhbiBiZSByZW5hbWVkIGluIGEgZm9ybS4gIEhvd2V2ZXIgdGhpcyB3aWxsIG5vdCByZW5hbWUgdGhlIHN0b3JlZCB2YWx1ZXMgaW4gdGhlIGRhdGFiYXNlLiAgIFNvIHJlbmFtaW5nIGEgZmllbGQgaW4geW91ciBmb3JtIHdpbGwgcmVzdWx0IGluIHRoYXQgbmV3IGZpZWxkIG5hbWUgYmVpbmcgdXNlZCBmb3IgYWxsIG5ldyBzdWJtaXNzaW9ucy4gIE9sZGVyIHN1Ym1pc3Npb25zIHdpbGwgc3RpbGwgaGF2ZSB0aGUgb2xkIGZpZWxkIG5hbWUuPC9wPgogICAgICA8cD5EZWxldGluZyBmaWVsZHMgaW4gYSBmb3JtIHdpbGwgbm90IGFsdGVyIHRoZSBkYXRhYmFzZS4gIFlvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gZWRpdCB0aGUgZmllbGQgdmFsdWUgaW4gdGhlIGVkaXQgZm9ybSwgaG93ZXZlciBzaW5jZSB0aGUgc3lzdGVtIGNhbiBubyBsb25nZXIgaWRlbnRpZnkgdGhlIHR5cGUgb2YgZmllbGQsIGl0IHdpbGwgYmUgcmVwcmVzZW50ZWQgYXMgYSB0ZXh0IGFyZWEuPC9wPgogICAgICA8cD5BZGRpbmcgZmllbGRzIGluIGEgZm9ybSBpcyBzdHJhaWdodCBmb3J3YXJkLiAgSG93ZXZlciBzaW5jZSB0aGUgZmllbGQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIGZvciBleGlzdGluZyBzdWJtaXNzaW9ucywgeW91IHdpbGwgb25seSBiZSBhYmxlIHRvIGVkaXQgdGhhdCBmaWVsZCB2YWx1ZSBmb3IgZXhpc3Rpbmcgc3VibWlzc2lvbnMuPC9wPgogICA8L2xpPgogICA8bGk+Q2FuIEkgY2hhbmdlIHRoZSBvcmRlciBvZiBjb2x1bW5zIGluIG15IGZvcm0/CiAgICAgIDxwPlN1cmUuICBUaGlzIHdpbGwgYmUgcmVmbGVjdGVkIGluIHN1bW1hcnkgdmlldyBhbmQgc29tZXdoYXQgcmVmbGVjdGVkIHdoZW4gZWRpdGluZyBhIHN1Ym1pc3Npb24uPC9wPgogICA8L2xpPgogICA8bGk+Q2FuIEkgdXBsb2FkIG5ldyBmaWxlcyBmb3IgYSByZWNvcmQ/CiAgICAgIDxwPlRob3VnaCB5b3UgY2FuIHZpZXcgYW5kIGRvd25sb2FkIGZpbGVzIGF0dGFjaGVkIHRvIGEgc3VibWlzc2lvbiwgdXBsb2FkaW5nIG5ldyBmaWxlcyBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS48L3A+CiAgIDwvbGk+CiAgIDxsaT5FeHBvcnQgb3V0cHV0cyBkaWZmZXJlbnQgc3RyaW5ncyBmb3Igc29tZSBmaWVsZHMuCiAgICAgIDxwPklmIHlvdSBjaGFuZ2VkIHRoZSB2YWx1ZXMgZm9yIG9wdGlvbnMgaW4gcmFkaW8gYnV0dG9uIGdyb3VwcywgY2hlY2tib3ggZ3JvdXBzLCBvciBzZWxlY3QgZmllbGRzIHRoZW4gdGhlIHZhbHVlcyBmb3IgdGhlc2UgZmllbGRzIHdpbGwgYmUgc3RvcmVkIGZvciBuZXcgb3IgZWRpdGVkIHN1Ym1pc3Npb25zIG9ubHkuICBIb3dldmVyLCBvbGQgc3VibWlzc2lvbnMgd2lsbCBzdGlsbCBoYXZlIHRoZSBvbGQgdmFsdWVzLjwvcD4KICAgPC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Zyb250ZW5kdXNlcnMiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJvdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDE3LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3ZpZXdfcmVjb3JkJ10gPSAnVmlldyBSZXNwb25zZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdBZG1pbiBDUlVEIGZvciBDR0JldHRlckZvcm1zJzsKJGxhbmdbJ2Zvcm1hdF9ub3dyYXAnXSA9ICdSYXcgKG5vd3JhcCknOwokbGFuZ1snY29uZmlybV9kZWxyZWNvcmQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgcmVzcG9uc2U/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsdmlldyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyBpdGVtPyc7CiRsYW5nWydhZGRfc2VwYXJhdG9yJ10gPSAnQWRkIFNlcGFyYXRvcic7CiRsYW5nWydlcnJfbm90Zm91bmQnXSA9ICdTb3JyeSwgd2UgY291bGQgbm90IGZpbmQgdGhlIGl0ZW0gc3BlY2lmaWVkJzsKJGxhbmdbJ2FkZF91cGRhdGUnXSA9ICdBZGQvVXBkYXRlJzsKJGxhbmdbJ2Vycl9iYWRmb3JtJ10gPSAnQ291bGQgbm90IGxvYWQgdGhlIGZvcm0gc3BlY2lmaWVkLiAgRGlkIGl0IGRpc2FwcGVhcj8nOwokbGFuZ1snd2Fybl9yZW1vdmVhbGwnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIGFsbCBzdG9yZWQgcmVzcG9uc2VzIGZvciB0aGlzIGZvcm0/JzsKJGxhbmdbJ2RlbGV0ZV9hbGxfcmVzcG9uc2VzJ10gPSAnUmVtb3ZlIGFsbCByZWNvcmRzJzsKJGxhbmdbJ2Vycl9ub2RhdGEnXSA9ICdUaGVyZSBhcHBlYXJzIHRvIGJlIG5vIGRhdGEgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSB5ZXQuLi4gQSB2aWV3IGNhbm5vdCBiZSBjcmVhdGVkIGF0IHRoaXMgdGltZSc7CiRsYW5nWydpbmZvX3NvcnRfY29sdW1ucyddID0gJ1lvdSBjYW4gY2hhbmdlIHRoZSBvcmRlciBvZiB5b3VyIGNvbHVtbnMgYnkgZHJhZ2dpbmcgdGhlbSBpbnRvIHRoZSBkZXNpcmVkIG9yZGVyLiAgVG8gZWRpdCBhIGNvbHVtbiBjbGljayBvbiB0aGUgZWRpdCBidXR0b24sIGFkanVzdCB0aGUgdmllbGQgdmFsdWVzIGFuZCBjbGljayB0aGUgJnF1b3Q7YWRkJnF1b3Q7IGJ1dHRvbiBhZ2Fpbi4nOwokbGFuZ1snaW5mb19zb3J0X3ZpZXdzJ10gPSAnVmlld3MgY2FuIGJlIG9yZ2FuaXplZCBieSBkcmFnZ2luZyB0aGVtIGludG8gdGhlIHByb3BlciBvcmRlci4gIFRvIHNhdmUgdGhlIG5ldyBvcmRlciBjbGljayBvbiB0aGUgJnF1b3Q7c2F2ZSZxdW90OyBidXR0b24gdGhhdCBhcHBlYXJzLic7CiRsYW5nWydiYWNrJ10gPSAnQmFjayc7CiRsYW5nWydkZWxldGVfdmlldyddID0gJ0RlbGV0ZSB2aWV3JzsKJGxhbmdbJ2Zvcm1fbGlzdCddID0gJ0NHQmV0dGVyRm9ybXMgRm9ybXMgYW5kIHN1Ym1pc3Npb25zJzsKJGxhbmdbJ3ZpZXdfZGF0YSddID0gJ1ZpZXcnOwokbGFuZ1snYWRkX3JlY29yZCddID0gJ0FkZCBhIG5ldyBSZWNvcmQnOwokbGFuZ1snY3JlYXRlX3ZpZXcnXSA9ICdDcmVhdGUgVmlldyc7CiRsYW5nWydleHBvcnRfdmlldyddID0gJ0V4cG9ydCB0byBDU1YnOwokbGFuZ1snZWRpdF92aWV3J10gPSAnRWRpdCBWaWV3JzsKJGxhbmdbJ2xhYmVsX3Byb21wdCddID0gJ0xhYmVsIC8gUHJvbXB0JzsKJGxhbmdbJ2NvbHVtbiddID0gJ0NvbHVtbiAvIEZpZWxkJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydmb3JtYXQnXSA9ICdGb3JtYXQnOwokbGFuZ1snZm9ybWF0X3JhdyddID0gJ1JhdyBUZXh0JzsKJGxhbmdbJ2Zvcm1hdF9maWxlcyddID0gJ0ZpbGVzJzsKJGxhbmdbJ2Zvcm1hdF9pbWFnZXMnXSA9ICdJbWFnZXMnOwokbGFuZ1snZm9ybWF0X2RhdGUnXSA9ICdEYXRlJzsKJGxhbmdbJ2Zvcm1hdF9pbnQnXSA9ICdJbnRlZ2VyJzsKJGxhbmdbJ2Zvcm1hdF9mbG9hdCddID0gJ0Zsb2F0JzsKJGxhbmdbJ2Zvcm1hdF9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ2Zvcm1zJ10gPSAnRm9ybXMnOwokbGFuZ1snYWRkX3ZpZXcnXSA9ICdBZGQgVmlldyc7CiRsYW5nWydmaWVsZHMnXSA9ICdGaWVsZHMnOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snYXZhaWxhYmxlJ10gPSAnQXZhaWxhYmxlJzsKJGxhbmdbJ3NlbGVjdGVkJ10gPSAnU2VsZWN0ZWQnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ3NvcnRvcmRlciddID0gJ09yZGVyJzsKJGxhbmdbJ3NlYXJjaF9maWVsZCddID0gJ1NlYXJjaCBGaWVsZCc7CiRsYW5nWydzZWFyY2hfc3RyJ10gPSAnU3Vic3RyaW5nJzsKJGxhbmdbJ3N1Ym1pdHRlZF9leHByJ10gPSAnRGF0ZSBTdWJtaXR0ZWQnOwokbGFuZ1snc3VibWl0dGVkX3ZhbCddID0gJ0RhdGUgU3VibWl0dGVkJzsKJGxhbmdbJ3N1Ym1pdHRlZF8xRCddID0gJzEgRGF5JzsKJGxhbmdbJ3N1Ym1pdHRlZF8yRCddID0gJzIgRGF5cyc7CiRsYW5nWydzdWJtaXR0ZWRfM0QnXSA9ICczIERheXMnOwokbGFuZ1snc3VibWl0dGVkXzFXJ10gPSAnMSBXZWVrJzsKJGxhbmdbJ3N1Ym1pdHRlZF8yVyddID0gJzIgV2Vla3MnOwokbGFuZ1snc3VibWl0dGVkXzNXJ10gPSAnMyBXZWVrcyc7CiRsYW5nWydzdWJtaXR0ZWRfMU0nXSA9ICcxIE1vbnRoJzsKJGxhbmdbJ3N1Ym1pdHRlZF8yTSddID0gJzIgTW9udGhzJzsKJGxhbmdbJ3N1Ym1pdHRlZF8zTSddID0gJzMgTW9udGhzJzsKJGxhbmdbJ3N1Ym1pdHRlZF82TSddID0gJzYgTW9udGhzJzsKJGxhbmdbJ3N1Ym1pdHRlZF8xWSddID0gJzEgWWVhcic7CiRsYW5nWydzdWJtaXR0ZWRfMlknXSA9ICcyIFllYXJzJzsKJGxhbmdbJ3N1Ym1fYmVmb3JlJ10gPSAnRWFybGllciB0aGFuJzsKJGxhbmdbJ3N1Ym1fYWZ0ZXInXSA9ICdXaXRoaW4nOwokbGFuZ1snYW55J10gPSAnQW55JzsKJGxhbmdbJ2Vycl9pbXBvcnRfbm9maWxlJ10gPSAnTm8gZmlsZSB1cGxvYWRlZCc7CiRsYW5nWydlcnJfaW1wb3J0X3VwbG9hZGVycm9yJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHVwbG9hZGluZyB0aGUgZmlsZSc7CiRsYW5nWydlcnJfaW1wb3J0X2ZpbGV0eXBlJ10gPSAnT25seSB0ZXh0L2NzdiBmaWxlcyBjYW4gYmUgdXBsb2FkZWQgaW4gdGhpcyBmb3JtLiAgWW91cnMgd2FzIGRldGVjdGVkIGFzOiAnOwokbGFuZ1snZXJyX2ltcG9ydF9iYWRmaWxlJ10gPSAnVGhlIGZpbGUgdXBsb2FkZWQgaGFzIGEgZm9ybWF0IGVycm9yJzsKJGxhbmdbJ2ltcG9ydF9zdWNjZXNzJ10gPSAnQWRkZWQgJWQgcmVjb3JkcyBmcm9tIENTVic7CiRsYW5nWydwcm9tcHRfY3N2ZmlsZSddID0gJ0NTViBGaWxlJzsKJGxhbmdbJ2tub3duX2ZpZWxkcyddID0gJ0tub3duIGZpZWxkcyc7CiRsYW5nWydpbmZvX2Nzdl9pbXBvcnQnXSA9IDw8PEVPVAo8cD5UaGlzIHJvdXRpbmUgd2lsbCBhdHRlbXB0IHRvIGltcG9ydCByZWNvcmRzIGZyb20gYSBmb3JtIGludG8gdGhlIGRhdGFiYXNlLiBUaGUgdXBsb2FkZWQgZmlsZSBtdXN0IG1hdGNoIGEgc3BlY2lmaWMgZm9ybWF0OjwvcD4KPHVsPgogICA8bGk+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgbXVzdCBiZWdpbiB3aXRoIGEgIyBhbmQgY29udGFpbiBhIGNvbW1tYSBzZXBhcmF0ZWQgbGlzdCBvZiBhbGwgY29sdW1uIG5hbWVzLiAgQmVsb3cgaXMgYSBsaXN0IG9mIGFsbCBvZiB0aGUgY29sdW1uIG5hbWVtcyB1bmRlcnN0b29kIGZvciB0aGlzIGZvcm0uPC9saT4KICAgPGxpPkJsYW5rIGxpbmVzIGFyZSBpZ25vcmVkLjwvbGk+CiAgIDxsaT5MaW5lcyB0aGF0IGRvIG5vdCBjb250YWluIGV4YWN0bHkgdGhlIG51bWJlciBvZiBjb2x1bXMgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIgYXJlIGlnbm9yZWQuPC9saT4KICAgPGxpPk5vIGRhdGEgdmFsaWRhdGlvbiBpcyBwZXJmb3JtZWQuPC9saT4KICAgPGxpPkNvbHVtbnMgdGhhdCBhcmUgbm90IGtub3duIGJ5IHRoZSBmb3JtIGFyZSBpZ25vcmVkLjwvbGk+CiAgIDxsaT5SZWNvcmRzIGFyZSBBTFdBWVMgaW5zZXJ0ZWQgaW50byB0aGUgZGF0YWJhc2UuICBFeGlzdGluZyByZWNvcmRzIGNhbm5vdCBiZSBtb2RpZmllZC48L2xpPgogICA8bGk+SWYgYSBjZ2JmX3N1Ym1pdF90aW1lIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSB0aW1lIG9mIGltcG9ydCB3aWxsIGJlIHVzZWQuPC9saT4KICAgPGxpPlNvbWUgc3BlY2lhbCB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIGEgZmllbGQgd2lsbCBiZSBhdXRvLWZpbGxlZC48L2xpPgo8L3VsPgpFT1Q7CiRsYW5nWydoZHJfaW1wb3J0X2NzdiddID0gJ0ltcG9ydCByZWNvcmRzIGZyb20gQ1NWJzsKJGxhbmdbJ2ltcG9ydCddID0gJ0ltcG9ydCc7CiRsYW5nWyd3YXJuX2ZpbHRlcl9ub3Jlc3VsdHMnXSA9ICdIbW1tLi4uIGl0IHNlZW1zIHRoZXJlIGFyZSBubyByZWNvcmRzIGZvciB0aGlzIGZvcm0gbWF0Y2hpbmcgeW91ciBmaWx0ZXInOwokbGFuZ1snZXJyX25vdGhpbmd0b2V4cG9ydCddID0gJ05vdGhpbmcgdG8gZXhwb3J0JzsKJGxhbmdbJ2ZpbHRlcl9hcHBsaWVkJ10gPSAnRmlsdGVyIGFwcGxpZWQnOwokbGFuZ1sncmVzZXQnXSA9ICdyZXNldCc7CiRsYW5nWydzb3J0X2RhdGVfb2Zfc3VibWlzc2lvbiddID0gJ1N1Ym1pdCBEYXRlL3RpbWUnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snZmllbGRfZmlsdGVyJ10gPSAnRmlsdGVyIG9uJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnRmllbGQnOwokbGFuZ1snY29udGFpbnMnXSA9ICdDb250YWluaW5nJzsKJGxhbmdbJ3BoX3NlYXJjaHN0cmluZyddID0gJ3N0cmluZy9yZWdleCc7CiRsYW5nWydzb3J0YnknXSA9ICdTb3J0IGJ5JzsKJGxhbmdbJ2FzYyddID0gJ0FTQyc7CiRsYW5nWydkZXNjJ10gPSAnREVTQyc7CiRsYW5nWydleHBvcnQnXSA9ICdFeHBvcnQnOwokbGFuZ1sndmlld2ZpbHRlciddID0gJ1ZpZXcgRmlsdGVyJzsKJGxhbmdbJ2Fub255bW91cyddID0gJ0Fub255bW91cyAvIFVua25vd24nOwokbGFuZ1snbWV0YV9pbmZvJ10gPSAnQWRkaXRpb25hbCBpbmZvcm1hdGlvbic7CiRsYW5nWydtZXRhX2VkaXRlZCddID0gJ0xhc3QgZWRpdGVkIGJ5JzsKJGxhbmdbJ21ldGFfcmVxdWVzdGlkJ10gPSAnVW5pcXVlIHN1Ym1pc3Npb24gSWQnOwokbGFuZ1snbWV0YV9zdWJtaXR0ZWQnXSA9ICdUaW1lIG9mIHN1Ym1pc3NpaW9uJzsKJGxhbmdbJ21ldGFfc3VibWl0dGVkX2J5J10gPSAnU3VibWl0dGVkIGJ5IChGRVUgVXNlciknOwokbGFuZ1snbWV0YV9zdWJtaXRfaXAnXSA9ICdJUCBBZGRyZXNzJzsKJGxhbmdbJ21zZ19ub2ZpbGVzJ10gPSAnTm8gZmlsZXMgYXR0YWNoZWQnOwokbGFuZ1snbXNnX2NhbmNlbGxlZCddID0gJ0NhbmNlbGxlZCc7CiRsYW5nWydtc2dfcmVjb3JkX2RlbGV0ZWQnXSA9ICdSZWNvcmQgZGVsZXRlZCc7CiRsYW5nWydtc2dfcmVjb3JkX3NhdmVkJ10gPSAnUmVjb3JkIHVwZGF0ZWQnOwokbGFuZ1snc2F2ZSddID0gJ1NhdmUnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2hkcl9lZGl0X3JlY29yZF9mb3InXSA9ICdFZGl0aW5nIGEgc3VibWlzc2lvbiBmb3IgZm9ybTogJXMnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snaGRyX3N1bW1hcnlmb3InXSA9ICdTdWJtaXNzaW9ucyBmb3IgZm9ybTogJXMnOwokbGFuZ1sndmlldyddID0gJ1ZpZXcnOwokbGFuZ1sndmlld19zdWJtaXNzaW9ucyddID0gJ1ZpZXcgc3VibWlzc2lvbnMnOwokbGFuZ1snZm9ybSddID0gJ0Zvcm0nOwokbGFuZ1snY291bnQnXSA9ICdDb3VudCc7CiRsYW5nWydmaXJzdF9zdWJtaXNzaW9uJ10gPSAnRmlyc3QgU3VibWlzc2lvbic7CiRsYW5nWydsYXN0X3N1Ym1pc3Npb24nXSA9ICdMYXN0IFN1Ym1pc3Npb24nOwokbGFuZ1snbmFtZV9EQkRpc3Bvc2l0aW9uRWRpdG9yJ10gPSAnU2F2ZSBzdWJtaXNzaW9uIHRvIENHQkZDcnVkJzsKJGxhbmdbJ2Rpc3BfREJEaXNwb3NpdGlvbkVkaXRvciddID0gJ1NhdmUgc3VibWlzc2lvbiB0byBDR0JGQ3J1ZCc7CiRsYW5nWydlcnJvcl9ub2ZldWdyb3VwcyddID0gJ1RoZXJlIGFyZSBubyBncm91cHMgZGVmaW5lZCBpbiBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2FueV9sb2dpbiddID0gJ0FueSBncm91cCAoanVzdCByZXF1aXJlcyBsb2dpbiknOwokbGFuZ1snbm9uZV9hbm9ueW1vdXMnXSA9ICdOb25lIChhbm9ueW1vdXMpJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1sncHJvbXB0X3JlcXVpcmVfZmV1X2dyb3VwJ10gPSAnUmVxdWlyZSBtZW1iZXJzaGlwIGluIHRoaXMgRkVVIEdyb3VwJzsKJGxhbmdbJ2luZm9fcmVxdWlyZV9mZXVfZ3JvdXAnXSA9ICdJZiBhbiBGRVUgZ3JvdXAgaXMgc3BlY2lmaWVkLCBhbmQgdGhlIHVzZXIgaXMgbm90IGEgbWVtYmVyIG9mIHRoZSBzcGVjaWZpZWQgZ3JvdXAsIHRoZW4gdGhlIHJlc3BvbnNlIHdpbGwgbm90IGJlIHNhdmVkIHRvIENHQkZDcnVkJzsK]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.AdminSideFormRenderer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENHQmV0dGVyRm9ybXNcRm9ybTsKdXNlIFxDR0JldHRlckZvcm1zXEZvcm1GaWVsZDsKdXNlIFxDR0JldHRlckZvcm1zXEZvcm1NdWx0aVZhbHVlT3B0aW9uOwp1c2UgXENHQmV0dGVyRm9ybXNcTW9kdWxlUmVmZXJlbmNlOwoKY2xhc3MgQWRtaW5TaWRlRm9ybVJlbmRlcmVyCnsKICAgIHByaXZhdGUgJF9maWVsZFJlbmRlcmVyQ2xhc3M7CiAgICBwcml2YXRlICRfbW9kOwogICAgcHJpdmF0ZSAkX2RhdGE7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZmllbGRfcmVuZGVyZXJfY2xhc3MgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gbmV3IE1vZHVsZVJlZmVyZW5jZSgnQ0dCRkNydWQnKTsKICAgICAgICAkdGhpcy0+X2ZpZWxkUmVuZGVyZXJDbGFzcyA9ICRmaWVsZF9yZW5kZXJlcl9jbGFzczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkX2hpZGRlbiggJGtleSwgJHZhbCApCiAgICB7CiAgICAgICAgJGtleSA9IHRyaW0oICRrZXkgKTsKICAgICAgICBpZiggISRrZXkgKSByZXR1cm47CiAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVuZGVyKCBGb3JtICRmb3JtLCBEQlJlY29yZCAkcmVjb3JkICkKICAgIHsKICAgICAgICAkY2xhc3MgPSAkdGhpcy0+X2ZpZWxkUmVuZGVyZXJDbGFzczsKICAgICAgICAkcmVuZGVyZXIgPSBuZXcgJGNsYXNzKCAkdGhpcy0+X21vZCwgJGZvcm0gKTsKICAgICAgICAkdHBsID0gJHRoaXMtPl9tb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X3JlY29yZC50cGwnKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm0nLCRmb3JtKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3JlY29yZCcsJHJlY29yZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdyZW5kZXJlcicsJHJlbmRlcmVyKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkcycsIGFycmF5X2tleXMoICRmb3JtLT5nZXRfZmllbGRfbGlzdCgpICkpOwogICAgICAgICR0cGwtPmFzc2lnbignZGF0YScsJHRoaXMtPl9kYXRhKTsKICAgICAgICAkb3V0ID0gJHRwbC0+ZmV0Y2goKTsKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENHQmV0dGVyRm9ybXNcRGlzcG9zaXRpb25zXERpc3Bvc2l0aW9uOwp1c2UgXENHQmV0dGVyRm9ybXNcRGlzcG9zaXRpb25FcnJvcjsKCmNsYXNzIERCRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBjb25zdCBGRVVfQU5ZID0gLTEwMDsKICAgIHByaXZhdGUgJF9yZXF1aXJlX2ZldV9ncm91cDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdyZXF1aXJlX2ZldV9ncm91cCc6CiAgICAgICAgICAgIHJldHVybiAoaW50KSAkdGhpcy0+X3JlcXVpcmVfZmV1X2dyb3VwOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgZ2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCAka2V5LCAkdmFsICkKICAgIHsKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkanVzdFdpdGgoICRrZXksICR2YWwgKQogICAgewogICAgICAgICRvYmogPSBjbG9uZSAkdGhpczsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAncmVxdWlyZV9mZXVfZ3JvdXAnOgogICAgICAgICAgICAvLyAwIG1lYW5zIG5vIGdyb3VwIHJlcXVpcmVkLCBwb3NpdGl2ZSB2YWx1ZSBtZWFucyBhIHVzZXIgbXVzdCBiZSBhIG1lbWJlciBvZiB0aGUgc3BlY2lmaWVkIGdyb3VwCiAgICAgICAgICAgIC8vIEZFVV9BTlkgbWVhbnMgbXVzdCBiZSBsb2dnZWQgaW4sIGJ1dCBubyBvdGhlciBjaGVja3MgYXJlIHBlcmZvcm1lZC4KICAgICAgICAgICAgJHZhbCA9IChpbnQpICR2YWw7CiAgICAgICAgICAgIGlmKCAkdmFsIDwgMCAmJiAkdmFsICE9IHNlbGY6OkZFVV9BTlkgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yIHJlcXVpcmVfZmV1X2dyb3VwIik7CiAgICAgICAgICAgICR0aGlzLT5fcmVxdWlyZV9mZXVfZ3JvdXAgPSAkdmFsOwogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhbiBhZGp1c3RhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcQ0dCZXR0ZXJGb3Jtc1xGb3JtICRmb3JtLCBcQ0dCZXR0ZXJGb3Jtc1xGb3JtUmVzcG9uc2UmICRkYXRhICkKICAgIHsKICAgICAgICAkZmV1X3VpZCA9IG51bGw7CiAgICAgICAgaWYoICR0aGlzLT5fcmVxdWlyZV9mZXVfZ3JvdXAgIT0gMCApIHsKICAgICAgICAgICAgJGZldSA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgICAgICAgICAgaWYoICEkZmV1ICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdGcm9udEVuZFVzZXJzIG1vZHVsZSBpcyBub3QgYXZhaWxhYmxlJyk7CiAgICAgICAgICAgICRmZXVfdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgICAgICAgICBpZiggISRmZXVfdWlkICkgcmV0dXJuOyAgLy8gbm90IGxvZ2dlZCBpbiBhbmQgcmVxdWlyZSBzb21lIGZvcm0gb2YgbG9naW4KICAgICAgICAgICAgaWYoICR0aGlzLT5fcmVxdWlyZV9mZXVfZ3JvdXAgIT0gc2VsZjo6RkVVX0FOWSApIHsKICAgICAgICAgICAgICAgIGlmKCAhJGZldS0+TWVtYmVyT2ZHcm91cCggJGZldV91aWQsICR0aGlzLT5fcmVxdWlyZV9mZXVfZ3JvdXAgKSApIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gYmVnaW4gYSB0cmFuc2FjdGlvbiwgYnVpbGQgcmVjb3Jkcywgc2F2ZSByZWNvcmRzLCBlbmQgdHJhbnNhY3Rpb24KICAgICAgICAkZmllbGRzID0gJGRhdGEtPmxpc3RfZmllbGRzKCk7CiAgICAgICAgJGd1aWQgPSAkZGF0YS0+Z3VpZDsKCiAgICAgICAgLy8gdHJhbnNsYXRlIHRoZSBmb3JtIHJlc3BvbnNlIGludG8gYSBEQnJlY29yZAogICAgICAgICRyZWNvcmQgPSBuZXcgREJSZWNvcmQoICRmb3JtLT5pZCwgJGd1aWQgKTsKICAgICAgICAkcmVjb3JkID0gJHJlY29yZC0+YWRqdXN0RmllbGQoICdjZ2JmX3N1Ym1pdF9mZXVpZCcsICRmZXVfdWlkICk7CiAgICAgICAgZm9yZWFjaCggJGZpZWxkcyBhcyAkZmllbGRfbmFtZSApIHsKICAgICAgICAgICAgJHZhbHVlID0gJGRhdGEtPmdldF9maWVsZF92YWx1ZSggJGZpZWxkX25hbWUgKTsKICAgICAgICAgICAgJHJlY29yZCA9ICRyZWNvcmQtPmFkanVzdEZpZWxkKCAkZmllbGRfbmFtZSwgJHZhbHVlICk7CiAgICAgICAgfQoKICAgICAgICAvLyB3b3VsZCBiZSBuaWNlIGlmIHdlIGhhZCBhIGZhY3RvcnkgaGVyZS4KICAgICAgICAkc3RvcmFnZSA9IG5ldyBEQkZvcm1TdG9yYWdlKCBcY2dlX3V0aWxzOjpnZXRfZGIoKSApOwogICAgICAgICRzdG9yYWdlLT5zYXZlKCAkcmVjb3JkICk7CiAgICB9Cn0gLy8gY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENHQmV0dGVyRm9ybXNcRGlzcG9zaXRpb25zXERpc3Bvc2l0aW9uRWRpdG9yOwp1c2UgXENHQmV0dGVyRm9ybXNcRGlzcG9zaXRpb25zXERpc3Bvc2l0aW9uOwp1c2UgXENHQmV0dGVyRm9ybXNcRm9ybTsKCmNsYXNzIERCRGlzcG9zaXRpb25FZGl0b3IgZXh0ZW5kcyBEaXNwb3NpdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfbW9kOwogICAgcHJpdmF0ZSAkX2Rpc3A7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBcQ0dCRkNydWQgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBEQkRpc3Bvc2l0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0RCRGlzcG9zaXRpb25FZGl0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcF9EQkRpc3Bvc2l0aW9uRWRpdG9yJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2Rpc3Bvc2l0aW9uKCBEaXNwb3NpdGlvbiAkZGlzcCApCiAgICB7CiAgICAgICAgaWYoICEgJGRpc3AgaW5zdGFuY2VvZiBEQkRpc3Bvc2l0aW9uICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignb2JqZWN0IG9mIHR5cGUgJy5nZXRfY2xhc3MoJHRoaXMpLicgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl9kaXNwID0gJGRpc3A7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9vdXRwdXRjbGFzcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGdldF9jbGFzcyggJHRoaXMtPl9kaXNwICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQgKQogICAgewogICAgICAgIGlmKCBcY2dlX3BhcmFtOjpleGlzdHMoICRwYXJhbXMsICdjYW5jZWwnICkgKSAkdGhpcy0+Z2V0X2hlbHBlcigpLT5jYW5jZWwoICRmb3JtX2d1aWQgKTsKICAgICAgICBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkdGhpcy0+X2Rpc3AtPmFkanVzdFdpdGgoICdyZXF1aXJlX2ZldV9ncm91cCcsIFxjZ2VfcGFyYW06OmdldF9pbnQoICRwYXJhbXMsICdyZXF1aXJlX2ZldV9ncm91cCcpICk7CiAgICAgICAgICAgIC8vIHRvZG86IGEgcHJvcGVydHkgdG8gY2hlY2sgaWYgdGhlIGZldSB1c2VyIGhhcyBhbHJlYWR5IHN1Ym1pdHRlZCB0aGUgZm9ybS4KICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJHRoaXMtPl9tb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X0RCRGlzcG9zaXRpb24udHBsJyk7CiAgICAgICAgJGZldSA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgICAgICAkZ3JvdXBzID0gJGZldS0+R2V0R3JvdXBMaXN0KCk7CiAgICAgICAgaWYoICFpc19hcnJheSgkZ3JvdXBzKSB8fCAhY291bnQoJGdyb3VwcykgKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+X21vZC0+TGFuZygnZXJyb3Jfbm9mZXVncm91cHMnKSk7CiAgICAgICAgfQogICAgICAgICR0cGwtPmFzc2lnbigncmVxdWlyZV9mZXVfZ3JvdXAnLCAkdGhpcy0+X2Rpc3AtPnJlcXVpcmVfZmV1X2dyb3VwICk7CiAgICAgICAgJG9wdGlvbnMgPSBbIERCRGlzcG9zaXRpb246OkZFVV9BTlkgPT4gJHRoaXMtPl9tb2QtPkxhbmcoJ2FueV9sb2dpbicpLCAwID0+ICR0aGlzLT5fbW9kLT5MYW5nKCdub25lX2Fub255bW91cycpIF07CiAgICAgICAgJG9wdGlvbnMgPSBhcnJheV9tZXJnZSggJG9wdGlvbnMsIGFycmF5X2ZsaXAoICRncm91cHMgKSApOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignZmV1X3JlcXVpcmVfZ3JvdXAnLCR0aGlzLT5fZGlzcC0+cmVxdWlyZV9mZXVfZ3JvdXApOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Rpc3BfZ3VpZCcsJGRpc3BfZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdvcHRpb25zJywkb3B0aW9ucyk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQoKfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgREJGaWVsZAp7CiAgICBwcml2YXRlICRfZGF0YSA9IFsgJ2ZpZWxkX25hbWUnPT5udWxsLCAnZmllbGRfdmFsdWUnPT5udWxsLCAnZmllbGRfaHVtYW4nPT5udWxsIF07CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZmllbGRfbmFtZSwgJGZpZWxkX3ZhbHVlLCAkaHVtYW5fdmFsdWUgPSBudWxsICkKICAgIHsKICAgICAgICAvLyBmaWVsZCB2YWx1ZSBjYW4gYmUgZW1wdHksIG9yIGEgc3RyaW5nIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MuCiAgICAgICAgJGZpZWxkX25hbWUgPSB0cmltKCRmaWVsZF9uYW1lKTsKICAgICAgICBpZiggISRmaWVsZF9uYW1lICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiSW52YWxpZCBmaWVsZCBuYW1lIHBhc3NlZCB0byAiLl9fTUVUSE9EX18pOwogICAgICAgIGlmKCAhJGZpZWxkX3ZhbHVlICkgewogICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBmaWVsZCB2YWx1ZSwgc2F2ZSBpdCBhcyBudWxsCiAgICAgICAgICAgICRmaWVsZF92YWx1ZSA9ICRodW1hbl92YWx1ZSA9IG51bGw7CiAgICAgICAgfSBlbHNlIGlmKCBpc19zdHJpbmcoJGZpZWxkX3ZhbHVlKSApIHsKICAgICAgICAgICAgJGZpZWxkX3ZhbHVlID0gdHJpbSggJGZpZWxkX3ZhbHVlICk7CiAgICAgICAgfSBlbHNlIGlmKCBpc19hcnJheSggJGZpZWxkX3ZhbHVlKSApIHsKICAgICAgICAgICAgJHRtcCA9IG51bGw7CiAgICAgICAgICAgIGZvcmVhY2goICRmaWVsZF92YWx1ZSBhcyAkb25lICkgewogICAgICAgICAgICAgICAgJG9uZSA9IHRyaW0oICRvbmUgKTsKICAgICAgICAgICAgICAgIGlmKCAkb25lICkgJHRtcFtdID0gJG9uZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggJHRtcCApICRmaWVsZF92YWx1ZSA9ICR0bXA7CiAgICAgICAgfQogICAgICAgIGlmKCAkaHVtYW5fdmFsdWUgKSAkaHVtYW5fdmFsdWUgPSB0cmltKCRodW1hbl92YWx1ZSk7CgogICAgICAgICR0aGlzLT5fZGF0YVsnZmllbGRfbmFtZSddID0gJGZpZWxkX25hbWU7CiAgICAgICAgJHRoaXMtPl9kYXRhWydmaWVsZF92YWx1ZSddID0gJGZpZWxkX3ZhbHVlOwogICAgICAgICR0aGlzLT5fZGF0YVsnZmllbGRfaHVtYW4nXSA9ICRodW1hbl92YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdmaWVsZF9uYW1lJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oICR0aGlzLT5fZGF0YVsnZmllbGRfbmFtZSddICk7CgogICAgICAgIGNhc2UgJ3ZhbHVlJzoKICAgICAgICBjYXNlICdmaWVsZF92YWx1ZSc6CiAgICAgICAgICAgIC8vIGFjY2VwdHMgYSBzdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydmaWVsZF92YWx1ZSddOwoKICAgICAgICBjYXNlICdodW1hbic6CiAgICAgICAgY2FzZSAnZmllbGRfaHVtYW4nOgogICAgICAgICAgICByZXR1cm4gdHJpbSggJHRoaXMtPl9kYXRhWydmaWVsZF9odW1hbiddICk7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgZ2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCAka2V5LCAkdmFsICkKICAgIHsKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kYXRhOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbV9hcnJheSggJGluICkKICAgIHsKICAgICAgICBpZiggIWlzX2FycmF5KCAkaW4gKSApIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCggJGluIGFzICRrZXkgPT4gJHZhbCApIHsKICAgICAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgICAgICBjYXNlICdmaWVsZF9uYW1lJzoKICAgICAgICAgICAgICAgIC8vIGFsd2F5cyBhIHN0cmluZwogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnZmllbGRfdmFsdWUnOgogICAgICAgICAgICAgICAgLy8gbWF5IGJlIGFuIGFycmF5IG9mIHZhbHVlcwogICAgICAgICAgICAgICAgZGllKCdoZXJlJyk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ2ZpZWxkX2h1bWFuJzoKICAgICAgICAgICAgICAgIC8vIGFsd2F5cyBhIHN0cmluZwogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBFilter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgREJGaWx0ZXIgZXh0ZW5kcyBcQ0dFeHRlbnNpb25zXHF1ZXJ5XHF1ZXJ5CnsKICAgIGNvbnN0IFNVQk1JVFRFRF9CRUZPUkUgPSAnYmVmb3JlJzsKICAgIGNvbnN0IFNVQk1JVFRFRF9BRlRFUiA9ICdhZnRlcic7CgogICAgcHJpdmF0ZSAkX2RhdGEgPSBbICdsaW1pdCc9PjUwLCAnb2Zmc2V0Jz0+MCwgJ2Zvcm1zJz0+W10sCiAgICAgICAgICAgICAgICAgICAgICAgJ3NlYXJjaF9maWVsZCc9Pm51bGwsICdzZWFyY2hfc3RyJz0+bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAnc2VhcmNoX2ZpZWxkMic9Pm51bGwsICdzZWFyY2hfc3RyMic9Pm51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgJ3N1Ym1pdHRlZF9leHByJz0+bnVsbCwgJ3N1Ym1pdHRlZF92YWwnPT5udWxsLCAnb3JkZXJfYnknPT4nY2diZl9zdWJtaXRfdGltZScsCiAgICAgICAgICAgICAgICAgICAgICAgJ3NvcnRfYXNjJz0+ZmFsc2UgXTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX193YWtldXAoKQogICAgewogICAgICAgIGlmKCBpc3NldCggJHRoaXMtPl9kYXRhWydmb3JtX2lkJ10pICkgewogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ2Zvcm1zJ10gPSBbICR0aGlzLT5fZGF0YVsnZm9ybV9pZCddIF07CiAgICAgICAgICAgIHVuc2V0KCAkdGhpcy0+X2RhdGFbJ2Zvcm1faWQnXSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggYXJyYXkgJGluID0gbnVsbCApCiAgICB7CiAgICAgICAgaWYoICFpc19hcnJheSgkaW4pICkgcmV0dXJuOwogICAgICAgIGZvcmVhY2goICRpbiBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICAgICAgY2FzZSAnbGltaXQnOgogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gbWF4KDEsbWluKDEwMDAsKGludCkgJHZhbCkpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdvZmZzZXQnOgogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gbWF4KDAsKGludCkkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnZm9ybXMnOgogICAgICAgICAgICAgICAgaWYoIGlzX2ludCggJHZhbCApICkgJHZhbCA9IFsgJHZhbCBdOwogICAgICAgICAgICAgICAgaWYoIGlzX2FycmF5KCAkdmFsICkgKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ2Zvcm1zJ11bXSA9IChpbnQpICRvbmU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdmb3JtX2lkJzoKICAgICAgICAgICAgICAgICR0aGlzLT5fZGF0YVsnZm9ybXMnXSA9IFsgKGludCkgJHZhbCBdOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdzZWFyY2hfZmllbGQnOgogICAgICAgICAgICBjYXNlICdzZWFyY2hfc3RyJzoKICAgICAgICAgICAgY2FzZSAnc3VibWl0dGVkX2V4cHInOgogICAgICAgICAgICBjYXNlICdzdWJtaXR0ZWRfdmFsJzoKICAgICAgICAgICAgY2FzZSAnb3JkZXJfYnknOgogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnc29ydF9hc2MnOgogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGJvb2wpICR2YWw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0R2V0KCAka2V5ICkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbGltaXQnOgogICAgICAgIGNhc2UgJ29mZnNldCc6CiAgICAgICAgICAgIHJldHVybiAoaW50KSAkdGhpcy0+X2RhdGFbJGtleV07CgogICAgICAgIGNhc2UgJ2Zvcm1faWQnOgogICAgICAgICAgICBpZiggY291bnQoJHRoaXMtPl9kYXRhWydmb3JtcyddKSA9PSAxICkgcmV0dXJuICR0aGlzLT5fZGF0YVsnZm9ybXMnXVswXTsKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBjYXNlICdmb3Jtcyc6CiAgICAgICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2Zvcm1zJ10pICYmIGNvdW50KCR0aGlzLT5fZGF0YVsnZm9ybXMnXSkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWydmb3JtcyddOwogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGNhc2UgJ3NlYXJjaF9maWVsZCc6CiAgICAgICAgY2FzZSAnc2VhcmNoX3N0cic6CiAgICAgICAgY2FzZSAnc2VhcmNoX2ZpZWxkMic6CiAgICAgICAgY2FzZSAnc2VhcmNoX3N0cjInOgogICAgICAgIGNhc2UgJ3N1Ym1pdHRlZF9leHByJzoKICAgICAgICBjYXNlICdzdWJtaXR0ZWRfdmFsJzoKICAgICAgICBjYXNlICdvcmRlcl9ieSc6CiAgICAgICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgIHJldHVybiB0cmltKCAkdGhpcy0+X2RhdGFbJGtleV0gKTsKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBjYXNlICdzb3J0X2FzYyc6CiAgICAgICAgICAgIHJldHVybiAoYm9vbCkgJHRoaXMtPl9kYXRhWyRrZXldOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIGdldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRTZXQoICRrZXksICR2YWwgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdsaW1pdCc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IG1heCgxLG1pbigxMDAwLChpbnQpICR2YWwpKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ29mZnNldCc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IG1heCgwLChpbnQpJHZhbCk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdmb3JtX2lkJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWydmb3JtcyddID0gWyAoaW50KSAkdmFsIF07CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdmb3Jtcyc6CiAgICAgICAgICAgIGlmKCBpc19pbnQoICR2YWwgKSApICR2YWwgPSBbICR2YWwgXTsKICAgICAgICAgICAgaWYoIGlzX2FycmF5KCAkdmFsICkgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSBbXTsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR2YWwgYXMgJG9uZSApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV1bXSA9IChpbnQpICRvbmU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3NlYXJjaF9maWVsZCc6CiAgICAgICAgY2FzZSAnc2VhcmNoX3N0cic6CiAgICAgICAgY2FzZSAnc2VhcmNoX2ZpZWxkMic6CiAgICAgICAgY2FzZSAnc2VhcmNoX3N0cjInOgogICAgICAgIGNhc2UgJ3N1Ym1pdHRlZF9leHByJzoKICAgICAgICBjYXNlICdzdWJtaXR0ZWRfdmFsJzoKICAgICAgICBjYXNlICdvcmRlcl9ieSc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHZhbCk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdzb3J0X2FzYyc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IChib29sKSAkdmFsOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBzZXR0YWJsZSBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0RXhpc3RzKCAka2V5ICkKICAgIHsKICAgICAgICAvLyBkbyBub3RoaW5nCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uICZleGVjdXRlKCkKICAgIHsKICAgICAgICBkaWUoX19NRVRIT0RfXy4nIG5vdCBpbXBsZW1lbnRlZCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0b19hcnJheSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YTsKICAgIH0KfQoKY2xhc3MgVmFsaWRhdGVkREJGaWx0ZXIgZXh0ZW5kcyBEQkZpbHRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIERCRmlsdGVyICRpbiApCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCggJGluLT50b19hcnJheSgpICk7CiAgICB9Cn0gLy8gY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBFormQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgREJGb3JtUXVlcnkgaW1wbGVtZW50cyBcSXRlcmF0b3IKewogICAgcHJpdmF0ZSAkX2ZpbHRlcjsKICAgIHByaXZhdGUgJF9kYjsKICAgIHByaXZhdGUgJF9yczsKICAgIHByaXZhdGUgJF9wb3M7CiAgICBwcml2YXRlICRfdG90YWxfbWF0Y2hlczsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFxDTVNNU1xEYXRhYmFzZVxDb25uZWN0aW9uICRkYiwgVmFsaWRhdGVkREJGaWx0ZXIgJGZpbHRlciApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kYiA9ICRkYjsKICAgICAgICAkdGhpcy0+X2ZpbHRlciA9ICRmaWx0ZXI7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHdpbGRjYXJkKCBzdHJpbmcgJGluICkKICAgIHsKICAgICAgICBpZiggc3RycG9zKCAkaW4sICclJykgIT09IEZBTFNFICkgewogICAgICAgICAgICAkaW4gPSBzdHJfcmVwbGFjZSggJyUnLCAnJSUnLCAkaW4gKTsKICAgICAgICB9CiAgICAgICAgaWYoIHN0cnBvcyggJGluLCAnKicpICE9PSBGQUxTRSApIHsKICAgICAgICAgICAgJGluID0gc3RyX3JlcGxhY2UoJyonLCclJywgJGluICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGluID0gJyUnLiRpbi4nJSc7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkaW47CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+X3JzICkgcmV0dXJuOwoKICAgICAgICAkc3FsID0gJ1NFTEVDVCBTUUxfQ0FMQ19GT1VORF9ST1dTIGd1aWQgRlJPTSAnLkRCRm9ybVN0b3JhZ2U6OnRhYmxlX25hbWUoKTsKICAgICAgICAkd2hlcmUgPSBbICdmb3JtX2lkID0gPycgXTsKICAgICAgICAkcGFybXMgPSBbICR0aGlzLT5fZmlsdGVyLT5mb3JtX2lkIF07CiAgICAgICAgaWYoICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfZmllbGQgJiYgJHRoaXMtPl9maWx0ZXItPnNlYXJjaF9zdHIgKSB7CiAgICAgICAgICAgICR3aGVyZVtdID0gJ2ZpZWxkX25hbWUgPSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdGhpcy0+X2ZpbHRlci0+c2VhcmNoX2ZpZWxkOwogICAgICAgICAgICAkcGFybXNbXSA9ICdmaWVsZF92YWx1ZSBMSUtFID8nOwogICAgICAgICAgICAkcGFybXNbXSA9ICR0aGlzLT53aWxkY2FyZCggJHRoaXMtPl9maWx0ZXItPnNlYXJjaF9zdHIgKTsKICAgICAgICB9CiAgICAgICAgaWYoICR3aGVyZSApICRzcWwgLj0gJyBXSEVSRSAnLmltcGxvZGUoICcgQU5EICcsICR3aGVyZSApOwoKICAgICAgICAvLyB0b2RvOiBvcmRlcmluZwogICAgICAgICRvcmRlcl9ieSA9ICdjZ2JmX3N1Ym1pdF90aW1lJzsKICAgICAgICBpZiggJHRoaXMtPl9maWx0ZXItPnNvcnRfYXNjICkgewogICAgICAgICAgICAkb3JkZXJfYnkgLj0gJyBBU0MnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRvcmRlcl9ieSAuPSAnIERFU0MnOwogICAgICAgIH0KICAgICAgICAkc3FsIC49ICcgT1JERVIgQlkgJy4kb3JkZXJfYnk7CgogICAgICAgICR0aGlzLT5fcnMgPSAkdGhpcy0+X2RiLT5TZWxlY3RMaW1pdCggJHNxbCwgJHRoaXMtPl9maWx0ZXItPmxpbWl0LCAkdGhpcy0+X2ZpbHRlci0+b2Zmc2V0LCAkcGFybXMgKTsKICAgICAgICAkdGhpcy0+X3RvdGFsX21hdGNoZXMgPSAoaW50KSAkdGhpcy0+X2RiLT5HZXRPbmUoICdTRUxFQ1QgRk9VTkRfUk9XUygpJyApOwogICAgICAgICR0aGlzLT5fcG9zID0gMDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG90YWxfbWF0Y2hlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmV4ZWN1dGUoKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl90b3RhbF9tYXRjaGVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwYWdlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGNlaWwoICR0aGlzLT50b3RhbF9tYXRjaGVzKCkgLyAkdGhpcy0+X2ZpbHRlci0+bGltaXQgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY3VycmVudF9wYWdlX251bSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGNlaWwoICR0aGlzLT5fZmlsdGVyLT5vZmZzZXQgLyAkdGhpcy0+dG90YWxfbWF0Y2hlcygpICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldE9iamVjdCggYXJyYXkgJHJvdyApCiAgICB7CiAgICAgICAgJG9iaiA9IERiUmVjb3JkOjpGcm9tYXJyYXkoICQpCiAgICB9CgogICAgLy8gaXRlcmF0b3Igc3R1ZmYuCiAgICBwdWJsaWMgZnVuY3Rpb24gY3VycmVudCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmV4ZWN1dGUoKTsKICAgICAgICAkZ3VpZCA9ICR0aGlzLT5fcnMtPmZpZWxkcygnZ3VpZCcpOwoKICAgICAgICAvLyB0aGlzIGdldHMgdGhlIHJvdy4KICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5EQkZvcm1TdG9yYWdlOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBndWlkID0gPyc7CiAgICAgICAgJHJvd3MgPSAkdGhpcy0+X2RiLT5HZXRBcnJheSggJHNxbCwgWyAkZ3VpZCBdICk7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICRyb3dzIGFzICRvbmUgKSB7CiAgICAgICAgICAgICRvdXRbJG9uZVsnZmllbGRfbmFtZSddXSA9ICRvbmVbJ2ZpZWxkX3ZhbHVlJ107CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0T2JqZWN0KCAkb3V0ICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGtleSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmV4ZWN1dGUoKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9wb3M7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG5leHQoKQogICAgewogICAgICAgICR0aGlzLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPl9ycy0+TW92ZU5leHQoKTsKICAgICAgICAkdGhpcy0+X3BvcysrOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXdpbmQoKQogICAgewogICAgICAgICR0aGlzLT5leGVjdXRlKCk7CiAgICAgICAgJHRoaXMtPl9ycy0+TW92ZUZpcnN0KCk7CiAgICAgICAgJHRoaXMtPl9wb3MgPSAwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmV4ZWN1dGUoKTsKICAgICAgICByZXR1cm4gISAkdGhpcy0+X3JzLT5FT0YoKTsKICAgIH0KfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBFormResultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgREJTdWJtaXNzaW9uUmU=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBFormStorage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENHQmV0dGVyRm9ybXNcRm9ybTsKdXNlIFxDR0JldHRlckZvcm1zXEZvcm1SZXNwb25zZTsKCmNsYXNzIERCRm9ybVN0b3JhZ2UKewogICAgY29uc3QgU0VQQVJBVE9SID0gJ358fic7CiAgICBwcml2YXRlICRfZGI7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBcQ01TTVNcRGF0YWJhc2VcQ29ubmVjdGlvbiAkZGIgKQogICAgewogICAgICAgICR0aGlzLT5fZGIgPSAkZGI7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0YWJsZV9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gQ01TX0RCX1BSRUZJWC4nbW9kX2NnYmZjcnVkX3N1Ym1pc3Npb25zJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSggREJSZWNvcmQgJHJlY29yZCApCiAgICB7CiAgICAgICAgLy8gdG9kbzogdmFsaWRhdGUgdGhlIHJlY29yZC4KICAgICAgICAkcmVjb3JkID0gJHJlY29yZC0+YWRqdXN0RmllbGQoICdjZ2JmX2VkaXRfdGltZScsIHRpbWUoKSApOwogICAgICAgICRyZWNvcmQgPSAkcmVjb3JkLT5hZGp1c3RGaWVsZCggJ2NnYmZfZWRpdF9ieScsIGdldF91c2VyaWQoRkFMU0UpICk7CgogICAgICAgIC8vIGNoZWNrIGlmIGd1aWQgZXhpc3RzIGZvciB0aGlzIGZvcm0KICAgICAgICAkc3FsID0gJ1NFTEVDVCBjb3VudChndWlkKSBGUk9NICcuc2VsZjo6dGFibGVfbmFtZSgpLicgV0hFUkUgZ3VpZCA9ID8gQU5EIGZvcm1faWQgPSA/JzsKICAgICAgICAkcmVzID0gJHRoaXMtPl9kYi0+R2V0T25lKCAkc3FsLCBbICRyZWNvcmQtPmd1aWQsICRyZWNvcmQtPmZvcm1faWQgXSApOwoKICAgICAgICAvLyBiZWdpbiBhIHRyYW5zYWN0aW9uCiAgICAgICAgJHRoaXMtPl9kYi0+QmVnaW5UcmFucygpOwoKICAgICAgICBpZiggJHJlcyA+IDAgKSB7CiAgICAgICAgICAgIC8vIGl0J3MgYW4gdXBkYXRlCiAgICAgICAgICAgIC8vIGRlbGV0ZSBhbGwgb2YgdGhlIHJvd3MKICAgICAgICAgICAgJHNxbCA9ICdERUxFVEUgRlJPTSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFdIRVJFIGd1aWQgPSA/IEFORCBmb3JtX2lkID0gPyc7CiAgICAgICAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoICRzcWwsIFsgJHJlY29yZC0+Z3VpZCwgJHJlY29yZC0+Zm9ybV9pZCBdICk7CiAgICAgICAgfQoKICAgICAgICAvLyBpbnNlcnQgYWxsIG9mIHRoZSByb3dzCiAgICAgICAgJGlzcWwgPSAnSU5TRVJUIElOVE8gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyAoZ3VpZCxmb3JtX2lkLGZpZWxkX25hbWUsZmllbGRfdmFsdWUpIFZBTFVFUyAoPyw/LD8sPyknOwogICAgICAgIGZvcmVhY2goICRyZWNvcmQtPmZpZWxkcyBhcyAkZmllbGRfbmFtZSA9PiAkdmFsICkgewogICAgICAgICAgICAvLyBpZiB0aGUgZmllbGQgdmFsdWUgaXMgYW4gYXJyYXksIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcKICAgICAgICAgICAgaWYoIGlzX2FycmF5KCAkdmFsICkgKSAkdmFsID0gaW1wbG9kZShzZWxmOjpTRVBBUkFUT1IsJHZhbCk7CiAgICAgICAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoICRpc3FsLCBbICRyZWNvcmQtPmd1aWQsICRyZWNvcmQtPmZvcm1faWQsICRmaWVsZF9uYW1lLCAkdmFsIF0gKTsKICAgICAgICB9CgogICAgICAgIC8vIGVuZCBhIHRyYW5zYWN0aW9uCiAgICAgICAgJHRoaXMtPl9kYi0+Q29tbWl0VHJhbnMoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3N1Ym1pc3Npb25fc3RhdHMoKQogICAgewogICAgICAgIC8vIGdldCB0aGUgZGlzdGluY3QgZm9ybSBpZCBvZiBhbGwgc3VibWlzc2lvbnMKICAgICAgICAkc3FsID0gJ1NFTEVDVCBmb3JtX2lkLCBDT1VOVChmaWVsZF9uYW1lKSBBUyBjb3VudCxNSU4oZmllbGRfdmFsdWUpIEFTIGZpcnN0LE1BWChmaWVsZF92YWx1ZSkgQVMgbGFzdCBGUk9NICcuc2VsZjo6dGFibGVfbmFtZSgpLicgV0hFUkUgZmllbGRfbmFtZSA9IFwnY2diZl9zdWJtaXRfdGltZVwnIEdST1VQIEJZIGZvcm1faWQnOwogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kYi0+R2V0QXJyYXkoICRzcWwgKTsKICAgICAgICBpZiggaXNfYXJyYXkoJGxpc3QpICYmIGNvdW50KCRsaXN0KSApIHsKICAgICAgICAgICAgJG91dCA9IFtdOwogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkcm93ICkgewogICAgICAgICAgICAgICAgJG91dFskcm93Wydmb3JtX2lkJ11dID0gJHJvdzsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJG91dDsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZV9xdWVyeSggVmFsaWRhdGVkREJGaWx0ZXIgJGZpbHRlciApCiAgICB7CiAgICAgICAgJG9iaiA9IG5ldyBEQlN1Ym1pc3Npb25SZXN1bHRzZXQoICR0aGlzLT5fZGIsICRmaWx0ZXIgKTsKICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlX3F1ZXJ5X2Zyb21fdmlldyggVmlldyAkdmlldyApCiAgICB7CiAgICAgICAgJG9iaiA9IG5ldyBEQlZpZXdSZXN1bHRzZXQoICR0aGlzLT5fZGIsICR2aWV3ICk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9nbG9iYWxfY29sdW1ucygpCiAgICB7CiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgRElTVElOQ1QgZmllbGRfbmFtZSBGUk9NICcuc2VsZjo6dGFibGVfbmFtZSgpOwogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kYi0+R2V0Q29sKCAkc3FsICk7CiAgICAgICAgaWYoICRsaXN0ICYmIGNvdW50KCRsaXN0KSApIHJldHVybiAkbGlzdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FsbF9jb2x1bW5zKCAkZm9ybV9pZCApCiAgICB7CiAgICAgICAgJGZvcm1faWQgPSAoaW50KSAkZm9ybV9pZDsKICAgICAgICBpZiggJGZvcm1faWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBwYXJhbWV0ZXJzIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAkc3FsID0gJ1NFTEVDVCBESVNUSU5DVCBmaWVsZF9uYW1lIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBmb3JtX2lkID0gPyc7CiAgICAgICAgJGxpc3QgPSAkdGhpcy0+X2RiLT5HZXRDb2woICRzcWwsIFsgJGZvcm1faWQgXSApOwogICAgICAgIGlmKCAkbGlzdCAmJiBjb3VudCgkbGlzdCkgKSByZXR1cm4gJGxpc3Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvYWQoICRmb3JtX2lkLCAkZ3VpZCApCiAgICB7CiAgICAgICAgLy8gdGhpcyBsb2FkcyBhbGwgb2YgdGhlIGNvbHVtbnMgZm9yIHRoZSByb3cuCiAgICAgICAgJGZvcm1faWQgPSAoaW50KSAkZm9ybV9pZDsKICAgICAgICAkZ3VpZCA9IHRyaW0oJGd1aWQpOwogICAgICAgIGlmKCAkZm9ybV9pZCA8IDEgfHwgISRndWlkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBwYXJhbWV0ZXJzIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBmb3JtX2lkID0gPyBBTkQgZ3VpZCA9ID8nOwogICAgICAgICRyb3dzID0gJHRoaXMtPl9kYi0+R2V0QXJyYXkoICRzcWwsIFsgJGZvcm1faWQsICRndWlkIF0gKTsKICAgICAgICBpZiggISRyb3dzICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gWyAnY2diZl9mb3JtaWQnID0+ICRmb3JtX2lkIF07CiAgICAgICAgZm9yZWFjaCggJHJvd3MgYXMgJHJvdyApIHsKICAgICAgICAgICAgaWYoIHN0cnBvcyggJHJvd1snZmllbGRfdmFsdWUnXSwgc2VsZjo6U0VQQVJBVE9SICkgIT09IEZBTFNFICkgewogICAgICAgICAgICAgICAgJHJvd1snZmllbGRfdmFsdWUnXSA9IGV4cGxvZGUoIHNlbGY6OlNFUEFSQVRPUiwgJHJvd1snZmllbGRfdmFsdWUnXSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRvdXRbJHJvd1snZmllbGRfbmFtZSddXSA9ICRyb3dbJ2ZpZWxkX3ZhbHVlJ107CiAgICAgICAgfQogICAgICAgICRvYmogPSBEQlJlY29yZDo6ZnJvbV9hcnJheSggJG91dCApOwogICAgICAgIHJldHVybiAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoIEZvcm0gJGZvcm0sIERCUmVjb3JkICRyZWMgKQogICAgewogICAgICAgIC8vIGdldCBhbGwgb2YgdGhlIGZpZWxkcyBvZiB0eXBlIGZpbGUuCiAgICAgICAgJGZpZWxkcyA9ICRmb3JtLT5nZXRfZmllbGRfbGlzdCgpOwogICAgICAgICRmaWVsZHMgPSBhcnJheV9rZXlzKCAkZmllbGRzICk7CgogICAgICAgICRmaWxlX2ZpZWxkcyA9IG51bGw7CiAgICAgICAgZm9yZWFjaCggJGZpZWxkcyBhcyAkZmllbGRfbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJGZpZWxkX25hbWUgKTsKICAgICAgICAgICAgaWYoICEkZmllbGQgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoICRmaWVsZC0+dHlwZSA9PSAnZmlsZScgKSAkZmlsZV9maWVsZHNbXSA9ICRmaWVsZF9uYW1lOwogICAgICAgIH0KCiAgICAgICAgaWYoIGNvdW50KCRmaWxlX2ZpZWxkcykgKSB7CiAgICAgICAgICAgICRmaWVsZHMgPSAkcmVjLT5maWVsZHM7CiAgICAgICAgICAgIGZvcmVhY2goICRmaWxlX2ZpZWxkcyBhcyAkb25lX2ZpZWxkX25hbWUgKSB7CiAgICAgICAgICAgICAgICAkdmFsID0gJGZpZWxkc1skb25lX2ZpZWxkX25hbWVdOwogICAgICAgICAgICAgICAgaWYoICEkdmFsICkgY29udGludWU7CgogICAgICAgICAgICAgICAgaWYoICFpc19hcnJheSgkdmFsKSApICR2YWwgPSBbIHRyaW0oJHZhbCkgXTsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR2YWwgYXMgJG9uZV9maWxlICkgewogICAgICAgICAgICAgICAgICAgIGlmKCBpc19maWxlKCAkb25lX2ZpbGUgKSApIHVubGluayggJG9uZV9maWxlICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIGRlbGV0ZSBhbGwgb2YgdGhlIGZpbGVzLgogICAgICAgICRzcWwgPSAnREVMRVRFIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBmb3JtX2lkID0gPyBBTkQgZ3VpZCA9ID8nOwogICAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoICRzcWwsIFsgJHJlYy0+Zm9ybV9pZCwgJHJlYy0+Z3VpZCBdICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZV9hbGxfZm9yX2Zvcm0oIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgIGlmKCAkZm9ybS0+aWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmb3JtIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAkZmllbGRzID0gJGZvcm0tPmdldF9maWVsZF9saXN0KCk7CiAgICAgICAgJGZpZWxkcyA9IGFycmF5X2tleXMoICRmaWVsZHMgKTsKCiAgICAgICAgJGZpbGVfZmllbGRzID0gbnVsbDsKICAgICAgICBmb3JlYWNoKCAkZmllbGRzIGFzICRmaWVsZF9uYW1lICkgewogICAgICAgICAgICAkZmllbGQgPSAkZm9ybS0+Z2V0X2ZpZWxkKCAkZmllbGRfbmFtZSApOwogICAgICAgICAgICBpZiggISRmaWVsZCApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggJGZpZWxkLT50eXBlID09ICdmaWxlJyApICRmaWxlX2ZpZWxkc1tdID0gJGZpZWxkX25hbWU7CiAgICAgICAgfQoKICAgICAgICBpZiggY291bnQoJGZpbGVfZmllbGRzKSApIHsKICAgICAgICAgICAgLy8gdG9kbzogZ290dGEgZGVsZXRlIGZpbGVzIGZvciBhbGwgb2YgdGhlbS4KICAgICAgICB9CgogICAgICAgICRzcWwgPSAnREVMRVRFIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBmb3JtX2lkID0gPyc7CiAgICAgICAgJHRoaXMtPl9kYi0+RXhlY3V0ZSggJHNxbCwgWyAkZm9ybS0+aWQgXSApOwogICAgfQp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBRecord.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgREJSZWNvcmQKewogICAgcHJpdmF0ZSAkX2RhdGEgPSBbJ2Zvcm1faWQnPT5udWxsLCAnZ3VpZCc9Pm51bGwgXTsKICAgIHByaXZhdGUgJF9maWVsZHM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZm9ybV9pZCwgJGd1aWQgKQogICAgewogICAgICAgICRmb3JtX2lkID0gKGludCkgJGZvcm1faWQ7CiAgICAgICAgJGd1aWQgPSB0cmltKCRndWlkKTsKICAgICAgICBpZiggJGZvcm1faWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmb3JtIGlkIHNwZWNpZmllZCBmb3IgJy5fX01FVEhPRF9fKTsKICAgICAgICBpZiggISRndWlkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbiggJ0ludmFsaWQgZ3VpZCBzcGVjaWZlaWQgZm9yICcuX19NRVRIT0RfXyk7CgogICAgICAgICR0aGlzLT5fZGF0YVsnZm9ybV9pZCddID0gJGZvcm1faWQ7CiAgICAgICAgJHRoaXMtPl9kYXRhWydndWlkJ10gPSAkZ3VpZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdndWlkJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oICR0aGlzLT5fZGF0YVsnZ3VpZCddICk7CgogICAgICAgIGNhc2UgJ2Zvcm1faWQnOgogICAgICAgICAgICByZXR1cm4gKGludCkgJHRoaXMtPl9kYXRhWydmb3JtX2lkJ107CgogICAgICAgIGNhc2UgJ2ZpZWxkcyc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2ZpZWxkczsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBnZXR0YWJsZSBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoICRrZXksICR2YWwgKQogICAgewogICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgc2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRqdXN0RmllbGQoICRrZXksICR2YWwgKQogICAgewogICAgICAgICRvYmogPSBjbG9uZSAkdGhpczsKICAgICAgICAkb2JqLT5fZmllbGRzWyRrZXldID0gJHZhbDsKICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9fYXJyYXkoKQogICAgewogICAgICAgICRhcnIgPSAkdGhpcy0+X2ZpZWxkczsKICAgICAgICAkYXJyWydjZ2JmX2Zvcm1pZCddID0gJHRoaXMtPmZvcm1faWQ7CiAgICAgICAgJGFyclsnY2diZl9yZXF1ZXN0aWQnXSA9ICR0aGlzLT5ndWlkOwogICAgICAgIHJldHVybiAkYXJyOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbV9hcnJheSggYXJyYXkgJGluICkKICAgIHsKICAgICAgICAkZm9ybV9pZCA9IFxjZ2VfcGFyYW06OmdldF9pbnQoICRpbiwgJ2NnYmZfZm9ybWlkJyApOwogICAgICAgICRndWlkID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJGluLCAnY2diZl9yZXF1ZXN0aWQnICk7CiAgICAgICAgaWYoICEkZm9ybV9pZCB8fCAhJGd1aWQgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgIHVuc2V0KCAkaW5bJ2Zvcm1faWQnXSwgJGluWydndWlkJ10gKTsKICAgICAgICBpZiggIWNvdW50KCAkaW4gKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgZGF0YSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkY2xhc3MgPSBnZXRfY2FsbGVkX2NsYXNzKCk7CiAgICAgICAgJG9iaiA9IG5ldyAkY2xhc3MoICRmb3JtX2lkLCAkZ3VpZCApOwogICAgICAgICRvYmotPl9maWVsZHMgPSAkaW47CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9Cgp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBSubmissionResultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgREJTdWJtaXNzaW9uUmVzdWx0U2V0IGV4dGVuZHMgXENHRXh0ZW5zaW9uc1xxdWVyeVxyZXN1bHRzZXQKewogICAgcHJpdmF0ZSAkX2RiOwogICAgcHJpdmF0ZSAkX2NhY2hlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXENNU01TXERhdGFiYXNlXENvbm5lY3Rpb24gJGRiLCBWYWxpZGF0ZWREQkZpbHRlciAkZmlsdGVyICkKICAgIHsKICAgICAgICAkdGhpcy0+X2RiID0gJGRiOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoICRmaWx0ZXIgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gd2lsZGNhcmQoICRpbiApCiAgICB7CiAgICAgICAgJGluID0gdHJpbSgkaW4pOwogICAgICAgIGlmKCBzdHJwb3MoICRpbiwgJyUnKSAhPT0gRkFMU0UgKSB7CiAgICAgICAgICAgICRpbiA9IHN0cl9yZXBsYWNlKCAnJScsICclJScsICRpbiApOwogICAgICAgIH0KICAgICAgICBpZiggc3RycG9zKCAkaW4sICcqJykgIT09IEZBTFNFICkgewogICAgICAgICAgICAkaW4gPSBzdHJfcmVwbGFjZSgnKicsJyUnLCAkaW4gKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkaW4gPSAnJScuJGluLiclJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRpbjsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPl9ycyApIHJldHVybjsKCiAgICAgICAgJGNvbHMgPSAkam9pbnMgPSAkcGFybXMgPSAkd2hlcmUgPSBudWxsOwogICAgICAgICRzcWwgPSAnU0VMRUNUIFNRTF9DQUxDX0ZPVU5EX1JPV1MgUC5ndWlkIEZST00gJy5EQkZvcm1TdG9yYWdlOjp0YWJsZV9uYW1lKCkuJyBQJzsKICAgICAgICBpZiggJHRoaXMtPl9maWx0ZXItPm9yZGVyX2J5ICkgewogICAgICAgICAgICAkc3FsIC49ICcgTEVGVCBKT0lOICcuREJGb3JtU3RvcmFnZTo6dGFibGVfbmFtZSgpLicgSiBPTiBQLmZvcm1faWQgPSBKLmZvcm1faWQgQU5EIFAuZ3VpZCA9IEouZ3VpZCBBTkQgSi5maWVsZF9uYW1lID0gPyc7CiAgICAgICAgICAgICRwYXJtc1tdID0gJHRoaXMtPl9maWx0ZXItPm9yZGVyX2J5OwogICAgICAgIH0KICAgICAgICBpZiggJHRoaXMtPl9maWx0ZXItPmZvcm1faWQgPiAwICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICdQLmZvcm1faWQgPSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdGhpcy0+X2ZpbHRlci0+Zm9ybV9pZDsKICAgICAgICB9CiAgICAgICAgaWYoICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfZmllbGQgJiYgJHRoaXMtPl9maWx0ZXItPnNlYXJjaF9zdHIgKSB7CiAgICAgICAgICAgICR3aGVyZVtdID0gJ1AuZmllbGRfbmFtZSA9ID8nOwogICAgICAgICAgICAkcGFybXNbXSA9ICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfZmllbGQ7CiAgICAgICAgICAgICR3aGVyZVtdID0gJ1AuZmllbGRfdmFsdWUgTElLRSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdGhpcy0+d2lsZGNhcmQoICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfc3RyICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHdoZXJlW10gPSAnUC5maWVsZF9uYW1lID0gPyc7CiAgICAgICAgICAgICRwYXJtc1tdID0gJ2NnYmZfc3VibWl0X3RpbWUnOwogICAgICAgIH0KICAgICAgICBpZiggJHdoZXJlICkgJHNxbCAuPSAnIFdIRVJFICcuaW1wbG9kZSggJyBBTkQgJywgJHdoZXJlICk7CiAgICAgICAgaWYoICR0aGlzLT5fZmlsdGVyLT5vcmRlcl9ieSApIHsKICAgICAgICAgICAgJHNxbCAuPSAnIE9SREVSIEJZIEouZmllbGRfdmFsdWUnOwogICAgICAgICAgICBpZiggISAkdGhpcy0+X2ZpbHRlci0+c29ydF9hc2MgKSB7CiAgICAgICAgICAgICAgICAkc3FsIC49ICcgREVTQyc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5fcnMgPSAkdGhpcy0+X2RiLT5TZWxlY3RMaW1pdCggJHNxbCwgJHRoaXMtPl9maWx0ZXItPmxpbWl0LCAkdGhpcy0+X2ZpbHRlci0+b2Zmc2V0LCAkcGFybXMgKTsKICAgICAgICAkdGhpcy0+X3RvdGFsbWF0Y2hpbmcgPSAoaW50KSAkdGhpcy0+X2RiLT5HZXRPbmUoICdTRUxFQ1QgRk9VTkRfUk9XUygpJyApOwogICAgICAgICR0aGlzLT5fcHJlbG9hZCgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfcHJlbG9hZCgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X3JzICkgcmV0dXJuOwogICAgICAgIGlmKCBpc19hcnJheSggJHRoaXMtPl9jYWNoZSApICkgcmV0dXJuOwogICAgICAgICR0aGlzLT5fY2FjaGUgPSBbXTsKICAgICAgICAvLyBsb2FkIGFsbCBvZiB0aGUgcm93cyBmb3IgdGhlIG1hdGNoaW5nIGd1aWRzCiAgICAgICAgJGd1aWRfbGlzdCA9IFtdOwogICAgICAgIHdoaWxlKCAhJHRoaXMtPkVPRigpICkgewogICAgICAgICAgICAkZ3VpZCA9ICR0aGlzLT5fcnMtPmZpZWxkcygnZ3VpZCcpOwogICAgICAgICAgICAkZ3VpZCA9ICInIi4kZ3VpZC4iJyI7CiAgICAgICAgICAgIGlmKCAhaW5fYXJyYXkoICRndWlkLCAkZ3VpZF9saXN0ICkgKSAkZ3VpZF9saXN0W10gPSAkZ3VpZDsKICAgICAgICAgICAgJHRoaXMtPk1vdmVOZXh0KCk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5SZXdpbmQoKTsKICAgICAgICBpZiggIWNvdW50KCRndWlkX2xpc3QpICkgcmV0dXJuOwoKICAgICAgICAvLyBub3cgdGhlIGV4cGVuc2l2ZSBvcGVyYXRpb24sIGdldCBBTEwgb2YgdGhlIHJvd3MgZm9yIGFsbCBvZiB0aGUgR1VJRCdzCiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuREJGb3JtU3RvcmFnZTo6dGFibGVfbmFtZSgpLicgV0hFUkUgZm9ybV9pZCA9ID8gQU5EIGd1aWQgSU4gKCcuaW1wbG9kZSgnLCcsJGd1aWRfbGlzdCkuJykKICAgICAgICAgICAgICAgIE9SREVSIEJZIGd1aWQnOwogICAgICAgICRyczIgPSAkdGhpcy0+X2RiLT5FeGVjdXRlKCAkc3FsLCBbICR0aGlzLT5fZmlsdGVyLT5mb3JtX2lkIF0gKTsKICAgICAgICAkdGhlX2d1aWQgPSAkcnMyLT5maWVsZHMoJ2d1aWQnKTsKICAgICAgICAkYWxsX3JlY29yZHMgPSAkcmVjb3JkID0gbnVsbDsKICAgICAgICB3aGlsZSggISRyczItPkVPRigpICkgewogICAgICAgICAgICBpZiggJHJzMi0+ZmllbGRzKCdndWlkJykgIT0gJHRoZV9ndWlkICkgewogICAgICAgICAgICAgICAgLy8gZW5kIG9mIHJlY29yZAogICAgICAgICAgICAgICAgJHJlY29yZFsnY2diZl9mb3JtaWQnXSA9ICR0aGlzLT5fZmlsdGVyLT5mb3JtX2lkOwogICAgICAgICAgICAgICAgJGFsbF9yZWNvcmRzWyR0aGVfZ3VpZF0gPSAkcmVjb3JkOwogICAgICAgICAgICAgICAgJHJlY29yZCA9IG51bGw7CiAgICAgICAgICAgICAgICAkdGhlX2d1aWQgPSAkcnMyLT5maWVsZHMoJ2d1aWQnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkbmFtZSA9ICRyczItPmZpZWxkcygnZmllbGRfbmFtZScpOwogICAgICAgICAgICAkdmFsID0gJHJzMi0+ZmllbGRzKCdmaWVsZF92YWx1ZScpOwogICAgICAgICAgICBpZiggc3RycG9zKCAkdmFsLCBEQkZvcm1TdG9yYWdlOjpTRVBBUkFUT1IgKSAhPT0gRkFMU0UgKSB7CiAgICAgICAgICAgICAgICAkdmFsID0gZXhwbG9kZSggREJGb3JtU3RvcmFnZTo6U0VQQVJBVE9SLCAkdmFsICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHJlY29yZFskbmFtZV0gPSAkdmFsOwogICAgICAgICAgICAkcnMyLT5Nb3ZlTmV4dCgpOwogICAgICAgIH0KICAgICAgICAvLyBlbmQgb2YgcmVjb3JkCiAgICAgICAgJHJlY29yZFsnY2diZl9mb3JtaWQnXSA9ICR0aGlzLT5fZmlsdGVyLT5mb3JtX2lkOwogICAgICAgICRhbGxfcmVjb3Jkc1skdGhlX2d1aWRdID0gJHJlY29yZDsKICAgICAgICAkcmVjb3JkID0gbnVsbDsKCiAgICAgICAgJHRoaXMtPl9jYWNoZSA9ICRhbGxfcmVjb3JkczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gJmdldF9vYmplY3QoKQogICAgewogICAgICAgICRndWlkID0gJHRoaXMtPl9ycy0+ZmllbGRzKCdndWlkJyk7CiAgICAgICAgaWYoICFpc3NldCggJHRoaXMtPl9jYWNoZVskZ3VpZF0pICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignTm8gY2FjaGVkIHJlY29yZCBkYXRhIGZvciBndWlkICcuJGd1aWQpOwoKICAgICAgICAkcmVjb3JkID0gJHRoaXMtPl9jYWNoZVskZ3VpZF07CiAgICAgICAgJG9iaiA9IERCUmVjb3JkOjpmcm9tX2FycmF5KCAkcmVjb3JkICk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9Cn0gLy8gY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DBViewResultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENNU01TXERhdGFiYXNlXENvbm5lY3Rpb247CgpjbGFzcyBEQlZpZXdSZXN1bHRzZXQgZXh0ZW5kcyBcQ0dFeHRlbnNpb25zXHF1ZXJ5XHJlc3VsdHNldAp7CiAgICBwcml2YXRlICRfZGI7CiAgICBwcml2YXRlICRfdmlldzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIENvbm5lY3Rpb24gJGRiLCBWaWV3ICR2aWV3ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2RiID0gJGRiOwogICAgICAgICR0aGlzLT5fdmlldyA9ICR2aWV3OwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoICR2aWV3LT5maWx0ZXIgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gd2lsZGNhcmQoICRpbiApCiAgICB7CiAgICAgICAgJGluID0gdHJpbSgkaW4pOwogICAgICAgIGlmKCBzdHJwb3MoICRpbiwgJyUnKSAhPT0gRkFMU0UgKSB7CiAgICAgICAgICAgICRpbiA9IHN0cl9yZXBsYWNlKCAnJScsICclJScsICRpbiApOwogICAgICAgIH0KICAgICAgICBpZiggc3RycG9zKCAkaW4sICcqJykgIT09IEZBTFNFICkgewogICAgICAgICAgICAkaW4gPSBzdHJfcmVwbGFjZSgnKicsJyUnLCAkaW4gKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkaW4gPSAnJScuJGluLiclJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRpbjsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPl9ycyApIHJldHVybjsKCiAgICAgICAgJGNvbHMgPSBbICdndWlkJywgJ2Zvcm1faWQnIF07CiAgICAgICAgJGV4dHJhX2NvbHMgPSAkdGhpcy0+X3ZpZXctPm1hcC0+Y29sdW1ucygpOwogICAgICAgICRleHRyYV9jb2xzW10gPSAkdGhpcy0+X3ZpZXctPmZpbHRlci0+b3JkZXJfYnk7CiAgICAgICAgJGV4dHJhX2NvbHMgPSBhcnJheV91bmlxdWUoICRleHRyYV9jb2xzICk7CiAgICAgICAgJGZtdCA9ICJNQVgoSUYoZmllbGRfbmFtZSA9ICclcycsZmllbGRfdmFsdWUsTlVMTCkpIEFTICVzIjsKICAgICAgICBmb3JlYWNoKCAkZXh0cmFfY29scyBhcyAkY29sICkgewogICAgICAgICAgICAkcCA9IHN0cnBvcyggJGNvbCwgJ1snICk7CiAgICAgICAgICAgIGlmKCAkcCAhPT0gRkFMU0UgKSAkY29sID0gc3Vic3RyKCAkY29sLCAwLCAkcCApOwogICAgICAgICAgICAkY29sc1tdID0gc3ByaW50ZiggJGZtdCwgJGNvbCwgJGNvbCApOwogICAgICAgIH0KCiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgU1FMX0NBTENfRk9VTkRfUk9XUyAlY29scyBGUk9NICcuRGJGb3JtU3RvcmFnZTo6dGFibGVfbmFtZSgpOwogICAgICAgICR3aGVyZSA9ICRwYXJtcyA9ICRoYXZpbmcgPSBudWxsOwogICAgICAgIGlmKCBjb3VudCgkdGhpcy0+X2ZpbHRlci0+Zm9ybXMpICkgewogICAgICAgICAgICAvLyB3aGVyZSBpcyBhIHByZWZpbHRlci4uLiBhbmQgZG9lcyBub3Qgd29yayBvbiBhZ2dyZWdhdGVzCiAgICAgICAgICAgIGlmKCBjb3VudCgkdGhpcy0+X2ZpbHRlci0+Zm9ybXMpID4gMSApIHsKICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2Zvcm1faWQgSU4gKCcuaW1wbG9kZSgnLCcsJHRoaXMtPl9maWx0ZXItPmZvcm1zKS4nKSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdmb3JtX2lkID0gPyc7CiAgICAgICAgICAgICAgICAkcGFybXNbXSA9ICR0aGlzLT5fZmlsdGVyLT5mb3JtX2lkOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKCAkdGhpcy0+X2ZpbHRlci0+c2VhcmNoX2ZpZWxkICYmICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfc3RyICkgewogICAgICAgICAgICAkaGF2aW5nW10gPSAkdGhpcy0+X2ZpbHRlci0+c2VhcmNoX2ZpZWxkLicgTElLRSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdGhpcy0+d2lsZGNhcmQoICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfc3RyICk7CiAgICAgICAgfQogICAgICAgIGlmKCAkdGhpcy0+X2ZpbHRlci0+c2VhcmNoX2ZpZWxkMiAmJiAkdGhpcy0+X2ZpbHRlci0+c2VhcmNoX3N0cjIgKSB7CiAgICAgICAgICAgICRoYXZpbmdbXSA9ICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfZmllbGQyLicgTElLRSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdGhpcy0+d2lsZGNhcmQoICR0aGlzLT5fZmlsdGVyLT5zZWFyY2hfc3RyMiApOwogICAgICAgIH0KCiAgICAgICAgLy8gZmluYWwgYXNzZW1ibHkKICAgICAgICBpZiggJHdoZXJlICkgJHNxbCAuPSAnIFdIRVJFICcuaW1wbG9kZSggJyBBTkQgJywgJHdoZXJlICk7CiAgICAgICAgJHNxbCAuPSAnIEdST1VQIEJZIGd1aWQnOwogICAgICAgIGlmKCAkaGF2aW5nICkgJHNxbCAuPSAnIEhBVklORyAnLmltcGxvZGUoICcgQU5EICcsJGhhdmluZyApOwogICAgICAgICRzcWwgLj0gJyBPUkRFUiBCWSAnLiR0aGlzLT5fZmlsdGVyLT5vcmRlcl9ieTsKICAgICAgICBpZiggISAkdGhpcy0+X2ZpbHRlci0+c29ydF9hc2MgKSAkc3FsIC49ICcgREVTQyc7CiAgICAgICAgJHNxbCA9IHN0cl9yZXBsYWNlKCAnJWNvbHMnLCBpbXBsb2RlKCcsICcsJGNvbHMpLCAkc3FsICk7CgogICAgICAgICR0aGlzLT5fcnMgPSAkdGhpcy0+X2RiLT5TZWxlY3RMaW1pdCggJHNxbCwgJHRoaXMtPl9maWx0ZXItPmxpbWl0LCAkdGhpcy0+X2ZpbHRlci0+b2Zmc2V0LCAkcGFybXMgKTsKICAgICAgICAkdGhpcy0+X3RvdGFsbWF0Y2hpbmcgPSAoaW50KSAkdGhpcy0+X2RiLT5HZXRPbmUoICdTRUxFQ1QgRk9VTkRfUk9XUygpJyApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X29iamVjdCgpCiAgICB7CiAgICAgICAgLy8gcmV0dXJucyBhbiBvYmplY3QgdGhhdCByZXByZXNlbnRzIG9uZSByb3cgaW4gdGhlIHJlc3VsdHNldC4KICAgICAgICAkZmllbGRzID0gJHRoaXMtPl9ycy0+ZmllbGRzKCk7CgogICAgICAgICRvYmogPSBWaWV3UmVjb3JkOjpmcm9tX2FycmF5KCAkZmllbGRzICk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9Cn0gLy8gY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DisplayableRecordFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgQ0dCZXR0ZXJGb3Jtc1xGb3JtOwoKY2xhc3MgRGlzcGxheWFibGVSZWNvcmRGYWN0b3J5CnsKICAgIHByaXZhdGUgJF9mb3JtOwogICAgcHJpdmF0ZSAkX21hcDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIEZvcm0gJGZvcm0sIEZpZWxkTWFwICRtYXAgKQogICAgewogICAgICAgICR0aGlzLT5fZm9ybSA9ICRmb3JtOwogICAgICAgICR0aGlzLT5fbWFwID0gJG1hcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlRGlzcGxheWFibGUoIERCUmVjb3JkICRkYnIgKQogICAgewogICAgICAgICRhcnIgPSAkZGJyLT50b19hcnJheSgpOwogICAgICAgIGZvcmVhY2goICRhcnIgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgICAgIGlmKCBzdGFydHN3aXRoKCAka2V5LCAnY2diZl8nKSApIHsKICAgICAgICAgICAgICAgIC8vIGFzc3VtZSByYXcuCiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGZpZWxkID0gJHRoaXMtPl9mb3JtLT5nZXRfZmllbGQoICRrZXkgKTsKICAgICAgICAgICAgc3dpdGNoKCAkdGhpcy0+X21hcC0+JGtleSApIHsKICAgICAgICAgICAgY2FzZSBGaWVsZE1hcDo6RElTUExBWV9IVU1BTjoKICAgICAgICAgICAgICAgIC8vIGdldCB0aGUgaHVtYW4gcmVhZGFibGUgdmFsdWUgZnJvbSB0aGUgZm9ybQogICAgICAgICAgICAgICAgJHZhbHVlID0gJHRoaXMtPl9mb3JtLT5nZXRfaHVtYW5fcmVhZGFibGVfZmllbGRfdmFsdWUoICRrZXksICR2YWx1ZSApOwogICAgICAgICAgICAgICAgJGFyclska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIEZpZWxkTWFwOjpESVNQTEFZX0ZJTEVTOgogICAgICAgICAgICBjYXNlIEZpZWxkTWFwOjpESVNQTEFZX0lNQUdFUzoKICAgICAgICAgICAgICAgIC8vIGl0IGlzIGFuIGFycmF5IG9yIGEgc3RyaW5nCiAgICAgICAgICAgICAgICAvLyBvZiBhYnNvbHV0ZSBmaWxlbmFtZXMuCiAgICAgICAgICAgICAgICAkYXJyWyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgRmllbGRNYXA6OkRJU1BMQVlfUkFXOgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgLy8gZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRvYmogPSBEaXNwbGF5YWJsZURiUmVjb3JkOjpmcm9tX2FycmF5KCAkYXJyICk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9Cn0gLy8gY2xhc3MKCmNsYXNzIERpc3BsYXlhYmxlRGJSZWNvcmQgZXh0ZW5kcyBEQlJlY29yZCB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.FieldMap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgQ0dCZXR0ZXJGb3Jtc1xGb3JtOwoKY2xhc3MgRmllbGRNYXAKewogICAgY29uc3QgRElTUExBWV9IVU1BTiAgPSAnaHVtYW4nOwogICAgY29uc3QgRElTUExBWV9SQVcgICAgPSAncmF3JzsKICAgIGNvbnN0IERJU1BMQVlfTk9XUkFQID0gJ25vd3JhcCc7CiAgICBjb25zdCBESVNQTEFZX0VNQUlMICA9ICdlbWFpbCc7CiAgICBjb25zdCBESVNQTEFZX0ZJTEVTICA9ICdmaWxlcyc7CiAgICBjb25zdCBESVNQTEFZX0lNQUdFUyA9ICdpbWFnZXMnOwogICAgY29uc3QgRElTUExBWV9EQVRFICAgPSAnZGF0ZSc7CiAgICBjb25zdCBESVNQTEFZX0ZMT0FUICA9ICdmbG9hdCc7CiAgICBjb25zdCBESVNQTEFZX0lOVCAgICA9ICdpbnQnOwogICAgcHJpdmF0ZSAkX21hcDsKICAgIHByaXZhdGUgJF9sYWJlbHM7CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVfZnJvbV9mb3JtKCBGb3JtICRmb3JtLCAkc3RyaXBfdGV4dGFyZWEgPSBmYWxzZSApCiAgICB7CiAgICAgICAgJG9iaiA9IG5ldyBzZWxmKCk7CiAgICAgICAgJGZpZWxkcyA9ICRmb3JtLT5nZXRfZmllbGRzKCk7CiAgICAgICAgJGxpc3QgPSBhcnJheV9rZXlzKCAkZmllbGRzICk7CiAgICAgICAgZm9yZWFjaCggJGxpc3QgYXMgJGZpZWxkX25hbWUgKSB7CiAgICAgICAgICAgICRmaWVsZCA9ICRmaWVsZHNbJGZpZWxkX25hbWVdOwogICAgICAgICAgICBzd2l0Y2goICRmaWVsZC0+dHlwZSApIHsKICAgICAgICAgICAgY2FzZSAnZGF0ZSc6CiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6CiAgICAgICAgICAgIGNhc2UgJ3JhZGlvJzoKICAgICAgICAgICAgICAgICRvYmotPiRmaWVsZF9uYW1lID0gc2VsZjo6RElTUExBWV9IVU1BTjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdmaWxlJzoKICAgICAgICAgICAgICAgICRvYmotPiRmaWVsZF9uYW1lID0gc2VsZjo6RElTUExBWV9GSUxFUzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdlbWFpbCc6CiAgICAgICAgICAgICAgICAkb2JqLT4kZmllbGRfbmFtZSA9IHNlbGY6OkRJU1BMQVlfRU1BSUw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAndGV4dGFyZWEnOgogICAgICAgICAgICAgICAgaWYoICRzdHJpcF90ZXh0YXJlYSApIGNvbnRpbnVlOwogICAgICAgICAgICBjYXNlICd0ZXh0JzoKICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRvYmotPiRmaWVsZF9uYW1lID0gc2VsZjo6RElTUExBWV9SQVc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAkb2JqLT5zZXRfbGFiZWwoICRmaWVsZF9uYW1lLCAkZmllbGRzWyRmaWVsZF9uYW1lXS0+bGFiZWwgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCAka2V5ICkKICAgIHsKICAgICAgICBpZiggaXNzZXQoICR0aGlzLT5fbWFwWyRrZXldKSApIHJldHVybiAkdGhpcy0+X21hcFska2V5XTsKICAgICAgICByZXR1cm4gc2VsZjo6RElTUExBWV9SQVc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCAka2V5LCAkdmFsICkKICAgIHsKICAgICAgICBzd2l0Y2goICR2YWwgKSB7CiAgICAgICAgY2FzZSBzZWxmOjpESVNQTEFZX0hVTUFOOgogICAgICAgIGNhc2Ugc2VsZjo6RElTUExBWV9SQVc6CiAgICAgICAgY2FzZSBzZWxmOjpESVNQTEFZX05PV1JBUDoKICAgICAgICBjYXNlIHNlbGY6OkRJU1BMQVlfRU1BSUw6CiAgICAgICAgY2FzZSBzZWxmOjpESVNQTEFZX0RBVEU6CiAgICAgICAgY2FzZSBzZWxmOjpESVNQTEFZX0ZMT0FUOgogICAgICAgIGNhc2Ugc2VsZjo6RElTUExBWV9JTlQ6CiAgICAgICAgY2FzZSBzZWxmOjpESVNQTEFZX0ZJTEVTOgogICAgICAgIGNhc2Ugc2VsZjo6RElTUExBWV9JTUFHRVM6CiAgICAgICAgICAgICR0aGlzLT5fbWFwWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJHZhbCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciAiLl9fTUVUSE9EX18pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xhYmVsKCAka2V5ICkKICAgIHsKICAgICAgICBpZiggaXNzZXQoICR0aGlzLT5fbGFiZWxzWyRrZXldKSApIHJldHVybiAkdGhpcy0+X2xhYmVsc1ska2V5XTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2xhYmVsKCAka2V5LCAkdmFsICkKICAgIHsKICAgICAgICAkdGhpcy0+X2xhYmVsc1ska2V5XSA9IHRyaW0oJHZhbCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGl0ZW1zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tYXA7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbHVtbnMoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+X21hcCApIHJldHVybiBhcnJheV9rZXlzKCAkdGhpcy0+X21hcCApOwogICAgICAgIHJldHVybiBbXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbGFiZWxzKCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPl9sYWJlbHMgKSByZXR1cm4gJHRoaXMtPl9sYWJlbHM7CiAgICB9Cn0gLy8gY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/lib/class.FieldMapFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgQ0dCZXR0ZXJGb3Jtc1xGb3JtOwoKY2xhc3MgRmllbGRNYXBGYWN0b3J5CnsKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVfc3VtbWFyeV9tYXAoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgICRsaXN0ID0gYXJyYXlfa2V5cyggJGZvcm0tPmdldF9maWVsZF9saXN0KCkgKTsKICAgICAgICAkbiA9IDA7CiAgICAgICAgJG1hcCA9IG5ldyBGaWVsZE1hcDsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkZmllbGRfbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJGZpZWxkX25hbWUgKTsKICAgICAgICAgICAgc3dpdGNoKCAkZmllbGQtPnR5cGUgKSB7CiAgICAgICAgICAgIGNhc2UgJ2RhdGUnOgogICAgICAgICAgICBjYXNlICdzZWxlY3QnOgogICAgICAgICAgICBjYXNlICdyYWRpbyc6CiAgICAgICAgICAgIGNhc2UgJ2NoZWNrYm94JzoKICAgICAgICAgICAgICAgICRtYXAtPiRmaWVsZF9uYW1lID0gJG1hcDo6RElTUExBWV9IVU1BTjsKICAgICAgICAgICAgICAgICRuKys7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnZmlsZSc6CiAgICAgICAgICAgICAgICAkbWFwLT4kZmllbGRfbmFtZSA9ICRtYXA6OkRJU1BMQVlfRklMRVM7CiAgICAgICAgICAgICAgICAkbisrOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICBjYXNlICdlbWFpbCc6CiAgICAgICAgICAgIGNhc2UgJ3RleHQnOgogICAgICAgICAgICBjYXNlICdudW1iZXInOgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJG1hcC0+JGZpZWxkX25hbWUgPSAkbWFwOjpESVNQTEFZX1JBVzsKICAgICAgICAgICAgICAgICRuKys7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gbGltaXQgdG8gYSBkb3plbiBjb2x1bW5zLgogICAgICAgICAgICBpZiggJG4gPj0gMTIgKSBicmVhazsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkbWFwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVfcHJpbWFyeV9tYXAoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgIC8vIHRoaXMgaXMgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhlIGFib3ZlIG1ldGhvZAogICAgICAgIC8vIGV4Y2VwdCB0aGVyZSBpcyBubyBmaWVsZCBsaW1pdCwgYW5kIHdlIHRyZWF0IHRleHRhcmVhcyBkaWZmZXJlbnRseS4KICAgICAgICAkbGlzdCA9IGFycmF5X2tleXMoICRmb3JtLT5nZXRfZmllbGRfbGlzdCgpICk7CiAgICAgICAgJG1hcCA9IG5ldyBGaWVsZE1hcDsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkZmllbGRfbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJGZpZWxkX25hbWUgKTsKICAgICAgICAgICAgc3dpdGNoKCAkZmllbGQtPnR5cGUgKSB7CiAgICAgICAgICAgIGNhc2UgJ2RhdGUnOgogICAgICAgICAgICBjYXNlICdzZWxlY3QnOgogICAgICAgICAgICBjYXNlICdyYWRpbyc6CiAgICAgICAgICAgICAgICAkbWFwLT4kZmllbGRfbmFtZSA9ICRtYXA6OkRJU1BMQVlfSFVNQU47CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnZmlsZSc6CiAgICAgICAgICAgICAgICAkbWFwLT4kZmllbGRfbmFtZSA9ICRtYXA6OkRJU1BMQVlfRklMRVM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAndGV4dGFyZWEnOgogICAgICAgICAgICBjYXNlICdlbWFpbCc6CiAgICAgICAgICAgIGNhc2UgJ3RleHQnOgogICAgICAgICAgICBjYXNlICdudW1iZXInOgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJG1hcC0+JGZpZWxkX25hbWUgPSAkbWFwOjpESVNQTEFZX1JBVzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG1hcDsKICAgIH0KfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.FieldRenderer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwp1c2UgXENHQmV0dGVyRm9ybXNcRm9ybTsKdXNlIFxDR0JldHRlckZvcm1zXEZvcm1GaWVsZDsKdXNlIFxDR0JldHRlckZvcm1zXEZvcm1NdWx0aVZhbHVlT3B0aW9uOwp1c2UgXENHQmV0dGVyRm9ybXNcTW9kdWxlUmVmZXJlbmNlOwoKY2xhc3MgRmllbGRSZW5kZXJlcgp7CiAgICBwcml2YXRlICRfZm9ybTsKICAgIHByaXZhdGUgJF9wcmVmaXg7CiAgICBwcml2YXRlICRfYWN0aW9uaWQ7CiAgICBwcml2YXRlICRfZmllbGRjbGFzczsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBNb2R1bGVSZWZlcmVuY2UgJHJlZiwgRm9ybSAkZm9ybSwgJHByZWZpeCA9ICdmbGRfJywgJGFjdGlvbmlkID0gJ20xXycgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJHJlZjsKICAgICAgICAkdGhpcy0+X2ZpZWxkY2xhc3MgPSAnZ3JpZF84JzsKICAgICAgICAkdGhpcy0+X2Zvcm0gPSAkZm9ybTsKICAgICAgICAkdGhpcy0+X3ByZWZpeCA9IHRyaW0oJHByZWZpeCk7CiAgICAgICAgJHRoaXMtPl9hY3Rpb25pZCA9IHRyaW0oJGFjdGlvbmlkKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkX2F0dHJpYnV0ZSggJHN0ciwgJGtleSwgJHZhbCA9IG51bGwgKQogICAgewogICAgICAgICRzdWZmaXggPSBudWxsOwogICAgICAgIGlmKCBlbmRzd2l0aCggJHN0ciwgJy8+JykgKSB7CiAgICAgICAgICAgICRzdWZmaXggPSAnLz4nOwogICAgICAgICAgICAkc3RyID0gc3Vic3RyKCAkc3RyLCAwLCAtMik7CiAgICAgICAgfQogICAgICAgIGlmKCBlbmRzd2l0aCggJHN0ciwgJz4nKSApIHsKICAgICAgICAgICAgJHN1ZmZpeCA9ICc+JzsKICAgICAgICAgICAgJHN0ciA9IHN1YnN0ciggJHN0ciwgMCwgLTEpOwogICAgICAgIH0KICAgICAgICAkc3RyID0gdHJpbSggJHN0ciApOwogICAgICAgIGlmKCAkdmFsICkgewogICAgICAgICAgICAkc3RyIC49ICcgJy50cmltKCRrZXkpLic9IicudHJpbSgkdmFsKS4nIic7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHN0ciAuPSAnICcudHJpbSgka2V5KTsKICAgICAgICB9CiAgICAgICAgJHN0ciAuPSAkc3VmZml4OwogICAgICAgIHJldHVybiAkc3RyOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWVsZF9uYW1lKCBGb3JtRmllbGQgJGZpZWxkLCAkc3VmZml4ID0gbnVsbCApCiAgICB7CiAgICAgICAgJG5hbWUgPSAkdGhpcy0+X2FjdGlvbmlkLiR0aGlzLT5fcHJlZml4LiRmaWVsZC0+bmFtZS4kc3VmZml4OwogICAgICAgIGlmKCAkZmllbGQtPm11bHRpcGxlICkgJG5hbWUgLj0gJ1tdJzsKICAgICAgICByZXR1cm4gJG5hbWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlbmRlclRleHRGaWVsZCggRm9ybUZpZWxkICRmaWVsZCwgJHZhbCApCiAgICB7CiAgICAgICAgJHZhbCA9IHRyaW0oJHZhbCk7CiAgICAgICAgJG5hbWUgPSAkdGhpcy0+ZmllbGRfbmFtZSggJGZpZWxkICk7CiAgICAgICAgJG91dCA9ICc8aW5wdXQgdHlwZT0idGV4dCInOwogICAgICAgICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ25hbWUnLCAkbmFtZSApOwogICAgICAgICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ3ZhbHVlJywgJHZhbCApOwogICAgICAgICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ2NsYXNzJywgJHRoaXMtPl9maWVsZGNsYXNzICk7CiAgICAgICAgaWYoICRmaWVsZC0+cmVxdWlyZWQgKSAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdyZXF1aXJlZCcgKTsKICAgICAgICAkb3V0IC49ICcvPic7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlbmRlckNoZWNrYm94RmllbGQoIEZvcm1GaWVsZCAkZmllbGQsICRjaGVja2VkICkKICAgIHsKICAgICAgICAkY2hlY2tlZCA9IHRyaW0oJGNoZWNrZWQpOwogICAgICAgICRuYW1lID0gJHRoaXMtPmZpZWxkX25hbWUoICRmaWVsZCApOwogICAgICAgICR2YWwgPSAkZmllbGQtPmdldF9zaW5nbGVfb3B0aW9uX3ZhbHVlKCk7CgogICAgICAgICRoaWQgPSAnPGlucHV0IHR5cGU9ImhpZGRlbiInOwogICAgICAgICRoaWQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJGhpZCwgJ25hbWUnLCAkbmFtZSApOwogICAgICAgICRoaWQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJGhpZCwgJ3ZhbHVlJywgJycgKTsKICAgICAgICAkaGlkIC49ICcvPic7CgogICAgICAgICRvdXQgPSAnPGlucHV0IHR5cGU9ImNoZWNrYm94Iic7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnbmFtZScsICRuYW1lICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAndmFsdWUnLCAkdmFsICk7CiAgICAgICAgaWYoICRjaGVja2VkID09ICR2YWwgKSAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdjaGVja2VkJyApOwogICAgICAgICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ2NsYXNzJywgJHRoaXMtPl9maWVsZGNsYXNzICk7CiAgICAgICAgaWYoICRmaWVsZC0+cmVxdWlyZWQgKSAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdyZXF1aXJlZCcgKTsKICAgICAgICAkb3V0IC49ICcvPic7CiAgICAgICAgcmV0dXJuICRoaWQuJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVuZGVyQ2hlY2tib3hHcm91cCggRm9ybUZpZWxkICRmaWVsZCwgJHZhbCApCiAgICB7CiAgICAgICAgJHJlbmRlcl9jaGVja2JveF9vcHRpb24gPSBmdW5jdGlvbiggJG5hbWUsIEZvcm1NdWx0aVZhbHVlT3B0aW9uICRvcHRpb24sICRzZWxlY3RlZCA9IG51bGwgKSB7CiAgICAgICAgICAgIGlmKCAhJHNlbGVjdGVkIHx8ICFpc19hcnJheSgkc2VsZWN0ZWQpICkgJHNlbGVjdGVkID0gW107CiAgICAgICAgICAgICRuYW1lID0gdHJpbSgkbmFtZSk7CiAgICAgICAgICAgICRvdXQgPSAnPGlucHV0Lz4nOwogICAgICAgICAgICAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICd0eXBlJywgJ2NoZWNrYm94JyApOwogICAgICAgICAgICAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICduYW1lJywgJG5hbWUgKTsKICAgICAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAndmFsdWUnLCAkb3B0aW9uLT52YWx1ZSApOwogICAgICAgICAgICBpZiggJG9wdGlvbi0+dmFsdWUgJiYgaW5fYXJyYXkoICRvcHRpb24tPnZhbHVlLCAkc2VsZWN0ZWQgKSApICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ2NoZWNrZWQnICk7CgogICAgICAgICAgICAkb3V0ID0gJzxsYWJlbD4nLiRvdXQuJzxzcGFuPicuJG9wdGlvbi0+dGV4dC4nPC9zcGFuPiA8L2xhYmVsPic7CiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH07CgogICAgICAgIGlmKCAhJGZpZWxkLT5tdWx0aXBsZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oX19NRVRIT0RfXy4nIGlzIG9ubHkgZm9yIHJlbmRlcmluZyBhIGNoZWNrYm94IGdyb3VwIChtdWx0aXBsZSBvcHRpb25zKScpOwogICAgICAgICRzZXBhcmF0b3IgPSAnPGJyLz4nOwoKICAgICAgICAkbmFtZSA9ICR0aGlzLT5maWVsZF9uYW1lKCAkZmllbGQgKTsKICAgICAgICAkb3V0ID0gJzxkaXY+JzsKICAgICAgICAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdjbGFzcycsICR0aGlzLT5fZmllbGRjbGFzcyApOwogICAgICAgICRvcHRpb25zID0gJGZpZWxkLT5nZXRfb3B0aW9ucygpOwogICAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRvcHRpb25zKTsgJGkrKyApIHsKICAgICAgICAgICAgJG9wdGlvbiA9ICRvcHRpb25zWyRpXTsKICAgICAgICAgICAgJG91dCAuPSAkcmVuZGVyX2NoZWNrYm94X29wdGlvbiggJG5hbWUsICRvcHRpb24sICR2YWwgKTsKICAgICAgICAgICAgJG91dCAuPSAkc2VwYXJhdG9yOwogICAgICAgIH0KICAgICAgICAkb3V0IC49ICc8L2Rpdj4nOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZW5kZXJOdW1iZXJGaWVsZCggRm9ybUZpZWxkICRmaWVsZCwgJHZhbCApCiAgICB7CiAgICAgICAgJHZhbCA9IHRyaW0oJHZhbCk7CiAgICAgICAgJG5hbWUgPSAkdGhpcy0+ZmllbGRfbmFtZSggJGZpZWxkICk7CiAgICAgICAgJG91dCA9ICc8aW5wdXQgdHlwZT0ibnVtYmVyIic7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnbmFtZScsICRuYW1lICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAndmFsdWUnLCAkdmFsICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnY2xhc3MnLCAkdGhpcy0+X2ZpZWxkY2xhc3MgKTsKICAgICAgICBpZiggJGZpZWxkLT5taW4gKSAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdtaW4nLCAkZmllbGQtPm1pbiApOwogICAgICAgIGlmKCAkZmllbGQtPm1heCApICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ21heCcsICRmaWVsZC0+bWF4ICk7CiAgICAgICAgaWYoICRmaWVsZC0+cmVxdWlyZWQgKSAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdyZXF1aXJlZCcgKTsKICAgICAgICAkb3V0IC49ICcvPic7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlbmRlckVtYWlsRmllbGQoIEZvcm1GaWVsZCAkZmllbGQsICR2YWwgKQogICAgewogICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICRuYW1lID0gJHRoaXMtPmZpZWxkX25hbWUoICRmaWVsZCApOwogICAgICAgICRvdXQgPSAnPGlucHV0IHR5cGU9ImVtYWlsIic7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnbmFtZScsICRuYW1lICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAndmFsdWUnLCAkdmFsICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnY2xhc3MnLCAkdGhpcy0+X2ZpZWxkY2xhc3MgKTsKICAgICAgICBpZiggJGZpZWxkLT5yZXF1aXJlZCApICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ3JlcXVpcmVkJyApOwogICAgICAgICRvdXQgLj0gJy8+JzsKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVuZGVyRGF0ZUZpZWxkKCBGb3JtRmllbGQgJGZpZWxkLCAkdmFsICkKICAgIHsKICAgICAgICAkdmFsID0gdHJpbSgkdmFsKTsKICAgICAgICAkbmFtZSA9ICR0aGlzLT5maWVsZF9uYW1lKCAkZmllbGQgKTsKICAgICAgICAkb3V0ID0gJzxpbnB1dCB0eXBlPSJkYXRlIic7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnbmFtZScsICRuYW1lICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAndmFsdWUnLCAkdmFsICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnY2xhc3MnLCAkdGhpcy0+X2ZpZWxkY2xhc3MgKTsKICAgICAgICBpZiggJGZpZWxkLT5yZXF1aXJlZCApICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ3JlcXVpcmVkJyApOwogICAgICAgICRvdXQgLj0gJy8+JzsKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVuZGVyVGV4dEFyZWEoIEZvcm1GaWVsZCAkZmllbGQsICR2YWwgKQogICAgewogICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICRuYW1lID0gJHRoaXMtPmZpZWxkX25hbWUoICRmaWVsZCApOwogICAgICAgICRvdXQgPSAnPHRleHRhcmVhJzsKICAgICAgICAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICduYW1lJywgJG5hbWUgKTsKICAgICAgICAkb3V0ID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRvdXQsICdjbGFzcycsICR0aGlzLT5fZmllbGRjbGFzcyApOwogICAgICAgIGlmKCAkZmllbGQtPnJlcXVpcmVkICkgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAncmVxdWlyZWQnICk7CiAgICAgICAgJG91dCAuPSAnPicuJHZhbC4nPC90ZXh0YXJlYT4nOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZW5kZXJPcHRpb24oIEZvcm1NdWx0aVZhbHVlT3B0aW9uICRvcHRpb24sICR2YWwgKQogICAgewogICAgICAgIC8vICR2YWwgbWF5IGJlIGFuIGFycmF5LgogICAgICAgIGlmKCAhaXNfYXJyYXkoICR2YWwgKSApICR2YWwgPSBbICR2YWwgXTsKCiAgICAgICAgJG91dCA9ICc8b3B0aW9uPic7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAndmFsdWUnLCAkb3B0aW9uLT52YWx1ZSApOwogICAgICAgIGlmKCAkdmFsICYmIGluX2FycmF5KCAkb3B0aW9uLT52YWx1ZSwgJHZhbCApICkgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnc2VsZWN0ZWQnICk7CiAgICAgICAgJGxibCA9IG51bGw7CiAgICAgICAgaWYoICRvcHRpb24tPmh1bWFuICkgJGxibCA9ICRvcHRpb24tPmh1bWFuOwogICAgICAgIGlmKCAhJGxibCAmJiAkb3B0aW9uLT5sYWJlbCApICRsYmwgPSAkb3B0aW9uLT5sYWJlbDsKICAgICAgICAkb3V0IC49ICRsYmw7CiAgICAgICAgJG91dCAuPSAnPC9vcHRpb24+JzsKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVuZGVyU2VsZWN0RmllbGQoIEZvcm1GaWVsZCAkZmllbGQsICR2YWwgKQogICAgewogICAgICAgIC8vIGlmIHRoaXMgaXMgYSBtdWx0aXBsZSBzZWxlY3QuLi4gdGhlbiAkdmFsIG1heSBiZSBhbiBhcnJheQogICAgICAgIC8vIHRvZG86IGhhbmRsZSBtdWx0aXBsZSBzZWxlY3QsIGFuZCBzaXplCiAgICAgICAgaWYoICEkZmllbGQtPm11bHRpcGxlICkgJHZhbCA9IHRyaW0oICR2YWwgKTsKICAgICAgICAkbmFtZSA9ICR0aGlzLT5maWVsZF9uYW1lKCAkZmllbGQgKTsKICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSAmJiAhZW5kc3dpdGgoICRuYW1lLCAnW10nKSApICRuYW1lIC49ICdbXSc7CiAgICAgICAgJG9wdGlvbnMgPSAkZmllbGQtPmdldF9vcHRpb25zKCk7CiAgICAgICAgaWYoICEkb3B0aW9ucyApIHJldHVybiAkdGhpcy0+cmVuZGVyVGV4dEZpZWxkKCAkZmllbGQsICR2YWwgKTsKCiAgICAgICAgJG91dCA9ICc8c2VsZWN0Pic7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnbmFtZScsICRuYW1lICk7CiAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnY2xhc3MnLCAkdGhpcy0+X2ZpZWxkY2xhc3MgKTsKICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ211bHRpcGxlJyApOwogICAgICAgIGZvcmVhY2goICRvcHRpb25zIGFzICRvcHRpb24gKSB7CiAgICAgICAgICAgICRvdXQgLj0gJHRoaXMtPnJlbmRlck9wdGlvbiggJG9wdGlvbiwgJHZhbCApOwogICAgICAgIH0KICAgICAgICBpZiggJGZpZWxkLT5yZXF1aXJlZCApICRvdXQgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJG91dCwgJ3JlcXVpcmVkJyApOwogICAgICAgICRvdXQgLj0gJzwvc2VsZWN0Pic7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlbmRlclJhZGlvR3JvdXBGaWVsZCggRm9ybUZpZWxkICRmaWVsZCwgJHZhbCApCiAgICB7CiAgICAgICAgJHZhbCA9IHRyaW0oJHZhbCk7CiAgICAgICAgJG5hbWUgPSAkdGhpcy0+ZmllbGRfbmFtZSggJGZpZWxkICk7CiAgICAgICAgJG9wdGlvbnMgPSAkZmllbGQtPmdldF9vcHRpb25zKCk7CiAgICAgICAgJHNlcGFyYXRvciA9ICc8YnIvPic7CgogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgIGZvcmVhY2goICRvcHRpb25zIGFzICRvcHRpb24gKSB7CiAgICAgICAgICAgICRzdHIgPSAnPGlucHV0Lz4nOwogICAgICAgICAgICAkc3RyID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRzdHIsICd0eXBlJywgJ3JhZGlvJyApOwogICAgICAgICAgICAkc3RyID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRzdHIsICduYW1lJywgJG5hbWUgKTsKICAgICAgICAgICAgJHN0ciA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkc3RyLCAndmFsdWUnLCAkb3B0aW9uLT52YWx1ZSApOwogICAgICAgICAgICBpZiggJHZhbCA9PSAkb3B0aW9uLT52YWx1ZSApICRzdHIgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJHN0ciwgJ2NoZWNrZWQnICk7CiAgICAgICAgICAgICRwcm9tcHQgPSAnPHNwYW4+Jy4kb3B0aW9uLT50ZXh0Lic8L3NwYW4+JzsKICAgICAgICAgICAgJHN0ciA9ICI8bGFiZWw+eyRzdHJ9eyRwcm9tcHR9PC9sYWJlbD57JHNlcGFyYXRvcn0iOwogICAgICAgICAgICAkb3V0IC49ICRzdHI7CiAgICAgICAgfQogICAgICAgICR0bXAgPSAnPGRpdj4nOwogICAgICAgICR0bXAgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSgkdG1wLCdjbGFzcycsJHRoaXMtPl9maWVsZGNsYXNzKTsKICAgICAgICAkdG1wIC49ICRvdXQgLic8L2Rpdj4nOwogICAgICAgIHJldHVybiAkdG1wOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWxlbmFtZV90b191cmwoICRpbiApCiAgICB7CiAgICAgICAgaWYoICFpc19maWxlKCAkaW4gKSApIHJldHVybjsKICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgIGlmKCAhc3RhcnRzd2l0aCggJGluLCAkY29uZmlnWydyb290X3BhdGgnXSkgKSByZXR1cm47CgogICAgICAgICRvdXQgPSBzdHJfcmVwbGFjZSggJGNvbmZpZ1sncm9vdF9wYXRoJ10sICRjb25maWdbJ3Jvb3RfdXJsJ10sICRpbiApOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZW5kZXJGaWxlc2ZpZWxkKCBGb3JtRmllbGQgJGZpZWxkLCAkdmFsICkKICAgIHsKICAgICAgICBpZiggISR2YWwgfHwgIWNvdW50KCR2YWwpICkgewogICAgICAgICAgICAkb3V0ID0gJzxkaXY+JzsKICAgICAgICAgICAgJG91dCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkb3V0LCAnY2xhc3MnLCAkdGhpcy0+X2ZpZWxkY2xhc3MgKTsKICAgICAgICAgICAgJG91dCAuPSAkdGhpcy0+X21vZC0+TGFuZygnbXNnX25vZmlsZXMnKTsKICAgICAgICAgICAgJG91dCAuPSAnPC9kaXY+JzsKICAgICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgfQoKICAgICAgICAkbmFtZSA9ICR0aGlzLT5maWVsZF9uYW1lKCAkZmllbGQsICdfZGVsJyApOwogICAgICAgICRzZXBhcmF0b3IgPSAnJzsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBpZiggIWlzX2FycmF5KCAkdmFsICkgKSAkdmFsID0gWyB0cmltKCAkdmFsICkgXTsKICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRmaWxlbmFtZSApIHsKICAgICAgICAgICAgJHVybCA9ICR0aGlzLT5maWxlbmFtZV90b191cmwoICRmaWxlbmFtZSApOwogICAgICAgICAgICBpZiggISR1cmwgKSBjb250aW51ZTsKCiAgICAgICAgICAgIC8vIGxpbmsgdG8gdmlldy9kb3dubG9hZCBmaWxlCiAgICAgICAgICAgICRzdHIgPSAnPGE+JzsKICAgICAgICAgICAgJHN0ciA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkc3RyLCAnaHJlZicsICR1cmwgKTsKICAgICAgICAgICAgJHN0ciA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkc3RyLCAndGl0bGUnLCBiYXNlbmFtZSggJHVybCApKTsKICAgICAgICAgICAgJHN0ciAuPSBiYXNlbmFtZSggJHVybCApOwogICAgICAgICAgICAkc3RyIC49ICc8L2E+JzsKICAgICAgICAgICAgJHN0ciAuPSAnJm5ic3A7JzsKCiAgICAgICAgICAgIC8vIGxpbmsgZm9yIHRoZSBkZWxldGUgYWN0aW9uCiAgICAgICAgICAgICRzdHIyID0gJzxhPic7CiAgICAgICAgICAgICRzdHIyID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRzdHIyLCAnY2xhc3MnLCAnZGVsX2ZpbGUnICk7CiAgICAgICAgICAgICRzdHIyID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRzdHIyLCAndGl0bGUnLCAkdGhpcy0+X21vZC0+TGFuZygnZGVsZXRlJykgKTsKICAgICAgICAgICAgJHN0cjIgLj0gJ1t4XTwvYT4nOwogICAgICAgICAgICAkc3RyIC49ICRzdHIyOwoKICAgICAgICAgICAgJHN0ciA9ICI8ZGl2IGNsYXNzPVwiZGVsX3dyYXBcIj57JHN0cn17JHNlcGFyYXRvcn08L2Rpdj4iOwoKICAgICAgICAgICAgLy8gaGlkZGVuIGlucHV0IGZpZWxkCiAgICAgICAgICAgICRpbnAgPSAnPGlucHV0Pic7CiAgICAgICAgICAgICRpbnAgPSAkdGhpcy0+YWRkX2F0dHJpYnV0ZSggJGlucCwgJ3R5cGUnLCAnaGlkZGVuJyApOwogICAgICAgICAgICAkaW5wID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRpbnAsICduYW1lJywgJG5hbWUgKTsKICAgICAgICAgICAgJGlucCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkaW5wLCAnZGF0YS1maWxlbmFtZScsICRmaWxlbmFtZSApOwogICAgICAgICAgICAkaW5wID0gJHRoaXMtPmFkZF9hdHRyaWJ1dGUoICRpbnAsICd2YWx1ZScsICcnICk7CiAgICAgICAgICAgICRzdHIgLj0gJGlucDsKICAgICAgICAgICAgJG91dCAuPSAkc3RyOwogICAgICAgIH0KCiAgICAgICAgLy8gd3JhcCBldmVyeXRoaW5nIGluIGEgZGl2LgogICAgICAgICR3cmFwID0gJzxkaXY+JzsKICAgICAgICAkd3JhcCA9ICR0aGlzLT5hZGRfYXR0cmlidXRlKCAkd3JhcCwgJ2NsYXNzJywgJHRoaXMtPl9maWVsZGNsYXNzICk7CiAgICAgICAgJHdyYXAgLj0gJG91dC4nPC9kaXY+JzsKICAgICAgICByZXR1cm4gJHdyYXA7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWVsZGNsYXNzKCAkY2xhc3MgPSBudWxsICkKICAgIHsKICAgICAgICBpZiggISRjbGFzcyApICRjbGFzcyA9ICdncmlkXzgnOwogICAgICAgICR0aGlzLT5fZmllbGRjbGFzcyA9ICRjbGFzczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVuZGVyKCBGb3JtRmllbGQgJGZpZWxkLCAkdmFsICkKICAgIHsKICAgICAgICBzd2l0Y2goICRmaWVsZC0+dHlwZSApIHsKICAgICAgICBjYXNlICd0ZXh0JzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXJUZXh0RmllbGQoICRmaWVsZCwgJHZhbCApOwogICAgICAgIGNhc2UgJ2VtYWlsJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXJFbWFpbEZpZWxkKCAkZmllbGQsICR2YWwgKTsKICAgICAgICBjYXNlICdudW1iZXInOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJlbmRlck51bWJlckZpZWxkKCAkZmllbGQsICR2YWwgKTsKICAgICAgICBjYXNlICdkYXRlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXJEYXRlRmllbGQoICRmaWVsZCwgJHZhbCApOwogICAgICAgIGNhc2UgJ2NoZWNrYm94JzoKICAgICAgICAgICAgaWYoICRmaWVsZC0+bXVsdGlwbGUgKSByZXR1cm4gJHRoaXMtPnJlbmRlckNoZWNrYm94R3JvdXAoICRmaWVsZCwgJHZhbCApOwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJlbmRlckNoZWNrYm94RmllbGQoICRmaWVsZCwgJHZhbCApOwogICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXJUZXh0QXJlYSggJGZpZWxkLCAkdmFsICk7CiAgICAgICAgY2FzZSAnc2VsZWN0JzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXJTZWxlY3RGaWVsZCggJGZpZWxkLCAkdmFsICk7CiAgICAgICAgY2FzZSAncmFkaW8nOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJlbmRlclJhZGlvR3JvdXBGaWVsZCggJGZpZWxkLCAkdmFsICk7CiAgICAgICAgY2FzZSAnZmlsZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyRmlsZXNGaWVsZCggJGZpZWxkLCAkdmFsICk7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgLy8gd2UgZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIHRoZXNlIGZpZWxkcwogICAgICAgICAgICAvLyBzbyB3ZSByZW5kZXIgdGhlbSBhcyB0ZXh0IGlucHV0cwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJlbmRlclRleHRGaWVsZCggJGZpZWxkLCAkdmFsICk7CiAgICAgICAgfQogICAgfQp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.View.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgVmlldwp7CiAgICBjb25zdCBUWVBFX1ZJRVcgPSAnVic7CiAgICBjb25zdCBUWVBFX1NFUEFSQVRPUiA9ICctJzsKCiAgICBwcml2YXRlICRfaWQ7CiAgICBwcml2YXRlICRfbmFtZTsKICAgIHByaXZhdGUgJF90eXBlOwogICAgcHJpdmF0ZSAkX21hcDsKICAgIHByaXZhdGUgJF9maWx0ZXI7CiAgICBwcml2YXRlICRfc29ydGluZzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgICR0aGlzLT5fdHlwZSA9IHNlbGY6OlRZUEVfVklFVzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdpZCc6CiAgICAgICAgICAgIHJldHVybiAoaW50KSAkdGhpcy0+X2lkOwoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9uYW1lKTsKCiAgICAgICAgY2FzZSAndHlwZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fdHlwZSk7CgogICAgICAgIGNhc2UgJ21hcCc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X21hcDsKCiAgICAgICAgY2FzZSAnZmlsdGVyJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZmlsdGVyOwoKICAgICAgICBjYXNlICdzb3J0aW5nJzoKICAgICAgICAgICAgcmV0dXJuIChpbnQpICR0aGlzLT5fc29ydGluZzsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBnZXR0YWJsZSBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoICRrZXksICR2YWwgKQogICAgewogICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgc2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWQoKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPm5hbWUgKSByZXR1cm4gZmFsc2U7CiAgICAgICAgaWYoICR0aGlzLT50eXBlID09IHNlbGY6OlRZUEVfVklFVyAmJiAhJHRoaXMtPl9tYXAtPmNvbHVtbnMoKSApIHJldHVybiBmYWxzZTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gd2l0aE5hbWUoICRuYW1lICkKICAgIHsKICAgICAgICAkbmFtZSA9IHRyaW0oICRuYW1lICk7CiAgICAgICAgaWYoICEkbmFtZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgbmFtZSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKCiAgICAgICAgJG9iaiA9IGNsb25lICR0aGlzOwogICAgICAgICRvYmotPl9uYW1lID0gJG5hbWU7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHdpdGhTb3J0aW5nKCAkdmFsICkKICAgIHsKICAgICAgICAkdmFsID0gbWF4KDEsKGludCkgJHZhbCk7CiAgICAgICAgJG9iaiA9IGNsb25lICR0aGlzOwogICAgICAgICRvYmotPl9zb3J0aW5nID0gJHZhbDsKICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gd2l0aE1hcCggRmllbGRNYXAgJG1hcCApCiAgICB7CiAgICAgICAgJG9iaiA9IGNsb25lICR0aGlzOwogICAgICAgICRvYmotPl9tYXAgPSAkbWFwOwogICAgICAgIHJldHVybiAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhc1NlcGFyYXRvcigpCiAgICB7CiAgICAgICAgJG9iaiA9IGNsb25lICR0aGlzOwogICAgICAgICRvYmotPl9tYXAgPSBudWxsOwogICAgICAgICRvYmotPl9maWx0ZXIgPSBudWxsOwogICAgICAgICRvYmotPl90eXBlID0gc2VsZjo6VFlQRV9TRVBBUkFUT1I7CiAgICAgICAgJG9iai0+X25hbWUgPSBcY2dlX3V0aWxzOjpjcmVhdGVfZ3VpZCgpOwogICAgICAgIHJldHVybiAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB3aXRoRmlsdGVyKCBEQkZpbHRlciAkZmlsdGVyICkKICAgIHsKICAgICAgICAkb2JqID0gY2xvbmUgJHRoaXM7CiAgICAgICAgJG9iai0+X2ZpbHRlciA9ICRmaWx0ZXI7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmcm9tX2FycmF5KCAkaW4gKQogICAgewogICAgICAgIGlmKCAhaXNfYXJyYXkoICRpbiApIHx8ICFpc3NldCggJGluWydkYXRhJ10pIHx8ICEkaW5bJ2RhdGEnXSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgYXJyYXkgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgaWYoIGVtcHR5KCRpblsndHlwZSddKSApICRpblsndHlwZSddID0gJ1YnOwoKICAgICAgICAkb2JqID0gdW5zZXJpYWxpemUoICRpblsnZGF0YSddICk7CiAgICAgICAgJG9iai0+X2lkID0gJGluWydpZCddOwogICAgICAgICRvYmotPl9zb3J0aW5nID0gKGludCkgJGluWydzb3J0aW5nJ107CiAgICAgICAgJG9iai0+X25hbWUgPSB0cmltKCAkaW5bJ25hbWUnXSApOwogICAgICAgICRvYmotPl90eXBlID0gdHJpbSggJGluWyd0eXBlJ10gKTsKICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ViewManager.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgVmlld01hbmFnZXIKewogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRhYmxlX25hbWUoKSB7IHJldHVybiBDTVNfREJfUFJFRklYLidtb2RfY2diZmNydWRfdmlld3MnOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBcQ0dCRkNydWQgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoKQogICAgewogICAgICAgICR2aWV3ID0gbmV3IFZpZXc7CiAgICAgICAgJG1hcCA9IG5ldyBGaWVsZE1hcDsKICAgICAgICAkdmlldyA9ICR2aWV3LT53aXRoTWFwKCAkbWFwICk7CiAgICAgICAgJHZpZXcgPSAkdmlldy0+d2l0aEZpbHRlciggbmV3IERCRmlsdGVyICk7CiAgICAgICAgcmV0dXJuICR2aWV3OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVfc2VwYXJhdG9yKCkKICAgIHsKICAgICAgICAkdmlldyA9IG5ldyBWaWV3OwogICAgICAgICR2aWV3ID0gJHZpZXctPmFzU2VwYXJhdG9yKCk7CiAgICAgICAgcmV0dXJuICR2aWV3OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aWV3X2V4aXN0cyggVmlldyAkdmlldyApCiAgICB7CiAgICAgICAgJHRtcCA9IG51bGw7CiAgICAgICAgJGRiID0gJHRoaXMtPl9tb2QtPkdldERiKCk7CiAgICAgICAgaWYoICR2aWV3LT5pZCApIHsKICAgICAgICAgICAgJHNxbCA9ICdTRUxFQ1QgaWQgRlJPbSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFdIRVJFIG5hbWUgPSA/IEFORCBpZCAhPSA/JzsKICAgICAgICAgICAgJHRtcCA9IChpbnQpICRkYi0+R2V0T25lKCAkc3FsLCBbICR2aWV3LT5uYW1lLCAkdmlldy0+aWQgXSApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJHNxbCA9ICdTRUxFQ1QgaWQgRlJPbSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICAgICAgICAgJHRtcCA9IChpbnQpICRkYi0+R2V0T25lKCAkc3FsLCBbICR2aWV3LT5uYW1lIF0gKTsKICAgICAgICB9CiAgICAgICAgaWYoICR0bXAgPiAwICkgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoIFZpZXcgJHZpZXcgKQogICAgewogICAgICAgIGlmKCAhJHZpZXctPnZhbGlkKCkgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCJDYW5ub3Qgc2F2ZSBpbnZhbGlkIHZpZXciKTsKCiAgICAgICAgJGRiID0gJHRoaXMtPl9tb2QtPkdldERiKCk7CiAgICAgICAgaWYoICR2aWV3LT5pZCA8IDEgKSB7CiAgICAgICAgICAgICRzcWwgPSAnU0VMRUNUIENPQUxFU0NFKE1BWChzb3J0aW5nKSwwKSsxIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCk7CiAgICAgICAgICAgICRzb3J0aW5nID0gKGludCkgJGRiLT5HZXRPbmUoICRzcWwgKTsKICAgICAgICAgICAgJHNxbCA9ICdJTlNFUlQgSU5UTyAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIChuYW1lLCB0eXBlLCBzb3J0aW5nLCBkYXRhKSBWQUxVRVMgKD8sPyw/LD8pJzsKICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCAkc3FsLCBbICR2aWV3LT5uYW1lLCAkdmlldy0+dHlwZSwgJHNvcnRpbmcsIHNlcmlhbGl6ZSggJHZpZXcgKSBdICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkc3FsID0gJ1VQREFURSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFNFVCBuYW1lID0gPywgdHlwZSA9ID8sIHNvcnRpbmcgPSA/LCBkYXRhID0gPyBXSEVSRSBpZCA9ID8nOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoICRzcWwsIFsgJHZpZXctPm5hbWUsICR2aWV3LT50eXBlLCAkdmlldy0+c29ydGluZywgc2VyaWFsaXplKCAkdmlldyApLCAkdmlldy0+aWQgXSApOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9hZF9ieV9uYW1lKCAkbmFtZSApCiAgICB7CiAgICAgICAgJGRiID0gJHRoaXMtPl9tb2QtPkdldERiKCk7CiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuc2VsZjo6dGFibGVfbmFtZSgpLicgV0hFUkUgbmFtZSA9ID8nOwogICAgICAgICRyb3cgPSAkZGItPkdldFJvdyggJHNxbCwgWyAkbmFtZSBdICk7CiAgICAgICAgaWYoICRyb3cgKSB7CiAgICAgICAgICAgIHJldHVybiBWaWV3Ojpmcm9tX2FycmF5KCAkcm93ICk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkX2J5X2lkKCAkaWQgKQogICAgewogICAgICAgICRpZCA9IChpbnQpICRpZDsKICAgICAgICAkZGIgPSAkdGhpcy0+X21vZC0+R2V0RGIoKTsKICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBpZCA9ID8nOwogICAgICAgICRyb3cgPSAkZGItPkdldFJvdyggJHNxbCwgWyAkaWQgXSApOwogICAgICAgIGlmKCAkcm93ICkgewogICAgICAgICAgICByZXR1cm4gVmlldzo6ZnJvbV9hcnJheSggJHJvdyApOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xpc3QoKQogICAgewogICAgICAgICRkYiA9ICR0aGlzLT5fbW9kLT5HZXREYigpOwogICAgICAgICRzcWwgPSAnU0VMRUNUIGlkLG5hbWUsdHlwZSBGUk9NICcuc2VsZjo6dGFibGVfbmFtZSgpLicgT1JERVIgQlkgc29ydGluZywgbmFtZSc7CiAgICAgICAgJGxpc3QgPSAkZGItPkdldEFycmF5KCAkc3FsICk7CiAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgaWYoIGNvdW50KCRsaXN0KSApIHsKICAgICAgICAgICAgZm9yZWFjaCggJGxpc3QgYXMgJG9uZSApIHsKICAgICAgICAgICAgICAgIGlmKCAhJG9uZVsndHlwZSddIHx8ICRvbmVbJ3R5cGUnXSA9PSBWaWV3OjpUWVBFX1ZJRVcgICkgewogICAgICAgICAgICAgICAgICAgICRvdXRbJG9uZVsnaWQnXV0gPSAkb25lWyduYW1lJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZV9mb3JfZm9ybSggXENHQmV0dGVyRm9ybXNcRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJHZpZXcgPSBuZXcgVmlldzsKICAgICAgICAkdmlldyA9ICR2aWV3LT53aXRoTmFtZSggJGZvcm0tPm5hbWUgKTsKICAgICAgICAkZmlsdGVyID0gbmV3IERCRmlsdGVyOwogICAgICAgICRmaWx0ZXJbJ2Zvcm1faWQnXSA9ICRmb3JtLT5pZDsKICAgICAgICAkdmlldyA9ICR2aWV3LT53aXRoRmlsdGVyKCAkZmlsdGVyICk7CiAgICAgICAgJHZpZXcgPSAkdmlldy0+d2l0aE1hcCggRmllbGRNYXA6OmNyZWF0ZV9mcm9tX2Zvcm0oICRmb3JtICkgKTsKICAgICAgICByZXR1cm4gJHZpZXc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvYWRfYWxsKCkKICAgIHsKICAgICAgICAkZGIgPSAkdGhpcy0+X21vZC0+R2V0RGIoKTsKICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBPUkRFUiBCWSBzb3J0aW5nLCBuYW1lJzsKICAgICAgICAkbGlzdCA9ICRkYi0+R2V0QXJyYXkoICRzcWwgKTsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBpZiggY291bnQoJGxpc3QpICkgewogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgJG91dFskb25lWydpZCddXSA9IFZpZXc6OmZyb21fYXJyYXkoICRvbmUgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCBWaWV3ICR2aWV3ICkKICAgIHsKICAgICAgICBpZiggISR2aWV3LT5pZCApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ1RoaXMgdmlldyBjYW5ub3QgYmUgZGVsZXRlZCAobm8gdmFsaWQgaWQpJyk7CiAgICAgICAgJGRiID0gJHRoaXMtPl9tb2QtPkdldERiKCk7CiAgICAgICAgJHNvcnRpbmcgPSAkdmlldy0+c29ydGluZzsKICAgICAgICAkc3FsID0gJ0RFTEVURSBGUk9NICcuc2VsZjo6dGFibGVfbmFtZSgpLicgV0hFUkUgaWQgPSA/JzsKICAgICAgICAkZGItPkV4ZWN1dGUoICRzcWwsIFsgJHZpZXctPmlkIF0gKTsKICAgICAgICAkc3FsID0gJ1VQREFURSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFNFVCBzb3J0aW5nID0gc29ydGluZyAtIDEgV0hFUkUgc29ydGluZyA+ID8nOwogICAgICAgICRkYi0+RXhlY3V0ZSggJHNxbCwgWyAkc29ydGluZyBdICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9yZ2FuaXplX3ZpZXdzKCAkc29ydGluZ3MgKQogICAgewogICAgICAgICR2aWV3cyA9ICR0aGlzLT5sb2FkX2FsbCgpOwoKICAgICAgICAkZGIgPSAkdGhpcy0+X21vZC0+R2V0RGIoKTsKICAgICAgICAkZGItPkJlZ2luVHJhbnMoKTsKICAgICAgICBmb3JlYWNoKCAkc29ydGluZ3MgYXMgJGlkeCA9PiAkdmlld19pZCApIHsKICAgICAgICAgICAgLy8gcmVtZW1iZXI6IHNvcnRpbmdzIHN0YXJ0IGF0IDEKICAgICAgICAgICAgJHZpZXcgPSAkdmlld3NbJHZpZXdfaWRdLT53aXRoU29ydGluZyggJGlkeCsxICk7CiAgICAgICAgICAgICR0aGlzLT5zYXZlKCAkdmlldyApOwogICAgICAgIH0KICAgICAgICAkZGItPkNvbW1pdFRyYW5zKCk7CiAgICB9Cn0gLy8gY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ViewRecord.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIENHQkZDcnVkOwoKY2xhc3MgVmlld1JlY29yZAp7CiAgICBwcml2YXRlICRfZmllbGRzID0gW107CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCAka2V5ICkKICAgIHsKICAgICAgICBpZiggYXJyYXlfa2V5X2V4aXN0cyggJGtleSwgJHRoaXMtPl9maWVsZHMgKSApIHJldHVybiAkdGhpcy0+X2ZpZWxkc1sgJGtleSBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCggJGtleSwgJHZhbCApCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBzZXR0YWJsZSBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbV9hcnJheSggYXJyYXkgJGluICkKICAgIHsKICAgICAgICAkY2xhc3MgPSBnZXRfY2FsbGVkX2NsYXNzKCk7CiAgICAgICAgJG9iaiA9IG5ldyAkY2xhc3MoKTsKICAgICAgICAkb2JqLT5fZmllbGRzID0gJGluOwogICAgICAgIHJldHVybiAkb2JqOwogICAgfQoKfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsaScgPT4gJ0VOR0lORT1Jbm5vREInICk7CgokZmxkcyA9ICJndWlkIEMoMjU1KSBLRVkgTk9UTlVMTCwKICAgICAgICAgZm9ybV9pZCBJIEtFWSBOT1ROVUxMLAogICAgICAgICBmaWVsZF9uYW1lIEMoMjU1KSBLRVkgTk9UTlVMTCwKICAgICAgICAgZmllbGRfdmFsdWUgWDIsCiAgICAgICAgIGZpZWxkX2h1bWFuIEMoMjU1KQogICAgICAgICAiOwokc3FsYXJyID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCAkdGhpcy0+Z2V0UmVjb3JkU3RvcmFnZSgpLT50YWJsZV9uYW1lKCksICRmbGRzLCAkdGFib3B0YXJyYXkgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFyciApOwoKJGZsZHMgPSAiaWQgSSBLRVkgQVVUTyBOT1ROVUxMLAogICAgICAgICBuYW1lIEMoMjU1KSBLRVkgTk9UTlVMTCwKICAgICAgICAgdHlwZSBDKDEpIE5PVE5VTEwsCiAgICAgICAgIHNvcnRpbmcgSSBOT1ROVUxMLAogICAgICAgICBkYXRhIFgyIE5PVE5VTEwiOwokc3FsYXJyID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCAkdGhpcy0+Z2V0Vmlld01hbmFnZXIoKS0+dGFibGVfbmFtZSgpLCAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnIgKTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCBcQ0dCRkNydWQ6Ok1BTkFHRV9QRVJNLCAnTWFuYWdlIENHQkYgU3RvcmVkIFN1Ym1pc3Npb25zJyApOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbiggXENHQkZDcnVkOjpWSUVXX1BFUk0sICdWaWV3IENHQkYgU3RvcmVkIFN1Ym1pc3Npb25zJyApOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbiggXENHQkZDcnVkOjpNQU5BR0VWSUVXU19QRVJNLCAnTWFuYWdlIENHQkYgVmlld3MnICk7]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsaScgPT4gJ0VOR0lORT1Jbm5vREInICk7Cgokc3FsYXJyID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggJHRoaXMtPmdldFJlY29yZFN0b3JhZ2UoKS0+dGFibGVfbmFtZSgpICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycik7CiRzcWxhcnIgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCAkdGhpcy0+Z2V0Vmlld01hbmFnZXIoKS0+dGFibGVfbmFtZSgpICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycik7CgokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbiggXENHQkZDcnVkOjpNQU5BR0VfUEVSTSApOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbiggXENHQkZDcnVkOjpWSUVXX1BFUk0gKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oIFxDR0JGQ3J1ZDo6TUFOQUdFVklFV1NfUEVSTSApOw==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsaScgPT4gJ0VOR0lORT1Jbm5vREInICk7CgppZiggdmVyc2lvbl9jb21wYXJlKCAkb2xkX3ZlcnNpb24sICcxLjEuNScpIDwgMSApIHsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoICR0aGlzLT5nZXRWaWV3TWFuYWdlcigpLT50YWJsZV9uYW1lKCksJ3R5cGUgQygxKSBOT1ROVUxMJyk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cn0KaWYoIHZlcnNpb25fY29tcGFyZSggJG9sZF92ZXJzaW9uLCAnMS4yJykgPCAxICkgewogICAgJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oIFxDR0JGQ3J1ZDo6TUFOQUdFVklFV1NfUEVSTSwgJ01hbmFnZSBDR0JGIFZpZXdzJyApOwp9]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJDR0JGQ3J1ZCIKdmVyc2lvbiA9ICIxLjMuNSIKYXV0aG9yID0gImNhbGd1eTEwMDAiCmF1dGhvcmVtYWlsID0gImNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciCm1pbmNtc3ZlcnNpb24gPSAiMi4yLjUiCmxhenlsb2FkYWRtaW4gPSAwCmxhenlsb2FkZnJvbnRlbmQgPSAwCltkZXBlbmRzXQpDR0V4dGVuc2lvbnMgPSAxLjU4CkNHQmV0dGVyRm9ybXMgPSAiMS40LjIiCkZyb250RW5kVXNlcnMgPSAyLjEwCg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_detail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCd2aWV3X3JlY29yZCcpfTwvaDM+CjxoND57JG1vZC0+TGFuZygnZm9ybScpfTogeyRmb3JtLT5uYW1lfTwvaDQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fc3VtbWFyeSBmb3JtX2lkPSRmb3JtX2lkfSI+e2FkbWluX2ljb24gaWNvbj0nYmFjay5naWYnfSB7JG1vZC0+TGFuZygnYmFjaycpfTwvYT4KPC9kaXY+Cgo8aHIvPgp7Zm9yZWFjaCAkbWFwLT5pdGVtcygpIGFzICRmbGQgPT4gJHR5cGV9CiAgIHskZmllbGQ9JGZvcm0tPmdldF9maWVsZCggJGZsZCApfQogICB7JHJvdz0kcmVjb3JkLT5maWVsZHN9CiAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRmaWVsZC0+bGFiZWx8ZGVmYXVsdDokZmxkfTwvbGFiZWw+CiAgICAgICA8ZGl2IGNsYXNzPSJncmlkXzkiPgogICAgICAgICAgIHtpZiAkdHlwZSA9PSAnZmlsZXMnfQoJICAgICAge2NnZV9maWxlX2xpbmsgaW49JHJvd1skZmxkXX0KCSAgIHtlbHNlfQogICAgICAgICAgICAgICB7JHJvd1skZmxkXX0KCSAgIHsvaWZ9CiAgICAgICA8L2Rpdj4KICAgPC9kaXY+CnsvZm9yZWFjaH0KPGhyLz4KCnskYXJyPSRyZWNvcmQtPnRvX2FycmF5KCl9CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnbWV0YV9zdWJtaXR0ZWQnKX08L2xhYmVsPgogICA8cCBjbGFzcz0iZ3JpZF85Ij57JGFyci5jZ2JmX3N1Ym1pdF90aW1lfGRhdGVfZm9ybWF0OicleCAlWCd9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdtZXRhX2VkaXRlZCcpfTwvbGFiZWw+CiAgIDxwIGNsYXNzPSJncmlkXzkiPnskYXJyLmNnYmZfZWRpdF90aW1lfGRhdGVfZm9ybWF0OicleCAlWCd9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdtZXRhX3JlcXVlc3RpZCcpfTwvbGFiZWw+CiAgIDxwIGNsYXNzPSJncmlkXzkiPnskYXJyLmNnYmZfcmVxdWVzdGlkfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnbWV0YV9zdWJtaXR0ZWRfYnknKX06PC9sYWJlbD4KICAgPGRpdiBjbGFzcz0iZ3JpZF84Ij4KICAgICAge2lmIGVtcHR5KCRhcnIuY2diZl9zdWJtaXRfZmV1aWQpfQogICAgICAgICB7JG1vZC0+TGFuZygnYW5vbnltb3VzJyl9CiAgICAgIHtlbHNlfQogICAgICAgICB7JGFyci5jZ2JmX3N1Ym1pdF9mZXVpZH0KICAgICAgey9pZn0KICAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ21ldGFfc3VibWl0X2lwJyl9OjwvbGFiZWw+CiAgIDxkaXYgY2xhc3M9ImdyaWRfOCI+eyRhcnIuY2diZl9zdWJtaXRfaXB9PC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_DBDisposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0RCRGlzcG9zaXRpb25FZGl0b3InKX08L2gzPgoKe2Zvcm1fc3RhcnQgZm9ybV9ndWlkPSRmb3JtX2d1aWQgZGlzcF9ndWlkPSRkaXNwX2d1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+KnskbW9kLT5MYW5nKCdwcm9tcHRfcmVxdWlyZV9mZXVfZ3JvdXAnKX06PC9sYWJlbD4KICA8ZGl2IGNsYXNzPSJncmlkXzkiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXJlcXVpcmVfZmV1X2dyb3VwIiBjbGFzcz0iZ3JpZF8xMiI+CiAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG9wdGlvbnMgc2VsZWN0ZWQ9JGZldV9yZXF1aXJlX2dyb3VwfQogICAgPC9zZWxlY3Q+CiAgICA8ZGl2IGNsYXNzPSJncmlkXzEyIGluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19yZXF1aXJlX2ZldV9ncm91cCcpfTwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_record.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdD4KJChmdW5jdGlvbigpewogICAkKCcjZWRpdF9yZWNvcmVfZm9ybScpLm9uKCdpbnZhbGlkJywgZnVuY3Rpb24oZXYpewogICAgICAgJCh0aGlzKVswXS5zY3JvbGxJbnRvVmlldyhmYWxzZSk7CiAgIH0pOwogICAkKCdhLmRlbF9maWxlJykuY2xpY2soZnVuY3Rpb24oZXYpewogICAgICB2YXIgd3JhcCA9ICQodGhpcykuY2xvc2VzdCgnZGl2LmRlbF93cmFwJyk7CiAgICAgIHZhciBpbnAgPSB3cmFwLm5leHQoJ2lucHV0W3R5cGU9aGlkZGVuXScpOwogICAgICB2YXIgZm4gPSBpbnAuZGF0YSgnZmlsZW5hbWUnKTsKICAgICAgaW5wLnZhbChmbik7CiAgICAgIHdyYXAucmVtb3ZlKCk7CiAgIH0pCn0pCjwvc2NyaXB0Pgo8aDM+eyRtb2QtPkxhbmcoJ2hkcl9lZGl0X3JlY29yZF9mb3InLCRmb3JtLT5uYW1lKX08L2gzPgoKe2Zvcm1fc3RhcnQgaWQ9ZWRpdF9yZWNvcmRfZm9ybSBhY3Rpb249YWRtaW5fZWRpdF9yZWNvcmQgZm9ybV9pZD0kZm9ybS0+aWQgZ3VpZD0kcmVjb3JkLT5ndWlkfQp7aWYgIWVtcHR5KCRkYXRhKX0KICAgIHtmb3JlYWNoICRkYXRhIGFzICRrZXk9PiR2YWx9CiAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXska2V5fSIgdmFsdWU9InskdmFsfSIvPgogICAgey9mb3JlYWNofQp7L2lmfQo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzYXZlJyl9Ii8+CiAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgogICA8aW5wdXQgaWQ9ImRlbGV0ZSIgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWRlbGV0ZSIgdmFsdWU9InskbW9kLT5MYW5nKCdkZWxldGUnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+CnskdmFscz0kcmVjb3JkLT5maWVsZHN9Cntmb3JlYWNoICRmaWVsZHMgYXMgJGZpZWxkX25hbWV9CiAgICB7JGZpZWxkPSRmb3JtLT5nZXRfZmllbGQoICRmaWVsZF9uYW1lKX0KICAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPntpZiAkZmllbGQtPnJlcXVpcmVkfSp7L2lmfXskZmllbGQtPmxhYmVsfGRlZmF1bHQ6JGZpZWxkLT5uYW1lfTwvbGFiZWw+Cgl7JHZhbD0kdmFsc1skZmllbGRfbmFtZV18ZGVmYXVsdDonJ30KCXskcmVuZGVyZXItPnJlbmRlciggJGZpZWxkLCAkdmFsICl9CiAgICA8L2Rpdj4Key9mb3JlYWNofQp7Zm9ybV9lbmR9Cgo8aHIvPgo8aDQ+eyRtb2QtPkxhbmcoJ21ldGFfaW5mbycpfTwvaDQ+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnbWV0YV9yZXF1ZXN0aWQnKX06PC9sYWJlbD4KICAgPGRpdiBjbGFzcz0iZ3JpZF84Ij57JHJlY29yZC0+Z3VpZH08L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnbWV0YV9zdWJtaXR0ZWQnKX06PC9sYWJlbD4KICAgPGRpdiBjbGFzcz0iZ3JpZF84Ij57JHZhbHMuY2diZl9zdWJtaXRfdGltZXxkYXRlX2Zvcm1hdDonJXggJVgnfTwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdtZXRhX3N1Ym1pdHRlZF9ieScpfTo8L2xhYmVsPgogICA8ZGl2IGNsYXNzPSJncmlkXzgiPgogICAgICB7aWYgZW1wdHkoJHZhbHMuY2diZl9zdWJtaXRfZmV1aWQpfQogICAgICAgICB7JG1vZC0+TGFuZygnYW5vbnltb3VzJyl9CiAgICAgIHtlbHNlfQogICAgICAgICB7JHZhbHMuY2diZl9zdWJtaXRfZmV1aWR9CiAgICAgIHsvaWZ9CiAgIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdtZXRhX3N1Ym1pdF9pcCcpfTo8L2xhYmVsPgogICA8ZGl2IGNsYXNzPSJncmlkXzgiPnskdmFscy5jZ2JmX3N1Ym1pdF9pcH08L2Rpdj4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_view.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlPgojc29ydGFibGVfdG8gewogICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGJsdWU7Cn0KI3RhcmdldF9hcmVhIHsKICAgY3Vyc29yOiBtb3ZlOwp9CiN0YXJnZXRfYXJlYSB0ci5lZGl0aW5nIHRkIHsKICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRjeWFuOwogICBjb2xvcjogYmx1ZTsKfQpsaSA+IGEuZWRpdF9pdGVtIHsKICAgZmxvYXQ6IHJpZ2h0Owp9CnRkLm5vd3JhcCB7CiAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQo8L3N0eWxlPgo8c2NyaXB0PgokKGZ1bmN0aW9uKCl7CiAgICB2YXIgZm9ybSA9ICQoJ2Zvcm0jZWRpdHZpZXcnKTsKICAgIHZhciBza2VsID0gJCgnI3NrZWwnKTsKICAgIHZhciBlbF9maWVsZCA9ICQoJyNzZWxfZmllbGQnKTsKICAgIHZhciBlbF9mb3JtYXQgPSAkKCcjc2VsX2Zvcm1hdCcpOwogICAgdmFyIGVsX2xhYmVsID0gJCgnI3NlbF9sYWJlbCcpOwogICAgdmFyIGVsX2FkZCA9ICQoJyNhZGQnKTsKICAgIHZhciB0YXJnZXRfYXJlYSA9ICQoJyN0YXJnZXRfYXJlYScpOwoKICAgIGlmKCB0YXJnZXRfYXJlYS5jaGlsZHJlbigpLmxlbmd0aCA+IDEgKSB0YXJnZXRfYXJlYS5jbG9zZXN0KCd0YWJsZScpLnNob3coKTsKCiAgICBmb3JtLnN1Ym1pdCggZnVuY3Rpb24oZXYpIHsKICAgIH0pOwoKICAgIHRhcmdldF9hcmVhLnNvcnRhYmxlKHsKICAgICAgIGN1cnNvcjogJ21vdmUnLAogICAgfSk7CgogICAgZWxfYWRkLmNsaWNrKCBmdW5jdGlvbihldil7CiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICB2YXIgZmllbGQgPSBlbF9maWVsZC52YWwoKTsKCXZhciBmb3JtYXQgPSBlbF9mb3JtYXQudmFsKCk7Cgl2YXIgbGFiZWwgPSBlbF9sYWJlbC52YWwoKTsKCXZhciBmbmQgPSAwOwoKCSQoJ3RyJyx0YXJnZXRfYXJlYSkuZWFjaChmdW5jdGlvbigpIHsKCSAgICB2YXIgZmxkID0gJCgnaW5wdXQudmlld19mbGQnLHRoaXMpLnZhbCgpOwoJICAgIGlmKCBmbGQgPT0gZmllbGQgKSB7CgkgICAgICAgIGZuZCA9IDE7CiAgCSAgICAgICAgaWYoICEgJCh0aGlzKS5oYXNDbGFzcygnZWRpdGluZycpICkgewoJICAgICAgICAgICAgYWxlcnQoJ2ZpZWxkIGFscmVhZHkgc2VsZWN0ZWQnKTsKCSAgICAgICAgICAgIHJldHVybjsKCSAgICAgICAgfSBlbHNlIHsKCSAgICAgICAgICAgIC8vIGl0cyBhbiBlZGl0CgkJICAgICQoJ2lucHV0LnZpZXdfZmxkJyx0aGlzKS52YWwoIGZpZWxkICk7CgkJICAgICQoJ2lucHV0LnZpZXdfZm10Jyx0aGlzKS52YWwoIGZvcm1hdCApOwoJCSAgICAkKCdpbnB1dC52aWV3X2xibCcsdGhpcykudmFsKCBsYWJlbCApOwoJCSAgICAkKCcuY29sdW1uJyx0aGlzKS50ZXh0KGZpZWxkKTsKCQkgICAgJCgnLmZvcm1hdCcsdGhpcykudGV4dCggZm9ybWF0ICk7CgkJICAgICQoJy5sYWJlbCcsdGhpcykudGV4dChsYWJlbCk7CgkJICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2VkaXRpbmcnKTsKCQkgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoJICAgIH0KICAgICAgICB9KTsKCgkvLyBpdCdzIGFuIGFkZC4KCWlmKCBmbmQgPT0gMCApIHsKCSAgICB2YXIgY29udCA9IHNrZWwuY2xvbmUoKS5yZW1vdmVQcm9wKCdpZCcpOwoJICAgIGNvbnQuZGF0YSgnZmllbGQnLGZpZWxkKS5kYXRhKCdmb3JtYXQnLGZvcm1hdCkuZGF0YSgnbGFiZWwnLGxhYmVsKTsKCSAgICAkKCdpbnB1dC52aWV3X2ZsZCcsY29udCkudmFsKCBmaWVsZCApOwoJICAgICQoJ2lucHV0LnZpZXdfZm10Jyxjb250KS52YWwoIGZvcm1hdCApOwoJICAgICQoJ2lucHV0LnZpZXdfbGJsJyxjb250KS52YWwoIGxhYmVsICk7CgkgICAgJCgnLmNvbHVtbicsY29udCkudGV4dChmaWVsZCk7CgkgICAgJCgnLmZvcm1hdCcsY29udCkudGV4dChmb3JtYXQpOwoJICAgICQoJy5sYWJlbCcsY29udCkudGV4dChsYWJlbCk7CgkgICAgY29udC5zaG93KCk7CgkgICAgJCh0YXJnZXRfYXJlYSkuYXBwZW5kKCBjb250ICk7CgkgICAgdGFyZ2V0X2FyZWEuY2xvc2VzdCgndGFibGUnKS5zaG93KCk7Cgl9CiAgICB9KTsKICAgIHRhcmdldF9hcmVhLm9uKCdjbGljaycsJy5lZGl0X3JvdycsZnVuY3Rpb24oZXYpewogICAgICAgIC8vIHJlbW92ZSBhbnl0aGluZyBlbHNlIHRoYXQgaXMgZWRpdGluZy4KCSQoJ3RyLmVkaXRpbmcnLHRhcmdldF9hcmVhKS5yZW1vdmVDbGFzcygnZWRpdGluZycpOwoKICAgICAgICB2YXIgY29udCA9ICQodGhpcykuY2xvc2VzdCgndHInKTsKCWNvbnQuYWRkQ2xhc3MoJ2VkaXRpbmcnKTsKCXZhciBmaWVsZCA9ICQoJ2lucHV0LnZpZXdfZmxkJyxjb250KS52YWwoKTsKCXZhciBmbXQgPSAkKCdpbnB1dC52aWV3X2ZtdCcsY29udCkudmFsKCk7Cgl2YXIgbGJsID0gJCgnaW5wdXQudmlld19sYmwnLGNvbnQpLnZhbCgpOwoKICAgICAgICBlbF9maWVsZC52YWwoIGZpZWxkICk7CgllbF9mb3JtYXQudmFsKCBmbXQgKTsKCWVsX2xhYmVsLnZhbCggbGJsICk7CiAgICB9KQogICAgdGFyZ2V0X2FyZWEub24oJ2NsaWNrJywnLmRlbF9yb3cnLGZ1bmN0aW9uKGV2KXsKICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwoJJCh0aGlzKS5jbG9zZXN0KCd0cicpLnJlbW92ZSgpOwogICAgfSkKfSkKPC9zY3JpcHQ+Cgo8aDM+eyRtb2QtPkxhbmcoJ2FkZF92aWV3Jyl9PC9oMz4KCntmb3JtX3N0YXJ0IGlkPSJlZGl0dmlldyIgdmlldz0kdmlldy0+aWR9CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIHJlcXVpcmVkIj4qeyRtb2QtPkxhbmcoJ25hbWUnKX06PC9sYWJlbD4KICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJncmlkXzgiIG5hbWU9InskYWN0aW9uaWR9dmlld19uYW1lIiB2YWx1ZT0ieyR2aWV3LT5uYW1lfSIvPgo8L2Rpdj4KPGZpZWxkc2V0PgogICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWVsZHMnKX08L2xlZ2VuZD4KICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdmaWVsZCcpfTo8L2xhYmVsPgogICAgICA8c2VsZWN0IGlkPSJzZWxfZmllbGQiIGNsYXNzPSJncmlkXzQiPgogICAgICAgICAge2h0bWxfb3B0aW9ucyB2YWx1ZXM9JGFsbF9jb2x1bW5zIG91dHB1dD0kYWxsX2NvbHVtbnN9CiAgICAgIDwvc2VsZWN0PgogICAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ2Zvcm1hdCcpfTo8L2xhYmVsPgogICAgICA8c2VsZWN0IGlkPSJzZWxfZm9ybWF0IiBjbGFzcz0iZ3JpZF8zIj4KICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZm9ybWF0X3R5cGVzfQogICAgICA8L3NlbGVjdD4KICAgPC9kaXY+CiAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygnbGFiZWxfcHJvbXB0Jyl9OjwvbGFiZWw+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic2VsX2xhYmVsIiBjbGFzcz0iZ3JpZF83Ii8+CiAgICAgIDxidXR0b24gaWQ9ImFkZCIgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ2FkZF91cGRhdGUnKX08L2J1dHRvbj4KICAgPC9kaXY+CiAgIDxoci8+CiAgIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19zb3J0X2NvbHVtbnMnKX08L2Rpdj4KICAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgICA8dGhlYWQ+CiAgICAgICAgIDx0cj4KCSAgICA8dGg+eyRtb2QtPkxhbmcoJ2NvbHVtbicpfTwvdGg+CgkgICAgPHRoPnskbW9kLT5MYW5nKCdsYWJlbF9wcm9tcHQnKX08L3RoPgoJICAgIDx0aD57JG1vZC0+TGFuZygnZm9ybWF0Jyl9PC90aD4KCSAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgoJICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CgkgPC90cj4KICAgICAgIDwvdGhlYWQ+CiAgICAgICA8dGJvZHkgaWQ9InRhcmdldF9hcmVhIj4KICAgICAgICAgIHskaXRlbXM9JHZpZXctPm1hcC0+aXRlbXMoKX0KCSAge2ZvcmVhY2ggJGl0ZW1zIGFzICRjb2wgPT4gJGZtdH0KCSAgICAgIHskbGJsPSR2aWV3LT5tYXAtPmdldF9sYWJlbCggJGNvbCApfQogICAgICAgICAgICAgIDx0cj4KCSAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0idmlld19mbGQiIG5hbWU9InskYWN0aW9uaWR9dmlld19mbGRbXSIgdmFsdWU9InskY29sfSIvPgoJICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJ2aWV3X2ZtdCIgbmFtZT0ieyRhY3Rpb25pZH12aWV3X2ZtdFtdIiB2YWx1ZT0ieyRmbXR9Ii8+CgkgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InZpZXdfbGJsIiBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfbGJsW10iIHZhbHVlPSJ7JGxibH0iLz4KCSAgICAgICAgICA8dGQgY2xhc3M9ImNvbHVtbiI+eyRjb2x9PC90ZD4KCSAgICAgICAgICA8dGQgY2xhc3M9ImxhYmVsIj57JGxibH08L3RkPgoJICAgICAgICAgIDx0ZCBjbGFzcz0iZm9ybWF0Ij57JGZtdH08L3RkPgoJICAgICAgICAgIDx0ZD4KCQkgICAgICA8YSBjbGFzcz0iZWRpdF9yb3ciIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT4KCQkgIDwvdGQ+CgkJICA8dGQ+CgkgICAgICAgICAgICAgIDxhIGNsYXNzPSJkZWxfcm93IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSI+e2FkbWluX2ljb24gaWNvbj0nZGVsZXRlLmdpZid9PC9hPgoJCSAgPC90ZD4KCSAgICAgIDwvdHI+CgkgIHsvZm9yZWFjaH0KICAgICAgICAgIDx0ciBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGlkPSJza2VsIj4KCSAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InZpZXdfZmxkIiBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfZmxkW10iIHZhbHVlPSIiLz4KCSAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InZpZXdfZm10IiBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfZm10W10iIHZhbHVlPSIiLz4KCSAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InZpZXdfbGJsIiBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfbGJsW10iIHZhbHVlPSIiLz4KCSAgICAgPHRkIGNsYXNzPSJjb2x1bW4iPjwvdGQ+CgkgICAgIDx0ZCBjbGFzcz0ibGFiZWwiPjwvdGQ+CgkgICAgIDx0ZCBjbGFzcz0iZm9ybWF0Ij48L3RkPgoJICAgICA8dGQ+CgkgICAgICAgIDxhIGNsYXNzPSJlZGl0X3JvdyIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9hPgogICAgCSAgICAgPC90ZD4KCSAgICAgPHRkPgoJICAgICAgICA8YSBjbGFzcz0iZGVsX3JvdyIgdGl0bGU9InskbW9kLT5MYW5nKCdkZWxldGUnKX0iPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnfTwvYT4KCSAgICAgPC90ZD4KCSAgPC90cj4KICAgICAgIDwvdGJvZHk+CiAgIDwvdGFibGU+CjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVyJyl9PC9sZWdlbmQ+CiAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ2Zvcm0nKX06PC9sYWJlbD4KICAgICAgIDxzZWxlY3QgY2xhc3M9ImdyaWRfOCIgbmFtZT0ieyRhY3Rpb25pZH12aWV3X2ZpbHRlcl9mb3Jtc1tdIiBtdWx0aXBsZSBzaXplPSI1Ij4KICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZvcm1fbGlzdCBzZWxlY3RlZD0kdmlldy0+ZmlsdGVyLT5mb3Jtc30KICAgICAgIDwvc2VsZWN0PgogICA8L2Rpdj4KICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnc2VhcmNoX2ZpZWxkJyl9OjwvbGFiZWw+CiAgICAgICA8c2VsZWN0IGNsYXNzPSJncmlkXzgiIG5hbWU9InskYWN0aW9uaWR9dmlld19maWx0ZXJfZmllbGQiPgogICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kY29sdW1uX2xpc3Qgc2VsZWN0ZWQ9JHZpZXctPmZpbHRlci0+c2VhcmNoX2ZpZWxkfQogICAgICAgPC9zZWxlY3Q+CiAgIDwvZGl2PgogICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdzZWFyY2hfc3RyJyl9OjwvbGFiZWw+CiAgICAgICA8aW5wdXQgY2xhc3M9ImdyaWRfOCIgbmFtZT0ieyRhY3Rpb25pZH12aWV3X2ZpbHRlcl9zdHIiIHZhbHVlPSJ7JHZpZXctPmZpbHRlci0+c2VhcmNoX3N0cn0iLz4KICAgPC9kaXY+CiAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ3N1Ym1pdHRlZF9leHByJyl9OjwvbGFiZWw+CiAgICAgICA8c2VsZWN0IGNsYXNzPSJncmlkXzgiIG5hbWU9InskYWN0aW9uaWR9dmlld19maWx0ZXJfc3VibWl0dGVkX2V4cHIiPgogICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc3VibWl0dGVkX2V4cHJfbGlzdCBzZWxlY3RlZD0kdmlldy0+ZmlsdGVyLT5zdWJtaXR0ZWRfZXhwcn0KICAgICAgIDwvc2VsZWN0PgogICA8L2Rpdj4KICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnc3VibWl0dGVkX3ZhbCcpfTo8L2xhYmVsPgogICAgICAgPHNlbGVjdCBjbGFzcz0iZ3JpZF84IiBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfZmlsdGVyX3N1Ym1pdHRlZF92YWwiPgogICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc3VibWl0dGVkX3ZhbF9saXN0IHNlbGVjdGVkPSR2aWV3LT5maWx0ZXItPnN1Ym1pdHRlZF92YWx9CiAgICAgICA8L3NlbGVjdD4KICAgPC9kaXY+CiAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ3NvcnRieScpfTo8L2xhYmVsPgogICAgICAgPHNlbGVjdCBjbGFzcz0iZ3JpZF84IiBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfZmlsdGVyX3NvcnRieSI+CiAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRhbGxfY29sdW1ucyBzZWxlY3RlZD0kdmlldy0+ZmlsdGVyLT5vcmRlcl9ieX0KICAgICAgIDwvc2VsZWN0PgogICA8L2Rpdj4KICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnc29ydG9yZGVyJyl9OjwvbGFiZWw+CiAgICAgICB7JG9wdHM9WzA9PidERVNDJywxPT4nQVNDJ119CiAgICAgICA8c2VsZWN0IGNsYXNzPSJncmlkXzgiIG5hbWU9InskYWN0aW9uaWR9dmlld19maWx0ZXJfc29ydF9hc2MiPgogICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kb3B0cyBzZWxlY3RlZD0kdmlldy0+ZmlsdGVyLT5zb3J0X2FzY3xkZWZhdWx0OjB9CiAgICAgICA8L3NlbGVjdD4KICAgPC9kaXY+CjwvZmllbGRzZXQ+Cntmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_import_csv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdoZHJfaW1wb3J0X2NzdicpfTwvaDM+CjxoND57JG1vZC0+TGFuZygnZm9ybScpfTogeyRmb3JtLT5uYW1lfTwvaDM+CntpZiAhZW1wdHkoJGVycil9CjxkaXYgY2xhc3M9InJlZCI+eyRlcnJ9PC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+eyRtb2QtPkxhbmcKICAgKCdpbmZvX2Nzdl9pbXBvcnQnKX0KICAgPGg1PnskbW9kLT5MYW5nKCdrbm93bl9maWVsZHMnKX06PC9oNT4KICAgPHVsIHN0eWxlPSJtYXgtaGVpZ2h0OiAxMGVtOyBvdmVyZmxvdy15OiBhdXRvOyI+CiAgICAgIHtmb3JlYWNoICRmb3JtX2ZpZWxkcyBhcyAka2V5PT4kaW5mb30KICAgICAgICAge2lmICRpbmZvQGluZGV4IDwgMjB9CiAgICAgICAgIDxsaT57JGluZm99PC9saT4KCSB7L2lmfQogICAgICB7L2ZvcmVhY2h9CiAgICAgIHtpZiBjb3VudCgkZm9ybV9maWVsZHMpID4gMjB9PGxpPi4uLjwvbGk+ey9pZn0KICAgPC91bD4KPC9kaXY+Cgp7Zm9ybV9zdGFydCBmb3JtX2lkPSRmb3JtLT5pZH0KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiIGZvcj0iZmlsZSI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jc3ZmaWxlJyl9OjwvbGFiZWw+CiAgIDxpbnB1dCBjbGFzcz0iZ3JpZF84IiB0eXBlPSJmaWxlIiBpZD0iZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1maWxlIi8+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CjwvZGl2Pgp7Zm9ybV9lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_list_forms.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdmb3JtX2xpc3QnKX08L2gzPgoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZGVmYXVsdGFkbWlufSI+e2FkbWluX2ljb24gaWNvbj0nYmFjay5naWYnfSB7JG1vZC0+TGFuZygnYmFjaycpfTwvYT4KPC9kaXY+CntpZiBlbXB0eSgkZm9ybV9saXN0KX0KICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj57JG1vZC0+TGFuZygnd2Fybl9ub2Zvcm1zJyl9PC9kaXY+CntlbHNlfQogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgICA8dGhlYWQ+CiAgICAgICA8dHI+CiAgICAgICAgIDx0aD57JG1vZC0+TGFuZygnZm9ybScpfTwvdGg+CgkgPHRoPnskbW9kLT5MYW5nKCdjb3VudCcpfTwvdGg+CgkgPHRoPnskbW9kLT5MYW5nKCdmaXJzdF9zdWJtaXNzaW9uJyl9PC90aD4KCSA8dGg+eyRtb2QtPkxhbmcoJ2xhc3Rfc3VibWlzc2lvbicpfTwvdGg+CiAgICAgICA8L3RyPgogICAgIDwvdGhlYWQ+CiAgICAgPHRib2R5PgogICAgICAgIHtmb3JlYWNoICRmb3JtX2xpc3QgYXMgJGZpZCA9PiAkbmFtZX0KCSAgeyRjb3VudD0wfXskZmlyc3RfdHM9MH17JGxhc3RfdHM9MH17JGVkaXRfdXJsPScnfQoJICB7aWYgaXNzZXQoJGZvcm1zX3dpdGhfc3VibWlzc2lvbnNbJGZpZF0pfQoJICAgICB7JHJvdz0kZm9ybXNfd2l0aF9zdWJtaXNzaW9uc1skZmlkXX0KCSAgICAgeyRjb3VudD0kcm93LmNvdW50fQoJICAgICB7JGZpcnN0X3RzPSRyb3cuZmlyc3R9CgkgICAgIHskbGFzdF90cz0kcm93Lmxhc3R9CgkgICAgIHtjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fc3VtbWFyeSBmb3JtX2lkPSRmaWQgYXNzaWduPSdlZGl0X3VybCd9CgkgIHsvaWZ9CgkgIDx0cj4KCSAgICAgPHRkPgoJICAgICAgIHtpZiAhZW1wdHkoJGVkaXRfdXJsKX0KCSAgICAgICAgIDxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3ZpZXdfc3VibWlzc2lvbnMnKX0iPnskbmFtZX08L2E+CgkgICAgICAge2Vsc2V9CiAgCSAgICAgICAgIHskbmFtZX0KCSAgICAgICB7L2lmfQoJICAgICA8L3RkPgoJICAgICA8dGQ+e2lmICRjb3VudCA+IDB9eyRjb3VudH17L2lmfTwvdGQ+CgkgICAgIDx0ZD57aWYgJGZpcnN0X3RzID4gMH17JGZpcnN0X3RzfGRhdGVfZm9ybWF0OicleCAlWCd9ey9pZn08L3RkPgoJICAgICA8dGQ+e2lmICRsYXN0X3RzID4gMH17JGxhc3RfdHN8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ317L2lmfTwvdGQ+CgkgIDwvdHI+Cgl7L2ZvcmVhY2h9CiAgICAgPC90Ym9keT4KICA8L3RhYmxlPgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_summary.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdD4KJChmdW5jdGlvbigpewogICAgJCgnI2RlbF9hbGwnKS5jbGljayhmdW5jdGlvbihldil7CiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICB2YXIgdXJsID0gJCh0aGlzKS5wcm9wKCdocmVmJyk7CiAgICAgICAgY21zX2NvbmZpcm0oJ3skbW9kLT5MYW5nKCd3YXJuX3JlbW92ZWFsbCcpfScpLmRvbmUoZnVuY3Rpb24oKXsKCSAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDsKICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uKCl7CgkgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9KQogICAgfSkKCiAgICAkKCdhLmRlbHJlY29yZCcpLmNsaWNrKGZ1bmN0aW9uKGV2KXsKICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciB1cmwgPSAkKHRoaXMpLnByb3AoJ2hyZWYnKTsKCWNtc19jb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9kZWxyZWNvcmQnKX0nKS5kb25lKGZ1bmN0aW9uKCl7CgkgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7CiAgICAgICAgfSk7CiAgICB9KQoKICAgICQoJyN2aWV3ZmlsdGVyJykuY2xpY2soZnVuY3Rpb24oZXYpewogICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgJCgnI2ZpbHRlcmZvcm0nKS50b2dnbGUoKTsKICAgIH0pCn0pCjwvc2NyaXB0Pgo8c3R5bGU+CiNmaWx0ZXJmb3JtIHsKICAgZGlzcGxheTogbm9uZTsKICAgYm9yZGVyOiAxcHggc29saWQgZ3JheTsKICAgcGFkZGluZzogMC41ZW07CiAgIG1hcmdpbi1ib3R0b206IDFlbTsKfQo8L3N0eWxlPgoKPGgzPnskbW9kLT5MYW5nKCdoZHJfc3VtbWFyeWZvcicsJGZvcm0tPm5hbWUpfTwvaDM+Cgp7ZnVuY3Rpb24gZGlzcGxheX0KICAge2lmICRkaXNwbGF5X2FzID09ICdmaWxlcyd9CiAgICAge2ZvcmVhY2ggJHZhbCBhcyAkb25lfQogICAgICAgIHtpZiAkb25lQGluZGV4IDwgMn17Y2dlX2ZpbGVfbGluayBpbj0kb25lfXsvaWZ9Cgl7aWYgISRvbmVAbGFzdH08YnIvPnsvaWZ9CiAgICAgey9mb3JlYWNofQogICAgIHtpZiBjb3VudCgkdmFsKSA+IDJ9PGJyLz4uLi57L2lmfQogICB7ZWxzZWlmICRkaXNwbGF5X2FzID09ICdpbWFnZXMnfQogICAgIFRPRE8gSU1BR0VTCiAgIHtlbHNlaWYgaXNfYXJyYXkoJHZhbCl9CiAgICAge2ZvcmVhY2ggJHZhbCBhcyAkb25lfQogICAgICAge2lmICRvbmVAaW5kZXggPCAyfXskb25lfHN1bW1hcml6ZTo4MH17L2lmfQogICAgICAge2lmICRvbmVAaW5kZXggPCAxfTxici8+ey9pZn0KICAgICB7L2ZvcmVhY2h9CiAgICAge2lmIGNvdW50KCR2YWwpID4gMn08YnIvPi4uLnsvaWZ9CiAgIHtlbHNlfQogICAgIHskdmFsPSR2YWx8c3VtbWFyaXplOjgwfQogICAgIHtpZiAkbGlua30KICAgICAgIDxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXQnKX0iPnskdmFsfTwvYT4KICAgICB7ZWxzZX0KICAgICAgIHskdmFsfQogICAgIHsvaWZ9CiAgIHsvaWZ9CnsvZnVuY3Rpb259Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiIGlkPSJmaWx0ZXJmb3JtIiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAge2Zvcm1fc3RhcnQgYWN0aW9uPWFkbWluX3N1bW1hcnkgZm9ybV9pZD0kZm9ybS0+aWR9CiAgICAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ2ZpZWxkX2ZpbHRlcicpfTwvbGFiZWw+CgkgIDxkaXYgY2xhc3M9ImdyaWRfOCI+CgkgICAgICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAJICAgICAgICAgICA8bGFiZWw+eyRtb2QtPkxhbmcoJ2ZpZWxkJyl9OgoJICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZpbHRlcl9zZWFyY2hmaWVsZCI+e2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmaWVsZF9saXN0IHNlbGVjdGVkPSRmaWx0ZXItPnNlYXJjaF9maWVsZH08L3NlbGVjdD4KCSAgICAgICAgICAgPC9sYWJlbD4KCSAgICAgICAgICAgPGxhYmVsPnskbW9kLT5MYW5nKCdjb250YWlucycpfToKCSAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZpbHRlcl9zZWFyY2hzdHIiIHZhbHVlPSJ7JGZpbHRlci0+c2VhcmNoX3N0cn0iIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygncGhfc2VhcmNoc3RyaW5nJyl9Ii8+CgkgICAgICAgICAgIDwvbGFiZWw+CgkgICAgICAgPC9kaXY+CgkgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnc29ydGJ5Jyl9OjwvbGFiZWw+CgkgIDxkaXYgY2xhc3M9ImdyaWRfOCI+CgkgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZmlsdGVyX29yZGVyYnkiPgoJICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc29ydF9saXN0IHNlbGVjdGVkPSRmaWx0ZXItPm9yZGVyX2J5fQoJICAgICAgPC9zZWxlY3Q+CgkgICAgICB7JG9wdHM9WzE9PiRtb2QtPkxhbmcoJ2FzYycpLCAwPT4kbW9kLT5MYW5nKCdkZXNjJyldfQoJICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZpbHRlcl9zb3J0YXNjIj4KCSAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRvcHRzIHNlbGVjdGVkPSRmaWx0ZXItPnNvcnRfYXNjfQoJICAgICAgPC9zZWxlY3Q+CgkgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9ZmlsdGVyIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1maWx0ZXJyZXNldCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldCcpfSIvPgogICAgICA8L2Rpdj4KICB7Zm9ybV9lbmR9CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogICAgPGEgaHJlZj0iIyIgaWQ9InZpZXdmaWx0ZXIiPnthZG1pbl9pY29uIGljb249J3ZpZXcuZ2lmJ30geyRtb2QtPkxhbmcoJ3ZpZXdmaWx0ZXInKX08L2E+CiAgICB7aWYgJGZpbHRlcl9hcHBsaWVkfTxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiZuYnNwO3skbW9kLT5MYW5nKCdmaWx0ZXJfYXBwbGllZCcpfSZuYnNwOzwvc3Bhbj57L2lmfQogICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9lZGl0X3JlY29yZCBmb3JtX2lkPSRmb3JtLT5pZH0iPnthZG1pbl9pY29uIGljb249J25ld29iamVjdC5naWYnfSB7JG1vZC0+TGFuZygnYWRkX3JlY29yZCcpfTwvYT4KICAgIHtpZiAhZW1wdHkoJHJlc3VsdHMpfQogICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZXhwb3J0X2NzdiBmb3JtX2lkPSRmb3JtLT5pZH0iPnthZG1pbl9pY29uIGljb249J2V4cG9ydC5naWYnfSB7JG1vZC0+TGFuZygnZXhwb3J0Jyl9PC9hPgoJe2lmICRjYW5fbWFuYWdlfQogICAgICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2ltcG9ydF9jc3YgZm9ybV9pZD0kZm9ybS0+aWR9Ij57YWRtaW5faWNvbiBpY29uPSdpbXBvcnQuZ2lmJ30geyRtb2QtPkxhbmcoJ2ltcG9ydCcpfTwvYT4KCXsvaWZ9Cgl7aWYgJGNhbl9tYW5hZ2Vfdmlld3N9CgkgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9lZGl0X3ZpZXcgZm9ybV9pZD0kZm9ybS0+aWR9Ij57YWRtaW5faWNvbiBpY29uPSduZXdmb2xkZXIuZ2lmJ30geyRtb2QtPkxhbmcoJ2NyZWF0ZV92aWV3Jyl9PC9hPgoJey9pZn0KCXtpZiAkY2FuX21hbmFnZX0KCSAgICA8YSBpZD0iZGVsX2FsbCIgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9kZWxfcmVzcG9uc2VzIGZvcm1faWQ9JGZvcm0tPmlkfSI+e2FkbWluX2ljb24gaWNvbj0nZGVsZXRlLmdpZid9IHskbW9kLT5MYW5nKCdkZWxldGVfYWxsX3Jlc3BvbnNlcycpfTwvYT4KCXsvaWZ9CiAgICB7L2lmfQogICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9saXN0X2Zvcm1zfSI+e2FkbWluX2ljb24gaWNvbj0nYmFjay5naWYnfSB7JG1vZC0+TGFuZygnYmFjaycpfTwvYT4KPC9kaXY+Cgp7aWYgZW1wdHkoJHJlc3VsdHMpfQogICAge2lmICRmaWx0ZXJfYXBwbGllZH0KICAgICAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj57JG1vZC0+TGFuZygnd2Fybl9maWx0ZXJfbm9yZXN1bHRzJyl9PC9kaXY+CiAgICB7L2lmfQp7ZWxzZX0KICAgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IGF1dG8iPgogICAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogICAgICAgIDx0aGVhZD4KCSAgICA8dHI+CgkgICAgICAgIHtmb3JlYWNoICRtYXAtPml0ZW1zKCkgYXMgJGZsZCA9PiAkdHlwZX0KCQkgICAgeyRmaWVsZD0kZm9ybS0+Z2V0X2ZpZWxkKCAkZmxkICl9CgkJICAgIDx0aD57JGZpZWxkLT5sYWJlbHxkZWZhdWx0OiRmbGR9PC90aD4KCQl7L2ZvcmVhY2h9CgkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KCQl7aWYgJGNhbl9tYW5hZ2V9PHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD57L2lmfQoJICAgIDwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5PgoJICAgIHtmb3JlYWNoICRyZXN1bHRzIGFzICRyZWN9CgkgICAgICAgIHskcm93PSRyZWMtPmZpZWxkc30KCQl7JGhhdmVfbGluaz0wfQoJICAgICAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9J3JvdzEscm93Mid9Ij4KCQkgICAge2ZvcmVhY2ggJG1hcC0+aXRlbXMoKSBhcyAkZmxkID0+ICRkaXNwbGF5X2FzfQoJCSAgICAgICAge2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9lZGl0X3JlY29yZCBmb3JtX2lkPSRmb3JtLT5pZCBndWlkPSRyZWMtPmd1aWQgYXNzaWduPSdlZGl0dXJsJ30KCQkJeyRsaW5rPTB9CgkJICAgICAgICA8dGQ+CgkJCSAgICB7aWYgJGRpc3BsYXlfYXMgPT0gJ3JhdycgJiYgISRoYXZlX2xpbmt9CgkJCSAgICAgICB7JGhhdmVfbGluaz0kZmxkfQoJCQkgICAgICAgeyRsaW5rPTF9CgkJCSAgICB7L2lmfQoJCQkgICAge2lmICFlbXB0eSgkcm93WyRmbGRdKX17ZGlzcGxheSBlZGl0X3VybD0kZWRpdHVybCBsaW5rPSRsaW5rIGZpZWxkPSRmbGQgZGlzcGxheV9hcz0kZGlzcGxheV9hcyB2YWw9JHJvd1skZmxkXX17L2lmfQoJCQk8L3RkPgoJCSAgICB7L2ZvcmVhY2h9CgkJICAgIDx0ZD4KCQkgICAgICAgIHtpZiAkY2FuX21hbmFnZX0KCQkgICAgICAgICAgICA8YSBocmVmPSJ7JGVkaXR1cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXQnKX0iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJ308L2E+CgkJCXtlbHNlfQoJCSAgICAgICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZGV0YWlsIGZvcm1faWQ9JGZvcm0tPmlkIGd1aWQ9JHJlYy0+Z3VpZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndmlldycpfSI+e2FkbWluX2ljb24gaWNvbj0ndmlldy5naWYnfTwvYT4KCQkJey9pZn0KCQkgICAgPC90ZD4KCgkJICAgIHtpZiAkY2FuX21hbmFnZX0KCQkgICAgPHRkPgoJCSAgICAgICA8YSBjbGFzcz0iZGVscmVjb3JkIiBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2RlbF9yZWNvcmQgZm9ybV9pZD0kZm9ybS0+aWQgZ3VpZD0kcmVjLT5ndWlkfSI+e2FkbWluX2ljb24gaWNvbj0nZGVsZXRlLmdpZid9PC9hPgoJCSAgICA8L3RkPgoJCSAgICB7L2lmfQoJCTwvdHI+CgkgICAgey9mb3JlYWNofQoJPC90Ym9keT4KICAgIDwvdGFibGU+CiAgICA8L2Rpdj57KiB3cmFwcGVyIGRpdiAqfQoKICAgIHtpZiAkcGFnaW5hdGlvbi5wYWdlY291bnQgPiAxfQogICAgICAgIDxkaXYgY2xhc3M9ImNfZnVsbCI+CgkgICAgPGRpdj4KICAJICAgICAgICA8c3Bhbj57JG1vZC0+TGFuZygncGFnZScpfToKCSAgICAgICAgeyRsaXN0PSRwYWdpbmF0aW9uLT5nZXRfcGFnZWxpc3QoKX0KCSAgICAgICAge2ZvcmVhY2ggJGxpc3QgYXMgJHBhZ2VudW19CgkgICAgICAgICAgICB7JGNsYXNzPScnfQoJICAgICAgICAgICAge2lmICRwYWdlbnVtID09ICRwYWdpbmF0aW9uLnBhZ2V9eyRjbGFzcz0nYWN0aXZlJ317L2lmfQoJICAgICAgICAgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9zdW1tYXJ5IGZvcm1faWQ9JGZvcm0tPmlkIHBhZ2U9JHBhZ2VudW19IiBjbGFzcz0ieyRjbGFzc30iPnskcGFnZW51bX0mbmJzcDs8L2E+CgkgICAgICAgIHsvZm9yZWFjaH0KCSAgICA8L2Rpdj4KCTwvZGl2PgogICAgey9pZn0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_view_summary.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdD4KJChmdW5jdGlvbigpewogICAgJCgnI3RvZ2dsZV9maWx0ZXInKS5jbGljayggZnVuY3Rpb24oZXYpIHsKICAgICAgICAkKCcjZmlsdGVyX2JveCcpLnRvZ2dsZSgpOwogICAgfSkKCiAgICAkKCdhLmRlbHJlY29yZCcpLmNsaWNrKCBmdW5jdGlvbihldikgewogICAgICAgIHZhciBzZWxmID0gJCh0aGlzKTsKICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIGNtc19jb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9kZWx2aWV3Jyl9JykuZG9uZShmdW5jdGlvbigpewogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBzZWxmLmF0dHIoJ2hyZWYnKTsKICAgICAgICB9KQogICAgfSkKCiAgICAkKCcjc2VscGFnZScpLmNoYW5nZShmdW5jdGlvbigpewogICAgICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogICAgfSkKfSkKPC9zY3JpcHQ+Cgo8aDM+eyRtb2QtPkxhbmcoJ3ZpZXcnKX06IHskdmlldy0+bmFtZX08L2gzPgo8ZmllbGRzZXQgaWQ9ImZpbHRlcl9ib3giIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWx0ZXInKX08L2xlZ2VuZD4KICAgIHtmb3JtX3N0YXJ0IGFjdGlvbj1hZG1pbl92aWV3X3N1bW1hcnkgdmlldz0kdmlldy0+aWR9CiAgICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgICAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdmaWVsZF9maWx0ZXInKX08L2xhYmVsPgoJICA8ZGl2IGNsYXNzPSJncmlkXzgiPgoJICAgICAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgCSAgICAgICAgICAgPGxhYmVsPnskbW9kLT5MYW5nKCdmaWVsZCcpfToKCSAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1maWx0ZXJfc2VhcmNoZmllbGQiPntodG1sX29wdGlvbnMgb3B0aW9ucz0kdmlldy0+bWFwLT5sYWJlbHMoKSBzZWxlY3RlZD0kYWRkZmlsdGVyLT5maWVsZH08L3NlbGVjdD4KCSAgICAgICAgICAgPC9sYWJlbD4KCSAgICAgICAgICAgPGxhYmVsPnskbW9kLT5MYW5nKCdjb250YWlucycpfToKCSAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZpbHRlcl9zZWFyY2hzdHIiIHZhbHVlPSJ7JGFkZGZpbHRlci0+c3Vic3RyfSIgcGxhY2Vob2xkZXI9InskbW9kLT5MYW5nKCdwaF9zZWFyY2hzdHJpbmcnKX0iLz4KCSAgICAgICAgICAgPC9sYWJlbD4KCQkgICA8YnV0dG9uIG5hbWU9InskYWN0aW9uaWR9c3VibWl0Ij57JG1vZC0+TGFuZygnc3VibWl0Jyl9PC9idXR0b24+CgkgICAgICAgPC9kaXY+CgkgIDwvZGl2PgogICAgPC9kaXY+CiAgICB7Zm9ybV9lbmR9CjwvZmllbGRzZXQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgIHtpZiAkY2FuX21hbmFnZV92aWV3c30KICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249J2FkbWluX2VkaXRfdmlldycgdmlldz0kdmlldy0+aWR9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXRfdmlldycpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfSB7JG1vZC0+TGFuZygnZWRpdF92aWV3Jyl9PC9hPgogICB7L2lmfQogICA8YSBpZD0idG9nZ2xlX2ZpbHRlciI+e2FkbWluX2ljb24gaWNvbj0ndmlldy5naWYnfSB7JG1vZC0+TGFuZygnZmlsdGVyJyl9PC9hPgogICB7aWYgJGFkZGZpbHRlci0+c3Vic3RyfQogICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiBncmVlbjsiPnskbW9kLT5MYW5nKCdmaWx0ZXJfYXBwbGllZCcpfTwvc3Bhbj4KICAgey9pZn0KICAge2lmICRyZXN1bHRzLT5Ub3RhbE1hdGNoZXMoKX0KICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249J2FkbWluX2V4cG9ydF92aWV3JyB2aWV3PSR2aWV3LT5pZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZXhwb3J0dF92aWV3Jyl9Ij57YWRtaW5faWNvbiBpY29uPSdleHBvcnQuZ2lmJ30geyRtb2QtPkxhbmcoJ2V4cG9ydF92aWV3Jyl9PC9hPgogICB7L2lmfQogICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWRlZmF1bHRhZG1pbn0iPnthZG1pbl9pY29uIGljb249J2JhY2suZ2lmJ30geyRtb2QtPkxhbmcoJ2JhY2snKX08L2E+CiAgIHtpZiAkcGFnLnBhZ2Vjb3VudCA+IDF9CiAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsiPgogICAgICB7Zm9ybV9zdGFydCB2aWV3PSR2aWV3LT5pZH0KICAgICAgeyRtb2QtPkxhbmcoJ3BhZ2UnKX06CiAgICAgIDxzZWxlY3QgaWQ9InNlbHBhZ2UiIG5hbWU9InskYWN0aW9uaWR9cGFnZSI+CiAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHBhZy0+Z2V0X3BhZ2VoYXNoKCkgc2VsZWN0ZWQ9JHBhZy5wYWdlfQogICAgICA8L3NlbGVjdD4KICAgICAge2Zvcm1fZW5kfQogICA8L2Rpdj4KICAgey9pZn0KPC9kaXY+CnskaXRlbXM9JHZpZXctPm1hcC0+aXRlbXMoKX0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogICAgPHRoZWFkPgogICAgICAgIDx0cj4KCSAgICB7Zm9yZWFjaCAkaXRlbXMgYXMgJGNvbCA9PiAkdHlwZX0KCSAgICAgICAgPHRoPnskdmlldy0+bWFwLT5nZXRfbGFiZWwoICRjb2wpIH08L3RoPgoJICAgIHsvZm9yZWFjaH0KCSAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgoJICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+Cgk8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keT4KICAgIHtmb3JlYWNoICRyZXN1bHRzIGFzICRyc30KICAgICAgICA8dHI+CgkgICB7Zm9yZWFjaCAkaXRlbXMgYXMgJGNvbCA9PiAkdHlwZX0KCSAgICAgIHskY2xhc3M9Jyd9CgkgICAgICB7aWYgJHR5cGUgPT0gJ25vd3JhcCd9eyRjbGFzcz0nbm93cmFwJ317L2lmfQoJICAgICAgPHRkIGNsYXNzPSJ7JGNsYXNzfSI+CgkgICAgICAgICAge2lmICR0eXBlID09ICdkYXRlJ30KCQkgICAgIHskcnMtPiRjb2x8Y21zX2RhdGVfZm9ybWF0fQoJCSAge2Vsc2VpZiAkdHlwZSA9PSAnZW1haWwnfQoJCSAgICAgPGEgaHJlZj0ibWFpbHRvOnskcnMtPiRjb2x9Ij57JHJzLT4kY29sfTwvYT4KCQkgIHtlbHNlfQoJICAgICAgICAgICAgIHskcnMtPiRjb2x8c3RyaXBfdGFnc3xzdW1tYXJpemU6MTIwOicuLi4nfQoJCSAgey9pZn0KCSAgICAgIDwvdGQ+CgkgICB7L2ZvcmVhY2h9CgkgICA8dGQ+CgkgICAgICB7aWYgJGNhbl9tYW5hZ2V9CgkgICAgICAgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9lZGl0X3JlY29yZCBmb3JtX2lkPSRycy0+Zm9ybV9pZCBndWlkPSRycy0+Z3VpZCByZXR1cm5fYT12aWV3IHJldHVybl9iPSR2aWV3LT5pZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT4KCSAgICAgIHsvaWZ9CgkgICA8L3RkPgoJICAgPHRkPgoJICAgICAge2lmICRjYW5fbWFuYWdlfQogIAkgICAgICAgICAgPGEgY2xhc3M9ImRlbHJlY29yZCIgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9kZWxfcmVjb3JkIGZvcm1faWQ9JHJzLT5mb3JtX2lkIGd1aWQ9JHJzLT5ndWlkIHJldHVybl9hPXZpZXcgcmV0dXJuX2I9JHZpZXctPmlkfSIgdGl0bGU9InskbW9kLT5MYW5nKCdkZWxldGUnKX0iPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnfTwvYT4KCSAgICAgIHsvaWZ9CgkgICA8L3RkPgoJPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CjwvdGFibGU+]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRjYW5fbWFuYWdlX3ZpZXdzfQo8c3R5bGU+CnRib2R5LnNvcnRhYmxlIHsKICAgY3Vyc29yOiBtb3ZlOwp9Cjwvc3R5bGU+Cgo8c2NyaXB0PgokKGZ1bmN0aW9uKCl7CiAgICAkKCdhLmRlbHZpZXcnKS5jbGljayggZnVuY3Rpb24oZXYpIHsKICAgICAgICB2YXIgc2VsZiA9ICQodGhpcyk7CiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICBjbXNfY29uZmlybSgneyRtb2QtPkxhbmcoJ2NvbmZpcm1fZGVsdmlldycpfScpLmRvbmUoZnVuY3Rpb24oKXsKICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gc2VsZi5hdHRyKCdocmVmJyk7CiAgICAgICAgfSkKICAgIH0pCiAgICAkKCd0Ym9keS5zb3J0YWJsZScpLnNvcnRhYmxlKHsKICAgICAgIHN0b3A6IGZ1bmN0aW9uKGUsdWkpIHsKICAgICAgICAgICAkKCcjc2F2ZXNvcnRpbmcnKS5zaG93KCk7CiAgICAgICB9CiAgICB9KTsKfSkKPC9zY3JpcHQ+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgIHtpZiAkY2FuX21hbmFnZV92aWV3c30KICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZWRpdF92aWV3fSI+e2FkbWluX2ljb24gaWNvbj0nbmV3b2JqZWN0LmdpZid9IHskbW9kLT5MYW5nKCdhZGRfdmlldycpfTwvYT4KICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fYWRkX3NlcGFyYXRvcn0iPnthZG1pbl9pY29uIGljb249J25ld29iamVjdC5naWYnfSB7JG1vZC0+TGFuZygnYWRkX3NlcGFyYXRvcicpfTwvYT4KICAgey9pZn0KICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9saXN0X2Zvcm1zfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfSB7JG1vZC0+TGFuZygnZm9ybXMnKX08L2E+CjwvZGl2PgoKe2lmIGNvdW50KCR2aWV3cyl9CiAgIHtpZiAkY2FuX21hbmFnZV92aWV3c30KICAgICAgIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19zb3J0X3ZpZXdzJyl9PC9kaXY+CiAgICAgICA8YnIvPgogICB7L2lmfQoKICAge2Zvcm1fc3RhcnR9CiAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgIDxidXR0b24gaWQ9InNhdmVzb3J0aW5nIiBuYW1lPSJ7JGFjdGlvbmlkfXNhdmVzb3J0aW5nIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPnskbW9kLT5MYW5nKCdzYXZlJyl9PC9idXR0b24+CiAgIDwvZGl2PgogICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgPHRoZWFkPgogICAgICAgPHRyPgogICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ25hbWUnKX08L3RoPgoJIHtpZiAkY2FuX21hbmFnZV92aWV3c30KCSAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KCSAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KCSAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KCSB7L2lmfQogICAgICAgPC90cj4KICAgICA8L3RoZWFkPgogICAgIDx0Ym9keSBjbGFzcz0ic29ydGFibGUiPgogICAgICAge2ZvcmVhY2ggJHZpZXdzIGFzICR2aWV3fQogICAgICAgICAgPHRyPgogICAgICAgICAgICB7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX3ZpZXdfc3VtbWFyeSB2aWV3PSR2aWV3LT5pZCBhc3NpZ249dmlld191cmx9CiAgICAgICAgICAgIHtjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZWRpdF92aWV3IHZpZXc9JHZpZXctPmlkIGFzc2lnbj1lZGl0X3VybH0KICAgICAgICAgICAge2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9kZWxfdmlldyB2aWV3PSR2aWV3LT5pZCBhc3NpZ249ZGVsX3VybH0KCSAgICA8dGQ+CgkgICAgICAgIHtpZiAkdmlldy0+dHlwZSA9PSAnVid9CiAgCSAgICAgICAgICAgIDxhIGhyZWY9Inskdmlld191cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3ZpZXdfZGF0YScpfSI+eyR2aWV3LT5uYW1lfTwvYT4KCQl7ZWxzZX0KCQkgICAgLS0tLQoJCXsvaWZ9CgkgICAgPC90ZD4KCSAgICB7aWYgJGNhbl9tYW5hZ2Vfdmlld3N9CiAgIAkgICAgPHRkPgoJICAgICAgICB7aWYgJHZpZXctPnR5cGUgPT0gJ1YnfQoJICAgICAgICAgICAgPGEgaHJlZj0ieyRlZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdF92aWV3Jyl9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9hPgoJCXsvaWZ9CgkgICAgPC90ZD4KCSAgICA8dGQ+PGEgY2xhc3M9ImRlbHZpZXciIGhyZWY9InskZGVsX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZGVsZXRlX3ZpZXcnKX0iPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnfTwvYT48L3RkPgoJICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9dmlld1tdIiB2YWx1ZT0ieyR2aWV3LT5pZH0iLz4KCSAgICB7L2lmfQoJICA8L3RyPgogICAgICAgey9mb3JlYWNofQogICAgIDwvdGJvZHk+CiAgIDwvdGFibGU+CiAgIHtmb3JtX2VuZH0Key9pZn0K]]></data>
	</file>
</module>
