<?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>CGJobMgr</name>
	<version>1.2.10</version>
  <mincmsversion>1.11.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoZXJlIGFyZSBvZnRlbiB0aW1lcyBvbiB3ZWJzaXRlcyB3aGVyZSB0YXNrcyB0aGF0IG1heSB0YWtlIGEgY29uc2lkZXJhYmxlIGFtb3VudCBvZiB0aW1lIG5lZWQgdG8gYmUgYXV0b21hdGVkLiAgRm9yIGV4YW1wbGUsIHNlbmRpbmcgb3V0IGFuIGVtYWlsIG5ld3NsZXR0ZXIsIGltcG9ydGluZyByZWNvcmRzIGZyb20gYSBDU1YgZmlsZSwgb3IgcmVxdWVzdGluZyBsYXJnZSBhbW91bnRzIG9mIGRhdGEgZnJvbSBhIHJlbW90ZSBzZXJ2aWNlLiAgIFBIUCAocGVydGljdWxhcmx5IG9uIGhvc3RlZCB3ZWJzaXRlcykgZG9lcyBub3QgbGlrZSB0byBydW4gZm9yIGxvbmcgcGVyaW9kcyBvZiB0aW1lLiAgVGhpcyBtb2R1bGUgYWxsb3dzIGEgZGV2ZWxvcGVyIHRvIGNyZWF0ZSAmcXVvdDtqb2JzJnF1b3Q7IGNvbnNpc3Rpbmcgb2Ygb25lIG9yIG1vcmUgJnF1b3Q7dGFza3MmcXVvdDsgdGhhdCBhcmUgaGFuZGxlZCBieSBhbiBodHRwIHJlcXVlc3QgdGhhdCBjYW4gYmUgaGFuZGxlZCBpbiB0aGUgYmFja2dyb3VuZCBhdXRvbWF0aWNhbGx5LjxwPgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYW4gQVBJIHRoYXQgYWxsb3dzIG90aGVyIG1vZHVsZSBkZXZlbG9wZXJzIHRvIGNyZWF0ZSBqb2JzLiAgRnJvbSBhIHVzZXIgcGVyc3BlY3RpdmUgeW91IG1lcmVseSBuZWVkIHRvIGZvbGxvdyB0d28gc3RlcHM6PC9wPgo8b2w+CiAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgbW9kdWxlLjwvbGk+CiAgPGxpPkNvbmZpZ3VyZSBhIHNjaGVkdWxlZCB0YXNrIHRvIGFjY2VzcyB0aGUgc3VwcGxpZWQgcHJvY2VzcyB1cmwgb24gYSByZWd1bGFyLCBmcmVxdWVudCBiYXNpcyA8ZW0+KGEgY3JvbiBqb2Igd29ya3MgZ3JlYXQgZm9yIHRoaXMpPC9lbT4KPC9vbD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgogIDxsaT5UaGUgQVBJIGFsbG93cyBmb3IgY3JlYXRpbmcgc3RhcnR1cCBhbmQgZmluaXNoIGpvYnMuLi48L2xpPgogIDxsaT5BbiBpdGVyYXRpdmUgdGFzayB0eXBlIHRoYXQgd2lsbCBydW4gc21hbGwgc3RlcHMgKHN1Y2ggYXMgY29udmVydGluZyBvbmUgbGluZSBvZiBhIENTViBmaWxlKSB1bnRpbCB0aGUgYWxsb3dlZCB0aW1lIGlzIG5lYXJseSBleGhhdXN0ZWQ8L2xpPgogIDxsaT5BIFNpbXBsZSB0YXNrIHR5cGUgdGhhdCBydW5zIG9uY2UgYW5kIGlzIGV4cGVjdGVkIHRvIGNvbXBsZXRlLjwvbGk+CiAgPGxpPkV4dGVuc2l2ZSBsb2dnaW5nIHRvIHRoZSBhZG1pbiBsb2c8L2xJPgogIDxsaT5Kb2JzIGFyZSBzdGFydGVkIGJ5IHRoZSBwcm9jZXNzIGFjdGlvbiAoYWNjZXNzZWQgdmlhIHRoZSBwcm9jZXNzIHVybCBwcm92aWRlZCBpbiB0aGUgYWRtaW4gaW50ZXJmYWNlLCBvbmUgam9iIHBlciByZXF1ZXN0KSB0aGVuIGNvbXBsZXRlIHVudGlsIGZpbmlzaGVkZSB2aWEgY29udGludWVkIHJlZGlyZWN0c3cgYmFjayB0byB0aGUgcHJvY2VzcyBhY3Rpb24uICBUaGVyZWZvcmUgam9icyB3aWxsIGNvbXBsZXRlIGZhc3Rlci48L2xpPgogIDxsaT5TbWFsbCBhbW91bnRzIG9mIGRhdGEgY2FuIGJlIGF0dGFjaGVkIHRvIHRoZSBqb2IsIGFuZCB0byBpbmRpdmlkdWFsIHRhc2tzIHRoYXQgaXMgc2VyaWFsaXplZCBhbmQgc3RvcmVkIHdpdGggdGhlIGpvYiBpbiB0aGUgZGF0YWJhc2UuICBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGluZm9ybWF0aW9uIHN1Y2ggYXMgZmlsZW5hbWVzLCB0aW1lIGxpbWl0cywgbm90aWZpY2F0aW9uIGFkZHJlc3NlcyBldGMuIHRvIHRoZSB0YXNrIGZ1bmN0aW9ucy48L2xpPgo8L3VsPgo8aDM+QXV0b21hdGljIFByb2Nlc3Npbmc8L2gzPgo8cD5UaG91Z2ggdGhlIENHSm9iTWdyIG1vZHVsZSBwcm92aWRlcyBhIGxpbmsgaW4gaXRzIGFkbWluIHBhbmVsIHRvIHByb2Nlc3MgdGhlIG5leHQgam9iLCBpdCBpcyBiZXN0IGlmIHRoaXMgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IG9uIGEgZnJlcXVlbnQgYmFzaXMuICBUaGVyZSBhcmUgbnVtZXJvdXMgd2F5cyB0aGF0IHRoaXMgY2FuIGJlIGRvbmUuPC9wPgo8cD5Nb3N0IHdlYmhvc3RzIHByb3ZpZGUgYSBjb250cm9sIHBhbmVsIHRoYXQgaGFzIGFuIG9wdGlvbiBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIHNjaGVkdWxlZCB0YXNrcyAoc3R1ZmYgdGhhdCB5b3Ugd2FudCB0byBkbyBvbiBhIHJlZ3VsYXIgYmFzaXMpLiAgSWYgbm90LCBhbmQgeW91IGhhdmUgYWNjZXNzIHRvIGEgdGFzayBtYW5hZ2VyIG9uIGFub3RoZXIgbWFjaGluZSB0aGF0IGlzIGludGVybmV0IGVuYWJsZWQgeW91IGNhbiBjcmVhdGUgYSBzY2hlZHVsZWQgdGFzayB0aGVyZS48L3A+CjxwPkxpbnV4L1VuaXggYmFzZWQgbWFjaGluZXMgaGF2ZSBhIGJ1aWx0IGluIG1lY2hhbmlzbSBjYWxsZWQgJnF1b3Q7Y3JvbiZxdW90OyBCZWxvdyBpcyBhIHNhbXBsZSBqb2IgdGhhdCBpcyBleGVjdXRlZCBldmVyeSAxMCBtaW51dGVzLCBhbmQgdXNlcyB3Z2V0IHRvIHRyaWdnZXIgdGhlIHByb2Nlc3NpbmcgYW5kIGRpc3JlZ2FyZCBpdHMgb3V0cHV0Ljxici8+PGJyLz48L3A+Cjxjb2RlIHN0eWxlPSJtYXJnaW4tbGVmdDogNGVtOyBtYXJnaW4tcmlnaHQ6IDRlbTsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBwYWRkaW5nOiAxZW07Ij4KKi8xMCAqICogKiAqIHdnZXQgLU8gL2Rldi9udWxsIGh0dHA6Ly9teXNpdGUuY29tL0NHSm9iTWdyL3Byb2Nlc3MgPi9kZXYvbnVsbCAyPiYxCjwvY29kZT4KPGgzPkFQSTwvaDM+CjxwPk51bWVyb3VzIFBIUCBjbGFzc2VzIGRlZmluZSB0aGUgQVBJIGZvciBjcmVhdGluZyBqb2JzLCB0aGVpciB0YXNrcywgYW5kIHRoZW4gc3VibWl0dGluZyB0aGVtIHRvIHRoZSBqb2IgbWFuYWdlci4gICBUaGUgY2xhc3NlcyBhcmUgZnVsbHkgZG9jdW1lbnRlZCBpbiB0aGVpciBhcHByb3ByaWF0ZSBQSFAgZmlsZXMuICBUaGUgZmlsZXMgYXJlIGFzIGZvbGxvd3M6PC9wPgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyB3aWR0aDogNzUlOyI+CiA8dGhlYWQ+CiAgPHRyPgogICAgPHRoPkNsYXNzPC90aD4KICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+CiAgICA8dGg+RmlsZW5hbWU8L3RoPgogIDwvdHI+CiA8L3RoZWFkPgogPHRib2R5PgogICA8dHI+CiAgICAgPHRkPmNnam9ibWdyX2pvYjwvdGQ+CiAgICAgPHRkPlRoZSBqb2IgY2xhc3M8L3RkPgogICAgIDx0ZD5saWIvY2xhc3MuY2dqb2JtZ3Jfam9iLnBocDwvdGQ+CiAgIDwvdHI+CiAgIDx0cj4KICAgICA8dGQ+Y2dqb2JtZ3JfdGFzazwvdGQ+CiAgICAgPHRkPkFic3RyYWN0IGJhc2UgY2xhc3M8L3RkPgogICAgIDx0ZD5saWIvY2xhc3MuY2dqb2JtZ3JfdGFzay5waHA8L3RkPgogICA8L3RyPgogICA8dHI+CiAgICAgPHRkPmNnam9ibWdyX3NpbXBsZXRhc2s8L3RkPgogICAgIDx0ZD5BIHNpbXBsZSAmcXVvdDtydW4gb25jZSZxdW90OyB0YXNrPC90ZD4KICAgICA8dGQ+bGliL2NsYXNzLmNnam9ibWdyX3NpbXBsZXRhc2sucGhwPC90ZD4KICAgPC90cj4KICAgPHRyPgogICAgIDx0ZD5jZ2pvYm1ncl9pdGVyYXRpdmV0YXNrPC90ZD4KICAgICA8dGQ+QSB0YXNrIHRoYXQgd2lsbCBydW4gc21hbGwgc3RlcHMgKGkuZTogcHJvY2VzcyBvbmUgbGluZSBvZiBhIENTViBmaWxlKSB1bnRpbCBhbGxvdHRlZCB0aW1lIGlzIGNsb3NlIHRvIGV4cGlyeS48L3RkPgogICAgIDx0ZD5saWIvY2xhc3MuY2dqb2JtZ3JfaXRlcmF0aXZldGFzay5waHA8L3RkPgogICA8L3RyPgogICA8dHI+CiAgICAgPHRkPmNnam9ibWdyX2pvYmhhbmRsZXI8L3RkPgogICAgIDx0ZD5BbiBhYnN0cmFjdCBzaW5nbGV0b24gY2xhc3MgdGhhdCBwcm92aWRlcyB0aGUgaW50ZXJmYWNlIGZvciBkaWZmZXJlbnQgam9iIGhhbmRsZXJzLjwvdGQ+CiAgICAgPHRkPmxpYi9jbGFzcy5jZ2pvYm1ncl9qb2JoYW5kbGVyLnBocDwvdGQ+CiAgIDwvdHI+CiA8L3Rib2R5Pgo8L3RhYmxlPgo8aDM+RXhhbXBsZTo8L2gzPgo8cD5UaGUgZm9sbG93aW5nIGNvZGUgaXMgYSBtYXJrZWQgdXAgY29weSBvZiB0aGUgY29kZSBmcm9tIHRoZSBDR1JhcExlYWYgbW9kdWxlIHRoYXQgc3VibWl0cyB0aGUgam9iLjwvcD4KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6IDRlbTsgbWFyZ2luLXJpZ2h0OiA0ZW07IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiPjxjb2RlPi8vIENyZWF0ZSBhIG5ldyBqb2IsIGdpdmUgaXQgYSBuYW1lLCBhbmQgc3BlY2lmeSB3aG8gb3ducyBpdAokam9iID0gbmV3IGNnam9ibWdyX2pvYigkdGhpcy0+R2V0TmFtZSgpLicgYnVsayBzdWJtaXNzaW9uJyxnZXRfdXNlcmlkKEZBTFNFKSk7CgovLyBDcmVhdGUgYSBuZXcgJnF1b3Q7aXRlcmF0aXZlJnF1b3Q7IHRhc2sgdGhhdCB3aWxsIHJlcGVhdCBhIHNtYWxsIHN0ZXAgdW50aWwgdGhlcmUgaXMgbm8gdGltZSBsZWZ0CiR0YXNrID0gbmV3IGNnam9ibWdyX2l0ZXJhdGl2ZXRhc2soJ3Byb2Nlc3MgZW1haWwgYWRkcmVzcycpOwoKLy8gU3BlY2lmeSB3aGljaCBmdW5jdGlvbiB0aGlzIHRhc2sgd2lsbCBjYWxsIHRvIGFjdHVhbGx5IGRvIHRoZSB3b3JrCiR0YXNrLT5zZXRfZnVuY3Rpb24oYXJyYXkoJ2NncmFwbGVhZl90YXNrJywncHJvY2Vzc190YXNrJykpOwoKLy8gUHJvdmlkZSBzb21lIGRhdGEgdG8gdGhlIHRhc2sKJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2lucHV0X2ZpbGUnLCRpbmZpbGUpOwokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnb3V0cHV0X2ZpbGUnLCRvdXRmaWxlKTsKJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2xvZ2ZpbGUnLCRsb2dmaWxlKTsKJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2NvbHVtbicsJGNvbHVtbik7CiR0YXNrLT5zZXRfcGVyc2lzdGVudF9kYXRhKCdkZWxpbWV0ZXInLCRkZWxpbWl0ZXIpOwoKLy8gQWRkIHRoZSB0YXNrIHRvIHRoZSBqb2IKJGpvYi0+YWRkX3Rhc2soJHRhc2spOwoKLy8gQ3JlYXRlIGFub3RoZXIgdGFzay4uLiBhIHNpbXBsZSBydW4tb25jZSB0YXNrCiR0YXNrID0gbmV3IGNnam9ibWdyX3NpbXBsZXRhc2soJ3NlbmQgcmVzdWx0Jyk7CiR0YXNrLT5zZXRfZnVuY3Rpb24oYXJyYXkoJ2NncmFwbGVhZl90YXNrJywnbm90aWZ5JykpOwoKLy8gQWRkIHNvbWUgZGF0YSBpbnRvIHRoaXMgdGFzawokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnaW5wdXRfZmlsZScsJGluZmlsZSk7CiR0YXNrLT5zZXRfcGVyc2lzdGVudF9kYXRhKCdvdXRwdXRfZmlsZScsJG91dGZpbGUpOwokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnbG9nZmlsZScsJGxvZ2ZpbGUpOwokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnZGVzdF9lbWFpbCcsJGVtYWlsKTsKCi8vIEFkZCB0aGUgdGFzayB0byB0aGUgam9iCiRqb2ItPmFkZF90YXNrKCR0YXNrKTsKCi8vIFNhdmUgdGhlIGpvYiBpbnRvIHRoZSBkYXRhYmFzZS4uLiBpdCB3aWxsIHJ1biBhdXRvbWF0aWNhbGx5IHRoZSBuZXh0IHRpbWUgdGhlIHByb2Nlc2luZyB1cmwgaXMgYWNjZXNzZWQuCiRqb2ItPnNhdmUoKTsKPC9jb2RlPjwvcHJlPjxici8+CjxoND5UYXNrIGZ1bmN0aW9uczo8L2g0Pgo8cD5UYXNrIGZ1bmN0aW9ucyBtYXkgYmUgc2ltcGxlIFBIUCBmdW5jdGlvbnMsIG9yIHN0YXRpYyBtZW1iZXJzIG9mIGEgcGhwIGNsYXNzLiAgVGhleSBhY2NlcHQgYSBjZ2pvYm1ncl90YXNrIHJlZmVyZW5jZSBhcyB0aGVpciBzaW5nbGUgcGFyYW1ldGVyLiAgVGhleSBhcmUgZXhwZWN0ZWQgdG8gcmV0dXJuIGEgY2dqb2JtZ3JfdGFzayBzdGF0dXMuICBpLmU6PC9wPgo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDogNGVtOyBtYXJnaW4tcmlnaHQ6IDRlbTsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+PGNvZGU+CmNsYXNzIGNncmFwbGVhZl90YXNrCnsKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG5vdGlmeShjZ2pvYm1ncl90YXNrJiAkdGFzaykKICB7CiAgICAkZGVzdF9lbWFpbCA9ICR0YXNrLT5nZXRfcGVyc2lzdGVudF9kYXRhKCdkZXN0X2VtYWlsJyk7CiAgICAkb3V0ZmlsZSA9ICR0YXNrLT5nZXRfcGVyc2lzdGVudF9kYXRhKCdvdXRwdXRfZmlsZScpOwoKICAgIGlmKCAhJGRlc3RfZW1haWwgKQogICAgICB7CglhdWRpdCgnJywnY2dyYXBsZWFmX3Rhc2snLCdObyBkZXN0aW5hdGlvbiBlbWFpbCBzcGVjaWZpZWQnKTsKCXJldHVybiBjZ2pvYm1ncl90YXNrOjpTVEFUVVNfRVJST1I7CiAgICAgIH0KICAgICR0b19hZGRycyA9IGNnZV9hcnJheTo6c21hcnRfZXhwbG9kZSgkZGVzdF9lbWFpbCk7CiAgICBpZiggIWlzX2FycmF5KCR0b19hZGRycykgfHwgY291bnQoJHRvX2FkZHJzKSA9PSAwICkKICAgICAgewoJYXVkaXQoJycsJ2NncmFwbGVhZl90YXNrJywnQ291bGQgbm90IGZpbmQgYSBkZXN0aW5hdGlvbiBlbWFpbCBhZGRyZXNzJyk7CglyZXR1cm4gY2dqb2JtZ3JfdGFzazo6U1RBVFVTX0VSUk9SOwogICAgICB9CgogICAgaWYoICEkb3V0ZmlsZSB8fCAhZmlsZV9leGlzdHMoJG91dGZpbGUpICkKICAgICAgewoJYXVkaXQoJycsJ2NncmFwbGVhZl90YXNrJywnQ291bGQgbm90IGZpbmQgb3V0cHV0IGZpbGUnKTsKCXJldHVybiBjZ2pvYm1ncl90YXNrOjpTVEFUVVNfRVJST1I7CiAgICAgIH0KICAgICRvdXR0eXBlID0gY2dlX3V0aWxzOjpnZXRfbWltZV90eXBlKCRvdXRmaWxlKTsKICAgICRyYXBsZWFmID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1JhcExlYWYnKTsKICAgICRjbXNtYWlsZXIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU01haWxlcicpOwogICAgJGNtc21haWxlci0+cmVzZXQoKTsKICAgICRudW1fdG8gPSAwOwogICAgZm9yZWFjaCggJHRvX2FkZHJzIGFzICRvbmUgKQogICAgICB7CglpZiggIWlzX2VtYWlsKCRvbmUpICkgY29udGludWU7CgkkbnVtX3RvKys7CgkkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCRvbmUpOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRyYXBsZWFmLT5MYW5nKCdidWxrZW1haWxfc3ViamVjdCcpKTsKICAgICRjbXNtYWlsZXItPkFkZEF0dGFjaG1lbnQoICRvdXRmaWxlLCAncmFwbGVhZi5jc3YnLCAnYmFzZTY0JywgJG91dHR5cGUgKTsKICAgIGlmKCAkbG9nZmlsZSAmJiBmaWxlX2V4aXN0cygkbG9nZmlsZSkgKQogICAgICB7CgkkY21zbWFpbGVyLT5BZGRBdHRhY2htZW50KCAkbG9nZmlsZSwgJ3JhcGxlYWYubG9nJywgJ2Jhc2U2NCcsIGNnZV91dGlsczo6Z2V0X21pbWVfdHlwZSgkbG9nZmlsZSkpOwogICAgICB9CiAgICAvLyBub3cgdGhlIGJvZHkuCiAgICAkYm9keSA9ICdZb3VyIENHUmFwTGVhZiBKb2IgaGFzIGNvbXBsZXRlZC4gIFRoZSBvdXRwdXQgZmlsZShzKSBhcmUgYXR0YWNoZWQgdG8gdGhpcyBlbWFpbCc7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCiAgICBhdWRpdCgnJywnY2dyYXBsZWFmX3Rhc2snLHNwcmludGYoJ1NlbnQgZW1haWwgdG8gJWQgYWRkcmVzc2VzJyxjb3VudCgkbnVtX3RvKSkpOwogICAgcmV0dXJuIGNnam9ibWdyX3Rhc2s6OlNUQVRVU19DT01QTEVURTsKCiAgfQp9CjwvY29kZT48L3ByZT4KPGgzPkZ1dHVyZSB2ZXJzaW9uczwvaDM+Cjx1bD4KICA8bGk+Rm9yZWdyb3VuZCBqb2JzIC0gVGhlIGFiaWxpdHkgdG8gcHJvY2VzcyB0aGUgam9iIGluIHRoZSBmb3JlZ3JvdW5kIHdpdGggYSBwcm9ncmVzcyBiYXIgYW5kIGZlZWRiYWNrLjwvbGk+CiAgPGxpPk1vcmUgdGFzayB0eXBlczwvbGk+CiAgPGxpPkJldHRlciByZXBvcnRpbmcgLSBwZXJoYXBzIHNvbWUgZW1haWwgbm90aWZpY2F0aW9uIG9uIGZhaWxlZCBqb2JzLCBldGMuPC9saT4KICA8bGk+SW1wcm92ZWQgYWRtaW4gaW50ZXJmYWNlIC0gVGhlIGFiaWxpdHkgdG8gcmVzdW1lIGEgZmFpbGVkIGpvYiwgc3VzcGVuZCBqb2JzIGZvciBsYXRlci4uLjwvbGk+CiAgPGxpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KPGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS4zMDwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGdtYWlsLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAxLjIuMTA8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CiAgPGxpPlZlcnNpb24gMS4wIC0tIEFwcmlsIDIwMTEgLS0gSW5pdGlhbCBSZWxlYXNlPC9saT4KICA8bGk+VmVyc2lvbiAxLjEgLS0gTWF5IDIwMTEKICAgIDx1bD4KICAgICAgIDxsaT5BZGRlZCBhIG5ldyBwcmVmZXJlbmNlIGZvciBtYXhpbXVtIGl0ZXJhdGlvbnMuPC9saT4KICAgICAgIDxsaT5SZW1vdmVkIHBvc3NpYmlsaXR5IG9mIHJlZGlyZWN0aW9uIGxvb3AgZXJyb3JzIHdpdGggYXV0b21hdGVkIHRhc2tzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4yCiAgICA8dWw+U2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzIHRvIGpvYiBwcm9lY2Vzc2luZy48L3VsPgogICAgPHVsPkFkZHMgdGhlIGFiaWxpdHkgdG8gcGF1c2UgYW5kIHJlc3VtZSBqb2JzLjwvdWw+CiAgICA8dWw+QWRkcyBldmVudHMgYW5kIHNpZ25pZmljYW50IGF1ZGl0aW5nLjwvdWw+CiAgICA8dWw+QWRkcyBwcmltaXRpdmUgbWV0aG9kIGZvciBoYW5kbGluZyBzdHVjayBqb2JzLjwvdWw+CiAgPC9saT4KPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[A module for managing jobs that take considerable amounts of time]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.30</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_deletefinished.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEpvYnMnKSApIGV4aXQ7CgokcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ2pvYm1nciBXSEVSRSBzdGF0dXMgPSA/JzsKJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KGNnam9ibWdyX2pvYjo6U1RBVFVTX0ZJTklTSEVEKSk7CmlmKCBpc19hcnJheSgkZGJyKSAmJiBjb3VudCgkZGJyKSApIHsKICBmb3JlYWNoKCAkZGJyIGFzICRqb2JpZCApIHsKICAgICRqb2IgPSBjZ2pvYm1ncl9qb2I6OmxvYWRfYnlfaWQoJGpvYmlkKTsKICAgICRqb2ItPmRlbGV0ZSgpOwogIH0KfQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2pvYnMnKTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_deletejob.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEpvYnMnKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snam9iaWQnXSkgKSBleGl0OwoKJGpvYmlkID0gKGludCkkcGFyYW1zWydqb2JpZCddOwppZiggJGpvYmlkIDw9IDAgKSBleGl0OwoKJGpvYiA9IGNnam9ibWdyX2pvYjo6bG9hZF9ieV9pZCgkam9iaWQpOwokam9iLT5kZWxldGUoKTsKCgokdGhpcy0+U2V0Q3VycmVudFRhYignam9icycpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_pausejob.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEpvYnMnKSApIGV4aXQ7CgokdGhpcy0+U2V0Q3VycmVudFRhYignam9icycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ2pvYmlkJ10pICkgewogICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtcycpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9Cgp0cnkgewogICRwYXVzZSA9IDE7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3BhdXNlJ10pICkgJHBhdXNlID0gKGludCkkcGFyYW1zWydwYXVzZSddOwogICRqb2JpZCA9IChpbnQpJHBhcmFtc1snam9iaWQnXTsKICAKICAvLyBsb2FkIHRoZSBqb2IKICAkam9iID0gY2dqb2JtZ3Jfam9iOjpsb2FkX2J5X2lkKCRqb2JpZCk7CgogIC8vIGNoZWNrIHRoZSBzdGF0dXMKICBpZiggJHBhdXNlICkgewogICAgaWYoICFpbl9hcnJheSgkam9iLT5nZXRfc3RhdHVzKCksYXJyYXkoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfSU5QUk9HUkVTUyxjZ2pvYm1ncl9qb2I6OlNUQVRVU19DT01QTEVUSU5HKSkgJiYKCSRqb2ItPmdldF9yZWN1cl9pbnRlcnZhbCgpID09IDAgKSB7CiAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfcGF1c2VfYmFkc3RhdHVzJykpOwogICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgfQogICAgJGpvYi0+c2V0X3BlcnNpc3RlbnRfdmFsdWUoJ19fT1JJR19TVEFUVVNfXycsJGpvYi0+Z2V0X3N0YXR1cygpKTsKICAgICRqb2ItPnNldF9zdGF0dXMoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfUEFVU0VEKTsKCiAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdQYXVzZWQgSm9iOiAnLiRqb2ItPm5hbWUpOwogICAgJHRoaXMtPlNlbmRFdmVudCgnSm9iUGF1c2VkJyxhcnJheSgnam9iJz0+JGpvYikpOwogIH0KICBlbHNlIHsKICAgIGlmKCAkam9iLT5nZXRfc3RhdHVzKCkgIT0gY2dqb2JtZ3Jfam9iOjpTVEFUVVNfUEFVU0VEICkgewogICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3VucGF1c2VfYmFkc3RhdHVzJykpOwogICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgfQogICAgJG9yaWdzdGF0dXMgPSAkam9iLT5nZXRfcGVyc2lzdGVudF92YWx1ZSgnX19PUklHX1NUQVRVU19fJywnbm90c2V0Jyk7CiAgICBpZiggJG9yaWdzdGF0dXMgPT0gJ25vdHNldCcgKSB7CiAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdW5wYXVzZV9iYWRzdGF0dXMnKSk7CiAgICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICB9CiAgICAkam9iLT5zZXRfc3RhdHVzKCRvcmlnc3RhdHVzKTsKICAgICRqb2ItPnVubG9jaygpOwoKICAgIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ1Jlc3VtZWQgSm9iOiAnLiRqb2ItPm5hbWUpOwogICAgJHRoaXMtPlNlbmRFdmVudCgnSm9iUmVzdW1lZCcsYXJyYXkoJ2pvYic9PiRqb2IpKTsKICB9CgogIC8vIHNhdmUgaXQKICAkam9iLT5zYXZlKCk7Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAkdGhpcy0+U2V0RXJyb3IoJGUtPmdldE1lc3NhZ2UoKSk7Cn0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_savesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7CgokdGhpcy0+U2V0Q3VycmVudFRhYignc2V0dGluZ3MnKTsKCiR0aW1lb3V0ID0gKGludCkkcGFyYW1zWyd0aW1lb3V0J107CmlmKCAkdGltZW91dCA8PSAwICkKICAkdGltZW91dCA9ICcnOwplbHNlIGlmKCAkdGltZW91dCA8IDEwICkKICAkdGltZW91dCA9IDEwOwokbml0ZXJzID0gKGludCkkcGFyYW1zWydtYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucyddOwokbml0ZXJzID0gbWluKDIwLG1heCgxLCRuaXRlcnMpKTsKCiRuID0gKGludCkkcGFyYW1zWydjcm9uam9iX2ludGVydmFsJ107CiRuID0gbWluKDk5OTksbWF4KDAsJG4pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Nyb25qb2JfaW50ZXJ2YWwnLCRuKTsKJG4gPSAoaW50KSRwYXJhbXNbJ2VzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCddOwokbiA9IG1pbigxMDAsbWF4KDAsJG4pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCcsJG4pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGZsdF9wYWdlJywkcGFyYW1zWydkZmx0cGFnZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rhc2tfdGltZW91dCcsKGludCkkdGltZW91dCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucycsKGludCkkbml0ZXJzKTsKCiRzbGFjayA9IChmbG9hdCkkcGFyYW1zWydpdGVyYXRpdmVfc2xhY2snXTsKJHNsYWNrID0gbWluKG1heCgwLjI1LCRzbGFjayksNSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVyYXRpdmVfc2xhY2snLCRzbGFjayk7CgokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzdXBkYXRlZCcpKTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_set_notifications.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7CgokdGhpcy0+U2V0Q3VycmVudFRhYignbm90aWZpY2F0aW9ucycpOwokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzdXBkYXRlZCcpKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fZ3JvdXBzJyxzZXJpYWxpemUoJHBhcmFtc1snbm90aWZpY2F0aW9uX2dyb3VwcyddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fc3RhdHVzJyxzZXJpYWxpemUoJHBhcmFtc1snbm90aWZpY2F0aW9uX3N0YXR1cyddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBKb2JzJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignam9icycsJHRoaXMtPkxhbmcoJ2pvYnMnKSk7CiAgfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzZXR0aW5ncycsJHRoaXMtPkxhbmcoJ3NldHRpbmdzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdub3RpZmljYXRpb25zJywkdGhpcy0+TGFuZygnbm90aWZpY2F0aW9ucycpKTsKICB9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEpvYnMnKSApCiAgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2pvYnMnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2pvYnN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2V0dGluZ3MnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3NldHRpbmdzdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ25vdGlmaWNhdGlvbnMnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX25vdGlmaWNhdGlvbnNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgfQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.process.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBzZXR1cAovLwoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCiRqb2JfdGltZW91dCA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rhc2tfdGltZW91dCcpOwppZiggJGpvYl90aW1lb3V0ID4gMCApIHsKICAkam9iX3RpbWVvdXQgPSBtYXgoMTAsbWluKDk5OTksJGpvYl90aW1lb3V0KSk7CiAgc2V0X3RpbWVfbGltaXQoJGpvYl90aW1lb3V0KTsKfQokaXRlcmF0aXZlX3NsYWNrID0gKGZsb2F0KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVyYXRpdmVfc2xhY2snLDEuNSk7CiRpdGVyYXRpdmVfc2xhY2sgPSBtYXgoMC4yNSxtaW4oNS4wLCRpdGVyYXRpdmVfc2xhY2spKTsKCiRjcm9uam9iX2ludGVydmFsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nyb25qb2JfaW50ZXJ2YWwnKTsKJGNyb25qb2JfaW50ZXJ2YWwgPSBtYXgoMCxtaW4oOTk5OSwkY3JvbmpvYl9pbnRlcnZhbCkpOwoKJGVzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlc2NhbGF0aW9uX2ludGVydmFsbGltaXQnLDEwKTsKJGVzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCA9IG1pbigxMDAsbWF4KDEsJGVzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCkpOwoKJHRpbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbGFzdF9waW5nX3RpbWUnLDApOwppZiggJHRpbWUgPCB0aW1lKCkgLSA3MjAwICkgewogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luIFByb2Nlc3MgQWN0aW9uJyk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xhc3RfcGluZ190aW1lJyx0aW1lKCkpOwp9Cgp0cnkKewogIGlmKCAhaXNzZXQoJHBhcmFtc1snam9iaWQnXSkgKSB7CgogICAgLy8gcmVzZXQgYW55IHJlY3VycmluZyBqb2JzIHRoYXQgYXJlIGZpbmlzaGVkLgogICAgJHRpbWUgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKS0zMCk7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2dqb2JtZ3IgU0VUIHN0YXR1cyA9ID8gCiAgICAgICAgICAgICAgIFdIRVJFIHN0YXR1cyA9ID8gCiAgICAgICAgICAgICAgICAgQU5EIENPQUxFU0NFKHJlY3VyX2ludGVydmFsLDApID4gMAogICAgICAgICAgICAgICAgIEFORCBDT0FMRVNDRShsb2NrZWQsMCkgPSAwCiAgICAgICAgICAgICAgICAgQU5EIG1vZGlmaWVkIDwgJHRpbWUiOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfVU5TVEFSVEVELGNnam9ibWdyX2pvYjo6U1RBVFVTX0ZJTklTSEVEKSk7CgogICAgaWYoICRjcm9uam9iX2ludGVydmFsID4gMCApIHsKICAgICAgJGVzY2FsYXRlX2Zyb20gPSB0aW1lKCkgLSAkY3JvbmpvYl9pbnRlcnZhbCAqIDYwICogJGVzY2FsYXRpb25faW50ZXJ2YWxsaW1pdDsKICAgICAgJGVzY2FsYXRlX2Zyb20gPSAkZGItPkRiVGltZVN0YW1wKCRlc2NhbGF0ZV9mcm9tKTsKCiAgICAgIC8vIEhlcmUgd2UgdW5sb2NrIGFueSBqb2JzIHRoYXQgaGF2ZSBiZWVuIGxvY2tlZCBmb3IgYSBsb25nIHRpbWUuCiAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jZ2pvYm1ncgogICAgICAgICAgICAgICAgICAgU0VUIGxvY2tlZCA9IDAKICAgICAgICAgICAgICAgICBXSEVSRSBDT0FMRVNDRShsb2NrZWQsMCkgPSAxCiAgICAgICAgICAgICAgICAgICBBTkQgKHN0YXR1cyA9ID8gT1Igc3RhdHVzID0gPykKICAgICAgICAgICAgICAgICAgIEFORCBtb2RpZmllZCA8ICRlc2NhbGF0ZV9mcm9tIjsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheShjZ2pvYm1ncl9qb2I6OlNUQVRVU19JTlBST0dSRVNTLAoJCQkJY2dqb2JtZ3Jfam9iOjpTVEFUVVNfQ09NUExFVElORykpOwoKICAgICAgLy8gaGVyZSB3ZSBhZGp1c3QgdGhlIHByaW9yaXR5IG9mIHRhc2tzIGJhc2VkIG9uIHNvbWUgY3JpdGVyaWEgc28gdGhhdAogICAgICAvLyBsb3dlciBwcmlvcml0eSBqb2JzIGFyZSBub3QgYWx3YXlzIGRyb3duZWQgb3V0IGJ5IGhpZ2hlciBwcmlvcm90eSBqb2JzLgogICAgICAvLyBAdG9kbyBjaGFuZ2UgdGhlIDM2MDAgdG8gTio2MCBpbmNyZW1lbnRzLiAgbmVlZCBwcmVmZXJlbmNlIGZvciBpbmNyZW1lbnQgaW4gbWludXRlcy4KICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Nnam9ibWdyCiAgICAgICAgICAgICAgICAgICBTRVQgcHJpb3JpdHk9cHJpb3JpdHkrMgogICAgICAgICAgICAgICAgIFdIRVJFIHByaW9yaXR5IDw9ID8KICAgICAgICAgICAgICAgICAgIEFORCBwcmlvcml0eSA+ID8KICAgICAgICAgICAgICAgICAgIEFORCBDT0FMRVNDRShsb2NrZWQsMCkgPSAwCiAgICAgICAgICAgICAgICAgICBBTkQgc3RhdHVzID0gPwogICAgICAgICAgICAgICAgICAgQU5EIG1vZGlmaWVkIDwgJGVzY2FsYXRlX2Zyb20iOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KGNnam9ibWdyX2pvYjo6UFJJT1JJVFlfTk9STUFMLGNnam9ibWdyX2pvYjo6UFJJT1JJVFlfTE9XLAoJCQkJY2dqb2JtZ3Jfam9iOjpTVEFUVVNfVU5TVEFSVEVEKSk7CgogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2dqb2JtZ3IgCiAgICAgICAgICAgICAgICAgICBTRVQgcHJpb3JpdHk9cHJpb3JpdHkrMQogICAgICAgICAgICAgICAgIFdIRVJFIHByaW9yaXR5IDw9ID8gCiAgICAgICAgICAgICAgICAgICBBTkQgQ09BTEVTQ0UobG9ja2VkLDApID0gMAogICAgICAgICAgICAgICAgICAgQU5EIHN0YXR1cyA9ID8KICAgICAgICAgICAgICAgICAgIEFORCBtb2RpZmllZCA8ICRlc2NhbGF0ZV9mcm9tJzsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheShjZ2pvYm1ncl9qb2I6OlBSSU9SSVRZX0xPVywKCQkJCWNnam9ibWdyX2pvYjo6U1RBVFVTX1VOU1RBUlRFRCkpOwogICAgfQogIH0KCiAgLy8gZmluZCBhIGpvYiB3ZSBjYW4gc3RhcnQKICAka2V5cyA9IGFycmF5KGNnam9ibWdyX2pvYjo6U1RBVFVTX1BBVVNFRCxjZ2pvYm1ncl9qb2I6OlNUQVRVU19GSU5JU0hFRCxjZ2pvYm1ncl9qb2I6OlNUQVRVU19FUlJPUiwKCQljZ2pvYm1ncl9qb2I6OlNUQVRVU19BQk9SVEVELGNnam9ibWdyX2pvYjo6U1RBVFVTX0VSUk9SKTsKICAkdG1wID0gJyc7CiAgaWYoICFpc3NldCgkcGFyYW1zWydqb2JpZCddKSApIHsKICAgIC8vIHRoaXMgaXMgb3VyIHRhc2sgc2VsZWN0aW9uIG1lY2hhbmlzbS4uLiB0aGlzIG1heSBuZWVkIHRvIGJlIG9wdGltaXplZAogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ2pvYm1nciAKICAgICAgICAgICAgICBXSEVSRSBDT0FMRVNDRShsb2NrZWQsMCkgPSAwIAogICAgICAgICAgICAgIEFORCBDT0FMRVNDRShzdGFydF9hdCwwKSA8PSBVTklYX1RJTUVTVEFNUCgpIAogICAgICAgICAgICAgIEFORCBzdGF0dXMgTk9UIElOICgnLmNnZV9hcnJheTo6aW1wbG9kZV9xdW90ZWQoJGtleXMpLicpIAogICAgICAgICAgICAgIE9SREVSIEJZIHByaW9yaXR5IERFU0MsIG1vZGlmaWVkIEFTQyc7CiAgICAkdG1wID0gJGRiLT5HZXRSb3coJHF1ZXJ5KTsKICB9CiAgZWxzZSB7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnam9ibWdyIAogICAgICAgICAgICAgIFdIRVJFIENPQUxFU0NFKGxvY2tlZCwwKSA9IDEgCiAgICAgICAgICAgICAgQU5EIENPQUxFU0NFKHN0YXJ0X2F0LDApIDw9IFVOSVhfVElNRVNUQU1QKCkKICAgICAgICAgICAgICBBTkQgaWQgPSA/IAogICAgICAgICAgICAgIEFORCBzdGF0dXMgTk9UIElOICgnLmNnZV9hcnJheTo6aW1wbG9kZV9xdW90ZWQoJGtleXMpLicpJzsKICAgICR0bXAgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydqb2JpZCddKSk7CiAgfQoKICAvLyBkaWQgd2UgZ2V0IGEgam9iPwogIGlmKCAhJHRtcCApIHsKICAgIHJldHVybjsKICB9CgogIC8vIHdlIGhhdmUgYSBqb2IgdG8gcGxheSB3aXRoLgogIC8vIGdldCB0aGUgam9iCiAgJGpvYiA9IGNnam9ibWdyX2pvYjo6bG9hZF9mcm9tX2RhdGEoJHRtcCk7CiAgJGpvYi0+bG9jaygpOwoKICBhdWRpdCgkam9iLT5pZCwkdGhpcy0+R2V0TmFtZSgpLCdQcm9jZXNzaW5nIEpvYiAnLiRqb2ItPm5hbWUpOwoKICBpZiggIWlzc2V0KCRwYXJhbXNbJ3J1bmNvdW50J10pICkgewogICAgJGpvYi0+c2V0X3BlcnNpc3RlbnRfdmFsdWUoJ19fTlVNX0FVVE9UQVNLX0lURVJBVElPTlNfXycsMCk7CiAgfQogIAogIC8vIGdldCBvdXIgaGFuZGxlci4KICAkam9ibWdyID0gbmV3IGNnam9ibWdyX2F1dG9oYW5kbGVyKCRqb2IpOwoKICAvLyBzZXQgc29tZSBzdHVmZiBpbnRvIHRoZSBqb2IgbWFuYWdlci4uLiBtYXliZSB0aW1lIGxpbWl0cywgbm90aWZpY2F0aW9uIHJ1bGVzLCBldGMuCiAgJGpvYm1nci0+c2V0X3ZhbHVlKCdpdGVyYXRpdmVfc2xhY2snLCRpdGVyYXRpdmVfc2xhY2spOwogICRqb2JtZ3ItPnNldF92YWx1ZSgnbWF4X3RpbWUnLCRqb2JfdGltZW91dCk7CgogIC8vIHRoZW4gZG8gdGhlIHdvcmsuCiAgJHN0YXR1cyA9ICRqb2JtZ3ItPnByb2Nlc3MoKTsKCiAgLy8gdGhpcyB3aWxsIGRvIHRoZSBjaGVjayB0byBzZWUgaWYgd2UgY2FuIGl0ZXJhdGUgdmlhIGEgcmVkaXJlY3QuCiAgLy8gdG8gcHJldmVudCB0aGUgYnJvd3NlciBjb21wbGFpbmluZyBhYm91dCBhIHJlZGlyZWN0IGxvb3AuCiAgLy8gdGhpcyBudW1iZXIgY2FuIGJlIGxhcmdlciwgaWYgdGhlIG1heGltdW0gdGltZW91dCBpcyBsYXJnZXIuCiAgJGNhbl9pdGVyYXRlID0gJGpvYi0+Z2V0X2l0ZXJhdGVfZmxhZygpOwogICRpdGVyID0gMDsKICBpZiggJGNhbl9pdGVyYXRlICkgewogICAgJG1heF9hdXRvdGFza19pdGVyYXRpb25zID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9hdXRvdGFza19pdGVyYXRpb25zJywxMCk7CiAgICAkbWF4X2F1dG90YXNrX2l0ZXJhdGlvbnMgPSBtaW4oMjAsbWF4KDEsJG1heF9hdXRvdGFza19pdGVyYXRpb25zKSk7CiAgICAkaXRlciA9ICRqb2ItPmdldF9wZXJzaXN0ZW50X3ZhbHVlKCdfX05VTV9BVVRPVEFTS19JVEVSQVRJT05TX18nLDApOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3J1bmNvdW50J10pICkgewogICAgICAvLyB3ZSBhcmUgaGVyZSB2aWEgYSBpdGVyYXRpb24gcmVkaXJlY3QuCiAgICAgICRpdGVyKys7CiAgICAgIGlmKCAkaXRlciA+ICRtYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucyApCgl7CgkgIGF1ZGl0KCRqb2ItPmdldF9pZCgpLCR0aGlzLT5HZXROYW1lKCksJ3JlYWNoZWQgJy4kaXRlci4nIGl0ZXJhdGlvbnMuLi4gbXVzdCB3YWl0IGZvciBjcm9uIGpvYiB0byByZXN0YXJ0IHRoaXMgam9iJyk7CgkgICRjYW5faXRlcmF0ZSA9IEZBTFNFOwoJICAkaXRlciA9IDA7Cgl9CiAgICAgICRqb2ItPnNldF9wZXJzaXN0ZW50X3ZhbHVlKCdfX05VTV9BVVRPVEFTS19JVEVSQVRJT05TX18nLCRpdGVyKTsKICAgIH0KICB9CiAgCiAgLy8gc2F2ZSB0aGUgam9iCiAgJGpvYi0+c2F2ZSgpOwoKICAvLyBhcmUgd2UgZG9uZSwgb3IgZG8gd2UgaGF2ZSB0byByZWRpcmVjdD8KICBpZiggaW5fYXJyYXkoJGpvYi0+Z2V0X3N0YXR1cygpLCRrZXlzKSB8fCAhJGNhbl9pdGVyYXRlICkKICAgIHsKICAgICAgLy8gam9iIGlzIGZpbmlzaGVkIChvciBzdG9wcGVkIGZvciBzb21lIHJlYXNvbikKICAgICAgJGpvYi0+dW5sb2NrKCk7CiAgICB9CiAgZWxzZQogICAgewogICAgICAvLyBpZiB0aGUgam9iIGlzIG5vdCBkb25lLi4uIHdlIGhhdmUgdG8gcmVkaXJlY3Qgc29tZXdoZXJlLgogICAgICAkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAgICRyZXR1cm5pZCA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOyAvLyBjaGFuZ2UgbWUsIHVzZSBwYWdlIGluIHByZWZlcmVuY2VzLgoKICAgICAgLy8gdGhlIHJlcGVhdCBwcm9jZXNzLi4gaXMganVzdCBzbyB3ZSBkb250JyBnZXQgdG9vIG1hbnkgcmVkaXJlY3RzLgogICAgICAkdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdwcm9jZXNzJywkcmV0dXJuaWQsYXJyYXkoJ3Nob3d0ZW1wbGF0ZSc9PidmYWxzZScsJ3J1bmNvdW50Jz0+JGl0ZXIsJ2pvYmlkJz0+JGpvYi0+Z2V0X2lkKCkpKTsKICAgICAgJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR1cmwpOwogICAgICByZWRpcmVjdCgkdXJsKTsKICAgIH0KfQpjYXRjaCggRXhjZXB0aW9uICRlICkKewogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0V4Y2VwdGlvbjogJy4kZS0+Z2V0TWVzc2FnZSgpKTsKfQoKZXhpdDsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/CGJobMgr.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKJGNnZXh0ZW5zaW9ucyA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLAoJCQkgICAgICAnQ0dFeHRlbnNpb25zJywnQ0dFeHRlbnNpb25zLm1vZHVsZS5waHAnKTsKaWYoICFpc19yZWFkYWJsZSggJGNnZXh0ZW5zaW9ucyApICkKewogIGVjaG8gJzxoMT48Zm9udCBjb2xvcj0icmVkIj5FUlJPUjogVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kLjwvZm9udD48L2gxPic7CiAgcmV0dXJuOwp9CnJlcXVpcmVfb25jZSgkY2dleHRlbnNpb25zKTsKCmNsYXNzIENHSm9iTWdyIGV4dGVuZHMgQ0dFeHRlbnNpb25zCnsKICBwcml2YXRlICRfc3RhdHM7CgogIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKQogIHsKICAgICR0aGlzLT5BZGRJbWFnZURpcignaWNvbnMnKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogIHsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdydW5jb3VudCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdqb2JpZCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+R2V0TmFtZSgpLidcL3Byb2Nlc3MkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J3Byb2Nlc3MnLAoJCQkgICAgICAgJ3Nob3d0ZW1wbGF0ZSc9PidmYWxzZScpKTsKICB9CgogIGZ1bmN0aW9uIEdldE5hbWUoKSB7CiAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzKTsKICB9CgogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQogIAogIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7CiAgICByZXR1cm4gJzEuMi4xMCc7CiAgfQoKICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7CiAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucyc9PicxLjMwJyk7CiAgfQoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsKICAgIHJldHVybiAnMS4xMS4xJzsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnc2l0ZWFkbWluJzsgfQoKICBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgewogICAgcmV0dXJuIFRSVUU7CiAgfQoKICBmdW5jdGlvbiBHZXRIZWxwKCkgewogICAgcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2hlbHAuaW5jJyk7CiAgfQogIAogIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMCc7CiAgfQogIAogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGdtYWlsLmNvbSc7CiAgfQogIAogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsKICAgIHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaHRtbC5pbmMnKTsKICB9CgogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KICAKICBmdW5jdGlvbiBIYXNBZG1pbigpIHsKICAgIHJldHVybiB0cnVlOwogIH0KICAKICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEpvYnMnKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOwogIH0KICAKICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzICgpIHsKICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKICB9CgogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKICBmdW5jdGlvbiBHZXRFdmVudEhlbHAoICRldmVudG5hbWUgKSB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHBfZXZlbnRfJy4kZXZlbnRuYW1lKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBTZXRTdGF0cygkc3RhdHMpIHsKICAgICR0aGlzLT5fc3RhdHMgPSAkc3RhdHM7CiAgfQoKICAvKioKICAgKiBHZXQgUnVuIFN0YXRpc3RpY3MKICAgKgogICAqIEBpZ25vcmUKICAgKiBAaW50ZXJuYWwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gR2V0U3RhdHMoKQogIHsKICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X3N0YXRzKSApIHJldHVybiAkdGhpcy0+X3N0YXRzOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/changelog.html.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT5WZXJzaW9uIDEuMCAtLSBBcHJpbCAyMDExIC0tIEluaXRpYWwgUmVsZWFzZTwvbGk+CiAgPGxpPlZlcnNpb24gMS4xIC0tIE1heSAyMDExCiAgICA8dWw+CiAgICAgICA8bGk+QWRkZWQgYSBuZXcgcHJlZmVyZW5jZSBmb3IgbWF4aW11bSBpdGVyYXRpb25zLjwvbGk+CiAgICAgICA8bGk+UmVtb3ZlZCBwb3NzaWJpbGl0eSBvZiByZWRpcmVjdGlvbiBsb29wIGVycm9ycyB3aXRoIGF1dG9tYXRlZCB0YXNrcy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMgogICAgPHVsPlNpZ25pZmljYW50IGVuaGFuY2VtZW50cyB0byBqb2IgcHJvZWNlc3NpbmcuPC91bD4KICAgIDx1bD5BZGRzIHRoZSBhYmlsaXR5IHRvIHBhdXNlIGFuZCByZXN1bWUgam9icy48L3VsPgogICAgPHVsPkFkZHMgZXZlbnRzIGFuZCBzaWduaWZpY2FudCBhdWRpdGluZy48L3VsPgogICAgPHVsPkFkZHMgcHJpbWl0aXZlIG1ldGhvZCBmb3IgaGFuZGxpbmcgc3R1Y2sgam9icy48L3VsPgogIDwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_jobstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEpvYnMnKSApIGV4aXQ7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnam9ibWdyIE9SREVSIEJZIG1vZGlmaWVkIERFU0MnOwokam9icyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKJHVzZXJvcHMgPSBjbXNtcygpLT5HZXRVc2VyT3BlcmF0aW9ucygpOwokdXNlcmNhY2hlID0gYXJyYXkoKTsKCmlmKCAkam9icyApIAogIHsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRqb2JzKTsgJGkrKyApCiAgICAgIHsKCWlmKCBpc3NldCgkam9ic1skaV1bJ293bmVyJ10pICYmICRqb2JzWyRpXVsnb3duZXInXSA+IDAgKQoJICB7CgkgICAgJHVpZCA9ICRqb2JzWyRpXVsnb3duZXInXTsKCSAgICBpZiggIWlzc2V0KCR1c2VyY2FjaGVbJHVpZF0pICkKCSAgICAgIHsKCQkkdXNlciA9ICR1c2Vyb3BzLT5Mb2FkVXNlckJ5SWQoJHVpZCk7CgkJaWYoIGlzX29iamVjdCgkdXNlcikgKQoJCSAgewoJCSAgICAkdXNlcmNhY2hlWyR1aWRdID0gJHVzZXItPnVzZXJuYW1lOwoJCSAgfQoJICAgICAgfQoJICAgIGlmKCBpc3NldCgkdXNlcmNhY2hlWyR1aWRdKSApCgkgICAgICB7CgkJJGpvYnNbJGldWydvd25lcl9uYW1lJ10gPSAkdXNlcmNhY2hlWyR1aWRdOwoJICAgICAgfQoJICB9CglpZiggaW5fYXJyYXkoJGpvYnNbJGldWydzdGF0dXMnXSxhcnJheShjZ2pvYm1ncl9qb2I6OlNUQVRVU19JTlBST0dSRVNTLGNnam9ibWdyX2pvYjo6U1RBVFVTX0NPTVBMRVRJTkcpKSB8fAoJICAgICgkam9ic1skaV1bJ3JlY3VyX2ludGVydmFsJ10gPiAwICYmICRqb2JzWyRpXVsnc3RhdHVzJ10gIT0gY2dqb2JtZ3Jfam9iOjpTVEFUVVNfUEFVU0VEKSApIHsKCgkgICAgJGpvYnNbJGldWydwYXVzZV9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fcGF1c2Vqb2InLCcnLAoJCQkJCQkJICAgICAkdGhpcy0+TGFuZygncGF1c2UnKSwKCQkJCQkJCSAgICAgJ2NvbnRyb2xfcGF1c2VfYmx1ZS5wbmcnLAoJCQkJCQkJICAgICBhcnJheSgnam9iaWQnPT4kam9ic1skaV1bJ2lkJ10sJ3BhdXNlJz0+MSksCgkJCQkJCQkgICAgICcnLCR0aGlzLT5MYW5nKCdjb25maXJtX3BhdXNlJykpOwoJfQoJZWxzZSBpZiggJGpvYnNbJGldWydzdGF0dXMnXSA9PSBjZ2pvYm1ncl9qb2I6OlNUQVRVU19QQVVTRUQgKSB7CgkgICAgJGpvYnNbJGldWydwYXVzZV9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fcGF1c2Vqb2InLCcnLAoJCQkJCQkJICAgICAkdGhpcy0+TGFuZygncmVzdW1lJyksCgkJCQkJCQkgICAgICdjb250cm9sX3BsYXlfYmx1ZS5wbmcnLAoJCQkJCQkJICAgICBhcnJheSgnam9iaWQnPT4kam9ic1skaV1bJ2lkJ10sJ3BhdXNlJz0+MCksCgkJCQkJCQkgICAgICcnLCR0aGlzLT5MYW5nKCdjb25maXJtX3VucGF1c2UnKSk7Cgl9CglpZiggIWluX2FycmF5KCRqb2JzWyRpXVsnc3RhdHVzJ10sYXJyYXkoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfSU5QUk9HUkVTUyxjZ2pvYm1ncl9qb2I6OlNUQVRVU19DT01QTEVUSU5HKSkgKQoJICB7CgkgICAgJGpvYnNbJGldWydkZWxldGVfbGluayddID0gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2RlbGV0ZWpvYicsJycsCgkJCQkJCQkgICAgICAkdGhpcy0+TGFuZygnZGVsZXRlJyksCgkJCQkJCQkgICAgICAnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJCQkJCQkJICAgICAgYXJyYXkoJ2pvYmlkJz0+JGpvYnNbJGldWydpZCddKSwKCQkJCQkJCSAgICAgICcnLCR0aGlzLT5MYW5nKCdjb25maXJtX2RlbGV0ZScpKTsKCSAgfQogICAgICB9CiAgICAkc21hcnR5LT5hc3NpZ24oJ2pvYnMnLCRqb2JzKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ2xpbmtfZGVsZXRlZmluaXNoZWQnLAoJCSR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl9kZWxldGVmaW5pc2hlZCcsJHJldHVybmlkLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfZGVsZXRlZmluaXNoZWQnKSwKCQkJCSAgICAgICAnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJCQkJICAgICAgIGFycmF5KCksJycsCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2NvbmZpcm1fZGVsZXRlZmluaXNoZWQnKSwKCQkJCSAgICAgICBmYWxzZSkpOwoJCQkJICAgICAgIAplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2pvYnN0YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_notifications_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2V0X25vdGlmaWNhdGlvbnMnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignbm90aWZpY2F0aW9uX2dyb3VwcycsdW5zZXJpYWxpemUoJHRoaXMtPkdldFByZWZlcmVuY2UoJ25vdGlmaWNhdGlvbl9ncm91cHMnKSkpOwokc21hcnR5LT5hc3NpZ24oJ25vdGlmaWNhdGlvbl9zdGF0dXMnLHVuc2VyaWFsaXplKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fc3RhdHVzJykpKTsKCiRzdGF0dXNlcyA9IGFycmF5KCk7CiRzdGF0dXNlc1tjZ2pvYm1ncl9qb2I6OlNUQVRVU19FUlJPUl0gPSAkdGhpcy0+TGFuZygnZXJyb3InKTsKJHN0YXR1c2VzW2Nnam9ibWdyX2pvYjo6U1RBVFVTX0ZJTklTSEVEXSA9ICR0aGlzLT5MYW5nKCdmaW5pc2hlZCcpOwokc3RhdHVzZXNbY2dqb2JtZ3Jfam9iOjpTVEFUVVNfQUJPUlRFRF0gPSAkdGhpcy0+TGFuZygnYWJvcnRlZCcpOwokc3RhdHVzZXNbY2dqb2JtZ3Jfam9iOjpTVEFUVVNfUEFVU0VEXSA9ICR0aGlzLT5MYW5nKCdwYXVzZWQnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXNlcycsJHN0YXR1c2VzKTsKCiRvcHMgPSBjbXNtcygpLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsKJGdyb3VwcyA9ICRvcHMtPkxvYWRHcm91cHMoKTsKJG91dCA9IGFycmF5KCk7CmZvcmVhY2goICRncm91cHMgYXMgJG9uZWdyb3VwICkgewogIGlmKCAhJG9uZWdyb3VwLT5hY3RpdmUgKSBjb250aW51ZTsKICAkb3V0WyRvbmVncm91cC0+aWRdID0gJG9uZWdyb3VwLT5uYW1lOwp9CiRzbWFydHktPmFzc2lnbignYWRtaW5ncm91cHMnLCRvdXQpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9ub3RpZmljYXRpb25zX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_settingstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7CgokY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwokZGZsdF9wYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RmbHRfcGFnZScsJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCkpOwoKJHVybCA9ICR0aGlzLT5jcmVhdGVfdXJsKCdjbnRudDAxJywncHJvY2VzcycsJGRmbHRfcGFnZSxhcnJheSgpLGZhbHNlLGZhbHNlLCR0aGlzLT5HZXRuYW1lKCkuJy9wcm9jZXNzJyk7CiRzbWFydHktPmFzc2lnbigncHJvY2Vzc191cmwnLCR1cmwpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZXNldHRpbmdzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RmbHRwYWdlJywkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJGRmbHRfcGFnZSwkaWQuJ2RmbHRwYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2Nyb25qb2JfaW50ZXJ2YWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcm9uam9iX2ludGVydmFsJykpOwokc21hcnR5LT5hc3NpZ24oJ2VzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCcsMTApKTsKJHNtYXJ0eS0+YXNzaWduKCd0aW1lb3V0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFza190aW1lb3V0JykpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZXJhdGl2ZV9zbGFjaycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZXJhdGl2ZV9zbGFjaycpKTsKJHNtYXJ0eS0+YXNzaWduKCdtYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9hdXRvdGFza19pdGVyYXRpb25zJywxMCkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zZXR0aW5nc3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoZXJlIGFyZSBvZnRlbiB0aW1lcyBvbiB3ZWJzaXRlcyB3aGVyZSB0YXNrcyB0aGF0IG1heSB0YWtlIGEgY29uc2lkZXJhYmxlIGFtb3VudCBvZiB0aW1lIG5lZWQgdG8gYmUgYXV0b21hdGVkLiAgRm9yIGV4YW1wbGUsIHNlbmRpbmcgb3V0IGFuIGVtYWlsIG5ld3NsZXR0ZXIsIGltcG9ydGluZyByZWNvcmRzIGZyb20gYSBDU1YgZmlsZSwgb3IgcmVxdWVzdGluZyBsYXJnZSBhbW91bnRzIG9mIGRhdGEgZnJvbSBhIHJlbW90ZSBzZXJ2aWNlLiAgIFBIUCAocGVydGljdWxhcmx5IG9uIGhvc3RlZCB3ZWJzaXRlcykgZG9lcyBub3QgbGlrZSB0byBydW4gZm9yIGxvbmcgcGVyaW9kcyBvZiB0aW1lLiAgVGhpcyBtb2R1bGUgYWxsb3dzIGEgZGV2ZWxvcGVyIHRvIGNyZWF0ZSAmcXVvdDtqb2JzJnF1b3Q7IGNvbnNpc3Rpbmcgb2Ygb25lIG9yIG1vcmUgJnF1b3Q7dGFza3MmcXVvdDsgdGhhdCBhcmUgaGFuZGxlZCBieSBhbiBodHRwIHJlcXVlc3QgdGhhdCBjYW4gYmUgaGFuZGxlZCBpbiB0aGUgYmFja2dyb3VuZCBhdXRvbWF0aWNhbGx5LjxwPgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYW4gQVBJIHRoYXQgYWxsb3dzIG90aGVyIG1vZHVsZSBkZXZlbG9wZXJzIHRvIGNyZWF0ZSBqb2JzLiAgRnJvbSBhIHVzZXIgcGVyc3BlY3RpdmUgeW91IG1lcmVseSBuZWVkIHRvIGZvbGxvdyB0d28gc3RlcHM6PC9wPgo8b2w+CiAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgbW9kdWxlLjwvbGk+CiAgPGxpPkNvbmZpZ3VyZSBhIHNjaGVkdWxlZCB0YXNrIHRvIGFjY2VzcyB0aGUgc3VwcGxpZWQgcHJvY2VzcyB1cmwgb24gYSByZWd1bGFyLCBmcmVxdWVudCBiYXNpcyA8ZW0+KGEgY3JvbiBqb2Igd29ya3MgZ3JlYXQgZm9yIHRoaXMpPC9lbT4KPC9vbD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgogIDxsaT5UaGUgQVBJIGFsbG93cyBmb3IgY3JlYXRpbmcgc3RhcnR1cCBhbmQgZmluaXNoIGpvYnMuLi48L2xpPgogIDxsaT5BbiBpdGVyYXRpdmUgdGFzayB0eXBlIHRoYXQgd2lsbCBydW4gc21hbGwgc3RlcHMgKHN1Y2ggYXMgY29udmVydGluZyBvbmUgbGluZSBvZiBhIENTViBmaWxlKSB1bnRpbCB0aGUgYWxsb3dlZCB0aW1lIGlzIG5lYXJseSBleGhhdXN0ZWQ8L2xpPgogIDxsaT5BIFNpbXBsZSB0YXNrIHR5cGUgdGhhdCBydW5zIG9uY2UgYW5kIGlzIGV4cGVjdGVkIHRvIGNvbXBsZXRlLjwvbGk+CiAgPGxpPkV4dGVuc2l2ZSBsb2dnaW5nIHRvIHRoZSBhZG1pbiBsb2c8L2xJPgogIDxsaT5Kb2JzIGFyZSBzdGFydGVkIGJ5IHRoZSBwcm9jZXNzIGFjdGlvbiAoYWNjZXNzZWQgdmlhIHRoZSBwcm9jZXNzIHVybCBwcm92aWRlZCBpbiB0aGUgYWRtaW4gaW50ZXJmYWNlLCBvbmUgam9iIHBlciByZXF1ZXN0KSB0aGVuIGNvbXBsZXRlIHVudGlsIGZpbmlzaGVkZSB2aWEgY29udGludWVkIHJlZGlyZWN0c3cgYmFjayB0byB0aGUgcHJvY2VzcyBhY3Rpb24uICBUaGVyZWZvcmUgam9icyB3aWxsIGNvbXBsZXRlIGZhc3Rlci48L2xpPgogIDxsaT5TbWFsbCBhbW91bnRzIG9mIGRhdGEgY2FuIGJlIGF0dGFjaGVkIHRvIHRoZSBqb2IsIGFuZCB0byBpbmRpdmlkdWFsIHRhc2tzIHRoYXQgaXMgc2VyaWFsaXplZCBhbmQgc3RvcmVkIHdpdGggdGhlIGpvYiBpbiB0aGUgZGF0YWJhc2UuICBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGluZm9ybWF0aW9uIHN1Y2ggYXMgZmlsZW5hbWVzLCB0aW1lIGxpbWl0cywgbm90aWZpY2F0aW9uIGFkZHJlc3NlcyBldGMuIHRvIHRoZSB0YXNrIGZ1bmN0aW9ucy48L2xpPgo8L3VsPgo8aDM+QXV0b21hdGljIFByb2Nlc3Npbmc8L2gzPgo8cD5UaG91Z2ggdGhlIENHSm9iTWdyIG1vZHVsZSBwcm92aWRlcyBhIGxpbmsgaW4gaXRzIGFkbWluIHBhbmVsIHRvIHByb2Nlc3MgdGhlIG5leHQgam9iLCBpdCBpcyBiZXN0IGlmIHRoaXMgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IG9uIGEgZnJlcXVlbnQgYmFzaXMuICBUaGVyZSBhcmUgbnVtZXJvdXMgd2F5cyB0aGF0IHRoaXMgY2FuIGJlIGRvbmUuPC9wPgo8cD5Nb3N0IHdlYmhvc3RzIHByb3ZpZGUgYSBjb250cm9sIHBhbmVsIHRoYXQgaGFzIGFuIG9wdGlvbiBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIHNjaGVkdWxlZCB0YXNrcyAoc3R1ZmYgdGhhdCB5b3Ugd2FudCB0byBkbyBvbiBhIHJlZ3VsYXIgYmFzaXMpLiAgSWYgbm90LCBhbmQgeW91IGhhdmUgYWNjZXNzIHRvIGEgdGFzayBtYW5hZ2VyIG9uIGFub3RoZXIgbWFjaGluZSB0aGF0IGlzIGludGVybmV0IGVuYWJsZWQgeW91IGNhbiBjcmVhdGUgYSBzY2hlZHVsZWQgdGFzayB0aGVyZS48L3A+CjxwPkxpbnV4L1VuaXggYmFzZWQgbWFjaGluZXMgaGF2ZSBhIGJ1aWx0IGluIG1lY2hhbmlzbSBjYWxsZWQgJnF1b3Q7Y3JvbiZxdW90OyBCZWxvdyBpcyBhIHNhbXBsZSBqb2IgdGhhdCBpcyBleGVjdXRlZCBldmVyeSAxMCBtaW51dGVzLCBhbmQgdXNlcyB3Z2V0IHRvIHRyaWdnZXIgdGhlIHByb2Nlc3NpbmcgYW5kIGRpc3JlZ2FyZCBpdHMgb3V0cHV0Ljxici8+PGJyLz48L3A+Cjxjb2RlIHN0eWxlPSJtYXJnaW4tbGVmdDogNGVtOyBtYXJnaW4tcmlnaHQ6IDRlbTsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBwYWRkaW5nOiAxZW07Ij4KKi8xMCAqICogKiAqIHdnZXQgLU8gL2Rldi9udWxsIGh0dHA6Ly9teXNpdGUuY29tL0NHSm9iTWdyL3Byb2Nlc3MgPi9kZXYvbnVsbCAyPiYxCjwvY29kZT4KPGgzPkFQSTwvaDM+CjxwPk51bWVyb3VzIFBIUCBjbGFzc2VzIGRlZmluZSB0aGUgQVBJIGZvciBjcmVhdGluZyBqb2JzLCB0aGVpciB0YXNrcywgYW5kIHRoZW4gc3VibWl0dGluZyB0aGVtIHRvIHRoZSBqb2IgbWFuYWdlci4gICBUaGUgY2xhc3NlcyBhcmUgZnVsbHkgZG9jdW1lbnRlZCBpbiB0aGVpciBhcHByb3ByaWF0ZSBQSFAgZmlsZXMuICBUaGUgZmlsZXMgYXJlIGFzIGZvbGxvd3M6PC9wPgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyB3aWR0aDogNzUlOyI+CiA8dGhlYWQ+CiAgPHRyPgogICAgPHRoPkNsYXNzPC90aD4KICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+CiAgICA8dGg+RmlsZW5hbWU8L3RoPgogIDwvdHI+CiA8L3RoZWFkPgogPHRib2R5PgogICA8dHI+CiAgICAgPHRkPmNnam9ibWdyX2pvYjwvdGQ+CiAgICAgPHRkPlRoZSBqb2IgY2xhc3M8L3RkPgogICAgIDx0ZD5saWIvY2xhc3MuY2dqb2JtZ3Jfam9iLnBocDwvdGQ+CiAgIDwvdHI+CiAgIDx0cj4KICAgICA8dGQ+Y2dqb2JtZ3JfdGFzazwvdGQ+CiAgICAgPHRkPkFic3RyYWN0IGJhc2UgY2xhc3M8L3RkPgogICAgIDx0ZD5saWIvY2xhc3MuY2dqb2JtZ3JfdGFzay5waHA8L3RkPgogICA8L3RyPgogICA8dHI+CiAgICAgPHRkPmNnam9ibWdyX3NpbXBsZXRhc2s8L3RkPgogICAgIDx0ZD5BIHNpbXBsZSAmcXVvdDtydW4gb25jZSZxdW90OyB0YXNrPC90ZD4KICAgICA8dGQ+bGliL2NsYXNzLmNnam9ibWdyX3NpbXBsZXRhc2sucGhwPC90ZD4KICAgPC90cj4KICAgPHRyPgogICAgIDx0ZD5jZ2pvYm1ncl9pdGVyYXRpdmV0YXNrPC90ZD4KICAgICA8dGQ+QSB0YXNrIHRoYXQgd2lsbCBydW4gc21hbGwgc3RlcHMgKGkuZTogcHJvY2VzcyBvbmUgbGluZSBvZiBhIENTViBmaWxlKSB1bnRpbCBhbGxvdHRlZCB0aW1lIGlzIGNsb3NlIHRvIGV4cGlyeS48L3RkPgogICAgIDx0ZD5saWIvY2xhc3MuY2dqb2JtZ3JfaXRlcmF0aXZldGFzay5waHA8L3RkPgogICA8L3RyPgogICA8dHI+CiAgICAgPHRkPmNnam9ibWdyX2pvYmhhbmRsZXI8L3RkPgogICAgIDx0ZD5BbiBhYnN0cmFjdCBzaW5nbGV0b24gY2xhc3MgdGhhdCBwcm92aWRlcyB0aGUgaW50ZXJmYWNlIGZvciBkaWZmZXJlbnQgam9iIGhhbmRsZXJzLjwvdGQ+CiAgICAgPHRkPmxpYi9jbGFzcy5jZ2pvYm1ncl9qb2JoYW5kbGVyLnBocDwvdGQ+CiAgIDwvdHI+CiA8L3Rib2R5Pgo8L3RhYmxlPgo8aDM+RXhhbXBsZTo8L2gzPgo8cD5UaGUgZm9sbG93aW5nIGNvZGUgaXMgYSBtYXJrZWQgdXAgY29weSBvZiB0aGUgY29kZSBmcm9tIHRoZSBDR1JhcExlYWYgbW9kdWxlIHRoYXQgc3VibWl0cyB0aGUgam9iLjwvcD4KPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6IDRlbTsgbWFyZ2luLXJpZ2h0OiA0ZW07IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiPjxjb2RlPi8vIENyZWF0ZSBhIG5ldyBqb2IsIGdpdmUgaXQgYSBuYW1lLCBhbmQgc3BlY2lmeSB3aG8gb3ducyBpdAokam9iID0gbmV3IGNnam9ibWdyX2pvYigkdGhpcy0+R2V0TmFtZSgpLicgYnVsayBzdWJtaXNzaW9uJyxnZXRfdXNlcmlkKEZBTFNFKSk7CgovLyBDcmVhdGUgYSBuZXcgJnF1b3Q7aXRlcmF0aXZlJnF1b3Q7IHRhc2sgdGhhdCB3aWxsIHJlcGVhdCBhIHNtYWxsIHN0ZXAgdW50aWwgdGhlcmUgaXMgbm8gdGltZSBsZWZ0CiR0YXNrID0gbmV3IGNnam9ibWdyX2l0ZXJhdGl2ZXRhc2soJ3Byb2Nlc3MgZW1haWwgYWRkcmVzcycpOwoKLy8gU3BlY2lmeSB3aGljaCBmdW5jdGlvbiB0aGlzIHRhc2sgd2lsbCBjYWxsIHRvIGFjdHVhbGx5IGRvIHRoZSB3b3JrCiR0YXNrLT5zZXRfZnVuY3Rpb24oYXJyYXkoJ2NncmFwbGVhZl90YXNrJywncHJvY2Vzc190YXNrJykpOwoKLy8gUHJvdmlkZSBzb21lIGRhdGEgdG8gdGhlIHRhc2sKJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2lucHV0X2ZpbGUnLCRpbmZpbGUpOwokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnb3V0cHV0X2ZpbGUnLCRvdXRmaWxlKTsKJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2xvZ2ZpbGUnLCRsb2dmaWxlKTsKJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2NvbHVtbicsJGNvbHVtbik7CiR0YXNrLT5zZXRfcGVyc2lzdGVudF9kYXRhKCdkZWxpbWV0ZXInLCRkZWxpbWl0ZXIpOwoKLy8gQWRkIHRoZSB0YXNrIHRvIHRoZSBqb2IKJGpvYi0+YWRkX3Rhc2soJHRhc2spOwoKLy8gQ3JlYXRlIGFub3RoZXIgdGFzay4uLiBhIHNpbXBsZSBydW4tb25jZSB0YXNrCiR0YXNrID0gbmV3IGNnam9ibWdyX3NpbXBsZXRhc2soJ3NlbmQgcmVzdWx0Jyk7CiR0YXNrLT5zZXRfZnVuY3Rpb24oYXJyYXkoJ2NncmFwbGVhZl90YXNrJywnbm90aWZ5JykpOwoKLy8gQWRkIHNvbWUgZGF0YSBpbnRvIHRoaXMgdGFzawokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnaW5wdXRfZmlsZScsJGluZmlsZSk7CiR0YXNrLT5zZXRfcGVyc2lzdGVudF9kYXRhKCdvdXRwdXRfZmlsZScsJG91dGZpbGUpOwokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnbG9nZmlsZScsJGxvZ2ZpbGUpOwokdGFzay0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnZGVzdF9lbWFpbCcsJGVtYWlsKTsKCi8vIEFkZCB0aGUgdGFzayB0byB0aGUgam9iCiRqb2ItPmFkZF90YXNrKCR0YXNrKTsKCi8vIFNhdmUgdGhlIGpvYiBpbnRvIHRoZSBkYXRhYmFzZS4uLiBpdCB3aWxsIHJ1biBhdXRvbWF0aWNhbGx5IHRoZSBuZXh0IHRpbWUgdGhlIHByb2Nlc2luZyB1cmwgaXMgYWNjZXNzZWQuCiRqb2ItPnNhdmUoKTsKPC9jb2RlPjwvcHJlPjxici8+CjxoND5UYXNrIGZ1bmN0aW9uczo8L2g0Pgo8cD5UYXNrIGZ1bmN0aW9ucyBtYXkgYmUgc2ltcGxlIFBIUCBmdW5jdGlvbnMsIG9yIHN0YXRpYyBtZW1iZXJzIG9mIGEgcGhwIGNsYXNzLiAgVGhleSBhY2NlcHQgYSBjZ2pvYm1ncl90YXNrIHJlZmVyZW5jZSBhcyB0aGVpciBzaW5nbGUgcGFyYW1ldGVyLiAgVGhleSBhcmUgZXhwZWN0ZWQgdG8gcmV0dXJuIGEgY2dqb2JtZ3JfdGFzayBzdGF0dXMuICBpLmU6PC9wPgo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDogNGVtOyBtYXJnaW4tcmlnaHQ6IDRlbTsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+PGNvZGU+CmNsYXNzIGNncmFwbGVhZl90YXNrCnsKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG5vdGlmeShjZ2pvYm1ncl90YXNrJiAkdGFzaykKICB7CiAgICAkZGVzdF9lbWFpbCA9ICR0YXNrLT5nZXRfcGVyc2lzdGVudF9kYXRhKCdkZXN0X2VtYWlsJyk7CiAgICAkb3V0ZmlsZSA9ICR0YXNrLT5nZXRfcGVyc2lzdGVudF9kYXRhKCdvdXRwdXRfZmlsZScpOwoKICAgIGlmKCAhJGRlc3RfZW1haWwgKQogICAgICB7CglhdWRpdCgnJywnY2dyYXBsZWFmX3Rhc2snLCdObyBkZXN0aW5hdGlvbiBlbWFpbCBzcGVjaWZpZWQnKTsKCXJldHVybiBjZ2pvYm1ncl90YXNrOjpTVEFUVVNfRVJST1I7CiAgICAgIH0KICAgICR0b19hZGRycyA9IGNnZV9hcnJheTo6c21hcnRfZXhwbG9kZSgkZGVzdF9lbWFpbCk7CiAgICBpZiggIWlzX2FycmF5KCR0b19hZGRycykgfHwgY291bnQoJHRvX2FkZHJzKSA9PSAwICkKICAgICAgewoJYXVkaXQoJycsJ2NncmFwbGVhZl90YXNrJywnQ291bGQgbm90IGZpbmQgYSBkZXN0aW5hdGlvbiBlbWFpbCBhZGRyZXNzJyk7CglyZXR1cm4gY2dqb2JtZ3JfdGFzazo6U1RBVFVTX0VSUk9SOwogICAgICB9CgogICAgaWYoICEkb3V0ZmlsZSB8fCAhZmlsZV9leGlzdHMoJG91dGZpbGUpICkKICAgICAgewoJYXVkaXQoJycsJ2NncmFwbGVhZl90YXNrJywnQ291bGQgbm90IGZpbmQgb3V0cHV0IGZpbGUnKTsKCXJldHVybiBjZ2pvYm1ncl90YXNrOjpTVEFUVVNfRVJST1I7CiAgICAgIH0KICAgICRvdXR0eXBlID0gY2dlX3V0aWxzOjpnZXRfbWltZV90eXBlKCRvdXRmaWxlKTsKICAgICRyYXBsZWFmID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1JhcExlYWYnKTsKICAgICRjbXNtYWlsZXIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU01haWxlcicpOwogICAgJGNtc21haWxlci0+cmVzZXQoKTsKICAgICRudW1fdG8gPSAwOwogICAgZm9yZWFjaCggJHRvX2FkZHJzIGFzICRvbmUgKQogICAgICB7CglpZiggIWlzX2VtYWlsKCRvbmUpICkgY29udGludWU7CgkkbnVtX3RvKys7CgkkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCRvbmUpOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRyYXBsZWFmLT5MYW5nKCdidWxrZW1haWxfc3ViamVjdCcpKTsKICAgICRjbXNtYWlsZXItPkFkZEF0dGFjaG1lbnQoICRvdXRmaWxlLCAncmFwbGVhZi5jc3YnLCAnYmFzZTY0JywgJG91dHR5cGUgKTsKICAgIGlmKCAkbG9nZmlsZSAmJiBmaWxlX2V4aXN0cygkbG9nZmlsZSkgKQogICAgICB7CgkkY21zbWFpbGVyLT5BZGRBdHRhY2htZW50KCAkbG9nZmlsZSwgJ3JhcGxlYWYubG9nJywgJ2Jhc2U2NCcsIGNnZV91dGlsczo6Z2V0X21pbWVfdHlwZSgkbG9nZmlsZSkpOwogICAgICB9CiAgICAvLyBub3cgdGhlIGJvZHkuCiAgICAkYm9keSA9ICdZb3VyIENHUmFwTGVhZiBKb2IgaGFzIGNvbXBsZXRlZC4gIFRoZSBvdXRwdXQgZmlsZShzKSBhcmUgYXR0YWNoZWQgdG8gdGhpcyBlbWFpbCc7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCiAgICBhdWRpdCgnJywnY2dyYXBsZWFmX3Rhc2snLHNwcmludGYoJ1NlbnQgZW1haWwgdG8gJWQgYWRkcmVzc2VzJyxjb3VudCgkbnVtX3RvKSkpOwogICAgcmV0dXJuIGNnam9ibWdyX3Rhc2s6OlNUQVRVU19DT01QTEVURTsKCiAgfQp9CjwvY29kZT48L3ByZT4KPGgzPkZ1dHVyZSB2ZXJzaW9uczwvaDM+Cjx1bD4KICA8bGk+Rm9yZWdyb3VuZCBqb2JzIC0gVGhlIGFiaWxpdHkgdG8gcHJvY2VzcyB0aGUgam9iIGluIHRoZSBmb3JlZ3JvdW5kIHdpdGggYSBwcm9ncmVzcyBiYXIgYW5kIGZlZWRiYWNrLjwvbGk+CiAgPGxpPk1vcmUgdGFzayB0eXBlczwvbGk+CiAgPGxpPkJldHRlciByZXBvcnRpbmcgLSBwZXJoYXBzIHNvbWUgZW1haWwgbm90aWZpY2F0aW9uIG9uIGZhaWxlZCBqb2JzLCBldGMuPC9saT4KICA8bGk+SW1wcm92ZWQgYWRtaW4gaW50ZXJmYWNlIC0gVGhlIGFiaWxpdHkgdG8gcmVzdW1lIGEgZmFpbGVkIGpvYiwgc3VzcGVuZCBqb2JzIGZvciBsYXRlci4uLjwvbGk+CiAgPGxpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/control_end_blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJzSURBVDjLpZNLbxJRFMf7AfwEfA5YunTDTnwk3RlfMWFj4qKpKyfV2EVjhMwAUUyb1gYqCdWgQmqkRToFaRoLBcoUEGiB8hoQpgzPcpxzgREfO2/y39yc/++87p0CgKlJXTKCQpJKklrS9Ejq0Z3iz/hJ4wVJyofrda1954Tx78fZg8ghHwpH+e29GPvGk2JmbFUtxmDsb4CR+aLVm6dCh0muUKmDIHahdz4gajQ7kCtWwbcX5hY3khTGjiFjgBLN4dh3odXuAR6x04eq0AVe0lm7T+4EsQPbgaBgdh4hREkA2BeWjZnHZsduCYo/OlCoDZWvtSFXbcuQjU0fd3+1gO0oEKCys8cMlo2nXO/A1SdeeBcoymbNnAfuGiOkGjyx1CnQNj+DXgSofd+OWOwZS0XTlcdeSR5Y9xchy7ckwBYBVBpdqDd7UKqJsLT2nkUvAqaDBxEeh4UBCMCMqOvzfmCcGdBQW3DHECbVnVRa0Omdw6pljUcvAeyHwgSAAdgrmq893SGZDa5juPzIDbeZISBTbklVdGFp+bUMUH/ZjbI1oQ0NsUcyELOUFStKFUUJ8JkAcLC4mXi2BrTZIregsrgTTCZXgcEASAYN5SbmZEEkQvNNOkza6/YHsPk1CpTpozxExQNrWev2Bji+3pI3gcbEaRPi+aa8TjQnpOz6FyvcLVN8uMbxQ6LfhijHJ69QqJ6RSmpnPVJNuiSS9aE5nq2CzmwVZmnnr4c0+ZQXLAFqxebg/MEEZAp1MhPsOZrmweUNwQK9yM3oP/z9lCc/071Xae3cSxfzzLjM0gYT/1zP8PM6MzurszM3mNi/P9P/fOefb4UIeuRftTUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/control_pause_blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJjSURBVDjLpZNLbxJhFIb7A/wF/A5YunTDzuqmO+PdsDFx0dSVpJq4aIyQmUIU06a1gUqCJlXb1Ehb6QhiGgsdKFNAwAIOhWEcBobLUI5zPpgRLzsneRfz5bzPec93mQCAiXGdc4FJk0WTVdPUSNbRmunP+nHjGU3muy8lW+DjMR3ZTzMHiUMhziaF3b0U82InR0/76zaswdrfACPzWV+obI8fZjm+JoGs9EA9HRA1Wl0oVeoQ3mO5hc2sHWt1iA4wo5lNfZXbHRXwU7p9qMs9EDQ1O32yJitd2I3GZM/6EULMBIBzYWzsrJurUhcqP7rAi0OVxQ6U6h0DsrkV5m6v8DiOCQGWAPONxti6+eKDENxyJw3z5OwOXHclSBr8UrnvQPkjNHoRYA1/OWJwZoyKpgv3EZAgXYtCWwNsE0Ct0QOppcKJqMDi6msGvQiYih0kBNwsLEAAdryhAY5rbaJJ+zZcm2dJOvzvqqew4l0V0EsA+3GWALAAu+qRsbhQbcP5e0G4Sg8B+C+1erC49NwAWD98TjKi3IGGog47ksgs5E8UyFUUDfCeAHBj8WTSRREoj9cYweINZuhCqQaDAZAOGBeV5RUiNF+mWDJerz+ArU9JsLvfGptouuOr2oKhKCdIbeMkdKXLLeM40ZzRujufLHNX3OnhMeoXiXoVt6+9C8l8vUmSiE2VpMEx8PjQnC7WweHxyTPU+q+LNH6V57xR+7J/jYvEMlDgJbInOHMyL8BGKA5z1AI37Xzz91Uef0w3n+Vts0836EeuJYaadwuPnbTw0OFhZhwB+hKd+vdj+p/n/BMZPwxzcSL1lgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/icons/control_play_blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJfSURBVDjLpZNNbxJRFIb7A/wF/A5YunTDrpouujNxY8LGxEVTVyU11UVjCmEsUUyb1gYqEWuqtqmRWukUimksH6UMHwIW6FCYwWFgYBjKcc6FGam68ybvZuY87/m4544BwNiobiyCQZVJlVnV5FDm4TfDn/Gj4DVVxgdvBIvv4IwKHafp2MkpF40nuP2jJP1qL0dNeXkLxmDsFYMhfN0TKFujp1mGrQkgSl1QLvtEjZYMpQoPwaM4s7STtWKsZqIZGBGOJ7+L7Y4CeCS5B7zYBU5Vs9Mj30RJhv1wRHRtpdDESAywLywbM2twVZCh8lOGt+EKsHUZyvUOlPiObrKzG2TurbHYjgENTD76B4Vlj8II3noYgI3DCoHPam0iPMncOTi8IQpZNDAHv6Vo7BlLRVDLenN2j+h1iCVwodoGoaXARV2C5fV3NLJoMBmJnXA4rFqjS2DMWOTaKvyZaOJRCPwxDnIViRjJyiWsudc5ZInBcTRODLB8DcZAAs8dwPiMn/zLstKwii4sr7zUDcxfviboutiBhqTovWLgxBx9Bc6ct8jNpIt1cLjcegsmtz9DFUo16PeBgPkLiZQ7PvOJwAimyy1IlVrQ7fVh9zABVucHfYiG+56qxR8IM5wwmDJmQyGsgclSkyTIqNntz1aZO8704Bq1RXJsRK2bHwMiyw8C601FrwaXCTOnizzYXB5x2rH1e5FGV3neHbauejeZUCQDBVYgM8GeE3kOtgNRmHcsMVP293+v8uhjuvsib5l9vk09WVyhHU+d3IKd4h7bXPS0zUfdppL/fkz/85x/AR14FVfMwp4lAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/control_start_blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJiSURBVDjLpZNLbxJRFMf7AfwEfA5YunTDwsTuujO+YsLGxEVTV066cdGYQmaAKKZNawOVSE2qltRIW+kI0jQWOlCGh0Bb6FAYcBgYGKAc51wegrrzJv9k5ub8f+dx750CgKlx3bCBTpNBk1HTzEDGwZ7uz/hx4zVN+icbksnz9YwJHiXZ4+iJGOFi4v5hnH2zl2Fm3RUTxmDsBGBgvu7yF6jISZoXyhLIShs6Vz2iWkOFfLECgUOOX9pOUxg7hAwBejRz8R9ys9UBXIrahYrcBlFTvdUle7Kiwn4oLDu2EgjREwD2hWVj5qE5X2lBodoCoaoS4fdGsDiCbO8E+EdrArajQ4DBw54yWDYuzDg9vwcPbNEJ8z2Gg7Nyk8TEMxdAu4MMehFgDHxPsNgzllquIWCXALCSt5r5JnVAALlSE6RGBy6rCiyvv2fRi4CZ8HFUxGGhuSSpME3twn0rB8xWjnyjEJApKqQKtXMFa851Eb0EcBThCADNqFtPfcRg9Z5OANKCMqiiDcsrr0cA45eDGFuVW1BTOlD8iYDPxJC9VPotDQCpiwY5meR5FWiHc9SCwelLMbl8GXo9IIPD4Dt0PyMKq8K9RL4B7W4Pdr7FgLJ/HA1R99hVMvn8IV6UmiRgeHzJQoMIjfiPCVJadsuLVf6uPdk/xuFFot9FqM1Pflmo1Elgtd4h/WIbeLQITp5XwOxwyXP01u+LNH6VF5whatW9yQfDKcgJEpkJ9hzLiuD1R2CBXuJnLR/+vsrjj+nhq6xp/qWXeW5bYWmrXVy0MOIzs4OdM3uY20z834/pf57zL6w/CRKnLd7XAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/control_stop_blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJJSURBVDjLpZNNbxJRFIb7A/wF/A5YunRDovsmRk3cmLAxcdG0uiFuXDSmkBlLFNOmtYFKgibUtqlJG6UjiGksU0oZPgQs0KEwMw4Dw8dQjnPuMCNq48abvJub87zn4547BQBTk7q2CDZdDl1OXdNjOcd3tj/jJ8Eruuxzb2RX+NMpHT/MMUfHJwKbSgv7Bxnm9YciPRMSXRiDsb8ZjOGrwWjNzZ4UOL4pg6IOQLsYEbU6fajWRYgdpLilnYIbY00T08COcCrzTen2NMCj9ocgKgMQdLV7Q3KnqH3YTyQV/1YWTezEAPvCsjGzCTfkPtR/9IGXDNWkHlTFnmWysxfj7q/x2I4NDRxh5juNZf8LPm12ifBkimdAheI0smjgjH3NMtgzlmqCNx5tGnq4Abe9LIHLjS7IHQ3OJRWW1zcYZNFgOnl0LOCwmq0BgTEjgqbQoHSuQrGuEqO+dgFrgXUBWWJwyKaIAZaPcEXoWvD1uQjc8rBQ4FUio4oBLK+8sgycH7+kGUnpQUvVrF4xK4KomwuGQf6sQ14mV5GA8gesFhyB3TxdrjZhNAKSwSzXzIpgrtaBbLUDg+EI9j6nwe3btIZoexBsuHajCU6QjSlfBmaqbZIgr2f3Pl/l7vpyxjOai0S9Zd2R91GFF41Aqa1Z1eAyYeZcRQSPP6jMUlu/FmlylecDCfdqKMLFk3ko8zKZCfacLgmwHWVhnlriZrzv/l7lyc9072XJ9fjFNv10cYWhnvmEBS8tPPH4mVlPmL5DZy7/TP/znX8C6zgR9sd1gukAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2Fib3J0ZWQnXSA9ICdBYm9ydGVkJzsKCiNCCgoKI0MKJGxhbmdbJ2NsaWNrbWVfcHJvY2Vzc3VybCddID0gJ0NsaWNrIHRoaXMgbGluayB0byBzdGFydCBwcm9jZXNzaW5nIG5vdyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBqb2I/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlZmluaXNoZWQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBmaW5pc2hlZCBqb2JzPyc7CiRsYW5nWydjb25maXJtX3BhdXNlJ10gPSAnQXJlIHlvdSBzdXJlIHRoYXQgeW91IHdhbnQgdG8gcGF1c2UgdGhpcyBqb2InOwokbGFuZ1snY29uZmlybV91bnBhdXNlJ10gPSAnQXJlIHlvdSBzdXJlIHRoYXQgeW91IHdhbnQgdG8gdW5wYXVzZSB0aGlzIGpvYic7CiRsYW5nWydjb21wbGV0aW5nJ10gPSAnQ29tcGxldGluZyc7CgojRAokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKCiNFCiRsYW5nWydlcnJvciddID0gJ0Vycm9yJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbXMnXSA9ICdBY3Rpb24gbm90IGNvbXBsZXRlZC4gT25lIG9yIG1vcmUgbWlzc2luZyBwYXJhbXMnOwokbGFuZ1snZXJyb3JfcGF1c2VfYmFkc3RhdHVzJ10gPSAnQ2Fubm9udCBwYXVzZSB0aGlzIGpvYiAoYmFkIG9yIGludmFsaWQgc3RhdHVzKSc7CiRsYW5nWydlcnJvcl91bnBhdXNlX2JhZHN0YXR1cyddID0gJ0Nhbm5vbnQgdW5wYXVzZSB0aGlzIGpvYiAoYmFkIG9yIGludmFsaWQgc3RhdHVzKSc7CgojRgokbGFuZ1snZmluaXNoZWQnXSA9ICdGaW5pc2hlZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIEpvYiBQcm9jZXNzaW5nIE1hbmFnZXInOwoKI0cKCgojSAoKCiNJCiRsYW5nWydpbmZvX2Nyb25qb2JfaW50ZXJ2YWwnXSA9ICdTcGVjaWZ5IGhvdyBvZnRlbiAoaW4gbWludXRlcykgdGhlIGNyb24gam9iIHJ1bnMgKHJlY29tbWVuZCBubyBtb3JlIHRoYW4gMTAgbWludXRlcykuICBUaGlzIHZhbHVlIGlzIHVzZWQgaW4gcGVyZm9ybWluZyBwcmlvcml0eSBlc2NhbGxhdGlvbnMgYW5kIG90aGVyIHRhc2tzJzsKJGxhbmdbJ2luZm9fZGZsdHBhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHVzZSB3aGVuIHdoZW4gaGFuZGxpbmcgam9icy4gIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoaXMgcGFnZSBub3QgYmUgY2FjaGFibGUuICBUbyBlbnN1cmUgdGhhdCBhbmFseXRpY3MgYXJlIG5vdCBwb2x1dGVkIHdlIHJlY29tbWVuZCB0aGF0IHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoaXMgcGFnZSBub3QgaGF2ZSBhbnkgc3RhdGlzdGNzIGdhdGhlcmluZy4nOwokbGFuZ1snaW5mb19lc2NhbGF0aW9uX2ludGVydmFsbGltaXQnXSA9ICdTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3JvbmpvYiBpbnRlcnZhbHMgYSBqb2IgY2FuIGJlIGlnbm9yZWQgYmVmb3JlIGl0cyBwcmlvcml0eSBzdGFydHMgdG8gZXNjYWxhYXRlLiAgTWF4aW11bSBvZiAxMDAnOwokbGFuZ1snaW5mb19tYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucyddID0gJ1RoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyBhIHRhc2sgY2FuIHJlZGlyZWN0IHRvIHByb2Nlc3MgYW5vdGhlciBjaHVuaywgYmVmb3JlIHRoZSBjcm9uIHN5c3RlbSBtdXN0IGhhbmRsZSBpdCBhZ2Fpbi4gIFRoaXMgdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIwJzsKJGxhbmdbJ2luZm9fbm90aWZpY2F0aW9uX2dyb3VwcyddID0gJ1NlbGVjdCB0aGUgYWRtaW4gZ3JvdXBzIHdob3MgbWVtYmVycyBzaG91bGQgYmUgbm90aWZpZWQgYnkgZW1haWwgd2hlbiBhIGpvYnN0YXR1cyBpcyBjaGFuZ2VkJzsKJGxhbmdbJ2luZm9fbm90aWZpY2F0aW9uX3N0YXR1cyddID0gJ1NlbGVjdCB0aGUgam9iIHN0YXR1c2VzIHRoYXQgd2lsbCB0cmlnZ2VyIGVtYWlsIG5vdGlmaWNhdGlvbic7CiRsYW5nWydpbmZvX3Byb2Nlc3N1cmwnXSA9ICdUaGlzIGlzIHRoZSBVUkwgdGhhdCB3aGVuIHRyaWdnZXJlZCB3aWxsIGJlZ2luIHByb2Nlc3Npbmcgb2YgcXVldWVkIGpvYnMuICAgWW91IGNvdWxkIHVzZSBhIGNyb24gdGFzaywgYW5kIHdnZXQgdGhlIHNwZWNpZmllZCB1cmwgdG8gcmVndWxhcmx5IHJlcXVlc3QgdGhpcyBVUkwnOwokbGFuZ1snaW5mb19zbGFjayddID0gJ1VzZWQgd2l0aCAmcXVvdDtpdGVyYXRpdmUmcXVvdDsgdGFza3MgdGhpcyB2YWx1ZSBzcGVjaWZpZXMgYSBzbGFjayBmYWN0b3IgKGEgbXVsdGlwbGUgb2YgdGhlIGF2ZXJhZ2UgdGltZSBjb25zdW1lZCBmb3IgYW4gaXRlcmF0aW9uKSB0byBhbGxvdyBmb3Igd2hlbiBjYWxjdWxhdGluZyB3ZXRoZXIgYW5vdGhlciBpdGVyYXRpb24gc2hvdWxkIGJlIGNvbXBsYXRlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEuNS4gIE1pbmltdW0gdmFsdWUgaXMgMC4yNSBhbmQgTWF4aW11bSB2YWx1ZSBpcyA1LiAgU2V0dGluZyB0aGlzIHZhbHVlIHRvbyBoaWdoIG1heSByZXN1bHQgaW4gYW4gZW5kbGVzcyBwcm9jZXNzaW5nIGxvb3AuICBTZXR0aW5nIHRoaXMgdmFsdWUgdG9vIGxvdyBtYXkgcmVzdWx0IGluIGVycm9ycyBpbiBqb2JzJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ1RoaXMgc2V0dGluZyAoaW4gc2Vjb25kcykgc3BlY2lmaWVzIGhvdyBtdWNoIHRpbWUgdGhlIHN5c3RlbSBzaG91bGQgYmUgYWxsb3dlZCB0byBwcm9jZXNzIGEgc2luZ2xlIHRhc2sgaW4gYSBqb2IuICBZb3UgbWF5IHdhbnQgdG8gZXh0ZW5kIHRoaXMgdmFsdWUgZm9yIGxvbmcgam9icyB0aGF0IGFyZSB0aW1pbmcgb3V0IGFuZCBjYXVzaW5nIGVycm9ycyBob3dldmVyIHRoYXQgbWF5IGhhdmUgbmVnYXRpdmUgaW1wbGljYXRpb25zIG9uIHlvdXIgc2VydmVyIHBlcmZvcm1hbmNlLiAgRWFjaCAmcXVvdDtzaW1wbGUmcXVvdDsgc2hvdWxkIGJlIGFibGUgdG8gY29tcGxldGUgaXRzZWxmIHdpdGhpbiB0aGlzIHRpbWUgbGltaXQuICAmcXVvdDtpdGVyYXRpdmUmcXVvdDsgdGFza3Mgd2lsbCB1c2UgdGhpcyB2YWx1ZSAob3IgdGhlIHN5c3RlbSB2YWx1ZSkgYW5kIHRoZSBhbW91bnQgb2YgZWxhcHNlZCB0aW1lLCB3aGVuIGFuYWx5emluZyBpZiBwcm9jZXNzaW5nIGNhbiBjb250aW51ZSBiZWZvcmUgcmVmcmVzaGluZy4gIFNwZWNpZnlpbmcgYSBuZWdhdGl2ZSwgMCBvciBlbXB0eSB2YWx1ZSB3aWxsIHJlc3VsdCBpbiB1c2luZyB0aGUgc3lzdGVtIGRlZmF1bHQgdGltZW91dC4gIE5vdGUgeW91ciBob3N0IG1heSBub3QgYWxsb3cgYWRqdXN0aW5nIHRoaXMgdmFsdWUuICBZb3UgbWF5IG5vdGljZSBlcnJvcnMgcmVnYXJkaW5nIHRoaXMgaW4gdGhlIENNU01TIGFkbWluIGxvZy4nOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdJbiBQcm9ncmVzcyc7CgojSgokbGFuZ1snam9icyddID0gJ0pvYnMnOwokbGFuZ1snam9iX2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ2pvYl9pZCddID0gJ0lkJzsKJGxhbmdbJ2pvYl9sb2NrZWQnXSA9ICdMb2NrZWQnOwokbGFuZ1snam9iX21vZGlmaWVkJ10gPSAnTW9kaWZpZWQnOwokbGFuZ1snam9iX25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2pvYl9vd25lciddID0gJ093bmVyJzsKJGxhbmdbJ2pvYl9wcmlvcml0eSddID0gJ1ByaW9yaXR5JzsKJGxhbmdbJ2pvYl9yZWN1cnMnXSA9ICdSZWN1cnMnOwokbGFuZ1snam9iX3N0YXR1cyddID0gJ1N0YXR1cyc7CgoKI0sKCgojTAoKCiNNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGZvciBtYW5hZ2luZyBqb2JzIHRoYXQgdGFrZSBjb25zaWRlcmFibGUgYW1vdW50cyBvZiB0aW1lJzsKJGxhbmdbJ21zZ19ub2pvYnMnXSA9ICdUaGVyZSBhcmUgbm8gam9icyBpbiB0aGUgZGF0YWJhc2UnOwokbGFuZ1snbXNnX3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuY2VzIHVwZGF0ZWQnOwoKI04KJGxhbmdbJ25vdGlmaWNhdGlvbnMnXSA9ICdOb3RpZmljYXRpb25zJzsKCiNPCgoKI1AKJGxhbmdbJ3BhdXNlJ10gPSAnUGF1c2UnOwokbGFuZ1sncGF1c2VkJ10gPSAnUGF1c2VkJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIENHSm9iTWdyIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgQ0dKb2JNZ3IgbW9kdWxlIGhhcyBiZWVuIHVuaW5zdGFsbGVkLiAgWW91IG1heSBub3cgc2FmZWx5IHJlbW92ZSB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfY3JvbmpvYl9pbnRlcnZhbCddID0gJ0ludGVydmFsIChpbiBtaW51dGVzKSBiZXR3ZWVuIGNyb24gam9icyc7CiRsYW5nWydwcm9tcHRfZGVsZXRlZmluaXNoZWQnXSA9ICdEZWxldGUgRmluaXNoZWQgSm9icyc7CiRsYW5nWydwcm9tcHRfZGZsdHBhZ2UnXSA9ICdEZWZhdWx0IFBhZ2UgZm9yIFByb2Nlc3NpbmcnOwokbGFuZ1sncHJvbXB0X2VzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCddID0gJ0VzY2FsYXRpb24gSW50ZXJ2YWwgTGltaXQnOwokbGFuZ1sncHJvbXB0X21heF9hdXRvdGFza19pdGVyYXRpb25zJ10gPSAnTWF4aW11bSBudW1iZXIgb2YgcmVkaXJlY3RzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fZ3JvdXBzJ10gPSAnTm90aWZ5IG1lbWJlcnMgb2YgdGhlc2UgYWRtaW4gZ3JvdXBzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZmljYXRpb25fc3RhdHVzZXMnXSA9ICdTZW5kIG5vdGlmaWNhdGlvbiBlbWFpbCB3aGVuIGEgam9iIHN0YXR1cyBzZXQgdG8gb25lIG9mIHRoZXNlJzsKJGxhbmdbJ3Byb21wdF9wcm9jZXNzdXJsJ10gPSAnSm9iIFByb2Nlc3NpbmcgVVJMJzsKJGxhbmdbJ3Byb21wdF9zbGFjayddID0gJ0l0ZXJhdGl2ZSBUYXNrIFNsYWNrJzsKJGxhbmdbJ3Byb21wdF90aW1lb3V0J10gPSAnSXRlcmF0aW9uIFRpbWVvdXQgKHNlY29uZHMpJzsKCiNRCgoKI1IKJGxhbmdbJ3Jlc3VtZSddID0gJ1Jlc3VtZSc7CgojUwokbGFuZ1snc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwoKI1QKCgojVQokbGFuZ1sndW5zdGFydGVkJ10gPSAnTm90IFN0YXJ0ZWQnOwoKI1YKCgojVwoKCiNYCgoKI1kKCgojWgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_autohandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgY2dqb2JtZ3JfYXV0b2hhbmRsZXIgZXh0ZW5kcyBjZ2pvYm1ncl9qb2JoYW5kbGVyCnsKICBwdWJsaWMgZnVuY3Rpb24gcHJvY2VzcygpCiAgewogICAgJGpvYiA9JiAkdGhpcy0+X2pvYjsKCiAgICAvLyBwcm9jZXNzIGEgdGFzawogICAgc3dpdGNoKCAkam9iLT5nZXRfc3RhdHVzKCkgKQogICAgICB7CiAgICAgIGNhc2UgY2dqb2JtZ3Jfam9iOjpTVEFUVVNfVU5TVEFSVEVEOgoJdHJ5IAoJewoJICAvLyBpZiB0aGVyZSBpcyBhIHN0YXJ0IHRhc2sKCSAgaWYoICgkdGFzayA9ICRqb2ItPmdldF9zdGFydF90YXNrKCkpICkKCSAgICB7CgkgICAgICAkdGFzay0+ZXhlY3V0ZSgpOwoJICAgICAgYXVkaXQoJGpvYi0+Z2V0X2lkKCksJ0NHSm9iTWdyIC0gQXV0b0pvYkhhbmRsZXIgLS0gRXhlY3V0ZWQgc3RhcnQgdGFzazogJy4kdGFzay0+Z2V0X25hbWUoKSk7CgkgICAgfQoJICAkam9iLT5zZXRfc3RhdHVzKGNnam9ibWdyX2pvYjo6U1RBVFVTX0lOUFJPR1JFU1MpOwoJfQoJY2F0Y2goIEV4Y2VwdGlvbiAkZSApIAoJewoJICBhdWRpdCgkam9iLT5nZXRfaWQoKSwnQ0dKb2JNZ3InLCdFUlJPUjogJy4kZS0+Z2V0TWVzc2FnZSgpKTsKCSAgJGpvYi0+c2V0X3N0YXR1cyhjZ2pvYm1ncl9qb2I6OlNUQVRVU19FUlJPUiwkZS0+Z2V0TWVzc2FnZSgpKTsKCX0KCWJyZWFrOwoKICAgICAgY2FzZSBjZ2pvYm1ncl9qb2I6OlNUQVRVU19JTlBST0dSRVNTOgoJdHJ5Cgl7CgkgIC8vIGZpcnN0LCBnZXQgdGhlIGN1cnJlbnQgdGFzay4KCSAgJHRhc2sgPSAkam9iLT5nZXRfY3VycmVudF90YXNrKCk7CgkgIGlmKCAkdGFzayApIHsKCSAgICAkdGFzay0+ZXhlY3V0ZSgpOwoJICAgIGlmKCAkam9iLT5yZWN1cl9pbnRlcnZhbCA9PSAwICkgJGpvYi0+c2V0X3ByaW9yaXR5KCRqb2ItPmdldF9wcmlvcml0eSgpLTEpOwoJICAgIGF1ZGl0KCRqb2ItPmdldF9pZCgpLCdDR0pvYk1ncicsJ0NHSm9iTWdyIC0gQXV0b0pvYkhhbmRsZXIgLS0gRXhlY3V0ZWQgdGFzazogJy4kdGFzay0+Z2V0X25hbWUoKS4nIC0tIHRhc2sgc3RhdHVzOiAnLiR0YXNrLT5nZXRfc3RhdHVzKCkpOwoJICB9CgkgIGVsc2UgewoJICAgICRqb2ItPnNldF9zdGF0dXMoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfQ09NUExFVElORyk7CgkgIH0KCX0KCWNhdGNoKCBFeGNlcHRpb24gJGUgKSAKCXsKCSAgYXVkaXQoJGpvYi0+Z2V0X2lkKCksJ0NHSm9iTWdyJywnRVJST1I6ICcuJGUtPmdldE1lc3NhZ2UoKSk7CgkgICRqb2ItPnNldF9zdGF0dXMoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfRVJST1IsJGUtPmdldE1lc3NhZ2UoKSk7Cgl9CglicmVhazsKCiAgICAgIGNhc2UgY2dqb2JtZ3Jfam9iOjpTVEFUVVNfQ09NUExFVElORzoKCXRyeSAKCXsKCSAgLy8gaWYgdGhlcmUgaXMgYSBlbmQgdGFzawoJICBpZiggKCR0YXNrID0gJGpvYi0+Z2V0X2VuZF90YXNrKCkpICkKCSAgICB7CgkgICAgICAkdGFzay0+ZXhlY3V0ZSgpOwoJICAgICAgYXVkaXQoJGpvYi0+Z2V0X2lkKCksJ0NHSm9iTWdyJywnQXV0b0pvYkhhbmRsZXIgLS0gRXhlY3V0ZWQgZW5kIHRhc2s6ICcuJHRhc2stPmdldF9uYW1lKCkpOwoJICAgIH0KCgkgICRqb2ItPnNldF9zdGF0dXMoY2dqb2JtZ3Jfam9iOjpTVEFUVVNfRklOSVNIRUQpOwoKCSAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dKb2JNZ3InKTsKCSAgJG1vZC0+U2VuZEV2ZW50KCdKb2JGaW5pc2hlZCcsYXJyYXkoJ2pvYic9PiR0aGlzKSk7Cgl9CgljYXRjaCggRXhjZXB0aW9uICRlICkgCgl7CgkgIGF1ZGl0KCRqb2ItPmdldF9pZCgpLCdDR0pvYk1ncicsJ0VSUk9SOiAnLiRlLT5nZXRNZXNzYWdlKCkpOwoJICAkam9iLT5zZXRfc3RhdHVzKGNnam9ibWdyX2pvYjo6U1RBVFVTX0VSUk9SLCRlLT5nZXRNZXNzYWdlKCkpOwoJfQoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJLy8gdGhyb3cgYSBuZXcgZXhjZXB0aW9uLCBzaG91bGRuJ3QgZXZlciBnZXQgaGVyZS4KCXRocm93IG5ldyBDR0pvYk1nckV4Y2VwdGlvbignSm9iIHdpdGggaW52YWxpZCBzdGF0dXMgYXR0ZW1wdGVkIHRvIHByb2Nlc3MnKTsKCWJyZWFrOwogICAgICB9CgogICAgLy8gaGFuZGxlIGFuIGVycm9yIG9yIHNvbWV0aGluZwogICAgc3dpdGNoKCAkam9iLT5nZXRfc3RhdHVzKCkgKQogICAgICB7CiAgICAgIGNhc2UgY2dqb2JtZ3Jfam9iOjpTVEFUVVNfRVJST1I6CgkvLyBoZXJlIHdlIHdpbGwgdHJ5IHRvIHNlbmQgYW4gZW1haWwgb3Igc29tZXRoaW5nLgoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJLy8gZG8gbm90aGluZy4uLgoJYnJlYWs7CiAgICAgIH0KCiAgICByZXR1cm4gJGpvYi0+Z2V0X3N0YXR1cygpOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_iterativetask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dqb2JtZ3JfaXRlcmF0aXZldGFzayBleHRlbmRzIGNnam9ibWdyX3Rhc2sKewogIC8qKgogICAqIFJ1biB0aGUgc3BlY2lmaWVkIGZ1bmN0aW9ucy4KICAgKiBUaGlzIHRhc2sgY2FsbHMgdGhlIHNwZWNpZmllZCBmdW5jdGlvbiBhbmQgaW50ZXJwcmV0cyB0aGUgcmVzdWx0CiAgICoKICAgKiBJZiB0aGUgc3RhdHVzIHJldHVybmVkIGZyb20gdGhlIGZ1bmN0aW9uIGlzIGludmFsaWQsIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAgICovCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9ydW5fdGFzaygpCiAgewogICAgJGZuID0gJHRoaXMtPmdldF9mdW5jdGlvbigpOwogICAgaWYoICFpc19jYWxsYWJsZSgkZm4pICkKICAgICAgewoJdGhyb3cgbmV3IENHSm9iTWdyRXhjZXB0aW9uKCdJbnZhbGlkIGZ1bmN0aW9uIHNwZWNpZmljYXRpb24nKTsKICAgICAgfQoKICAgICRyZXMgPSBjYWxsX3VzZXJfZnVuY19hcnJheSgkZm4sYXJyYXkoJiR0aGlzKSk7CiAgICBzd2l0Y2goICRyZXMgKQogICAgICB7CiAgICAgIGNhc2Ugc2VsZjo6U1RBVFVTX0VSUk9SOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19JTkNPTVBMRVRFOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19DT01QTEVURToKCSR0aGlzLT5zZXRfc3RhdHVzKCRyZXMpOwoJcmV0dXJuICRyZXM7CiAgICAgIGRlZmF1bHQ6Cgl0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0ludmFsaWQgcmV0dXJuIHZhbHVlIGZyb20gdGFzayBmdW5jdGlvbicpOwogICAgICB9CiAgfQoKCiAgLyoqCiAgICogUGVyZm9ybSB0aGUgdGFzayBudW1lcm91cyB0aW1lcyB1bnRpbCBhbGxvd2VkIHRpbWUgaXMgZWxhcHNlZAogICAqCiAgICogVGhpcyBtZXRob2QgYXNrcyB0aGUgam9iIG1hbmFnZXIgZm9yIHRoZSBhbW91dCBvZiB0aW1lIHRoYXQgaXQgaXMgYWxsb3dlZCB0byBydW4sIGFuZCBvdGhlciBkYXRhCiAgICogdGhlbiBleGVjdXRlcyB0aGUgdGFzaywgYW5kIGNhbGN1bGF0ZXMgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIGFtb3VudCBvZiB0aW1lIHJlcXVpcmVkIHRvIHBlcmZvcm0KICAgKiB0aGUgdGFzay4gIFRoZSBydW5uaW5nIGF2YWVyYWdlLCBhbmQgYSBzbGFjayBmYWN0b3IgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHRhc2sgY2FuIGJlCiAgICogZXhlY3V0ZWQgYWdhaW4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgpCiAgewogICAgJGpvYm1nciA9IGNnam9ibWdyX2pvYmhhbmRsZXI6OmdldF9pbnN0YW5jZSgpOwoKICAgIC8vIGdldCB0aGUgdG90YWwgYW1vdW50IG9mIHRpbWUgd2UncmUgYWxsb3dlZCB0byBwcm9jZXNzCiAgICAkb3JpZ190aW1lbGltaXQgPSBpbmlfZ2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnKTsKICAgIGlmKCAkb3JpZ190aW1lbGltaXQgPD0gMCApICRvcmlnX3RpbWVsaW1pdCA9IDMwOwogICAgJG1heF90aW1lbGltaXQgPSAkam9ibWdyLT5nZXRfdmFsdWUoJ21heF90aW1lJywwKTsKICAgICRtYXhfdGltZWxpbWl0ID0gbWF4KCRvcmlnX3RpbWVsaW1pdCwkbWF4X3RpbWVsaW1pdCk7CiAgICBzZXRfdGltZV9saW1pdCgkbWF4X3RpbWVsaW1pdCk7CgogICAgLy8gZ2V0IGEgc2xhY2sgZmFjdG9yLi4uCiAgICAkaXRlcmF0aXZlX3NsYWNrID0gJGpvYm1nci0+Z2V0X3ZhbHVlKCdpdGVyYXRpdmVfc2xhY2snLDEuNSk7CiAgICAkaXRlcmF0aXZlX3NsYWNrID0gbWF4KDAuMjUsbWluKDUsJGl0ZXJhdGl2ZV9zbGFjaykpOwoKICAgIC8vIHJlYWR5IHRvIGdvLgogICAgJHRvdGFsX3RpbWUgPSAwOwogICAgJGF2ZXJhZ2VfdGltZSA9IDA7CiAgICAkbnVtX2l0ZXJhdGlvbnMgPSAwOwogICAgd2hpbGUoICgkbWF4X3RpbWVsaW1pdCAtICR0b3RhbF90aW1lKSA+ICgkYXZlcmFnZV90aW1lICogJGl0ZXJhdGl2ZV9zbGFjaykgKQogICAgICB7Cgkkc3RhcnRfdGltZSA9IG1pY3JvdGltZSh0cnVlKTsKCSRzdGF0dXMgPSAkdGhpcy0+X3J1bl90YXNrKCk7CgoJJHRkID0gbWljcm90aW1lKHRydWUpIC0gJHN0YXJ0X3RpbWU7CgkkdG90YWxfdGltZSArPSAkdGQ7CgkkYXZlcmFnZV90aW1lID0gKCRhdmVyYWdlX3RpbWUgKiAkbnVtX2l0ZXJhdGlvbnMgKyAkdGQpLygkbnVtX2l0ZXJhdGlvbnMgKyAxKTsKCSRudW1faXRlcmF0aW9ucysrOwoKCXN3aXRjaCggJHN0YXR1cyApCgkgIHsKCSAgY2FzZSBzZWxmOjpTVEFUVVNfRVJST1I6CgkgICAgJHRoaXMtPnNldF9zdGF0dXMoJHN0YXR1cyk7CgkgICAgdGhyb3cgbmV3IENHSm9iTWdyRXhjZXB0aW9uKCR0aGlzLT5nZXRfbmFtZSgpLicgZmFpbGVkJyk7CgoJICBjYXNlIHNlbGY6OlNUQVRVU19DT01QTEVURToKCSAgICAvLyBkb25lCgkgICAgJHRoaXMtPnNldF9zdGF0dXMoJHN0YXR1cyk7CgkgICAgcmV0dXJuOwoKCSAgY2FzZSBzZWxmOjpTVEFUVVNfSU5DT01QTEVURToKCSAgICAvLyBnbyBhdCBpdCBhZ2FpbgoJICAgICR0aGlzLT5zZXRfc3RhdHVzKCRzdGF0dXMpOwoJICAgIGJyZWFrOwoKCSAgZGVmYXVsdDoKCSAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0ludmFsaWQgcmV0dXJuIHZhbHVlOiAnLiRzdGF0dXMuJyBmcm9tIHRhc2sgZnVuY3Rpb24nKTsKCSAgfQogICAgICB9CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_job.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgY2dqb2JtZ3Jfam9iCnsKICBjb25zdCBTVEFUVVNfVU5TVEFSVEVEICAgPSAndW5zdGFydGVkJzsKICBjb25zdCBTVEFUVVNfSU5QUk9HUkVTUyAgPSAnaW5fcHJvZ3Jlc3MnOwogIGNvbnN0IFNUQVRVU19FUlJPUiAgICAgICA9ICdlcnJvcic7CiAgY29uc3QgU1RBVFVTX0NPTVBMRVRJTkcgID0gJ2NvbXBsZXRpbmcnOwogIGNvbnN0IFNUQVRVU19GSU5JU0hFRCAgICA9ICdmaW5pc2hlZCc7CiAgY29uc3QgU1RBVFVTX0FCT1JURUQgICAgID0gJ2Fib3J0ZWQnOwogIGNvbnN0IFNUQVRVU19QQVVTRUQgICAgICA9ICdwYXVzZWQnOwogIGNvbnN0IFBSSU9SSVRZX0hJR0ggICAgICA9IDMwMDsKICBjb25zdCBQUklPUklUWV9OT1JNQUwgICAgPSAyMDA7CiAgY29uc3QgUFJJT1JJVFlfTE9XICAgICAgID0gMTAwOwoKICBwcml2YXRlICRfaWQ7CiAgcHJpdmF0ZSAkX293bmVyOwogIHByaXZhdGUgJF9uYW1lOwogIHByaXZhdGUgJF9wcmlvcml0eTsKICBwcml2YXRlICRfc3RhdHVzOwogIHByaXZhdGUgJF9wZXJzaXN0ZW50OwogIHByaXZhdGUgJF9yZWN1cl9pbnRlcnZhbCA9IDA7CiAgcHJpdmF0ZSAkX3N0YXJ0X2F0OwogIHByaXZhdGUgJF9zdGFydGVkX2F0OwogIHByaXZhdGUgJF9maW5pc2hlZF9hdDsKICBwcml2YXRlICRfbG9ja2VkOwoKICBwcml2YXRlICRfc3RhcnRfdGFzazsKICBwcml2YXRlICRfdGFza3M7CiAgcHJpdmF0ZSAkX2VuZF90YXNrOwoKCiAgLyoqCiAgICogQ29uc3RydWN0b3IKICAgKgogICAqIEF1dG1hdGljYWxseSBjcmVhdGVzIGEgbmV3IGpvYiB3aXRoIGEgbm9ybWFsIHByaW9yaXR5LCBhbmQgYSBzdGF0dXMgb2YgVU5TVEFSVEVECiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBuYW1lIGZvciB0aGUgam9iIChvcHRpb25hbCkKICAgKiBAcGFyYW0gaW50ZWdlciBUaGUgam9iIG93bmVyJ3MgdWlkCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lID0gJycsJG93bmVyID0gLTEsJHByaW9yaXR5ID0gc2VsZjo6UFJJT1JJVFlfTk9STUFMKQogIHsKICAgICR0aGlzLT5fbmFtZSA9ICRuYW1lOwogICAgJHRoaXMtPl9wcmlvcml0eSA9ICRwcmlvcml0eTsKICAgIGlmKCAkb3duZXIgPT0gLTEgKSB7CiAgICAgICRvd25lciA9IGdldF91c2VyaWQoRkFMU0UpOwogICAgfQogICAgJHRoaXMtPl9vd25lciA9ICRvd25lcjsKICAgICR0aGlzLT5zZXRfc3RhdHVzKHNlbGY6OlNUQVRVU19VTlNUQVJURUQpOwogICAgJHRoaXMtPnNldF9wZXJzaXN0ZW50X3ZhbHVlKCdfX09SSUdfUFJJT1JJVFlfXycsJHByaW9yaXR5KTsKICAgICR0aGlzLT5zZXRfcGVyc2lzdGVudF92YWx1ZSgnX19BTExMT1dfSVRFUkFUSVZFX1JFRElSRUNUX18nLDEpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ293bmVyJzoKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAncHJpb3JpdHknOgogICAgY2FzZSAnc3RhdHVzJzoKICAgIGNhc2UgJ3BlcnNpc3RlbnQnOgogICAgY2FzZSAncmVjdXJfaW50ZXJ2YWwnOgogICAgY2FzZSAnc3RhcnRfYXQnOgogICAgY2FzZSAnc3RhcnRlZF9hdCc6CiAgICBjYXNlICdmaW5pc2hlZF9hdCc6CiAgICAgICRrZXkgPSAnXycuJGtleTsKICAgICAgcmV0dXJuICR0aGlzLT4ka2V5OwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0F0dGVtcHQgdG8gcmV0cmlldmUgaW52YWxpZCBwcm9wZXJ0eTogJy4ka2V5LicgZnJvbSBhIGpvYicpOwogICAgICAKICAgIH0KICB9CgogIC8qKgogICAqIFJldHVybiB0aGUgam9iIGlkIChpZiB0aGUgam9iIGhhcyBhbHJlYWR5IGJlZW4gc2F2ZWQpCiAgICoKICAgKiBAcmV0cnVuIG1peGVkICBpbnRlZ2VyIGpvYiBpZCBpZiB0aGUgam9iIGhhcyBiZWVuIHNhdmVkLCBvciBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9pZCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5faWQ7CiAgfQoKCiAgLyoqCiAgICogU2V0IGFuIG9wdGlvbmFsIHN0YXJ0IHRhc2sgKHRvIGJlIGRvbmUgYmVmb3JlIHJlZ3VsYXIgdGFza3MpCiAgICoKICAgKiBAcGFyYW0gY2dqb2JtZ3JfdGFzayBUaGUgdGFzayBvYmplY3QKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N0YXJ0X3Rhc2soY2dqb2JtZ3JfdGFzayYgJHN0YXJ0X3Rhc2spCiAgewogICAgJHRoaXMtPl9zdGFydF90YXNrID0gJHN0YXJ0X3Rhc2s7CiAgfQoKCiAgLyoqCiAgICogUmV0cmlldmUgdGhlIHN0YXJ0IHRhc2sgKGlmIGFueSkKICAgKgogICAqIEByZXR1cm5zIGNnam9ibWdyX3Rhc2sgb2JqZWN0LCBvciBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9zdGFydF90YXNrKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9zdGFydF90YXNrOwogIH0KCgogIC8qKgogICAqIFNldCBhbiBvcHRpb25hbCBlbmQgdGFzayAodG8gYmUgZG9uZSBhZnRlciByZWd1bGFyIHRhc2tzKQogICAqCiAgICogQHBhcmFtIGNnam9ibWdyX3Rhc2sgVGhlIHRhc2sgb2JqZWN0CiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHNldF9lbmRfdGFzayhjZ2pvYm1ncl90YXNrJiAkZW5kX3Rhc2spCiAgewogICAgJHRoaXMtPl9lbmRfdGFzayA9ICRlbmRfdGFzazsKICB9CgoKICAvKioKICAgKiBSZXRyaWV2ZSB0aGUgZW5kIHRhc2sgKGlmIGFueSkKICAgKgogICAqIEByZXR1cm5zIGNnam9ibWdyX3Rhc2sgb2JqZWN0LCBvciBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9lbmRfdGFzaygpCiAgewogICAgcmV0dXJuICR0aGlzLT5fZW5kX3Rhc2s7CiAgfQoKCiAgLyoqCiAgICogQWRkIGEgdGFzayBpbnRvIHRoZSBwcm9jZXNzaW5nIGxvb3AKICAgKgogICAqCiAgICogQHBhcmFtIGNnam9ibWdyX3Rhc2sgVGhlIHRhc2sgb2JqZWN0CiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGFkZF90YXNrKGNnam9ibWdyX3Rhc2smICR0YXNrKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl90YXNrcykgKSAkdGhpcy0+X3Rhc2tzID0gYXJyYXkoKTsKICAgICR0aGlzLT5fdGFza3NbXSA9ICR0YXNrOwogIH0KCgogIC8qKgogICAqIEdldCB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGpvYgogICAqCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9zdGF0dXMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3N0YXR1czsKICB9CgoKICAvKioKICAgKiBTZXQgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBqb2IKICAgKiBNb3N0IGRldmVsb3BlcnMgd2lsbCBub3QgbmVlZCB0aGlzIG1ldGhvZC4KICAgKgogICAqIEBpbnRlcm5hbAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3RhdHVzKCRzdGF0dXMsJG1lc3NhZ2UgPSBudWxsKQogIHsKICAgIHN3aXRjaCggJHN0YXR1cyApCiAgICAgIHsKICAgICAgY2FzZSBzZWxmOjpTVEFUVVNfRklOSVNIRUQ6CgkkdGhpcy0+X2ZpbmlzaGVkX2F0ID0gdGltZSgpOwoJaWYoICR0aGlzLT5fcmVjdXJfaW50ZXJ2YWwgPiAwICkgewoJICAkdGhpcy0+X3N0YXJ0X2F0ID0gJHRoaXMtPl9maW5pc2hlZF9hdCArICR0aGlzLT5fcmVjdXJfaW50ZXJ2YWwgKiA2MDsKCSAgLy8gaXRzIGEgcmVjdXJyaW5nIHRhc2ssIG1hcmsgYWxsIG9mIHRoZSB0YXNrcyBhcyBpbmNvbXBsZXRlIG5vdy4KCSAgZm9yZWFjaCggJHRoaXMtPl90YXNrcyBhcyAmJG9uZXRhc2sgKSB7CgkgICAgJG9uZXRhc2stPnNldF9zdGF0dXMoY2dqb2JtZ3JfdGFzazo6U1RBVFVTX05PTkUpOwoJICB9Cgl9CgkkcnVuY291bnQgPSAkdGhpcy0+Z2V0X3BlcnNpc3RlbnRfdmFsdWUoJ19fUlVOQ09VTlRfXycsMCk7CgkkcnVuY291bnQrKzsKCSR0aGlzLT5zZXRfcGVyc2lzdGVudF92YWx1ZSgnX19SVU5DT1VOVF9fJywkcnVuY291bnQpOwoJJHRoaXMtPl9zdGF0dXMgPSAkc3RhdHVzOwoJYnJlYWs7CgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19VTlNUQVJURUQ6CgkkdGhpcy0+X3N0YXJ0ZWRfYXQgPSBudWxsOwoJJHRoaXMtPl9maW5pc2hlZF9hdCA9IG51bGw7CgkkdGhpcy0+X3N0YXR1cyA9ICRzdGF0dXM7CglicmVhazsKCQogICAgICBjYXNlIHNlbGY6OlNUQVRVU19JTlBST0dSRVNTOgoJJHRoaXMtPl9zdGFydGVkX2F0ID0gdGltZSgpOwoJJHRoaXMtPl9zdGF0dXMgPSAkc3RhdHVzOwoJYnJlYWs7CgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19DT01QTEVUSU5HOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19BQk9SVEVEOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19FUlJPUjoKCWlmKCAkbWVzc2FnZSApIHsKCSAgJHRoaXMtPnNldF9wZXJzaXN0ZW50X3ZhbHVlKCdfX01FU1NBR0VfXycsJG1lc3NhZ2UpOwoJfQoJJHRoaXMtPl9maW5pc2hlZF9hdCA9IHRpbWUoKTsKICAgICAgY2FzZSBzZWxmOjpTVEFUVVNfUEFVU0VEOgoJJHRoaXMtPl9zdGF0dXMgPSAkc3RhdHVzOwoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJdGhyb3cgbmV3IENHSm9iTWdyRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHNldCBqb2IgdG8gaW52YWxpZCBzdGF0dXM6ICcuJHN0YXR1cyk7CiAgICAgIH0KICB9CgoKICAvKioKICAgKiBTZXQgdGhlIHJlY3VyIGludGVydmFsIChpbiBtaW51dGVzKS4gIG1heSBhbHNvIGFkanVzdCB0aGUgcHJpb3JpdHkuCiAgICoKICAgKiBAcGFyYW0gaW50ZWdlciB0aGUgc3RhcnQgaW50ZXJ2YWwsIGluIG1pbnV0ZXMsIDAgaXMgYSB2YWxpZCB2YWx1ZS4KICAgKiBAcmV0dXJuIHZvaWQKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gc2V0X3JlY3VyX2ludGVydmFsKCRuKQogIHsKICAgICRuID0gbWF4KDAsbWluKCRuLDEwMDAwMDAwKSk7CiAgICAkdGhpcy0+X3JlY3VyX2ludGVydmFsID0gJG47CiAgfQoKICAvKioKICAgKiBSZXR1cm4gdGhlIHJlY3VyIGludGVydmFsIChpZiBhbnkpCiAgICoKICAgKiBAcmV0dXJuIGludGVnZXIgbWludXRlcyBiZXR3ZWVuIHJlcGV0aXRpb25zLgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcmVjdXJfaW50ZXJ2YWwoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3JlY3VyX2ludGVydmFsOwogIH0KCiAgLyoqIAogICAqIFNldCB0aGUgc3RhcnQgdGltZSBmb3IgdGhpcyBldmVudC4KICAgKgogICAqIEBwYXJhbSBpbnRlZ2VyIFVuaXggdGltZXN0YW1wIHJlcHJlc2VudGluZyB0aGUgbmVhcmVzdCBzdGFydCB0aW1lLgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3RhcnRfdGltZSgkdCkKICB7CiAgICAkdCA9IG1pbih0aW1lKCksJHQpOwogICAgJHRoaXMtPl9zdGFydF9hdCA9ICR0OwogIH0KCgogIC8qKgogICAqIEdldCB0aGUgc3RhcnQgdGltZSBmb3IgdGhpcyBldmVudC4gIGlmIGFueS4KICAgKgogICAqIEByZXR1cm4gaW50ZWdlciBVbml4IHRpbWVzdGFtcCByZXByZXNlbnRpbmcgdGhlIG5lYXJlc3Qgc3RhcnQgdGltZS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3N0YXJ0X3RpbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3N0YXJ0X2F0OwogIH0KCiAgLyoqCiAgICogUmV0cmlldmUgdGhlIHRpbWUgdGhhdCB0aGlzIGpvYiB3YXMgc3RhcnRlZCAoaWYgYW55KQogICAqCiAgICogQHJldHVybiBpbnRlZ2VyIFVuaXggdGltZXN0YW1wIHJlcHJlc2VudGluZyB0aGUgdGltZSB0aGUgam9iIHdhcyBzdGFydGVkLCBvciBudWxsLgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfc3RhcnRlZF9hdCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fc3RhcnRlZF9hdDsKICB9CgogIC8qKgogICAqIFJldHJpZXZlIHRoZSB0aW1lIHRoYXQgdGhpcyBqb2Igd2FzIGZpbmlzaGVkIChpZiBhbnkpCiAgICoKICAgKiBAcmV0dXJuIGludGVnZXIgVW5peCB0aW1lc3RhbXAgcmVwcmVzZW50aW5nIHRoZSB0aW1lIHRoZSBqb2Igd2FzIHN0YXJ0ZWQsIG9yIG51bGwuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9maW5pc2hlZF9hdCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fZmluaXNoZWRfYXQ7CiAgfQoKICAvKioKICAgKiBSZXR1cm4gdGhlIGN1cnJlbnQgam9iIHByaW9yaXR5CiAgICoKICAgKiBAcmV0dXJucyBpbnRlZ2VyCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wcmlvcml0eSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fcHJpb3JpdHk7CiAgfQoKCiAgLyoqCiAgICogU2V0IHRoZSBqb2IgcHJpb3JpdHkKICAgKgogICAqIEBwYXJhbSBpbnRlZ2VyIHByaW9yaXR5CiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHNldF9wcmlvcml0eSgkcHJpb3JpdHkpCiAgewogICAgJHByaW9yaXR5ID0gbWF4KCRwcmlvcml0eSwwKTsKICAgICRwcmlvcml0eSA9IG1pbigkcHJpb3JpdHksc2VsZjo6UFJJT1JJVFlfSElHSCk7CiAgICAkdGhpcy0+X3ByaW9yaXR5ID0gJHByaW9yaXR5OwogIH0KCgogIC8qKgogICAqIFJldHJpZXZlIGEgcGllY2Ugb2YgZGF0YSBhdHRhY2hlZCB0byB0aGUgam9iCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBrZXkgZm9yIHRoZSBkYXRhCiAgICogQHBhcmFtIG1peGVkIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgZGF0YQogICAqIEByZXR1cm5zIG1peGVkCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wZXJzaXN0ZW50X3ZhbHVlKCRrZXksJGRmbHQgPSAnJykKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fcGVyc2lzdGVudCkgKSByZXR1cm4gJGRmbHQ7CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fcGVyc2lzdGVudFska2V5XSkgKSByZXR1cm4gJGRmbHQ7CiAgICByZXR1cm4gJHRoaXMtPl9wZXJzaXN0ZW50WyRrZXldOwogIH0KCgogIC8qKgogICAqIEF0dGFjaCBhIHBpZWNlIG9mIGRhdGEgdG8gdGhlIGpvYi4KICAgKiBUaGUgZGF0YSBpcyBzZXJpYWxpemVkIGFuZCBzdG9yZWQgd2l0aCB0aGUgam9iIHdoZW4gaXQgaXMgc2F2ZWQuCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBrZXkgZm9yIHRoZSBkYXRhCiAgICogQHBhcmFtIG1peGVkICBUaGUgZGF0YSB0byBzYXZlLgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcGVyc2lzdGVudF92YWx1ZSgka2V5LCR2YWwpCiAgewogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X3BlcnNpc3RlbnQpICkgJHRoaXMtPl9wZXJzaXN0ZW50ID0gYXJyYXkoKTsKICAgICR0aGlzLT5fcGVyc2lzdGVudFska2V5XSA9ICR2YWw7CiAgfQoKCiAgLyoqCiAgICogUmV0dXJuIHRoZSBjdXJyZW50IHRhc2sgdGhhdCB0byBwcm9jZXNzCiAgICoKICAgKiBAaW50ZXJuYWwKICAgKiBAcmV0dXJucyBjZ2pvYm1ncl90YXNrIGRlcml2ZWQgb2JqZWN0CiAgICovCiAgcHVibGljIGZ1bmN0aW9uICZnZXRfY3VycmVudF90YXNrKCkKICB7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X3Rhc2tzKTsgJGkrKyApCiAgICAgIHsKCWlmKCAkdGhpcy0+X3Rhc2tzWyRpXS0+Z2V0X3N0YXR1cygpID09IGNnam9ibWdyX3Rhc2s6OlNUQVRVU19DT01QTEVURSApIGNvbnRpbnVlOwoJCglyZXR1cm4gJHRoaXMtPl90YXNrc1skaV07CiAgICAgIH0KICAgICRyZXMgPSBudWxsOwogICAgcmV0dXJuICRyZXM7CiAgfQoKCiAgLyoqCiAgICogUmV0cmlldmUgYSBmbGFnIGluZGljYXRpbmcgd2V0aGVyIG9yIG5vdCB0aGlzIGpvYiBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgaXRlcmF0aXZlIHJlZGlyZWN0cwogICAqCiAgICogQHJldHVybiBib29sZWFuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9pdGVyYXRlX2ZsYWcoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Z2V0X3BlcnNpc3RlbnRfdmFsdWUoJ19fQUxMT1dfSVRFUkFUSVZFX1JFRElSRUNUX18nLDEpOwogIH0KCiAgLyoqCiAgICogU2V0IGEgZmxhZyBpbmRpY2F0aW5nIHdldGhlciBvciBub3QgdGhpcyBqb2IgY2FuIHRha2UgYWR2YW50YWdlIG9mIGl0ZXJhdGl2ZSByZWRpcmVjdHMuCiAgICoKICAgKiBAcGFyYW0gYm9vbGVhbgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBzZXRfaXRlcmF0ZV9mbGFnKCRmbGFnID0gVFJVRSkKICB7CiAgICBpZiggJGZsYWcgKQogICAgICAkZmxhZyA9IDE7CiAgICBlbHNlIAogICAgICAkZmxhZyA9IDA7CiAgICAkdGhpcy0+c2V0X3BlcnNpc3RlbnRfdmFsdWUoJ19fQUxMT1dfSVRFUkFUSVZFX1JFRElSRUNUX18nLCRmbGFnKTsKICB9CgogIC8qKgogICAqIFJldHJpZXZlIGEgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBqb2IuCiAgICoKICAgKiBNZXNzYWdlcyBtYXkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgam9iIHdoZW4gaXQgdGVybWluYXRlcy4gIFRoaXMgbWV0aG9kIGFsbG93cyByZXRyaWV2aW5nIHRoYXQgbWVzc2FnZS4KICAgKgogICAqIEByZXR1cm4gc3RyaW5nIFRoZSBtZXNzYWdlLCBpZiBhbnkgaGFzIGJlZW4gc2V0LgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5nZXRfcGVyc2lzdGVudF92YWx1ZSgnX19NRVNTQUdFX18nKTsKICB9CgogIC8qKgogICAqIFNldCBhIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgam9iLgogICAqCiAgICogVGhpcyBtYXkgYmUgdXNlZCB3aGVuIGEgam9iIHRlcm1pbmF0ZXMuCiAgICoKICAgKiBAaW50ZXJuYWwKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBtZXNzYWdlCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHNldF9tZXNzYWdlKCRtc2cpCiAgewogICAgJHRoaXMtPnNldF9wZXJzaXN0ZW50X3ZhbHVlKCdfX01FU1NBR0VfXycsJG1zZyk7CiAgfQoKICAvKioKICAgKiBDcmVhdGUgYSBqb2Igb2JqZWN0IGZyb20gZGF0YWJhc2UgZGF0YQogICAqCiAgICogQGludGVybmFsCiAgICogQHJldHVybnMgY2dqb2JtZ3Jfam9iIG9iamVjdAogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmxvYWRfZnJvbV9kYXRhKCRyb3cpCiAgewogICAgJG9iaiA9IG5ldyBjZ2pvYm1ncl9qb2IoKTsKICAgIGZvcmVhY2goICRyb3cgYXMgJGtleSA9PiAkdmFsdWUgKQogICAgICB7Cglzd2l0Y2goICRrZXkgKQoJICB7CgkgIGNhc2UgJ2lkJzoKCSAgY2FzZSAnbmFtZSc6CgkgIGNhc2UgJ293bmVyJzoKCSAgY2FzZSAncHJpb3JpdHknOgoJICBjYXNlICdzdGF0dXMnOgoJICBjYXNlICdyZWN1cl9pbnRlcnZhbCc6CgkgIGNhc2UgJ3N0YXJ0X2F0JzoKCSAgY2FzZSAnc3RhcnRlZF9hdCc6CgkgIGNhc2UgJ2ZpbmlzaGVkX2F0JzoKCSAgY2FzZSAnbG9ja2VkJzoKCSAgICAkZmxkID0gJ18nLiRrZXk7CgkgICAgJG9iai0+JGZsZCA9ICR2YWx1ZTsKCSAgICBicmVhazsKCSAgICAKCSAgY2FzZSAnYXNzb2MnOgoJICAgICRvYmotPl9wZXJzaXN0ZW50ID0gdW5zZXJpYWxpemUoJHZhbHVlKTsKCSAgICBicmVhazsKCSAgICAKCSAgY2FzZSAndGFza3MnOgoJICAgICRvYmotPl90YXNrcyA9IHVuc2VyaWFsaXplKCR2YWx1ZSk7CgkgICAgYnJlYWs7CgkgICAgCgkgIGNhc2UgJ2NyZWF0ZWQnOgoJICBjYXNlICdtb2RpZmllZCc6CgkgICAgYnJlYWs7CgoJICBkZWZhdWx0OgoJICAgIHRocm93IG5ldyBDR0pvYk1nckV4Y2VwdGlvbignVW5rbm93biBmaWVsZCAnLiRrZXkuJyBpbiByb3cgZGF0YScpOwoJICB9CiAgICAgIH0gLy8gZm9yZWFjaAoKICAgIHJldHVybiAkb2JqOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkam9iaWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2dqb2JtZ3IgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGpvYmlkKSk7CiAgICBpZiggaXNfYXJyYXkoJHJvdykgKSB7CiAgICAgIHJldHVybiBzZWxmOjpsb2FkX2Zyb21fZGF0YSgkcm93KTsKICAgIH0KCiAgICAkcmVzID0gbnVsbDsKICAgIHJldHVybiAkcmVzOwogIH0KCiAgcHJpdmF0ZSBmdW5jdGlvbiBfaW5zZXJ0KCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2dqb2JtZ3IKICAgICAgICAgICAgICAobmFtZSxvd25lcixwcmlvcml0eSxzdGF0dXMsYXNzb2MsdGFza3MscmVjdXJfaW50ZXJ2YWwsc3RhcnRfYXQsCiAgICAgICAgICAgICAgIHN0YXJ0ZWRfYXQsZmluaXNoZWRfYXQsY3JlYXRlZCxtb2RpZmllZCkKICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sTk9XKCksTk9XKCkpIjsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQlhcnJheSgkdGhpcy0+X25hbWUsJHRoaXMtPl9vd25lciwkdGhpcy0+X3ByaW9yaXR5LAoJCQkgICAgICAkdGhpcy0+X3N0YXR1cyxzZXJpYWxpemUoJHRoaXMtPl9wZXJzaXN0ZW50KSwKCQkJICAgICAgc2VyaWFsaXplKCR0aGlzLT5fdGFza3MpLAoJCQkgICAgICAkdGhpcy0+X3JlY3VyX2ludGVydmFsLCR0aGlzLT5fc3RhcnRfYXQsCgkJCSAgICAgICR0aGlzLT5fc3RhcnRlZF9hdCwkdGhpcy0+X2ZpbmlzaGVkX2F0KSk7CiAgICBpZiggISRkYnIgKSB7CiAgICAgIHRocm93IG5ldyBDR0pvYk1nckV4Y2VwdGlvbignRXJyb3IgSW5zZXJ0aW5nIGpvYiByZWNvcmQgJyk7CiAgICB9CgogICAgJHRoaXMtPl9pZCA9ICRkYi0+SW5zZXJ0X0lkKCk7CiAgICBhdWRpdCgkdGhpcy0+X2lkLCdDR0pvYk1ncicsJ05ldyBqb2IgY3JlYXRlZDogJy4kdGhpcy0+X25hbWUuJyB3aXRoIHByaW9yaXR5ICcuJHRoaXMtPl9wcmlvcml0eSk7CgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dKb2JNZ3InKTsKICAgICRtb2QtPlNlbmRFdmVudCgnSm9iQ3JlYXRlZCcsYXJyYXkoJ2pvYic9PiR0aGlzKSk7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfdXBkYXRlKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Nnam9ibWdyCiAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/LCBvd25lciA9ID8sIHByaW9yaXR5ID0gPywgc3RhdHVzID0gPywKICAgICAgICAgICAgICAgICAgYXNzb2MgPSA/LCB0YXNrcyA9ID8sIHJlY3VyX2ludGVydmFsID0gPywgc3RhcnRfYXQgPSA/LAogICAgICAgICAgICAgICAgICBzdGFydGVkX2F0ID0gPywgZmluaXNoZWRfYXQgPSA/LAogICAgICAgICAgICAgICAgICBtb2RpZmllZCA9IE5PVygpCiAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/IjsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQlhcnJheSgkdGhpcy0+X25hbWUsJHRoaXMtPl9vd25lciwkdGhpcy0+X3ByaW9yaXR5LAoJCQkgICAgICAkdGhpcy0+X3N0YXR1cyxzZXJpYWxpemUoJHRoaXMtPl9wZXJzaXN0ZW50KSwKCQkJICAgICAgc2VyaWFsaXplKCR0aGlzLT5fdGFza3MpLCR0aGlzLT5fcmVjdXJfaW50ZXJ2YWwsJHRoaXMtPl9zdGFydF9hdCwKCQkJICAgICAgJHRoaXMtPl9zdGFydGVkX2F0LCR0aGlzLT5fZmluaXNoZWRfYXQsCgkJCSAgICAgICR0aGlzLT5faWQpKTsKICAgIGlmKCAhJGRiciApIHsKICAgICAgdGhyb3cgbmV3IENHSm9iTWdyRXhjZXB0aW9uKCdFcnJvciBVcGRhdGluZyBqb2IgcmVjb3JkICcpOwogICAgfQogIH0KCgogIC8qKgogICAqIERlbGV0ZSB0aGUgY3VycmVudCBvYmplY3QgZnJvbSB0aGUgZGF0YWJhc2UKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkKICB7CiAgICBpZiggJHRoaXMtPl9pZCA8PSAwICkgewogICAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0Nhbm5vdCBkZWxldGUgYSBqb2Igd2l0aCBubyBpZC4nKTsKICAgIH0KCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2dqb2JtZ3IgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5faWQpKTsKCiAgICAkbmFtZSA9ICR0aGlzLT5uYW1lOwogICAgJGlkID0gJHRoaXMtPm5hbWU7CiAgICAkdGhpcy0+X2lkID0gbnVsbDsKCgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dKb2JNZ3InKTsKICAgIGF1ZGl0KCRpZCwkbW9kLT5HZXROYW1lKCksJ0RlbGV0ZWQgSm9iOiAnLiRuYW1lKTsKICAgICRtb2QtPlNlbmRFdmVudCgnSm9iRGVsZXRlZCcsYXJyYXkoJ2pvYic9PiR0aGlzKSk7CiAgfQoKCiAgLyoqCiAgICogU2F2ZSB0aGUgam9icyBjdXJyZW50IHN0YXRlIHRvIHRoZSBkYXRhYmFzZQogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICBpZiggJHRoaXMtPl9pZCA8PSAwICkgewogICAgICAkdGhpcy0+X2luc2VydCgpOwogICAgfQogICAgZWxzZSB7CiAgICAgICR0aGlzLT5fdXBkYXRlKCk7CiAgICB9CgogICAgY2dqb2JtZ3JfdXRpbHM6Om5vdGlmaWVyKCR0aGlzKTsKICB9CgoKICAvKioKICAgKiBMb2NrIHRoZSBjdXJyZW50IGpvYiBzbyB0aGF0IGl0IGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoZSBhdXRvbWF0aWMgcHJvY2VzcyBoYW5kbGluZwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBsb2NrKCkKICB7CiAgICBpZiggISR0aGlzLT5faWQgKQogICAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0F0dGVtcHQgdG8gbG9jayBhIGpvYiB0aGF0IGhhcyBub3QgYmVlbiBzYXZlZCcpOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2dqb2JtZ3IgU0VUIGxvY2tlZCA9IDEgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5faWQpKTsKICAgIGlmKCAkZGItPkVycm9yTXNnKCkgKQogICAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ1Byb2JsZW0gbG9ja2luZyBqb2IgJy4kdGhpcy0+X2lkKTsKICB9CgoKICAvKioKICAgKiBVbmxvY2sgdGhlIGN1cnJlbnQgam9iIHRvIGFsbG93IGZvciBhdXRvbWF0aWMgcHJvY2Vzc2luZy4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gdW5sb2NrKCkKICB7CiAgICBpZiggISR0aGlzLT5faWQgKSB7CiAgICAgIHRocm93IG5ldyBDR0pvYk1nckV4Y2VwdGlvbignQXR0ZW1wdCB0byB1bmxvY2sgYSBqb2IgdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQnKTsKICAgIH0KCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnam9ibWdyIFNFVCBsb2NrZWQgPSAwIFdIRVJFIGlkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+X2lkKSk7CiAgICBpZiggJGRiLT5FcnJvck1zZygpICkKICAgICAgdGhyb3cgbmV3IENHSm9iTWdyRXhjZXB0aW9uKCdQcm9ibGVtIHVubG9ja2luZyBqb2IgJy4kdGhpcy0+X2lkKTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_jobhandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKYWJzdHJhY3QgY2xhc3MgY2dqb2JtZ3Jfam9iaGFuZGxlcgp7CiAgcHJvdGVjdGVkICRfam9iOwogIHByaXZhdGUgICAkX3ZhbHVlczsKCiAgc3RhdGljIHByaXZhdGUgJF9pbnN0YW5jZTsKCiAgLyoqCiAgICogSW5pdGlhbGl6ZSB0aGUgam9iIG1hbmFnZXIgd2l0aCBhIGpvYgogICAqCiAgICogQHBhcmFtIGNnam9ibWdyX2pvYiBUaGUgam9iIG9iamVjdC4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoY2dqb2JtZ3Jfam9iJiAkam9iKQogIHsKICAgIGlmKCBpc19vYmplY3Qoc2VsZjo6JF9pbnN0YW5jZSkgKQogICAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0F0dGVtcHQgdG8gY3JlYXRlIG11bHRpcGxlIGpvYiBtYW5hZ2VycycpOwoKICAgIHNlbGY6OiRfaW5zdGFuY2UgPSAkdGhpczsKICAgICR0aGlzLT5fam9iID0gJGpvYjsKICB9CgogIC8qKgogICAqIFByb2Nlc3MgdGhlIGpvYiB0byB0aGUgbmV4dCBzdGVwCiAgICovCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIHByb2Nlc3MoKTsKCiAgLyoqCiAgICogR2V0IHRoZSBqb2IgaW5zdGFuY2UKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZnZXRfaW5zdGFuY2UoKQogIHsKICAgIHJldHVybiBzZWxmOjokX2luc3RhbmNlOwogIH0KCiAgLyoqCiAgICogQXR0YWNoIGRhdGEgdG8gdGhlIGpvYiBoYW5kbGVyLgogICAqIFRoaXMgZGF0YSBpcyBvbmx5IHZhbGlkIGZvciBvbmUgcmVxdWVzdC4gIEl0IGlzIG5vdCBzZXJpYWxpemVkIG9yIHN0b3JlZC4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGRhdGEga2V5CiAgICogQHBhcmFtIG1peGVkICBUaGUgdmFsdWUuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHNldF92YWx1ZSgka2V5LCR2YWx1ZSkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fdmFsdWVzKSApICR0aGlzLT5fdmFsdWVzID0gYXJyYXkoKTsKICAgICR0aGlzLT5fdmFsdWVzWyRrZXldID0gJHZhbHVlOwogIH0KCgogIC8qKgogICAqIFJldHJpZXZlIGRhdGEgYXR0YWNoZWQgdG8gdGhlIGpvYiBoYW5kbGVyCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBkYXRhIGtleQogICAqIEBwYXJhbSBtaXhlZCAgVGhlIGRlZmF1bHQgZGF0YSBpZiB0aGUgZGF0YSBoYXMgbm90IGJlZW4gc2V0CiAgICogQHJldHVybnMgbWl4ZWQKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbHVlKCRrZXksJGRmbHQgPSAnJykKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fdmFsdWVzKSApIHJldHVybiAkZGZsdDsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl92YWx1ZXNbJGtleV0pICkgcmV0dXJuICRkZmx0OwogICAgCiAgICByZXR1cm4gJHRoaXMtPl92YWx1ZXNbJGtleV07CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_simpletask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dqb2JtZ3Jfc2ltcGxldGFzayBleHRlbmRzIGNnam9ibWdyX3Rhc2sKewogIC8qKgogICAqIFJ1biB0aGUgc3BlY2lmaWVkIGZ1bmN0aW9ucy4KICAgKiBUaGlzIHRhc2sgY2FsbHMgdGhlIHNwZWNpZmllZCBmdW5jdGlvbiBhbmQgaW50ZXJwcmV0cyB0aGUgcmVzdWx0CiAgICoKICAgKiBJZiB0aGUgc3RhdHVzIHJldHVybmVkIGZyb20gdGhlIGZ1bmN0aW9uIGlzIGludmFsaWQsIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9ydW5fdGFzaygpCiAgewogICAgJGZuID0gJHRoaXMtPmdldF9mdW5jdGlvbigpOwogICAgaWYoICFpc19jYWxsYWJsZSgkZm4pICkKICAgICAgewoJdGhyb3cgbmV3IENHSm9iTWdyRXhjZXB0aW9uKCdJbnZhbGlkIGZ1bmN0aW9uIHNwZWNpZmljYXRpb24nKTsKICAgICAgfQogICAgLy8gdGhpcyBpcyBhIHJlZ3VsYXIgdGFzay4uLiBpdCBydW5zIG9uY2UgYW5kIHRoZW4gd2UgZ28gb24gdG8gdGhlIHRoZSBuZXh0IG9uZS4KICAgIAogICAgJHJlcyA9IGNhbGxfdXNlcl9mdW5jX2FycmF5KCRmbixhcnJheSgmJHRoaXMpKTsKICAgIHN3aXRjaCggJHJlcyApCiAgICAgIHsKICAgICAgY2FzZSBzZWxmOjpTVEFUVVNfRVJST1I6CgkkdGhpcy0+c2V0X3N0YXR1cygkcmVzKTsKCXRocm93IG5ldyBDR0pvYk1nckV4Y2VwdGlvbigkdGhpcy0+Z2V0X25hbWUoKS4nIGZhaWxlZCcpOwoJCiAgICAgIGNhc2Ugc2VsZjo6U1RBVFVTX0NPTVBMRVRFOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19JTkNPTVBMRVRFOgoJJHRoaXMtPnNldF9zdGF0dXMoJHJlcyk7CglyZXR1cm4gJHJlczsKCiAgICAgIGRlZmF1bHQ6Cgl0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ0ludmFsaWQgcmV0dXJuIHZhbHVlICgnLiRyZXMuJykgZnJvbSB0YXNrIGZ1bmN0aW9uJyk7CiAgICAgIH0KICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_task.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKYWJzdHJhY3QgY2xhc3MgY2dqb2JtZ3JfdGFzawp7CiAgY29uc3QgU1RBVFVTX05PTkUgPSAnbm9uZSc7CiAgY29uc3QgU1RBVFVTX0VSUk9SID0gJ2Vycm9yJzsKICBjb25zdCBTVEFUVVNfSU5DT01QTEVURSA9ICdpbmNvbXBsZXRlJzsKICBjb25zdCBTVEFUVVNfQ09NUExFVEUgPSAnY29tcGxldGUnOwogIAogIHByaXZhdGUgJF9uYW1lOwogIHByaXZhdGUgJF9wZXJzaXN0ZW50OwogIHByaXZhdGUgJF9mdW5jdGlvbjsKCiAgLyoqCiAgICogQ29uc3RydWN0b3IKICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHRhc2sgbmFtZQogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSA9ICcnKQogIHsKICAgICR0aGlzLT5zZXRfc3RhdHVzKHNlbGY6OlNUQVRVU19OT05FKTsKICAgICR0aGlzLT5fbmFtZSA9ICRuYW1lOwogIH0KCgogIC8qKgogICAqIEdldCB0aGUgdGFzayBuYW1lCiAgICoKICAgKiBAcmV0dXJucyBzdHJpbmcKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X25hbWU7CiAgfQoKCiAgLyoqCiAgICogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgYnkgdGhlIHRhc2sgdG8gYWN0dWFsbHkgZG8gdGhlIHdvcmsKICAgKgogICAqIGkuZTogICR0YXNrLT5zZXRfZnVuY3Rpb24oJ3NvbWVfZnVuY3Rpb24nKTsKICAgKiBpLmU6ICAkdGFzay0+c2V0X2Z1bmN0aW9uKCdzb21lX2NsYXNzOjpzb21lX2Z1bmN0aW9uJyk7IC0tIGNhbGwgYSBzdGF0aWMgbWV0aG9kCiAgICogaS5lOiAgJHRhc2stPnNldF9mdW5jdGlvbihhcnJheSgnc29tZV9jbGFzcycsJ3NvbWVfZnVuY3Rpb24nKSk7IC0tIGNhbGwgYSBzdGF0aWMgbWV0aG9kCiAgICoKICAgKiBAcGFyYW0gbWl4ZWQgZm4uLi4gbWF5IGJlIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBmdW5jdGlvbiBuYW1lIChvciBzdGF0aWMgbWV0aG9kIG5hbWUpCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHNldF9mdW5jdGlvbigkZm4pCiAgewogICAgaWYoIGlzX3N0cmluZygkZm4pICkKICAgICAgewoJJHRoaXMtPl9mdW5jdGlvbiA9ICRmbjsKICAgICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGZuKSAmJiBjb3VudCgkZm4pID09IDIgJiYgaXNfc3RyaW5nKCRmblswXSkgJiYgaXNfc3RyaW5nKCRmblsxXSkgKQogICAgICB7CgkkdGhpcy0+X2Z1bmN0aW9uID0gJGZuOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWUgcGFzc2VkIHRvIHNldF9mdW5jdGlvbicpOwogICAgICB9CiAgfQoKCiAgLyoqCiAgICogUmV0cmlldmUgZGF0YSBzdG9yZWQgd2l0aCB0aGUgdGFzawogICAqCiAgICogQHBhcmFtIHN0cmluZyB0aGUgZGF0YSBrZXkKICAgKiBAcGFyYW0gbWl4ZWQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBrZXkgaWYgaXQgY2Fubm90IGJlIGZvdW5kCiAgICogQHJldHVybnMgbWl4ZWQKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BlcnNpc3RlbnRfZGF0YSgka2V5LCRkZmx0ID0gJycpCiAgewogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X3BlcnNpc3RlbnQpICkgcmV0dXJuICRkZmx0OwogICAgaWYoICFpc3NldCgkdGhpcy0+X3BlcnNpc3RlbnRbJGtleV0pICkgcmV0dXJuICRkZmx0OwogICAgcmV0dXJuICR0aGlzLT5fcGVyc2lzdGVudFska2V5XTsKICB9CgoKICAvKioKICAgKiBBc3NvY2lhdGUgZGF0YSB3aXRoIHRoZSB0YXNrLgogICAqIFRoZSBkYXRhIGlzIHNlcmlhbGl6ZWQgYmVmb3JlIGJlaW5nIHNhdmVkLgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZGF0YSBrZXkKICAgKiBAcGFyYW0gbWl4ZWQgIFRoZSBkYXRhIHRvIHN0b3JlCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHNldF9wZXJzaXN0ZW50X2RhdGEoJGtleSwkdmFsdWUpCiAgewogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X3BlcnNpc3RlbnQpICkgJHRoaXMtPl9wZXJzaXN0ZW50ID0gYXJyYXkoKTsKICAgICR0aGlzLT5fcGVyc2lzdGVudFska2V5XSA9ICR2YWx1ZTsKICB9CgoKICAvKioKICAgKiBSZXRyaWV2ZXMgdGhlIGZ1bmN0aW9uIHRoYXQgd2lsbCBkbyB0aGUgYWN0dWFsIHdvcmsgZm9yIHRoZSB0YXNrCiAgICogCiAgICogQHJldHVybnMgbWl4ZWQKICAgKiBAaW50ZXJuYWwKICAgKi8KICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2Z1bmN0aW9uKCkKICB7CiAgICBpZiggISR0aGlzLT5fZnVuY3Rpb24gKQogICAgICB0aHJvdyBuZXcgQ0dKb2JNZ3JFeGNlcHRpb24oJ05vIGZ1bmN0aW9uIGRlZmluZWQgZm9yIHRhc2snKTsKCiAgICByZXR1cm4gJHRoaXMtPl9mdW5jdGlvbjsKICB9CgoKICAvKioKICAgKiBQcm90ZWN0ZWQgbWV0aG9kIHRoYXQgYWN0dWFsbHkgY2FsbHMgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb24KICAgKiAKICAgKiBAaW50ZXJuYWwKICAgKiBAcmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSB0YXNrCiAgICovCiAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIF9ydW5fdGFzaygpOwoKCiAgLyoqCiAgICogU2V0IHRoZSB0YXNrIHN0YXR1cwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3RhdHVzKCRzdGF0dXMpCiAgewogICAgc3dpdGNoKCAkc3RhdHVzICkKICAgICAgewogICAgICBjYXNlIHNlbGY6OlNUQVRVU19OT05FOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19JTkNPTVBMRVRFOgogICAgICBjYXNlIHNlbGY6OlNUQVRVU19FUlJPUjoKICAgICAgY2FzZSBzZWxmOjpTVEFUVVNfQ09NUExFVEU6CgkkdGhpcy0+c2V0X3BlcnNpc3RlbnRfZGF0YSgnX19zdGF0dXNfXycsJHN0YXR1cyk7CglicmVhazsKICAgICAgZGVmYXVsdDoKCXRocm93IG5ldyBDR0pvYk1nckV4Y2VwdGlvbignQ2Fubm90IHNldCB0YXNrIHN0YXR1cyB0bzogJy4kc3RhdHVzKTsKICAgICAgfQogIH0KCgogIC8qKgogICAqIFJldHJpZXZlIHRoZSB0YXNrIHN0YXR1cwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfc3RhdHVzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wZXJzaXN0ZW50X2RhdGEoJ19fc3RhdHVzX18nLHNlbGY6OlNUQVRVU19OT05FKTsKICB9CgoKICAvKioKICAgKiBFeGVjdXRlIHRoZSB0YXNrCiAgICoKICAgKiBAcmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSB0YXNrCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoKQogIHsKICAgICRyZXMgPSAkdGhpcy0+X3J1bl90YXNrKCk7CiAgICByZXR1cm4gJHJlczsKICB9CgogIC8qKgogICAqIEdldCBDR0pvYk1nciBydW4gaW50ZXJ2YWwuCiAgICoKICAgKiBAcmV0dXJuIGludGVnZXIgdGhlIHJ1biBpbnRlcnZhbCAoaW4gbWludXRlcyksIG9yIG51bGwuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9ydW5faW50ZXJ2YWwoKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHSm9iTWdyJyk7CiAgICAkc3RhdHMgPSAkbW9kLT5HZXRTdGF0cygpOwogICAgaWYoICFpc19hcnJheSgkc3RhdHMpICkgcmV0dXJuOwogICAgaWYoICFpc3NldCgkc3RhdHNbJ2ludGVydmFsJ10pICkgcmV0dXJuOwoKICAgIHJldHVybiAoaW50KSRzdGF0c1snaW50ZXJ2YWwnXTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgjobmgr_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dqb2JtZ3JfdXRpbHMKewogIHByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2pvYnMoJGNyaXRlcmlhID0gYXJyYXkoKSkKICB7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnam9ibWdyJzsKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgCiAgICBmb3JlYWNoKCAkY3JpdGVyaWEgYXMgJGtleSA9PiAkcGFyYW1zICkgewogICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgIGNhc2UgJ25hbWUnOgoJJHBhcmFtcyA9IHN0cl9yZXBsYWNlKCcqJywnJScsJHBhcmFtcyk7Cgkkd2hlcmVbXSA9ICduYW1lIExJS0UgPyc7CgkkcGFybXNbXSA9ICRwYXJhbXM7CglicmVhazsKCiAgICAgIGNhc2UgJ293bmVyJzoKCSR3aGVyZVtdID0gJ293bmVyID0gPyc7CgkkcGFybXNbXSA9IChpbnQpJHBhcmFtczsKCWJyZWFrOwoKICAgICAgY2FzZSAnc3RhdHVzJzoKCWlmKCAhaXNfYXJyYXkoJHBhcmFtcykgKSB7CgkgICRwYXJhbXMgPSBhcnJheSgkcGFyYW1zKTsKCX0KCSRwYXJhbXMgPSAnKCcuY2dlX2FycmF5OjppbXBsb2RlX3F1b3RlZCgkcGFyYW1zKS4nKSc7Cgkkd2hlcmVbXSA9ICdzdGF0dXMgSU4gJy4kcGFyYW1zOwoJYnJlYWs7CgogICAgICBjYXNlICdzdGFydGVkJzoKCSR3aGVyZVtdID0gJ0NPQUxFU0NFKHN0YXJ0ZWRfYXQsVU5JWF9USU1FU1RBTVAoKSkgPCBVTklYX1RJTUVTVEFNUCgpJzsKCWJyZWFrOwogICAgICB9CiAgICB9CgogICAgaWYoIGNvdW50KCR3aGVyZSkgKSB7CiAgICAgICRxdWVyeSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICB9CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LCRwYXJtcyk7CgogICAgaWYoICFpc19hcnJheSgkZGJyKSB8fCBjb3VudCgkZGJyKSA9PSAwICkgewogICAgICByZXR1cm47CiAgICB9CgogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7CiAgICAgICRvdXRbXSA9IGNnam9ibWdyX2pvYjo6bG9hZF9mcm9tX2RhdGEoJHJvdyk7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgoKICAvKioKICAgKiBUaGlzIHNlbmRzIG5vdGlmaWNhdGlvbiBlbWFpbHMgb3V0IHJlbGF0ZWQgdG8gdGhlIHN0YXR1cyBvZiB0aGUgam9iLgogICAqCiAgICogQGludGVybmFsCiAgICogQGlnbm9yZQogICAqIEBwYXJhbSBjZ2pvYm1ncl9qb2IgIFRoZSBqb2Igd2UgYXJlIG5vdGlmeWluZyBhYm91dC4KICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG5vdGlmaWVyKGNnam9ibWdyX2pvYiAkam9iKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHSm9iTWdyJyk7CiAgICAkZ3JvdXBzID0gdW5zZXJpYWxpemUoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbm90aWZpY2F0aW9uX2dyb3VwcycpKTsKICAgICRzdGF0dXMgPSB1bnNlcmlhbGl6ZSgkbW9kLT5HZXRQcmVmZXJlbmNlKCdub3RpZmljYXRpb25fc3RhdHVzJykpOwogICAgaWYoICRncm91cHMgPT0gJycgfHwgKGlzX2FycmF5KCRncm91cHMpICYmIGNvdW50KCRncm91cHMpID09IDApICkgcmV0dXJuOwogICAgaWYoICRzdGF0dXMgPT0gJycgfHwgKGlzX2FycmF5KCRzdGF0dXMpICYmIGNvdW50KCRzdGF0dXMpID09IDApICkgcmV0dXJuOwoKICAgIC8vIGNoZWNrIGlmIHRoZSBqb2Igc3RhdHVzIGlzIHNvbWV0aGluZyB3ZSdyZSBjb25jZXJuZWQgYWJvdXQKICAgIGlmKCAhaW5fYXJyYXkoJGpvYi0+Z2V0X3N0YXR1cygpLCRzdGF0dXMpICkgcmV0dXJuOwogICAgaWYoICRqb2ItPnJlY3VyX2ludGVydmFsID4gMCApIHJldHVybjsKCiAgICAvLyBub3cgd2UgaGF2ZSBncm91cHMsLCBzZWUgaWYgd2UgY2FuIGZpbmQgYW55IGVtYWlsIGFkZGRyZXNzZXMuCiAgICAkb3BzID0gY21zbXMoKS0+R2V0VXNlck9wZXJhdGlvbnMoKTsKICAgICRlbWFpbGxpc3QgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGdyb3VwcyBhcyAkZ3JvdXBpZCApIHsKICAgICAgJGxpc3QgPSAkb3BzLT5Mb2FkVXNlcnNJbkdyb3VwKCRncm91cGlkKTsKICAgICAgaWYoIGlzX2FycmF5KCRsaXN0KSAmJiBjb3VudCgkbGlzdCkgKSB7Cglmb3JlYWNoKCAkbGlzdCBhcyAkdXNlciApIHsKCSAgaWYoICR1c2VyLT5lbWFpbCAhPSAnJyAmJiAhaW5fYXJyYXkoJHVzZXItPmVtYWlsLCRlbWFpbGxpc3QpICkgewoJICAgICRlbWFpbGxpc3RbXSA9ICR1c2VyLT5lbWFpbDsKCSAgfQoJfQogICAgICB9CiAgICB9CiAgICBpZiggIWNvdW50KCRlbWFpbGxpc3QpICkgcmV0dXJuOwoKICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPmFzc2lnbignam9iJywkam9iKTsKCiAgICAvLyBub3cgd2UgZ290dGEgc2VuZCBhbiBlbWFpbAogICAgJG1haWxlciA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ01TTWFpbGVyJyk7CiAgICAkbWFpbGVyLT5yZXNldCgpOwogICAgJG1haWxlci0+SXNIVE1MKFRSVUUpOwogICAgZm9yZWFjaCggJGVtYWlsbGlzdCBhcyAkb25lICkgewogICAgICAkbWFpbGVyLT5BZGRBZGRyZXNzKCRvbmUpOwogICAgfQogICAgJG1haWxlci0+U2V0U3ViamVjdCgnQWxlcnQ6ICcuJG1vZC0+R2V0TmFtZSgpLicgSm9iIFRlcm1pbmF0ZWQnKTsKICAgICRib2R5ID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlKCdqb2Jfbm90aWZpY2F0aW9ucy50cGwnKTsKICAgICRtYWlsZXItPlNldEJvZHkoJGJvZHkpOwogICAgJG1haWxlci0+U2VuZCgpOwoKICAgIGF1ZGl0KCRqb2ItPmlkLCRtb2QtPkdldE5hbWUoKSwnTm90aWZpY2F0aW9ucyBTZW50IHRvICcuY291bnQoJGVtYWlsbGlzdCkuJyB1c2VycyBiZWNhdXNlIGpvYiBzdGF0dXMgaXMgJy4kam9iLT5nZXRfc3RhdHVzKCkpOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/extraclasses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgQ0dKb2JNZ3JFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge30KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSBjbXNtcygpLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgokZmxkcyA9ICdpZCBJIEFVVE8gS0VZLAogICAgICAgICBuYW1lIEMoMjU1KSwgCiAgICAgICAgIG93bmVyIEksCiAgICAgICAgIHByaW9yaXR5IEksCiAgICAgICAgIHN0YXR1cyBDKDI1KSwKICAgICAgICAgYXNzb2MgIFgsCiAgICAgICAgIHRhc2tzICBYLAogICAgICAgICBsb2NrZWQgIEkxLAogICAgICAgICByZWN1cl9pbnRlcnZhbCBJIERFRkFVTFQgMCwKICAgICAgICAgc3RhcnRfYXQgSSwKICAgICAgICAgc3RhcnRlZF9hdCBJLAogICAgICAgICBmaW5pc2hlZF9hdCBJLAogICAgICAgICBjcmVhdGVkICcuQ01TX0FET0RCX0RULicsCiAgICAgICAgIG1vZGlmaWVkICcuQ01TX0FET0RCX0RUOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2dqb2JtZ3InLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgSm9icycsJ01hbmFnZSBKb2JzJyk7CgokdGhpcy0+Q3JlYXRlRXZlbnQoJ0pvYkZpbmlzaGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnSm9iUGF1c2VkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnSm9iUmVzdW1lZCcpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ0pvYkRlbGV0ZWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdKb2JDcmVhdGVkJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2Nnam9ibWdyIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01hbmFnZSBKb2JzJyk7CgokdGhpcy0+UmVtb3ZlRXZlbnQoJ0pvYkZpbmlzaGVkJyk7CiR0aGlzLT5SZW1vdmVFdmVudCgnSm9iUGF1c2VkJyk7CiR0aGlzLT5SZW1vdmVFdmVudCgnSm9iUmVzdW1lZCcpOwokdGhpcy0+UmVtb3ZlRXZlbnQoJ0pvYkRlbGV0ZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdKb2JDcmVhdGVkJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHSm9iTWdyIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBtYW5hZ2Ugam9icyB0aGF0IHRha2UgY29uc2lkZXJhYmxlCiMgIGFtb3VudHMgb2YgdGltZSB0byBwcm9jZXNzLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwnMS4yJykgPCAwICkgewogICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2dqb2JtZ3IiLCAicmVjdXJfaW50ZXJ2YWwgSSBERUZBVUxUIDAsc3RhcnRfYXQgSSxzdGFydGVkX2F0IEksZmluaXNoZWRfYXQgSSIpOwogICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKfQppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcxLjIuMicpIDwgMCApIHsKICAkdGhpcy0+Q3JlYXRlRXZlbnQoJ0pvYkZpbmlzaGVkJyk7CiAgJHRoaXMtPkNyZWF0ZUV2ZW50KCdKb2JQYXVzZWQnKTsKICAkdGhpcy0+Q3JlYXRlRXZlbnQoJ0pvYlJlc3VtZWQnKTsKICAkdGhpcy0+Q3JlYXRlRXZlbnQoJ0pvYkRlbGV0ZWQnKTsKICAkdGhpcy0+Q3JlYXRlRXZlbnQoJ0pvYkNyZWF0ZWQnKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_jobstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICFpc3NldCgkam9icyl9CjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiByZWQ7Ij57JG1vZC0+TGFuZygnbXNnX25vam9icycpfTwvcD4Ke2Vsc2V9Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2pvYl9pZCcpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnam9iX25hbWUnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2pvYl9vd25lcicpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnam9iX3ByaW9yaXR5Jyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdqb2JfcmVjdXJzJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdqb2Jfc3RhdHVzJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdqb2JfbG9ja2VkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdqb2JfY3JlYXRlZCcpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnam9iX21vZGlmaWVkJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogcGF1c2UvcmVzdW1lICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZGVsZXRlICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogY2hlY2tib3ggKn08L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSRqb2JzIGl0ZW09J2pvYid9CiAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgogICAgICA8dGQ+eyRqb2IuaWR9PC90ZD4KICAgICAgPHRkPnskam9iLm5hbWV9PC90ZD4KICAgICAgPHRkPntpZiBpc3NldCgkam9iLm93bmVyX25hbWUpfXskam9iLm93bmVyX25hbWV9IHsvaWZ9e2lmICRqb2Iub3duZXJ9KHskam9iLm93bmVyfSl7L2lmfTwvdGQ+CiAgICAgIDx0ZD57JGpvYi5wcmlvcml0eX08L3RkPgogICAgICA8dGQ+eyRqb2IucmVjdXJfaW50ZXJ2YWx9PC90ZD4KICAgICAgPHRkPnskbW9kLT5MYW5nKCRqb2Iuc3RhdHVzKX08L3RkPiAKICAgICAgPHRkPntpZiAkam9iLmxvY2tlZH17J3llcyd8bGFuZ317ZWxzZX17J25vJ3xsYW5nfXsvaWZ9PC90ZD4KICAgICAgPHRkPnskam9iLmNyZWF0ZWR8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+CiAgICAgIDx0ZD57JGpvYi5tb2RpZmllZHxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgICAgPHRkPnskam9iLnBhdXNlX2xpbmt8ZGVmYXVsdDonJ308L3RkPgogICAgICA8dGQ+eyRqb2IuZGVsZXRlX2xpbmt8ZGVmYXVsdDonJ308L3RkPgogICAgICA8dGQ+PC90ZD4KICAgIDwvdHI+CiAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KeyRsaW5rX2RlbGV0ZWZpbmlzaGVkfQo8L2Rpdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_notifications_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25vdGlmaWNhdGlvbl9zdGF0dXNlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9bm90aWZpY2F0aW9uX3N0YXR1c1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjMiLz4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRzdGF0dXNlcyBzZWxlY3RlZD0kbm90aWZpY2F0aW9uX3N0YXR1c30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX25vdGlmaWNhdGlvbl9zdGF0dXNlcycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25vdGlmaWNhdGlvbl9ncm91cHMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW5vdGlmaWNhdGlvbl9ncm91cHNbXSIgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSIzIi8+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kYWRtaW5ncm91cHMgc2VsZWN0ZWQ9JG5vdGlmaWNhdGlvbl9ncm91cHN9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19ub3RpZmljYXRpb25fZ3JvdXBzJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_settingstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Byb2Nlc3N1cmwnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGEgc3R5bGU9ImNvbG9yOiBibHVlOyIgaHJlZj0ieyRwcm9jZXNzX3VybH0iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2NsaWNrbWVfcHJvY2Vzc3VybCcpfSI+eyRwcm9jZXNzX3VybH08L2E+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fcHJvY2Vzc3VybCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2Nyb25qb2JfaW50ZXJ2YWwnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3JvbmpvYl9pbnRlcnZhbCIgc2l6ZT0iNCIgbWF4bGVuZ3RoPSI0IiB2YWx1ZT0ieyRjcm9uam9iX2ludGVydmFsfGRlZmF1bHQ6Jyd9Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fY3JvbmpvYl9pbnRlcnZhbCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VzY2FsYXRpb25faW50ZXJ2YWxsaW1pdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1lc2NhbGF0aW9uX2ludGVydmFsbGltaXQiIHNpemU9IjQiIG1heGxlbmd0aD0iNCIgdmFsdWU9InskZXNjYWxhdGlvbl9pbnRlcnZhbGxpbWl0fGRlZmF1bHQ6Jyd9Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fZXNjYWxhdGlvbl9pbnRlcnZhbGxpbWl0Jyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGZsdHBhZ2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRpbnB1dF9kZmx0cGFnZX0KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19kZmx0cGFnZScpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RpbWVvdXQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dGltZW91dCIgdmFsdWU9InskdGltZW91dH0iIHNpemU9IjQiIG1heGxlbmd0aD0iNCIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3RpbWVvdXQnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9tYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1tYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucyIgdmFsdWU9InskbWF4X2F1dG90YXNrX2l0ZXJhdGlvbnN9IiBzaXplPSI0IiBtYXhsZW5ndGg9IjQiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19tYXhfYXV0b3Rhc2tfaXRlcmF0aW9ucycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3NsYWNrJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWl0ZXJhdGl2ZV9zbGFjayIgdmFsdWU9InskaXRlcmF0aXZlX3NsYWNrfSIgc2l6ZT0iNiIgbWF4bGVuZ3RoPSI2Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fc2xhY2snKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/job_notifications.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkEgQ0dKb2JNZ3IgSm9iIGhhcyB0ZXJtaW5hdGVkPC9oMz4KCjxwPllvdSBhcmUgcmVjZWl2aW5nIHRoaXMgbm90aWZpY2F0aW9uIHRvIGluZm9ybSB5b3Ugb2YgYSBqb2IgdGhhdCBoYXMgdGVybWluYXRlZCB3aXRoIGFuIGltcG9ydGFudCBzdGF0dXMuPC9wPgoKPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjIiPgogIDx0cj4KICAgIDx0ZD48c3Ryb25nPkpvYiBOYW1lOjwvc3Ryb25nPjwvdGQ+CiAgICA8dGQ+eyRqb2ItPm5hbWV9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48c3Ryb25nPkpvYiBJZDo8L3N0cm9uZz48L3RkPgogICAgPHRkPnskam9iLT5pZH08L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxzdHJvbmc+Sm9iIE93bmVyOjwvc3Ryb25nPjwvdGQ+CiAgICA8dGQ+eyRqb2ItPm93bmVyfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PHN0cm9uZz5Kb2IgU3RhdHVzOjwvc3Ryb25nPjwvdGQ+CiAgICA8dGQ+eyRqb2ItPnN0YXR1c308L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxzdHJvbmc+Sm9iIFN0YXJ0ZWQgQXQ6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZD57JGpvYi0+c3RhcnRlZF9hdHxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48c3Ryb25nPkpvYiBGaW5pc2hlZCBBdDo8L3N0cm9uZz48L3RkPgogICAgPHRkPnskam9iLT5maW5pc2hlZF9hdHxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICA8L3RyPgp7aWYgJGpvYi0+Z2V0X21lc3NhZ2UoKSAhPSAnJ30KICA8dHI+CiAgICA8dGQ+PHN0cm9uZz5NZXNzYWdlOjwvc3Ryb25nPjwvdGQ+CiAgICA8dGQ+eyRqb2ItPmdldF9tZXNzYWdlKCl9PC90ZD4KICA8L3RyPgp7L2lmfQo8L3RhYmxlPgoKPHA+WW91IGFyZSBhZHZpc2VkIHRvIGxvZ2luIHRvIHRoZSBhZG1pbiBpbnRlcmZhY2Ugb24geW91ciBzaXRlIHRvIHJldmlldyB0aGUgZXJyb3IgbG9nLjwvcD4=]]></data>
	</file>
</module>
