<?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>AuthNetAim</name>
	<version>1.5.1</version>
  <mincmsversion>1.12.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciB5b3VyIGN1c3RvbWVycyB0byBwYXkgZm9yIHRoZWlyIHB1cmNoYXNlcyB1c2luZyB0aGVpciBjcmVkaXQgY2FyZCBkaXJlY3RseSBvbiB5b3VyIHNpdGUgdXNpbmcgdGhlIEF1dGhvcml6ZS5OZXQgc2VjdXJlIGdhdGV3YXkuPC9wPgoKPGgzPldoeSBzaG91bGQgSSB1c2UgaXQ/PC9oMz4KPHA+VGhpcyBnYXRld2F5IHdvcmtzIHdpdGhvdXQgcmVkaXJlY3RpbmcgdGhlIHVzZXIgdG8gYSBkaWZmZXJlbnQgd2Vic2l0ZSwgYW5kIHRoZW4gcmVkaXJlY3RpbmcgdGhlbSBiYWNrLiAgSXQgYWxsb3dzIHRoZSBhYmlsaXR5IHRvIHByb3ZpZGUgeW91ciBjdXN0b21lcnMgd2l0aCBhIHNpbmdsZSB1c2VyIGV4cGVyaWVuY2UuPC9wPgoKPGgzPlNwZWNpYWwgUmVxdWlyZW1lbnRzPC9oMz4KPHA+VGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB5b3VyIHdlYiBhcHBsaWNhdGlvbiBiZSBjb25maWd1cmVkIHRvIHByb21wdCB0aGUgdXNlciBmb3IgY3JlZGl0IGNhcmQgaW5mb3JtYXRpb24sIFRoZSBPcmRlcnMgbW9kdWxlIGNhbiBiZSBjb25maWd1cmVkIHRvIGRvIHRoaXMuPC9wPgo8cD5BbHNvIHRoaXMgbW9kdWxlIHdpbGwgcmVxdWlyZSBhIHZhbGlkYXRlZCBzZWN1cmUgZW52aXJvbm1lbnQuICAgWW91IHdpbGwgbmVlZCB0byBwdXJjaGFzZSBhIHZhbGlkYXRlZCBjZXJ0aWZpY2F0ZSBmcm9tIGFuIGFwcHJvdmRlZCBwcm92aWRlciwgaW5zdGFsbCB0aGF0IGNlcnRpZmljYXRlIGluIHlvdXIgd2ViIGhvc3QgZW52aXJvbm1lbnQsIGFuZCB0aGVuIGNvbmZpZ3VyZSBDTVMgTWFkZSBTaW1wbGUgdG8gd29yayBwcm9wZXJseSBpbiBhIHNlY3VyZSBlbnZpcm9ubWVudC48L3A+CjxwPkFkZGl0aW9uYWxseSwgZm9yIHRoZSBzaWxlbnRfcG9zdCBmZWF0dXJlIHRvIGJlIHVzZWQgKHdoaWNoIGlzIHVzZWQgZm9yIG1hbnVhbGx5IGNvbXBsZXRlZCB0cmFuc2FjdGlvbnMgYW5kIGZvciB0cmFuc2FjdGlvbnMgY29taW5nIGZyb20gc3Vic2NyaXB0aW9ucykgeW91IG11c3QgZW5zdXJlIHRoYXQgVVJMIHJld3JpdGluZyBydWxlcyBpbiB5b3VyIC5odGFjY2VzcyBmaWxlIGRvIG5vdCByZWRpcmVjdCB0aGUgc2lsZW50IHBvc3QgVVJMLiAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBJdCBpcyBub3QgY29tbW9uIGtub3dsZWRnZSB0aGF0IGEgUE9TVCByZXF1ZXN0IHRoYXQgaXMgcmV3cml0dGVuIHVzaW5nIG1vZF9yZXdyaXRlIG9yIG90aGVyIHN1Y2ggdGVjaG5vbG9naWVzIGlzIHJlZGlyZWN0ZWQgYXMgYSBHRVQgcmVxdWVzdC48L3A+Cgo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+CjxwPlF1aXRlIHNpbXBseSwgb25jZSBhbGwgb2YgdGhlIGRlcGVuZGVuY2llcyBhcmUgaW5zdGFsbGVkLCB5b3Ugc2ltcGx5IGluc3RhbGwgdGhlIG1vZHVsZS4gIFRoZW4gY29uZmlndXJlIHRoZSBtb2R1bGUgaW4gdGhlIEF1dGhvcml6ZS5ORVQgQUlNL0FSQiBjb250cm9sIHBhbmVsIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW4gY29uc29sZSwgdXNpbmcgdGhlIHRyYW5zYWN0aW9uIGlkLCBhbmQgdGhlIEFQSSBMb2dpbiB0aGF0IGFyZSBwcm92aWRlZCB0byB5b3UgYnkgYXV0aG9yaXplLm5ldC4gVGhlbiBuYXZpZ2F0ZSB0byB0aGUgcHJlZmVyZW5jZXMgdGFiIGluIHRoZSBDR1BheW1lbnRHYXRld2F5IEJhc2UgbW9kdWxlIGFuZCBzZWxlY3QgdGhpcyBtb2R1bGUgYXMgeW91ciBjaG9zZW4gcGF5bWVudCBnYXRld2F5LjwvcD4KCjxoMz5TdWJzY3JpcHRpb25zOjwvaDM+CjxwPlRoaXMgbW9kdWxlIGhhcyBsaW1pdGVkIHN1cHBvcnQgZm9yIHN1YnNjcmlwdGlvbnMgKEZvciBleGFtcGxlIG1lbWJlcnNoaXAgc3Vic2NyaXB0aW9ucywgb3IgcHJvZHVjdCBzdWJzY3JpcHRpb25zKS4gIEl0IHdpbGwgY3JlYXRlIGEgc3Vic2NyaXB0aW9uIHdpdGhpbiB0aGUgQXV0aG9yaXplLk5FVCBNZXJjaGFudCBjZW50ZXIgYXMgYSB1c2VyIGNoZWNrcyBvdXQsIGFuZCB3aWxsIHByb3ZpZGUgaW5mb3JtYXRpb24gb24gZGVjbGluZWQgcGF5bWVudHMsIGV0Yy4gdG8gdGhlIE9yZGVycyBtb2R1bGUgdmlhIHRoZSBBdXRob3JpemUuTkVUIFNpbGVudCBQT1NUIFVSTC4gIEhvd2V2ZXIsIFRoZXJlIGlzIG5vIG1lYW5zIGJ5IHdoaWNoIGEgdmlzaXRvciBjYW4gY2FuY2VsIGEgc3Vic2NyaXB0aW9uIGZyb20gd2l0aGluIHRoZSB3ZWJzaXRlLCBhbmQgdGhlcmUgaXMgbm8gd2F5IHRoYXQgdGhlIG9yZGVycyBtb2R1bGUgY2FuIGtub3cgYWJvdXQgc3Vic2NyaXB0aW9ucyBtYW51YWxseSBhZGRlZCwgZWRpdGVkLCBvciBkZWxldGVkIHdpdGhpbiB0aGUgQXV0aG9yaXplLk5FVCBtZXJjaGFudCBjZW50ZXIuPC9wPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGUgbW9kdWxlIGF1dGhvciBpcyBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiAgSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkEgYnVnIHRyYWNraW5nIGFuZCBmZWF0dXJlIHJlcXVlc3Qgc3lzdGVtIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIHRoaXMgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZnJvbnRlbmR1c2VycyI+aGVyZTwvYT4uICBQbGVhc2UgYmUgdmVyYm9zZSBhbmQgZGVzY3JpcHRpdmUgd2hlbiBzdWJtaXR0aW5nIGJ1ZyByZXBvcnRzIGFuZCBmZWF0dXJlIHJlcXVlc3RzLCBhbmQgZm9yIGJ1ZyByZXBvcnRzIGVuc3VyZSB0aGF0IHlvdSBoYXZlIHByb3ZpZGVkIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gcmVsaWFibHkgcmVwcm9kdWNlIHRoZSBpc3N1ZS48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcm92aWRlIGFsbCByZWxhdmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LiAgSG93ZXZlciwgcGxlYXNlIHVzZSB0aGlzIGFzIGEgbGFzdCByZXNvcnQsIGFuZCBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBmb2xsb3dlZCBhbGwgYXBwbGljYWJsZSBpbnN0cnVjdGlvbnMgb24gdGhlIGZvcmdlLCBpbiB0aGUgZm9ydW1zLCBldGMuPC9saT4KPC91bD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KPGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR1BheW1lbnRHYXRld2F5QmFzZSA9Jmd0OyAxLjYuMjwvbGk+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjUzLjE8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBSb2JlcnQgQ2FtcGJlbGwgJmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS41LjE8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CiAgPGxpPlZlcnNpb24gMS4wIC0gQXByaWwsIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPkluaXRpYWwgUmVsZWFzZTwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4wLjIgLSBPY3RvYmVyLCAyMDA5CiAgICA8dWxsPgogICAgICA8bGk+VXBncmFkZSB0byBiZSBjb21wYXRpYmxlIHdpdGggQ0dQYXltZW50R2F0ZXdheUJhc2UgMS4wLjM8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMSAtIE9jdG9iZXIsIDIwMDkKICAgIDxwPkFkZHMgYW4gYWR2YW5jZWQgdGFiIHRvIGFsbG93IG92ZXJyaWRpbmcgdGhlIFVSTFMgZm9yIGdhdGV3YXlzIHRoYXQgaGF2ZSBBdXRob3JpemUuTkVUIGVtdWxhdG9ycy48L3A+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjIgLSBPY3RvYmVyLCAyMDA5CiAgICA8cD5Ob3cgc3VwcG9ydHMgYWRkaW5nIHRoZSBiaWxsaW5nIGFuZCBzaGlwcGluZyBpbmZvcm1hdGlvbi48L3A+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjIuMyAtIEFwcmlsLCAyMDEwCiAgICA8cD5Ob3cgd29ya3Mgd2l0aCBDR0Vjb21tZXJjZUJhc2UgMS4wLjUuPC9wPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4yLjQgLSBBcHJpbCwgMjAxMAogICAgPHA+Rml4ZXMgZm9yIG11bHRpcGxlIGJhc2tldHMgd2l0aCBtdWx0aXBsZSB0YXggYW5kIHNoaXBwaW5nIGl0ZW1zLjwvcD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMi41IC0gRmVicnVhcnksIDIwMTEKICAgIDxwPkZpeGVzIGZvciBpdGVtcyB3aXRoIG5lZ2F0aXZlIGFtb3VudHMsIGFuZCB3aWVyZCBjaGFyYWN0ZXJzIGluIHRoZSBpdGVtIG5hbWVzLjwvcD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMyAtIE1heSwgMjAxMQogICAgPHVsPgogICAgICA8bGk+QWRkcyBiYXNpYyBzdXBwb3J0IGZvciBjcmVhdGluZyBzdWJzY3JpcHRpb25zIChBUkIpLjwvbGk+CiAgICAgIDxsaT5OdW1lcm91cyBidWcgZml4ZXMuPC9saT4KICAgICAgPGxpPlJlLWxhYmVsLCB1cGRhdGUgZGVwZW5kZW5jaWVzLCBhbmQgdXBkYXRlIGhlbHAuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjMuMSAtIEp1bmUsIDIwMTEKICAgIDxwPk1pbm9yIGJ1ZyBmaXggd3J0IHRlc3QgbW9kZS48L3A+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjUuMSAtIEp1bmUsIDIwMTUKICAgIDxwPlJld3JpdGUgdG8gd29yayB3aXRoIENHRWNvbW1lcmNlQmFzZSAxLjYuMS48L3A+CiAgPC9saT4KPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[A payment gateway for the E-commerce system that uses the AIM and ARB protocols from Authorize.net]]></description>
	<requires>
	  <requiredname>CGPaymentGatewayBase</requiredname>
	  <requiredversion>1.6.2</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.53.1</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_setadvanced.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIHByb3ZpZGUgdGhlIGFiaWxpdHkgdG8gcHJvY2VzcwojICBQYXltZW50cyBtYWRlIHVzaW5nIHRoZSBFLWNvbW1lcmNlIHN1aXRlIHRocm91Z2ggdGhlIEF1dGhOZXQgcGF5bWVudAojICBnYXRld2F5LgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdhZHZhbmNlZCcpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bvc3RfdXJsJyx0cmltKCRwYXJhbXNbJ3Bvc3RfdXJsJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rlc3RfcG9zdF91cmwnLHRyaW0oJHBhcmFtc1sndGVzdF9wb3N0X3VybCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhcmJfdXJsJyx0cmltKCRwYXJhbXNbJ2FyYl91cmwnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGVzdF9hcmJfdXJsJyx0cmltKCRwYXJhbXNbJ3Rlc3RfYXJiX3VybCddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_setprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIHByb3ZpZGUgdGhlIGFiaWxpdHkgdG8gcHJvY2VzcwojICBQYXltZW50cyBtYWRlIHVzaW5nIHRoZSBFLWNvbW1lcmNlIHN1aXRlIHRocm91Z2ggdGhlIEF1dGhOZXQgcGF5bWVudAojICBnYXRld2F5LgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdwcmVmcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgJHRlc3Rtb2RlID0gMDsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd0ZXN0bW9kZSddKSApCiAgICAgIHsKCSR0ZXN0bW9kZSA9IChpbnQpJHBhcmFtc1sndGVzdG1vZGUnXTsKICAgICAgfQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rlc3Rtb2RlJywkdGVzdG1vZGUpOwoKICAgICR0aW55dHJhbnNhY3Rpb25zID0gMDsKICAgIGlmKCBpc3NldCgkcGFyYW1zWyd0aW55dHJhbnNhY3Rpb25zJ10pICkKICAgICAgewoJJHRpbnl0cmFuc2FjdGlvbnMgPSAoaW50KSRwYXJhbXNbJ3Rpbnl0cmFuc2FjdGlvbnMnXTsKICAgICAgfQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rpbnl0cmFuc2FjdGlvbnMnLCR0aW55dHJhbnNhY3Rpb25zKTsKCiAgICAkdXNldGVzdHVybCA9IDA7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndXNldGVzdHVybCddKSApCiAgICAgIHsKCSR1c2V0ZXN0dXJsID0gKGludCkkcGFyYW1zWyd1c2V0ZXN0dXJsJ107CiAgICAgIH0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2V0ZXN0dXJsJywkdXNldGVzdHVybCk7CgogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2luaWQnLCRwYXJhbXNbJ2xvZ2luaWQnXSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndHJhbnNhY3Rpb25rZXknLCRwYXJhbXNbJ3RyYW5zYWN0aW9ua2V5J10pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93X3N1YnNjcmlwdGlvbnMnLChpbnQpJHBhcmFtc1snYWxsb3dfc3Vic2NyaXB0aW9ucyddKTsKICB9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.ccinfo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgp0cnkgewogICAgLy8gcmVxdWlyZSBzc2wuCiAgICBpZiggIWNtc21zKCktPmlzX2h0dHBzX3JlcXVlc3QoKSApIGNnZV9yZWRpcmVjdDo6cmVkaXJlY3RfaHR0cHMoKTsKCiAgICAkZW5jX2tleSA9IGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2tleScpOwogICAgaWYoICEkZW5jX2tleSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19kYXRhJykpOwoKICAgICRyZXMgPSAkdGhpcy0+UmVzdG9yZVN0YXRlKCAkZW5jX2tleSApOwogICAgaWYoICEkcmVzICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9yZXN0b3Jpbmdfc3RhdGUnKSk7CgogICAgaWYoICEkdGhpcy0+Q2hlY2tJbmZvKCkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX3Jlc3RvcmluZ19zdGF0ZScpKTsKCiAgICAkY2NpbmZvID0gYXJyYXkoJ2NjbnVtYmVyJz0+bnVsbCwnY2NleHAnPT5udWxsLCdjY3Zjb2RlJz0+bnVsbCk7CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2F1dGhuZXRfc3VibWl0J10pICkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRjY2luZm9bJ2NjbnVtYmVyJ10gPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2NjbnVtYmVyJykpOwogICAgICAgICAgICAkY2NpbmZvWydjY2V4cCddID0gbWt0aW1lKDIzLDU5LDU5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCkgJHBhcmFtc1snY2NleHAnXVsnRGF0ZV9Nb250aCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpICRwYXJhbXNbJ2NjZXhwJ11bJ0RhdGVfWWVhciddKTsKICAgICAgICAgICAgJGNjaW5mb1snY2N2Y29kZSddID0gKGludCkgdHJpbShjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdjY3Zjb2RlJykpOwoKICAgICAgICAgICAgLy8gbm93IHZhbGRpYXRlIHRoaXMgaW5mbwogICAgICAgICAgICBpZiggIWNnX2Vjb21tX3V0aWxzOjppc19jcmVkaXRjYXJkX251bWJlcigkY2NpbmZvWydjY251bWJlciddKSApIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfY2NudW1iZXJfaW52YWxpZCcpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggJGNjaW5mb1snY2NleHAnXSA8IHRpbWUoKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfY2NleHBfaW52YWxpZCcpKTsKICAgICAgICAgICAgaWYoICRjY2luZm9bJ2NjdmNvZGUnXSA9PSAnJyApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+bGFuZygnZXJyb3JfY2N2Y29kZV9lbXB0eScpKTsKCiAgICAgICAgICAgICR0aGlzLT5TZXRDcmVkaXRDYXJkSW5mbygkY2NpbmZvWydjY251bWJlciddLCRjY2luZm9bJ2NjZXhwJ10sJGNjaW5mb1snY2N2Y29kZSddKTsKICAgICAgICAgICAgJGtleSA9ICR0aGlzLT5TYXZlU3RhdGUoVFJVRSk7CiAgICAgICAgICAgICR0aGlzLT5yZWRpcmVjdCgkaWQsJ3Byb2Nlc3NfcGF5bWVudCcsJHJldHVybmlkLGFycmF5KCdrZXknPT4ka2V5KSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gYnVpbGQgdGhlIGZvcm0KICAgICRrZXkgPSAkdGhpcy0+U2F2ZVN0YXRlKFRSVUUpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2NjaW5mbycsJHJldHVybmlkLGFycmF5KCdrZXknPT4ka2V5KSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgICRzbWFydHktPmFzc2lnbignY2NpbmZvJywkY2NpbmZvKTsKICAgICRzbWFydHktPmFzc2lnbignaW1hZ2VfdXJsJywgJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKS4nL2ltYWdlcy9pY29uLmdpZicpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdjY2luZm9fdGVtcGxhdGUnKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIGVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvck1lc3NhZ2UoJGUtPkdldE1lc3NhZ2UoKSk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CgppZiggISR0aGlzLT5Jc0NvbmZpZ3VyZWQoKSApIHsKICAgIGVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdtc2dfdW5jb25maWd1cmVkJykuJzwvZGl2Pic7Cn0KCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdmb3JtX3RlbXBsYXRlJywkdGhpcy0+TGFuZygnZm9ybV90ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2NpbmZvX3RlbXBsYXRlJywkdGhpcy0+TGFuZygnY2NpbmZvX3RlbXBsYXRlJykpOwp9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmVmcycsJHRoaXMtPkxhbmcoJ3ByZWZlcmVuY2VzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZHZhbmNlZCcsJHRoaXMtPkxhbmcoJ2FkdmFuY2VkJykpOwp9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2Zvcm1fdGVtcGxhdGUnKTsKICAgIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi50ZW1wbGF0ZV90YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2NpbmZvX3RlbXBsYXRlJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uY2NpbmZvX3RlbXBsYXRlX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmcycpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLnByZWZzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZHZhbmNlZCcpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkdmFuY2VkX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.process_payment.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgp1c2UgXENHRUNvbW1lcmNlQmFzZVxwYXltZW50X2dhdGV3YXkgYXMgZ3c7CgppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgp0cnkgewogICAgLy8gcmVzdG9yZSBzdGF0ZSBpbmZvcm1hdGlvbgogICAgJGVuY19rZXkgPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2tleScpKTsKICAgIGlmKCAhJGVuY19rZXkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfZGF0YScpKTsKICAgICRyZXMgPSAkdGhpcy0+UmVzdG9yZVN0YXRlKCRlbmNfa2V5KTsKICAgIGlmKCAhJHRoaXMtPkNoZWNrSW5mbygpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9yZXN0b3Jpbmdfc3RhdGUnKSk7CgogICAgLy8KICAgIC8vIGNoZWNrIGZvciBtaXNzaW5nIGRhdGEKICAgIC8vCiAgICAkbmVlZF9hZGRyZXNzID0gVFJVRTsKCiAgICBzd2l0Y2goICR0aGlzLT5HZXRUcmFuc2FjdGlvblR5cGUoKSApIHsKICAgIGNhc2UgZ3c6OlRSQU5TX1ZPSUQ6CiAgICBjYXNlIGd3OjpUUkFOU19DUkVESVQ6CiAgICAgICAgaWYoICEkdGhpcy0+R2V0VHJhbnNhY3Rpb25JZCgpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2RhdGEnKSk7CiAgICAgICAgJG5lZWRfYWRkcmVzcyA9IEZBTFNFOwogICAgICAgIGlmKCAhJHRoaXMtPkdldFRyYW5zYWN0aW9uQW1vdW50KCkgfHwgISR0aGlzLT5HZXRUcmFuc2FjdGlvbklkKCkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfZGF0YScpKTsKICAgICAgICBicmVhazsKCiAgICBjYXNlIGd3OjpUUkFOU19DQVBUVVJFOgogICAgZGVmYXVsdDoKICAgICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5HZXRQcm9jZXNzZWRDcmVkaXRDYXJkSW5mbygpKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19kYXRhJykpOwogICAgICAgIGlmKCAhJHRoaXMtPkdldEl0ZW1zKCkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfZGF0YScpKTsKICAgICAgICBicmVhazsKICAgIH0KCiAgICBpZiggJHRoaXMtPm9yZGVyX2NvbnRhaW5zX3N1YnNjcmlwdGlvbigpICkgewogICAgICAgIC8vIHdlIGhhdmUgYSBzdWJzY3JpcHRpb24sIGFuZCBoYXZlIGRvbmUgYWxsIG91ciBjaGVja3MKICAgICAgICAvLyBzbyBhbm90aGVyIGZpbGUgd2lsbCBoYW5kbGUgaXQuCiAgICAgICAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24ucHJvY2Vzc19zdWJzY3JpcHRpb24uaW5jLnBocCcpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLwogICAgLy8gc2V0dXAKICAgIC8vCiAgICAkZmV1ID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAkbG9naW5pZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2dpbmlkJyk7CiAgICAkdHJhbnNhY3Rpb25rZXkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHJhbnNhY3Rpb25rZXknKTsKICAgICR0ZXN0bW9kZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXN0bW9kZScsMSk7CiAgICBpZiggJHRlc3Rtb2RlICYmIGNoZWNrX2xvZ2luKFRSVUUpICkgewogICAgICAgICR0ZXN0bW9kZSA9ICdUUlVFJzsKICAgIH0KICAgIGVsc2UgewogICAgICAgICR0ZXN0bW9kZSA9ICdGQUxTRSc7CiAgICB9CgogICAgJHRpbnl0cmFuc2FjdGlvbnMgPSAoaW50KSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGlueXRyYW5zYWN0aW9ucycsMCk7CiAgICAkbm93ID0gdGltZSgpOwogICAgJGZpbmdlcnByaW50ID0gJGVuY19rZXk7CiAgICAkcG9zdF91cmwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncG9zdF91cmwnLCcnKTsKICAgIGlmKCAhJHBvc3RfdXJsICkgJHBvc3RfdXJsID0gQVVUSE5FVEFJTV9TRUNVUkVfUE9TVF9VUkw7CgogICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2V0ZXN0dXJsJykgKSB7CiAgICAgICAgJHBvc3RfdXJsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rlc3RfcG9zdF91cmwnLCcnKTsKICAgICAgICBpZiggISRwb3N0X3VybCApICRwb3N0X3VybCA9IEFVVEhORVRBSU1fVEVTVF9QT1NUX1VSTDsKICAgIH0KCiAgICAvLwogICAgLy8gYnVpbGQgb3VyIGRhdGEKICAgIC8vCiAgICAvLyBhKSBjYWxjdWxhdGUgdG90YWwgYW1vdW50IG9mIG9yZGVyCiAgICAkYW1vdW50ID0gJyc7CiAgICBpZiggKCR0bXAgPSAkdGhpcy0+R2V0VHJhbnNhY3Rpb25BbW91bnQoKSkgKSAkYW1vdW50ID0gJHRtcDsKICAgIGlmKCAkYW1vdW50ID09PSAnJyApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19kYXRhJykpOwoKICAgIC8vIGIpIGZpbGwgaW4gdGhlIHBhcmFtZXRlcnMgYXJyYXkKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkcGFybXNbJ3RyYW5zYWN0aW9uX2NvZGUnXSA9ICRmaW5nZXJwcmludDsKICAgICRwYXJtc1sneF92ZXJzaW9uJ10gPSAnMy4xJzsKICAgICRwYXJtc1sneF90ZXN0X3JlcXVlc3QnXSA9ICR0ZXN0bW9kZTsKICAgICRwYXJtc1sneF9kZWxpbV9kYXRhJ10gPSAiVFJVRSI7CiAgICAkcGFybXNbJ3hfZGVsaW1fY2hhciddID0gJ3wnOwogICAgJHBhcm1zWyd4X3JlbGF5X3Jlc3BvbnNlJ10gPSAnRkFMU0UnOwogICAgJHBhcm1zWyd4X2xvZ2luJ10gPSAkbG9naW5pZDsKICAgICRwYXJtc1sneF90cmFuX2tleSddID0gJHRyYW5zYWN0aW9ua2V5OwogICAgJHBhcm1zWyd4X21ldGhvZCddID0gJ0NDJzsgLy8gdG9kbwogICAgJHBhcm1zWyd4X2R1cGxpY2F0ZV93aW5kb3cnXSA9IDIqNjA7IC8vIHRvZG8KCiAgICBpZiggJG5lZWRfYWRkcmVzcyApIHsKICAgICAgICAkYmlsbGluZyA9ICR0aGlzLT5HZXRCaWxsaW5nQWRkcmVzcygpOwogICAgICAgICRzaGlwcGluZyA9ICR0aGlzLT5HZXRTaGlwcGluZ0FkZHJlc3MoKTsKCiAgICAgICAgJHBhcm1zWyd4X2NvbXBhbnknXSA9ICRiaWxsaW5nLT5nZXRfY29tcGFueSgpOwogICAgICAgICRwYXJtc1sneF9maXJzdF9uYW1lJ10gPSAkYmlsbGluZy0+Z2V0X2ZpcnN0bmFtZSgpOwogICAgICAgICRwYXJtc1sneF9sYXN0X25hbWUnXSA9ICRiaWxsaW5nLT5nZXRfbGFzdG5hbWUoKTsKICAgICAgICAkcGFybXNbJ3hfZW1haWwnXSA9ICRiaWxsaW5nLT5nZXRfZW1haWwoKTsKICAgICAgICAkcGFybXNbJ3hfYWRkcmVzcyddID0gICRiaWxsaW5nLT5nZXRfYWRkcmVzczEoKTsKICAgICAgICAkcGFybXNbJ3hfY2l0eSddID0gJGJpbGxpbmctPmdldF9jaXR5KCk7CiAgICAgICAgJHBhcm1zWyd4X3N0YXRlJ10gPSAkYmlsbGluZy0+Z2V0X3N0YXRlKCk7CiAgICAgICAgJHBhcm1zWyd4X2NvdW50cnknXSA9ICRiaWxsaW5nLT5nZXRfY291bnRyeSgpOwogICAgICAgICRwYXJtc1sneF96aXAnXSA9ICRiaWxsaW5nLT5nZXRfcG9zdGFsKCk7CgogICAgICAgICRwYXJtc1sneF9zaGlwX3RvX2NvbXBhbnknXSA9ICRzaGlwcGluZy0+Z2V0X2NvbXBhbnkoKTsKICAgICAgICAkcGFybXNbJ3hfc2hpcF90b19maXJzdF9uYW1lJ10gPSAkc2hpcHBpbmctPmdldF9maXJzdG5hbWUoKTsKICAgICAgICAkcGFybXNbJ3hfc2hpcF90b19sYXN0X25hbWUnXSA9ICRzaGlwcGluZy0+Z2V0X2xhc3RuYW1lKCk7CiAgICAgICAgJHBhcm1zWyd4X3NoaXBfdG9fYWRkcmVzcyddID0gICRzaGlwcGluZy0+Z2V0X2FkZHJlc3MxKCk7CiAgICAgICAgJHBhcm1zWyd4X3NoaXBfdG9fY2l0eSddID0gJHNoaXBwaW5nLT5nZXRfY2l0eSgpOwogICAgICAgICRwYXJtc1sneF9zaGlwX3RvX3N0YXRlJ10gPSAkc2hpcHBpbmctPmdldF9zdGF0ZSgpOwogICAgICAgICRwYXJtc1sneF9zaGlwX3RvX2NvdW50cnknXSA9ICRzaGlwcGluZy0+Z2V0X2NvdW50cnkoKTsKICAgICAgICAkcGFybXNbJ3hfc2hpcF90b196aXAnXSA9ICRzaGlwcGluZy0+Z2V0X3Bvc3RhbCgpOwogICAgfQoKICAgICRuZWVkX2xpbmVfaXRlbXMgPSBGQUxTRTsKICAgIHN3aXRjaCggJHRoaXMtPkdldFRyYW5zYWN0aW9uVHlwZSgpICkgewogICAgY2FzZSBndzo6VFJBTlNfVk9JRDoKICAgICAgICAkcGFybXNbJ3hfdHlwZSddID0gJ1ZPSUQnOwogICAgICAgICRwYXJtc1sneF90cmFuc19pZCddID0gJHRoaXMtPkdldFRyYW5zYWN0aW9uSWQoKTsKICAgICAgICAkY2NpbmZvID0gJHRoaXMtPkdldFByb2Nlc3NlZENyZWRpdENhcmRJbmZvKCk7CiAgICAgICAgJHN0ciA9ICRjY2luZm9bJ3hfY2FyZF9udW0nXTsKICAgICAgICAkcGFybXNbJ3hfY2FyZF9udW0nXSA9IHN1YnN0cigkc3RyLC00KTsgLy8gbGFzdCBmb3VyIGNoYXJzIG9ubHkKICAgICAgICBicmVhazsKCiAgICBjYXNlIGd3OjpUUkFOU19DUkVESVQ6CiAgICAgICAgJHBhcm1zWyd4X3R5cGUnXSA9ICdDUkVESVQnOwogICAgICAgICRwYXJtc1sneF90cmFuc19pZCddID0gJHRoaXMtPkdldFRyYW5zYWN0aW9uSWQoKTsKICAgICAgICAkY2NpbmZvID0gJHRoaXMtPkdldFByb2Nlc3NlZENyZWRpdENhcmRJbmZvKCk7CiAgICAgICAgJHN0ciA9ICRjY2luZm9bJ3hfY2FyZF9udW0nXTsKICAgICAgICAkcGFybXNbJ3hfY2FyZF9udW0nXSA9IHN1YnN0cigkc3RyLC00KTsgLy8gbGFzdCBmb3VyIGNoYXJzIG9ubHkKICAgICAgICBicmVhazsKCiAgICBjYXNlIGd3OjpUUkFOU19DQVBUVVJFOgogICAgZGVmYXVsdDoKICAgICAgICAkcGFybXNbJ3hfdHlwZSddID0gJ0FVVEhfQ0FQVFVSRSc7CiAgICAgICAgLy8gYWRkIGNyZWRpdCBjYXJkIGluZm8KICAgICAgICAkY2NpbmZvID0gJHRoaXMtPkdldFByb2Nlc3NlZENyZWRpdENhcmRJbmZvKCk7CiAgICAgICAgZm9yZWFjaCggJGNjaW5mbyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgICAgICAgJHBhcm1zWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KICAgICAgICAkbmVlZF9saW5lX2l0ZW1zID0gVFJVRTsKICAgICAgICBicmVhazsKICAgIH0KICAgICRwYXJtc1sneF9jdXN0b21lcl9pcCddID0gXGNnZV91dGlsczo6Z2V0X3JlYWxfaXAoKTsKICAgICRwYXJtc1sneF9jdXN0X2lkJ10gPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAkcGFybXNbJ3hfaW52b2ljZV9udW0nXSA9ICR0aGlzLT5HZXRJbnZvaWNlKCk7CiAgICAkcGFybXNbJ3hfY3VycmVuY3lfY29kZSddID0gJHRoaXMtPkdldEN1cnJlbmN5Q29kZSgpOwogICAgJHBhcm1zWyd4X2Ftb3VudCddID0gKCR0aW55dHJhbnNhY3Rpb25zKT8wLjAxOiRhbW91bnQ7CiAgICBpZiggKCR0bXAgPSAkdGhpcy0+R2V0T3JkZXJEZXNjcmlwdGlvbigpKSApICRwYXJtc1sneF9kZXNjcmlwdGlvbiddID0gJHRtcDsKCiAgICAvLyBidWlsZCBvdXIgb3V0cHV0IHBvc3Qgc3RyaW5nCiAgICAkcG9zdF9zdHJpbmcgPSAnJzsKICAgIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgICAkdmFsdWUgPSB1cmxlbmNvZGUoJHZhbHVlKTsKICAgICAgICAkcG9zdF9zdHJpbmcgLj0gInska2V5fT17JHZhbHVlfSYiOwogICAgfQoKICAgIC8vIGdldCB0aGUgaXRlbXMKICAgIGlmKCAkbmVlZF9saW5lX2l0ZW1zICkgewogICAgICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAgICAgJGNvdW50ID0gMTsKICAgICAgICAkaGFzX25lZ2F0aXZlID0gZmFsc2U7CiAgICAgICAgJGl0ZW1zID0gJHRoaXMtPkdldEl0ZW1zKCk7CiAgICAgICAgZm9yZWFjaCggJGl0ZW1zIGFzICRuYW1lID0+ICRkYXRhICkgewogICAgICAgICAgICBpZiggJGRhdGFbJ2Ftb3VudCddIDwgMC4wMCApIHsKICAgICAgICAgICAgICAgICRoYXNfbmVnYXRpdmUgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoICRoYXNfbmVnYXRpdmUgKSB7CiAgICAgICAgICAgIC8vIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIG5lZ2F0aXZlIGFtb3VudAogICAgICAgICAgICAvLyBzbyBtdW5nZSBldmVyeXRoaW5nIHRvZ2V0aGVyIGluIG9uZSBsaW5lIGl0ZW0uCiAgICAgICAgICAgICRjb3VudCA9IDE7CiAgICAgICAgICAgICRkZXNjID0gdHJpbSgkdGhpcy0+R2V0T3JkZXJEZXNjcmlwdGlvbigpKTsKICAgICAgICAgICAgaWYoICEkZGVzYyApICRkZXNjID0gZ2V0X3NpdGVfcHJlZmVyZW5jZSgnc2l0ZW5hbWUnLCdDTVNNUyBTaXRlJyk7CiAgICAgICAgICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAgICAgICAgICRpdGVtc1skZGVzY10gPSBhcnJheSgnbmFtZSc9PiRkZXNjLCdxdWFudGl0eSc9PjEsJ2Ftb3VudCc9PiRhbW91bnQsJ3RheCc9PjApOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCggJGl0ZW1zIGFzICRrZXkgPT4gJGl0ZW0gKSB7CiAgICAgICAgICAgICR0bXAgPSBhcnJheSgkY291bnQrKyxzdWJzdHIoJGl0ZW1bJ25hbWUnXSwwLDMxKSwkaXRlbVsnbmFtZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW1bJ3F1YW50aXR5J10sc3ByaW50ZigiJS4yZiIsJGl0ZW1bJ2Ftb3VudCddKSwKICAgICAgICAgICAgICAgICAgICAgICAgIChpc3NldCgkaXRlbVsndGF4J10pKT8nMSc6JzAnKTsKICAgICAgICAgICAgJHN0ciA9IHVybGVuY29kZShpbXBsb2RlKCc8fD4nLCR0bXApKTsKICAgICAgICAgICAgJHBvc3Rfc3RyaW5nIC49ICJ4X2xpbmVfaXRlbT17JHN0cn0mIjsKICAgICAgICB9CiAgICB9CgogICAgZGVidWdfdG9fbG9nKF9fRklMRV9fLicgdGVzdCAxJyk7CgogICAgLy8gY2xlYW51cC4KICAgICRwb3N0X3N0cmluZyA9IHJ0cmltKCRwb3N0X3N0cmluZywiJiAiKTsKCiAgICBkZWJ1Z190b19sb2coJHBvc3Rfc3RyaW5nKTsKCiAgICAvLwogICAgLy8gZG8gb3VyIHBvc3QKICAgIC8vCiAgICAkcmVxdWVzdCA9IGN1cmxfaW5pdCgkcG9zdF91cmwpOyAvLyBpbml0aWF0ZSBjdXJsIG9iamVjdAogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfSEVBREVSLCAwKTsgLy8gc2V0IHRvIDAgdG8gZWxpbWluYXRlIGhlYWRlciBpbmZvIGZyb20gcmVzcG9uc2UKICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgLy8gUmV0dXJucyByZXNwb25zZSBkYXRhIGluc3RlYWQgb2YgVFJVRSgxKQogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUE9TVCwgMSk7CiAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9QT1NURklFTERTLCAkcG9zdF9zdHJpbmcpOyAvLyB1c2UgSFRUUCBQT1NUIHRvIHNlbmQgZm9ybSBkYXRhCiAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgRkFMU0UpOwogICAgJHBvc3RfcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJHJlcXVlc3QpOyAvLyBleGVjdXRlIGN1cmwgcG9zdCBhbmQgc3RvcmUgcmVzdWx0cyBpbiAkcG9zdF9yZXNwb25zZQogICAgY3VybF9jbG9zZSAoJHJlcXVlc3QpOyAvLyBjbG9zZSBjdXJsIG9iamVjdAoKICAgICRwb3N0X3Jlc3BvbnNlID0gZXhwbG9kZSgkcGFybXNbInhfZGVsaW1fY2hhciJdLCRwb3N0X3Jlc3BvbnNlKTsKCiAgICBkZWJ1Z190b19sb2coJHBvc3RfcmVzcG9uc2UpOwogICAgLy8gZm9sbG93aW5nIGluZm9ybWF0aW9uIHRha2VuIGZyb206ICBodHRwOi8vZGV2ZWxvcGVyLmF1dGhvcml6ZS5uZXQvZ3VpZGVzL0FJTS8KICAgIC8vIHBhcnNlIHJlc3VsdCBpbmZvcm1hdGlvbgogICAgJHRyYW5zX3Jlc3BvbnNlX2NvZGUgICAgPSAkcG9zdF9yZXNwb25zZVswXTsKICAgICR0cmFuc19yZXNwb25zZV9zdWJjb2RlID0gJHBvc3RfcmVzcG9uc2VbMV07CiAgICAkdHJhbnNfcmVzcG9uc2VfcmVhc29uICA9ICRwb3N0X3Jlc3BvbnNlWzJdOwogICAgJHRyYW5zX3Jlc3BvbnNlX3RleHQgICAgPSAkcG9zdF9yZXNwb25zZVszXTsKICAgICR0cmFuc19hdXRoX2NvZGUgICAgICAgID0gJHBvc3RfcmVzcG9uc2VbNF07CiAgICAkdHJhbnNfYXZzX3Jlc3BvbnNlICAgICA9ICRwb3N0X3Jlc3BvbnNlWzVdOwogICAgJHRyYW5zX3RyYW5zYWN0aW9uX2lkICAgPSAkcG9zdF9yZXNwb25zZVs2XTsKICAgICR0cmFuc19pbnZvaWNlX251bSAgICAgID0gJHBvc3RfcmVzcG9uc2VbN107CiAgICAkdHJhbnNfYW1vdW50ICAgICAgICAgICA9ICRwb3N0X3Jlc3BvbnNlWzldOwogICAgJHRyYW5zX2N1c3RfaWQgICAgICAgICAgPSAkcG9zdF9yZXNwb25zZVsxMl07CiAgICAkdHJhbnNfY2N2X3Jlc3BvbnNlICAgICA9ICRwb3N0X3Jlc3BvbnNlWzM4XTsKCiAgICAvLyBoYW5kbGUgdGhlIHJlc3VsdHMuCiAgICBzd2l0Y2goJHRyYW5zX3Jlc3BvbnNlX2NvZGUpIHsKICAgIGNhc2UgJzEnOgogICAgICAgICR0aGlzLT5TZXRUcmFuc2FjdGlvblN0YXR1cyhndzo6UEFZTUVOVF9TVEFUVVNfQVBQUk9WRUQpOwogICAgICAgICR0aGlzLT5TZXRUcmFuc2FjdGlvbklkKCR0cmFuc190cmFuc2FjdGlvbl9pZCk7CiAgICAgICAgJHRoaXMtPlNldFRyYW5zYWN0aW9uQW1vdW50KCR0cmFuc19hbW91bnQpOwogICAgICAgIGJyZWFrOwoKICAgIGNhc2UgJzInOgogICAgICAgICR0aGlzLT5TZXREZWNsaW5lZCgpOwogICAgICAgIGJyZWFrOwoKICAgIGNhc2UgJzMnOgogICAgICAgIC8vIGVuZ2xpc2ggb25seSBhdG0uCiAgICAgICAgJHRoaXMtPlNldFRyYW5zYWN0aW9uRXJyb3IoJHRyYW5zX3Jlc3BvbnNlX3RleHQuJyAoJy4kdHJhbnNfcmVzcG9uc2VfcmVhc29uLicpJyk7CiAgICAgICAgaWYoICR0aGlzLT5HZXRUcmFuc2FjdGlvblR5cGUoKSAhPSBndzo6VFJBTlNfQ0FQVFVSRSAmJiAkdHJhbnNfcmVzcG9uc2VfcmVhc29uID09IDE2ICkgewogICAgICAgICAgICAkdGhpcy0+U2V0VHJhbnNhY3Rpb25TdGF0dXMoZ3c6OlBBWU1FTlRfU1RBVFVTX05PVEZPVU5EKTsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CgogICAgY2FzZSAnNCc6CiAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9oZWxkX2Zvcl9yZXZpZXcnKSk7CiAgICAgICAgYnJlYWs7CgogICAgY2FzZSAnNSc6CgogICAgZGVmYXVsdDoKICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX3Vua25vd24nKSk7CiAgICAgICAgYnJlYWs7CiAgICB9CiAgICAkdGhpcy0+RmluaXNoVHJhbnNhY3Rpb24oKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRUcmFuc2FjdGlvbkVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgJHRoaXMtPkZpbmlzaFRyYW5zYWN0aW9uKCk7Cn0KCgoKLy8KLy8gc2V0dXAKLy8KCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.silent_post.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoIHN0cnRvdXBwZXIoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10pICE9ICdQT1NUJyApIGV4aXQ7CgphdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdTaWxlbnQgUE9TVCcpOwoKJHhfc3Vic2NyaXB0aW9uX2lkID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkX1BPU1QsJ3hfc3Vic2NyaXB0aW9uX2lkJyk7CiRyZXFkX3ZhcnMgPSBhcnJheSgneF9yZXNwb25zZV9jb2RlJywneF90cmFuc19pZCcsJ3hfYW1vdW50JywneF9pbnZvaWNlX251bScpOwokZGF0YSA9IGFycmF5KCk7CmZvcmVhY2goICRyZXFkX3ZhcnMgYXMgJG9uZSApIHsKICAgIGlmKCAhaXNzZXQoJF9QT1NUWyRvbmVdKSApIHsKICAgICAgICAvLyB0aGVyZSdzIGEgdmFyaWFibGUgbWlzc2luZwogICAgICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdzaWxlbnRfcG9zdCAtIG1pc3NpbmcgUE9TVCB2YXJpYWJsZSAnLiRvbmUpOwogICAgICAgIGV4aXQ7CiAgICB9CiAgICAkZGF0YVskb25lXSA9ICRfUE9TVFskb25lXTsKfQoKLy8gYnVpbGQgYSB0cmFuc2FjdGlvbi4KJHRyYW5zID0gbmV3IGNncGdiX2FzeW5jX3RyYW5zYWN0aW9uKCcnLCRkYXRhWyd4X2Ftb3VudCddLCR0aGlzLT5HZXROYW1lKCkpOwpzd2l0Y2goICRkYXRhWyd4X3Jlc3BvbnNlX2NvZGUnXSApIHsKY2FzZSAxOgogICAgLy8gZ29vZAogICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSxzcHJpbnRmKCdSZWNlaXZlZCBhIHBheW1lbnQgKGlkOiAlcyBhbW91bnQ6ICVzKSBmb3Igb3JkZXIgJXMsIHN1YnNjcmlwdGlvbiAlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGFbJ3hfdHJhbnNfaWQnXSwkZGF0YVsneF9hbW91bnQnXSwkZGF0YVsneF9pbnZvaWNlX251bSddLCR4X3N1YnNjcmlwdGlvbl9pZCkpOwogICAgJHRyYW5zLT5zZXRfc3RhdHVzKFBBWU1FTlRfU1RBVFVTX0FQUFJPVkVEKTsKICAgIGJyZWFrOwoKICBjYXNlIDI6CiAgICAvLyBkZWNsaW5lZAogICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSxzcHJpbnRmKCdQYXltZW50IGRlY2xpbmVkKGlkOiAlcyBhbW91bnQ6ICVzKSBmb3Igb3JkZXIgJXMsIHN1YnNjcmlwdGlvbiAlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGFbJ3hfdHJhbnNfaWQnXSwkZGF0YVsneF9hbW91bnQnXSwkZGF0YVsneF9pbnZvaWNlX251bSddLCR4X3N1YnNjcmlwdGlvbl9pZCkpOwogICAgJHRyYW5zLT5zZXRfc3RhdHVzKFBBWU1FTlRfU1RBVFVTX0RFQ0xJTkVEKTsKICAgIGJyZWFrOwoKICBjYXNlIDM6CiAgZGVmYXVsdDoKICAgIC8vIGVycm9yIG9mIHNvbWUgc29ydC4KICAgIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksc3ByaW50ZignRXJyb3IgcmVjZWl2ZWQgZm9yIG9yZGVyICVzIC0gJywkZGF0YVsneF9pbnZvaWNlX251bSddKS4kX1BPU1RbJ3hfcmVzcG9uc19yZWFzb25fdGV4dCddKTsKICAgICR0cmFucy0+c2V0X3N0YXR1cyhQQVlNRU5UX1NUQVRVU19FUlJPUik7CiAgICBicmVhazsKfQokdHJhbnMtPnNldF9pbnZvaWNlKCRkYXRhWyd4X2ludm9pY2VfbnVtJ10pOwokdHJhbnMtPnNldF9vdGhlcl92YWwoJ1N1YnNjcmlwdGlvbiBJRCcsJHhfc3Vic2NyaXB0aW9uX2lkKTsKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW55dHJhbnNhY3Rpb25zJywwKSApICR0cmFucy0+c2V0X290aGVyX3ZhbHVlKCd0cmFuc2FjdGlvbl9hbXRfb3ZlcnJpZGUnLDEpOwokdHJhbnMtPnNldF9pZCgkZGF0YVsneF90cmFuc19pZCddKTsKJHRoaXMtPnNlbmRfdHJhbnNhY3Rpb25fbm90aWZpY2F0aW9uKCR0cmFucyk7CgoKIwojIEVPRgojPz4K]]></data>
	</file>
	<file>
	  <filename>/AuthNetAim.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLyoKJGNnZWNvbW1lcmNlYmFzZSA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sncm9vdF9wYXRoJ10sJ21vZHVsZXMnLCdDR0Vjb21tZXJjZUJhc2UnLCdDR0Vjb21tZXJjZUJhc2UubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dlY29tbWVyY2ViYXNlICkgKSB7CgllY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDZ2Vjb21tZXJjZUJhc2UgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4gIFBsZWFzZSBpbnN0YWxsIGl0PC9mb250PjwvaDE+JzsKCXJldHVybjsKfQppZiggIWNsYXNzX2V4aXN0cygnQ0dFY29tbWVyY2ViYXNlJykgKSByZXF1aXJlX29uY2UoJGNnZWNvbW1lcmNlYmFzZSk7CiovCgpkZWZpbmUoJ0FVVEhORVRBUkJfUFJPRFVDVElPTl9VUkwnLCdodHRwczovL2FwaS5hdXRob3JpemUubmV0L3htbC92MS9yZXF1ZXN0LmFwaScpOwpkZWZpbmUoJ0FVVEhORVRBUkJfVEVTVF9VUkwnLCdodHRwczovL2FwaXRlc3QuYXV0aG9yaXplLm5ldC94bWwvdjEvcmVxdWVzdC5hcGknKTsKZGVmaW5lKCdBVVRITkVUQUlNX1NFQ1VSRV9QT1NUX1VSTCcsJ2h0dHBzOi8vc2VjdXJlLmF1dGhvcml6ZS5uZXQvZ2F0ZXdheS90cmFuc2FjdC5kbGwnKTsKZGVmaW5lKCdBVVRITkVUQUlNX1RFU1RfUE9TVF9VUkwnLCdodHRwczovL3Rlc3QuYXV0aG9yaXplLm5ldC9nYXRld2F5L3RyYW5zYWN0LmRsbCcpOwoKZmluYWwgY2xhc3MgQXV0aE5ldEFpbSBleHRlbmRzIENHUGF5bWVudEdhdGV3YXlCYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzEuNS4xJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsgcmV0dXJuIGFycmF5KCdDR1BheW1lbnRHYXRld2F5QmFzZSc9PicxLjYuMicsICdDR0V4dGVuc2lvbnMnPT4nMS41My4xJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICIxLjEyLjEiOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkgeyByZXR1cm4gJ1JvYmVydCBDYW1wYmVsbCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7IHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaW5jJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIFRSVUU7ICB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgeyByZXR1cm4gJ2Vjb21tZXJjZSc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fCAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsKICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KCXB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gRkFMU0U7IH0gLyogd2UgaGF2ZSBhIGR5bmFtaWMgcm91dGUsIGNhbm5vdCBsYXp5IGxvYWQgKi8KCXB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9JbnN0YWxsKCkgeyByZXR1cm4gRkFMU0U7IH0KCXB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9VcGdyYWRlKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpCiAgICB7CiAgICAgICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgICAgICRkZmx0cGFnZWlkID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRQYWdlSUQoKTsKICAgICAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPkdldE5hbWUoKS4nXC9zaWxlbnRfcG9zdCQvJywgYXJyYXkoJ2FjdGlvbic9PidzaWxlbnRfcG9zdCcsJ3JldHVybmlkJz0+JGRmbHRwYWdlaWQpKTsKICAgICAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdrZXknLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdvcmRlcl9pZCcsIENMRUFOX0lOVCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NjbnVtYmVyJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2NleHAnLCBDTEVBTl9OT05FKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2N2Y29kZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2F1dGhuZXRfc3VibWl0JywgQ0xFQU5fU1RSSU5HKTsKICAgIH0KCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy8gQmVnaW4gbWV0aG9kcyByZXF1aXJlZCBmb3IgcGF5bWVudCBnYXRld2F5cwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X25ld19nYXRld2F5KCkKICAgIHsKICAgICAgICAkb2JqID0gbmV3IFxBdXRoTmV0QWltXGdhdGV3YXk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9Cgp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT5WZXJzaW9uIDEuMCAtIEFwcmlsLCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5Jbml0aWFsIFJlbGVhc2U8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMC4yIC0gT2N0b2JlciwgMjAwOQogICAgPHVsbD4KICAgICAgPGxpPlVwZ3JhZGUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIENHUGF5bWVudEdhdGV3YXlCYXNlIDEuMC4zPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjEgLSBPY3RvYmVyLCAyMDA5CiAgICA8cD5BZGRzIGFuIGFkdmFuY2VkIHRhYiB0byBhbGxvdyBvdmVycmlkaW5nIHRoZSBVUkxTIGZvciBnYXRld2F5cyB0aGF0IGhhdmUgQXV0aG9yaXplLk5FVCBlbXVsYXRvcnMuPC9wPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4yIC0gT2N0b2JlciwgMjAwOQogICAgPHA+Tm93IHN1cHBvcnRzIGFkZGluZyB0aGUgYmlsbGluZyBhbmQgc2hpcHBpbmcgaW5mb3JtYXRpb24uPC9wPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4yLjMgLSBBcHJpbCwgMjAxMAogICAgPHA+Tm93IHdvcmtzIHdpdGggQ0dFY29tbWVyY2VCYXNlIDEuMC41LjwvcD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMi40IC0gQXByaWwsIDIwMTAKICAgIDxwPkZpeGVzIGZvciBtdWx0aXBsZSBiYXNrZXRzIHdpdGggbXVsdGlwbGUgdGF4IGFuZCBzaGlwcGluZyBpdGVtcy48L3A+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjIuNSAtIEZlYnJ1YXJ5LCAyMDExCiAgICA8cD5GaXhlcyBmb3IgaXRlbXMgd2l0aCBuZWdhdGl2ZSBhbW91bnRzLCBhbmQgd2llcmQgY2hhcmFjdGVycyBpbiB0aGUgaXRlbSBuYW1lcy48L3A+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjMgLSBNYXksIDIwMTEKICAgIDx1bD4KICAgICAgPGxpPkFkZHMgYmFzaWMgc3VwcG9ydCBmb3IgY3JlYXRpbmcgc3Vic2NyaXB0aW9ucyAoQVJCKS48L2xpPgogICAgICA8bGk+TnVtZXJvdXMgYnVnIGZpeGVzLjwvbGk+CiAgICAgIDxsaT5SZS1sYWJlbCwgdXBkYXRlIGRlcGVuZGVuY2llcywgYW5kIHVwZGF0ZSBoZWxwLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4zLjEgLSBKdW5lLCAyMDExCiAgICA8cD5NaW5vciBidWcgZml4IHdydCB0ZXN0IG1vZGUuPC9wPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS41LjEgLSBKdW5lLCAyMDE1CiAgICA8cD5SZXdyaXRlIHRvIHdvcmsgd2l0aCBDR0Vjb21tZXJjZUJhc2UgMS42LjEuPC9wPgogIDwvbGk+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>/doc/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciB5b3VyIGN1c3RvbWVycyB0byBwYXkgZm9yIHRoZWlyIHB1cmNoYXNlcyB1c2luZyB0aGVpciBjcmVkaXQgY2FyZCBkaXJlY3RseSBvbiB5b3VyIHNpdGUgdXNpbmcgdGhlIEF1dGhvcml6ZS5OZXQgc2VjdXJlIGdhdGV3YXkuPC9wPgoKPGgzPldoeSBzaG91bGQgSSB1c2UgaXQ/PC9oMz4KPHA+VGhpcyBnYXRld2F5IHdvcmtzIHdpdGhvdXQgcmVkaXJlY3RpbmcgdGhlIHVzZXIgdG8gYSBkaWZmZXJlbnQgd2Vic2l0ZSwgYW5kIHRoZW4gcmVkaXJlY3RpbmcgdGhlbSBiYWNrLiAgSXQgYWxsb3dzIHRoZSBhYmlsaXR5IHRvIHByb3ZpZGUgeW91ciBjdXN0b21lcnMgd2l0aCBhIHNpbmdsZSB1c2VyIGV4cGVyaWVuY2UuPC9wPgoKPGgzPlNwZWNpYWwgUmVxdWlyZW1lbnRzPC9oMz4KPHA+VGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB5b3VyIHdlYiBhcHBsaWNhdGlvbiBiZSBjb25maWd1cmVkIHRvIHByb21wdCB0aGUgdXNlciBmb3IgY3JlZGl0IGNhcmQgaW5mb3JtYXRpb24sIFRoZSBPcmRlcnMgbW9kdWxlIGNhbiBiZSBjb25maWd1cmVkIHRvIGRvIHRoaXMuPC9wPgo8cD5BbHNvIHRoaXMgbW9kdWxlIHdpbGwgcmVxdWlyZSBhIHZhbGlkYXRlZCBzZWN1cmUgZW52aXJvbm1lbnQuICAgWW91IHdpbGwgbmVlZCB0byBwdXJjaGFzZSBhIHZhbGlkYXRlZCBjZXJ0aWZpY2F0ZSBmcm9tIGFuIGFwcHJvdmRlZCBwcm92aWRlciwgaW5zdGFsbCB0aGF0IGNlcnRpZmljYXRlIGluIHlvdXIgd2ViIGhvc3QgZW52aXJvbm1lbnQsIGFuZCB0aGVuIGNvbmZpZ3VyZSBDTVMgTWFkZSBTaW1wbGUgdG8gd29yayBwcm9wZXJseSBpbiBhIHNlY3VyZSBlbnZpcm9ubWVudC48L3A+CjxwPkFkZGl0aW9uYWxseSwgZm9yIHRoZSBzaWxlbnRfcG9zdCBmZWF0dXJlIHRvIGJlIHVzZWQgKHdoaWNoIGlzIHVzZWQgZm9yIG1hbnVhbGx5IGNvbXBsZXRlZCB0cmFuc2FjdGlvbnMgYW5kIGZvciB0cmFuc2FjdGlvbnMgY29taW5nIGZyb20gc3Vic2NyaXB0aW9ucykgeW91IG11c3QgZW5zdXJlIHRoYXQgVVJMIHJld3JpdGluZyBydWxlcyBpbiB5b3VyIC5odGFjY2VzcyBmaWxlIGRvIG5vdCByZWRpcmVjdCB0aGUgc2lsZW50IHBvc3QgVVJMLiAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBJdCBpcyBub3QgY29tbW9uIGtub3dsZWRnZSB0aGF0IGEgUE9TVCByZXF1ZXN0IHRoYXQgaXMgcmV3cml0dGVuIHVzaW5nIG1vZF9yZXdyaXRlIG9yIG90aGVyIHN1Y2ggdGVjaG5vbG9naWVzIGlzIHJlZGlyZWN0ZWQgYXMgYSBHRVQgcmVxdWVzdC48L3A+Cgo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+CjxwPlF1aXRlIHNpbXBseSwgb25jZSBhbGwgb2YgdGhlIGRlcGVuZGVuY2llcyBhcmUgaW5zdGFsbGVkLCB5b3Ugc2ltcGx5IGluc3RhbGwgdGhlIG1vZHVsZS4gIFRoZW4gY29uZmlndXJlIHRoZSBtb2R1bGUgaW4gdGhlIEF1dGhvcml6ZS5ORVQgQUlNL0FSQiBjb250cm9sIHBhbmVsIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgYWRtaW4gY29uc29sZSwgdXNpbmcgdGhlIHRyYW5zYWN0aW9uIGlkLCBhbmQgdGhlIEFQSSBMb2dpbiB0aGF0IGFyZSBwcm92aWRlZCB0byB5b3UgYnkgYXV0aG9yaXplLm5ldC4gVGhlbiBuYXZpZ2F0ZSB0byB0aGUgcHJlZmVyZW5jZXMgdGFiIGluIHRoZSBDR1BheW1lbnRHYXRld2F5IEJhc2UgbW9kdWxlIGFuZCBzZWxlY3QgdGhpcyBtb2R1bGUgYXMgeW91ciBjaG9zZW4gcGF5bWVudCBnYXRld2F5LjwvcD4KCjxoMz5TdWJzY3JpcHRpb25zOjwvaDM+CjxwPlRoaXMgbW9kdWxlIGhhcyBsaW1pdGVkIHN1cHBvcnQgZm9yIHN1YnNjcmlwdGlvbnMgKEZvciBleGFtcGxlIG1lbWJlcnNoaXAgc3Vic2NyaXB0aW9ucywgb3IgcHJvZHVjdCBzdWJzY3JpcHRpb25zKS4gIEl0IHdpbGwgY3JlYXRlIGEgc3Vic2NyaXB0aW9uIHdpdGhpbiB0aGUgQXV0aG9yaXplLk5FVCBNZXJjaGFudCBjZW50ZXIgYXMgYSB1c2VyIGNoZWNrcyBvdXQsIGFuZCB3aWxsIHByb3ZpZGUgaW5mb3JtYXRpb24gb24gZGVjbGluZWQgcGF5bWVudHMsIGV0Yy4gdG8gdGhlIE9yZGVycyBtb2R1bGUgdmlhIHRoZSBBdXRob3JpemUuTkVUIFNpbGVudCBQT1NUIFVSTC4gIEhvd2V2ZXIsIFRoZXJlIGlzIG5vIG1lYW5zIGJ5IHdoaWNoIGEgdmlzaXRvciBjYW4gY2FuY2VsIGEgc3Vic2NyaXB0aW9uIGZyb20gd2l0aGluIHRoZSB3ZWJzaXRlLCBhbmQgdGhlcmUgaXMgbm8gd2F5IHRoYXQgdGhlIG9yZGVycyBtb2R1bGUgY2FuIGtub3cgYWJvdXQgc3Vic2NyaXB0aW9ucyBtYW51YWxseSBhZGRlZCwgZWRpdGVkLCBvciBkZWxldGVkIHdpdGhpbiB0aGUgQXV0aG9yaXplLk5FVCBtZXJjaGFudCBjZW50ZXIuPC9wPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGUgbW9kdWxlIGF1dGhvciBpcyBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiAgSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkEgYnVnIHRyYWNraW5nIGFuZCBmZWF0dXJlIHJlcXVlc3Qgc3lzdGVtIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIHRoaXMgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZnJvbnRlbmR1c2VycyI+aGVyZTwvYT4uICBQbGVhc2UgYmUgdmVyYm9zZSBhbmQgZGVzY3JpcHRpdmUgd2hlbiBzdWJtaXR0aW5nIGJ1ZyByZXBvcnRzIGFuZCBmZWF0dXJlIHJlcXVlc3RzLCBhbmQgZm9yIGJ1ZyByZXBvcnRzIGVuc3VyZSB0aGF0IHlvdSBoYXZlIHByb3ZpZGVkIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gcmVsaWFibHkgcmVwcm9kdWNlIHRoZSBpc3N1ZS48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcm92aWRlIGFsbCByZWxhdmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LiAgSG93ZXZlciwgcGxlYXNlIHVzZSB0aGlzIGFzIGEgbGFzdCByZXNvcnQsIGFuZCBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBmb2xsb3dlZCBhbGwgYXBwbGljYWJsZSBpbnN0cnVjdGlvbnMgb24gdGhlIGZvcmdlLCBpbiB0aGUgZm9ydW1zLCBldGMuPC9saT4KPC91bD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4K]]></data>
	</file>
	<file>
	  <filename>/function.advanced_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIHByb3ZpZGUgdGhlIGFiaWxpdHkgdG8gcHJvY2VzcwojICBQYXltZW50cyBtYWRlIHVzaW5nIHRoZSBFLWNvbW1lcmNlIHN1aXRlIHRocm91Z2ggdGhlIEF1dGhOZXQgcGF5bWVudAojICBnYXRld2F5LgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zZXRhZHZhbmNlZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiRzbWFydHktPmFzc2lnbigncG9zdF91cmwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwb3N0X3VybCcsJycpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZXN0X3Bvc3RfdXJsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGVzdF9wb3N0X3VybCcsJycpKTsKJHNtYXJ0eS0+YXNzaWduKCdhcmJfdXJsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXJiX3VybCcpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZXN0X2FyYl91cmwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXN0X2FyYl91cmwnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkdmFuY2VkX3RhYi50cGwnKTsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.ccinfo_template_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSByZXR1cm47CgplY2hvICc8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+Jy4kdGhpcy0+TGFuZygnaW5mb19jY2luZm9fdGVtcGxhdGUnKS4nPC9kaXY+JzsKZWNobyAkdGhpcy0+R2V0U2luZ2xlVGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsJ2NjaW5mb190ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2NpbmZvX3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfY2NpbmZvX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19jY2luZm9fdGVtcGxhdGUudHBsJyk7CiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.prefs_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwokc2lsZW50X3Bvc3RfdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdzaWxlbnRfcG9zdCcsJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCksYXJyYXkoKSxmYWxzZSxmYWxzZSwkdGhpcy0+R2V0TmFtZSgpLicvc2lsZW50X3Bvc3QnKTsKCiR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ3ByZWZzX3RhYi50cGwnKTsKJHRwbC0+YXNzaWduKCdzaWxlbnRfcG9zdF91cmwnLCRzaWxlbnRfcG9zdF91cmwpOwokdHBsLT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2V0cHJlZnMnKSk7CiR0cGwtPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0cGwtPmFzc2lnbignYWxsb3dfc3Vic2NyaXB0aW9ucycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X3N1YnNjcmlwdGlvbnMnKSk7CiR0cGwtPmFzc2lnbigndGVzdG1vZGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0ZXN0bW9kZScpKTsKJHRwbC0+YXNzaWduKCd0aW55dHJhbnNhY3Rpb25zJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGlueXRyYW5zYWN0aW9ucycpKTsKJHRwbC0+YXNzaWduKCd1c2V0ZXN0dXJsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNldGVzdHVybCcpKTsKJHRwbC0+YXNzaWduKCdsb2dpbmlkJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW5pZCcpKTsKJHRwbC0+YXNzaWduKCd0cmFuc2FjdGlvbmtleScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RyYW5zYWN0aW9ua2V5JykpOwokdHBsLT5kaXNwbGF5KCk7CiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.process_subscription.inc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRndyA9ICR0aGlzLT5nZXRfZ2F0ZXdheV9vYmooKTsKJG9yZGVyID0gJGd3LT5nZXRfb3JkZXJfb2JqZWN0KCk7CmlmKCAhaXNfb2JqZWN0KCRvcmRlcikgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfZGF0YScpKTsKICAgICR0aGlzLT5GaW5pc2hUcmFuc2FjdGlvbigpOwogICAgcmV0dXJuOwp9CgovLyBnZXQgdGhlIGJpbGxpbmcgYWRkcmVzcy4KJGJpbGxpbmcgPSAkb3JkZXItPmdldF9iaWxsaW5nKCk7CiR0bXAgPSAkb3JkZXItPmdldF9kZXN0aW5hdGlvbigwKTsKJHNoaXBwaW5nID0gJHRtcC0+Z2V0X3NoaXBwaW5nX2FkZHJlc3MoKTsKdW5zZXQoJHRtcCk7CgovLyB3b290LCB3ZSdyZSBidWlsZGluZyBhIHN1YnNjcmlwdGlvbi4uLiBnb3R0YSBidWlsZCB0aGUgeG1sIGRhdGEuCi8vIHNlZSB0aGlzIHJlZmVyZW5jZTogIGh0dHA6Ly93d3cuYXV0aG9yaXplLm5ldC9zdXBwb3J0L0FSQl9ndWlkZS5wZGYKJHdyaXRlciA9IG5ldyBYTUxXcml0ZXIoKTsKJHdyaXRlci0+b3Blbk1lbW9yeSgpOwokd3JpdGVyLT5zdGFydERvY3VtZW50KCcxLjAnLCAndXRmLTgnKTsKLy8gdGhlIHhtbCByb290Lgokd3JpdGVyLT5zdGFydEVsZW1lbnQoJ0FSQkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QnKTsKJHdyaXRlci0+d3JpdGVBdHRyaWJ1dGUoJ3htbG5zJywnQW5ldEFwaS94bWwvdjEvc2NoZW1hL0FuZXRBcGlTY2hlbWEueHNkJyk7CgovLyBkbyBhdXRoZW50aWNhdGlvbiBwb3J0aW9uLgokd3JpdGVyLT5zdGFydEVsZW1lbnQoJ21lcmNoYW50QXV0aGVudGljYXRpb24nKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCduYW1lJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9naW5pZCcpKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCd0cmFuc2FjdGlvbktleScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RyYW5zYWN0aW9ua2V5JykpOwokd3JpdGVyLT5lbmRFbGVtZW50KCk7Ci8vIHdyaXRlIHRoZSByZWZpZCBlbGVtZW50CiR3cml0ZXItPndyaXRlRWxlbWVudCgncmVmSWQnLCRvcmRlci0+Z2V0X2ludm9pY2UoKSk7Ci8vIHN0YXJ0IHRoZSBzdWJzY3JpcHRpb24uCiR3cml0ZXItPnN0YXJ0RWxlbWVudCgnc3Vic2NyaXB0aW9uJyk7CiRpdGVtID0gJHRoaXMtPm9yZGVyX2NvbnRhaW5zX3N1YnNjcmlwdGlvbigpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ25hbWUnLCRpdGVtLT5nZXRfZGVzY3JpcHRpb24oKSk7CiR3cml0ZXItPnN0YXJ0RWxlbWVudCgncGF5bWVudFNjaGVkdWxlJyk7CiR3cml0ZXItPnN0YXJ0RWxlbWVudCgnaW50ZXJ2YWwnKTsKc3dpdGNoKCAkaXRlbS0+Z2V0X3N1YnNjcl9wYXlwZXJpb2QoKSApIHsKY2FzZSBjZ19lY29tbV9wcm9kdWN0aW5mb19zdWJzY3JpcHRpb246OlNVQlNDUl9QRVJJT0RfTU9OVEhMWToKICAgICR3cml0ZXItPndyaXRlRWxlbWVudCgnbGVuZ3RoJywxKTsKICAgICR3cml0ZXItPndyaXRlRWxlbWVudCgndW5pdCcsJ21vbnRocycpOwogICAgYnJlYWs7CmNhc2UgY2dfZWNvbW1fcHJvZHVjdGluZm9fc3Vic2NyaXB0aW9uOjpTVUJTQ1JfUEVSSU9EX1FVQVJURVJMWToKICAgICR3cml0ZXItPndyaXRlRWxlbWVudCgnbGVuZ3RoJywzKTsKICAgICR3cml0ZXItPndyaXRlRWxlbWVudCgndW5pdCcsJ21vbnRocycpOwogICAgYnJlYWs7CmNhc2UgY2dfZWNvbW1fcHJvZHVjdGluZm9fc3Vic2NyaXB0aW9uOjpTVUJTQ1JfUEVSSU9EX1NFTUlBTlVBTExZOgogICAgJHdyaXRlci0+d3JpdGVFbGVtZW50KCdsZW5ndGgnLDYpOwogICAgJHdyaXRlci0+d3JpdGVFbGVtZW50KCd1bml0JywnbW9udGhzJyk7CiAgICBicmVhazsKY2FzZSBjZ19lY29tbV9wcm9kdWN0aW5mb19zdWJzY3JpcHRpb246OlNVQlNDUl9QRVJJT0RfWUVBUkxZOgpkZWZhdWx0OgogICAgJHdyaXRlci0+d3JpdGVFbGVtZW50KCdsZW5ndGgnLDEyKTsKICAgICR3cml0ZXItPndyaXRlRWxlbWVudCgndW5pdCcsJ21vbnRocycpOwogICAgYnJlYWs7Cn0KJHdyaXRlci0+ZW5kRWxlbWVudCgpOyAvLyBpbnRlcnZhbAokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ3N0YXJ0RGF0ZScsc3RyZnRpbWUoJyVZLSVtLSVkJykpOwokZXhwaXJlcyA9ICRpdGVtLT5nZXRfc3Vic2NyX2V4cGlyZXMoKTsKaWYoICRleHBpcmVzIDwgMSApIHsKICAgICRleHBpcmVzID0gOTk5OTsKfQplbHNlIHsKICAgICRleHBpcmVzID0gbWluKDk5OTksJGV4cGlyZXMpOyAvLyBpbmNhc2UgaXQncyBhIHVuaXggdGltZXN0YW1wLgp9Cgokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ3RvdGFsT2NjdXJyZW5jZXMnLCRleHBpcmVzKTsKJHdyaXRlci0+ZW5kRWxlbWVudCgpOyAvLyBwYXltZW50c2NoZWR1bGUKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdhbW91bnQnLG51bWJlcl9mb3JtYXQoJG9yZGVyLT5nZXRfdG90YWwoKSwyLCcuJywnJykpOwoKJGNjaW5mbyA9ICRndy0+R2V0UmF3Q3JlZGl0Q2FyZEluZm8oKTsKJHdyaXRlci0+c3RhcnRFbGVtZW50KCdwYXltZW50Jyk7CiR3cml0ZXItPnN0YXJ0RWxlbWVudCgnY3JlZGl0Q2FyZCcpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ2NhcmROdW1iZXInLCRjY2luZm9bMF0pOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ2V4cGlyYXRpb25EYXRlJyxzdHJmdGltZSgnJVktJW0nLCRjY2luZm9bMV0pKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdjYXJkQ29kZScsJGNjaW5mb1syXSk7CiR3cml0ZXItPmVuZEVsZW1lbnQoKTsgLy8gY3JlZGl0Q2FyZAokd3JpdGVyLT5lbmRFbGVtZW50KCk7IC8vIHBheW1lbnQKCiR3cml0ZXItPnN0YXJ0RWxlbWVudCgnb3JkZXInKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdpbnZvaWNlTnVtYmVyJywkb3JkZXItPmdldF9pbnZvaWNlKCkpOwokd3JpdGVyLT5lbmRFbGVtZW50KCk7IC8vIG9yZGVyOwoKJHdyaXRlci0+c3RhcnRFbGVtZW50KCdjdXN0b21lcicpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ2VtYWlsJywkYmlsbGluZy0+Z2V0X2VtYWlsKCkpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ3Bob25lTnVtYmVyJywkYmlsbGluZy0+Z2V0X3Bob25lKCkpOwokd3JpdGVyLT5lbmRFbGVtZW50KCk7IC8vIGN1c3RvbWVyCgokd3JpdGVyLT5zdGFydEVsZW1lbnQoJ2JpbGxUbycpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ2ZpcnN0TmFtZScsJGJpbGxpbmctPmdldF9maXJzdG5hbWUoKSk7CiR3cml0ZXItPndyaXRlRWxlbWVudCgnbGFzdE5hbWUnLCRiaWxsaW5nLT5nZXRfbGFzdG5hbWUoKSk7CiR3cml0ZXItPndyaXRlRWxlbWVudCgnY29tcGFueScsJGJpbGxpbmctPmdldF9jb21wYW55KCkpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ2FkZHJlc3MnLCRiaWxsaW5nLT5nZXRfYWRkcmVzczEoKSk7CiR3cml0ZXItPndyaXRlRWxlbWVudCgnY2l0eScsJGJpbGxpbmctPmdldF9jaXR5KCkpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ3N0YXRlJywkYmlsbGluZy0+Z2V0X3N0YXRlKCkpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ3ppcCcsJGJpbGxpbmctPmdldF9wb3N0YWwoKSk7CiR3cml0ZXItPndyaXRlRWxlbWVudCgnY291bnRyeScsJGJpbGxpbmctPmdldF9jb3VudHJ5KCkpOwokd3JpdGVyLT5lbmRFbGVtZW50KCk7IC8vIGJpbGxUbwoKJHdyaXRlci0+c3RhcnRFbGVtZW50KCdzaGlwVG8nKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdmaXJzdE5hbWUnLCRzaGlwcGluZy0+Z2V0X2ZpcnN0bmFtZSgpKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdsYXN0TmFtZScsJHNoaXBwaW5nLT5nZXRfbGFzdG5hbWUoKSk7CiR3cml0ZXItPndyaXRlRWxlbWVudCgnY29tcGFueScsJHNoaXBwaW5nLT5nZXRfY29tcGFueSgpKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdhZGRyZXNzJywkc2hpcHBpbmctPmdldF9hZGRyZXNzMSgpKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdjaXR5Jywkc2hpcHBpbmctPmdldF9jaXR5KCkpOwokd3JpdGVyLT53cml0ZUVsZW1lbnQoJ3N0YXRlJywkc2hpcHBpbmctPmdldF9zdGF0ZSgpKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCd6aXAnLCRzaGlwcGluZy0+Z2V0X3Bvc3RhbCgpKTsKJHdyaXRlci0+d3JpdGVFbGVtZW50KCdjb3VudHJ5Jywkc2hpcHBpbmctPmdldF9jb3VudHJ5KCkpOwokd3JpdGVyLT5lbmRFbGVtZW50KCk7IC8vIHNoaXBUbwoKJHdyaXRlci0+ZW5kRWxlbWVudCgpOyAvLyBzdWJzY3JpcHRpb24KCiR3cml0ZXItPmVuZEVsZW1lbnQoKTsgLy8gQVJCQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdAokZGF0YSA9ICR3cml0ZXItPm91dHB1dE1lbW9yeSh0cnVlKTsKCi8vIHdlIGhhdmUgdGhlIGRhdGEgdG8gcG9zdC4uLiBzbyBsZXRzIGRvIGl0LgokcG9zdF91cmwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXJiX3VybCcsQVVUSE5FVEFSQl9QUk9EVUNUSU9OX1VSTCk7CmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNldGVzdHVybCcpICkgewogICAgJHBvc3RfdXJsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rlc3RfYXJiX3VybCcsQVVUSE5FVEFSQl9URVNUX1VSTCk7Cn0KCiRodHRwID0gY2dlX2h0dHA6OmdldF9odHRwKCk7CiRodHRwLT5hZGRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQveG1sJyk7CiRodHRwLT5zZXRNZXRob2QoJ1BPU1QnKTsKJGh0dHAtPnNldFBhcmFtcygkZGF0YSk7CiRyZXN1bHQgPSAkaHR0cC0+ZXhlY3V0ZSgkcG9zdF91cmwpOwoKLy8gSGVyZSB3ZSBhZGp1c3QgaGVhZGVycyBmb3Igbm9uIGNhY2hhYmxlIHBhZ2VzCmhlYWRlcigiRXhwaXJlczogTW9uLCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQiKTsKaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiAiIC4gZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIpIC4gIiBHTVQiKTsKaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOwpoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAiLCBmYWxzZSk7CmhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIpOwoKJHhtbCA9IG5ldyBTaW1wbGVYTUxFbGVtZW50KCRyZXN1bHQsTElCWE1MX05PV0FSTklORyk7CmlmKCBpc3NldCgkeG1sLT5tZXNzYWdlcykgJiYgaXNzZXQoJHhtbC0+bWVzc2FnZXMtPnJlc3VsdENvZGUpICkgewogICAgaWYoICR4bWwtPm1lc3NhZ2VzLT5yZXN1bHRDb2RlID09ICdFcnJvcicgKSB7CiAgICAgICAgJGNvZGUgPSAnJzsKICAgICAgICBpZiggaXNzZXQoJHhtbC0+bWVzc2FnZXMtPm1lc3NhZ2UtPmNvZGUpICkgJGNvZGUgPSAkeG1sLT5tZXNzYWdlcy0+bWVzc2FnZS0+Y29kZTsKICAgICAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnQVJCIFBPU1QgRmFpbGVkIGZvciBpbnZvaWNlICcuJG9yZGVyLT5nZXRfaW52b2ljZSgpLicgV2l0aCBjb2RlICcuJGNvZGUpOwogICAgICAgICR0aGlzLT5TZXRUcmFuc2FjdGlvbkVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl90cmFuc2FjdGlvbl9lcnJvcicsJGNvZGUsJHhtbC0+bWVzc2FnZXMtPm1lc3NhZ2UtPnRleHQpKTsKICAgICAgICAkdGhpcy0+RmluaXNoVHJhbnNhY3Rpb24oKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBlbHNlIGlmKCAkeG1sLT5tZXNzYWdlcy0+cmVzdWx0Q29kZSA9PSAnT2snICYmIGlzc2V0KCR4bWwtPnN1YnNjcmlwdGlvbklkKSApIHsKICAgICAgICAkc2lkID0gKHN0cmluZykkeG1sLT5zdWJzY3JpcHRpb25JZDsKICAgICAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnQVJCIFBPU1QgU3VjY2VlZGVkIGZvciBpbnZvaWNlICcuJG9yZGVyLT5nZXRfaW52b2ljZSgpLicgV2l0aCBzdWJzY3JpcHRpb24gaWQgJy4kc2lkKTsKICAgICAgICAkdGhpcy0+U2V0VHJhbnNhY3Rpb25EYXRhKCdTdWJzY3JpcHRpb24gSUQnLCRzaWQpOwogICAgICAgICR0aGlzLT5TZXRUcmFuc2FjdGlvblN0YXR1cyhQQVlNRU5UX1NUQVRVU19QRU5ESU5HKTsKICAgICAgICAkdGhpcy0+RmluaXNoVHJhbnNhY3Rpb24oKTsKICAgICAgICByZXR1cm47CiAgICB9Cn0KCi8vIHNob3VsZCBub3QgZ2V0IGhlcmUuCiR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdVbmtub3duIEFSQiBQT1NUIEVSUk9SJyk7CmVjaG8gJHRoaXMtPkxhbmcoJ3Vua25vd25fYXJiX3Bvc3RfZXJyb3InKS4nPGJyLz4nOwpkZWJ1Z19kaXNwbGF5KCR4bWwpOwpyZXR1cm47CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.template_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSByZXR1cm47CgplY2hvICc8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+Jy4kdGhpcy0+TGFuZygnaW5mb19mb3JtX3RlbXBsYXRlJykuJzwvZGl2Pic7CmVjaG8gJHRoaXMtPkdldFNpbmdsZVRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLCdmb3JtX3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3JtX3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfZm9ybV90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfZm9ybV90ZW1wbGF0ZS50cGwnKTsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQAArAPcAAAAGTQMKTQsZThYfTgAGUgILVAsUWggWVhIYVREoWSQoTSUsWSo0Xzc4WAAbYxUfYAAgZwEkagYpZR0nZAs2bRU3bB48dCIrZSUuaCw1ay42ZzE6ZTI9ai47cDtAXgpGbxdHaRdFcxlbeg5dezRCbDtFaytFdTNDczZIdDhHdydNdUVIaE1RbURMd0pVelRZd09kfmdne7cBFrgHG7sRHLoPIboRI7sZKbslM8EpN8IxP8AjKdBMN702RMMyQLxGVMlRVNJiTclZZNF3eM1pbf6XAf6ZAf6dC+2fW/OzS+G2d/Oua96zdP/Gb/3Gcv3JfP3HdjlThDFVggZuhQhogxtphQxyiQhwhxN0ixx0jBV5jhx9khZ8kCNuiiVpiCh0jCl5kTl7lTVzjEhahlZchl5kjVlkhUd2lFVtj2hsg3R2jGt1lnB3mnN6nHh9kW5zh3Z9oM1/gh2BlSOCliSGmSuGmSWImiuJmyqBljuFmzOLnTqLnTKDmDyOoD2SozeQoUWHnVmInnqDmGGHnUSOoUOSpEqYqFGcrFaVpnaEpXqLqmOaq3uTr3SYq3yXsGeRp1Ogr1iisWahr2imtXaot36zvo2Pl4WGmI6RmpaWmpqanpKTl4mOpoySq4mVqp2doZWZqombspOds5+gp4equJujuIuxvZy4v6Olq6Slq6qss6apt7O0u7a4v66wub+Ok9iChN+XisOIjtuyjeGzkOi1tum3uOe5uuavq9yoqunFjOXEjfrLiOPHkuPIk+fInPbNlP7Xm/rSltrHs9nEp+3No/LPpPfWqPXbuePRsf7juYy5xZm2wru9xLa5yLa5xq6zxcG/xJXBy6bGzrzByqjK0bjK1bfU28LEy8nKz8bHy8vM0cXI0s/R1cXV2tHT1tTW2dfY3Nna3djPy+fIyevYxOfb2/PWzvjr2/PizNve49TX4Mvb4N7h5N7m6dvq7s3h5eLj5eTm6ePp7evr7Onm5vTm4/Xs6Pry6evv8uPs8O3x9PT09fb6+/7+/vn39iH5BAAAAAAALAAAAABAACsAAAj+AP0JHEiwIMF9y5a9M8iwocOHEB1O4yLHzzJ4/yJq3MhRID9DW/LMkXOH0rV+HVOqHGgtS6E8hw7dmaNn0rV9DvnRy7hy5b9BYe5g4XLnEKRChfwYWuauIL9438B1AxePp0p5zrJiy5qVGzWuzp6dykJojiREc+zcgTQJ0h05eiph/Bcvnjx6eNttU2e1IxsDgFM8AGwgQwbCBhCIwMMnDyVTb9XqORQJkh0uc0ztHPjvHz9z2uKp/FeGAAEDKAwUKECAAwbTrBN0IfRFEqlFW+zovgMoUExDi7w1/NdNG72UpAmsJmEgAAEArpWvBgFmT5hQjfLk1m0nTyBAhk7+/sOHLx068gP3YQPXN2LyAgZILHizYsOKC9IPjAjTBVEjSVZYIQcddNxRBx+UtMMPMsDw8gQUUDzByzH4CKQONqJx9F4BG7yRiSqc3LdaASF0kYcXppgCxhVTWEGgHIZY4w86vDRh4403PqEMStlow4+Gpa22wSWucANKCfgVoF8YXgxCSRhZTMGiHHJQMs+MT+CopY1QIOMPPc2A86NG/QRZAAksxKCmiARQMJsXayhCCBVXUDEFINUIhE+NW+L4xJ/l+GMONvVstOEGasTgxhtkTEDAAVXcAQYhjVBSxRRTYDGJPAMd0yeOThSDjBNPoONPNtuMCVGZ0m0giCv+zbhihqMTYNFHF40MgggVVISR54znlLPEpzcKQ045wDhxzD/0YCNOewy9d8AGL6ixQgNIHrAYH12coYgXVTAyzz21COHDDejywAMSWkZozC/JAFMOFLxUGI5x7pl5QguYCLLCAhNIMFsXgTgixRkykiPEDDI07LAMNAQxbBNPGKPMMcYUc0yWTaTjzz/aiLmqmSkIoMAlz/wbQh2FZLGIJ6SIlssNDtuQgw44+6ADDkEooQQtwxBDzDCzKMEEE0oQEw8/4WxTVT8ZQZucctSCogYDWGfhxxaAULJNRrfQLMMMM8SBDjr2pH0P2ni17c489NQTTz303HUPP51B/bH+P1B3JtB7BpxA7QsDLKDCpGAww5M9Pjg8Qw227MPJGmxUbrkiglhueRtstMG55ppzko8/7VT1sZkkvMDXKhvwoQci1xAUx8My2HDLPlIY4MDuvPfuO+8QQPC7AxbM8w811Dxt5gagCETPGHIU8qtA9zQ+dsM2RB5FBNx37/334IPvQAqjp6IKexuScIlA4ojxhx6mEERODddjfws/UTgQ/v78dx/FTqlAxTfwVoYArAYFC+gENQSRBUOYpRsDiQXDHga5feSvf8IDXgR8B4HuOaADxwngAFn1KPm8QAFo0IMh/lAJUowpFrSTwQ1u0Q9RKIIROHQEDnfIiER4Dg7+QEwEHDjnuUTwUBR4EyEBpUMCRg0ADIaggyGkMYlTCAQXE+wBEXAgC3JwBhug4MQqUOIPbnCCE574hjpEwYlOaEMg0OAEOFJFEH6gAhXd4AerhOQGFoCADoWgAyWkYYc5sMMf5JiBDWyAg3EMQRbRIAg9ViGBDohGHy1IQQco0IkokKEUbOiEP9RhAgiEAhuq8oc8RoGKr6WvBKAQgR/qoAdKUGIki+jHOXAAhFz84BWwGII5CkJKCnDjH2vowCosEIU2SAAN6uhHP+ZBhgp8YA194Yc8UJGKVG3oBAqAAR4KET1p/IFAW5jGP4SAg1wQwZ1AqEVB+jEGCYhCFBn+cAY0IoAGaFggAhZQxDzW0AJPUMAEGfoYPeLxiVb+Y48F4EAMHqEFQIzgCoWwAx3sIAc+uOMWNADCELZIA1sYRBEUGEMHROEPNkSgE/3YRiJCUIEyTGAMZKBABZ7xN52IQxOtXCJ8SJCGM4ygD3vIwhXkoFE7aEES/RjCDYAwNhvIsyDUoAAFQtEPeUSBAvfchjNMQAELQEMd64iCBNrwt7qFQxOj+EZnSqMcEnjgDHK4AhiQQocB6WYL1sCHEBwGOYO8YwyJQMk6xoAGa6wBp2iIAksF0gkTrAEl+8hHPMAB1wFuiAMrcIMZRGAFLtThEIbYwx3ssIU+zAMdQ6D+Qe1Mqoxg2Na2ugCGbYWhC10IAxi95a0wbguMXehit8IoBzg+MYo8SgsFCnCDJ2AAgioIaDKQ8IMdNPUxXAABBzRMghHGW4QijPe86E2vetFrjG2AorlCjWgMLtEATyApASLIAkkMkV0xyMgf+CBHPf4hXvKu98AIPkIxsJEJ+E6NQ5e4BAtGkYYJBCAAEvgAFgj0Bz80Aicfy0c/CozgEq/3CL/AhiZSkccyrSY+LHCDGt7AgiQRIAAHAMEX9DCTZbR1xOctb3kRbF7zGkHI6EUxNTLB4viiQAAAuDAHLjCi1QBAACQ4Ax7AIJx+0API4z2CgU885iMbQcxh9sX+kuHbjzTAJgUGgE0GXqMc2JjmAPg9xD7+Mbpk+OLPvQh0oP9MaED3otC+CPQudtGLXcxiGM/IBB5xAg0ytOAEY+BABjqQgRa0wDAZ0ACoDaOBFgiCGvKgyjxWPQ93vMMd6lBHO9xB61Xr49b52Ieu9eEOeIRjjtqgRjNUsQk8jqlZqdiEJZZtCWUz2xKYePayM7HiT2jiE9bWhLa1Te1ta9va2A63tzNBbnJvYhPnGxM/xBENaLDi3fCOt7zhHY1WtIIVqkjFKPbN7377+9/9RgW/UaGKbCT0S+oABzjE8WuFg6Ph4fhGwxUujnZY/NfFyQaqNL6NbXBc4xsHucgJR67xb8QDJwEBADs=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2FkdmFuY2VkJ10gPSAnQWR2YW5jZWQnOwokbGFuZ1snYWx0ZXJuYXRlX3Bvc3RfdXJsJ10gPSAnQWx0ZXJuYXRlIFByb2R1Y3Rpb24gU3VibWlzc2lvbiBVUkwnOwokbGFuZ1snYWx0ZXJuYXRlX3Rlc3RfdXJsJ10gPSAnQWx0ZXJuYXRlIERldmVsb3BtZW50IFN1Ym1pc3Npb24gVVJMJzsKJGxhbmdbJ2FsdGVybmF0ZV9hcmJfdXJsJ10gPSAnQWx0ZXJuYXRpdmUgUHJvZHVjdGlvbiBBUkIgVVJMJzsKCgojQgoKCiNDCiRsYW5nWydjY2luZm9fdGVtcGxhdGUnXSA9ICdDcmVkaXQgQ2FyZCBJbmZvIFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrb3V0X2J1dHRvbl9tZXNzYWdlJ10gPSAnQ2hlY2tvdXQnOwokbGFuZ1snY2hlY2tvdXRfbWVzc2FnZSddID0gJ0NoZWNrb3V0IHVzaW5nIEF1dGhvcml6ZS5ORVQnOwoKI0QKCgojRQokbGFuZ1snZXJyb3JfY2NleHBfaW52YWxpZCddID0gJ0V4cGlyeSBkYXRlIGVudGVyZWQgaXMgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9jY251bWJlcl9pbnZhbGlkJ10gPSAnQ3JlZGl0IGNhcmQgbnVtYmVyIGVudGVyZWQgaXMgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9jY3Zjb2RlX2VtcHR5J10gPSAnQSBDQ1YvU2VjdXJpdHkgY29kZSBpcyByZXF1aXJlZCc7CiRsYW5nWydlcnJvcl9jb25maWd1cmF0aW9uJ10gPSAnVGhpcyBtb2R1bGUgaXMgbm90IHByb3Blcmx5IGNvbmZpZ3VyZWQnOwokbGFuZ1snZXJyb3JfaGVsZF9mb3JfcmV2aWV3J10gPSAnUGF5bWVudCBoYXMgYmVlbiBoZWxkIGZvciByZXZpZXcnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19kYXRhJ10gPSAnU29tZSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bGwgdHJhbnNhY3Rpb24gcHJvY2Vzc2luZyBpcyBub3Qgc2V0JzsKJGxhbmdbJ2Vycm9yX3BheW1lbnRfZGVjbGluZWQnXSA9ICdQYXltZW50IGhhcyBiZWVuIGRlY2xpbmVkJzsKJGxhbmdbJ2Vycm9yX3Jlc3RvcmluZ19zdGF0ZSddID0gJ0EgcHJvYmxlbSBvY2N1cnJlZCByZXN0b3JpbmcgZ2F0ZXdheSBzdGF0ZSBpbmZvcm1hdGlvbic7CiRsYW5nWydlcnJvcl90cmFuc2FjdGlvbl9lcnJvciddID0gJ0Vycm9yICVzIG9jY3VycmVkIHByb2Nlc3NpbmcgdHJhbnNhY3Rpb246ICVzJzsKJGxhbmdbJ2Vycm9yX3Vua25vd24nXSA9ICdUaGUgcGF5bWVudCBnYXRld2F5IHJldHVybmVkIGluZm9ybWF0aW9uIHdlIGRvbnQgdW5kZXJzdGFuZCBhdCB0aGlzIHRpbWUnOwoKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdBdXRob3JpemUubmV0IEFJTS9BUkInOwokbGFuZ1snZm9ybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm0gT3JkZXIgVGVtcGxhdGUnOwoKI0cKCgojSAoKCiNJCiRsYW5nWydpbmZvX2FsbG93X3N1YnNjcmlwdGlvbnMnXSA9ICdFbmFibGUgdGhpcyBpZiB5b3UgaGF2ZSBhIHByb3Blcmx5IGNvbmZpZ3VyZWQgPGEgaHJlZj0iaHR0cDovL2F1dGhvcml6ZS5uZXQiPkF1dGhvcml6ZS5OZXQ8L2E+IGFjY291bnQsIHdpdGggQVJCIEFjY2VzcywgYW5kIHl1dSB3b3VsZCBsaWtlIHRvIHNlbGwgZWl0aGVyIHByb2R1Y3RzIG9yIHNlcnZpY2VzIGFzIGEgc3Vic2NyaXB0aW9uLic7CiRsYW5nWydpbmZvX2FsdGVybmF0ZV91cmxzJ10gPSAnU29tZSBwYXltZW50IGdhdGV3YXlzIGhhdmUgJnF1b3Q7QXV0aG9yaXplLk5FVCZxdW90OyBlbXVsYXRvcnMgdG8gYWxsb3cgdXNpbmcgdGhhdCBwYXltZW50IGdhdGV3YXkgd2l0aCBhbHRlcm5hdGUgc29mdHdhcmUuICAgQWxvbmcgd2l0aCBvdGhlciBkZXRhaWxzLCB0aGV5IHdpbGwgcHJvdmlkZSBhbHRlcm5hdGUgVVJMUyBmb3Igc3VibWl0dGluZyB0aGUgdHJhbnNhY3Rpb25zLiAgIFlvdSBtYXkgc3BlY2lmeSB0aG9zZSBVUkxTIGhlcmUuICAgSWYgdGhlc2UgdmFsdWVzIGFyZSBibGFuaywgdGhlbiB0aGUgc3lzdGVtIGRlZmF1bHQgVVJMUyBhcmUgdXNlZCc7CiRsYW5nWydpbmZvX21kNWhhc2gnXSA9ICdUaGUga2V5IHVzZWQgdG8gZW5jcnlwdCBjZXJ0YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0cmFuc2FjdGlvbiwgYW5kIHRvIHZlcmlmeSB0aGF0IHRyYW5zYWN0aW9uIGluZm9ybWF0aW9uIGNhbWUgZnJvbSBhIHZhbGlkIHNlcnZlci4gICBZb3Ugc2hvdWxkIGNvbmZpZ3VyZSB0aGUgaWRlbnRpY2FsIHZhbHVlIGluIHlvdXIgYXV0aG9yaXplLm5ldCBzZXR0aW5ncyc7CiRsYW5nWydpbmZvX2NjaW5mb190ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVzY3JpYmVzIGEgZm9ybSB3aGVyZSB0aGUgdXNlciBjYW4gZW50ZXIgY3JlZGl0IGNhcmQgaW5mb3JtYXRpb24gb24geW91ciBzaXRlIHdoaWNoIGlzIHRoZW4gc2VudCB0byB0aGUgcGF5bWVudCBnYXRld2F5Lic7CiRsYW5nWydpbmZvX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlc2NyaWJlcyB0aGUgb3V0cHV0IHVzZWQgaW4gdGhlIGNvbmZpcm0gb3JkZXIgcHJvY2VzcyA8ZW0+KE9yZGVycyBtb2R1bGUpPC9lbT4gd2hlcmUgdGhlIHVzZXIgY2FuIHNlbGVjdCBhIHBheW1lbnQgbWV0aG9kLiAgSXQgc2hvdWxkIGdlbmVyYXRlIGEgbGluayB0byBhIHBhZ2UgY29udGFpbmluZyB0aGUgY2NpbmZvIGFjdGlvbi4nOwokbGFuZ1snaW5mb19sb2dpbmlkJ10gPSAnUGxlYXNlIGVudGVyIHRoZSBMb2dpbiBJRCBwcm92aWRlZCB0byB5b3UgYnkgeW91ciBhdXRob3JpemUubmV0IHJlc2VsbGVyJzsKJGxhbmdbJ2luZm9fc2lsZW50X3Bvc3RfdXJsJ10gPSAnQ29weSB0aGlzIFVSTCBpbnRvIHRoZSAmcXVvdDtTSUxFTlQgUE9TVCZxdW90OyBVUkwgZmllbGQgaW4geW91ciBBdXRob3JpemUuTkVUIG1lcmNoYW50IGNlbnRlci4gIElmIHRoaXMgVVJMIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBzeXN0ZW0gd2lsbCBub3QgcmVjZWl2ZSBub3RpZmljYXRpb24gb2YgY2FuY2VsbGVkIHN1YnNjcmlwdGlvbnMgb3Igb3RoZXIgZXJyb3JzLic7CiRsYW5nWydpbmZvX3Rlc3Rtb2RlJ10gPSAnV2l0aCB0ZXN0IG1vZGUgZW5hYmxlZCwgbm8gcmVhbCB0cmFuc2FjdGlvbnMgd2lsbCBiZSBwcm9jZXNzZWQgZm9yIGxvZ2dlZCBpbiBhZG1pbmlzdHJhdG9ycy4gIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gQVJCIChzdWJzY3JpcHRpb24pIHRyYW5zYWN0aW9ucy4nOwokbGFuZ1snaW5mb190aW55dHJhbnNhY3Rpb25zJ10gPSAnVGhpcyBvcHRpb24gaXMgb25seSB1c2VmdWwgd2hlbiB0ZXN0aW5nIGluIGEgTElWRSBtZXJjaGFudCBlbnZpcm9ubWVudCwgd2l0aCB0ZXN0IG1vZGUgZGlzYWJlZC4gIEl0IHdpbGwgZm9yY2UgYWxsIHRyYW5zYWN0aW9ucyB0byBoYXZlIGEgdmFsdWUgb2YgJDAuMDEuICBUaGVzZSB0cmFuc2FjdGlvbnMgY2FuIGJlIGNhbmNlbGxlZCB1c2luZyB0aGUgbWVyY2hhbnQgaW50ZXJmYWNlLic7CiRsYW5nWydpbmZvX3RyYW5zYWN0aW9ua2V5J10gPSAnVGhlIHRyYW5zYWN0aW9uIGtleSB2YWx1ZSBzdXBwbGllZCB0byB5b3UgYnkgeW91ciBhdXRob3JpemUubmV0IHJlc2VsbGVyJzsKJGxhbmdbJ2luZm9fdXNldGVzdHVybCddID0gJ1VzZSB0aGUgQXV0aG9yaXplLm5ldCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBpbnN0ZWFkIG9mIHRoZSByZWFsIGVudmlyb25tZW50IChyZXF1aXJlcyBoYXZpbmcgYSBkZXZlbG9wZXIgYWNjb3VudCkuICBOb3RlLCB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgZG9lcyBub3QgYWxsb3cgZm9yIGNyZWRpdCBvciBvdGhlciBmb2xsb3ctb24gdHJhbnNhY3Rpb25zLic7CgojSgoKCiNLCgoKI0wKCgojTQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHBheW1lbnQgZ2F0ZXdheSBmb3IgdGhlIEUtY29tbWVyY2Ugc3lzdGVtIHRoYXQgdXNlcyB0aGUgQUlNIGFuZCBBUkIgcHJvdG9jb2xzIGZyb20gQXV0aG9yaXplLm5ldCc7CiRsYW5nWydtc2dfZGV2YWNjdCddID0gJ0F1dGhvcml6ZS5ORVQgQUlNL0FSQiAtIFVzaW5nIGRldmVsb3BlciBhY2NvdW50Li4uIG5vIHJlYWwgdHJhbnNhY3Rpb25zIHdpbGwgYmUgcHJvY2Vzc2VkJzsKJGxhbmdbJ21zZ190ZXN0bW9kZSddID0gJ0F1dGhvcml6ZS5ORVQgQUlNL0FSQiAtIFRlc3QgbW9kZSBpcyBlbmFibGVkIGZvciBsb2dnZWQgaW4gYWRtaW5pc3RyYXRvcnMnOwokbGFuZ1snbXNnX3VuY29uZmlndXJlZCddID0gJ1RoaXMgbW9kdWxlIGhhcyBub3QgeWV0IGJlZW4gcHJvcGVybHkgY29uZmlndXJlZCwgaXQgd2lsbCBub3Qgb3BlcmF0ZSBwcm9wZXJseSB1bnRpbCBpdCBpcyBjb25maWd1cmVkLic7CgojTgoKCiNPCgoKI1AKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuICBQbGVhc2UgdmlzaXQgdGhlIG1vZHVsZSBhZG1pbiBwYW5lbCBhbmQgZW5zdXJlIGFsbCBwcmVmZXJlbmNlcyBhcmUgc2V0IHByb3Blcmx5JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGlzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgdW5pbnN0YWxsZWQnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydwcm9tcHRfYWxsb3dfc3Vic2NyaXB0aW9ucyddID0gJ0FsbG93IFN1YnNjcmlwdGlvbnMnOwokbGFuZ1sncHJvbXB0X2NjZXhwJ10gPSAnRXhwaXJ5IERhdGUnOwokbGFuZ1sncHJvbXB0X2NjaW5mb190ZW1wbGF0ZSddID0gJ0VkaXQgdGhlIENyZWRpdCBDYXJkIEluZm8gVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2NjbnVtYmVyJ10gPSAnQ3JlZGl0IENhcmQgTnVtYmVyJzsKJGxhbmdbJ3Byb21wdF9jY3Zjb2RlJ10gPSAnQ0NWL1NlY3VyaXR5IENvZGUnOwokbGFuZ1sncHJvbXB0X2Zvcm1fdGVtcGxhdGUnXSA9ICdFZGl0IHRoZSBDb25maXJtIE9yZGVyIFRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9tZDVoYXNoJ10gPSAnTUQ1IEhhc2gnOwokbGFuZ1sncHJvbXB0X2xvZ2luaWQnXSA9ICdBdXRob3JpemUuTmV0IEFQSSBMb2dpbiBJRCc7CiRsYW5nWydwcm9tcHRfc2lsZW50X3Bvc3RfdXJsJ10gPSAnU2lsZW50IFBPU1QgVVJMJzsKJGxhbmdbJ3Byb21wdF90ZXN0bW9kZSddID0gJ0VuYWJsZSBUZXN0IE1vZGUnOwokbGFuZ1sncHJvbXB0X3Rpbnl0cmFuc2FjdGlvbnMnXSA9ICdFbmFibGUgVGlueSAoJDAuMDEpIFRyYW5zYWN0aW9ucyc7CiRsYW5nWydwcm9tcHRfdHJhbnNhY3Rpb25rZXknXSA9ICdUcmFuc2FjdGlvbiBLZXknOwokbGFuZ1sncHJvbXB0X3VzZXRlc3R1cmwnXSA9ICdVc2UgRGV2ZWxvcGVyIGFjY291bnQnOwoKI1EKCgojUgokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBtb2R1bGUuICBDb250aW51aW5nIG1heSBoYXZlIGJhZCBlZmZlY3RzIG9uIGFuIG9wZXJhdGlvbmFsIHdlYnNpdGUnOwoKI1MKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CgojVAokbGFuZ1sndGVzdF9hcmJfdXJsJ10gPSAnQWx0ZXJuYXRpdmUgRGV2ZWxvcG1lbnQgQVJCIFVSTCc7CiRsYW5nWyd0aXRsZV9hdXRobmV0YWltJ10gPSAnUGF5IHdpdGggeW91ciBjcmVkaXQgY2FyZCBkaXJlY3RseSBvbiB0aGlzIHNpdGUuJzsKCiNVCgoKI1YKCgojVwoKCiNYCgoKI1kKCgojWgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.gateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBBdXRoTmV0QUlNOwoKZmluYWwgY2xhc3MgZ2F0ZXdheSBpbXBsZW1lbnRzIFxDR0Vjb21tZXJjZUJhc2VccGF5bWVudF9nYXRld2F5CnsKICAgIHVzZSBcQ0dFY29tbWVyY2VCYXNlXGRmbHRfZ2F0ZXdheV9pbXBsZW1lbnRhdGlvbjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gUmVxdWlyZXNDcmVkaXRDYXJkSW5mbygpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBSZXF1aXJlc1NTTCgpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBSZXF1aXJlc1NoaXBwaW5nSW5mbygpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gUmVxdWlyZXNCaWxsaW5nSW5mbygpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gU3VwcG9ydHNPZmZsaW5lQ2hhcmdlcygpIHsgcmV0dXJuIEZBTFNFOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIFN1cHBvcnRzUmVmdW5kcygpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0FVVEhORVRBSU0pOwogICAgICAgIGlmKCAhJG1vZC0+R2V0UHJlZmVyZW5jZSgndGVzdG1vZGUnKSApIHJldHVybiBUUlVFOwogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSXNDb25maWd1cmVkKCkKICAgIHsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQVVUSE5FVEFJTSk7CiAgICAgICAgJGxvZ2luaWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdsb2dpbmlkJyk7CiAgICAgICAgJHRyYW5zYWN0aW9ua2V5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHJhbnNhY3Rpb25rZXknKTsKICAgICAgICBpZiggJGxvZ2luaWQgJiYgJHRyYW5zYWN0aW9ua2V5ICkgcmV0dXJuIFRSVUU7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBDaGVja0luZm8oKQogICAgewogICAgICAgICR0bXAgPSAkdGhpcy0+Z2V0X29yZGVyX29iamVjdCgpOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCR0bXApICkgcmV0dXJuIEZBTFNFOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCR0aGlzLT5HZXRCaWxsaW5nQWRkcmVzcygpKSApIHJldHVybiBGQUxTRTsKICAgICAgICBpZiggIWlzX29iamVjdCgkdGhpcy0+R2V0U2hpcHBpbmdBZGRyZXNzKCkpICkgcmV0dXJuIEZBTFNFOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGb3JtKCRyZXR1cm5pZCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5DaGVja0luZm8oKSApIHJldHVybiBGQUxTRTsgLy8gbW9kdWxlIGRvZXMgbm90IGhhdmUgYW55IGN1cnJlbnQgb3JkZXIgaW5mby4KICAgICAgICAka2V5ID0gJHRoaXMtPlNhdmVTdGF0ZSh0cnVlKTsKCiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0FVVEhORVRBSU0pOwogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ0F1dGhOZXRBaW0nLCRtb2QpOwogICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2VfdXJsJywgJG1vZC0+R2V0TW9kdWxlVVJMUGF0aCgpLicvaW1hZ2VzL2ljb24uZ2lmJyk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdpbWFnZV9hbHQnLCAkbW9kLT5HZXROYW1lKCkpOwogICAgICAgICRzbWFydHktPmFzc2lnbignZW5jcnlwdGlvbl9rZXknLCRrZXkpOwogICAgICAgICRzbWFydHktPmFzc2lnbignY2Nmb3JtX3VybCcsJG1vZC0+Y3JlYXRlX3VybCgnX0F1dGhOZXQnLCdjY2luZm8nLCRyZXR1cm5pZCxhcnJheSgna2V5Jz0+JGtleSkpKTsKCiAgICAgICAgJGxvZ2luaWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdsb2dpbmlkJyk7CiAgICAgICAgJHRyYW5zYWN0aW9ua2V5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndHJhbnNhY3Rpb25rZXknKTsKICAgICAgICBpZiggZW1wdHkoJGxvZ2luaWQpIHx8IGVtcHR5KCR0cmFuc2FjdGlvbmtleSkgKSB7CiAgICAgICAgICAgIHJldHVybiAkbW9kLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCR0aGlzLT5HZXROYW1lKCkuJzogJy4kdGhpcy0+TGFuZygnZXJyb3JfY29uZmlndXJhdGlvbicpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2Zvcm1fdGVtcGxhdGUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NhcnRpdGVtX3BvbGljeSgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0FVVEhORVRBSU0pOwogICAgICAgICRwb2xpY3kgPSBuZXcgXGNnX2Vjb21tX2NhcnRpdGVtX3BvbGljeTsKICAgICAgICAkcG9saWN5LT5zZXRfbWF4X3N1YnNjcmlwdGlvbnMoMCk7CiAgICAgICAgLyoKICAgICAgICBpZiggJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfc3Vic2NyaXB0aW9ucycpICkgewogICAgICAgICAgICAkcG9saWN5LT5zZXRfbWF4X3N1YnNjcmlwdGlvbnMoMSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkcG9saWN5LT5zZXRfbWF4X3N1YnNjcmlwdGlvbnMoMCk7CiAgICAgICAgfQogICAgICAgICovCiAgICAgICAgJHBvbGljeS0+c2V0X21peGVkX3N1YnNjcmlwdGlvbnMoRkFMU0UpOwogICAgICAgIHJldHVybiAkcG9saWN5OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBQcm9jZXNzVHJhbnNhY3Rpb24oKQogICAgewogICAgICAgICRrZXkgPSAkdGhpcy0+U2F2ZVN0YXRlKHRydWUpOwogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgICRwYXJhbXNbJ2tleSddID0gJGtleTsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQVVUSE5FVEFJTSk7CiAgICAgICAgcmV0dXJuICRtb2QtPkRvQWN0aW9uKCdwcm9jZXNzX3BheW1lbnQnLCdjbnRudDAxJywkcGFyYW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gUHJvY2Vzc1N5bmNUcmFuc2FjdGlvbigpCiAgICB7CiAgICAgICAgZGllKF9fTUVUSE9EX18uJyBpcyBub3QgaW1wbGVtZW50ZWQnKTsKICAgIH0KCn0gLy8gZW5kIG9mIGNsYXNzCj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSB0aGUgYWJpbGl0eSB0byBwcm9jZXNzCiMgIFBheW1lbnRzIG1hZGUgdXNpbmcgdGhlIEUtY29tbWVyY2Ugc3VpdGUgdGhyb3VnaCB0aGUgQXV0aE5ldCBwYXltZW50CiMgIGdhdGV3YXkuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0ZXN0bW9kZScsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2V0ZXN0dXJsJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2luaWQnLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RyYW5zYWN0aW9ua2V5JywnJyk7CgokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfZm9ybV90ZW1wbGF0ZS50cGwnOwokZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwokdGhpcy0+U2V0VGVtcGxhdGUoJ2Zvcm1fdGVtcGxhdGUnLCRkYXRhKTsKCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19jY2luZm9fdGVtcGxhdGUudHBsJzsKJGRhdGEgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKJHRoaXMtPlNldFRlbXBsYXRlKCdjY2luZm9fdGVtcGxhdGUnLCRkYXRhKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRTaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIHByb3ZpZGUgdGhlIGFiaWxpdHkgdG8gcHJvY2VzcwojICBQYXltZW50cyBtYWRlIHVzaW5nIHRoZSBFLWNvbW1lcmNlIHN1aXRlIHRocm91Z2ggdGhlIEF1dGhOZXQgcGF5bWVudAojICBnYXRld2F5LgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF1dGhOZXRBaW0gKGMpIDIwMDkgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIHByb3ZpZGUgdGhlIGFiaWxpdHkgdG8gcHJvY2VzcwojICBQYXltZW50cyBtYWRlIHVzaW5nIHRoZSBFLWNvbW1lcmNlIHN1aXRlIHRocm91Z2ggdGhlIEF1dGhOZXQgcGF5bWVudAojICBnYXRld2F5LgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/advanced_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxwPnskbW9kLT5MYW5nKCdpbmZvX2FsdGVybmF0ZV91cmxzJyl9PC9wPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhbHRlcm5hdGVfcG9zdF91cmwnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1wb3N0X3VybCIgdmFsdWU9InskcG9zdF91cmx9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhbHRlcm5hdGVfdGVzdF91cmwnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10ZXN0X3Bvc3RfdXJsIiB2YWx1ZT0ieyR0ZXN0X3Bvc3RfdXJsfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWx0ZXJuYXRlX2FyYl91cmwnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hcmJfdXJsIiB2YWx1ZT0ieyRhcmJfdXJsfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGVzdF9hcmJfdXJsJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dGVzdF9hcmJfdXJsIiB2YWx1ZT0ieyR0ZXN0X2FyYl91cmx9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_ccinfo_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY3JlZGl0IGNhcmQgaW5mbyB0ZW1wbGF0ZSAqfQp7JGZvcm1zdGFydH0KICA8aW1nIHNyYz0ieyRpbWFnZV91cmx9IiBhbHQ9InskbW9kLT5HZXROYW1lKCl9Ii8+CgogIHtpZiBpc3NldCgkZXJyb3IpfTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWRhbmdlciI+eyRlcnJvcn08L2Rpdj57L2lmfQogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8cCBjbGFzcz0iY29sLXNtLTIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jY251bWJlcicpfTo8L3A+CiAgICA8cCBjbGFzcz0iY29sLXNtLTEwIj4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y2NudW1iZXIiIHZhbHVlPSJ7JGNjaW5mby5jY251bWJlcn0iIHNpemU9IjIwIi8+CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxwIGNsYXNzPSJjb2wtc20tMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NjZXhwJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJjb2wtc20tMTAiPgogICAgICB7JHRtcD0kYWN0aW9uaWR8Y2F0OidjY2V4cCd9CiAgICAgIHtodG1sX3NlbGVjdF9kYXRlIGZpZWxkX2FycmF5PSR0bXAgdGltZT0kY2NpbmZvLmNjZXhwIGVuZF95ZWFyPSIrNSIgZGlzcGxheV9kYXlzPWZhbHNlfQogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8cCBjbGFzcz0iY29sLXNtLTIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jY3Zjb2RlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJjb2wtc20tMTAiPgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jY3Zjb2RlIiB2YWx1ZT0ieyRjY2luZm8uY2N2Y29kZX0iIHNpemU9IjUiLz4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPHAgY2xhc3M9ImNvbC1zbS0yIHRleHQtcmlnaHQiPjwvcD4KICAgIDxwIGNsYXNzPSJjb2wtc20tMTAiPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWF1dGhuZXRfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPC9wPgogIDwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_form_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY29uZmlybSBvcmRlciB0ZW1wbGF0ZSAqfQo8YSBocmVmPSJ7JGNjZm9ybV91cmx9IiB0aXRsZT0ieyRBdXRoTmV0QWltLT5MYW5nKCd0aXRsZV9hdXRobmV0YWltJyl9Ij4KICA8aW1nIHNyYz0ieyRpbWFnZV91cmx9IiBhbHQ9InskQXV0aE5ldEFpbS0+TGFuZygndGl0bGVfYXV0aG5ldGFpbScpfSIvPgo8L2E+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/prefs_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3NpbGVudF9wb3N0X3VybCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57JHNpbGVudF9wb3N0X3VybH08L3NwYW4+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fc2lsZW50X3Bvc3RfdXJsJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Rlc3Rtb2RlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH10ZXN0bW9kZSIgdmFsdWU9IjEiIHtpZiAkdGVzdG1vZGUgPT0gMX1jaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48YnIvPnskbW9kLT5MYW5nKCdpbmZvX3Rlc3Rtb2RlJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Rpbnl0cmFuc2FjdGlvbnMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXRpbnl0cmFuc2FjdGlvbnMiIHZhbHVlPSIxIiB7aWYgJHRpbnl0cmFuc2FjdGlvbnMgPT0gMX1jaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48YnIvPnskbW9kLT5MYW5nKCdpbmZvX3Rpbnl0cmFuc2FjdGlvbnMnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXNldGVzdHVybCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9dXNldGVzdHVybCIgdmFsdWU9IjEiIHtpZiAkdXNldGVzdHVybCA9PSAxfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPjxici8+eyRtb2QtPkxhbmcoJ2luZm9fdXNldGVzdHVybCcpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9sb2dpbmlkJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWxvZ2luaWQiIHZhbHVlPSJ7JGxvZ2luaWR9IiBzaXplPSI1MCIvPgogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19sb2dpbmlkJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RyYW5zYWN0aW9ua2V5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXRyYW5zYWN0aW9ua2V5IiB2YWx1ZT0ieyR0cmFuc2FjdGlvbmtleX0iIHNpemU9IjUwIi8+CiAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3RyYW5zYWN0aW9ua2V5Jyl9CiAgPC9wPgo8L2Rpdj4KCnsqCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FsbG93X3N1YnNjcmlwdGlvbnMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdhbGxvd19zdWJzY3JpcHRpb25zJyBzZWxlY3RlZD0kYWxsb3dfc3Vic2NyaXB0aW9uc30KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19hbGxvd19zdWJzY3JpcHRpb25zJyl9CiAgPC9wPgo8L2Rpdj4KKn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
</module>
