<?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>CGFBPost</name>
	<version>1.1.3</version>
    <mincmsversion>2.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+Q0dGQlBvc3QgaXMgYSBzaW1wbGUgPGVtPnRyYW5zcG9ydCBtb2R1bGU8L2VtPiBmb3Igc2VuZGluZyBmYWNlYm9vayB3YWxsIHBvc3RzIGFzIGFuIHRoZSB3YWxsL2FwcGxpY2F0aW9uIG93bmVyIHJhdGhlciB0aGFuIGEgdXNlci4gIFRoaXMgbW9kdWxlIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSA8ZW0+KGFuZCBvdGhlciBtb2R1bGVzIGxpa2UgQ0dUd2VldCk8L2VtPiB0byBzaGFyZSBpdGVtcyBsaWtlIGJsb2cgYXJ0aWNsZXMgYW5kIHByb2R1Y3RzIHdpdGggbXVsdGlwbGUgbWVkaWEgbmV0d29ya3MgYXQgdGhlIHNhbWUgdGltZS48L3A+CjxoMz5GZWF0dXJlczwvaDM+CiAgPHVsPgogICAgPGxpPlByb3ZpZGVzIGludGVyZWN0aW9uIHdpdGggdGhlIENHU29jaWFsQmxhc3RlciBtb2R1bGUgdG8gYWxsb3cgc2VuZGluZyBub3RpZmljYXRpb25zIHRvIG11bHRpcGxlIHNvY2lhbCBuZXR3b3JrcyBhdCBvbmNlIGZyb20gbW9kdWxlcyBsaWtlIENHQmxvZy48L2xpPgogIDwvdWw+Cgo8aDM+UmVxdWlyZW1lbnRzOjwvaDM+CiAgPHA+T3RoZXIgdGhhbiB0aGUgbGlzdCBvZiBDTVNNUyBtb2R1bGUgZGVwZW5kZW5jaWVzLCB0aGVyZSBhcmUgc29tZSB0aGluZ3MgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcyBpbiBvcmRlciB0byB3b3JrIHByb3Blcmx5OjwvcD4KICA8dWw+CiAgICA8bGk+UHJldHR5IFVSTFM6CiAgICAgIDxwPkZhY2Vib29rIGRvZXMgbm90IHNlZW0gdG8gd29yayB3ZWxsIHdpdGggcG9zdHMgdGhhdCBoYXZlIGVuY29kZWQgY2hhcmFjdGVycyBpbiB0aGVtLiAgSSBzdWdnZXN0IHlvdSBjb25maWd1cmUgYW5kIHNldHVwIGVpdGhlciBpbnRlcm5hbCBvciBwcmV0dHkgVVJMUy48L3A+CiAgICA8L2xpPgogICAgPGxpPkZhY2Vib29rIEFwcCBDcmVkZW50aWFscwogICAgICA8cD5Zb3UgbmVlZCB0byBwcm92aWRlIHRoZSBmYWNlYm9vayBBcHAgSUQsIEFuZCBBcHAgU2VjcmV0IGluIHRoZSBtb2R1bGVzIGFkbWluIHBhbmVsLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+VGhlIFBhZ2UgSUQgdG8gcG9zdCB0bywgYW5kIGFuIGFjY2VzcyB0b2tlbi4KICAgPHA+VGhpcyBtb2R1bGUgYmFzaWNhbGx5IHVzZXMgYSBmYWNlYm9vayBhcHBsaWNhdGlvbiB0byBwcm92aWRlIHNlYW1sZXNzIHBvc3RpbmcgZnJvbSBDTVNNUyB0byBhIGZhY2Vib29rIHBhZ2U8ZW0+L3dhbGw8L2VtPiBvbiBiZWhhbGYgb2YgYSB1c2VyLiAgQSB1c2VyIG11c3QgYXV0aGVudGljYXRlIHRoZSBhcHBsaWNhdGlvbiwgdGh1cyBwcm92aWRpbmcgdGhlIG1vZHVsZSB3aXRoIGFjY2VzcyB0b2tlbnMuPC9wPgogICA8cD5JbiBvcmRlciB0byBkbyB0aGlzLCBhIGZhY2Vib29rIHVzZXIgd2l0aCBhZG1pbnN0cmF0b3IgYWNjZXNzIHRvIGEgZmFjZWJvb2sgcGFnZSBuZWVkcyB0byBhZGQgYW5kIGF1dGhlbnRpY2F0ZSB0aGUgYXBwbGljYXRpb24uPC9wPgogICAgPHA+VGhpcyBtb2R1bGVzIGFkbWluIHBhbmVsIHByb3ZpZGVzIGFuICZxdW90O0F1dGhlbnRpY2F0aW9uJnF1b3Q7IHRhYi4gIEl0IHByb3ZpZGVzIGEgbGluayBmb3IgdGhlIGZhY2Vib29rIHVzZXIgdG8gYXV0aGVudGljYXRlIHRoZSBhcHBsaWNhdGlvbiwgYW5kIHNlbGVjdCB0aGUgRmFjZWJvb2sgcGFnZSB0aGF0IHRoaXMgbW9kdWxlIHdpbGwgcG9zdCB0by4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gU2VlIHRoZSBzZWN0aW9uIGFib3V0IGZhY2Vib29rIGNyZWRlbnRpYWxzIGJlbG93LjwvcD4KICAgIDwvbGk+CiAgPC91bD4KCjxoMz5Ib3cgZG8gSSBVc2UgaXQ/PC9oMz4KICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEF0IHRoaXMgdGltZSwgdGhpcyBtb2R1bGUgaGFzIG5vIGFkbWluaXN0cmF0b3Igb3IgZnJvbnRlbmQgZnVuY3Rpb25hbGl0eSBvZiBpdHMgb3duLCBpdCBpcyB1c2VkIGJ5IHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlLCB3aGljaCBtdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhpcyBtb2R1bGUgdG8gZnVuY3Rpb24uPC9saT4KICA8b2w+CiAgICA8bGk+Q3JlYXRlIGEgRmFjZWJvb2sgQXBwbGljYXRpb24gb2YgdHlwZSAid2Vic2l0ZSI8L2xpPgogICAgPGxpPllvdXIgRmFjZWJvb2sgYWNjb3VudCBtdXN0IGhhdmUgYWRtaW5pc3RyYXRvciBhY2Nlc3MgdG8gYXQgbGVhc3Qgb25lIGZhY2Vib29rIHBhZ2UuPC9saT4KICAgIDxsaT5JbiB0aGUgbW9kdWxlIGFkbWluIHBhbmVsIHNwZWNpZnkgdGhlIEZhY2Vib29rIGFwcHMgJnF1b3Q7QXBwIElEJnF1b3Q7IGFuZCAmcXVvdDtBcHAgU2VjcmV0JnF1b3Q7IGFuZCBwcmVzcyBzdWJtaXQuPC9saT4KICAgIDxsaT5JbiB0aGUgbW9kdWxlIGFkbWluIHBhbmVsLCBjbGljayB0aGUgbG9naW4gbGluayB0byBzbyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgY2FuIGF1dGhlbnRpY2F0ZSB0aGUgYXBwbGljYXRpb24uPC9saT4KICAgIDxsaT5DaG9vc2UgdGhlIGZhY2Vib29rIHBhZ2U8ZW0+L3dhbGw8L2VtPiB0aGF0IHRoaXMgbW9kdWxlIHdpbGwgcG9zdCB0by48L2xpPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZS48L2xpPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSBhIDxlbT5zZW5kZXIgbW9kdWxlPC9lbT4gKHN1Y2ggYXMgQ0dCbG9nKS48L2xpPgogICAgPGxpPjxzdHJvbmc+T3B0aW9uYWwsIGJ1dCBSZWNvbW1lbmRlZDwvc3Ryb25nPiBJbnNlcnQgdGhlIGFwcHJvcHJpYXRlIG9wZW5ncmFwaCB0YWdzIGludG8geW91ciB0ZW1wbGF0ZXMgc28gdGhhdCB5b3VyIHZhcmlvdXMgcGFnZXMgYmVjb21lIG9wZW5ncmFwaCBvYmplY3RzLiAgU2VlIHRoZSA8ZW0+Q0dGQkFwcDwvZW0+IG1vZHVsZSBmb3IgYSBjb252ZW5pZW50IGFuZCBzaW1wbGUgd2F5IHRvIGRvIHRoaXMuPC9saT4KICA8L29sPgoKPGgzPkZhY2Vib29rIENyZWRlbnRpYWxzPC9oMz4KPHA+VGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB5b3UgbG9naW4gdG8gZmFjZWJvb2ssIGFuZCBncmFudCB0aGUgYXBwbGljYXRpb24gdGhlICJwdWJsaXNoX3BhZ2VzIiBhbmQgIm1hbmFnZV9wYWdlcyIgcGVybWlzc2lvbnMuICBUaGVzZSBwZXJtaXNzaW9ucyBtYXkgcmVxdWlyZSB0aGF0IHlvdXIgZmFjZWJvb2sgYXBwbGljYXRpb24gZ28gdGhyb3VnaCBhbiBhcHByb3ZhbCBwcm9jZXNzLjwvcD4KPHA+SWYgdGhlIHVzZXIgd2hvIGF1dGhvcml6ZWQgdGhlIGFwcCBkZWxldGVzIHRoYXQgYXBwIGZyb20gaGlzIGxpc3QgYW5vdGhlciB1c2VyIHdpdGggYWRtaW4gYWNjZXNzIHRvIGF0IGxlYXN0IG9uZSBmYWNlYm9vayBwYWdlIHdpbGwgbmVlZCB0byBhdXRob3JpemUgdGhlIGFwcGxpY2F0aW9uLjwvcD4KCjxoMz5QaWN0dXJlczo8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBzdXBwb3J0IGF0dGFjaGluZyBhIHBob3RvIHRvIHRoZSBpbWFnZS4gIFlvdSBzaG91bGQgZW5zdXJlIHRoYXQgeW91ciBzaXRlIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgZm9yIHByZXR0eSBVUkwncyBhbmQgdGhhdCB1cG9uIHBhZ2UgcmVuZGVyIG9mIGEgZGV0YWlsIHZpZXcgb2YgYW4gaXRlbSB0aGF0IGFsbCBvZiB0aGUgYXBwcm9wcmlhdGUgb3Blbi1ncmFwaCBtZXRhIHRhZ3MgYXJlIHJlbmRlcmVkIGluIHRoZSBIVE1MIG91dHB1dC4gIFRoZSA8c3Ryb25nPjxjb2RlPkNHSGVhZE1hc3RlcjwvY29kZT48L3N0cm9uZz4gbW9kdWxlIGlzIGEgZ29vZCBhc3Npc3RhbnQgZm9yIHRoYXQuPC9wPgoKPGgzPlNlbmRlciBNb2R1bGVzPC9oMz4KPHA+U2VuZGVyIG1vZHVsZXMgYXJlIENNU01TIG1vZHVsZXMgdGhhdCBhcmUgY29uZmlndXJlZCB0byBhbGxvdyBzZW5kaW5nIGluZm9ybWF0aW9uIHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlLiAgQXQgdGhpcyB0aW1lIENHQmxvZyBpcyB0aGUgb25seSBtb2R1bGUgdGhhdCBzdXBwb3J0cyB0aGlzLjwvcD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Zyb250ZW5kdXNlcnMiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJvdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEzLCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjU2PC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMS4zPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgoJPGxpPlZlcnNpb24gMS4wIC0gSW5pdGlhbCByZWxlYXNlLjwvbGk+Cgk8bGk+VmVyc2lvbiAxLjEuMwoJCTx1bD4KCQk8bGk+VGhpcyBpcyBhIG1ham9yIG92ZXJoYXVsPC9saT4KCQk8bGk+Tm8gbG9uZ2VyIHN1cHBvcnQgcGljdHVyZSBhdHRhY2htZW50cyBmb3IgZmFjZWJvb2sgcG9zdHMuPC9saT4KCQk8bGk+VXBkYXRlZCB0byB1c2UgcHVibGlzaF9hY3Rpb24gaW5zdGVhZCBvZiBwdWJsaXNoX3N0cmVhbS48L2xpPgoJCTxsaT5Ob3cgdXNlcyBuZXdlciBmYWNlYm9vay1waHAtc2RrIHZpYSBjb21wb3Nlci48L2xpPgoJCTwvdWw+Cgk8L2xpPgo8L3VsPgo8YnIgLz4=]]></about>
	<description><![CDATA[A module for sending facebook posts to either an app page or an authorized page]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.56</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_auth_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRkJQb3N0IChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgcG9zdGluZyB0byBhIGZhY2Vib29rIGFwcCdzIHdhbGwsIG9yIHRvCiMgIGEgd2FsbCBhdXRob3JpemVkIGJ5IGEgdXNlci4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdhdXRoJyk7CgpyZXF1aXJlX29uY2UoX19ESVJfXy4nL3ZlbmRvci9hdXRvbG9hZC5waHAnKTsKCiRmYl9hcHBpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmYl9hcHBpZCcpOwokZmJfYXBwc2VjcmV0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZiX2FwcHNlY3JldCcpOwokZmJfcGFnZV9hY2Nlc3NfdG9rZW4gPSAkZmJfdXNlcl9hY2Nlc3NfdG9rZW4gPSAkZmJfcGFnZXMgPSAkbG9naW5fdXJsID0gJGZiX3BhZ2VpZCA9IG51bGw7CiRkZXN0X3VybCA9ICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnZGVmYXVsdGFkbWluJyk7CiRkZXN0X3VybCA9IHN0cl9yZXBsYWNlKCdhbXA7JywnJywkZGVzdF91cmwpOwokcGFybXNbJ3Njb3BlJ10gPSAnZW1haWwscHVibGlzaF9wYWdlcyxtYW5hZ2VfcGFnZXMnOwoKaWYoICRmYl9hcHBpZCAmJiAkZmJfYXBwc2VjcmV0ICkgewoKICAgICRmYl91c2VyX2FjY2Vzc190b2tlbiA9ICR0aGlzLT5zZXNzaW9uX2dldCgnZmJfdXNlcl9hY2Nlc3NfdG9rZW4nKTsKICAgICRmYm9iaiA9IG5ldyBcRmFjZWJvb2tcRmFjZWJvb2soIFsnYXBwX2lkJz0+JGZiX2FwcGlkLCAnYXBwX3NlY3JldCc9PiRmYl9hcHBzZWNyZXQgXSApOwogICAgaWYoICEkZmJfdXNlcl9hY2Nlc3NfdG9rZW4gKSB7CiAgICAgICAgLy8gbm90aGluZyBpbiBzZXNzaW9uLCBnb3R0YSBzZWUgaWYgaXQncyBpbiB0aGUgcmVxdWVzdAogICAgICAgICRoZWxwZXIgPSAkZmJvYmotPmdldFJlZGlyZWN0TG9naW5IZWxwZXIoICRkZXN0X3VybCwgJHBhcm1zICk7CgogICAgICAgICR0b2tlbiA9ICRoZWxwZXItPmdldEFjY2Vzc1Rva2VuKCk7CiAgICAgICAgaWYoICR0b2tlbiApIHsKICAgICAgICAgICAgLy8gZm91bmQgYSB0b2tlbiBpbiB0aGUgcmVxdWVzdCwgcHJvbGx5IGdvdCBoZXJlIHZpYSBmYWNlYm9vayBsb2dpbi4KICAgICAgICAgICAgJGZiX3VzZXJfYWNjZXNzX3Rva2VuID0gJHRva2VuLT5nZXRWYWx1ZSgpOwogICAgICAgICAgICAkdGhpcy0+c2Vzc2lvbl9wdXQoJ2ZiX3VzZXJfYWNjZXNzX3Rva2VuJywkZmJfdXNlcl9hY2Nlc3NfdG9rZW4pOwogICAgICAgIH0KICAgIH0KCiAgICBpZiggJGZiX3VzZXJfYWNjZXNzX3Rva2VuICkgewogICAgICAgICRmYl9wYWdlX2FjY2Vzc190b2tlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmYl9wYWdlX2FjY2Vzc190b2tlbicpOwogICAgICAgICRmYl9wYWdlaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmJfcGFnZWlkJyk7CgogICAgICAgIC8vIHdlIGhhdmUgYSB1c2VyIHRva2VuLi4uIHNvIGxldHMgZ2V0IGEgbGlzdCBvZiB0aGUgYWNjb3VudHMuCiAgICAgICAgLy8gdGhpcyBzaG91bGQgZ2V0IHRoZSB1c2VyIHByb2ZpbGUuICBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIG91ciBhY2Nlc3MgdG9rZW4gaXMgaW52YWxpZC4KICAgICAgICAkcmVzcG9uc2UgPSAkZmJvYmotPmdldCgnL21lL2FjY291bnRzJywgJGZiX3VzZXJfYWNjZXNzX3Rva2VuKTsKICAgICAgICAkbXlhY2NvdW50cyA9IG51bGw7CiAgICAgICAgaWYoICRyZXNwb25zZSApIHsKICAgICAgICAgICAgJG15YWNjb3VudHMgPSAkcmVzcG9uc2UtPmdldERlY29kZWRCb2R5KCk7CiAgICAgICAgICAgIGlmKCAkbXlhY2NvdW50cyAmJiBpc3NldCgkbXlhY2NvdW50c1snZGF0YSddKSApIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICRteWFjY291bnRzWydkYXRhJ10gYXMgJHBhZ2VpbmZvICkgewogICAgICAgICAgICAgICAgICAgICRmYl9wYWdlc1skcGFnZWluZm9bJ2lkJ11dID0gJHBhZ2VpbmZvWyduYW1lJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCBcY2dlX3BhcmFtOjpleGlzdHMoICRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkZmJfcGFnZWlkID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdmYl9wYWdlaWQnKTsKICAgICAgICAgICAgZm9yZWFjaCggJG15YWNjb3VudHNbJ2RhdGEnXSBhcyAkcGFnZWluZm8gKSB7CiAgICAgICAgICAgICAgICBpZiggJHBhZ2VpbmZvWydpZCddID09ICRmYl9wYWdlaWQgKSB7CiAgICAgICAgICAgICAgICAgICAgJGZiX3BhZ2VfYWNjZXNzX3Rva2VuID0gJHBhZ2VpbmZvWydhY2Nlc3NfdG9rZW4nXTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmJfcGFnZV9hY2Nlc3NfdG9rZW4nLCRmYl9wYWdlX2FjY2Vzc190b2tlbik7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZiX3BhZ2VpZCcsJGZiX3BhZ2VpZCk7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ3NldHRpbmdzX3NhdmVkJykpOwogICAgICAgICAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRUYWIoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiggXGNnZV9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnZm9yZ2V0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXNzaW9uX2NsZWFyKCdmYl91c2VyX2FjY2Vzc190b2tlbicpOwogICAgICAgICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZmJfcGFnZV9hY2Nlc3NfdG9rZW4nKTsKICAgICAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2ZiX3BhZ2VpZCcpOwogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgewogICAgICAgIC8vIG5vIHVzZXIgdG9rZW4gZm91bmQuLi4gZ290dGEgcmVxdWVzdCBvbmUuCiAgICAgICAgJGxvZ2luX3VybCA9ICRoZWxwZXItPmdldExvZ2luVXJsKCRkZXN0X3VybCwgJHBhcm1zKTsKICAgIH0KfQoKJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fYXV0aF90YWIudHBsJyk7CiR0cGwtPmFzc2lnbignbG9naW5fdXJsJywkbG9naW5fdXJsKTsKJHRwbC0+YXNzaWduKCdmYl9hcHBpZCcsKCRmYl9hcHBpZCkgPyAxIDogbnVsbCk7CiR0cGwtPmFzc2lnbignZmJfYXBwc2VjcmV0JywoJGZiX2FwcHNlY3JldCkgPyAxIDogbnVsbCk7CiR0cGwtPmFzc2lnbignZmJfcGFnZV9hY2Nlc3NfdG9rZW4nLCRmYl9wYWdlX2FjY2Vzc190b2tlbik7CiR0cGwtPmFzc2lnbignZmJfcGFnZXMnLCRmYl9wYWdlcyk7CiR0cGwtPmFzc2lnbignZmJfcGFnZWlkJywkZmJfcGFnZWlkKTsKJHRwbC0+ZGlzcGxheSgpOwoKIwojIEVPRgojCg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRkJQb3N0IChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBmYWNpbGl0YXRlIHBvc3RpbmcgdG8gYSBmYWNlYm9vayBhcHAncyB3YWxsLCBvciB0bwojICBhIHdhbGwgYXV0aG9yaXplZCBieSBhIHVzZXIuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdzZXR0aW5ncycpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZiX2FwcGlkJywkcGFyYW1zWydmYl9hcHBpZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZiX2FwcHNlY3JldCcsJHBhcmFtc1snZmJfYXBwc2VjcmV0J10pOwoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_test_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRkJQb3N0IChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgcG9zdGluZyB0byBhIGZhY2Vib29rIGFwcCdzIHdhbGwsIG9yIHRvCiMgIGEgd2FsbCBhdXRob3JpemVkIGJ5IGEgdXNlci4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCd0ZXN0Jyk7CgokZmJfYXBwaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmJfYXBwaWQnKTsKJGZiX2FwcHNlY3JldCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmYl9hcHBzZWNyZXQnKTsKJGZiX3BhZ2VpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmYl9wYWdlaWQnKTsKJGZiX3BhZ2VfYWNjZXNzdG9rZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmJfcGFnZV9hY2Nlc3NfdG9rZW4nKTsKCmlmKCBcY2dlX3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAkbXNnID0gbmV3IFxub3RpZmljYXRpb25fbWVzc2FnZTsKICAgICRtc2ctPmJvZHkgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAncG9zdF9tc2cnICk7CiAgICAkbXNnLT5saW5rID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZyggJHBhcmFtcywgJ3Bvc3RfbGluaycgKTsKCiAgICAkdGhpcy0+YnJvYWRjYXN0X21lc3NhZ2UoICRtc2cgKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdwb3N0X3NlbnQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9CgokdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl90ZXN0X3RhYi50cGwnKTsKaWYoICRmYl9hcHBpZCAhPSAnJyAmJiAkZmJfcGFnZWlkICE9ICcnICYmICRmYl9hcHBzZWNyZXQgIT0gJycgJiYgJGZiX3BhZ2VfYWNjZXNzX3Rva2VuICE9ICcnICkgewogICAgJHRwbC0+YXNzaWduKCdkb190ZXN0JywxKTsKfQokdHBsLT5kaXNwbGF5KCk7CgojCiMgRU9GCiMK]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRkJQb3N0IChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgcG9zdGluZyB0byBhIGZhY2Vib29rIGFwcCdzIHdhbGwsIG9yIHRvCiMgIGEgd2FsbCBhdXRob3JpemVkIGJ5IGEgdXNlci4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzZXR0aW5ncycsJHRoaXMtPkxhbmcoJ3RhYl9zZXR0aW5ncycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhdXRoJywkdGhpcy0+TGFuZygndGFiX2F1dGgnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGVzdCcsJHRoaXMtPkxhbmcoJ3RhYl90ZXN0JykpOwplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NldHRpbmdzJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fc2V0dGluZ3NfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhdXRoJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvYWN0aW9uLmFkbWluX2F1dGhfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0ZXN0JywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvYWN0aW9uLmFkbWluX3Rlc3RfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKIwojIEVPRgojCg==]]></data>
	</file>
	<file>
	  <filename>/CGFBPost.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRkJQb3N0IChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgcG9zdGluZyB0byBhIGZhY2Vib29rIGFwcCdzIHdhbGwsIG9yIHRvCiMgIGEgd2FsbCBhdXRob3JpemVkIGJ5IGEgdXNlci4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBDR0ZCUG9zdCBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjEuMyc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gVFJVRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gRkFMU0U7IH0gLy8gbm8gZnJvbnRlbmQgZm9yIHRoaXMgb25lLgogICAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gVFJVRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsgcmV0dXJuICdleHRlbnNpb25zJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIHsgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuNTYnKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgeyByZXR1cm4gJzIuMic7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKSB7ICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYoICRjYXBhYmlsaXR5ID09ICdjZ19zb2NpYWxibGFzdF90cmFuc3BvcnQnICkgcmV0dXJuIFRSVUU7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldF90cmFuc3BvcnRfbmFtZSgpIHsgcmV0dXJuICdGYWNlYm9vayBXYWxsIFBvc3QnOyB9CgogICAgcHVibGljIGZ1bmN0aW9uICZnZXRfc2VuZGVyX2luZm8oKQogICAgewogICAgICAgICRyZXMgPSBuZXcgc2Jfc2VuZGVyX2luZm8oJHRoaXMtPkdldE5hbWUoKSwnRmFjZWJvb2snLDYzMDAwLDEpOwogICAgICAgICRyZXNbJ2xpbmsnXSA9ICRyZXNbJ2xpbmt0aXRsZSddID0gJHJlc1snY2FwdGlvbiddID0gJHJlc1snZGVzY3JpcHRpb24nXSA9IDE7CiAgICAgICAgJHJlc1sncGljdHVyZSddID0gJHJlc1sndGl0bGUnXSA9IDA7CiAgICAgICAgJHJlc1snaW5mb19tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnaW5mb19zZW5kZXJfZmFjZWJvb2snKTsKICAgICAgICByZXR1cm4gJHJlczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYnJvYWRjYXN0X21lc3NhZ2Uobm90aWZpY2F0aW9uX21lc3NhZ2UgJG1zZykKICAgIHsKICAgICAgICBpZiggISRtc2ctPmJvZHkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkbWVzc2FnZScpKTsKCiAgICAgICAgJGZiX2FwcGlkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZiX2FwcGlkJyk7CiAgICAgICAgJGZiX2FwcHNlY3JldCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmYl9hcHBzZWNyZXQnKTsKICAgICAgICAkZmJfcGFnZWlkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZiX3BhZ2VpZCcpOwogICAgICAgICRmYl9wYWdlX2FjY2Vzc190b2tlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmYl9wYWdlX2FjY2Vzc190b2tlbicpOwoKICAgICAgICBpZiggISgkZmJfYXBwaWQgIT0gJycgJiYgJGZiX3BhZ2VpZCAhPSAnJyAmJiAkZmJfYXBwc2VjcmV0ICE9ICcnICYmICRmYl9wYWdlX2FjY2Vzc190b2tlbiAhPSAnJykgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCd3YXJuX25vYWNjZXNzdG9rZW4nKSk7CgogICAgICAgIC8vIHByZXBhcmUgdGhlIG1lc3NhZ2UuLi4KICAgICAgICAkZmJtc2cgPSBhcnJheSgpOwogICAgICAgICRmYm1zZ1snbWVzc2FnZSddID0gc3RyaXBfdGFncyh0cmltKCRtc2ctPmJvZHkpKTsgLy8gcG9zdHMgY2FuJ3QgYmUgaW4gSFRNTCBmb3IgRmFjZWNyYWNrIC4uLiBzb3JyeS4KICAgICAgICAvL2lmKCAkbXNnLT5zdWJqZWN0ICkgJGZibXNnWydzdWJqZWN0J10gPSB0cmltKCRtc2ctPnN1YmplY3QpOwogICAgICAgIGlmKCAkbXNnLT5saW5rICkgewogICAgICAgICAgICAkZmJtc2dbJ2xpbmsnXSA9IHRyaW0oJG1zZy0+bGluayk7CiAgICAgICAgICAgIGlmKCAkbXNnLT5saW5rbmFtZSApICRmYm1zZ1snbmFtZSddID0gdHJpbSgkbXNnLT5saW5rbmFtZSk7CiAgICAgICAgICAgIGlmKCAkbXNnLT5jYXB0aW9uICkgJGZibXNnWydjYXB0aW9uJ10gPSB0cmltKCRtc2ctPmNhcHRpb24pOwogICAgICAgICAgICBpZiggJG1zZy0+ZGVzY3JpcHRpb24gKSAkZmJtc2dbJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRtc2ctPmRlc2NyaXB0aW9uKTsKICAgICAgICB9CiAgICAgICAgLy9pZiggJG1zZy0+cGljdHVyZSApICRmYm1zZ1sncGljdHVyZSddID0gdHJpbSgkbXNnLT5waWN0dXJlKTsKCiAgICAgICAgLy8gZmluYWwgY2hlY2sgb2YgdGhlIG1lc3NhZ2UKICAgICAgICBmb3JlYWNoKCAkZmJtc2cgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKICAgICAgICAgICAgaWYoICEkdmFsdWUgKSB1bnNldCgkZmJtc2dbJGtleV0pOwogICAgICAgIH0KICAgICAgICBpZiggaXNzZXQoJGZibXNnWydzb3VyY2UnXSkgfHwgaXNzZXQoJGZibWdbJ3BpY3R1cmUnXSkgKSB7CiAgICAgICAgICAgIGlmKCAhaXNzZXQoJGZibXNnWyduYW1lJ10pICkgJGZibXNnWyduYW1lJ10gPSBnZXRfc2l0ZV9wcmVmZXJlbmNlKCdzaXRlbmFtZScsICdDTVNNUyBTaXRlJyk7CiAgICAgICAgfQoKICAgICAgICAkcG9zdF91cmwgPSAiL3skZmJfcGFnZWlkfS9mZWVkIjsKICAgICAgICByZXF1aXJlX29uY2UoX19ESVJfXy4nL3ZlbmRvci9hdXRvbG9hZC5waHAnKTsKICAgICAgICAkZmJvYmogPSBuZXcgXEZhY2Vib29rXEZhY2Vib29rKCBbICdhcHBfaWQnPT4kZmJfYXBwaWQsJ2FwcF9zZWNyZXQnPT4kZmJfYXBwc2VjcmV0IF0gKTsKICAgICAgICAkcmVzID0gJGZib2JqLT5wb3N0KCRwb3N0X3VybCwgJGZibXNnLCAkZmJfcGFnZV9hY2Nlc3NfdG9rZW4pOwogICAgICAgIGlmKCAhJHJlcyApIHsKICAgICAgICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnRmFjZWJvb2sgUG9zdCBGYWlsZWQnKTsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfcG9zdGZhaWxlZCcpKTsKICAgICAgICB9CiAgICAgICAgJHJlcyA9ICRyZXMtPmdldERlY29kZWRCb2R5KCk7CiAgICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnU2VudCBmYWNlYm9vayBwb3N0ICMnLiRyZXNbJ2lkJ10pOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgoJPGxpPlZlcnNpb24gMS4wIC0gSW5pdGlhbCByZWxlYXNlLjwvbGk+Cgk8bGk+VmVyc2lvbiAxLjEuMwoJCTx1bD4KCQk8bGk+VGhpcyBpcyBhIG1ham9yIG92ZXJoYXVsPC9saT4KCQk8bGk+Tm8gbG9uZ2VyIHN1cHBvcnQgcGljdHVyZSBhdHRhY2htZW50cyBmb3IgZmFjZWJvb2sgcG9zdHMuPC9saT4KCQk8bGk+VXBkYXRlZCB0byB1c2UgcHVibGlzaF9hY3Rpb24gaW5zdGVhZCBvZiBwdWJsaXNoX3N0cmVhbS48L2xpPgoJCTxsaT5Ob3cgdXNlcyBuZXdlciBmYWNlYm9vay1waHAtc2RrIHZpYSBjb21wb3Nlci48L2xpPgoJCTwvdWw+Cgk8L2xpPgo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgInJlcXVpcmUiOiB7CiAgICAgICAgImZhY2Vib29rL2dyYXBoLXNkayI6ICJeNS42IgogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHRkJQb3N0IChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBmYWNpbGl0YXRlIHBvc3RpbmcgdG8gYSBmYWNlYm9vayBhcHAncyB3YWxsLCBvciB0bwojICBhIHdhbGwgYXV0aG9yaXplZCBieSBhIHVzZXIuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47Cgokc21hcnR5LT5hc3NpZ24oJ2ZiX2FwcGlkJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmJfYXBwaWQnKSk7CiRzbWFydHktPmFzc2lnbignZmJfYXBwc2VjcmV0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmJfYXBwc2VjcmV0JykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2V0dGluZ3NfdGFiJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zZXR0aW5nc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+Q0dGQlBvc3QgaXMgYSBzaW1wbGUgPGVtPnRyYW5zcG9ydCBtb2R1bGU8L2VtPiBmb3Igc2VuZGluZyBmYWNlYm9vayB3YWxsIHBvc3RzIGFzIGFuIHRoZSB3YWxsL2FwcGxpY2F0aW9uIG93bmVyIHJhdGhlciB0aGFuIGEgdXNlci4gIFRoaXMgbW9kdWxlIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSA8ZW0+KGFuZCBvdGhlciBtb2R1bGVzIGxpa2UgQ0dUd2VldCk8L2VtPiB0byBzaGFyZSBpdGVtcyBsaWtlIGJsb2cgYXJ0aWNsZXMgYW5kIHByb2R1Y3RzIHdpdGggbXVsdGlwbGUgbWVkaWEgbmV0d29ya3MgYXQgdGhlIHNhbWUgdGltZS48L3A+CjxoMz5GZWF0dXJlczwvaDM+CiAgPHVsPgogICAgPGxpPlByb3ZpZGVzIGludGVyZWN0aW9uIHdpdGggdGhlIENHU29jaWFsQmxhc3RlciBtb2R1bGUgdG8gYWxsb3cgc2VuZGluZyBub3RpZmljYXRpb25zIHRvIG11bHRpcGxlIHNvY2lhbCBuZXR3b3JrcyBhdCBvbmNlIGZyb20gbW9kdWxlcyBsaWtlIENHQmxvZy48L2xpPgogIDwvdWw+Cgo8aDM+UmVxdWlyZW1lbnRzOjwvaDM+CiAgPHA+T3RoZXIgdGhhbiB0aGUgbGlzdCBvZiBDTVNNUyBtb2R1bGUgZGVwZW5kZW5jaWVzLCB0aGVyZSBhcmUgc29tZSB0aGluZ3MgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcyBpbiBvcmRlciB0byB3b3JrIHByb3Blcmx5OjwvcD4KICA8dWw+CiAgICA8bGk+UHJldHR5IFVSTFM6CiAgICAgIDxwPkZhY2Vib29rIGRvZXMgbm90IHNlZW0gdG8gd29yayB3ZWxsIHdpdGggcG9zdHMgdGhhdCBoYXZlIGVuY29kZWQgY2hhcmFjdGVycyBpbiB0aGVtLiAgSSBzdWdnZXN0IHlvdSBjb25maWd1cmUgYW5kIHNldHVwIGVpdGhlciBpbnRlcm5hbCBvciBwcmV0dHkgVVJMUy48L3A+CiAgICA8L2xpPgogICAgPGxpPkZhY2Vib29rIEFwcCBDcmVkZW50aWFscwogICAgICA8cD5Zb3UgbmVlZCB0byBwcm92aWRlIHRoZSBmYWNlYm9vayBBcHAgSUQsIEFuZCBBcHAgU2VjcmV0IGluIHRoZSBtb2R1bGVzIGFkbWluIHBhbmVsLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+VGhlIFBhZ2UgSUQgdG8gcG9zdCB0bywgYW5kIGFuIGFjY2VzcyB0b2tlbi4KICAgPHA+VGhpcyBtb2R1bGUgYmFzaWNhbGx5IHVzZXMgYSBmYWNlYm9vayBhcHBsaWNhdGlvbiB0byBwcm92aWRlIHNlYW1sZXNzIHBvc3RpbmcgZnJvbSBDTVNNUyB0byBhIGZhY2Vib29rIHBhZ2U8ZW0+L3dhbGw8L2VtPiBvbiBiZWhhbGYgb2YgYSB1c2VyLiAgQSB1c2VyIG11c3QgYXV0aGVudGljYXRlIHRoZSBhcHBsaWNhdGlvbiwgdGh1cyBwcm92aWRpbmcgdGhlIG1vZHVsZSB3aXRoIGFjY2VzcyB0b2tlbnMuPC9wPgogICA8cD5JbiBvcmRlciB0byBkbyB0aGlzLCBhIGZhY2Vib29rIHVzZXIgd2l0aCBhZG1pbnN0cmF0b3IgYWNjZXNzIHRvIGEgZmFjZWJvb2sgcGFnZSBuZWVkcyB0byBhZGQgYW5kIGF1dGhlbnRpY2F0ZSB0aGUgYXBwbGljYXRpb24uPC9wPgogICAgPHA+VGhpcyBtb2R1bGVzIGFkbWluIHBhbmVsIHByb3ZpZGVzIGFuICZxdW90O0F1dGhlbnRpY2F0aW9uJnF1b3Q7IHRhYi4gIEl0IHByb3ZpZGVzIGEgbGluayBmb3IgdGhlIGZhY2Vib29rIHVzZXIgdG8gYXV0aGVudGljYXRlIHRoZSBhcHBsaWNhdGlvbiwgYW5kIHNlbGVjdCB0aGUgRmFjZWJvb2sgcGFnZSB0aGF0IHRoaXMgbW9kdWxlIHdpbGwgcG9zdCB0by4gIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gU2VlIHRoZSBzZWN0aW9uIGFib3V0IGZhY2Vib29rIGNyZWRlbnRpYWxzIGJlbG93LjwvcD4KICAgIDwvbGk+CiAgPC91bD4KCjxoMz5Ib3cgZG8gSSBVc2UgaXQ/PC9oMz4KICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEF0IHRoaXMgdGltZSwgdGhpcyBtb2R1bGUgaGFzIG5vIGFkbWluaXN0cmF0b3Igb3IgZnJvbnRlbmQgZnVuY3Rpb25hbGl0eSBvZiBpdHMgb3duLCBpdCBpcyB1c2VkIGJ5IHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlLCB3aGljaCBtdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhpcyBtb2R1bGUgdG8gZnVuY3Rpb24uPC9saT4KICA8b2w+CiAgICA8bGk+Q3JlYXRlIGEgRmFjZWJvb2sgQXBwbGljYXRpb24gb2YgdHlwZSAid2Vic2l0ZSI8L2xpPgogICAgPGxpPllvdXIgRmFjZWJvb2sgYWNjb3VudCBtdXN0IGhhdmUgYWRtaW5pc3RyYXRvciBhY2Nlc3MgdG8gYXQgbGVhc3Qgb25lIGZhY2Vib29rIHBhZ2UuPC9saT4KICAgIDxsaT5JbiB0aGUgbW9kdWxlIGFkbWluIHBhbmVsIHNwZWNpZnkgdGhlIEZhY2Vib29rIGFwcHMgJnF1b3Q7QXBwIElEJnF1b3Q7IGFuZCAmcXVvdDtBcHAgU2VjcmV0JnF1b3Q7IGFuZCBwcmVzcyBzdWJtaXQuPC9saT4KICAgIDxsaT5JbiB0aGUgbW9kdWxlIGFkbWluIHBhbmVsLCBjbGljayB0aGUgbG9naW4gbGluayB0byBzbyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgY2FuIGF1dGhlbnRpY2F0ZSB0aGUgYXBwbGljYXRpb24uPC9saT4KICAgIDxsaT5DaG9vc2UgdGhlIGZhY2Vib29rIHBhZ2U8ZW0+L3dhbGw8L2VtPiB0aGF0IHRoaXMgbW9kdWxlIHdpbGwgcG9zdCB0by48L2xpPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZS48L2xpPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSBhIDxlbT5zZW5kZXIgbW9kdWxlPC9lbT4gKHN1Y2ggYXMgQ0dCbG9nKS48L2xpPgogICAgPGxpPjxzdHJvbmc+T3B0aW9uYWwsIGJ1dCBSZWNvbW1lbmRlZDwvc3Ryb25nPiBJbnNlcnQgdGhlIGFwcHJvcHJpYXRlIG9wZW5ncmFwaCB0YWdzIGludG8geW91ciB0ZW1wbGF0ZXMgc28gdGhhdCB5b3VyIHZhcmlvdXMgcGFnZXMgYmVjb21lIG9wZW5ncmFwaCBvYmplY3RzLiAgU2VlIHRoZSA8ZW0+Q0dGQkFwcDwvZW0+IG1vZHVsZSBmb3IgYSBjb252ZW5pZW50IGFuZCBzaW1wbGUgd2F5IHRvIGRvIHRoaXMuPC9saT4KICA8L29sPgoKPGgzPkZhY2Vib29rIENyZWRlbnRpYWxzPC9oMz4KPHA+VGhpcyBtb2R1bGUgcmVxdWlyZXMgdGhhdCB5b3UgbG9naW4gdG8gZmFjZWJvb2ssIGFuZCBncmFudCB0aGUgYXBwbGljYXRpb24gdGhlICJwdWJsaXNoX3BhZ2VzIiBhbmQgIm1hbmFnZV9wYWdlcyIgcGVybWlzc2lvbnMuICBUaGVzZSBwZXJtaXNzaW9ucyBtYXkgcmVxdWlyZSB0aGF0IHlvdXIgZmFjZWJvb2sgYXBwbGljYXRpb24gZ28gdGhyb3VnaCBhbiBhcHByb3ZhbCBwcm9jZXNzLjwvcD4KPHA+SWYgdGhlIHVzZXIgd2hvIGF1dGhvcml6ZWQgdGhlIGFwcCBkZWxldGVzIHRoYXQgYXBwIGZyb20gaGlzIGxpc3QgYW5vdGhlciB1c2VyIHdpdGggYWRtaW4gYWNjZXNzIHRvIGF0IGxlYXN0IG9uZSBmYWNlYm9vayBwYWdlIHdpbGwgbmVlZCB0byBhdXRob3JpemUgdGhlIGFwcGxpY2F0aW9uLjwvcD4KCjxoMz5QaWN0dXJlczo8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBzdXBwb3J0IGF0dGFjaGluZyBhIHBob3RvIHRvIHRoZSBpbWFnZS4gIFlvdSBzaG91bGQgZW5zdXJlIHRoYXQgeW91ciBzaXRlIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgZm9yIHByZXR0eSBVUkwncyBhbmQgdGhhdCB1cG9uIHBhZ2UgcmVuZGVyIG9mIGEgZGV0YWlsIHZpZXcgb2YgYW4gaXRlbSB0aGF0IGFsbCBvZiB0aGUgYXBwcm9wcmlhdGUgb3Blbi1ncmFwaCBtZXRhIHRhZ3MgYXJlIHJlbmRlcmVkIGluIHRoZSBIVE1MIG91dHB1dC4gIFRoZSA8c3Ryb25nPjxjb2RlPkNHSGVhZE1hc3RlcjwvY29kZT48L3N0cm9uZz4gbW9kdWxlIGlzIGEgZ29vZCBhc3Npc3RhbnQgZm9yIHRoYXQuPC9wPgoKPGgzPlNlbmRlciBNb2R1bGVzPC9oMz4KPHA+U2VuZGVyIG1vZHVsZXMgYXJlIENNU01TIG1vZHVsZXMgdGhhdCBhcmUgY29uZmlndXJlZCB0byBhbGxvdyBzZW5kaW5nIGluZm9ybWF0aW9uIHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlLiAgQXQgdGhpcyB0aW1lIENHQmxvZyBpcyB0aGUgb25seSBtb2R1bGUgdGhhdCBzdXBwb3J0cyB0aGlzLjwvcD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Zyb250ZW5kdXNlcnMiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJvdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEzLCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPcAAAUDAQoJBQ0MCxAPCxIRDRYVExgXFBoZFRwcGyAeGyMhHiQjIignJCopJicoKCwsLDAvLDIxLi8wMS4yOjQ0NDk3Mjo4Mzw8Ozc3OEA/PEJAPj0+QDU8TERDQ0xKRkxMTEdHRlBPS1JRTU1OUUZNW05RWVRUVFhXU1pYVlJVWlxcXGFfXGNhXkNMYUxTZE5WaVFXZVVaZV1fY1BXaFVbaVleaklYeVxha11jclJgf2NjY2hnY2Rma2xra2loZ3NybmFmc2Zqcm1ucWNqe25yenNzc3h4d3R2eXt7e3h4eIB/fYOBfztRgj5epkZaiUpei0tgjlVjg11pglNljl1ri1hmhU1ikU1lnVJmk1lumlhsl15xnWRuhGFujGpxgmp1jHZ7hnx+gnR6h2RzlGJ0m2h3mmh4nGt3k3R+lHB9m0Fgpktmok9po0Vkqklnq01rrVNso1Fur1xypFRwr111rEVmsU1ssktuvVJvsFVyslp2s155tVVzuVl2uV16u2J2o2V5pmp8pWR6rmp+rGJ8tmR+uVR2wn+AgHuFnXaAl22BrnSCoHOFrHmHp2eAt22Cs2aAumuEu2+IvXOHsnaKtHuMsnCHvHKJvnqOvH6RumWCwWqFwm6IwnWMwnmPwneQxnySw32VyneQyYSEg4uKhoWGiYaIjIuLjJCPi5KQjYGGkoyOkYaNnYmOmpSUk5iXlJqZlpaXmZycm4KMooOPqIqTqJ6eoJWdrZWbqIOStIybvZyhrZiit6Ojo6ino6usrKmopq+vsKWqtq+wsbS0tLG0vLy8vMXDv4GWxYSZx42dwoWayoqdyYCXy4Sb0I2gy5SjxZOlzZaoz5yqy5unw4yh0ZGl05ao0pqr0Zyv2aexx6Oy1ay51aS126272qm31rK+27K806294LXB27vF3bDA4r3J5cPExMzNzcrIxNTU09jX1dvZ1tvb2uDe2uPh3sTO48zU5M3V6Nnd5tXe89/h5dni9+Tk5Ofn6Ofo6ezs7Ojq8PPz8/P1+v7+/vr59yH5BAAAAAAAIf8LTUdLOEJJTTAwMDD/OEJJTQQlAAAAAAAQAAAAAAAAAAAAAAAAAAAAADhCSU0ELwAAAAAAStABAQBIAAAASAAAAAAAAAAAAAAA0AIAAEACAAAAAAAAAAAAABgDAABkAgAAAAHAAwAAsAQAAAEADycBAG4ALgBwAG4AZwAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAA/wAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAAThCSU0EAgAAAAAABgAAAAAAADhCSU0EMAAAAAAAA/8BAQEAOEJJTQQtAAAAAAAGAAEAAAAFOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA08AAAAGAAAAAAAAAAAAAAEAAAABAAAAAA0AZgBhAGMAZQBiAG8AbwBrAC0AaQBjAG8AbgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAT/AAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAEAAAAAAFJnaHRsb25nAAABAAAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA/wQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAQAAAAAAUmdodGxvbmcAAAEAAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaf9jZVZlcnRBbGlnbgAAAAdkZWZhdWx0AAAAC2JnQ29sb3JUeXBlZW51bQAAABFFU2xpY2VCR0NvbG9yVHlwZQAAAABOb25lAAAACXRvcE91dHNldGxvbmcAAAAAAAAACmxlZnRPdXRzZXRsb25nAAAAAAAAAAxib3R0b21PdXRzZXRsb25nAAAAAAAAAAtyaWdodE91dHNldGxvbmcAAAAAADhCSU0EKAAAAAAADAAAAAE/8AAAAAAAADhCSU0EFAAAAAAABAAAAAU4QklNBAwAAAAAKvQAAAABAAAAoAAAAKAAAAHgAAEsAAAAKtgAGAAB/9j/4AAQSkZJRgABAgD/AEgASAAA/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACgAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJ/woLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ/93h5ent8f/2gAMAwEAAhEDEQA/APVUznNa0ucQ1rRJJ0AAS41K8w+vf1ry+qXt6D0xxZRkNLrI0L6o3/aMh30mYfp/pa6Pp5Vf85+it9B6U2+t/wCMOrKy34fS/tGTW0hldGGfTfcSf5y/O22PxMd/u+z1YbPtt/8AOetQqOF1T64V+rW3Nwui1NO+9lddmU5hPt/TvyTkt+0v2/zXr+rZb/OVqrgYlHScb7LiksugnLyj9Jpd/OUV/vZH5tz/APSfo/5mpiKyt2RsrYzZQyTVROn8q+5xj+3a/wD6FStY+WscUyRfRill1qLaq+sH1xsgN6wDP0ScKqT/ACo9X2r/d/1h+trdB1pjjyAMKqI/Osc71fbX/L/wiqWWgg1Y5BYf5y46B0fuj83Hb/4N/wCBpqanXPZXWx1ptM1UjR9pH+Fud/gsdn+v+lUv3fFvw/iVnuS7t1v1g+t7qxYesAb3bKWjBrc+xx4bVW23c5ylldd+t2Ltrt63X9o/wtTcOp3pntW+0XbHW/6Rlf8ANIF2UzCJbjWC7Oc3ZZls0bW0842B/o6/38j+dv8A+K/nKjG1URZe0W2c145+j5WZEfmfuU/4X+RT/OIcvjOvDp5nVXuS7uh/zg+t7cYZFvWW1tf/ADDDhVF9sH3OYz1fbS3/AE7/AOx6iiPrJ9bvS9V//1hrA7+bacKoufrq4D1vbU3/AEr/APrazn2PttdfkO9R7olzuDGjfaP8Gz8ytv6NIB91msue7UAmJj86x/5lbUfu2Lt+JV7su/4Ogz6zfW+xzWM6pve87WMbhVlznH8xjRd7nImT9Y/rVjuDD1uuywD9KGYdRax3+i9X19lrmf4R1f6L/hLFnnIFLHVYpmywbLcgAhzgf+0+M36VVDv+3sn+p+iRcXDsZfVRVV9o6jb/ADGMIIrj/CW/mbmf9t0f8b/No8vi34fxKvcn3/BuDr/1xisHqg9e4htOO3BrdY+f5Pr+1XOoZ/1uwDTjWdbru6lfB+wU4LHvaCJ99v2jZ//6/wCi/SKDMirpBtp6dYzL6wW/r3VX60YwJ1qokO3e7/t2z/Sf0evFtygBZVjOe71p+05Vn89eT9L1HSfSx/8AgN36T/tQ96YOXhI6RqPmfV/6Ck5JDrq6N31m+s9LwwdYrtcB+kNeHWWB3etlv2jbdt/Osr/Rfueomb9afrQ7/vTbHc/Y6+//AKEfS/kLJYydTwPlp5fut/lJ3PaBro3gAaEz2b+61359n85Yn/dsX7v4yR7s+70FX1y66zHfN9DnNjbffjkM3Ae6k14uTvs3+1/6H+j/AOE9VPif4zMrEzWYf1iwG4zbzONmY7y6mxk7d1ZsH/oxn/CMZYsJ7HX/ZDsiGvZoKo0YOdvp/v8A/Bf9vqFtdeZU7CyKjdj5B1p5sLyIblMf/g8mv/B/mf4Kz9AmZOViRcNCPH0lMcpv1PrlNtd1TLqnbq7AHNd4gqa85+of1hyuldRH1V6zeLKrRu6RmEnbaJP6Lefz7G/Qa7/Cfof55/6T0ZUmd//Q7b689ab0T6sZmXIFr2+hQPF9v6PT/i2b7f8Ara866Lh24eAepZZJ6n1LbfY9+pZTM4VH/gX2+5n/AAfS6f8AC2LsP8beFXkfU63IcYdhXU3N0knc8YrmbvzP6Rv/ALC53Jew7OGUVVsc0E7wA5jHgvf/AIR+z06mN/0dSl5eHHMX/7D1FZklUfPRFVUHgT7a2jcA8wI73XuVgg2MDGgiqwbw13tda0f9qck/9puns/wbP8P/AOe5Cr0g05LAbXgWU4dnDRy3N6l/1WPhf4T/AAv6NBJszHvaHn0SfUyciw6vI/wt7h/g2f4Gln0P8H+kV+7a61bHZNno44D2D3PseNrTt/wtv+jxq/zKf+3f3FO3KawOxMEmx12l+QR77T+43/R4/wDwf/b3+irhdkB7PsmGCzHmXk6OsI/wt/7rG/4On/B/8cgyW/oaAS53tc4cu/kN/cZ/rYjV7/Z/3ylEtpO1hD7Pzn8gH91n739ZQA5c499SdSSf+qcpONdY2MO53/+fYOP+Lp/k/v3f4T8z9H/OQk6Tz+aPAJyFyZMn5A8D4/vOSlzv0bASXkCBq557f+cpNa5xa1o3Odo1o7/6/vo7SKproIdc4EWXDhrfzmVT+Z/pLEipJRS6qz06dr8wiXWkxXQ385xs/wCqs/7Z/wCFMMllVFuPgWOqx7PbmdQIi68jmjHb/gaP+D/9iP8ARKq0NNRBJbjgy86g2O/6rb/r7EKyx1xAjaxujWjQAD/otTavdN0q27extNTfSxqzLKxxP77z/hbnfv8A+ZsrT1U7iwO3AWEitrWl9jyzWz0aW7fU9L/C2PfViY//AGpyK1V6n1DE6Qxpyh6mS8foMFr/SHun8+/b+kx8f/2byv8ABejX+nYfp/Q+t9WZZkZdRyBcGtb0ysWNbZt1pZ1DLx/RxcbFq+lViV5f6H/uP9p9T1YM3MCHphrLv0j/AOhMkMZOstmGV1PpNbXNOTQbaxLOn1utyLrf+MzcGt/Tce7b9FjPttNX0EdmZj4mK3MZTmUh+p6jlYttdVU+1ldVrG3VVWu+g/L/AO2PQ/nl6VifVvoONWz0+l4dVgbtca6a/wC23fsD3N/rLO+sH1c6bV0nqGTgizp94x7nE4j3VMdDH+27Gb+rWt/r07/9Gqw5jIOt+BZDjj2p4Wut1jTawtexmr7J9lfla13vZa7f7Kns/99u/wBT9Ko+u6tj21uLRYNtj+HObzsn8yv/AM+Kl0Sx1nQsCpjQG7XEsYNX2iy2r1bPzrr/AEmspZ/oqWfo1otc3HI9L9JlEwHj3CsnTZR/psn/AIb+bp/wP6T9Kr+ORlCMpVZF0GCQAkQOjS67i3v6JaJLMrp5bm0Buj6mBzWXbnfSr911d7K/p/8Abi9V+rPVbOrdDxM24bch9YGQ3gCxoiwt/kWfztf/AAb15w3EddTlYDXtGTmVjGsL3DbW22yr17rLHfTfj11vsuXcfUMg9BdDzY1uVk1sc47jsqtfj0Nk/msoqrraqXNCshI6gfaz4j6X/9Hq/wDGeN31I/+oNHJdjj/2YoXPYuFZTgdMzKqxk5WTWK8GkgbKzS3bbmXtf+je+vb+j9T9BT/O2roP8aLtv1H6ge80R8sigrH6q+6j6udJxWS1uQw76xy+txfbWxx/0bvY+xv+EUvLk+4AP0rB8vmWZK4T4OXkPY5zqarfW3Hdl5pk+q4nX0p/SOp3fQ/wuX/xKFZYXAU1jbW06M5O7958fTu/6FKiJ+i0y7Ulw4/lbP8Av13/AG2lWyy2xtGMwvsedrQ0an+Sz91v8taNV9GuoBxLaKQXve4NAYNznOPFdYH03pWVioupa5rnDS1zTLG/8G14/nP5bmqxZZViNdi4bw+5zS3KzW//0Q0/TxcM/wCh/wBPkfTyfzP0P06ZIIDWCGN4H/fnJDVCtO3yB/6pyk1hJAA3PdqB4j95x/NrThsaRLuYPA/lWJbtHBphvNtju4/lfyP3WIqZSADXU6ZH6W7iR+6392n/AM+qQYwUiyyWYztWN/PuI/O/k0t/e/m/+NtU/Sqx623ZbNznjdj4bpBcD9HJzI91dDv8FR/O5H/E/wA4F7rcix197/APsI0H7tdbGw3/AIulnsYh/K0rOc+9xJhrGCddGMb+87/X1LEHqnUj0epraqic21rX1B49zWuJbQ99bfc2/Iex/wBkx/8AA0s+0fz1lNlVtjmsexriKWtO8l2v/6bWjfdlW/v3VUtfZ/wf+DYjf4tsFn1i69m/WPMbNWE9rMKl0uaHkEV2nd/hMfGbVt3f4Wz1/wCcVfmshjERGnF/0WTFGzZ6O99QvqP+zW/tvrbG39ayYe0OAIxmkfzdY+i3I/0tjf5v+Yq/wvrdskmJDQXOMAakngBUWddZH1tyG4/1X6ra4xGJc0dvc9jq2f8ATevP8r63/Wn6y9Ttp6Nl/svpTC932ja0baGO9M5V1jg63fZu/R11f8X/AKW5Y3XMfrn2TKb+3cjqGMG73suutG5gcwNnGeLcXc6xzPSYzIREZEEgEgblFgdd2X1ca+zouGyqXP8A01TgNCC1/v+z2l7vaxnpZFdlr/3FpB7av0WIfUud7X5LQe/t9HDb9JrPzfW/nr/8F6df85W6T0vIxmfsrHsszb7wxj2M2+mbKzvc+r2Nsf6Td9Hr3Wen6H6Wz/A+nqfaKeltdVhPbdnGW25zdWVdn09P/wBJf+bbm/mf9p1oYuIY4xkPVXy+H70mvOuIkHTuyqqxulPrba1tvUS5oFJALMcEj35H+kyf9FifQq/nMn/RLrfqJW+voJD5J+2Zmp5MZN7Z/wCiuBoDjdWGiT6jdOddwP8AWe9zl6L9TmlnRSw8szM5p+WXlBQc4K4Ovzf9yyYev0f/0ul/xsGPqRmedlH/AJ9rWd//WosGP0htf82MRu09g0Na3/v6uf43bCz6mWtH+Evpaf8AO9T/AL4s/wCsddn+S8USBTiVjx1La2cfnO9vsU3Lfzsfr/0VmX5D9HFY19v6NmgP0j3Phu/k/wAlHssGPW/Gx/puEZFo52/6Jv7rf9Kisrdu+zY5DbAC661xhtTB/OPss+jvb+e//BfzdX6ZVLnUl5bjz9nbozcNpdH+Ftb/ACnfmK/uWuj/ADQ0aNGvx/lH/vqm0QJ4jUk8DzP8pJon3EwBqXH8qTnRECANWN7/ANc/y/3f3E5CjEHcdjBq4nn4u/l/uVf9uKyfTwmtfcwOytHUYjxuFc/Rys4f4TI//9BifmfTu/0dgw77IQ4gOyxqxp1bTP8AhHh308n91rv5r+csVcSXFziXOcS5xcdST9J73lCr8ksx6l1hstc+yy12rvpWWPP5rP3nu/eU3vbVAZtfa3QbPdXV/JqP+Gv/ANJkfQ/0W/8AnFX6jl3YPS8rIxy4ZRpcKnVtl7WzWLbnT7cTCrrt9P1HfpMi7IprWx0j6i9a630jE6jkdeNP22llwZXQQa22Df6dTm5FVdX0v8Fj1sUGXmBCXDXFXjS+OMyF3TjWicXNnWMTKLv+2Li2T/XXff4tulN6Z9T8BunqZbPtdhHc3fpK/wDwD0WLnqP8VvWm5TKcn6wXZXSiYv/6CbGudW7+dqa02XVs9X6DrF6NXWyqttVbQytgDWNGgAAhrWqrmy+5ISqqFd2WEOEVd6slzX+MTNycT6o5v2XS7J2YzXeAve2iz/wN72rpVifW/o+V1joj8XELftFdtV9bHHaHml7bvR9SHen6m36e1RL3zTFpoxcSuioAB3vPmGl1eMHD/g6R62z/AE+Rfb/UuYeFk5dwZXU1wEWPfdLaqwwi1uVk2y302VPZ6nu/nP8AR2K5X/i6+u1tIbb1mnFbBAqpDiQ06+nZdWzHfZtTP+pH1i6Bi5PVrMrE6r9jpstdRmfaSwsaxzrR6bcj0XudVvaxt1XpqzHmYxgICGn/VGz/AI3pYjiJlxcSG7OoopsxOmuca7Rtys5w225A/OZX+di4Tv8AR/zl/wDhFSYx73BjBqB8A1o7uP0a2NQunZVvUOn42bcf01rbDZY4kgAXXNr59z37P0VbP3K61coouyrPsuJWXEje5pIAAb9K/KsPsYyv/tmn/hLlbhIGAltxDiN/tYZDWu2jLDY1+Zi4tTo9a6qt1sQTue0O2N+kyrb/ANct/qexd99T3B3RS4ah2ZnkfA5mUuFdlY+GRTgP9W13tyeoRG6dHUYAd7qsb/SZP8/lf8HQu1+oYj6tUj/uxmf+3eSq3N/oHzZsPX6P/9Pe/wAcP/iOd/4Zq/7+/4P1rc+rPqrZ7LBQxpsJgMAHv2/uO1/SW/6P+bRf8b72t+qlYdw7LpBHcgCxxVL64vbZ1ywgyz06yD2Mtlqn5UXkHkWPKfS5NlzTT9np9mMCHPJ0da8fRtu/kM/7T0f4P/jkIw1u952jnXw/ecpe1jRY/g61sPf/AIR/8n9xHrIw9uRa0WZ7odj0uG5tU/Ryshn+Ev8A+4uM7/wxf/gq1f2YGNlX2djTe39YeA6nFI1Y0/Qvym/6R/8A2nxf+vXf8LAuOOTB3ZR+k/n0/wD1P/56/wCM+ggbGvdtcX5b5fdc4zsn+ce60/4X/S3fmf4P9KhbR9FkkeMQT8vzf6iQ8f9TEDv95KM4Cj6Ym7kVnUN/l3fvWfuVf9u/6NLd6Go1v7dwz/1L/wBQo4+PZkPIbADQX2WOMNa0fTstf+7/AK/TR8eiGvn3inpOdbZJGRj34xc7jdZ9nyazu/0m/BsavU/qvQ7H+rXSqHCHV4dDXD+UK2bv+kvMus4hzukZHT8RocbfSNRsAa9xbYwPy3z/AEbFoqdd7P8AR2epZ/hFpH66fXsVU4fT+m4Nexraq5vZc920bZrjJp+nt/dWfzET7hIB1o7NjGRwgW+npLzC767fXjGY3IccG6tjmCyr9G10Oc2pw/R5lzmt3P8A5zYuq+ovXs7r2BnZ2aBW9ua+llD/0giprK6P0LXhrPU/SGx+/wDlqEgjcV5slvSpJLjvrR1v6yY+e/B6Pfi47bHU1etlNP6I2VZWU+9r/wCb9leE/wDn67EFPYrL+tRj6sdYPhg5P/nqxeZ5WT9e68l7T14NnUMNoBGpG79FiOpdW+P0fpfmKv1Fn1yu6NkX9Q6o7Iwn1W7GNy/T9bYxzrfTq+y1OyqKv8Mzd6Vv816nqJ3BOr4TXekcQ2sMvqtgX5HQsQ2vGNi4/qG7LsHsra8tta1rR7rr7PU/Q0s/SPV3JzmOoODgsdRgOILw6Dde4fQszHt/8DxWfoKlTxq309Ow8Iuc91dbHvYJ2+pZXU32N3P3/z2VMYzf/wBbZ+jRHRX7QZs4c4dv5DP5f771oYYkY4cXbQfta8z6jTEe3U9l6H9RSD9XmtH5uVmAz4/asg/xXBVsFb2l309wEfukn/z7/wCev+MXe/UUEfV1hPJyc0meZ+15IUPOHSH1/Yvw9fo//9Tc/wAbYB6DhNOu7PpEfEWLF6s8OuqLpcW49TGN7S3c0uef5P0Nq3P8bAP7CwXRIb1GifusWPk0MbdZk5U/Z67LKamt0fe9tlu2ij9xrN36fI/wDP5v9ZsVjlf5w/3T+xjy/L9Wmxr2ltzh6lr3baWxMvB2xWz8703IbvUZa9pcDdJ9S2d0H8/a8Tu/rorrrf91rtu37Q9u1zme1lVYEehj/wCja1n87b/1v/SWPAGtja3+bby7if6v/fVeDXZN1ZsZ7aQRJ7ucPoz+879yv+bpUnOFIgfzp4HO0H/vydzjWQ1om7hjBwwH/wBGf62Jqcc3OdLw1jfdfe6SACfL3WbnfQY39JkWJealsbGfkPd7gytg3XXP+ixvG95/6hrf0ln0K0fIyK2tGPjtLaWkHa76TnD6N2TH5/8Aocb6GP8A8fvsStu3tbRjNNdLSXMaSNxc0e/Iuf8ARdc1v0rP5jCZ+ho/SKs1jrLBVSNznajtoNXP930Km/vPS31KVBrrHhoHqWvMgGO35759vtb/AGH/iL7aqnem6Q+W2ZHBs/fpx59zMb/T3f4b/wABUa2NbWX2k+k7Qhpg2Ef4MO/0X77/APWuLnW3Wj27rXQyutg0H7tdbEkNPqrS3pOa4ctrYQOD/O0x7f8Avi6z/FJkVvxusVMduAy/VaOxa9gY2z+36K5nq7Kqum3MaRbdINtoMsBAf+hp/wBLtd/O3/6T+a/fWz/ifcyq3qdI1Fjz6Z8qHw/d/wCxlW1UOaN5PoGxi+X6vpi4b69UtZ1TEYY2dRBa6OQ6inMo3f8AXK+o7P8ArS7lcZ9fqXv6l0FzZIdfbWY5E1+r/wBTS9QMjy+E/Gf07Dz8wjIe+gBmKCYcWWWs//UzHD6GPp7KK/0uT/wVKhbkZORki97i/IJAZAGkfzdddbfYxjf8HSz2KrgBx6b09o1d9naYGsGx9tjB/wAY5r2K4xr97cXFabcq47PZrz9Kql3/AJ/yP/RS08QrHC/3Rv2pqz+Y+bEksca6z6mRYSHvGsE/SZW797/S2p2sZSxzy6AzR9o1AP8AoqP37f8AqP5xFLaMdjmtsljfbfks/Pd/3Fwp/N/fv/659D0qrDFzsJ7XFjf2i0fq+PE14jTqLLQ6fUz3fT22fzP89f8Ap9lVTr7IZUUHEvp9SoP6g4tdRhu+jjs0f9rzd3/ajb+kqos/mv6Rlf4Khdd9QDP1W/8czM35Zk/+GslcW13pWChji662xpyLTq4uLt23cfpWbvd/wf8AOW/pf5rs/wDF9/4lcY+N2WfvyslVOb/Q/wAL/uWbD1+j/9Xpf8aNZs+rtAH/AHOxvxcW/wDflznV956hYxp9zH3taSdGN+05J9n7u5dV/jJDW/VS693/AGnvxbAfCL6m/wDf1zXUcd+R1bLqDhXTTdkPvtf9CusXWk23O+f6Kv6dr1Pyv85/gljy/L9XPG3Zsb7avz3nl5H/AKLb+YxJz9kbRDvzB4A/nn/hHIt7KqDvhx3+7GptADhWf5vIyWD+b9Rvuoxv+uWez+dBXVbbYGMHqW2HQE893Pf/uP0K2/nvcr/i11VMc93ps5d9N3l+d/Z/fR5D2tYzSgElgnbvI9r7nv8AzKmfRsyP+s46UM0x8ebw8wS2Qb3D81n51eIz97/C/wDUQcS9+0EWudppox23/o/Zaf8AMS3SzJL4ppG82AHUbd4br6lg/wABg0/4Gj/r96YmtlbmNcTUT+mt4da4a7Gfu0/yP+u2/wAhi4bXVsJcHn9Nb+dY4a7W/u0s/wDUliEA658aQ0T4Na0clx/Nr/8APiVKU97rHb3aAaNaOwHgna8saQz6Txtc4cwf8Gz+Q78//SJFod7mz6c7WmPc937rGf8AfP8ABf8AGJO/RktBHqDRzhqG/38hjvzrP37P+20UNXqbY6fkA/S9oPgCdzWsWr/imdsz738+vZkVx4Q3Fv3KhdSHijFcIN2VjMc3wG51zmu/lbKvoK7/AIqRGTWTy6y1x/tY+I//AL8s/mv50+QbGL5X1Zc59cYa7o9h/NzX6+Rw8+fyLo1yP+MrJOJ0rByu1OYXO/qnFzWO/wCqUDI8RgeocHBqqaX3WY1DGNaJcS6tsVs/lPWhY6rBqswqHB1zhsz8pmun/lfhu/0W7+k3f9qH/wDBIOC/7Hg47KXbco4lDL8j/QsNNbbK6f8Auzd/Ne38z9HX/OP9NqmO3NZS0NcAdgJgVtA991j/AKLXNb/OWf/+B+hX+kWnD5IXsIx/Jqy+Y+ZSMe7HeHNAGWwfoxyzGb+/H52V/wCen/8Adr+bgCajsqk3uOruXAuP/SybHf8Abf8Axic7WNDatBG8PcCCR9H7TY381uuzFp+n/wBdU7QMFpq4yyD6pPNLSPdVI/7V2N/pH/cav9W/nfWTv2oWxWsqy6WaOLXh1kHSGfpbK2u/sfT/AMJb/wAGu3+odTqfqzRS/wCnVdlMdHEtychrv+kuOwMQtt9zfeGu3A/mTW/Yw/8ADub7vT/wNS7f6oadGcP+7md/7d5Sp82fVEeDNhGh83//1ur/AMZ4DvqR1BviaI/7foXO52btrqus2Pf/5I+2140S31LnPuZl50/z/oMc1uBjfQ/w1v8AwnQ/40SG/UfqDtZBoiPH1qQue6zVRRkUWOAcG4eM2mo8O21/Tf8A8Az/AMFf7P8ASKflReT6Fjy/L9XMduk3XE2W2kvO4y5xOptscf3lOoXWEYmOw2W5JDXhv0rPzhT/ACMdv85Z/wBu3fQTVMuvvFbGOvy7jDGdy7ne6f3P5X6Nn85b+jrVq11OFjupoeLX3AsuyGzF2vvox3fS/Z9b/wCeu+n1G72f0dXyenVgCO+ynHYcXFcLrLBtycpvFn/dXE/dwm/4S7/tb/4XQWNcZYzUu0e4d419Jn8hqVVT3kuM87Xu/xzJ19Gr/hnN/sUsTWWCPTrjbEOLeCP9Gz+R++//AA39RIDopTiDDGEEHTcOHeTfzvRb/wCDvUmta4bTu9EOA2M/nLrPzamRPu/6GP8A8aot9rfbLnuO0kcyeKKP5X+lf/1qtSLzV+jrO68jYXM12A6GjH2/nv8A8Naz/iqv8Ikpe6w1u2tIN8bHGvVlTTp9mxY3bn/6W78/+br/AD7ExaMUbTpe3QxxUf3B+a7K/f8A8Hif8f8Azaa4Yoio/rAEOsbxUOCyl3+n/wBJf/gf5uj/AEiJRVj4lDM7NY2zc3dhYTtGvA/7VZf7mAx30GfTz3/8B6j0tv5fMpC/HdjM6f/Zl8Mbdm0uqqP03VBmTuyNv0mUud7KrHfz6u/4sGFuTRPMu0/9BMErN+swya+k35+Za53Un2UZLmGA9lYdsZZf/oXWtt2Y2K3+ax/+trT/AMXT2s64+gjb6TBZJ0G042JX3/qrP5nXIfINjH8r6guK/wAbRj6sMP8A3YI+/Hywux+0Uf6Rn+cFwv8Ajita76rUCp4cTm1t9pB5ryGqFe4n2e51rKGs3O9rK628vsDGb3bv5Dfp2/Qx6kaKmV+lWWWscC99h9td3p/SvefpVdHw3fzf5+ff/wCBzybGtecembrrmMrud9GW7WkdOpd/g8dv851LI/wz/wBF9BErNWP/UNy7g3IsvM4lJENyLK/o5dzdPT6Rgf8AaSj/ALVWfpf5taUT6Y+Qofy/l/3FYjUsXOGAwWkl3ULh6tIsEGppH/KWWz83Ke3/AJNxP+0VX6b+fQsHCOlzjsO31mvsG4VVkx9vyG/4S25/t6djf9qr/wBL/NJ8THsy7vWtjJfe9zm+qYF9jdbsnJf/AIPpuH/hv9J/R6v+DJkXNyC9lNj34jH77skgCzIucNot2fRa6xo9PBx/oYeH+kR8Ov6RQvXkB11ZqDq8WkuDWlwLnabsh9lzvZ9F32jOynf8HV/oK12f1QId0Xe36L8vNcPg7LyXBcNX+m0Aa2kFrf5LoO6u/6Bd/wBp6nfpPd/SLv1m7/BsXbfUy1tvQ9zQ6PtWX7nNLd36ze7c3d+Zqq3NADh+rLiO7//X9F690tnV+j5fTXgEZFZa3dqNw99e7/rjWrzVosvuONXQKsvHDdmK0cNMY59Cn/gM+u6v0v8AtPfkf6NetLg/rx0jN6dnUfWbpVgoNNhNziPbW94bV69v/dHK2Mx8/wD0Pszf+5CfjmYSEh0RKPEKc+2k9Ox315I9NzvZdU1wNjiYf9msubPus/ncr0/5uv8Anv8AtPjqjVVZkvdkXEtYCGFzBrMfo8TEYfb6vp/9bxaf016est6lfZY5zqG4ojIxDrk0SZ9BtTv6S//yLH729R/mLf6Vlel/NpZGQbf0VDQ2uthAawyxlf0nsY8/S3fSycp/6TLt/wCC9KtaEJCQuJu9z2a0hRoiqY22Otc3Hx2iNWNYwy0D6Tq63O/M/PyMl/8AP/8AFJjWyus67mg7X2D89/Po0f8ABV/4WxErpdXiWXH2Vgiuyzu5597cSn+q39Nf/o/8L/gq1VssLonQNG1jRwBPA/lOcnjw6IZ+oWD26WEbZH5jT+ZX/Lf/AISz+wnrY8O9OofpXCCeNrY92v5vt+m9O2l7Hipo3ZTvze1f9b/hP3v9ClY+tjHU1GWDW+797+T/AMV/5+S8kKZ9nqHqPAtrbrXW7Rv/YR/hLv3cRn7n/aj/AD1cizFI6hnfpuo5EW41Fg+iOGZ2XX9FrWx+pYn/AKLrU8XFbhV1Z+bULcq4b+nYNmgIaP6fnf6PEp+lXX/hEKtlVws6r1R77sZzz322Ztw5qr/0OJX/AIa3/A1foa/0n820m/Lb+9/ViupzeuYGfl/V7JyK7oOT7/Tcw2ZGY6u1rrnUv3ezFx2Oba+xte+26t7P5v6GBhZvRcfqL8nK+0Px2E1O9VuPkv0ZUKrDjZoZ6/6VlrX/AKKv9B6X+EqXbYn2rqOc7NtsZTZUwO9eIpw6G6V2V1/6RjfZ0/G/0n6zaqeRksfkXOxQ6nGc8vlxLrLD/w2r7Rkvfu3ZFzKmb/zGKvk5cznYl/e/q+AZI5BGO3k0P259T4BNlYn/AM1HTj/1Lys/rPVPq7kV4jcHIYyxmVVY8t6bjUEVjcHv3YXvu9Pdu+zP/nV1WTRVh4/p51FWV1LJaBVi31MsbjVn3Nuv9Rp/W7P8FT/gWfpL0DAwqbHOtDKMXGxh62TlipktaDAe11jXvda536LBp/0n82xR/dZb8Q4e/wDBd7o7G0uExtlFnUepVuOOHNpbDHUWZr9vtxKsS11luI3cP1yz/D0/zX01Cx12bkvsvHqWWObXY2kRJ4p6Zgj82tn0f9f0ss3KsyLmucDQGMIppJn7NQ73Of/Pd+f1DM/ncm7+d/8ARZWepibcfGAZn3MLW6gfZaHCbHF/+CzMiv35F3/aTF/4RWYRMYgE8Rrr+6xSIJOlBfIcALMKt7A6B+0cputbWVn24GNH/aLGf9P/AAnUM1V2tOW/02foMShpc5z9dlZP6S67b9O/Id+5/PP9PEp/RpmVC5rKMYAYwJLC72C1zB+kybT/AILExmf9tM/7tXIzwH1NpoJZitm11rhDrHN9rstzHbWs2/QxK3vZRhVfpLrPtVycSIiya8SiiSguupbXZlWtLOn4UH0j9J7if0ON+6/Ly7G+79z/AInHXXfU1+TXTRgOdu9HHdk5rhx6+Zc/Iqb/s/k+my+xn/AXULkcOlnVn0Zl7HHomHb6fTOn0n35+YPpbbDtddUzZ+s5rm1UM2fo/SxqLV6N0Xp9uFiE5Tm2Z2S835ljJ2m1wDdlW73ehj1Mrxsf/gKa1RzZeOWnyj5f4tiEeEeJ3f/Q9VUbK67a3V2ND63gtexwkEHRzXNP0muUkklPmX1l+pXU+m5Azek7rcKn+jlu92RitP0saav1jIwG/wCC2etdjs/R+n6f6RY+L1zC3tx+pzjAu325OJst9QN8qvZ6jP8ABbW17LP57EtuXsqzupfV7ofVWFvUMKm/dqXloD58W3M23N/svTozlE3E0ggHcPlfUfrF0/Is/2S52Ni44LMXG9G7bWydzv8AB/pLbXfpL73++56BV9YOh1APGWfXM+/0rfYP+D/R/wA8/wD0n+B/4xeu4fQuj4NVdWLh1VNpDWscGgvhv0d1zt1tjv5Vj1e2t8ApfvWSq0We1HfV8Uf9ZegU1ehRkuLngevd6L/d39KsO9zaWf599n85+YjdN+s/1Vosdk5T7Ml1InGxBS7Y6z823Kf+439zavZDXW4Q5oI8CAhWYOFYIsx6njmHMaR+ISPM5CK01T7UXyR31p6Hl5LrM7KyLfWizOtZQ4WWkaswsf3fq2HX/nv+n/o0C36x4HUMprnvsYBFdVNeO9zKqx9Gqqtvuf/NZ/4MvXX9H6Q8Q/Bx3DwNTD/31Cf9XugPEO6bix5UsB+8NSHM5B2+xXtR8XzXM6zi20MwcKrLrwWHe5zsW0vut/Oyb9rfd/wNX+DUsLrHTMFrsltGXZmMMYjH4lhrrd/3Lu0/TXN/wLPoVr0E/VH6uky3DFTv3qX2VH5Oosr2pnfVTpsRVfn0DuK87LAPyOQ5D7xOq08fFXtxu3zUdRxXOdZf9rfZaS655xri5xOuzdH+Ed/OWLUrysbJeymqvLr6fikWOe7CyHF9xGuXbUyp9e2r+bw8Z9myr+dtXaD6qYcgnO6mR4ftDK/hek76m/V6x27IosytZjJyMjIbPib/vKvuZ/0UjzOQ9vsV7UXzmvrfRcR5dfms+0Al0PZaTv53v/Q+5/8A6MRq8yi2k+lXm5TLiH5VmNiXvfbJ3+hS+5lLW1N+m91jv09v/Fr1PG6d0/EaG4uLTjtHAqrawf8AQa1WEfvOTw+xXtR8XyS676y2scOn/V+5zHQC/JBjaw/o6BiU+6ttX0vQutu/Sfp8j1bFdxvq79aOrBg6lgvpocQ66r1WUte6I2/Suuqrb+db6F19f/aP7OvTklFKcpfMbXAAbByei9Aq6dtvvLLc0ViprmN2VU1D6OJg0y70Mdu33/4bIf8ApL3/AM0yrWSSTUv/2ThCSU0EIQAAAAAAa1UAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADMAAAABADhCSU0EBgAAAAAABwAIAAAAAQEAACH/C0lDQ1JHQkcxMDEy/wAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZf93AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAH/AAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdC/wAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIP8AAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAL/FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlk/wl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF/+uF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeH/LhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJN/0pNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pv92m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqar/HKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui8VOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//wAsAAAAAEAAQAAACP4A/QkcKLAdMWDr0K1jt66hw4UQGbKbuLBdO4kX17VraLHdu3f3QPL7R7CkSYHnTunAQGFECxgwaNCA4QLGjRY8YrhwweNmjBoxYwahMeMGEBdJkLwggqMpDiBEWLX6kUTdSZPGLjz40CUTKD6QOnmC5IfPJ0jOqvGx08mZHT+d/NjJ46faJjt8QvHp1o9TJ7158ugpxGcwGQwGYl0deG5BA1WfOBWKs+dSpDl75kQqxAyZGzeXLrXBAymOGzx7kOlRowcTHm/7Kkdy8+aNYMGE3vgJFcOAscXGJDBoJXlyobGU8xQqJM2TmziYZqOOEwfPcTxtjueBJ0+Pp0K05/7qwaNnzps9hOJsKoFg3Ul1JRKEiZRnTxxIoErv0bMHEjZJo0Wyx2h5UFdfJG+4EQkmecjzTR6e6PFcHPzhwccbeggYh3mfbNCBSf+MgkAPjdyGXyHK7ReJNJC4kQckediWBx7V8fdGG5Fcsgc8y3hXWxwY+oFHgjkWOONmuSgQRknoICBCLXrokceChewhYB6XPDNglbXNhceXgQEpiYDgCCgJbXG8xcgZZuwmih1vUKeHH23wQcQB+BBUhAGyKBJYJJtFIkkhb3SyzBxuQLJHnBTSOCONboy5RzR6ODIbdXYIogoSqYhQAxFO/BGlfQkSMgkCipHETwIm7PJnIf4L6ugGKMjUJqCLYaZJXW2XQOLdlOBRhwcjQoCAAQYqqIAKEhWI0Ultb0SihyUZjDIQPwv0wKCikYCi4xvIgPIcim7sR2N11FF3CYr03UqjH4toAEES9/Djjz7qrKIAIz/q2IYnIPhAkAk3aEJIHqAwo+gb3rpI7nKMpludtNZNKWGakHBxwANIxELSQOgskMVcl0hYSCM/FCEQSSqQIEocCXPpyWzK5VHuohLTiAd9NdMXJx+YxAAACsSgo09J6jCQBR+EvnFJHnTUIgRBK4yAHzKQIDiobXvEGFjE1eExJXkq2kxZLioEAMxJJKFjQBZ92OZJHm18ogwPBOkwwv430YHyhqLVdf0Gl0bGkcccL5InmCSIYsaICALYchVJ5wywhR2EeBJHG8lkE4jAA62gwj3IPHNe16jZfIkktqUbWOIFFtIJkHkQ8kkQBJyymEDADNAFrJ9Fc40dgJCysj8r6ICP6ZgF1nUbyISCIZCKK2d4HJdgQhvTheTCgAxXqRNLEUh0IIAIk7QRxzbRnAbIKwSp4EM91HVd3+bJINOGHtS/bl+BoOBEGzC0H024AE8nWQUCHOABChDgAVKAAx+4ob80vW9gQqCflO4HLlDsrzbkkRL/ApOMS+3hhHkYhAF04I+PDaQdC+jAL5QRCRdQ4Q6FGMclTgMkSsjieP4dOMU8DFef2oDCE20gldhehyE9MONSUUKRHboAgLWZBAkMQAN4+ACEK0RiHJeqjR8qAQuCdEAW83DRCGfmIgPdpkD8YUYh1McfaZ2GCgjIU0n0QQEZFMIOQIpDMsBxsdpAgg+UKONANACLeKjBUZaJ2BI3yJ9kXOxAa8GDIaLggfc0gAt4wAsemLENaMXJEXpoAzTgt0hSxOM5eriEJcjzJTwgToSoQYbZapeJQFAhBzYgQwusZRJ0VCANgqBCFLigDUUEcg6FkNAldFEKgmAgFeRgjWWmVUux2U9smEDU6y6BgQaAwAIGCEAHjlbMBzhAAQUoQAJ8sAM5iG0ybv5IxjXgUM2BPEAW3HBDdPLADPuAyX4YuoRpChQHP5wBAK7ohz70kY57LCYWsjgHOtChjlEEYAt8INU1otEGNvRTIA/wBTcK8bRlGNSbc+DftH5Uvz0gYQG/2N3k/KGOAmzBDy7yRjLUEIc16M6fwBiHr0CxKBqV50XniUQg6+eHNayCAjnVKYj8gQ4BnKEOjihTE95gBzaYgiAQAAY3sDdCWu4hFBSaDaNIswcXHaEB6Gjh8RbzD5K0bQBUCAUhJ4QHkxKEAsSYhpSut6hJUaZFEpNWgvwwBAXoUasmOYcBbtEN01wPD3BAwmGPwQxcWYcy0TAceHT2orrGiROLQP7A0dqhDnXgQx/tKAk/7kEMJPSgB0JIwgYUgAg7wBJIfKDDIa5FgXTkgoiOwNAzKEOo8VTHV595AyY4AQgFyOsAFagABDDQCyahAAMXYAADEPCAB2BgEM+xj4v8IIflCoQfDvgFMuYyGYQZzj4oEhuMnvMGT1zCD4P4gjITkQZGxAAB5SUIOlLhC144QhCZ6IYUaHChQuDBDYMBLTHv5QBUiMs+c1CoYOJQiDmQh1xG7ISULJSHTWziDXegAQPOShB1nGIHaKhDJKIhNjr8bUj8iWkuljCQfDxgFJjg384MRBnDDUZCcULG3Fwco+XMgUIuQIBoCYKPJOwAB6FQRv4g7VCa8xAiStYgw4idPIpLxElaKMJQE6MJLS3X0jyFIMTBGlqCAvTAJEVgARGcQeA4SHVwgp6UH+TcZAqMAkG9KgQkbEPAPFMHGZ348pcISJ8v6wEFAlABolGAgws959GbqVI08sCJQFiLJPnAwChiGWVCgNjKeaYRMnhWoNNkqEBvwEMmUmAAEyDaBDgA6pSogwk/KIoZpOkEFpgskFyHARTLEIwbJvPiGPHvE/SJEpDefJnaQIgQJViACdg5ECScYAhrKQ0ekLEcQTBDOZfAQxZGzI8OjAIaYZpMTAlhHv6tazD0iYMlYJUHO9hBM4djjwcuKxBXsCAKTDtNNP6imRrUSJUPZOB2C0FACkUAcjL82QOSo/VmWPHPEn44mG3wwHAMpQABHbAoQXzBghysdhuOqA8oTE6hQpRB5f4wASoCYYeu8UdKnF4OxLsWCULs5zRi+3J9TICAD+T1eMD4+JC2IVU9SOKxGDpkIlBBkBOgYhB9IKLgPmylwezH0SfUwxtcnGwMCWYEZT/7QH5xgijYQRp2rpRyYM6JGbWClQKRQcurXh+cYUha+zmcgLAe0513jUIlaIDZSxIMD0TBGZagUNcgMZk9gCJGkKgF5v0hBFTIgTORgCxlosw0/jnC6nFqcZTebBs6qKAlihfIMCKAiE3UR0qbwYxqBv7HCVzs/gdLqERzLPEcwdweS4uKJgdRxJ9ogngPbJDBBVZPEGI04A99EOGgTvgMQrF0GbugSAIhBEYwDciwQ0ukUHiQDC1iLoLTYujhfoNhGjLQASGQV37lD/YHCCI0M4EmDbNxHMzQfT+kV0WgA9CAgPZhH3HwDLMRJcrBP12zB7Dia4RwGW6gCDpwASYQfRrIAH9QGAbWddggLsfxDDqiCyUoEDrQA9HQBNYTJi6IK61lZbUjINlBH3UzDSOgASrgg7/AAIpge51Ae9LwDOXyCdFQMqDwCIoxEDowCp4QLWIjeMzwLHXIZ3NwMFOyJZGAHaBwDW/QATyIgXr1C/4KMAmfAAqEUAjRgA3nAQrRAAqxFAmKUIIkoQOp8EQzwj/MoDn/JVlxwHx2dIM34glPCAobAH0l0QsIAA2qUQjJsA0Ugor/NjN+YAmSMxAmcArdMFfMwFTJZnPlNx7uJ2gJcgnM0ATIEA0bgAEacA7/wA/8cDSy0ADQgAd+AAresB9ZMmugEE2foAhjRhKjsAOYcDrJEI7JFgmWUFevkyI3c2fJ0ATMIEcbsAALoAKnUAqlMAqoYAIZQAk7Aw7sggzbgDAwMjN0QHcg8wOJwAdx4AmgYAm20gl1pQdvdn0gJnga6Qn2GA12EAQKQAEUwAO9IAu9YAu/oAMUQASDAP4OJXMc25A5UuUtfJAGrhB9o6ADkdAM0uA3heIJGdl1/4Mrg0ODTbAM2/Ac4cADBpAAD+ABKJAsPnABDYACxeAMV8h2gFJgyQAuOhALvzEQ6zACpmAPyPBhFFlXVkKDceIi9gF6bbAM3pAg2/AJjsADIPACHMABEwABDTABLaAN0rCHhbAN36FQWRIHzhAGLPAL7kEQqIABs+AHTdCWgycgOOMwjjYenDMONrMNYdkJ2PAIfOAHm2AOmDBx1rANNDgpqjE3Q+YHkrAKGmAMwWAS/KACIDAGoUCJF1eJcakcb/CON5IM5pAb1/AM2fENT7ghYFQdl/ANWocMlkSbDP44CaaQm78gdEwyAiIgBphgB9Ekic8BYggycQmSDPDQYs9AUnGADU1JIeMgLoNRJtHECcmAMJXhDKJQC6ggArIwDJN5EsbgARmAArPQCaIgDhX3FpyAB5+wCRZSDfTQCZpQDdlQB3aQDeXwFqv5DHagCZtQDugGFsuwG5sQCsnQCGGABCkwCsCQW7tjDCdwARkQBMKQBVbwo3+ABWYwBk7wBFhQDGNABmNwC0/wBGXAC1DwBFMwC7TABFMwBYiwCIBADYFQCYFABlogBTdwAQiAACaABMRAb7ujD7KgAg+wABDQASAQAh7wAQp6AXgaAXoaAQ7QAAwQARVwASAwAlxVyQKGigIo8AMr8AEhYAI9sASk8Aq/YAzoUC+YRRD8oA6mcA63BSLTmA/5gA/uUA/tgA7nYAzE8AvAsJKs2gu9YAztYC+XOqu0yld6xTa1aqu1+jEuVBK9SqsBAQA7]]></data>
	</file>
	<file>
	  <filename>/images/social.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPcAAAAAAAAAABFDiIGm20dyr12GwmOOymGOy2GOy2OOyl2Hwkdyr4Co3BJChwAAAAAAAAAAAD9rrDFdn1qEwVyLzVOH0kqC00WA00WA00mC01KH0lyLzVqEwTFbnT9qqgAAADxoqjRfoVWBwk+Dzjt3zjFxzDJxzDRyzTRyzUV+0T15zzt3zk+DzlWBwTRgoTtoqvL//1B8vEh9yTJvyEqAzn2k3IKn3abA5oKn3dnj87HH6Tx2yzJwyUh9yVB8vPL//0Jtq0l6wjNuxC5qw2eS0tPe78XU6+nu9b3P6fv7+t7m8kh8yS9rwzNuxEl6wkJtq0VwsjtwwC5ovyxnvmiRz8TS6KK63r/P5muTz7HE4oWl1jBpvy5ovy5ovztwwERwskBssTRquyxluypjuo+r1vX08u7v8O7v8M/Z6Njf6sPQ5FB+xCtkuixluzRqu0BtsTpmqzFmtiphtihgtXqazNDZ5ejq6+zs7O3t7e3t7e/v7YWj0ChgtSphtjFmtzpnqzReoTJjsClesilesS9is1B6vNLY4uXm6Obn6Ofn6Orp6YijzSZcsSlesjJjsDReoSVLiTFepSpdrSdarSZarS5gr1uAvHKRw9TZ4OXl5ebm5YWfySRZrCpdrTFepSVLiC1WmilRkytYoidYqCVXqSVXqCFUpzZkrbTA08nQ2srR2naTwSVXqCtZoilRky1WmRQ3cz1suSZNjyhTmyZUoSRUpCNUpCZWpTdiqjpkqzplqjFdpSdTmyZOkDxruBQ3cgAAABEwZyRKjSBEgyNMkCNOlSNQnCJQnyFQnyFPnCFNlCFKjyBFgyRLjQ8tZAAAAAAAAAAAAAAAAAAAABg8ehExZx9HjSBMmSBMmR5HjRIxZxg9ewAAAAAAAAAAAAAAAAAAAAAAALy+wL2/wLy+wNzXzVFqkyNJjSNJjVFqktzXzby+wL2/wLy+wAAAAAAAAAAAAAAAALy+wLy+wLy+wLy+wMDBwZCbrZCbrcDBwby+wLy+wLy+wLy+wAAAAAAAACH5BAEAAAAALAAAAAAQABAAAAj+AAEEEDCAQAEDBxAkULCAQQMHDyBEkDCBQgULFzBk0LCBQwcPH0CEEDGCRAkTJ1CkULGCRQsXL2DEkDGDRg0bN3Dk0LGDRw8fP4AEETKESBEjR5AkUbKESRMnT6BEkTKFShUrV7Bk0bKFSxcvX8CEETOGTBkzZ9CkUbOGTRs3b+DEkTOHTh07d/Dk0bOHTx8/fwAFEjSIUCFDhxAlUrSIUSNHjyBFkjSJUiVLlzBl0rSJUydPn0CFEjWKVClTp1ClUrWKVStXr2DFkjWLVi1bt3Dl0rWLVy9fv4AFEzaMWDFjx5AlU7aMWTNnz6BFkzaNWjVr17Bl07aNWzdv38AlhRM3jlw5c+fQpVO3jl07d+/gxZM3j149e/fw5dO3j18/f/8EBAA7]]></data>
	</file>
	<file>
	  <filename>/images/social_sm.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPcAAAAAAAAAABFDiIGm20dyr12GwmOOymGOy2GOy2OOyl2Hwkdyr4Co3BJChwAAAAAAAAAAAD9rrDFdn1qEwVyLzVOH0kqC00WA00WA00mC01KH0lyLzVqEwTFbnT9qqgAAADxoqjRfoVWBwk+Dzjt3zjFxzDJxzDRyzTRyzUV+0T15zzt3zk+DzlWBwTRgoTtoqvL//1B8vEh9yTJvyEqAzn2k3IKn3abA5oKn3dnj87HH6Tx2yzJwyUh9yVB8vPL//0Jtq0l6wjNuxC5qw2eS0tPe78XU6+nu9b3P6fv7+t7m8kh8yS9rwzNuxEl6wkJtq0VwsjtwwC5ovyxnvmiRz8TS6KK63r/P5muTz7HE4oWl1jBpvy5ovy5ovztwwERwskBssTRquyxluypjuo+r1vX08u7v8O7v8M/Z6Njf6sPQ5FB+xCtkuixluzRqu0BtsTpmqzFmtiphtihgtXqazNDZ5ejq6+zs7O3t7e3t7e/v7YWj0ChgtSphtjFmtzpnqzReoTJjsClesilesS9is1B6vNLY4uXm6Obn6Ofn6Orp6YijzSZcsSlesjJjsDReoSVLiTFepSpdrSdarSZarS5gr1uAvHKRw9TZ4OXl5ebm5YWfySRZrCpdrTFepSVLiC1WmilRkytYoidYqCVXqSVXqCFUpzZkrbTA08nQ2srR2naTwSVXqCtZoilRky1WmRQ3cz1suSZNjyhTmyZUoSRUpCNUpCZWpTdiqjpkqzplqjFdpSdTmyZOkDxruBQ3cgAAABEwZyRKjSBEgyNMkCNOlSNQnCJQnyFQnyFPnCFNlCFKjyBFgyRLjQ8tZAAAAAAAAAAAAAAAAAAAABg8ehExZx9HjSBMmSBMmR5HjRIxZxg9ewAAAAAAAAAAAAAAAAAAAAAAALy+wL2/wLy+wNzXzVFqkyNJjSNJjVFqktzXzby+wL2/wLy+wAAAAAAAAAAAAAAAALy+wLy+wLy+wLy+wMDBwZCbrZCbrcDBwby+wLy+wLy+wLy+wAAAAAAAACH5BAEAAAAALAAAAAAQABAAAAj+AAEEEDCAQAEDBxAkULCAQQMHDyBEkDCBQgULFzBk0LCBQwcPH0CEEDGCRAkTJ1CkULGCRQsXL2DEkDGDRg0bN3Dk0LGDRw8fP4AEETKESBEjR5AkUbKESRMnT6BEkTKFShUrV7Bk0bKFSxcvX8CEETOGTBkzZ9CkUbOGTRs3b+DEkTOHTh07d/Dk0bOHTx8/fwAFEjSIUCFDhxAlUrSIUSNHjyBFkjSJUiVLlzBl0rSJUydPn0CFEjWKVClTp1ClUrWKVStXr2DFkjWLVi1bt3Dl0rWLVy9fv4AFEzaMWDFjx5AlU7aMWTNnz6BFkzaNWjVr17Bl07aNWzdv38AlhRM3jlw5c+fQpVO3jl07d+/gxZM3j149e/fw5dO3j18/f/8EBAA7]]></data>
	</file>
	<file>
	  <filename>/images/social_sm2.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPYAABpBhB9KlSRMjiNMkiFOnCVQliRRnipUmzFanCNUpCtZpCRXqCZZqylcrTJdoydcsClesTdjqjplqz9qqiphtS1luy5ovjNlsjhnszxqszRqvTltu2V5mUBrrURvsUBvuEZxsU13tU14tUNyu096vS9qwTFtxDpvwDJvyTtyxDNyzDt2zD55zjR10Dh30T970UN2wkN5x09/xUN8zUl/zVeCwV6Hwl+Jw1WFzEaB1E2D0k2H2E+I2F2O1FeN2ViN2WGKxGSOzGeRzGyUzGKS1m6W0W+Z1GKT2W+b2HCX0HOZ0nae2X2h1ra5vYagyY6mzZCozYyo1ISm2Ier342r2Jmu0Jax2ry+wKG426q92bXA07zK3q/D4bLH5b/O5rfL6rnM6cjP2cvS3MPP4MTS58zV4sbV7cnX683a7NXb5Nrd4tbe69jf6NLe8dbg7dnh7N3m9OPk5Ofn6OXo7Ovr6/Hw7+Tq8+3v8u/x9PLy8vb3+ff4+fv7+gAAAAAAAAAAACH5BAEAAH0ALAAAAAAgACAAAAf+gH2Cg4SFhoeIiDdDQ0VFjECJkoJARUhHPzw7Ozw+R0hFkZOENpc0Li2pqqkuNEdFN6N9QkQvLSqrq7ipLD1DkiBCOioqKCjFxskvOywoLcc6Qh6IQTTHxjMrKD1TR9tmdmfe1zRBhzY0JuomSG1fSHB8eExmfPZoM8YmKDQ2hSI41qnrwmcPGT17+ICxU1DPnYACcYQgVCNFiRImMC4JJ8XOHjxT0OzRw2fNCoElUtQYNEHGxZclcHSxkkLKGSoniqy540bJRQsmgJaQMUEQCBglLCi1cGLMRy5k5qApUiEIlSAmKpSoYIFrBRggjJ6oQFYpjDV56uBJi2cNFjb+c9ZY2UC2boUTYfuA2ECBbF8YbOrcqUOY8J08g+tE6Wt3Q94OGihIljwisOA7d+horrO5DN/JFDQU7SPh8+QNWbaMkUOHtebXddCMgAB6gwRBCDJA2L2bwoULJNK0ljOHOJ3iaT7Q7p0BwSAJF3jzZjAijWs52LOLUd5g94XbgxBgaNDgwQMGEBpgcALlSRU1ceLHF5OBQfkGF5wTcgCBgf///y2QgRjxwScHff9B4MAhDjSwAAMPRrjAAhgQCN98GDyoICICOKDAhBMmAGIEWYRhoolaRLCAAggIIMkBCoiYwIw0SmCjBBHkqIACB8gyAIw00miAAQkMOeMBA8hIMogABRApZJFFFuCikoYIYAABWA6ZJJWJDIAllltyiQgAXhIQAABiSgJAAGemOQkAaLpJyBV01skBB3XWmWaedDbRBJ9XJBIIADs=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKCgojQgoKCiNDCiRsYW5nWydjbGVhcl9zZXR0aW5ncyddID0gJ0NsZWFyIEF1dGhlbnRpY2F0aW9uIERhdGEnOwoKCiNECgoKI0UKJGxhbmdbJ2Vycm9yX2NvbmZpZ3VyYXRpb24nXSA9ICdUaGUgRmFjZWJvb2sgQXBwIElEIGFuZC9vciBzZWNyZXQgaGF2ZSBub3QgYmVlbiBzZXQgY29ycmVjdGx5LiAgQ2Fubm90IGF1dGhlbnRpY2F0ZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkbWVzc2FnZSddID0gJ1RoZSBtZXNzYWdlIHN1cHBsaWVkIGlzIGludmFsaWQgKG5vIGJvZHkgb3Igb3RoZXIgcmVxdWlyZWQgcGFyYW1ldGVyKSc7CiRsYW5nWydlcnJvcl9ub3BhZ2VpZCddID0gJ1lvdSBkaWQgbm90IHNlbGVjdCBhIHBhZ2UgaWQnOwokbGFuZ1snZXJyb3JfcG9zdGZhaWxlZCddID0gJ0ZhY2Vib29rIFBvc3QgRmFpbGVkJzsKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIEZhY2Vib29rIFBvc3QnOwokbGFuZ1snZnJvbSddID0gJ2Zyb20nOwoKI0cKCgojSAoKCiNJCiRsYW5nWydpbmZvX3NlbGVjdF9wYWdlJ10gPSAnVGhpcyBtb2R1bGUgaXMgY2FwYWJsZSBvZiBwb3N0aW5nIHRvIGEgc2luZ2xlIGZhY2Vib29rIHBhZ2UuICBXZSBoYXZlIHF1ZXJpZWQgdGhlIGZhY2Vib29rIGRhdGFiYXNlIGFuZCBmb3VuZCB0aGUgbGlzdCBvZiBwYWdlcyB0aGF0IHlvdSBoYXZlIGFjY2VzcyB0bywgcGxlYXNlIHNlbGVjdCBvbmUgb2YgdGhlbSc7CiRsYW5nWydpbmZvX3NlbmRlcl9mYWNlYm9vayddID0gJ0ZhY2Vib29rIG1lc3NhZ2VzIGFyZSBhIG1heGltdW0gb2YgNjMwMDAgY2hhcmFjdGVycyBsb25nLiBIVE1MIGNvZGUgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgc3RhdHVzLiAgPHN0cm9uZz5UaXA6PC9zdHJvbmc+IGl0cyBhIGdyZWF0IGlkZWEgdG8gZW5zdXJlIHRoYXQgeW91ciBPcGVuR3JhcGggbWV0YSB0YWdzIGFyZSBjb25maWd1cmVkLic7CgojSgoKCiNLCgoKI0wKJGxhbmdbJ2xpbmsnXSA9ICdMaW5rJzsKJGxhbmdbJ2xvZ2luJ10gPSAnTG9naW4gdG8gRmFjZWJvb2snOwokbGFuZ1snbG9nb3V0J10gPSAnTG9nb3V0IGZyb20gRmFjZWJvb2snOwoKI00KJGxhbmdbJ21lc3NhZ2UnXSA9ICdNZXNzYWdlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIHNlbmRpbmcgZmFjZWJvb2sgcG9zdHMgdG8gZWl0aGVyIGFuIGFwcCBwYWdlIG9yIGFuIGF1dGhvcml6ZWQgcGFnZSc7CiRsYW5nWydtc2dfYXV0aHByZWZzY2xlYXJlZCddID0gJ0ZhY2Vib29rIGF1dGhlbnRpY2F0aW9uIHRva2VucyBjbGVhcmVkJzsKJGxhbmdbJ21zZ19wb3N0X3N1Y2Nlc3MnXSA9ICdNZXNzYWdlIHN1Y2Nlc3NmdWxseSBwb3N0ZWQgdG8gRmFjZWJvb2snOwoKI04KJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwoKI08KCgojUAokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgQ0dGQlBvc3QgbW9kdWxlIGhhcyBiZWVuIGluc3RhbGxlZCwgcGxlYXNlIHZpc2l0IHRoZSBtb2R1bGVzIGFkbWluIHBhbmVsIGFuZCBzZXR1cCB0aGUgbW9kdWxlIGZvciBwb3N0aW5nIHRvIEZhY2Vib29rJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgQ0dGQlBvc3QgbW9kdWxlIGhhcyBiZWVuIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3Rfc2VudCddID0gJ01lc3NhZ2UgcG9zdGVkIHRvIHBhZ2Ugd2FsbCc7CiRsYW5nWydwcm9tcHRfYXBwaWQnXSA9ICdGYWNlYm9vayBBcHBsaWNhdGlvbiBJRCc7CiRsYW5nWydwcm9tcHRfYXBwc2VjcmV0J10gPSAnRmFjZWJvb2sgQXBwbGljYXRpb24gU2VjcmV0JzsKJGxhbmdbJ3Byb21wdF9oYXZlX3BhZ2VfdG9rZW4nXSA9ICdQYWdlIGFjY2VzcyB0b2tlbiBzZXQnOwokbGFuZ1sncHJvbXB0X2hhdmVfdXNlcl90b2tlbiddID0gJ1VzZXIgYWNjZXNzIHRva2VuIHNldCc7CiRsYW5nWydwcm9tcHRfc2VsZWN0X3BhZ2UnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgZmFjZWJvb2sgcGFnZSc7CgojUQoKCiNSCiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8nOwoKI1MKJGxhbmdbJ3NldHRpbmdzX3NhdmVkJ10gPSAnU2V0dGluZ3Mgc2F2ZWQnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCiNUCiRsYW5nWyd0YWJfYXV0aCddID0gJ0F1dGhlbnRpY2F0aW9uJzsKJGxhbmdbJ3RhYl9zZXR0aW5ncyddID0gJ1NldHRpbmdzJzsKJGxhbmdbJ3RhYl90ZXN0J10gPSAnVGVzdCc7CgojVQoKCiNWCgoKI1cKJGxhbmdbJ3dhcm5fbm9hY2Nlc3N0b2tlbiddID0gJ1dlIGRvIG5vdCBoYXZlIHVzZXIsIG9yIHBhZ2UgY3JlZGVudGlhbHMgdG8gYWxsb3cgdXMgdG8gcG9zdCB0byBhIGZhY2Vib29rIHBhZ2UnOwokbGFuZ1snd2VsY29tZSddID0gJ1dlbGNvbWUnOwoKI1gKCgojWQokbGFuZ1sneWVzJ10gPSAnWWVzJzsKCiNaCgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJDR0ZCUG9zdCIKdmVyc2lvbiA9ICIxLjEuMyIKYXV0aG9yID0gImNhbGd1eTEwMDAiCmF1dGhvcmVtYWlsID0gImNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciCm1pbmNtc3ZlcnNpb24gPSAyLjIKbGF6eWxvYWRhZG1pbiA9IDEKbGF6eWxvYWRmcm9udGVuZCA9IDAKW2RlcGVuZHNdCkNHRXh0ZW5zaW9ucyA9IDEuNTYK]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_auth_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGVtcHR5KCRmYl9hcHBpZCkgfHwgZW1wdHkoJGZiX2FwcHNlY3JldCkgfQogICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj57JG1vZC0+TGFuZygnZXJyb3JfY29uZmlndXJhdGlvbicpfTwvZGl2Pgp7ZWxzZX0KICB7aWYgaXNzZXQoJGxvZ2luX3VybCl9CiAgICB7aWYgIWVtcHR5KCRmYl9wYWdlaWQpfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9oYXZlX3BhZ2VfdG9rZW4nKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+e2lmICRmYl9wYWdlX2FjY2Vzc190b2tlbn17JG1vZC0+TGFuZygneWVzJyl9e2Vsc2V9eyRtb2QtPkxhbmcoJ25vJyl9ey9pZn0KICAgICAgPC9kaXY+CiAgICB7L2lmfQogICAgPGEgaHJlZj0ieyRsb2dpbl91cmx9Ij57JG1vZC0+TGFuZygnbG9naW4nKX08L2E+CiAge2Vsc2V9CiAgICB7aWYgIWlzc2V0KCRwYWdlX2lkKX17JHBhZ2VfaWQ9Jyd9ey9pZn0KCiAgICB7aWYgIWVtcHR5KCRmYl9wYWdlcyl9CiAgICAgIHtmb3JtX3N0YXJ0IGFjdGlvbj1hZG1pbl9hdXRoX3RhYn0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaGF2ZV9wYWdlX3Rva2VuJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPntpZiAkZmJfcGFnZV9hY2Nlc3NfdG9rZW59eyRtb2QtPkxhbmcoJ3llcycpfXtlbHNlfXskbW9kLT5MYW5nKCdubycpfXsvaWZ9CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9zZWxlY3RfcGFnZScpfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1mYl9wYWdlaWQiPgogICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmYl9wYWdlcyBzZWxlY3RlZD0kZmJfcGFnZWlkfQogICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3NlbGVjdF9wYWdlJyl9CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1mb3JnZXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2xlYXJfc2V0dGluZ3MnKX0iLz4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgICB7Zm9ybV9lbmR9CiAgICB7ZWxzZX0KICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+eyRtb2QtPkxhbmcoJ3dhcm5pbmdfbm9wYWdlbGlzdCcpfTwvcD4KICAgIHsvaWZ9CiAgey9pZn0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_settings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FwcGlkJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZiX2FwcGlkIiB2YWx1ZT0ieyRmYl9hcHBpZH0iIHNpemU9IjUwIi8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXBwc2VjcmV0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZiX2FwcHNlY3JldCIgdmFsdWU9InskZmJfYXBwc2VjcmV0fSIgc2l6ZT0iNTAiLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_test_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGVtcHR5KCRkb190ZXN0KX0KICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj57JG1vZC0+TGFuZygnd2Fybl9ub2FjY2Vzc3Rva2VuJyl9PC9kaXY+CntlbHNlfQogIHtmb3JtX3N0YXJ0IGFjdGlvbj1hZG1pbl90ZXN0X3RhYn0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbWVzc2FnZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9cG9zdF9tc2ciIHJvd3M9IjMiIGNvbHVtbnM9IjUwIj48L3RleHRhcmVhPgogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdsaW5rJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1wb3N0X2xpbmsiIHNpemU9IjgwIi8+CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDwvcD4KICA8L2Rpdj4KICB7Zm9ybV9lbmR9CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/vendor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/autoload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkLnBocCBAZ2VuZXJhdGVkIGJ5IENvbXBvc2VyCgpyZXF1aXJlX29uY2UgX19ESVJfXyAuICcvY29tcG9zZXIvYXV0b2xvYWRfcmVhbC5waHAnOwoKcmV0dXJuIENvbXBvc2VyQXV0b2xvYWRlckluaXQzMWRkMTZhMjgwMDk1ODkwNzljMTgzYTRjOGE1YWFiNTo6Z2V0TG9hZGVyKCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/composer/autoload_classmap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX2NsYXNzbWFwLnBocCBAZ2VuZXJhdGVkIGJ5IENvbXBvc2VyCgokdmVuZG9yRGlyID0gZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSk7CiRiYXNlRGlyID0gZGlybmFtZSgkdmVuZG9yRGlyKTsKCnJldHVybiBhcnJheSgKKTsK]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/autoload_files.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX2ZpbGVzLnBocCBAZ2VuZXJhdGVkIGJ5IENvbXBvc2VyCgokdmVuZG9yRGlyID0gZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSk7CiRiYXNlRGlyID0gZGlybmFtZSgkdmVuZG9yRGlyKTsKCnJldHVybiBhcnJheSgKICAgICdjNjVkMDliNjgyMGRhMDM2OTUzYTM3MWM4YzczYTliMScgPT4gJHZlbmRvckRpciAuICcvZmFjZWJvb2svZ3JhcGgtc2RrL3NyYy9GYWNlYm9vay9wb2x5ZmlsbHMucGhwJywKKTsK]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/autoload_namespaces.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX25hbWVzcGFjZXMucGhwIEBnZW5lcmF0ZWQgYnkgQ29tcG9zZXIKCiR2ZW5kb3JEaXIgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKTsKJGJhc2VEaXIgPSBkaXJuYW1lKCR2ZW5kb3JEaXIpOwoKcmV0dXJuIGFycmF5KAopOwo=]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/autoload_psr4.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX3BzcjQucGhwIEBnZW5lcmF0ZWQgYnkgQ29tcG9zZXIKCiR2ZW5kb3JEaXIgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKTsKJGJhc2VEaXIgPSBkaXJuYW1lKCR2ZW5kb3JEaXIpOwoKcmV0dXJuIGFycmF5KAogICAgJ0ZhY2Vib29rXFwnID0+IGFycmF5KCR2ZW5kb3JEaXIgLiAnL2ZhY2Vib29rL2dyYXBoLXNkay9zcmMvRmFjZWJvb2snKSwKKTsK]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/autoload_real.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX3JlYWwucGhwIEBnZW5lcmF0ZWQgYnkgQ29tcG9zZXIKCmNsYXNzIENvbXBvc2VyQXV0b2xvYWRlckluaXQzMWRkMTZhMjgwMDk1ODkwNzljMTgzYTRjOGE1YWFiNQp7CiAgICBwcml2YXRlIHN0YXRpYyAkbG9hZGVyOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZENsYXNzTG9hZGVyKCRjbGFzcykKICAgIHsKICAgICAgICBpZiAoJ0NvbXBvc2VyXEF1dG9sb2FkXENsYXNzTG9hZGVyJyA9PT0gJGNsYXNzKSB7CiAgICAgICAgICAgIHJlcXVpcmUgX19ESVJfXyAuICcvQ2xhc3NMb2FkZXIucGhwJzsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRMb2FkZXIoKQogICAgewogICAgICAgIGlmIChudWxsICE9PSBzZWxmOjokbG9hZGVyKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjokbG9hZGVyOwogICAgICAgIH0KCiAgICAgICAgc3BsX2F1dG9sb2FkX3JlZ2lzdGVyKGFycmF5KCdDb21wb3NlckF1dG9sb2FkZXJJbml0MzFkZDE2YTI4MDA5NTg5MDc5YzE4M2E0YzhhNWFhYjUnLCAnbG9hZENsYXNzTG9hZGVyJyksIHRydWUsIHRydWUpOwogICAgICAgIHNlbGY6OiRsb2FkZXIgPSAkbG9hZGVyID0gbmV3IFxDb21wb3NlclxBdXRvbG9hZFxDbGFzc0xvYWRlcigpOwogICAgICAgIHNwbF9hdXRvbG9hZF91bnJlZ2lzdGVyKGFycmF5KCdDb21wb3NlckF1dG9sb2FkZXJJbml0MzFkZDE2YTI4MDA5NTg5MDc5YzE4M2E0YzhhNWFhYjUnLCAnbG9hZENsYXNzTG9hZGVyJykpOwoKICAgICAgICAkdXNlU3RhdGljTG9hZGVyID0gUEhQX1ZFUlNJT05fSUQgPj0gNTA2MDAgJiYgIWRlZmluZWQoJ0hIVk1fVkVSU0lPTicpICYmICghZnVuY3Rpb25fZXhpc3RzKCd6ZW5kX2xvYWRlcl9maWxlX2VuY29kZWQnKSB8fCAhemVuZF9sb2FkZXJfZmlsZV9lbmNvZGVkKCkpOwogICAgICAgIGlmICgkdXNlU3RhdGljTG9hZGVyKSB7CiAgICAgICAgICAgIHJlcXVpcmVfb25jZSBfX0RJUl9fIC4gJy9hdXRvbG9hZF9zdGF0aWMucGhwJzsKCiAgICAgICAgICAgIGNhbGxfdXNlcl9mdW5jKFxDb21wb3NlclxBdXRvbG9hZFxDb21wb3NlclN0YXRpY0luaXQzMWRkMTZhMjgwMDk1ODkwNzljMTgzYTRjOGE1YWFiNTo6Z2V0SW5pdGlhbGl6ZXIoJGxvYWRlcikpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRtYXAgPSByZXF1aXJlIF9fRElSX18gLiAnL2F1dG9sb2FkX25hbWVzcGFjZXMucGhwJzsKICAgICAgICAgICAgZm9yZWFjaCAoJG1hcCBhcyAkbmFtZXNwYWNlID0+ICRwYXRoKSB7CiAgICAgICAgICAgICAgICAkbG9hZGVyLT5zZXQoJG5hbWVzcGFjZSwgJHBhdGgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkbWFwID0gcmVxdWlyZSBfX0RJUl9fIC4gJy9hdXRvbG9hZF9wc3I0LnBocCc7CiAgICAgICAgICAgIGZvcmVhY2ggKCRtYXAgYXMgJG5hbWVzcGFjZSA9PiAkcGF0aCkgewogICAgICAgICAgICAgICAgJGxvYWRlci0+c2V0UHNyNCgkbmFtZXNwYWNlLCAkcGF0aCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRjbGFzc01hcCA9IHJlcXVpcmUgX19ESVJfXyAuICcvYXV0b2xvYWRfY2xhc3NtYXAucGhwJzsKICAgICAgICAgICAgaWYgKCRjbGFzc01hcCkgewogICAgICAgICAgICAgICAgJGxvYWRlci0+YWRkQ2xhc3NNYXAoJGNsYXNzTWFwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGxvYWRlci0+cmVnaXN0ZXIodHJ1ZSk7CgogICAgICAgIGlmICgkdXNlU3RhdGljTG9hZGVyKSB7CiAgICAgICAgICAgICRpbmNsdWRlRmlsZXMgPSBDb21wb3NlclxBdXRvbG9hZFxDb21wb3NlclN0YXRpY0luaXQzMWRkMTZhMjgwMDk1ODkwNzljMTgzYTRjOGE1YWFiNTo6JGZpbGVzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRpbmNsdWRlRmlsZXMgPSByZXF1aXJlIF9fRElSX18gLiAnL2F1dG9sb2FkX2ZpbGVzLnBocCc7CiAgICAgICAgfQogICAgICAgIGZvcmVhY2ggKCRpbmNsdWRlRmlsZXMgYXMgJGZpbGVJZGVudGlmaWVyID0+ICRmaWxlKSB7CiAgICAgICAgICAgIGNvbXBvc2VyUmVxdWlyZTMxZGQxNmEyODAwOTU4OTA3OWMxODNhNGM4YTVhYWI1KCRmaWxlSWRlbnRpZmllciwgJGZpbGUpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRsb2FkZXI7CiAgICB9Cn0KCmZ1bmN0aW9uIGNvbXBvc2VyUmVxdWlyZTMxZGQxNmEyODAwOTU4OTA3OWMxODNhNGM4YTVhYWI1KCRmaWxlSWRlbnRpZmllciwgJGZpbGUpCnsKICAgIGlmIChlbXB0eSgkR0xPQkFMU1snX19jb21wb3Nlcl9hdXRvbG9hZF9maWxlcyddWyRmaWxlSWRlbnRpZmllcl0pKSB7CiAgICAgICAgcmVxdWlyZSAkZmlsZTsKCiAgICAgICAgJEdMT0JBTFNbJ19fY29tcG9zZXJfYXV0b2xvYWRfZmlsZXMnXVskZmlsZUlkZW50aWZpZXJdID0gdHJ1ZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/autoload_static.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIGF1dG9sb2FkX3N0YXRpYy5waHAgQGdlbmVyYXRlZCBieSBDb21wb3NlcgoKbmFtZXNwYWNlIENvbXBvc2VyXEF1dG9sb2FkOwoKY2xhc3MgQ29tcG9zZXJTdGF0aWNJbml0MzFkZDE2YTI4MDA5NTg5MDc5YzE4M2E0YzhhNWFhYjUKewogICAgcHVibGljIHN0YXRpYyAkZmlsZXMgPSBhcnJheSAoCiAgICAgICAgJ2M2NWQwOWI2ODIwZGEwMzY5NTNhMzcxYzhjNzNhOWIxJyA9PiBfX0RJUl9fIC4gJy8uLicgLiAnL2ZhY2Vib29rL2dyYXBoLXNkay9zcmMvRmFjZWJvb2svcG9seWZpbGxzLnBocCcsCiAgICApOwoKICAgIHB1YmxpYyBzdGF0aWMgJHByZWZpeExlbmd0aHNQc3I0ID0gYXJyYXkgKAogICAgICAgICdGJyA9PiAKICAgICAgICBhcnJheSAoCiAgICAgICAgICAgICdGYWNlYm9va1xcJyA9PiA5LAogICAgICAgICksCiAgICApOwoKICAgIHB1YmxpYyBzdGF0aWMgJHByZWZpeERpcnNQc3I0ID0gYXJyYXkgKAogICAgICAgICdGYWNlYm9va1xcJyA9PiAKICAgICAgICBhcnJheSAoCiAgICAgICAgICAgIDAgPT4gX19ESVJfXyAuICcvLi4nIC4gJy9mYWNlYm9vay9ncmFwaC1zZGsvc3JjL0ZhY2Vib29rJywKICAgICAgICApLAogICAgKTsKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEluaXRpYWxpemVyKENsYXNzTG9hZGVyICRsb2FkZXIpCiAgICB7CiAgICAgICAgcmV0dXJuIFxDbG9zdXJlOjpiaW5kKGZ1bmN0aW9uICgpIHVzZSAoJGxvYWRlcikgewogICAgICAgICAgICAkbG9hZGVyLT5wcmVmaXhMZW5ndGhzUHNyNCA9IENvbXBvc2VyU3RhdGljSW5pdDMxZGQxNmEyODAwOTU4OTA3OWMxODNhNGM4YTVhYWI1OjokcHJlZml4TGVuZ3Roc1BzcjQ7CiAgICAgICAgICAgICRsb2FkZXItPnByZWZpeERpcnNQc3I0ID0gQ29tcG9zZXJTdGF0aWNJbml0MzFkZDE2YTI4MDA5NTg5MDc5YzE4M2E0YzhhNWFhYjU6OiRwcmVmaXhEaXJzUHNyNDsKCiAgICAgICAgfSwgbnVsbCwgQ2xhc3NMb2FkZXI6OmNsYXNzKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/ClassLoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIENvbXBvc2VyLgogKgogKiAoYykgTmlscyBBZGVybWFubiA8bmFkZXJtYW5AbmFkZXJtYW4uZGU+CiAqICAgICBKb3JkaSBCb2dnaWFubyA8ai5ib2dnaWFub0BzZWxkLmJlPgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICovCgpuYW1lc3BhY2UgQ29tcG9zZXJcQXV0b2xvYWQ7CgovKioKICogQ2xhc3NMb2FkZXIgaW1wbGVtZW50cyBhIFBTUi0wLCBQU1ItNCBhbmQgY2xhc3NtYXAgY2xhc3MgbG9hZGVyLgogKgogKiAgICAgJGxvYWRlciA9IG5ldyBcQ29tcG9zZXJcQXV0b2xvYWRcQ2xhc3NMb2FkZXIoKTsKICoKICogICAgIC8vIHJlZ2lzdGVyIGNsYXNzZXMgd2l0aCBuYW1lc3BhY2VzCiAqICAgICAkbG9hZGVyLT5hZGQoJ1N5bWZvbnlcQ29tcG9uZW50JywgX19ESVJfXy4nL2NvbXBvbmVudCcpOwogKiAgICAgJGxvYWRlci0+YWRkKCdTeW1mb255JywgICAgICAgICAgIF9fRElSX18uJy9mcmFtZXdvcmsnKTsKICoKICogICAgIC8vIGFjdGl2YXRlIHRoZSBhdXRvbG9hZGVyCiAqICAgICAkbG9hZGVyLT5yZWdpc3RlcigpOwogKgogKiAgICAgLy8gdG8gZW5hYmxlIHNlYXJjaGluZyB0aGUgaW5jbHVkZSBwYXRoIChlZy4gZm9yIFBFQVIgcGFja2FnZXMpCiAqICAgICAkbG9hZGVyLT5zZXRVc2VJbmNsdWRlUGF0aCh0cnVlKTsKICoKICogSW4gdGhpcyBleGFtcGxlLCBpZiB5b3UgdHJ5IHRvIHVzZSBhIGNsYXNzIGluIHRoZSBTeW1mb255XENvbXBvbmVudAogKiBuYW1lc3BhY2Ugb3Igb25lIG9mIGl0cyBjaGlsZHJlbiAoU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZSBmb3IgaW5zdGFuY2UpLAogKiB0aGUgYXV0b2xvYWRlciB3aWxsIGZpcnN0IGxvb2sgZm9yIHRoZSBjbGFzcyB1bmRlciB0aGUgY29tcG9uZW50LwogKiBkaXJlY3RvcnksIGFuZCBpdCB3aWxsIHRoZW4gZmFsbGJhY2sgdG8gdGhlIGZyYW1ld29yay8gZGlyZWN0b3J5IGlmIG5vdAogKiBmb3VuZCBiZWZvcmUgZ2l2aW5nIHVwLgogKgogKiBUaGlzIGNsYXNzIGlzIGxvb3NlbHkgYmFzZWQgb24gdGhlIFN5bWZvbnkgVW5pdmVyc2FsQ2xhc3NMb2FkZXIuCiAqCiAqIEBhdXRob3IgRmFiaWVuIFBvdGVuY2llciA8ZmFiaWVuQHN5bWZvbnkuY29tPgogKiBAYXV0aG9yIEpvcmRpIEJvZ2dpYW5vIDxqLmJvZ2dpYW5vQHNlbGQuYmU+CiAqIEBzZWUgICAgaHR0cDovL3d3dy5waHAtZmlnLm9yZy9wc3IvcHNyLTAvCiAqIEBzZWUgICAgaHR0cDovL3d3dy5waHAtZmlnLm9yZy9wc3IvcHNyLTQvCiAqLwpjbGFzcyBDbGFzc0xvYWRlcgp7CiAgICAvLyBQU1ItNAogICAgcHJpdmF0ZSAkcHJlZml4TGVuZ3Roc1BzcjQgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkcHJlZml4RGlyc1BzcjQgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkZmFsbGJhY2tEaXJzUHNyNCA9IGFycmF5KCk7CgogICAgLy8gUFNSLTAKICAgIHByaXZhdGUgJHByZWZpeGVzUHNyMCA9IGFycmF5KCk7CiAgICBwcml2YXRlICRmYWxsYmFja0RpcnNQc3IwID0gYXJyYXkoKTsKCiAgICBwcml2YXRlICR1c2VJbmNsdWRlUGF0aCA9IGZhbHNlOwogICAgcHJpdmF0ZSAkY2xhc3NNYXAgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkY2xhc3NNYXBBdXRob3JpdGF0aXZlID0gZmFsc2U7CiAgICBwcml2YXRlICRtaXNzaW5nQ2xhc3NlcyA9IGFycmF5KCk7CiAgICBwcml2YXRlICRhcGN1UHJlZml4OwoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcmVmaXhlcygpCiAgICB7CiAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+cHJlZml4ZXNQc3IwKSkgewogICAgICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ2FycmF5X21lcmdlJywgJHRoaXMtPnByZWZpeGVzUHNyMCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJlZml4ZXNQc3I0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnByZWZpeERpcnNQc3I0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGYWxsYmFja0RpcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyMDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RmFsbGJhY2tEaXJzUHNyNCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mYWxsYmFja0RpcnNQc3I0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDbGFzc01hcCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jbGFzc01hcDsKICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkY2xhc3NNYXAgQ2xhc3MgdG8gZmlsZW5hbWUgbWFwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRDbGFzc01hcChhcnJheSAkY2xhc3NNYXApCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5jbGFzc01hcCkgewogICAgICAgICAgICAkdGhpcy0+Y2xhc3NNYXAgPSBhcnJheV9tZXJnZSgkdGhpcy0+Y2xhc3NNYXAsICRjbGFzc01hcCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmNsYXNzTWFwID0gJGNsYXNzTWFwOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyBhIHNldCBvZiBQU1ItMCBkaXJlY3RvcmllcyBmb3IgYSBnaXZlbiBwcmVmaXgsIGVpdGhlcgogICAgICogYXBwZW5kaW5nIG9yIHByZXBlbmRpbmcgdG8gdGhlIG9uZXMgcHJldmlvdXNseSBzZXQgZm9yIHRoaXMgcHJlZml4LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgJHByZWZpeCAgVGhlIHByZWZpeAogICAgICogQHBhcmFtIGFycmF5fHN0cmluZyAkcGF0aHMgICBUaGUgUFNSLTAgcm9vdCBkaXJlY3RvcmllcwogICAgICogQHBhcmFtIGJvb2wgICAgICAgICAkcHJlcGVuZCBXaGV0aGVyIHRvIHByZXBlbmQgdGhlIGRpcmVjdG9yaWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGQoJHByZWZpeCwgJHBhdGhzLCAkcHJlcGVuZCA9IGZhbHNlKQogICAgewogICAgICAgIGlmICghJHByZWZpeCkgewogICAgICAgICAgICBpZiAoJHByZXBlbmQpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mYWxsYmFja0RpcnNQc3IwID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgKGFycmF5KSAkcGF0aHMsCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjAKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyMCA9IGFycmF5X21lcmdlKAogICAgICAgICAgICAgICAgICAgICR0aGlzLT5mYWxsYmFja0RpcnNQc3IwLAogICAgICAgICAgICAgICAgICAgIChhcnJheSkgJHBhdGhzCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkZmlyc3QgPSAkcHJlZml4WzBdOwogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPnByZWZpeGVzUHNyMFskZmlyc3RdWyRwcmVmaXhdKSkgewogICAgICAgICAgICAkdGhpcy0+cHJlZml4ZXNQc3IwWyRmaXJzdF1bJHByZWZpeF0gPSAoYXJyYXkpICRwYXRoczsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKCRwcmVwZW5kKSB7CiAgICAgICAgICAgICR0aGlzLT5wcmVmaXhlc1BzcjBbJGZpcnN0XVskcHJlZml4XSA9IGFycmF5X21lcmdlKAogICAgICAgICAgICAgICAgKGFycmF5KSAkcGF0aHMsCiAgICAgICAgICAgICAgICAkdGhpcy0+cHJlZml4ZXNQc3IwWyRmaXJzdF1bJHByZWZpeF0KICAgICAgICAgICAgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+cHJlZml4ZXNQc3IwWyRmaXJzdF1bJHByZWZpeF0gPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgICAgICR0aGlzLT5wcmVmaXhlc1BzcjBbJGZpcnN0XVskcHJlZml4XSwKICAgICAgICAgICAgICAgIChhcnJheSkgJHBhdGhzCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIGEgc2V0IG9mIFBTUi00IGRpcmVjdG9yaWVzIGZvciBhIGdpdmVuIG5hbWVzcGFjZSwgZWl0aGVyCiAgICAgKiBhcHBlbmRpbmcgb3IgcHJlcGVuZGluZyB0byB0aGUgb25lcyBwcmV2aW91c2x5IHNldCBmb3IgdGhpcyBuYW1lc3BhY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAkcHJlZml4ICBUaGUgcHJlZml4L25hbWVzcGFjZSwgd2l0aCB0cmFpbGluZyAnXFwnCiAgICAgKiBAcGFyYW0gYXJyYXl8c3RyaW5nICRwYXRocyAgIFRoZSBQU1ItNCBiYXNlIGRpcmVjdG9yaWVzCiAgICAgKiBAcGFyYW0gYm9vbCAgICAgICAgICRwcmVwZW5kIFdoZXRoZXIgdG8gcHJlcGVuZCB0aGUgZGlyZWN0b3JpZXMKICAgICAqCiAgICAgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFBzcjQoJHByZWZpeCwgJHBhdGhzLCAkcHJlcGVuZCA9IGZhbHNlKQogICAgewogICAgICAgIGlmICghJHByZWZpeCkgewogICAgICAgICAgICAvLyBSZWdpc3RlciBkaXJlY3RvcmllcyBmb3IgdGhlIHJvb3QgbmFtZXNwYWNlLgogICAgICAgICAgICBpZiAoJHByZXBlbmQpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5mYWxsYmFja0RpcnNQc3I0ID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgKGFycmF5KSAkcGF0aHMsCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjQKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyNCA9IGFycmF5X21lcmdlKAogICAgICAgICAgICAgICAgICAgICR0aGlzLT5mYWxsYmFja0RpcnNQc3I0LAogICAgICAgICAgICAgICAgICAgIChhcnJheSkgJHBhdGhzCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlaWYgKCFpc3NldCgkdGhpcy0+cHJlZml4RGlyc1BzcjRbJHByZWZpeF0pKSB7CiAgICAgICAgICAgIC8vIFJlZ2lzdGVyIGRpcmVjdG9yaWVzIGZvciBhIG5ldyBuYW1lc3BhY2UuCiAgICAgICAgICAgICRsZW5ndGggPSBzdHJsZW4oJHByZWZpeCk7CiAgICAgICAgICAgIGlmICgnXFwnICE9PSAkcHJlZml4WyRsZW5ndGggLSAxXSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIkEgbm9uLWVtcHR5IFBTUi00IHByZWZpeCBtdXN0IGVuZCB3aXRoIGEgbmFtZXNwYWNlIHNlcGFyYXRvci4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+cHJlZml4TGVuZ3Roc1BzcjRbJHByZWZpeFswXV1bJHByZWZpeF0gPSAkbGVuZ3RoOwogICAgICAgICAgICAkdGhpcy0+cHJlZml4RGlyc1BzcjRbJHByZWZpeF0gPSAoYXJyYXkpICRwYXRoczsKICAgICAgICB9IGVsc2VpZiAoJHByZXBlbmQpIHsKICAgICAgICAgICAgLy8gUHJlcGVuZCBkaXJlY3RvcmllcyBmb3IgYW4gYWxyZWFkeSByZWdpc3RlcmVkIG5hbWVzcGFjZS4KICAgICAgICAgICAgJHRoaXMtPnByZWZpeERpcnNQc3I0WyRwcmVmaXhdID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAoYXJyYXkpICRwYXRocywKICAgICAgICAgICAgICAgICR0aGlzLT5wcmVmaXhEaXJzUHNyNFskcHJlZml4XQogICAgICAgICAgICApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIEFwcGVuZCBkaXJlY3RvcmllcyBmb3IgYW4gYWxyZWFkeSByZWdpc3RlcmVkIG5hbWVzcGFjZS4KICAgICAgICAgICAgJHRoaXMtPnByZWZpeERpcnNQc3I0WyRwcmVmaXhdID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICAgICAkdGhpcy0+cHJlZml4RGlyc1BzcjRbJHByZWZpeF0sCiAgICAgICAgICAgICAgICAoYXJyYXkpICRwYXRocwogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyBhIHNldCBvZiBQU1ItMCBkaXJlY3RvcmllcyBmb3IgYSBnaXZlbiBwcmVmaXgsCiAgICAgKiByZXBsYWNpbmcgYW55IG90aGVycyBwcmV2aW91c2x5IHNldCBmb3IgdGhpcyBwcmVmaXguCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAkcHJlZml4IFRoZSBwcmVmaXgKICAgICAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJHBhdGhzICBUaGUgUFNSLTAgYmFzZSBkaXJlY3RvcmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0KCRwcmVmaXgsICRwYXRocykKICAgIHsKICAgICAgICBpZiAoISRwcmVmaXgpIHsKICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjAgPSAoYXJyYXkpICRwYXRoczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+cHJlZml4ZXNQc3IwWyRwcmVmaXhbMF1dWyRwcmVmaXhdID0gKGFycmF5KSAkcGF0aHM7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIGEgc2V0IG9mIFBTUi00IGRpcmVjdG9yaWVzIGZvciBhIGdpdmVuIG5hbWVzcGFjZSwKICAgICAqIHJlcGxhY2luZyBhbnkgb3RoZXJzIHByZXZpb3VzbHkgc2V0IGZvciB0aGlzIG5hbWVzcGFjZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICRwcmVmaXggVGhlIHByZWZpeC9uYW1lc3BhY2UsIHdpdGggdHJhaWxpbmcgJ1xcJwogICAgICogQHBhcmFtIGFycmF5fHN0cmluZyAkcGF0aHMgIFRoZSBQU1ItNCBiYXNlIGRpcmVjdG9yaWVzCiAgICAgKgogICAgICogQHRocm93cyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQc3I0KCRwcmVmaXgsICRwYXRocykKICAgIHsKICAgICAgICBpZiAoISRwcmVmaXgpIHsKICAgICAgICAgICAgJHRoaXMtPmZhbGxiYWNrRGlyc1BzcjQgPSAoYXJyYXkpICRwYXRoczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkbGVuZ3RoID0gc3RybGVuKCRwcmVmaXgpOwogICAgICAgICAgICBpZiAoJ1xcJyAhPT0gJHByZWZpeFskbGVuZ3RoIC0gMV0pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJBIG5vbi1lbXB0eSBQU1ItNCBwcmVmaXggbXVzdCBlbmQgd2l0aCBhIG5hbWVzcGFjZSBzZXBhcmF0b3IuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPnByZWZpeExlbmd0aHNQc3I0WyRwcmVmaXhbMF1dWyRwcmVmaXhdID0gJGxlbmd0aDsKICAgICAgICAgICAgJHRoaXMtPnByZWZpeERpcnNQc3I0WyRwcmVmaXhdID0gKGFycmF5KSAkcGF0aHM7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVHVybnMgb24gc2VhcmNoaW5nIHRoZSBpbmNsdWRlIHBhdGggZm9yIGNsYXNzIGZpbGVzLgogICAgICoKICAgICAqIEBwYXJhbSBib29sICR1c2VJbmNsdWRlUGF0aAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VXNlSW5jbHVkZVBhdGgoJHVzZUluY2x1ZGVQYXRoKQogICAgewogICAgICAgICR0aGlzLT51c2VJbmNsdWRlUGF0aCA9ICR1c2VJbmNsdWRlUGF0aDsKICAgIH0KCiAgICAvKioKICAgICAqIENhbiBiZSB1c2VkIHRvIGNoZWNrIGlmIHRoZSBhdXRvbG9hZGVyIHVzZXMgdGhlIGluY2x1ZGUgcGF0aCB0byBjaGVjawogICAgICogZm9yIGNsYXNzZXMuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVc2VJbmNsdWRlUGF0aCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51c2VJbmNsdWRlUGF0aDsKICAgIH0KCiAgICAvKioKICAgICAqIFR1cm5zIG9mZiBzZWFyY2hpbmcgdGhlIHByZWZpeCBhbmQgZmFsbGJhY2sgZGlyZWN0b3JpZXMgZm9yIGNsYXNzZXMKICAgICAqIHRoYXQgaGF2ZSBub3QgYmVlbiByZWdpc3RlcmVkIHdpdGggdGhlIGNsYXNzIG1hcC4KICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkY2xhc3NNYXBBdXRob3JpdGF0aXZlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRDbGFzc01hcEF1dGhvcml0YXRpdmUoJGNsYXNzTWFwQXV0aG9yaXRhdGl2ZSkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xhc3NNYXBBdXRob3JpdGF0aXZlID0gJGNsYXNzTWFwQXV0aG9yaXRhdGl2ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNob3VsZCBjbGFzcyBsb29rdXAgZmFpbCBpZiBub3QgZm91bmQgaW4gdGhlIGN1cnJlbnQgY2xhc3MgbWFwPwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNDbGFzc01hcEF1dGhvcml0YXRpdmUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2xhc3NNYXBBdXRob3JpdGF0aXZlOwogICAgfQoKICAgIC8qKgogICAgICogQVBDdSBwcmVmaXggdG8gdXNlIHRvIGNhY2hlIGZvdW5kL25vdC1mb3VuZCBjbGFzc2VzLCBpZiB0aGUgZXh0ZW5zaW9uIGlzIGVuYWJsZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICRhcGN1UHJlZml4CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBcGN1UHJlZml4KCRhcGN1UHJlZml4KQogICAgewogICAgICAgICR0aGlzLT5hcGN1UHJlZml4ID0gZnVuY3Rpb25fZXhpc3RzKCdhcGN1X2ZldGNoJykgJiYgaW5pX2dldCgnYXBjLmVuYWJsZWQnKSA/ICRhcGN1UHJlZml4IDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFRoZSBBUEN1IHByZWZpeCBpbiB1c2UsIG9yIG51bGwgaWYgQVBDdSBjYWNoaW5nIGlzIG5vdCBlbmFibGVkLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwY3VQcmVmaXgoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YXBjdVByZWZpeDsKICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyB0aGlzIGluc3RhbmNlIGFzIGFuIGF1dG9sb2FkZXIuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHByZXBlbmQgV2hldGhlciB0byBwcmVwZW5kIHRoZSBhdXRvbG9hZGVyIG9yIG5vdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVnaXN0ZXIoJHByZXBlbmQgPSBmYWxzZSkKICAgIHsKICAgICAgICBzcGxfYXV0b2xvYWRfcmVnaXN0ZXIoYXJyYXkoJHRoaXMsICdsb2FkQ2xhc3MnKSwgdHJ1ZSwgJHByZXBlbmQpOwogICAgfQoKICAgIC8qKgogICAgICogVW5yZWdpc3RlcnMgdGhpcyBpbnN0YW5jZSBhcyBhbiBhdXRvbG9hZGVyLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5yZWdpc3RlcigpCiAgICB7CiAgICAgICAgc3BsX2F1dG9sb2FkX3VucmVnaXN0ZXIoYXJyYXkoJHRoaXMsICdsb2FkQ2xhc3MnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2FkcyB0aGUgZ2l2ZW4gY2xhc3Mgb3IgaW50ZXJmYWNlLgogICAgICoKICAgICAqIEBwYXJhbSAgc3RyaW5nICAgICRjbGFzcyBUaGUgbmFtZSBvZiB0aGUgY2xhc3MKICAgICAqIEByZXR1cm4gYm9vbHxudWxsIFRydWUgaWYgbG9hZGVkLCBudWxsIG90aGVyd2lzZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9hZENsYXNzKCRjbGFzcykKICAgIHsKICAgICAgICBpZiAoJGZpbGUgPSAkdGhpcy0+ZmluZEZpbGUoJGNsYXNzKSkgewogICAgICAgICAgICBpbmNsdWRlRmlsZSgkZmlsZSk7CgogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB0aGUgcGF0aCB0byB0aGUgZmlsZSB3aGVyZSB0aGUgY2xhc3MgaXMgZGVmaW5lZC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGFzcyBUaGUgbmFtZSBvZiB0aGUgY2xhc3MKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xmYWxzZSBUaGUgcGF0aCBpZiBmb3VuZCwgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmaW5kRmlsZSgkY2xhc3MpCiAgICB7CiAgICAgICAgLy8gY2xhc3MgbWFwIGxvb2t1cAogICAgICAgIGlmIChpc3NldCgkdGhpcy0+Y2xhc3NNYXBbJGNsYXNzXSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5jbGFzc01hcFskY2xhc3NdOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPmNsYXNzTWFwQXV0aG9yaXRhdGl2ZSB8fCBpc3NldCgkdGhpcy0+bWlzc2luZ0NsYXNzZXNbJGNsYXNzXSkpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAobnVsbCAhPT0gJHRoaXMtPmFwY3VQcmVmaXgpIHsKICAgICAgICAgICAgJGZpbGUgPSBhcGN1X2ZldGNoKCR0aGlzLT5hcGN1UHJlZml4LiRjbGFzcywgJGhpdCk7CiAgICAgICAgICAgIGlmICgkaGl0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJGZpbGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRmaWxlID0gJHRoaXMtPmZpbmRGaWxlV2l0aEV4dGVuc2lvbigkY2xhc3MsICcucGhwJyk7CgogICAgICAgIC8vIFNlYXJjaCBmb3IgSGFjayBmaWxlcyBpZiB3ZSBhcmUgcnVubmluZyBvbiBISFZNCiAgICAgICAgaWYgKGZhbHNlID09PSAkZmlsZSAmJiBkZWZpbmVkKCdISFZNX1ZFUlNJT04nKSkgewogICAgICAgICAgICAkZmlsZSA9ICR0aGlzLT5maW5kRmlsZVdpdGhFeHRlbnNpb24oJGNsYXNzLCAnLmhoJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAobnVsbCAhPT0gJHRoaXMtPmFwY3VQcmVmaXgpIHsKICAgICAgICAgICAgYXBjdV9hZGQoJHRoaXMtPmFwY3VQcmVmaXguJGNsYXNzLCAkZmlsZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoZmFsc2UgPT09ICRmaWxlKSB7CiAgICAgICAgICAgIC8vIFJlbWVtYmVyIHRoYXQgdGhpcyBjbGFzcyBkb2VzIG5vdCBleGlzdC4KICAgICAgICAgICAgJHRoaXMtPm1pc3NpbmdDbGFzc2VzWyRjbGFzc10gPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRmaWxlOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZmluZEZpbGVXaXRoRXh0ZW5zaW9uKCRjbGFzcywgJGV4dCkKICAgIHsKICAgICAgICAvLyBQU1ItNCBsb29rdXAKICAgICAgICAkbG9naWNhbFBhdGhQc3I0ID0gc3RydHIoJGNsYXNzLCAnXFwnLCBESVJFQ1RPUllfU0VQQVJBVE9SKSAuICRleHQ7CgogICAgICAgICRmaXJzdCA9ICRjbGFzc1swXTsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPnByZWZpeExlbmd0aHNQc3I0WyRmaXJzdF0pKSB7CiAgICAgICAgICAgICRzdWJQYXRoID0gJGNsYXNzOwogICAgICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICRsYXN0UG9zID0gc3RycnBvcygkc3ViUGF0aCwgJ1xcJykpIHsKICAgICAgICAgICAgICAgICRzdWJQYXRoID0gc3Vic3RyKCRzdWJQYXRoLCAwLCAkbGFzdFBvcyk7CiAgICAgICAgICAgICAgICAkc2VhcmNoID0gJHN1YlBhdGguJ1xcJzsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkdGhpcy0+cHJlZml4RGlyc1BzcjRbJHNlYXJjaF0pKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnByZWZpeERpcnNQc3I0WyRzZWFyY2hdIGFzICRkaXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGxlbmd0aCA9ICR0aGlzLT5wcmVmaXhMZW5ndGhzUHNyNFskZmlyc3RdWyRzZWFyY2hdOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUgPSAkZGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHN1YnN0cigkbG9naWNhbFBhdGhQc3I0LCAkbGVuZ3RoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUFNSLTQgZmFsbGJhY2sgZGlycwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5mYWxsYmFja0RpcnNQc3I0IGFzICRkaXIpIHsKICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRmaWxlID0gJGRpciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkbG9naWNhbFBhdGhQc3I0KSkgewogICAgICAgICAgICAgICAgcmV0dXJuICRmaWxlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBQU1ItMCBsb29rdXAKICAgICAgICBpZiAoZmFsc2UgIT09ICRwb3MgPSBzdHJycG9zKCRjbGFzcywgJ1xcJykpIHsKICAgICAgICAgICAgLy8gbmFtZXNwYWNlZCBjbGFzcyBuYW1lCiAgICAgICAgICAgICRsb2dpY2FsUGF0aFBzcjAgPSBzdWJzdHIoJGxvZ2ljYWxQYXRoUHNyNCwgMCwgJHBvcyArIDEpCiAgICAgICAgICAgICAgICAuIHN0cnRyKHN1YnN0cigkbG9naWNhbFBhdGhQc3I0LCAkcG9zICsgMSksICdfJywgRElSRUNUT1JZX1NFUEFSQVRPUik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gUEVBUi1saWtlIGNsYXNzIG5hbWUKICAgICAgICAgICAgJGxvZ2ljYWxQYXRoUHNyMCA9IHN0cnRyKCRjbGFzcywgJ18nLCBESVJFQ1RPUllfU0VQQVJBVE9SKSAuICRleHQ7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPnByZWZpeGVzUHNyMFskZmlyc3RdKSkgewogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+cHJlZml4ZXNQc3IwWyRmaXJzdF0gYXMgJHByZWZpeCA9PiAkZGlycykgewogICAgICAgICAgICAgICAgaWYgKDAgPT09IHN0cnBvcygkY2xhc3MsICRwcmVmaXgpKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGRpcnMgYXMgJGRpcikgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUgPSAkZGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRsb2dpY2FsUGF0aFBzcjApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFBTUi0wIGZhbGxiYWNrIGRpcnMKICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZmFsbGJhY2tEaXJzUHNyMCBhcyAkZGlyKSB7CiAgICAgICAgICAgIGlmIChmaWxlX2V4aXN0cygkZmlsZSA9ICRkaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGxvZ2ljYWxQYXRoUHNyMCkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gUFNSLTAgaW5jbHVkZSBwYXRocy4KICAgICAgICBpZiAoJHRoaXMtPnVzZUluY2x1ZGVQYXRoICYmICRmaWxlID0gc3RyZWFtX3Jlc29sdmVfaW5jbHVkZV9wYXRoKCRsb2dpY2FsUGF0aFBzcjApKSB7CiAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQoKLyoqCiAqIFNjb3BlIGlzb2xhdGVkIGluY2x1ZGUuCiAqCiAqIFByZXZlbnRzIGFjY2VzcyB0byAkdGhpcy9zZWxmIGZyb20gaW5jbHVkZWQgZmlsZXMuCiAqLwpmdW5jdGlvbiBpbmNsdWRlRmlsZSgkZmlsZSkKewogICAgaW5jbHVkZSAkZmlsZTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/installed.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[WwogICAgewogICAgICAgICJuYW1lIjogImZhY2Vib29rL2dyYXBoLXNkayIsCiAgICAgICAgInZlcnNpb24iOiAiNS42LjEiLAogICAgICAgICJ2ZXJzaW9uX25vcm1hbGl6ZWQiOiAiNS42LjEuMCIsCiAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcGhwLWdyYXBoLXNkay5naXQiLAogICAgICAgICAgICAicmVmZXJlbmNlIjogIjJmOTYzOWMxNWFlMDQzOTExZjQwZmZlNDQwODBiMzJiYWMyYzUyODAiCiAgICAgICAgfSwKICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2ZhY2Vib29rL3BocC1ncmFwaC1zZGsvemlwYmFsbC8yZjk2MzljMTVhZTA0MzkxMWY0MGZmZTQ0MDgwYjMyYmFjMmM1MjgwIiwKICAgICAgICAgICAgInJlZmVyZW5jZSI6ICIyZjk2MzljMTVhZTA0MzkxMWY0MGZmZTQ0MDgwYjMyYmFjMmM1MjgwIiwKICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgfSwKICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgInBocCI6ICJeNS40fF43LjAiCiAgICAgICAgfSwKICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICJndXp6bGVodHRwL2d1enpsZSI6ICJ+NS4wIiwKICAgICAgICAgICAgIm1vY2tlcnkvbW9ja2VyeSI6ICJ+MC44IiwKICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICJ+NC4wIgogICAgICAgIH0sCiAgICAgICAgInN1Z2dlc3QiOiB7CiAgICAgICAgICAgICJndXp6bGVodHRwL2d1enpsZSI6ICJBbGxvd3MgZm9yIGltcGxlbWVudGF0aW9uIG9mIHRoZSBHdXp6bGUgSFRUUCBjbGllbnQiLAogICAgICAgICAgICAicGFyYWdvbmllL3JhbmRvbV9jb21wYXQiOiAiUHJvdmlkZXMgYSBiZXR0ZXIgQ1NQUk5HIG9wdGlvbiBpbiBQSFAgNSIKICAgICAgICB9LAogICAgICAgICJ0aW1lIjogIjIwMTctMDgtMTZUMTc6Mjg6MDcrMDA6MDAiLAogICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjUueC1kZXYiCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJpbnN0YWxsYXRpb24tc291cmNlIjogImRpc3QiLAogICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgInBzci00IjogewogICAgICAgICAgICAgICAgIkZhY2Vib29rXFwiOiAic3JjL0ZhY2Vib29rLyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgICAgInNyYy9GYWNlYm9vay9wb2x5ZmlsbHMucGhwIgogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3BhY2thZ2lzdC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICJGYWNlYm9vayBQbGF0Zm9ybSIKICAgICAgICBdLAogICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAibmFtZSI6ICJGYWNlYm9vayIsCiAgICAgICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3BocC1ncmFwaC1zZGsvY29udHJpYnV0b3JzIgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmFjZWJvb2sgU0RLIGZvciBQSFAiLAogICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcGhwLWdyYXBoLXNkayIsCiAgICAgICAgImtleXdvcmRzIjogWwogICAgICAgICAgICAiZmFjZWJvb2siLAogICAgICAgICAgICAic2RrIgogICAgICAgIF0KICAgIH0KXQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/composer/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CkNvcHlyaWdodCAoYykgTmlscyBBZGVybWFubiwgSm9yZGkgQm9nZ2lhbm8KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQKdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgpUSEUgU09GVFdBUkUuCgo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/composer.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICAgIm5hbWUiOiAiZmFjZWJvb2svZ3JhcGgtc2RrIiwKICAgICJkZXNjcmlwdGlvbiI6ICJGYWNlYm9vayBTREsgZm9yIFBIUCIsCiAgICAia2V5d29yZHMiOiBbImZhY2Vib29rIiwgInNkayJdLAogICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3BocC1ncmFwaC1zZGsiLAogICAgImxpY2Vuc2UiOiAiRmFjZWJvb2sgUGxhdGZvcm0iLAogICAgImF1dGhvcnMiOiBbCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJGYWNlYm9vayIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcGhwLWdyYXBoLXNkay9jb250cmlidXRvcnMiCiAgICAgICAgfQogICAgXSwKICAgICJyZXF1aXJlIjogewogICAgICAgICJwaHAiOiAiXjUuNHxeNy4wIgogICAgfSwKICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIn40LjAiLAogICAgICAgICJtb2NrZXJ5L21vY2tlcnkiOiAifjAuOCIsCiAgICAgICAgImd1enpsZWh0dHAvZ3V6emxlIjogIn41LjAiCiAgICB9LAogICAgInN1Z2dlc3QiOiB7CiAgICAgICAgInBhcmFnb25pZS9yYW5kb21fY29tcGF0IjogIlByb3ZpZGVzIGEgYmV0dGVyIENTUFJORyBvcHRpb24gaW4gUEhQIDUiLAogICAgICAgICJndXp6bGVodHRwL2d1enpsZSI6ICJBbGxvd3MgZm9yIGltcGxlbWVudGF0aW9uIG9mIHRoZSBHdXp6bGUgSFRUUCBjbGllbnQiCiAgICB9LAogICAgImF1dG9sb2FkIjogewogICAgICAgICJwc3ItNCI6IHsKICAgICAgICAgICAgIkZhY2Vib29rXFwiOiAic3JjL0ZhY2Vib29rLyIKICAgICAgICB9LAogICAgICAgICJmaWxlcyI6IFsic3JjL0ZhY2Vib29rL3BvbHlmaWxscy5waHAiXQogICAgfSwKICAgICJhdXRvbG9hZC1kZXYiOiB7CiAgICAgICAgInBzci00IjogewogICAgICAgICAgICAiRmFjZWJvb2tcXFRlc3RzXFwiOiAidGVzdHMvIgogICAgICAgIH0KICAgIH0sCiAgICAiZXh0cmEiOiB7CiAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiNS54LWRldiIKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29weXJpZ2h0IDIwMTcgRmFjZWJvb2ssIEluYy4KCllvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCnVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQpmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKRmFjZWJvb2suCgpBcyB3aXRoIGFueSBzb2Z0d2FyZSB0aGF0IGludGVncmF0ZXMgd2l0aCB0aGUgRmFjZWJvb2sgcGxhdGZvcm0sIHlvdXIgdXNlCm9mIHRoaXMgc29mdHdhcmUgaXMgc3ViamVjdCB0byB0aGUgRmFjZWJvb2sgRGV2ZWxvcGVyIFByaW5jaXBsZXMgYW5kClBvbGljaWVzIFtodHRwOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vcG9saWN5L10uIFRoaXMgY29weXJpZ2h0IG5vdGljZQpzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBzb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLApGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTApUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgpMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwpGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCkRFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/phpcs.xml.dist</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxydWxlc2V0PgogICAgPGZpbGU+c3JjLzwvZmlsZT4KICAgIDxmaWxlPnRlc3RzLzwvZmlsZT4KICAgIDxhcmcgdmFsdWU9InNwbiIgLz4KICAgIDxydWxlIHJlZj0iUFNSMiIgLz4KPC9ydWxlc2V0Pgo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Authentication/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Authentication/AccessToken.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb247CgovKioKICogQ2xhc3MgQWNjZXNzVG9rZW4KICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEFjY2Vzc1Rva2VuCnsKICAgIC8qKgogICAgICogVGhlIGFjY2VzcyB0b2tlbiB2YWx1ZS4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJHZhbHVlID0gJyc7CgogICAgLyoqCiAgICAgKiBEYXRlIHdoZW4gdG9rZW4gZXhwaXJlcy4KICAgICAqCiAgICAgKiBAdmFyIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZXhwaXJlc0F0OwoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IGFjY2VzcyB0b2tlbiBlbnRpdHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYWNjZXNzVG9rZW4KICAgICAqIEBwYXJhbSBpbnQgICAgJGV4cGlyZXNBdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGFjY2Vzc1Rva2VuLCAkZXhwaXJlc0F0ID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsdWUgPSAkYWNjZXNzVG9rZW47CiAgICAgICAgaWYgKCRleHBpcmVzQXQpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEV4cGlyZXNBdEZyb21UaW1lU3RhbXAoJGV4cGlyZXNBdCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGUgYW4gYXBwIHNlY3JldCBwcm9vZiB0byBzaWduIGEgcmVxdWVzdCB0byBHcmFwaC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhcHBTZWNyZXQgVGhlIGFwcCBzZWNyZXQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcFNlY3JldFByb29mKCRhcHBTZWNyZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGhhc2hfaG1hYygnc2hhMjU2JywgJHRoaXMtPnZhbHVlLCAkYXBwU2VjcmV0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHRlciBmb3IgZXhwaXJlc0F0LgogICAgICoKICAgICAqIEByZXR1cm4gXERhdGVUaW1lfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEV4cGlyZXNBdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5leHBpcmVzQXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgYW4gYXBwIGFjY2VzcyB0b2tlbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzQXBwQWNjZXNzVG9rZW4oKQogICAgewogICAgICAgIHJldHVybiBzdHJwb3MoJHRoaXMtPnZhbHVlLCAnfCcpICE9PSBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVybWluZXMgd2hldGhlciBvciBub3QgdGhpcyBpcyBhIGxvbmctbGl2ZWQgdG9rZW4uCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0xvbmdMaXZlZCgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5leHBpcmVzQXQpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5leHBpcmVzQXQtPmdldFRpbWVzdGFtcCgpID4gdGltZSgpICsgKDYwICogNjAgKiAyKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+aXNBcHBBY2Nlc3NUb2tlbigpKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIHRoZSBleHBpcmF0aW9uIG9mIHRoZSBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFufG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzRXhwaXJlZCgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5nZXRFeHBpcmVzQXQoKSBpbnN0YW5jZW9mIFxEYXRlVGltZSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdldEV4cGlyZXNBdCgpLT5nZXRUaW1lc3RhbXAoKSA8IHRpbWUoKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+aXNBcHBBY2Nlc3NUb2tlbigpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYWNjZXNzIHRva2VuIGFzIGEgc3RyaW5nLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWYWx1ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT52YWx1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGFjY2VzcyB0b2tlbiBhcyBhIHN0cmluZy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRWYWx1ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0dGVyIGZvciBleHBpcmVzX2F0LgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJHRpbWVTdGFtcAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0RXhwaXJlc0F0RnJvbVRpbWVTdGFtcCgkdGltZVN0YW1wKQogICAgewogICAgICAgICRkdCA9IG5ldyBcRGF0ZVRpbWUoKTsKICAgICAgICAkZHQtPnNldFRpbWVzdGFtcCgkdGltZVN0YW1wKTsKICAgICAgICAkdGhpcy0+ZXhwaXJlc0F0ID0gJGR0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Authentication/AccessTokenMetadata.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb247Cgp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBBY2Nlc3NUb2tlbk1ldGFkYXRhCiAqCiAqIFJlcHJlc2VudHMgbWV0YWRhdGEgZnJvbSBhbiBhY2Nlc3MgdG9rZW4uCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqIEBzZWUgICAgIGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9ncmFwaC1hcGkvcmVmZXJlbmNlL2RlYnVnX3Rva2VuCiAqLwpjbGFzcyBBY2Nlc3NUb2tlbk1ldGFkYXRhCnsKICAgIC8qKgogICAgICogVGhlIGFjY2VzcyB0b2tlbiBtZXRhZGF0YS4KICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkbWV0YWRhdGEgPSBbXTsKCiAgICAvKioKICAgICAqIFByb3BlcnRpZXMgdGhhdCBzaG91bGQgYmUgY2FzdCBhcyBEYXRlVGltZSBvYmplY3RzLgogICAgICoKICAgICAqIEB2YXIgYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkZGF0ZVByb3BlcnRpZXMgPSBbJ2V4cGlyZXNfYXQnLCAnaXNzdWVkX2F0J107CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXkgJG1ldGFkYXRhCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJG1ldGFkYXRhKQogICAgewogICAgICAgIGlmICghaXNzZXQoJG1ldGFkYXRhWydkYXRhJ10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignVW5leHBlY3RlZCBkZWJ1ZyB0b2tlbiByZXNwb25zZSBkYXRhLicsIDQwMSk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+bWV0YWRhdGEgPSAkbWV0YWRhdGFbJ2RhdGEnXTsKCiAgICAgICAgJHRoaXMtPmNhc3RUaW1lc3RhbXBzVG9EYXRlVGltZSgpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHZhbHVlIGZyb20gdGhlIG1ldGFkYXRhLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpZWxkICAgVGhlIHByb3BlcnR5IHRvIHJldHJpZXZlLgogICAgICogQHBhcmFtIG1peGVkICAkZGVmYXVsdCBUaGUgZGVmYXVsdCB0byByZXR1cm4gaWYgdGhlIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QuCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RmllbGQoJGZpZWxkLCAkZGVmYXVsdCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5tZXRhZGF0YVskZmllbGRdKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1ldGFkYXRhWyRmaWVsZF07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRlZmF1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgdmFsdWUgZnJvbSB0aGUgbWV0YWRhdGEuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZmllbGQgICBUaGUgcHJvcGVydHkgdG8gcmV0cmlldmUuCiAgICAgKiBAcGFyYW0gbWl4ZWQgICRkZWZhdWx0IFRoZSBkZWZhdWx0IHRvIHJldHVybiBpZiB0aGUgcHJvcGVydHkgZG9lc24ndCBleGlzdC4KICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKgogICAgICogQGRlcHJlY2F0ZWQgNS4wLjAgZ2V0UHJvcGVydHkoKSBoYXMgYmVlbiByZW5hbWVkIHRvIGdldEZpZWxkKCkKICAgICAqIEB0b2RvIHY2OiBSZW1vdmUgdGhpcyBtZXRob2QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFByb3BlcnR5KCRmaWVsZCwgJGRlZmF1bHQgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJGZpZWxkLCAkZGVmYXVsdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgdmFsdWUgZnJvbSBhIGNoaWxkIHByb3BlcnR5IGluIHRoZSBtZXRhZGF0YS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXJlbnRGaWVsZCBUaGUgcGFyZW50IHByb3BlcnR5LgogICAgICogQHBhcmFtIHN0cmluZyAkZmllbGQgICAgICAgVGhlIHByb3BlcnR5IHRvIHJldHJpZXZlLgogICAgICogQHBhcmFtIG1peGVkICAkZGVmYXVsdCAgICAgVGhlIGRlZmF1bHQgdG8gcmV0dXJuIGlmIHRoZSBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0LgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENoaWxkUHJvcGVydHkoJHBhcmVudEZpZWxkLCAkZmllbGQsICRkZWZhdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5tZXRhZGF0YVskcGFyZW50RmllbGRdKSkgewogICAgICAgICAgICByZXR1cm4gJGRlZmF1bHQ7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5tZXRhZGF0YVskcGFyZW50RmllbGRdWyRmaWVsZF0pKSB7CiAgICAgICAgICAgIHJldHVybiAkZGVmYXVsdDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+bWV0YWRhdGFbJHBhcmVudEZpZWxkXVskZmllbGRdOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHZhbHVlIGZyb20gdGhlIGVycm9yIG1ldGFkYXRhLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpZWxkICAgVGhlIHByb3BlcnR5IHRvIHJldHJpZXZlLgogICAgICogQHBhcmFtIG1peGVkICAkZGVmYXVsdCBUaGUgZGVmYXVsdCB0byByZXR1cm4gaWYgdGhlIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QuCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JQcm9wZXJ0eSgkZmllbGQsICRkZWZhdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldENoaWxkUHJvcGVydHkoJ2Vycm9yJywgJGZpZWxkLCAkZGVmYXVsdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgdmFsdWUgZnJvbSB0aGUgIm1ldGFkYXRhIiBtZXRhZGF0YS4gKkJyYWluIGV4cGxvZGVzKgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpZWxkICAgVGhlIHByb3BlcnR5IHRvIHJldHJpZXZlLgogICAgICogQHBhcmFtIG1peGVkICAkZGVmYXVsdCBUaGUgZGVmYXVsdCB0byByZXR1cm4gaWYgdGhlIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QuCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWV0YWRhdGFQcm9wZXJ0eSgkZmllbGQsICRkZWZhdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldENoaWxkUHJvcGVydHkoJ21ldGFkYXRhJywgJGZpZWxkLCAkZGVmYXVsdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgYWNjZXNzIHRva2VuIGlzIGZvci4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBcHBJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnYXBwX2lkJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBOYW1lIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGlzIGFjY2VzcyB0b2tlbiBpcyBmb3IuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXBwbGljYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2FwcGxpY2F0aW9uJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBbnkgZXJyb3IgdGhhdCBhIHJlcXVlc3QgdG8gdGhlIGdyYXBoIGFwaQogICAgICogd291bGQgcmV0dXJuIGR1ZSB0byB0aGUgYWNjZXNzIHRva2VuLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0Vycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdlcnJvcicpICE9PSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGVycm9yIGNvZGUgZm9yIHRoZSBlcnJvci4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvckNvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RXJyb3JQcm9wZXJ0eSgnY29kZScpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBlcnJvci4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvck1lc3NhZ2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RXJyb3JQcm9wZXJ0eSgnbWVzc2FnZScpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGVycm9yIHN1YmNvZGUgZm9yIHRoZSBlcnJvci4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvclN1YmNvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RXJyb3JQcm9wZXJ0eSgnc3ViY29kZScpOwogICAgfQoKICAgIC8qKgogICAgICogRGF0ZVRpbWUgd2hlbiB0aGlzIGFjY2VzcyB0b2tlbiBleHBpcmVzLgogICAgICoKICAgICAqIEByZXR1cm4gXERhdGVUaW1lfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEV4cGlyZXNBdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZXhwaXJlc19hdCcpOwogICAgfQoKICAgIC8qKgogICAgICogV2hldGhlciB0aGUgYWNjZXNzIHRva2VuIGlzIHN0aWxsIHZhbGlkIG9yIG5vdC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW58bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXNWYWxpZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnaXNfdmFsaWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIERhdGVUaW1lIHdoZW4gdGhpcyBhY2Nlc3MgdG9rZW4gd2FzIGlzc3VlZC4KICAgICAqCiAgICAgKiBOb3RlIHRoYXQgdGhlIGlzc3VlZF9hdCBmaWVsZCBpcyBub3QgcmV0dXJuZWQKICAgICAqIGZvciBzaG9ydC1saXZlZCBhY2Nlc3MgdG9rZW5zLgogICAgICoKICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2ZhY2Vib29rLWxvZ2luL2FjY2Vzcy10b2tlbnMjZGVidWcKICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJc3N1ZWRBdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnaXNzdWVkX2F0Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmFsIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWNjZXNzIHRva2VuLgogICAgICogQ2FuIGNvbnRhaW4gZGF0YSBsaWtlICdzc28nLCAnYXV0aF90eXBlJywgJ2F1dGhfbm9uY2UnLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWV0YWRhdGEoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ21ldGFkYXRhJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgJ3NzbycgY2hpbGQgcHJvcGVydHkgZnJvbSB0aGUgJ21ldGFkYXRhJyBwYXJlbnQgcHJvcGVydHkuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3NvKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1ldGFkYXRhUHJvcGVydHkoJ3NzbycpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlICdhdXRoX3R5cGUnIGNoaWxkIHByb3BlcnR5IGZyb20gdGhlICdtZXRhZGF0YScgcGFyZW50IHByb3BlcnR5LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEF1dGhUeXBlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldE1ldGFkYXRhUHJvcGVydHkoJ2F1dGhfdHlwZScpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlICdhdXRoX25vbmNlJyBjaGlsZCBwcm9wZXJ0eSBmcm9tIHRoZSAnbWV0YWRhdGEnIHBhcmVudCBwcm9wZXJ0eS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBdXRoTm9uY2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0TWV0YWRhdGFQcm9wZXJ0eSgnYXV0aF9ub25jZScpOwogICAgfQoKICAgIC8qKgogICAgICogRm9yIGltcGVyc29uYXRlZCBhY2Nlc3MgdG9rZW5zLCB0aGUgSUQgb2YKICAgICAqIHRoZSBwYWdlIHRoaXMgdG9rZW4gY29udGFpbnMuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvZmlsZUlkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdwcm9maWxlX2lkJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMaXN0IG9mIHBlcm1pc3Npb25zIHRoYXQgdGhlIHVzZXIgaGFzIGdyYW50ZWQgZm9yCiAgICAgKiB0aGUgYXBwIGluIHRoaXMgYWNjZXNzIHRva2VuLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNjb3BlcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnc2NvcGVzJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgSUQgb2YgdGhlIHVzZXIgdGhpcyBhY2Nlc3MgdG9rZW4gaXMgZm9yLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVzZXJJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndXNlcl9pZCcpOwogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGUgYXBwIElEIGZyb20gdGhlIGFjY2VzcyB0b2tlbgogICAgICogbWV0YWRhdGEgaXMgd2hhdCB3ZSBleHBlY3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYXBwSWQKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZUFwcElkKCRhcHBJZCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPmdldEFwcElkKCkgIT09ICRhcHBJZCkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ0FjY2VzcyB0b2tlbiBtZXRhZGF0YSBjb250YWlucyB1bmV4cGVjdGVkIGFwcCBJRC4nLCA0MDEpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEVuc3VyZXMgdGhlIHVzZXIgSUQgZnJvbSB0aGUgYWNjZXNzIHRva2VuCiAgICAgKiBtZXRhZGF0YSBpcyB3aGF0IHdlIGV4cGVjdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VySWQKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZVVzZXJJZCgkdXNlcklkKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Z2V0VXNlcklkKCkgIT09ICR1c2VySWQpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdBY2Nlc3MgdG9rZW4gbWV0YWRhdGEgY29udGFpbnMgdW5leHBlY3RlZCB1c2VyIElELicsIDQwMSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlcyB0aGUgYWNjZXNzIHRva2VuIGhhcyBub3QgZXhwaXJlZCB5ZXQuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGVFeHBpcmF0aW9uKCkKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5nZXRFeHBpcmVzQXQoKSBpbnN0YW5jZW9mIFxEYXRlVGltZSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmdldEV4cGlyZXNBdCgpLT5nZXRUaW1lc3RhbXAoKSA8IHRpbWUoKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ0luc3BlY3Rpb24gb2YgYWNjZXNzIHRva2VuIG1ldGFkYXRhIHNob3dzIHRoYXQgdGhlIGFjY2VzcyB0b2tlbiBoYXMgZXhwaXJlZC4nLCA0MDEpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIGEgdW5peCB0aW1lc3RhbXAgaW50byBhIERhdGVUaW1lIGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICR0aW1lc3RhbXAKICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZQogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGNvbnZlcnRUaW1lc3RhbXBUb0RhdGVUaW1lKCR0aW1lc3RhbXApCiAgICB7CiAgICAgICAgJGR0ID0gbmV3IFxEYXRlVGltZSgpOwogICAgICAgICRkdC0+c2V0VGltZXN0YW1wKCR0aW1lc3RhbXApOwoKICAgICAgICByZXR1cm4gJGR0OwogICAgfQoKICAgIC8qKgogICAgICogQ2FzdHMgdGhlIHVuaXggdGltZXN0YW1wcyBhcyBEYXRlVGltZSBlbnRpdGllcy4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBjYXN0VGltZXN0YW1wc1RvRGF0ZVRpbWUoKQogICAgewogICAgICAgIGZvcmVhY2ggKHN0YXRpYzo6JGRhdGVQcm9wZXJ0aWVzIGFzICRrZXkpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5tZXRhZGF0YVska2V5XSkgJiYgJHRoaXMtPm1ldGFkYXRhWyRrZXldICE9PSAwKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+bWV0YWRhdGFbJGtleV0gPSAkdGhpcy0+Y29udmVydFRpbWVzdGFtcFRvRGF0ZVRpbWUoJHRoaXMtPm1ldGFkYXRhWyRrZXldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Authentication/OAuth2Client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb247Cgp1c2UgRmFjZWJvb2tcRmFjZWJvb2s7CnVzZSBGYWNlYm9va1xGYWNlYm9va0FwcDsKdXNlIEZhY2Vib29rXEZhY2Vib29rUmVxdWVzdDsKdXNlIEZhY2Vib29rXEZhY2Vib29rUmVzcG9uc2U7CnVzZSBGYWNlYm9va1xGYWNlYm9va0NsaWVudDsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgovKioKICogQ2xhc3MgT0F1dGgyQ2xpZW50CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBPQXV0aDJDbGllbnQKewogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIFRoZSBiYXNlIGF1dGhvcml6YXRpb24gVVJMLgogICAgICovCiAgICBjb25zdCBCQVNFX0FVVEhPUklaQVRJT05fVVJMID0gJ2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbSc7CgogICAgLyoqCiAgICAgKiBUaGUgRmFjZWJvb2tBcHAgZW50aXR5LgogICAgICoKICAgICAqIEB2YXIgRmFjZWJvb2tBcHAKICAgICAqLwogICAgcHJvdGVjdGVkICRhcHA7CgogICAgLyoqCiAgICAgKiBUaGUgRmFjZWJvb2sgY2xpZW50LgogICAgICoKICAgICAqIEB2YXIgRmFjZWJvb2tDbGllbnQKICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgR3JhcGggQVBJIHRvIHVzZS4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJGdyYXBoVmVyc2lvbjsKCiAgICAvKioKICAgICAqIFRoZSBsYXN0IHJlcXVlc3Qgc2VudCB0byBHcmFwaC4KICAgICAqCiAgICAgKiBAdmFyIEZhY2Vib29rUmVxdWVzdHxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbGFzdFJlcXVlc3Q7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tBcHAgICAgJGFwcAogICAgICogQHBhcmFtIEZhY2Vib29rQ2xpZW50ICRjbGllbnQKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAkZ3JhcGhWZXJzaW9uIFRoZSB2ZXJzaW9uIG9mIHRoZSBHcmFwaCBBUEkgdG8gdXNlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRmFjZWJvb2tBcHAgJGFwcCwgRmFjZWJvb2tDbGllbnQgJGNsaWVudCwgJGdyYXBoVmVyc2lvbiA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmFwcCA9ICRhcHA7CiAgICAgICAgJHRoaXMtPmNsaWVudCA9ICRjbGllbnQ7CiAgICAgICAgJHRoaXMtPmdyYXBoVmVyc2lvbiA9ICRncmFwaFZlcnNpb24gPzogRmFjZWJvb2s6OkRFRkFVTFRfR1JBUEhfVkVSU0lPTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGxhc3QgRmFjZWJvb2tSZXF1ZXN0IHRoYXQgd2FzIHNlbnQuCiAgICAgKiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBhbmQgdGVzdGluZy4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVxdWVzdHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMYXN0UmVxdWVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXN0UmVxdWVzdDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbWV0YWRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZyAkYWNjZXNzVG9rZW4gVGhlIGFjY2VzcyB0b2tlbiB0byBkZWJ1Zy4KICAgICAqCiAgICAgKiBAcmV0dXJuIEFjY2Vzc1Rva2VuTWV0YWRhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlYnVnVG9rZW4oJGFjY2Vzc1Rva2VuKQogICAgewogICAgICAgICRhY2Nlc3NUb2tlbiA9ICRhY2Nlc3NUb2tlbiBpbnN0YW5jZW9mIEFjY2Vzc1Rva2VuID8gJGFjY2Vzc1Rva2VuLT5nZXRWYWx1ZSgpIDogJGFjY2Vzc1Rva2VuOwogICAgICAgICRwYXJhbXMgPSBbJ2lucHV0X3Rva2VuJyA9PiAkYWNjZXNzVG9rZW5dOwoKICAgICAgICAkdGhpcy0+bGFzdFJlcXVlc3QgPSBuZXcgRmFjZWJvb2tSZXF1ZXN0KAogICAgICAgICAgICAkdGhpcy0+YXBwLAogICAgICAgICAgICAkdGhpcy0+YXBwLT5nZXRBY2Nlc3NUb2tlbigpLAogICAgICAgICAgICAnR0VUJywKICAgICAgICAgICAgJy9kZWJ1Z190b2tlbicsCiAgICAgICAgICAgICRwYXJhbXMsCiAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICR0aGlzLT5ncmFwaFZlcnNpb24KICAgICAgICApOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5jbGllbnQtPnNlbmRSZXF1ZXN0KCR0aGlzLT5sYXN0UmVxdWVzdCk7CiAgICAgICAgJG1ldGFkYXRhID0gJHJlc3BvbnNlLT5nZXREZWNvZGVkQm9keSgpOwoKICAgICAgICByZXR1cm4gbmV3IEFjY2Vzc1Rva2VuTWV0YWRhdGEoJG1ldGFkYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlcyBhbiBhdXRob3JpemF0aW9uIFVSTCB0byBiZWdpbiB0aGUgcHJvY2VzcyBvZiBhdXRoZW50aWNhdGluZyBhIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcmVkaXJlY3RVcmwgVGhlIGNhbGxiYWNrIFVSTCB0byByZWRpcmVjdCB0by4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0YXRlICAgICAgIFRoZSBDU1BSTkctZ2VuZXJhdGVkIENTUkYgdmFsdWUuCiAgICAgKiBAcGFyYW0gYXJyYXkgICRzY29wZSAgICAgICBBbiBhcnJheSBvZiBwZXJtaXNzaW9ucyB0byByZXF1ZXN0LgogICAgICogQHBhcmFtIGFycmF5ICAkcGFyYW1zICAgICAgQW4gYXJyYXkgb2YgcGFyYW1ldGVycyB0byBnZW5lcmF0ZSBVUkwuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXBhcmF0b3IgICBUaGUgc2VwYXJhdG9yIHRvIHVzZSBpbiBodHRwX2J1aWxkX3F1ZXJ5KCkuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEF1dGhvcml6YXRpb25VcmwoJHJlZGlyZWN0VXJsLCAkc3RhdGUsIGFycmF5ICRzY29wZSA9IFtdLCBhcnJheSAkcGFyYW1zID0gW10sICRzZXBhcmF0b3IgPSAnJicpCiAgICB7CiAgICAgICAgJHBhcmFtcyArPSBbCiAgICAgICAgICAgICdjbGllbnRfaWQnID0+ICR0aGlzLT5hcHAtPmdldElkKCksCiAgICAgICAgICAgICdzdGF0ZScgPT4gJHN0YXRlLAogICAgICAgICAgICAncmVzcG9uc2VfdHlwZScgPT4gJ2NvZGUnLAogICAgICAgICAgICAnc2RrJyA9PiAncGhwLXNkay0nIC4gRmFjZWJvb2s6OlZFUlNJT04sCiAgICAgICAgICAgICdyZWRpcmVjdF91cmknID0+ICRyZWRpcmVjdFVybCwKICAgICAgICAgICAgJ3Njb3BlJyA9PiBpbXBsb2RlKCcsJywgJHNjb3BlKQogICAgICAgIF07CgogICAgICAgIHJldHVybiBzdGF0aWM6OkJBU0VfQVVUSE9SSVpBVElPTl9VUkwgLiAnLycgLiAkdGhpcy0+Z3JhcGhWZXJzaW9uIC4gJy9kaWFsb2cvb2F1dGg/JyAuIGh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcywgbnVsbCwgJHNlcGFyYXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSB2YWxpZCBhY2Nlc3MgdG9rZW4gZnJvbSBhIGNvZGUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY29kZQogICAgICogQHBhcmFtIHN0cmluZyAkcmVkaXJlY3RVcmkKICAgICAqCiAgICAgKiBAcmV0dXJuIEFjY2Vzc1Rva2VuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWNjZXNzVG9rZW5Gcm9tQ29kZSgkY29kZSwgJHJlZGlyZWN0VXJpID0gJycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IFsKICAgICAgICAgICAgJ2NvZGUnID0+ICRjb2RlLAogICAgICAgICAgICAncmVkaXJlY3RfdXJpJyA9PiAkcmVkaXJlY3RVcmksCiAgICAgICAgXTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0QW5BY2Nlc3NUb2tlbigkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIEV4Y2hhbmdlcyBhIHNob3J0LWxpdmVkIGFjY2VzcyB0b2tlbiB3aXRoIGEgbG9uZy1saXZlZCBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZyAkYWNjZXNzVG9rZW4KICAgICAqCiAgICAgKiBAcmV0dXJuIEFjY2Vzc1Rva2VuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TG9uZ0xpdmVkQWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuKQogICAgewogICAgICAgICRhY2Nlc3NUb2tlbiA9ICRhY2Nlc3NUb2tlbiBpbnN0YW5jZW9mIEFjY2Vzc1Rva2VuID8gJGFjY2Vzc1Rva2VuLT5nZXRWYWx1ZSgpIDogJGFjY2Vzc1Rva2VuOwogICAgICAgICRwYXJhbXMgPSBbCiAgICAgICAgICAgICdncmFudF90eXBlJyA9PiAnZmJfZXhjaGFuZ2VfdG9rZW4nLAogICAgICAgICAgICAnZmJfZXhjaGFuZ2VfdG9rZW4nID0+ICRhY2Nlc3NUb2tlbiwKICAgICAgICBdOwoKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3RBbkFjY2Vzc1Rva2VuKCRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgdmFsaWQgY29kZSBmcm9tIGFuIGFjY2VzcyB0b2tlbi4KICAgICAqCiAgICAgKiBAcGFyYW0gQWNjZXNzVG9rZW58c3RyaW5nICRhY2Nlc3NUb2tlbgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAkcmVkaXJlY3RVcmkKICAgICAqCiAgICAgKiBAcmV0dXJuIEFjY2Vzc1Rva2VuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29kZUZyb21Mb25nTGl2ZWRBY2Nlc3NUb2tlbigkYWNjZXNzVG9rZW4sICRyZWRpcmVjdFVyaSA9ICcnKQogICAgewogICAgICAgICRwYXJhbXMgPSBbCiAgICAgICAgICAgICdyZWRpcmVjdF91cmknID0+ICRyZWRpcmVjdFVyaSwKICAgICAgICBdOwoKICAgICAgICAkcmVzcG9uc2UgPSAkdGhpcy0+c2VuZFJlcXVlc3RXaXRoQ2xpZW50UGFyYW1zKCcvb2F1dGgvY2xpZW50X2NvZGUnLCAkcGFyYW1zLCAkYWNjZXNzVG9rZW4pOwogICAgICAgICRkYXRhID0gJHJlc3BvbnNlLT5nZXREZWNvZGVkQm9keSgpOwoKICAgICAgICBpZiAoIWlzc2V0KCRkYXRhWydjb2RlJ10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignQ29kZSB3YXMgbm90IHJldHVybmVkIGZyb20gR3JhcGguJywgNDAxKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YVsnY29kZSddOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhIHJlcXVlc3QgdG8gdGhlIE9BdXRoIGVuZHBvaW50LgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zCiAgICAgKgogICAgICogQHJldHVybiBBY2Nlc3NUb2tlbgogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlcXVlc3RBbkFjY2Vzc1Rva2VuKGFycmF5ICRwYXJhbXMpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPnNlbmRSZXF1ZXN0V2l0aENsaWVudFBhcmFtcygnL29hdXRoL2FjY2Vzc190b2tlbicsICRwYXJhbXMpOwogICAgICAgICRkYXRhID0gJHJlc3BvbnNlLT5nZXREZWNvZGVkQm9keSgpOwoKICAgICAgICBpZiAoIWlzc2V0KCRkYXRhWydhY2Nlc3NfdG9rZW4nXSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdBY2Nlc3MgdG9rZW4gd2FzIG5vdCByZXR1cm5lZCBmcm9tIEdyYXBoLicsIDQwMSk7CiAgICAgICAgfQoKICAgICAgICAvLyBHcmFwaCByZXR1cm5zIHR3byBkaWZmZXJlbnQga2V5IG5hbWVzIGZvciBleHBpcmF0aW9uIHRpbWUKICAgICAgICAvLyBvbiB0aGUgc2FtZSBlbmRwb2ludC4gRG9oISA6LwogICAgICAgICRleHBpcmVzQXQgPSAwOwogICAgICAgIGlmIChpc3NldCgkZGF0YVsnZXhwaXJlcyddKSkgewogICAgICAgICAgICAvLyBGb3IgZXhjaGFuZ2luZyBhIHNob3J0IGxpdmVkIHRva2VuIHdpdGggYSBsb25nIGxpdmVkIHRva2VuLgogICAgICAgICAgICAvLyBUaGUgZXhwaXJhdGlvbiB0aW1lIGluIHNlY29uZHMgd2lsbCBiZSByZXR1cm5lZCBhcyAiZXhwaXJlcyIuCiAgICAgICAgICAgICRleHBpcmVzQXQgPSB0aW1lKCkgKyAkZGF0YVsnZXhwaXJlcyddOwogICAgICAgIH0gZWxzZWlmIChpc3NldCgkZGF0YVsnZXhwaXJlc19pbiddKSkgewogICAgICAgICAgICAvLyBGb3IgZXhjaGFuZ2luZyBhIGNvZGUgZm9yIGEgc2hvcnQgbGl2ZWQgYWNjZXNzIHRva2VuLgogICAgICAgICAgICAvLyBUaGUgZXhwaXJhdGlvbiB0aW1lIGluIHNlY29uZHMgd2lsbCBiZSByZXR1cm5lZCBhcyAiZXhwaXJlc19pbiIuCiAgICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2ZhY2Vib29rLWxvZ2luL2FjY2Vzcy10b2tlbnMjbG9uZy12aWEtY29kZQogICAgICAgICAgICAkZXhwaXJlc0F0ID0gdGltZSgpICsgJGRhdGFbJ2V4cGlyZXNfaW4nXTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgQWNjZXNzVG9rZW4oJGRhdGFbJ2FjY2Vzc190b2tlbiddLCAkZXhwaXJlc0F0KTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSByZXF1ZXN0IHRvIEdyYXBoIHdpdGggYW4gYXBwIGFjY2VzcyB0b2tlbi4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgJGVuZHBvaW50CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgJHBhcmFtcwogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZ3xudWxsICRhY2Nlc3NUb2tlbgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXNwb25zZQogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VuZFJlcXVlc3RXaXRoQ2xpZW50UGFyYW1zKCRlbmRwb2ludCwgYXJyYXkgJHBhcmFtcywgJGFjY2Vzc1Rva2VuID0gbnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zICs9ICR0aGlzLT5nZXRDbGllbnRQYXJhbXMoKTsKCiAgICAgICAgJGFjY2Vzc1Rva2VuID0gJGFjY2Vzc1Rva2VuID86ICR0aGlzLT5hcHAtPmdldEFjY2Vzc1Rva2VuKCk7CgogICAgICAgICR0aGlzLT5sYXN0UmVxdWVzdCA9IG5ldyBGYWNlYm9va1JlcXVlc3QoCiAgICAgICAgICAgICR0aGlzLT5hcHAsCiAgICAgICAgICAgICRhY2Nlc3NUb2tlbiwKICAgICAgICAgICAgJ0dFVCcsCiAgICAgICAgICAgICRlbmRwb2ludCwKICAgICAgICAgICAgJHBhcmFtcywKICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgJHRoaXMtPmdyYXBoVmVyc2lvbgogICAgICAgICk7CgogICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50LT5zZW5kUmVxdWVzdCgkdGhpcy0+bGFzdFJlcXVlc3QpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY2xpZW50XyogcGFyYW1zIGZvciBPQXV0aCByZXF1ZXN0cy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDbGllbnRQYXJhbXMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICdjbGllbnRfaWQnID0+ICR0aGlzLT5hcHAtPmdldElkKCksCiAgICAgICAgICAgICdjbGllbnRfc2VjcmV0JyA9PiAkdGhpcy0+YXBwLT5nZXRTZWNyZXQoKSwKICAgICAgICBdOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/autoload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwoKLyoqCiAqIFlvdSBvbmx5IG5lZWQgdGhpcyBmaWxlIGlmIHlvdSBhcmUgbm90IHVzaW5nIGNvbXBvc2VyLgogKiBXaHkgYXJlIHlvdSBub3QgdXNpbmcgY29tcG9zZXI/CiAqIGh0dHBzOi8vZ2V0Y29tcG9zZXIub3JnLwogKi8KCmlmICh2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sICc1LjQuMCcsICc8JykpIHsKICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBGYWNlYm9vayBTREsgcmVxdWlyZXMgUEhQIHZlcnNpb24gNS40IG9yIGhpZ2hlci4nKTsKfQoKcmVxdWlyZV9vbmNlIF9fRElSX18gLiAnL3BvbHlmaWxscy5waHAnOwoKLyoqCiAqIFJlZ2lzdGVyIHRoZSBhdXRvbG9hZGVyIGZvciB0aGUgRmFjZWJvb2sgU0RLIGNsYXNzZXMuCiAqCiAqIEJhc2VkIG9mZiB0aGUgb2ZmaWNpYWwgUFNSLTQgYXV0b2xvYWRlciBleGFtcGxlIGZvdW5kIGhlcmU6CiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waHAtZmlnL2ZpZy1zdGFuZGFyZHMvYmxvYi9tYXN0ZXIvYWNjZXB0ZWQvUFNSLTQtYXV0b2xvYWRlci1leGFtcGxlcy5tZAogKgogKiBAcGFyYW0gc3RyaW5nICRjbGFzcyBUaGUgZnVsbHktcXVhbGlmaWVkIGNsYXNzIG5hbWUuCiAqCiAqIEByZXR1cm4gdm9pZAogKi8Kc3BsX2F1dG9sb2FkX3JlZ2lzdGVyKGZ1bmN0aW9uICgkY2xhc3MpIHsKICAgIC8vIHByb2plY3Qtc3BlY2lmaWMgbmFtZXNwYWNlIHByZWZpeAogICAgJHByZWZpeCA9ICdGYWNlYm9va1xcJzsKCiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKICAgICRjdXN0b21CYXNlRGlyID0gJyc7CiAgICAvLyBAdG9kbyB2NjogUmVtb3ZlIHN1cHBvcnQgZm9yICdGQUNFQk9PS19TREtfVjRfU1JDX0RJUicKICAgIGlmIChkZWZpbmVkKCdGQUNFQk9PS19TREtfVjRfU1JDX0RJUicpKSB7CiAgICAgICAgJGN1c3RvbUJhc2VEaXIgPSBGQUNFQk9PS19TREtfVjRfU1JDX0RJUjsKICAgIH0gZWxzZWlmIChkZWZpbmVkKCdGQUNFQk9PS19TREtfU1JDX0RJUicpKSB7CiAgICAgICAgJGN1c3RvbUJhc2VEaXIgPSBGQUNFQk9PS19TREtfU1JDX0RJUjsKICAgIH0KICAgIC8vIGJhc2UgZGlyZWN0b3J5IGZvciB0aGUgbmFtZXNwYWNlIHByZWZpeAogICAgJGJhc2VEaXIgPSAkY3VzdG9tQmFzZURpciA/OiBfX0RJUl9fIC4gJy8nOwoKICAgIC8vIGRvZXMgdGhlIGNsYXNzIHVzZSB0aGUgbmFtZXNwYWNlIHByZWZpeD8KICAgICRsZW4gPSBzdHJsZW4oJHByZWZpeCk7CiAgICBpZiAoc3RybmNtcCgkcHJlZml4LCAkY2xhc3MsICRsZW4pICE9PSAwKSB7CiAgICAgICAgLy8gbm8sIG1vdmUgdG8gdGhlIG5leHQgcmVnaXN0ZXJlZCBhdXRvbG9hZGVyCiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIGdldCB0aGUgcmVsYXRpdmUgY2xhc3MgbmFtZQogICAgJHJlbGF0aXZlQ2xhc3MgPSBzdWJzdHIoJGNsYXNzLCAkbGVuKTsKCiAgICAvLyByZXBsYWNlIHRoZSBuYW1lc3BhY2UgcHJlZml4IHdpdGggdGhlIGJhc2UgZGlyZWN0b3J5LCByZXBsYWNlIG5hbWVzcGFjZQogICAgLy8gc2VwYXJhdG9ycyB3aXRoIGRpcmVjdG9yeSBzZXBhcmF0b3JzIGluIHRoZSByZWxhdGl2ZSBjbGFzcyBuYW1lLCBhcHBlbmQKICAgIC8vIHdpdGggLnBocAogICAgJGZpbGUgPSBydHJpbSgkYmFzZURpciwgJy8nKSAuICcvJyAuIHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHJlbGF0aXZlQ2xhc3MpIC4gJy5waHAnOwoKICAgIC8vIGlmIHRoZSBmaWxlIGV4aXN0cywgcmVxdWlyZSBpdAogICAgaWYgKGZpbGVfZXhpc3RzKCRmaWxlKSkgewogICAgICAgIHJlcXVpcmUgJGZpbGU7CiAgICB9Cn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookAuthenticationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va0F1dGhlbnRpY2F0aW9uRXhjZXB0aW9uCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va0F1dGhlbnRpY2F0aW9uRXhjZXB0aW9uIGV4dGVuZHMgRmFjZWJvb2tTREtFeGNlcHRpb24Kewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookAuthorizationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va0F1dGhvcml6YXRpb25FeGNlcHRpb24KICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rQXV0aG9yaXphdGlvbkV4Y2VwdGlvbiBleHRlbmRzIEZhY2Vib29rU0RLRXhjZXB0aW9uCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookClientException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va0NsaWVudEV4Y2VwdGlvbgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tDbGllbnRFeGNlcHRpb24gZXh0ZW5kcyBGYWNlYm9va1NES0V4Y2VwdGlvbgp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookOtherException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va090aGVyRXhjZXB0aW9uCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va090aGVyRXhjZXB0aW9uIGV4dGVuZHMgRmFjZWJvb2tTREtFeGNlcHRpb24Kewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookResponseException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCnVzZSBGYWNlYm9va1xGYWNlYm9va1Jlc3BvbnNlOwoKLyoqCiAqIENsYXNzIEZhY2Vib29rUmVzcG9uc2VFeGNlcHRpb24KICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rUmVzcG9uc2VFeGNlcHRpb24gZXh0ZW5kcyBGYWNlYm9va1NES0V4Y2VwdGlvbgp7CiAgICAvKioKICAgICAqIEB2YXIgRmFjZWJvb2tSZXNwb25zZSBUaGUgcmVzcG9uc2UgdGhhdCB0aHJldyB0aGUgZXhjZXB0aW9uLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHJlc3BvbnNlOwoKICAgIC8qKgogICAgICogQHZhciBhcnJheSBEZWNvZGVkIHJlc3BvbnNlLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHJlc3BvbnNlRGF0YTsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBGYWNlYm9va1Jlc3BvbnNlRXhjZXB0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va1Jlc3BvbnNlICAgICAkcmVzcG9uc2UgICAgICAgICAgVGhlIHJlc3BvbnNlIHRoYXQgdGhyZXcgdGhlIGV4Y2VwdGlvbi4KICAgICAqIEBwYXJhbSBGYWNlYm9va1NES0V4Y2VwdGlvbiAkcHJldmlvdXNFeGNlcHRpb24gVGhlIG1vcmUgZGV0YWlsZWQgZXhjZXB0aW9uLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRmFjZWJvb2tSZXNwb25zZSAkcmVzcG9uc2UsIEZhY2Vib29rU0RLRXhjZXB0aW9uICRwcmV2aW91c0V4Y2VwdGlvbiA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlID0gJHJlc3BvbnNlOwogICAgICAgICR0aGlzLT5yZXNwb25zZURhdGEgPSAkcmVzcG9uc2UtPmdldERlY29kZWRCb2R5KCk7CgogICAgICAgICRlcnJvck1lc3NhZ2UgPSAkdGhpcy0+Z2V0KCdtZXNzYWdlJywgJ1Vua25vd24gZXJyb3IgZnJvbSBHcmFwaC4nKTsKICAgICAgICAkZXJyb3JDb2RlID0gJHRoaXMtPmdldCgnY29kZScsIC0xKTsKCiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkZXJyb3JNZXNzYWdlLCAkZXJyb3JDb2RlLCAkcHJldmlvdXNFeGNlcHRpb24pOwogICAgfQoKICAgIC8qKgogICAgICogQSBmYWN0b3J5IGZvciBjcmVhdGluZyB0aGUgYXBwcm9wcmlhdGUgZXhjZXB0aW9uIGJhc2VkIG9uIHRoZSByZXNwb25zZSBmcm9tIEdyYXBoLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va1Jlc3BvbnNlICRyZXNwb25zZSBUaGUgcmVzcG9uc2UgdGhhdCB0aHJldyB0aGUgZXhjZXB0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXNwb25zZUV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZShGYWNlYm9va1Jlc3BvbnNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkZGF0YSA9ICRyZXNwb25zZS0+Z2V0RGVjb2RlZEJvZHkoKTsKCiAgICAgICAgaWYgKCFpc3NldCgkZGF0YVsnZXJyb3InXVsnY29kZSddKSAmJiBpc3NldCgkZGF0YVsnY29kZSddKSkgewogICAgICAgICAgICAkZGF0YSA9IFsnZXJyb3InID0+ICRkYXRhXTsKICAgICAgICB9CgogICAgICAgICRjb2RlID0gaXNzZXQoJGRhdGFbJ2Vycm9yJ11bJ2NvZGUnXSkgPyAkZGF0YVsnZXJyb3InXVsnY29kZSddIDogbnVsbDsKICAgICAgICAkbWVzc2FnZSA9IGlzc2V0KCRkYXRhWydlcnJvciddWydtZXNzYWdlJ10pID8gJGRhdGFbJ2Vycm9yJ11bJ21lc3NhZ2UnXSA6ICdVbmtub3duIGVycm9yIGZyb20gR3JhcGguJzsKCiAgICAgICAgaWYgKGlzc2V0KCRkYXRhWydlcnJvciddWydlcnJvcl9zdWJjb2RlJ10pKSB7CiAgICAgICAgICAgIHN3aXRjaCAoJGRhdGFbJ2Vycm9yJ11bJ2Vycm9yX3N1YmNvZGUnXSkgewogICAgICAgICAgICAgICAgLy8gT3RoZXIgYXV0aGVudGljYXRpb24gaXNzdWVzCiAgICAgICAgICAgICAgICBjYXNlIDQ1ODoKICAgICAgICAgICAgICAgIGNhc2UgNDU5OgogICAgICAgICAgICAgICAgY2FzZSA0NjA6CiAgICAgICAgICAgICAgICBjYXNlIDQ2MzoKICAgICAgICAgICAgICAgIGNhc2UgNDY0OgogICAgICAgICAgICAgICAgY2FzZSA0Njc6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJHJlc3BvbnNlLCBuZXcgRmFjZWJvb2tBdXRoZW50aWNhdGlvbkV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKICAgICAgICAgICAgICAgIC8vIFZpZGVvIHVwbG9hZCByZXN1bWFibGUgZXJyb3IKICAgICAgICAgICAgICAgIGNhc2UgMTM2MzAzMDoKICAgICAgICAgICAgICAgIGNhc2UgMTM2MzAxOToKICAgICAgICAgICAgICAgIGNhc2UgMTM2MzAzNzoKICAgICAgICAgICAgICAgIGNhc2UgMTM2MzAzMzoKICAgICAgICAgICAgICAgIGNhc2UgMTM2MzAyMToKICAgICAgICAgICAgICAgIGNhc2UgMTM2MzA0MToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHN0YXRpYygkcmVzcG9uc2UsIG5ldyBGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZEV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgc3dpdGNoICgkY29kZSkgewogICAgICAgICAgICAvLyBMb2dpbiBzdGF0dXMgb3IgdG9rZW4gZXhwaXJlZCwgcmV2b2tlZCwgb3IgaW52YWxpZAogICAgICAgICAgICBjYXNlIDEwMDoKICAgICAgICAgICAgY2FzZSAxMDI6CiAgICAgICAgICAgIGNhc2UgMTkwOgogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJHJlc3BvbnNlLCBuZXcgRmFjZWJvb2tBdXRoZW50aWNhdGlvbkV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKCiAgICAgICAgICAgIC8vIFNlcnZlciBpc3N1ZSwgcG9zc2libGUgZG93bnRpbWUKICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHN0YXRpYygkcmVzcG9uc2UsIG5ldyBGYWNlYm9va1NlcnZlckV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKCiAgICAgICAgICAgIC8vIEFQSSBUaHJvdHRsaW5nCiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgY2FzZSAxNzoKICAgICAgICAgICAgY2FzZSAzNDE6CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHN0YXRpYygkcmVzcG9uc2UsIG5ldyBGYWNlYm9va1Rocm90dGxlRXhjZXB0aW9uKCRtZXNzYWdlLCAkY29kZSkpOwoKICAgICAgICAgICAgLy8gRHVwbGljYXRlIFBvc3QKICAgICAgICAgICAgY2FzZSA1MDY6CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHN0YXRpYygkcmVzcG9uc2UsIG5ldyBGYWNlYm9va0NsaWVudEV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKICAgICAgICB9CgogICAgICAgIC8vIE1pc3NpbmcgUGVybWlzc2lvbnMKICAgICAgICBpZiAoJGNvZGUgPT0gMTAgfHwgKCRjb2RlID49IDIwMCAmJiAkY29kZSA8PSAyOTkpKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgc3RhdGljKCRyZXNwb25zZSwgbmV3IEZhY2Vib29rQXV0aG9yaXphdGlvbkV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKICAgICAgICB9CgogICAgICAgIC8vIE9BdXRoIGF1dGhlbnRpY2F0aW9uIGVycm9yCiAgICAgICAgaWYgKGlzc2V0KCRkYXRhWydlcnJvciddWyd0eXBlJ10pICYmICRkYXRhWydlcnJvciddWyd0eXBlJ10gPT09ICdPQXV0aEV4Y2VwdGlvbicpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoJHJlc3BvbnNlLCBuZXcgRmFjZWJvb2tBdXRoZW50aWNhdGlvbkV4Y2VwdGlvbigkbWVzc2FnZSwgJGNvZGUpKTsKICAgICAgICB9CgogICAgICAgIC8vIEFsbCBvdGhlcnMKICAgICAgICByZXR1cm4gbmV3IHN0YXRpYygkcmVzcG9uc2UsIG5ldyBGYWNlYm9va090aGVyRXhjZXB0aW9uKCRtZXNzYWdlLCAkY29kZSkpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlzc2V0IGFuZCByZXR1cm5zIHRoYXQgb3IgYSBkZWZhdWx0IHZhbHVlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleQogICAgICogQHBhcmFtIG1peGVkICAkZGVmYXVsdAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXQoJGtleSwgJGRlZmF1bHQgPSBudWxsKQogICAgewogICAgICAgIGlmIChpc3NldCgkdGhpcy0+cmVzcG9uc2VEYXRhWydlcnJvciddWyRrZXldKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlRGF0YVsnZXJyb3InXVska2V5XTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGVmYXVsdDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIEhUVFAgc3RhdHVzIGNvZGUKICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SHR0cFN0YXR1c0NvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzcG9uc2UtPmdldEh0dHBTdGF0dXNDb2RlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBzdWItZXJyb3IgY29kZQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdWJFcnJvckNvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0KCdlcnJvcl9zdWJjb2RlJywgLTEpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXJyb3IgdHlwZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvclR5cGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0KCd0eXBlJywgJycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcmF3IHJlc3BvbnNlIHVzZWQgdG8gY3JlYXRlIHRoZSBleGNlcHRpb24uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJhd1Jlc3BvbnNlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlLT5nZXRCb2R5KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBkZWNvZGVkIHJlc3BvbnNlIHVzZWQgdG8gY3JlYXRlIHRoZSBleGNlcHRpb24uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2VEYXRhKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlRGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHJlc3BvbnNlIGVudGl0eSB1c2VkIHRvIGNyZWF0ZSB0aGUgZXhjZXB0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXNwb25zZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzcG9uc2U7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookResumableUploadException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZEV4Y2VwdGlvbgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tSZXN1bWFibGVVcGxvYWRFeGNlcHRpb24gZXh0ZW5kcyBGYWNlYm9va1NES0V4Y2VwdGlvbgp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookSDKException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1NES0V4Y2VwdGlvbgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tTREtFeGNlcHRpb24gZXh0ZW5kcyBcRXhjZXB0aW9uCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookServerException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1NlcnZlckV4Y2VwdGlvbgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tTZXJ2ZXJFeGNlcHRpb24gZXh0ZW5kcyBGYWNlYm9va1NES0V4Y2VwdGlvbgp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Exceptions/FacebookThrottleException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRXhjZXB0aW9uczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1Rocm90dGxlRXhjZXB0aW9uCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1Rocm90dGxlRXhjZXB0aW9uIGV4dGVuZHMgRmFjZWJvb2tTREtFeGNlcHRpb24Kewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Facebook.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb25cQWNjZXNzVG9rZW47CnVzZSBGYWNlYm9va1xBdXRoZW50aWNhdGlvblxPQXV0aDJDbGllbnQ7CnVzZSBGYWNlYm9va1xGaWxlVXBsb2FkXEZhY2Vib29rRmlsZTsKdXNlIEZhY2Vib29rXEZpbGVVcGxvYWRcRmFjZWJvb2tSZXN1bWFibGVVcGxvYWRlcjsKdXNlIEZhY2Vib29rXEZpbGVVcGxvYWRcRmFjZWJvb2tUcmFuc2ZlckNodW5rOwp1c2UgRmFjZWJvb2tcRmlsZVVwbG9hZFxGYWNlYm9va1ZpZGVvOwp1c2UgRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaEVkZ2U7CnVzZSBGYWNlYm9va1xVcmxcVXJsRGV0ZWN0aW9uSW50ZXJmYWNlOwp1c2UgRmFjZWJvb2tcVXJsXEZhY2Vib29rVXJsRGV0ZWN0aW9uSGFuZGxlcjsKdXNlIEZhY2Vib29rXFBzZXVkb1JhbmRvbVN0cmluZ1xQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JGYWN0b3J5Owp1c2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nXFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZTsKdXNlIEZhY2Vib29rXEh0dHBDbGllbnRzXEh0dHBDbGllbnRzRmFjdG9yeTsKdXNlIEZhY2Vib29rXFBlcnNpc3RlbnREYXRhXFBlcnNpc3RlbnREYXRhRmFjdG9yeTsKdXNlIEZhY2Vib29rXFBlcnNpc3RlbnREYXRhXFBlcnNpc3RlbnREYXRhSW50ZXJmYWNlOwp1c2UgRmFjZWJvb2tcSGVscGVyc1xGYWNlYm9va0NhbnZhc0hlbHBlcjsKdXNlIEZhY2Vib29rXEhlbHBlcnNcRmFjZWJvb2tKYXZhU2NyaXB0SGVscGVyOwp1c2UgRmFjZWJvb2tcSGVscGVyc1xGYWNlYm9va1BhZ2VUYWJIZWxwZXI7CnVzZSBGYWNlYm9va1xIZWxwZXJzXEZhY2Vib29rUmVkaXJlY3RMb2dpbkhlbHBlcjsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgovKioKICogQ2xhc3MgRmFjZWJvb2sKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rCnsKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBWZXJzaW9uIG51bWJlciBvZiB0aGUgRmFjZWJvb2sgUEhQIFNESy4KICAgICAqLwogICAgY29uc3QgVkVSU0lPTiA9ICc1LjYuMSc7CgogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIERlZmF1bHQgR3JhcGggQVBJIHZlcnNpb24gZm9yIHJlcXVlc3RzLgogICAgICovCiAgICBjb25zdCBERUZBVUxUX0dSQVBIX1ZFUlNJT04gPSAndjIuMTAnOwoKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgYXBwIElELgogICAgICovCiAgICBjb25zdCBBUFBfSURfRU5WX05BTUUgPSAnRkFDRUJPT0tfQVBQX0lEJzsKCiAgICAvKioKICAgICAqIEBjb25zdCBzdHJpbmcgVGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGFwcCBzZWNyZXQuCiAgICAgKi8KICAgIGNvbnN0IEFQUF9TRUNSRVRfRU5WX05BTUUgPSAnRkFDRUJPT0tfQVBQX1NFQ1JFVCc7CgogICAgLyoqCiAgICAgKiBAdmFyIEZhY2Vib29rQXBwIFRoZSBGYWNlYm9va0FwcCBlbnRpdHkuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYXBwOwoKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va0NsaWVudCBUaGUgRmFjZWJvb2sgY2xpZW50IHNlcnZpY2UuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2xpZW50OwoKICAgIC8qKgogICAgICogQHZhciBPQXV0aDJDbGllbnQgVGhlIE9BdXRoIDIuMCBjbGllbnQgc2VydmljZS4KICAgICAqLwogICAgcHJvdGVjdGVkICRvQXV0aDJDbGllbnQ7CgogICAgLyoqCiAgICAgKiBAdmFyIFVybERldGVjdGlvbkludGVyZmFjZXxudWxsIFRoZSBVUkwgZGV0ZWN0aW9uIGhhbmRsZXIuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkdXJsRGV0ZWN0aW9uSGFuZGxlcjsKCiAgICAvKioKICAgICAqIEB2YXIgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9ySW50ZXJmYWNlfG51bGwgVGhlIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIHN0cmluZyBnZW5lcmF0b3IuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yOwoKICAgIC8qKgogICAgICogQHZhciBBY2Nlc3NUb2tlbnxudWxsIFRoZSBkZWZhdWx0IGFjY2VzcyB0b2tlbiB0byB1c2Ugd2l0aCByZXF1ZXN0cy4KICAgICAqLwogICAgcHJvdGVjdGVkICRkZWZhdWx0QWNjZXNzVG9rZW47CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZ3xudWxsIFRoZSBkZWZhdWx0IEdyYXBoIHZlcnNpb24gd2Ugd2FudCB0byB1c2UuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZGVmYXVsdEdyYXBoVmVyc2lvbjsKCiAgICAvKioKICAgICAqIEB2YXIgUGVyc2lzdGVudERhdGFJbnRlcmZhY2V8bnVsbCBUaGUgcGVyc2lzdGVudCBkYXRhIGhhbmRsZXIuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcGVyc2lzdGVudERhdGFIYW5kbGVyOwoKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va1Jlc3BvbnNlfEZhY2Vib29rQmF0Y2hSZXNwb25zZXxudWxsIFN0b3JlcyB0aGUgbGFzdCByZXF1ZXN0IG1hZGUgdG8gR3JhcGguCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbGFzdFJlc3BvbnNlOwoKICAgIC8qKgogICAgICogSW5zdGFudGlhdGVzIGEgbmV3IEZhY2Vib29rIHN1cGVyLWNsYXNzIG9iamVjdC4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGNvbmZpZwogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRjb25maWcgPSBbXSkKICAgIHsKICAgICAgICAkY29uZmlnID0gYXJyYXlfbWVyZ2UoWwogICAgICAgICAgICAnYXBwX2lkJyA9PiBnZXRlbnYoc3RhdGljOjpBUFBfSURfRU5WX05BTUUpLAogICAgICAgICAgICAnYXBwX3NlY3JldCcgPT4gZ2V0ZW52KHN0YXRpYzo6QVBQX1NFQ1JFVF9FTlZfTkFNRSksCiAgICAgICAgICAgICdkZWZhdWx0X2dyYXBoX3ZlcnNpb24nID0+IHN0YXRpYzo6REVGQVVMVF9HUkFQSF9WRVJTSU9OLAogICAgICAgICAgICAnZW5hYmxlX2JldGFfbW9kZScgPT4gZmFsc2UsCiAgICAgICAgICAgICdodHRwX2NsaWVudF9oYW5kbGVyJyA9PiBudWxsLAogICAgICAgICAgICAncGVyc2lzdGVudF9kYXRhX2hhbmRsZXInID0+IG51bGwsCiAgICAgICAgICAgICdwc2V1ZG9fcmFuZG9tX3N0cmluZ19nZW5lcmF0b3InID0+IG51bGwsCiAgICAgICAgICAgICd1cmxfZGV0ZWN0aW9uX2hhbmRsZXInID0+IG51bGwsCiAgICAgICAgXSwgJGNvbmZpZyk7CgogICAgICAgIGlmICghJGNvbmZpZ1snYXBwX2lkJ10pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdSZXF1aXJlZCAiYXBwX2lkIiBrZXkgbm90IHN1cHBsaWVkIGluIGNvbmZpZyBhbmQgY291bGQgbm90IGZpbmQgZmFsbGJhY2sgZW52aXJvbm1lbnQgdmFyaWFibGUgIicgLiBzdGF0aWM6OkFQUF9JRF9FTlZfTkFNRSAuICciJyk7CiAgICAgICAgfQogICAgICAgIGlmICghJGNvbmZpZ1snYXBwX3NlY3JldCddKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignUmVxdWlyZWQgImFwcF9zZWNyZXQiIGtleSBub3Qgc3VwcGxpZWQgaW4gY29uZmlnIGFuZCBjb3VsZCBub3QgZmluZCBmYWxsYmFjayBlbnZpcm9ubWVudCB2YXJpYWJsZSAiJyAuIHN0YXRpYzo6QVBQX1NFQ1JFVF9FTlZfTkFNRSAuICciJyk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+YXBwID0gbmV3IEZhY2Vib29rQXBwKCRjb25maWdbJ2FwcF9pZCddLCAkY29uZmlnWydhcHBfc2VjcmV0J10pOwogICAgICAgICR0aGlzLT5jbGllbnQgPSBuZXcgRmFjZWJvb2tDbGllbnQoCiAgICAgICAgICAgIEh0dHBDbGllbnRzRmFjdG9yeTo6Y3JlYXRlSHR0cENsaWVudCgkY29uZmlnWydodHRwX2NsaWVudF9oYW5kbGVyJ10pLAogICAgICAgICAgICAkY29uZmlnWydlbmFibGVfYmV0YV9tb2RlJ10KICAgICAgICApOwogICAgICAgICR0aGlzLT5wc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IgPSBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JGYWN0b3J5OjpjcmVhdGVQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IoCiAgICAgICAgICAgICRjb25maWdbJ3BzZXVkb19yYW5kb21fc3RyaW5nX2dlbmVyYXRvciddCiAgICAgICAgKTsKICAgICAgICAkdGhpcy0+c2V0VXJsRGV0ZWN0aW9uSGFuZGxlcigkY29uZmlnWyd1cmxfZGV0ZWN0aW9uX2hhbmRsZXInXSA/OiBuZXcgRmFjZWJvb2tVcmxEZXRlY3Rpb25IYW5kbGVyKCkpOwogICAgICAgICR0aGlzLT5wZXJzaXN0ZW50RGF0YUhhbmRsZXIgPSBQZXJzaXN0ZW50RGF0YUZhY3Rvcnk6OmNyZWF0ZVBlcnNpc3RlbnREYXRhSGFuZGxlcigKICAgICAgICAgICAgJGNvbmZpZ1sncGVyc2lzdGVudF9kYXRhX2hhbmRsZXInXQogICAgICAgICk7CgogICAgICAgIGlmIChpc3NldCgkY29uZmlnWydkZWZhdWx0X2FjY2Vzc190b2tlbiddKSkgewogICAgICAgICAgICAkdGhpcy0+c2V0RGVmYXVsdEFjY2Vzc1Rva2VuKCRjb25maWdbJ2RlZmF1bHRfYWNjZXNzX3Rva2VuJ10pOwogICAgICAgIH0KCiAgICAgICAgLy8gQHRvZG8gdjY6IFRocm93IGFuIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBpZiAiZGVmYXVsdF9ncmFwaF92ZXJzaW9uIiBpcyBub3Qgc2V0CiAgICAgICAgJHRoaXMtPmRlZmF1bHRHcmFwaFZlcnNpb24gPSAkY29uZmlnWydkZWZhdWx0X2dyYXBoX3ZlcnNpb24nXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIEZhY2Vib29rQXBwIGVudGl0eS4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rQXBwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBcHAoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YXBwOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgRmFjZWJvb2tDbGllbnQgc2VydmljZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDbGllbnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50OwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgT0F1dGggMi4wIGNsaWVudCBzZXJ2aWNlLgogICAgICoKICAgICAqIEByZXR1cm4gT0F1dGgyQ2xpZW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRPQXV0aDJDbGllbnQoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPm9BdXRoMkNsaWVudCBpbnN0YW5jZW9mIE9BdXRoMkNsaWVudCkgewogICAgICAgICAgICAkYXBwID0gJHRoaXMtPmdldEFwcCgpOwogICAgICAgICAgICAkY2xpZW50ID0gJHRoaXMtPmdldENsaWVudCgpOwogICAgICAgICAgICAkdGhpcy0+b0F1dGgyQ2xpZW50ID0gbmV3IE9BdXRoMkNsaWVudCgkYXBwLCAkY2xpZW50LCAkdGhpcy0+ZGVmYXVsdEdyYXBoVmVyc2lvbik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPm9BdXRoMkNsaWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGxhc3QgcmVzcG9uc2UgcmV0dXJuZWQgZnJvbSBHcmFwaC4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVzcG9uc2V8RmFjZWJvb2tCYXRjaFJlc3BvbnNlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExhc3RSZXNwb25zZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXN0UmVzcG9uc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBVUkwgZGV0ZWN0aW9uIGhhbmRsZXIuCiAgICAgKgogICAgICogQHJldHVybiBVcmxEZXRlY3Rpb25JbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVybERldGVjdGlvbkhhbmRsZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dXJsRGV0ZWN0aW9uSGFuZGxlcjsKICAgIH0KCiAgICAvKioKICAgICAqIENoYW5nZXMgdGhlIFVSTCBkZXRlY3Rpb24gaGFuZGxlci4KICAgICAqCiAgICAgKiBAcGFyYW0gVXJsRGV0ZWN0aW9uSW50ZXJmYWNlICR1cmxEZXRlY3Rpb25IYW5kbGVyCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gc2V0VXJsRGV0ZWN0aW9uSGFuZGxlcihVcmxEZXRlY3Rpb25JbnRlcmZhY2UgJHVybERldGVjdGlvbkhhbmRsZXIpCiAgICB7CiAgICAgICAgJHRoaXMtPnVybERldGVjdGlvbkhhbmRsZXIgPSAkdXJsRGV0ZWN0aW9uSGFuZGxlcjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGRlZmF1bHQgQWNjZXNzVG9rZW4gZW50aXR5LgogICAgICoKICAgICAqIEByZXR1cm4gQWNjZXNzVG9rZW58bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVmYXVsdEFjY2Vzc1Rva2VuKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmRlZmF1bHRBY2Nlc3NUb2tlbjsKICAgIH0KCiAgICAvKioKICAgICAqIFNldHMgdGhlIGRlZmF1bHQgYWNjZXNzIHRva2VuIHRvIHVzZSB3aXRoIHJlcXVlc3RzLgogICAgICoKICAgICAqIEBwYXJhbSBBY2Nlc3NUb2tlbnxzdHJpbmcgJGFjY2Vzc1Rva2VuIFRoZSBhY2Nlc3MgdG9rZW4gdG8gc2F2ZS4KICAgICAqCiAgICAgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERlZmF1bHRBY2Nlc3NUb2tlbigkYWNjZXNzVG9rZW4pCiAgICB7CiAgICAgICAgaWYgKGlzX3N0cmluZygkYWNjZXNzVG9rZW4pKSB7CiAgICAgICAgICAgICR0aGlzLT5kZWZhdWx0QWNjZXNzVG9rZW4gPSBuZXcgQWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGlmICgkYWNjZXNzVG9rZW4gaW5zdGFuY2VvZiBBY2Nlc3NUb2tlbikgewogICAgICAgICAgICAkdGhpcy0+ZGVmYXVsdEFjY2Vzc1Rva2VuID0gJGFjY2Vzc1Rva2VuOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBkZWZhdWx0IGFjY2VzcyB0b2tlbiBtdXN0IGJlIG9mIHR5cGUgInN0cmluZyIgb3IgRmFjZWJvb2tcQWNjZXNzVG9rZW4nKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGRlZmF1bHQgR3JhcGggdmVyc2lvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVmYXVsdEdyYXBoVmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kZWZhdWx0R3JhcGhWZXJzaW9uOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcmVkaXJlY3QgbG9naW4gaGVscGVyLgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZWRpcmVjdExvZ2luSGVscGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZWRpcmVjdExvZ2luSGVscGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rUmVkaXJlY3RMb2dpbkhlbHBlcigKICAgICAgICAgICAgJHRoaXMtPmdldE9BdXRoMkNsaWVudCgpLAogICAgICAgICAgICAkdGhpcy0+cGVyc2lzdGVudERhdGFIYW5kbGVyLAogICAgICAgICAgICAkdGhpcy0+dXJsRGV0ZWN0aW9uSGFuZGxlciwKICAgICAgICAgICAgJHRoaXMtPnBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcgogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBKYXZhU2NyaXB0IGhlbHBlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rSmF2YVNjcmlwdEhlbHBlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SmF2YVNjcmlwdEhlbHBlcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBGYWNlYm9va0phdmFTY3JpcHRIZWxwZXIoJHRoaXMtPmFwcCwgJHRoaXMtPmNsaWVudCwgJHRoaXMtPmRlZmF1bHRHcmFwaFZlcnNpb24pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY2FudmFzIGhlbHBlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rQ2FudmFzSGVscGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDYW52YXNIZWxwZXIoKQogICAgewogICAgICAgIHJldHVybiBuZXcgRmFjZWJvb2tDYW52YXNIZWxwZXIoJHRoaXMtPmFwcCwgJHRoaXMtPmNsaWVudCwgJHRoaXMtPmRlZmF1bHRHcmFwaFZlcnNpb24pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcGFnZSB0YWIgaGVscGVyLgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tQYWdlVGFiSGVscGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYWdlVGFiSGVscGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rUGFnZVRhYkhlbHBlcigkdGhpcy0+YXBwLCAkdGhpcy0+Y2xpZW50LCAkdGhpcy0+ZGVmYXVsdEdyYXBoVmVyc2lvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kcyBhIEdFVCByZXF1ZXN0IHRvIEdyYXBoIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICRlbmRwb2ludAogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZ3xudWxsICRhY2Nlc3NUb2tlbgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRlVGFnCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgICAgICAgICAgJGdyYXBoVmVyc2lvbgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXNwb25zZQogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgkZW5kcG9pbnQsICRhY2Nlc3NUb2tlbiA9IG51bGwsICRlVGFnID0gbnVsbCwgJGdyYXBoVmVyc2lvbiA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kUmVxdWVzdCgKICAgICAgICAgICAgJ0dFVCcsCiAgICAgICAgICAgICRlbmRwb2ludCwKICAgICAgICAgICAgJHBhcmFtcyA9IFtdLAogICAgICAgICAgICAkYWNjZXNzVG9rZW4sCiAgICAgICAgICAgICRlVGFnLAogICAgICAgICAgICAkZ3JhcGhWZXJzaW9uCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIEdyYXBoIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICRlbmRwb2ludAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAgICAgICRwYXJhbXMKICAgICAqIEBwYXJhbSBBY2Nlc3NUb2tlbnxzdHJpbmd8bnVsbCAkYWNjZXNzVG9rZW4KICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgICAgICAgICAkZVRhZwogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRncmFwaFZlcnNpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVzcG9uc2UKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwb3N0KCRlbmRwb2ludCwgYXJyYXkgJHBhcmFtcyA9IFtdLCAkYWNjZXNzVG9rZW4gPSBudWxsLCAkZVRhZyA9IG51bGwsICRncmFwaFZlcnNpb24gPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2VuZFJlcXVlc3QoCiAgICAgICAgICAgICdQT1NUJywKICAgICAgICAgICAgJGVuZHBvaW50LAogICAgICAgICAgICAkcGFyYW1zLAogICAgICAgICAgICAkYWNjZXNzVG9rZW4sCiAgICAgICAgICAgICRlVGFnLAogICAgICAgICAgICAkZ3JhcGhWZXJzaW9uCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmRzIGEgREVMRVRFIHJlcXVlc3QgdG8gR3JhcGggYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgJGVuZHBvaW50CiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgJHBhcmFtcwogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZ3xudWxsICRhY2Nlc3NUb2tlbgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRlVGFnCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgICAgICAgICAgJGdyYXBoVmVyc2lvbgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXNwb25zZQogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgkZW5kcG9pbnQsIGFycmF5ICRwYXJhbXMgPSBbXSwgJGFjY2Vzc1Rva2VuID0gbnVsbCwgJGVUYWcgPSBudWxsLCAkZ3JhcGhWZXJzaW9uID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlbmRSZXF1ZXN0KAogICAgICAgICAgICAnREVMRVRFJywKICAgICAgICAgICAgJGVuZHBvaW50LAogICAgICAgICAgICAkcGFyYW1zLAogICAgICAgICAgICAkYWNjZXNzVG9rZW4sCiAgICAgICAgICAgICRlVGFnLAogICAgICAgICAgICAkZ3JhcGhWZXJzaW9uCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmRzIGEgcmVxdWVzdCB0byBHcmFwaCBmb3IgdGhlIG5leHQgcGFnZSBvZiByZXN1bHRzLgogICAgICoKICAgICAqIEBwYXJhbSBHcmFwaEVkZ2UgJGdyYXBoRWRnZSBUaGUgR3JhcGhFZGdlIHRvIHBhZ2luYXRlIG92ZXIuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEVkZ2V8bnVsbAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG5leHQoR3JhcGhFZGdlICRncmFwaEVkZ2UpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRQYWdpbmF0aW9uUmVzdWx0cygkZ3JhcGhFZGdlLCAnbmV4dCcpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZHMgYSByZXF1ZXN0IHRvIEdyYXBoIGZvciB0aGUgcHJldmlvdXMgcGFnZSBvZiByZXN1bHRzLgogICAgICoKICAgICAqIEBwYXJhbSBHcmFwaEVkZ2UgJGdyYXBoRWRnZSBUaGUgR3JhcGhFZGdlIHRvIHBhZ2luYXRlIG92ZXIuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEVkZ2V8bnVsbAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByZXZpb3VzKEdyYXBoRWRnZSAkZ3JhcGhFZGdlKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UGFnaW5hdGlvblJlc3VsdHMoJGdyYXBoRWRnZSwgJ3ByZXZpb3VzJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kcyBhIHJlcXVlc3QgdG8gR3JhcGggZm9yIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy4KICAgICAqCiAgICAgKiBAcGFyYW0gR3JhcGhFZGdlICRncmFwaEVkZ2UgVGhlIEdyYXBoRWRnZSB0byBwYWdpbmF0ZSBvdmVyLgogICAgICogQHBhcmFtIHN0cmluZyAgICAkZGlyZWN0aW9uIFRoZSBkaXJlY3Rpb24gb2YgdGhlIHBhZ2luYXRpb246IG5leHR8cHJldmlvdXMuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEVkZ2V8bnVsbAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhZ2luYXRpb25SZXN1bHRzKEdyYXBoRWRnZSAkZ3JhcGhFZGdlLCAkZGlyZWN0aW9uKQogICAgewogICAgICAgICRwYWdpbmF0aW9uUmVxdWVzdCA9ICRncmFwaEVkZ2UtPmdldFBhZ2luYXRpb25SZXF1ZXN0KCRkaXJlY3Rpb24pOwogICAgICAgIGlmICghJHBhZ2luYXRpb25SZXF1ZXN0KSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmxhc3RSZXNwb25zZSA9ICR0aGlzLT5jbGllbnQtPnNlbmRSZXF1ZXN0KCRwYWdpbmF0aW9uUmVxdWVzdCk7CgogICAgICAgIC8vIEtlZXAgdGhlIHNhbWUgR3JhcGhOb2RlIHN1YmNsYXNzCiAgICAgICAgJHN1YkNsYXNzTmFtZSA9ICRncmFwaEVkZ2UtPmdldFN1YkNsYXNzTmFtZSgpOwogICAgICAgICRncmFwaEVkZ2UgPSAkdGhpcy0+bGFzdFJlc3BvbnNlLT5nZXRHcmFwaEVkZ2UoJHN1YkNsYXNzTmFtZSwgZmFsc2UpOwoKICAgICAgICByZXR1cm4gY291bnQoJGdyYXBoRWRnZSkgPiAwID8gJGdyYXBoRWRnZSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kcyBhIHJlcXVlc3QgdG8gR3JhcGggYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgICAgJG1ldGhvZAogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICRlbmRwb2ludAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAgICAgICRwYXJhbXMKICAgICAqIEBwYXJhbSBBY2Nlc3NUb2tlbnxzdHJpbmd8bnVsbCAkYWNjZXNzVG9rZW4KICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgICAgICAgICAkZVRhZwogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRncmFwaFZlcnNpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVzcG9uc2UKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZW5kUmVxdWVzdCgkbWV0aG9kLCAkZW5kcG9pbnQsIGFycmF5ICRwYXJhbXMgPSBbXSwgJGFjY2Vzc1Rva2VuID0gbnVsbCwgJGVUYWcgPSBudWxsLCAkZ3JhcGhWZXJzaW9uID0gbnVsbCkKICAgIHsKICAgICAgICAkYWNjZXNzVG9rZW4gPSAkYWNjZXNzVG9rZW4gPzogJHRoaXMtPmRlZmF1bHRBY2Nlc3NUb2tlbjsKICAgICAgICAkZ3JhcGhWZXJzaW9uID0gJGdyYXBoVmVyc2lvbiA/OiAkdGhpcy0+ZGVmYXVsdEdyYXBoVmVyc2lvbjsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5yZXF1ZXN0KCRtZXRob2QsICRlbmRwb2ludCwgJHBhcmFtcywgJGFjY2Vzc1Rva2VuLCAkZVRhZywgJGdyYXBoVmVyc2lvbik7CgogICAgICAgIHJldHVybiAkdGhpcy0+bGFzdFJlc3BvbnNlID0gJHRoaXMtPmNsaWVudC0+c2VuZFJlcXVlc3QoJHJlcXVlc3QpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZHMgYSBiYXRjaGVkIHJlcXVlc3QgdG8gR3JhcGggYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RzCiAgICAgKiBAcGFyYW0gQWNjZXNzVG9rZW58c3RyaW5nfG51bGwgJGFjY2Vzc1Rva2VuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgICAgICAgICAgJGdyYXBoVmVyc2lvbgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tCYXRjaFJlc3BvbnNlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZEJhdGNoUmVxdWVzdChhcnJheSAkcmVxdWVzdHMsICRhY2Nlc3NUb2tlbiA9IG51bGwsICRncmFwaFZlcnNpb24gPSBudWxsKQogICAgewogICAgICAgICRhY2Nlc3NUb2tlbiA9ICRhY2Nlc3NUb2tlbiA/OiAkdGhpcy0+ZGVmYXVsdEFjY2Vzc1Rva2VuOwogICAgICAgICRncmFwaFZlcnNpb24gPSAkZ3JhcGhWZXJzaW9uID86ICR0aGlzLT5kZWZhdWx0R3JhcGhWZXJzaW9uOwogICAgICAgICRiYXRjaFJlcXVlc3QgPSBuZXcgRmFjZWJvb2tCYXRjaFJlcXVlc3QoCiAgICAgICAgICAgICR0aGlzLT5hcHAsCiAgICAgICAgICAgICRyZXF1ZXN0cywKICAgICAgICAgICAgJGFjY2Vzc1Rva2VuLAogICAgICAgICAgICAkZ3JhcGhWZXJzaW9uCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXN0UmVzcG9uc2UgPSAkdGhpcy0+Y2xpZW50LT5zZW5kQmF0Y2hSZXF1ZXN0KCRiYXRjaFJlcXVlc3QpOwogICAgfQoKICAgIC8qKgogICAgICogSW5zdGFudGlhdGVzIGFuIGVtcHR5IEZhY2Vib29rQmF0Y2hSZXF1ZXN0IGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gIEFjY2Vzc1Rva2VufHN0cmluZ3xudWxsICRhY2Nlc3NUb2tlbiAgVGhlIHRvcC1sZXZlbCBhY2Nlc3MgdG9rZW4uIFJlcXVlc3RzIHdpdGggbm8gYWNjZXNzIHRva2VuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBmYWxsYmFjayB0byB0aGlzLgogICAgICogQHBhcmFtICBzdHJpbmd8bnVsbCAgICAgICAgICAgICAkZ3JhcGhWZXJzaW9uIFRoZSBHcmFwaCBBUEkgdmVyc2lvbiB0byB1c2UuCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rQmF0Y2hSZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBuZXdCYXRjaFJlcXVlc3QoJGFjY2Vzc1Rva2VuID0gbnVsbCwgJGdyYXBoVmVyc2lvbiA9IG51bGwpCiAgICB7CiAgICAgICAgJGFjY2Vzc1Rva2VuID0gJGFjY2Vzc1Rva2VuID86ICR0aGlzLT5kZWZhdWx0QWNjZXNzVG9rZW47CiAgICAgICAgJGdyYXBoVmVyc2lvbiA9ICRncmFwaFZlcnNpb24gPzogJHRoaXMtPmRlZmF1bHRHcmFwaFZlcnNpb247CgogICAgICAgIHJldHVybiBuZXcgRmFjZWJvb2tCYXRjaFJlcXVlc3QoCiAgICAgICAgICAgICR0aGlzLT5hcHAsCiAgICAgICAgICAgIFtdLAogICAgICAgICAgICAkYWNjZXNzVG9rZW4sCiAgICAgICAgICAgICRncmFwaFZlcnNpb24KICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogSW5zdGFudGlhdGVzIGEgbmV3IEZhY2Vib29rUmVxdWVzdCBlbnRpdHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICRtZXRob2QKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAgICAkZW5kcG9pbnQKICAgICAqIEBwYXJhbSBhcnJheSAgICAgICAgICAgICAgICAgICAkcGFyYW1zCiAgICAgKiBAcGFyYW0gQWNjZXNzVG9rZW58c3RyaW5nfG51bGwgJGFjY2Vzc1Rva2VuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgICAgICAgICAgJGVUYWcKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgICAgICAgICAkZ3JhcGhWZXJzaW9uCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va1JlcXVlc3QKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXF1ZXN0KCRtZXRob2QsICRlbmRwb2ludCwgYXJyYXkgJHBhcmFtcyA9IFtdLCAkYWNjZXNzVG9rZW4gPSBudWxsLCAkZVRhZyA9IG51bGwsICRncmFwaFZlcnNpb24gPSBudWxsKQogICAgewogICAgICAgICRhY2Nlc3NUb2tlbiA9ICRhY2Nlc3NUb2tlbiA/OiAkdGhpcy0+ZGVmYXVsdEFjY2Vzc1Rva2VuOwogICAgICAgICRncmFwaFZlcnNpb24gPSAkZ3JhcGhWZXJzaW9uID86ICR0aGlzLT5kZWZhdWx0R3JhcGhWZXJzaW9uOwoKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rUmVxdWVzdCgKICAgICAgICAgICAgJHRoaXMtPmFwcCwKICAgICAgICAgICAgJGFjY2Vzc1Rva2VuLAogICAgICAgICAgICAkbWV0aG9kLAogICAgICAgICAgICAkZW5kcG9pbnQsCiAgICAgICAgICAgICRwYXJhbXMsCiAgICAgICAgICAgICRlVGFnLAogICAgICAgICAgICAkZ3JhcGhWZXJzaW9uCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEZhY3RvcnkgdG8gY3JlYXRlIEZhY2Vib29rRmlsZSdzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGhUb0ZpbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rRmlsZQogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZpbGVUb1VwbG9hZCgkcGF0aFRvRmlsZSkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rRmlsZSgkcGF0aFRvRmlsZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGYWN0b3J5IHRvIGNyZWF0ZSBGYWNlYm9va1ZpZGVvJ3MuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aFRvRmlsZQogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tWaWRlbwogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZpZGVvVG9VcGxvYWQoJHBhdGhUb0ZpbGUpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBGYWNlYm9va1ZpZGVvKCRwYXRoVG9GaWxlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwbG9hZCBhIHZpZGVvIGluIGNodW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICR0YXJnZXQgVGhlIGlkIG9mIHRoZSB0YXJnZXQgbm9kZSBiZWZvcmUgdGhlIC92aWRlb3MgZWRnZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGhUb0ZpbGUgVGhlIGZ1bGwgcGF0aCB0byB0aGUgZmlsZS4KICAgICAqIEBwYXJhbSBhcnJheSAkbWV0YWRhdGEgVGhlIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgdmlkZW8gZmlsZS4KICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkYWNjZXNzVG9rZW4gVGhlIGFjY2VzcyB0b2tlbi4KICAgICAqIEBwYXJhbSBpbnQgJG1heFRyYW5zZmVyVHJpZXMgVGhlIG1heCB0aW1lcyB0byByZXRyeSBhIGZhaWxlZCB1cGxvYWQgY2h1bmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJGdyYXBoVmVyc2lvbiBUaGUgR3JhcGggQVBJIHZlcnNpb24gdG8gdXNlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cGxvYWRWaWRlbygkdGFyZ2V0LCAkcGF0aFRvRmlsZSwgJG1ldGFkYXRhID0gW10sICRhY2Nlc3NUb2tlbiA9IG51bGwsICRtYXhUcmFuc2ZlclRyaWVzID0gNSwgJGdyYXBoVmVyc2lvbiA9IG51bGwpCiAgICB7CiAgICAgICAgJGFjY2Vzc1Rva2VuID0gJGFjY2Vzc1Rva2VuID86ICR0aGlzLT5kZWZhdWx0QWNjZXNzVG9rZW47CiAgICAgICAgJGdyYXBoVmVyc2lvbiA9ICRncmFwaFZlcnNpb24gPzogJHRoaXMtPmRlZmF1bHRHcmFwaFZlcnNpb247CgogICAgICAgICR1cGxvYWRlciA9IG5ldyBGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZGVyKCR0aGlzLT5hcHAsICR0aGlzLT5jbGllbnQsICRhY2Nlc3NUb2tlbiwgJGdyYXBoVmVyc2lvbik7CiAgICAgICAgJGVuZHBvaW50ID0gJy8nLiR0YXJnZXQuJy92aWRlb3MnOwogICAgICAgICRmaWxlID0gJHRoaXMtPnZpZGVvVG9VcGxvYWQoJHBhdGhUb0ZpbGUpOwogICAgICAgICRjaHVuayA9ICR1cGxvYWRlci0+c3RhcnQoJGVuZHBvaW50LCAkZmlsZSk7CgogICAgICAgIGRvIHsKICAgICAgICAgICAgJGNodW5rID0gJHRoaXMtPm1heFRyaWVzVHJhbnNmZXIoJHVwbG9hZGVyLCAkZW5kcG9pbnQsICRjaHVuaywgJG1heFRyYW5zZmVyVHJpZXMpOwogICAgICAgIH0gd2hpbGUgKCEkY2h1bmstPmlzTGFzdENodW5rKCkpOwoKICAgICAgICByZXR1cm4gWwogICAgICAgICAgJ3ZpZGVvX2lkJyA9PiAkY2h1bmstPmdldFZpZGVvSWQoKSwKICAgICAgICAgICdzdWNjZXNzJyA9PiAkdXBsb2FkZXItPmZpbmlzaCgkZW5kcG9pbnQsICRjaHVuay0+Z2V0VXBsb2FkU2Vzc2lvbklkKCksICRtZXRhZGF0YSksCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEF0dGVtcHRzIHRvIHVwbG9hZCBhIGNodW5rIG9mIGEgZmlsZSBpbiAkcmV0cnlDb3VudGRvd24gdHJpZXMuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rUmVzdW1hYmxlVXBsb2FkZXIgJHVwbG9hZGVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludAogICAgICogQHBhcmFtIEZhY2Vib29rVHJhbnNmZXJDaHVuayAkY2h1bmsKICAgICAqIEBwYXJhbSBpbnQgJHJldHJ5Q291bnRkb3duCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va1RyYW5zZmVyQ2h1bmsKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gbWF4VHJpZXNUcmFuc2ZlcihGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZGVyICR1cGxvYWRlciwgJGVuZHBvaW50LCBGYWNlYm9va1RyYW5zZmVyQ2h1bmsgJGNodW5rLCAkcmV0cnlDb3VudGRvd24pCiAgICB7CiAgICAgICAgJG5ld0NodW5rID0gJHVwbG9hZGVyLT50cmFuc2ZlcigkZW5kcG9pbnQsICRjaHVuaywgJHJldHJ5Q291bnRkb3duIDwgMSk7CgogICAgICAgIGlmICgkbmV3Q2h1bmsgIT09ICRjaHVuaykgewogICAgICAgICAgICByZXR1cm4gJG5ld0NodW5rOwogICAgICAgIH0KCiAgICAgICAgJHJldHJ5Q291bnRkb3duLS07CgogICAgICAgIC8vIElmIHRyYW5zZmVyKCkgcmV0dXJuZWQgdGhlIHNhbWUgY2h1bmsgZW50aXR5LCB0aGUgdHJhbnNmZXIgZmFpbGVkIGJ1dCBpcyByZXN1bWFibGUuCiAgICAgICAgcmV0dXJuICR0aGlzLT5tYXhUcmllc1RyYW5zZmVyKCR1cGxvYWRlciwgJGVuZHBvaW50LCAkY2h1bmssICRyZXRyeUNvdW50ZG93bik7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FacebookApp.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb25cQWNjZXNzVG9rZW47CnVzZSBGYWNlYm9va1xFeGNlcHRpb25zXEZhY2Vib29rU0RLRXhjZXB0aW9uOwoKY2xhc3MgRmFjZWJvb2tBcHAgaW1wbGVtZW50cyBcU2VyaWFsaXphYmxlCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIGFwcCBJRC4KICAgICAqLwogICAgcHJvdGVjdGVkICRpZDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBhcHAgc2VjcmV0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJHNlY3JldDsKCiAgICAvKioKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZWNyZXQKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaWQsICRzZWNyZXQpCiAgICB7CiAgICAgICAgaWYgKCFpc19zdHJpbmcoJGlkKQogICAgICAgICAgLy8gS2VlcGluZyB0aGlzIGZvciBCQy4gSW50ZWdlcnMgZ3JlYXRlciB0aGFuIFBIUF9JTlRfTUFYIHdpbGwgbWFrZSBpc19pbnQoKSByZXR1cm4gZmFsc2UKICAgICAgICAgICYmICFpc19pbnQoJGlkKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1RoZSAiYXBwX2lkIiBtdXN0IGJlIGZvcm1hdHRlZCBhcyBhIHN0cmluZyBzaW5jZSBtYW55IGFwcCBJRFwncyBhcmUgZ3JlYXRlciB0aGFuIFBIUF9JTlRfTUFYIG9uIHNvbWUgc3lzdGVtcy4nKTsKICAgICAgICB9CiAgICAgICAgLy8gV2UgY2FzdCBhcyBhIHN0cmluZyBpbiBjYXNlIGEgdmFsaWQgaW50IHdhcyBzZXQgb24gYSA2NC1iaXQgc3lzdGVtIGFuZCB0aGlzIGlzIHVuc2VyaWFsaXNlZCBvbiBhIDMyLWJpdCBzeXN0ZW0KICAgICAgICAkdGhpcy0+aWQgPSAoc3RyaW5nKSAkaWQ7CiAgICAgICAgJHRoaXMtPnNlY3JldCA9ICRzZWNyZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBhcHAgSUQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldElkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmlkOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXBwIHNlY3JldC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VjcmV0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlY3JldDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXBwIGFjY2VzcyB0b2tlbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIEFjY2Vzc1Rva2VuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBY2Nlc3NUb2tlbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBBY2Nlc3NUb2tlbigkdGhpcy0+aWQgLiAnfCcgLiAkdGhpcy0+c2VjcmV0KTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlcmlhbGl6ZXMgdGhlIEZhY2Vib29rQXBwIGVudGl0eSBhcyBhIHN0cmluZy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VyaWFsaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gaW1wbG9kZSgnfCcsIFskdGhpcy0+aWQsICR0aGlzLT5zZWNyZXRdKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVuc2VyaWFsaXplcyBhIHN0cmluZyBhcyBhIEZhY2Vib29rQXBwIGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXJpYWxpemVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1bnNlcmlhbGl6ZSgkc2VyaWFsaXplZCkKICAgIHsKICAgICAgICBsaXN0KCRpZCwgJHNlY3JldCkgPSBleHBsb2RlKCd8JywgJHNlcmlhbGl6ZWQpOwoKICAgICAgICAkdGhpcy0+X19jb25zdHJ1Y3QoJGlkLCAkc2VjcmV0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FacebookBatchRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgQXJyYXlJdGVyYXRvcjsKdXNlIEl0ZXJhdG9yQWdncmVnYXRlOwp1c2UgQXJyYXlBY2Nlc3M7CnVzZSBGYWNlYm9va1xBdXRoZW50aWNhdGlvblxBY2Nlc3NUb2tlbjsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgovKioKICogQ2xhc3MgQmF0Y2hSZXF1ZXN0CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va0JhdGNoUmVxdWVzdCBleHRlbmRzIEZhY2Vib29rUmVxdWVzdCBpbXBsZW1lbnRzIEl0ZXJhdG9yQWdncmVnYXRlLCBBcnJheUFjY2Vzcwp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgQW4gYXJyYXkgb2YgRmFjZWJvb2tSZXF1ZXN0IGVudGl0aWVzIHRvIHNlbmQuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdHM7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFuIGFycmF5IG9mIGZpbGVzIHRvIHVwbG9hZC4KICAgICAqLwogICAgcHJvdGVjdGVkICRhdHRhY2hlZEZpbGVzOwoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIG5ldyBSZXF1ZXN0IGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tBcHB8bnVsbCAgICAgICAgJGFwcAogICAgICogQHBhcmFtIGFycmF5ICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0cwogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZ3xudWxsICRhY2Nlc3NUb2tlbgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRncmFwaFZlcnNpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEZhY2Vib29rQXBwICRhcHAgPSBudWxsLCBhcnJheSAkcmVxdWVzdHMgPSBbXSwgJGFjY2Vzc1Rva2VuID0gbnVsbCwgJGdyYXBoVmVyc2lvbiA9IG51bGwpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkYXBwLCAkYWNjZXNzVG9rZW4sICdQT1NUJywgJycsIFtdLCBudWxsLCAkZ3JhcGhWZXJzaW9uKTsKCiAgICAgICAgJHRoaXMtPmFkZCgkcmVxdWVzdHMpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkcyBhIG5ldyByZXF1ZXN0IHRvIHRoZSBhcnJheS4KICAgICAqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tSZXF1ZXN0fGFycmF5ICRyZXF1ZXN0CiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGx8YXJyYXkgICAgICRvcHRpb25zIEFycmF5IG9mIGJhdGNoIHJlcXVlc3Qgb3B0aW9ucyBlLmcuICduYW1lJywgJ29taXRfcmVzcG9uc2Vfb25fc3VjY2VzcycuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIGEgc3RyaW5nIGlzIGdpdmVuLCBpdCBpcyB0aGUgdmFsdWUgb2YgdGhlICduYW1lJyBvcHRpb24uCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va0JhdGNoUmVxdWVzdAogICAgICoKICAgICAqIEB0aHJvd3MgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkKCRyZXF1ZXN0LCAkb3B0aW9ucyA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKGlzX2FycmF5KCRyZXF1ZXN0KSkgewogICAgICAgICAgICBmb3JlYWNoICgkcmVxdWVzdCBhcyAka2V5ID0+ICRyZXEpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGQoJHJlcSwgJGtleSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9CgogICAgICAgIGlmICghJHJlcXVlc3QgaW5zdGFuY2VvZiBGYWNlYm9va1JlcXVlc3QpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0FyZ3VtZW50IGZvciBhZGQoKSBtdXN0IGJlIG9mIHR5cGUgYXJyYXkgb3IgRmFjZWJvb2tSZXF1ZXN0LicpOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bGwgPT09ICRvcHRpb25zKSB7CiAgICAgICAgICAgICRvcHRpb25zID0gW107CiAgICAgICAgfSBlbHNlaWYgKCFpc19hcnJheSgkb3B0aW9ucykpIHsKICAgICAgICAgICAgJG9wdGlvbnMgPSBbJ25hbWUnID0+ICRvcHRpb25zXTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5hZGRGYWxsYmFja0RlZmF1bHRzKCRyZXF1ZXN0KTsKCiAgICAgICAgLy8gRmlsZSB1cGxvYWRzCiAgICAgICAgJGF0dGFjaGVkRmlsZXMgPSAkdGhpcy0+ZXh0cmFjdEZpbGVBdHRhY2htZW50cygkcmVxdWVzdCk7CgogICAgICAgICRuYW1lID0gaXNzZXQoJG9wdGlvbnNbJ25hbWUnXSkgPyAkb3B0aW9uc1snbmFtZSddIDogbnVsbDsKCiAgICAgICAgdW5zZXQoJG9wdGlvbnNbJ25hbWUnXSk7CgogICAgICAgICRyZXF1ZXN0VG9BZGQgPSBbCiAgICAgICAgICAgICduYW1lJyA9PiAkbmFtZSwKICAgICAgICAgICAgJ3JlcXVlc3QnID0+ICRyZXF1ZXN0LAogICAgICAgICAgICAnb3B0aW9ucycgPT4gJG9wdGlvbnMsCiAgICAgICAgICAgICdhdHRhY2hlZF9maWxlcycgPT4gJGF0dGFjaGVkRmlsZXMsCiAgICAgICAgXTsKCiAgICAgICAgJHRoaXMtPnJlcXVlc3RzW10gPSAkcmVxdWVzdFRvQWRkOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmVzIHRoYXQgdGhlIEZhY2Vib29rQXBwIGFuZCBhY2Nlc3MgdG9rZW4gZmFsbCBiYWNrIHdoZW4gbWlzc2luZy4KICAgICAqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tSZXF1ZXN0ICRyZXF1ZXN0CiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRmFsbGJhY2tEZWZhdWx0cyhGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgaWYgKCEkcmVxdWVzdC0+Z2V0QXBwKCkpIHsKICAgICAgICAgICAgJGFwcCA9ICR0aGlzLT5nZXRBcHAoKTsKICAgICAgICAgICAgaWYgKCEkYXBwKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ01pc3NpbmcgRmFjZWJvb2tBcHAgb24gRmFjZWJvb2tSZXF1ZXN0IGFuZCBubyBmYWxsYmFjayBkZXRlY3RlZCBvbiBGYWNlYm9va0JhdGNoUmVxdWVzdC4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcmVxdWVzdC0+c2V0QXBwKCRhcHApOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEkcmVxdWVzdC0+Z2V0QWNjZXNzVG9rZW4oKSkgewogICAgICAgICAgICAkYWNjZXNzVG9rZW4gPSAkdGhpcy0+Z2V0QWNjZXNzVG9rZW4oKTsKICAgICAgICAgICAgaWYgKCEkYWNjZXNzVG9rZW4pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignTWlzc2luZyBhY2Nlc3MgdG9rZW4gb24gRmFjZWJvb2tSZXF1ZXN0IGFuZCBubyBmYWxsYmFjayBkZXRlY3RlZCBvbiBGYWNlYm9va0JhdGNoUmVxdWVzdC4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcmVxdWVzdC0+c2V0QWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBFeHRyYWN0cyB0aGUgZmlsZXMgZnJvbSBhIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rUmVxdWVzdCAkcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBleHRyYWN0RmlsZUF0dGFjaG1lbnRzKEZhY2Vib29rUmVxdWVzdCAkcmVxdWVzdCkKICAgIHsKICAgICAgICBpZiAoISRyZXF1ZXN0LT5jb250YWluc0ZpbGVVcGxvYWRzKCkpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICAkZmlsZXMgPSAkcmVxdWVzdC0+Z2V0RmlsZXMoKTsKICAgICAgICAkZmlsZU5hbWVzID0gW107CiAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgICAgICRmaWxlTmFtZSA9IHVuaXFpZCgpOwogICAgICAgICAgICAkdGhpcy0+YWRkRmlsZSgkZmlsZU5hbWUsICRmaWxlKTsKICAgICAgICAgICAgJGZpbGVOYW1lc1tdID0gJGZpbGVOYW1lOwogICAgICAgIH0KCiAgICAgICAgJHJlcXVlc3QtPnJlc2V0RmlsZXMoKTsKCiAgICAgICAgLy8gQFRPRE8gRG9lcyBHcmFwaCBzdXBwb3J0IG11bHRpcGxlIHVwbG9hZHMgb24gb25lIGVuZHBvaW50PwogICAgICAgIHJldHVybiBpbXBsb2RlKCcsJywgJGZpbGVOYW1lcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIEZhY2Vib29rUmVxdWVzdCBlbnRpdGllcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0cygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0czsKICAgIH0KCiAgICAvKioKICAgICAqIFByZXBhcmVzIHRoZSByZXF1ZXN0cyB0byBiZSBzZW50IGFzIGEgYmF0Y2ggcmVxdWVzdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByZXBhcmVSZXF1ZXN0c0ZvckJhdGNoKCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVCYXRjaFJlcXVlc3RDb3VudCgpOwoKICAgICAgICAkcGFyYW1zID0gWwogICAgICAgICAgICAnYmF0Y2gnID0+ICR0aGlzLT5jb252ZXJ0UmVxdWVzdHNUb0pzb24oKSwKICAgICAgICAgICAgJ2luY2x1ZGVfaGVhZGVycycgPT4gdHJ1ZSwKICAgICAgICBdOwogICAgICAgICR0aGlzLT5zZXRQYXJhbXMoJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyB0aGUgcmVxdWVzdHMgaW50byBhIEpTT04oUCkgc3RyaW5nLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb252ZXJ0UmVxdWVzdHNUb0pzb24oKQogICAgewogICAgICAgICRyZXF1ZXN0cyA9IFtdOwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5yZXF1ZXN0cyBhcyAkcmVxdWVzdCkgewogICAgICAgICAgICAkb3B0aW9ucyA9IFtdOwoKICAgICAgICAgICAgaWYgKG51bGwgIT09ICRyZXF1ZXN0WyduYW1lJ10pIHsKICAgICAgICAgICAgICAgICRvcHRpb25zWyduYW1lJ10gPSAkcmVxdWVzdFsnbmFtZSddOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkb3B0aW9ucyArPSAkcmVxdWVzdFsnb3B0aW9ucyddOwoKICAgICAgICAgICAgJHJlcXVlc3RzW10gPSAkdGhpcy0+cmVxdWVzdEVudGl0eVRvQmF0Y2hBcnJheSgkcmVxdWVzdFsncmVxdWVzdCddLCAkb3B0aW9ucywgJHJlcXVlc3RbJ2F0dGFjaGVkX2ZpbGVzJ10pOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGpzb25fZW5jb2RlKCRyZXF1ZXN0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZSB0aGUgcmVxdWVzdCBjb3VudCBiZWZvcmUgc2VuZGluZyB0aGVtIGFzIGEgYmF0Y2guCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGVCYXRjaFJlcXVlc3RDb3VudCgpCiAgICB7CiAgICAgICAgJGJhdGNoQ291bnQgPSBjb3VudCgkdGhpcy0+cmVxdWVzdHMpOwogICAgICAgIGlmICgkYmF0Y2hDb3VudCA9PT0gMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1RoZXJlIGFyZSBubyBiYXRjaCByZXF1ZXN0cyB0byBzZW5kLicpOwogICAgICAgIH0gZWxzZWlmICgkYmF0Y2hDb3VudCA+IDUwKSB7CiAgICAgICAgICAgIC8vIFBlcjogaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2dyYXBoLWFwaS9tYWtpbmctbXVsdGlwbGUtcmVxdWVzdHMjbGltaXRzCiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignWW91IGNhbm5vdCBzZW5kIG1vcmUgdGhhbiA1MCBiYXRjaCByZXF1ZXN0cyBhdCBhIHRpbWUuJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ29udmVydHMgYSBSZXF1ZXN0IGVudGl0eSBpbnRvIGFuIGFycmF5IHRoYXQgaXMgYmF0Y2gtZnJpZW5kbHkuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rUmVxdWVzdCAgICRyZXF1ZXN0ICAgICAgIFRoZSByZXF1ZXN0IGVudGl0eSB0byBjb252ZXJ0LgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsfGFycmF5ICRvcHRpb25zICAgICAgIEFycmF5IG9mIGJhdGNoIHJlcXVlc3Qgb3B0aW9ucyBlLmcuICduYW1lJywgJ29taXRfcmVzcG9uc2Vfb25fc3VjY2VzcycuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgYSBzdHJpbmcgaXMgZ2l2ZW4sIGl0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgJ25hbWUnIG9wdGlvbi4KICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgICAkYXR0YWNoZWRGaWxlcyBOYW1lcyBvZiBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVxdWVzdEVudGl0eVRvQmF0Y2hBcnJheShGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QsICRvcHRpb25zID0gbnVsbCwgJGF0dGFjaGVkRmlsZXMgPSBudWxsKQogICAgewoKICAgICAgICBpZiAobnVsbCA9PT0gJG9wdGlvbnMpIHsKICAgICAgICAgICAgJG9wdGlvbnMgPSBbXTsKICAgICAgICB9IGVsc2VpZiAoIWlzX2FycmF5KCRvcHRpb25zKSkgewogICAgICAgICAgICAkb3B0aW9ucyA9IFsnbmFtZScgPT4gJG9wdGlvbnNdOwogICAgICAgIH0KCiAgICAgICAgJGNvbXBpbGVkSGVhZGVycyA9IFtdOwogICAgICAgICRoZWFkZXJzID0gJHJlcXVlc3QtPmdldEhlYWRlcnMoKTsKICAgICAgICBmb3JlYWNoICgkaGVhZGVycyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJGNvbXBpbGVkSGVhZGVyc1tdID0gJG5hbWUgLiAnOiAnIC4gJHZhbHVlOwogICAgICAgIH0KCiAgICAgICAgJGJhdGNoID0gWwogICAgICAgICAgICAnaGVhZGVycycgPT4gJGNvbXBpbGVkSGVhZGVycywKICAgICAgICAgICAgJ21ldGhvZCcgPT4gJHJlcXVlc3QtPmdldE1ldGhvZCgpLAogICAgICAgICAgICAncmVsYXRpdmVfdXJsJyA9PiAkcmVxdWVzdC0+Z2V0VXJsKCksCiAgICAgICAgXTsKCiAgICAgICAgLy8gU2luY2UgZmlsZSB1cGxvYWRzIGFyZSBtb3ZlZCB0byB0aGUgcm9vdCByZXF1ZXN0IG9mIGEgYmF0Y2ggcmVxdWVzdCwKICAgICAgICAvLyB0aGUgY2hpbGQgcmVxdWVzdHMgd2lsbCBhbHdheXMgYmUgVVJMLWVuY29kZWQuCiAgICAgICAgJGJvZHkgPSAkcmVxdWVzdC0+Z2V0VXJsRW5jb2RlZEJvZHkoKS0+Z2V0Qm9keSgpOwogICAgICAgIGlmICgkYm9keSkgewogICAgICAgICAgICAkYmF0Y2hbJ2JvZHknXSA9ICRib2R5OwogICAgICAgIH0KCiAgICAgICAgJGJhdGNoICs9ICRvcHRpb25zOwoKICAgICAgICBpZiAobnVsbCAhPT0gJGF0dGFjaGVkRmlsZXMpIHsKICAgICAgICAgICAgJGJhdGNoWydhdHRhY2hlZF9maWxlcyddID0gJGF0dGFjaGVkRmlsZXM7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJhdGNoOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGl0ZXJhdG9yIGZvciB0aGUgaXRlbXMuCiAgICAgKgogICAgICogQHJldHVybiBBcnJheUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBBcnJheUl0ZXJhdG9yKCR0aGlzLT5yZXF1ZXN0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRvZmZzZXQsICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+YWRkKCR2YWx1ZSwgJG9mZnNldCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5yZXF1ZXN0c1skb2Zmc2V0XSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJG9mZnNldCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+cmVxdWVzdHNbJG9mZnNldF0pOwogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgkb2Zmc2V0KQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+cmVxdWVzdHNbJG9mZnNldF0pID8gJHRoaXMtPnJlcXVlc3RzWyRvZmZzZXRdIDogbnVsbDsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FacebookBatchResponse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgQXJyYXlJdGVyYXRvcjsKdXNlIEl0ZXJhdG9yQWdncmVnYXRlOwp1c2UgQXJyYXlBY2Nlc3M7CgovKioKICogQ2xhc3MgRmFjZWJvb2tCYXRjaFJlc3BvbnNlCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va0JhdGNoUmVzcG9uc2UgZXh0ZW5kcyBGYWNlYm9va1Jlc3BvbnNlIGltcGxlbWVudHMgSXRlcmF0b3JBZ2dyZWdhdGUsIEFycmF5QWNjZXNzCnsKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va0JhdGNoUmVxdWVzdCBUaGUgb3JpZ2luYWwgZW50aXR5IHRoYXQgbWFkZSB0aGUgYmF0Y2ggcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRiYXRjaFJlcXVlc3Q7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFuIGFycmF5IG9mIEZhY2Vib29rUmVzcG9uc2UgZW50aXRpZXMuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcmVzcG9uc2VzID0gW107CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgbmV3IFJlc3BvbnNlIGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tCYXRjaFJlcXVlc3QgJGJhdGNoUmVxdWVzdAogICAgICogQHBhcmFtIEZhY2Vib29rUmVzcG9uc2UgICAgICRyZXNwb25zZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRmFjZWJvb2tCYXRjaFJlcXVlc3QgJGJhdGNoUmVxdWVzdCwgRmFjZWJvb2tSZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgJHRoaXMtPmJhdGNoUmVxdWVzdCA9ICRiYXRjaFJlcXVlc3Q7CgogICAgICAgICRyZXF1ZXN0ID0gJHJlc3BvbnNlLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJGJvZHkgPSAkcmVzcG9uc2UtPmdldEJvZHkoKTsKICAgICAgICAkaHR0cFN0YXR1c0NvZGUgPSAkcmVzcG9uc2UtPmdldEh0dHBTdGF0dXNDb2RlKCk7CiAgICAgICAgJGhlYWRlcnMgPSAkcmVzcG9uc2UtPmdldEhlYWRlcnMoKTsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRyZXF1ZXN0LCAkYm9keSwgJGh0dHBTdGF0dXNDb2RlLCAkaGVhZGVycyk7CgogICAgICAgICRyZXNwb25zZXMgPSAkcmVzcG9uc2UtPmdldERlY29kZWRCb2R5KCk7CiAgICAgICAgJHRoaXMtPnNldFJlc3BvbnNlcygkcmVzcG9uc2VzKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgRmFjZWJvb2tSZXNwb25zZSBlbnRpdGllcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNwb25zZXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzcG9uc2VzOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIG1haW4gYmF0Y2ggcmVzcG9uc2Ugd2lsbCBiZSBhbiBhcnJheSBvZiByZXF1ZXN0cyBzbwogICAgICogd2UgbmVlZCB0byBpdGVyYXRlIG92ZXIgYWxsIHRoZSByZXNwb25zZXMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRyZXNwb25zZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFJlc3BvbnNlcyhhcnJheSAkcmVzcG9uc2VzKQogICAgewogICAgICAgICR0aGlzLT5yZXNwb25zZXMgPSBbXTsKCiAgICAgICAgZm9yZWFjaCAoJHJlc3BvbnNlcyBhcyAka2V5ID0+ICRncmFwaFJlc3BvbnNlKSB7CiAgICAgICAgICAgICR0aGlzLT5hZGRSZXNwb25zZSgka2V5LCAkZ3JhcGhSZXNwb25zZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgcmVzcG9uc2UgdG8gdGhlIGxpc3QuCiAgICAgKgogICAgICogQHBhcmFtIGludCAgICAgICAgJGtleQogICAgICogQHBhcmFtIGFycmF5fG51bGwgJHJlc3BvbnNlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRSZXNwb25zZSgka2V5LCAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgJG9yaWdpbmFsUmVxdWVzdE5hbWUgPSBpc3NldCgkdGhpcy0+YmF0Y2hSZXF1ZXN0WyRrZXldWyduYW1lJ10pID8gJHRoaXMtPmJhdGNoUmVxdWVzdFska2V5XVsnbmFtZSddIDogJGtleTsKICAgICAgICAkb3JpZ2luYWxSZXF1ZXN0ID0gaXNzZXQoJHRoaXMtPmJhdGNoUmVxdWVzdFska2V5XVsncmVxdWVzdCddKSA/ICR0aGlzLT5iYXRjaFJlcXVlc3RbJGtleV1bJ3JlcXVlc3QnXSA6IG51bGw7CgogICAgICAgICRodHRwUmVzcG9uc2VCb2R5ID0gaXNzZXQoJHJlc3BvbnNlWydib2R5J10pID8gJHJlc3BvbnNlWydib2R5J10gOiBudWxsOwogICAgICAgICRodHRwUmVzcG9uc2VDb2RlID0gaXNzZXQoJHJlc3BvbnNlWydjb2RlJ10pID8gJHJlc3BvbnNlWydjb2RlJ10gOiBudWxsOwogICAgICAgIC8vIEBUT0RPIFdpdGggUEhQIDUuNSBzdXBwb3J0LCB0aGlzIGJlY29tZXMgYXJyYXlfY29sdW1uKCRyZXNwb25zZVsnaGVhZGVycyddLCAndmFsdWUnLCAnbmFtZScpCiAgICAgICAgJGh0dHBSZXNwb25zZUhlYWRlcnMgPSBpc3NldCgkcmVzcG9uc2VbJ2hlYWRlcnMnXSkgPyAkdGhpcy0+bm9ybWFsaXplQmF0Y2hIZWFkZXJzKCRyZXNwb25zZVsnaGVhZGVycyddKSA6IFtdOwoKICAgICAgICAkdGhpcy0+cmVzcG9uc2VzWyRvcmlnaW5hbFJlcXVlc3ROYW1lXSA9IG5ldyBGYWNlYm9va1Jlc3BvbnNlKAogICAgICAgICAgICAkb3JpZ2luYWxSZXF1ZXN0LAogICAgICAgICAgICAkaHR0cFJlc3BvbnNlQm9keSwKICAgICAgICAgICAgJGh0dHBSZXNwb25zZUNvZGUsCiAgICAgICAgICAgICRodHRwUmVzcG9uc2VIZWFkZXJzCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBBcnJheUl0ZXJhdG9yKCR0aGlzLT5yZXNwb25zZXMpOwogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFNldCgkb2Zmc2V0LCAkdmFsdWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmFkZFJlc3BvbnNlKCRvZmZzZXQsICR2YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5yZXNwb25zZXNbJG9mZnNldF0pOwogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFVuc2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPnJlc3BvbnNlc1skb2Zmc2V0XSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRvZmZzZXQpCiAgICB7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5yZXNwb25zZXNbJG9mZnNldF0pID8gJHRoaXMtPnJlc3BvbnNlc1skb2Zmc2V0XSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyB0aGUgYmF0Y2ggaGVhZGVyIGFycmF5IGludG8gYSBzdGFuZGFyZCBmb3JtYXQuCiAgICAgKiBAVE9ETyByZXBsYWNlIHdpdGggYXJyYXlfY29sdW1uKCkgd2hlbiBQSFAgNS41IGlzIHN1cHBvcnRlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGJhdGNoSGVhZGVycwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBub3JtYWxpemVCYXRjaEhlYWRlcnMoYXJyYXkgJGJhdGNoSGVhZGVycykKICAgIHsKICAgICAgICAkaGVhZGVycyA9IFtdOwoKICAgICAgICBmb3JlYWNoICgkYmF0Y2hIZWFkZXJzIGFzICRoZWFkZXIpIHsKICAgICAgICAgICAgJGhlYWRlcnNbJGhlYWRlclsnbmFtZSddXSA9ICRoZWFkZXJbJ3ZhbHVlJ107CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGhlYWRlcnM7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FacebookClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgRmFjZWJvb2tcSHR0cENsaWVudHNcRmFjZWJvb2tIdHRwQ2xpZW50SW50ZXJmYWNlOwp1c2UgRmFjZWJvb2tcSHR0cENsaWVudHNcRmFjZWJvb2tDdXJsSHR0cENsaWVudDsKdXNlIEZhY2Vib29rXEh0dHBDbGllbnRzXEZhY2Vib29rU3RyZWFtSHR0cENsaWVudDsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgovKioKICogQ2xhc3MgRmFjZWJvb2tDbGllbnQKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rQ2xpZW50CnsKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBQcm9kdWN0aW9uIEdyYXBoIEFQSSBVUkwuCiAgICAgKi8KICAgIGNvbnN0IEJBU0VfR1JBUEhfVVJMID0gJ2h0dHBzOi8vZ3JhcGguZmFjZWJvb2suY29tJzsKCiAgICAvKioKICAgICAqIEBjb25zdCBzdHJpbmcgR3JhcGggQVBJIFVSTCBmb3IgdmlkZW8gdXBsb2Fkcy4KICAgICAqLwogICAgY29uc3QgQkFTRV9HUkFQSF9WSURFT19VUkwgPSAnaHR0cHM6Ly9ncmFwaC12aWRlby5mYWNlYm9vay5jb20nOwoKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBCZXRhIEdyYXBoIEFQSSBVUkwuCiAgICAgKi8KICAgIGNvbnN0IEJBU0VfR1JBUEhfVVJMX0JFVEEgPSAnaHR0cHM6Ly9ncmFwaC5iZXRhLmZhY2Vib29rLmNvbSc7CgogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIEJldGEgR3JhcGggQVBJIFVSTCBmb3IgdmlkZW8gdXBsb2Fkcy4KICAgICAqLwogICAgY29uc3QgQkFTRV9HUkFQSF9WSURFT19VUkxfQkVUQSA9ICdodHRwczovL2dyYXBoLXZpZGVvLmJldGEuZmFjZWJvb2suY29tJzsKCiAgICAvKioKICAgICAqIEBjb25zdCBpbnQgVGhlIHRpbWVvdXQgaW4gc2Vjb25kcyBmb3IgYSBub3JtYWwgcmVxdWVzdC4KICAgICAqLwogICAgY29uc3QgREVGQVVMVF9SRVFVRVNUX1RJTUVPVVQgPSA2MDsKCiAgICAvKioKICAgICAqIEBjb25zdCBpbnQgVGhlIHRpbWVvdXQgaW4gc2Vjb25kcyBmb3IgYSByZXF1ZXN0IHRoYXQgY29udGFpbnMgZmlsZSB1cGxvYWRzLgogICAgICovCiAgICBjb25zdCBERUZBVUxUX0ZJTEVfVVBMT0FEX1JFUVVFU1RfVElNRU9VVCA9IDM2MDA7CgogICAgLyoqCiAgICAgKiBAY29uc3QgaW50IFRoZSB0aW1lb3V0IGluIHNlY29uZHMgZm9yIGEgcmVxdWVzdCB0aGF0IGNvbnRhaW5zIHZpZGVvIHVwbG9hZHMuCiAgICAgKi8KICAgIGNvbnN0IERFRkFVTFRfVklERU9fVVBMT0FEX1JFUVVFU1RfVElNRU9VVCA9IDcyMDA7CgogICAgLyoqCiAgICAgKiBAdmFyIGJvb2wgVG9nZ2xlIHRvIHVzZSBHcmFwaCBiZXRhIHVybC4KICAgICAqLwogICAgcHJvdGVjdGVkICRlbmFibGVCZXRhTW9kZSA9IGZhbHNlOwoKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UgSFRUUCBjbGllbnQgaGFuZGxlci4KICAgICAqLwogICAgcHJvdGVjdGVkICRodHRwQ2xpZW50SGFuZGxlcjsKCiAgICAvKioKICAgICAqIEB2YXIgaW50IFRoZSBudW1iZXIgb2YgY2FsbHMgdGhhdCBoYXZlIGJlZW4gbWFkZSB0byBHcmFwaC4KICAgICAqLwogICAgcHVibGljIHN0YXRpYyAkcmVxdWVzdENvdW50ID0gMDsKCiAgICAvKioKICAgICAqIEluc3RhbnRpYXRlcyBhIG5ldyBGYWNlYm9va0NsaWVudCBvYmplY3QuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rSHR0cENsaWVudEludGVyZmFjZXxudWxsICRodHRwQ2xpZW50SGFuZGxlcgogICAgICogQHBhcmFtIGJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICRlbmFibGVCZXRhCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UgJGh0dHBDbGllbnRIYW5kbGVyID0gbnVsbCwgJGVuYWJsZUJldGEgPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+aHR0cENsaWVudEhhbmRsZXIgPSAkaHR0cENsaWVudEhhbmRsZXIgPzogJHRoaXMtPmRldGVjdEh0dHBDbGllbnRIYW5kbGVyKCk7CiAgICAgICAgJHRoaXMtPmVuYWJsZUJldGFNb2RlID0gJGVuYWJsZUJldGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBIVFRQIGNsaWVudCBoYW5kbGVyLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UgJGh0dHBDbGllbnRIYW5kbGVyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRIdHRwQ2xpZW50SGFuZGxlcihGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UgJGh0dHBDbGllbnRIYW5kbGVyKQogICAgewogICAgICAgICR0aGlzLT5odHRwQ2xpZW50SGFuZGxlciA9ICRodHRwQ2xpZW50SGFuZGxlcjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIEhUVFAgY2xpZW50IGhhbmRsZXIuCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEh0dHBDbGllbnRIYW5kbGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmh0dHBDbGllbnRIYW5kbGVyOwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZWN0cyB3aGljaCBIVFRQIGNsaWVudCBoYW5kbGVyIHRvIHVzZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rSHR0cENsaWVudEludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGV0ZWN0SHR0cENsaWVudEhhbmRsZXIoKQogICAgewogICAgICAgIHJldHVybiBleHRlbnNpb25fbG9hZGVkKCdjdXJsJykgPyBuZXcgRmFjZWJvb2tDdXJsSHR0cENsaWVudCgpIDogbmV3IEZhY2Vib29rU3RyZWFtSHR0cENsaWVudCgpOwogICAgfQoKICAgIC8qKgogICAgICogVG9nZ2xlIGJldGEgbW9kZS4KICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkYmV0YU1vZGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGVuYWJsZUJldGFNb2RlKCRiZXRhTW9kZSA9IHRydWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmVuYWJsZUJldGFNb2RlID0gJGJldGFNb2RlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYmFzZSBHcmFwaCBVUkwuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2xlYW4gJHBvc3RUb1ZpZGVvVXJsIFBvc3QgdG8gdGhlIHZpZGVvIEFQSSBpZiB2aWRlb3MgYXJlIGJlaW5nIHVwbG9hZGVkLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCYXNlR3JhcGhVcmwoJHBvc3RUb1ZpZGVvVXJsID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCRwb3N0VG9WaWRlb1VybCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmVuYWJsZUJldGFNb2RlID8gc3RhdGljOjpCQVNFX0dSQVBIX1ZJREVPX1VSTF9CRVRBIDogc3RhdGljOjpCQVNFX0dSQVBIX1ZJREVPX1VSTDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+ZW5hYmxlQmV0YU1vZGUgPyBzdGF0aWM6OkJBU0VfR1JBUEhfVVJMX0JFVEEgOiBzdGF0aWM6OkJBU0VfR1JBUEhfVVJMOwogICAgfQoKICAgIC8qKgogICAgICogUHJlcGFyZXMgdGhlIHJlcXVlc3QgZm9yIHNlbmRpbmcgdG8gdGhlIGNsaWVudCBoYW5kbGVyLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwcmVwYXJlUmVxdWVzdE1lc3NhZ2UoRmFjZWJvb2tSZXF1ZXN0ICRyZXF1ZXN0KQogICAgewogICAgICAgICRwb3N0VG9WaWRlb1VybCA9ICRyZXF1ZXN0LT5jb250YWluc1ZpZGVvVXBsb2FkcygpOwogICAgICAgICR1cmwgPSAkdGhpcy0+Z2V0QmFzZUdyYXBoVXJsKCRwb3N0VG9WaWRlb1VybCkgLiAkcmVxdWVzdC0+Z2V0VXJsKCk7CgogICAgICAgIC8vIElmIHdlJ3JlIHNlbmRpbmcgZmlsZXMgdGhleSBzaG91bGQgYmUgc2VudCBhcyBtdWx0aXBhcnQvZm9ybS1kYXRhCiAgICAgICAgaWYgKCRyZXF1ZXN0LT5jb250YWluc0ZpbGVVcGxvYWRzKCkpIHsKICAgICAgICAgICAgJHJlcXVlc3RCb2R5ID0gJHJlcXVlc3QtPmdldE11bHRpcGFydEJvZHkoKTsKICAgICAgICAgICAgJHJlcXVlc3QtPnNldEhlYWRlcnMoWwogICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScgPT4gJ211bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PScgLiAkcmVxdWVzdEJvZHktPmdldEJvdW5kYXJ5KCksCiAgICAgICAgICAgIF0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZXF1ZXN0Qm9keSA9ICRyZXF1ZXN0LT5nZXRVcmxFbmNvZGVkQm9keSgpOwogICAgICAgICAgICAkcmVxdWVzdC0+c2V0SGVhZGVycyhbCiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyA9PiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJywKICAgICAgICAgICAgXSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAkdXJsLAogICAgICAgICAgICAkcmVxdWVzdC0+Z2V0TWV0aG9kKCksCiAgICAgICAgICAgICRyZXF1ZXN0LT5nZXRIZWFkZXJzKCksCiAgICAgICAgICAgICRyZXF1ZXN0Qm9keS0+Z2V0Qm9keSgpLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWtlcyB0aGUgcmVxdWVzdCB0byBHcmFwaCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QKICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVzcG9uc2UKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZW5kUmVxdWVzdChGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QpCiAgICB7CiAgICAgICAgaWYgKGdldF9jbGFzcygkcmVxdWVzdCkgPT09ICdGYWNlYm9va1xGYWNlYm9va1JlcXVlc3QnKSB7CiAgICAgICAgICAgICRyZXF1ZXN0LT52YWxpZGF0ZUFjY2Vzc1Rva2VuKCk7CiAgICAgICAgfQoKICAgICAgICBsaXN0KCR1cmwsICRtZXRob2QsICRoZWFkZXJzLCAkYm9keSkgPSAkdGhpcy0+cHJlcGFyZVJlcXVlc3RNZXNzYWdlKCRyZXF1ZXN0KTsKCiAgICAgICAgLy8gU2luY2UgZmlsZSB1cGxvYWRzIGNhbiB0YWtlIGEgd2hpbGUsIHdlIG5lZWQgdG8gZ2l2ZSBtb3JlIHRpbWUgZm9yIHVwbG9hZHMKICAgICAgICAkdGltZU91dCA9IHN0YXRpYzo6REVGQVVMVF9SRVFVRVNUX1RJTUVPVVQ7CiAgICAgICAgaWYgKCRyZXF1ZXN0LT5jb250YWluc0ZpbGVVcGxvYWRzKCkpIHsKICAgICAgICAgICAgJHRpbWVPdXQgPSBzdGF0aWM6OkRFRkFVTFRfRklMRV9VUExPQURfUkVRVUVTVF9USU1FT1VUOwogICAgICAgIH0gZWxzZWlmICgkcmVxdWVzdC0+Y29udGFpbnNWaWRlb1VwbG9hZHMoKSkgewogICAgICAgICAgICAkdGltZU91dCA9IHN0YXRpYzo6REVGQVVMVF9WSURFT19VUExPQURfUkVRVUVTVF9USU1FT1VUOwogICAgICAgIH0KCiAgICAgICAgLy8gU2hvdWxkIHRocm93IGBGYWNlYm9va1NES0V4Y2VwdGlvbmAgZXhjZXB0aW9uIG9uIEhUVFAgY2xpZW50IGVycm9yLgogICAgICAgIC8vIERvbid0IGNhdGNoIHRvIGFsbG93IGl0IHRvIGJ1YmJsZSB1cC4KICAgICAgICAkcmF3UmVzcG9uc2UgPSAkdGhpcy0+aHR0cENsaWVudEhhbmRsZXItPnNlbmQoJHVybCwgJG1ldGhvZCwgJGJvZHksICRoZWFkZXJzLCAkdGltZU91dCk7CgogICAgICAgIHN0YXRpYzo6JHJlcXVlc3RDb3VudCsrOwoKICAgICAgICAkcmV0dXJuUmVzcG9uc2UgPSBuZXcgRmFjZWJvb2tSZXNwb25zZSgKICAgICAgICAgICAgJHJlcXVlc3QsCiAgICAgICAgICAgICRyYXdSZXNwb25zZS0+Z2V0Qm9keSgpLAogICAgICAgICAgICAkcmF3UmVzcG9uc2UtPmdldEh0dHBSZXNwb25zZUNvZGUoKSwKICAgICAgICAgICAgJHJhd1Jlc3BvbnNlLT5nZXRIZWFkZXJzKCkKICAgICAgICApOwoKICAgICAgICBpZiAoJHJldHVyblJlc3BvbnNlLT5pc0Vycm9yKCkpIHsKICAgICAgICAgICAgdGhyb3cgJHJldHVyblJlc3BvbnNlLT5nZXRUaHJvd25FeGNlcHRpb24oKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmV0dXJuUmVzcG9uc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWtlcyBhIGJhdGNoZWQgcmVxdWVzdCB0byBHcmFwaCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va0JhdGNoUmVxdWVzdCAkcmVxdWVzdAogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tCYXRjaFJlc3BvbnNlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZEJhdGNoUmVxdWVzdChGYWNlYm9va0JhdGNoUmVxdWVzdCAkcmVxdWVzdCkKICAgIHsKICAgICAgICAkcmVxdWVzdC0+cHJlcGFyZVJlcXVlc3RzRm9yQmF0Y2goKTsKICAgICAgICAkZmFjZWJvb2tSZXNwb25zZSA9ICR0aGlzLT5zZW5kUmVxdWVzdCgkcmVxdWVzdCk7CgogICAgICAgIHJldHVybiBuZXcgRmFjZWJvb2tCYXRjaFJlc3BvbnNlKCRyZXF1ZXN0LCAkZmFjZWJvb2tSZXNwb25zZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FacebookRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb25cQWNjZXNzVG9rZW47CnVzZSBGYWNlYm9va1xVcmxcRmFjZWJvb2tVcmxNYW5pcHVsYXRvcjsKdXNlIEZhY2Vib29rXEZpbGVVcGxvYWRcRmFjZWJvb2tGaWxlOwp1c2UgRmFjZWJvb2tcRmlsZVVwbG9hZFxGYWNlYm9va1ZpZGVvOwp1c2UgRmFjZWJvb2tcSHR0cFxSZXF1ZXN0Qm9keU11bHRpcGFydDsKdXNlIEZhY2Vib29rXEh0dHBcUmVxdWVzdEJvZHlVcmxFbmNvZGVkOwp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBSZXF1ZXN0CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1JlcXVlc3QKewogICAgLyoqCiAgICAgKiBAdmFyIEZhY2Vib29rQXBwIFRoZSBGYWNlYm9vayBhcHAgZW50aXR5LgogICAgICovCiAgICBwcm90ZWN0ZWQgJGFwcDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nfG51bGwgVGhlIGFjY2VzcyB0b2tlbiB0byB1c2UgZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRhY2Nlc3NUb2tlbjsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBIVFRQIG1ldGhvZCBmb3IgdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJG1ldGhvZDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSBHcmFwaCBlbmRwb2ludCBmb3IgdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJGVuZHBvaW50OwoKICAgIC8qKgogICAgICogQHZhciBhcnJheSBUaGUgaGVhZGVycyB0byBzZW5kIHdpdGggdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJGhlYWRlcnMgPSBbXTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIHBhcmFtZXRlcnMgdG8gc2VuZCB3aXRoIHRoaXMgcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRwYXJhbXMgPSBbXTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGZpbGVzIHRvIHNlbmQgd2l0aCB0aGlzIHJlcXVlc3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZmlsZXMgPSBbXTsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIEVUYWcgdG8gc2VuZCB3aXRoIHRoaXMgcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRlVGFnOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgR3JhcGggdmVyc2lvbiB0byB1c2UgZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRncmFwaFZlcnNpb247CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgbmV3IFJlcXVlc3QgZW50aXR5LgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va0FwcHxudWxsICAgICAgICAkYXBwCiAgICAgKiBAcGFyYW0gQWNjZXNzVG9rZW58c3RyaW5nfG51bGwgJGFjY2Vzc1Rva2VuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgICAgICAgICAgJG1ldGhvZAogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRlbmRwb2ludAogICAgICogQHBhcmFtIGFycmF5fG51bGwgICAgICAgICAgICAgICRwYXJhbXMKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgICAgICAgICAkZVRhZwogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAgICAgICAgICRncmFwaFZlcnNpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEZhY2Vib29rQXBwICRhcHAgPSBudWxsLCAkYWNjZXNzVG9rZW4gPSBudWxsLCAkbWV0aG9kID0gbnVsbCwgJGVuZHBvaW50ID0gbnVsbCwgYXJyYXkgJHBhcmFtcyA9IFtdLCAkZVRhZyA9IG51bGwsICRncmFwaFZlcnNpb24gPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5zZXRBcHAoJGFwcCk7CiAgICAgICAgJHRoaXMtPnNldEFjY2Vzc1Rva2VuKCRhY2Nlc3NUb2tlbik7CiAgICAgICAgJHRoaXMtPnNldE1ldGhvZCgkbWV0aG9kKTsKICAgICAgICAkdGhpcy0+c2V0RW5kcG9pbnQoJGVuZHBvaW50KTsKICAgICAgICAkdGhpcy0+c2V0UGFyYW1zKCRwYXJhbXMpOwogICAgICAgICR0aGlzLT5zZXRFVGFnKCRlVGFnKTsKICAgICAgICAkdGhpcy0+Z3JhcGhWZXJzaW9uID0gJGdyYXBoVmVyc2lvbiA/OiBGYWNlYm9vazo6REVGQVVMVF9HUkFQSF9WRVJTSU9OOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBhY2Nlc3MgdG9rZW4gZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gQWNjZXNzVG9rZW58c3RyaW5nfG51bGwKICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVxdWVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuKQogICAgewogICAgICAgICR0aGlzLT5hY2Nlc3NUb2tlbiA9ICRhY2Nlc3NUb2tlbjsKICAgICAgICBpZiAoJGFjY2Vzc1Rva2VuIGluc3RhbmNlb2YgQWNjZXNzVG9rZW4pIHsKICAgICAgICAgICAgJHRoaXMtPmFjY2Vzc1Rva2VuID0gJGFjY2Vzc1Rva2VuLT5nZXRWYWx1ZSgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogU2V0cyB0aGUgYWNjZXNzIHRva2VuIHdpdGggb25lIGhhcnZlc3RlZCBmcm9tIGEgVVJMIG9yIFBPU1QgcGFyYW1zLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjY2Vzc1Rva2VuIFRoZSBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va1JlcXVlc3QKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBY2Nlc3NUb2tlbkZyb21QYXJhbXMoJGFjY2Vzc1Rva2VuKQogICAgewogICAgICAgICRleGlzdGluZ0FjY2Vzc1Rva2VuID0gJHRoaXMtPmdldEFjY2Vzc1Rva2VuKCk7CiAgICAgICAgaWYgKCEkZXhpc3RpbmdBY2Nlc3NUb2tlbikgewogICAgICAgICAgICAkdGhpcy0+c2V0QWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuKTsKICAgICAgICB9IGVsc2VpZiAoJGFjY2Vzc1Rva2VuICE9PSAkZXhpc3RpbmdBY2Nlc3NUb2tlbikgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ0FjY2VzcyB0b2tlbiBtaXNtYXRjaC4gVGhlIGFjY2VzcyB0b2tlbiBwcm92aWRlZCBpbiB0aGUgRmFjZWJvb2tSZXF1ZXN0IGFuZCB0aGUgb25lIHByb3ZpZGVkIGluIHRoZSBVUkwgb3IgUE9TVCBwYXJhbXMgZG8gbm90IG1hdGNoLicpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBhY2Nlc3MgdG9rZW4gZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBY2Nlc3NUb2tlbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hY2Nlc3NUb2tlbjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgYWNjZXNzIHRva2VuIGZvciB0aGlzIHJlcXVlc3QgYXMgYW4gQWNjZXNzVG9rZW4gZW50aXR5LgogICAgICoKICAgICAqIEByZXR1cm4gQWNjZXNzVG9rZW58bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWNjZXNzVG9rZW5FbnRpdHkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YWNjZXNzVG9rZW4gPyBuZXcgQWNjZXNzVG9rZW4oJHRoaXMtPmFjY2Vzc1Rva2VuKSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIEZhY2Vib29rQXBwIGVudGl0eSB1c2VkIGZvciB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rQXBwfG51bGwgJGFwcAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0QXBwKEZhY2Vib29rQXBwICRhcHAgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5hcHAgPSAkYXBwOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBGYWNlYm9va0FwcCBlbnRpdHkgdXNlZCBmb3IgdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tBcHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hcHA7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZSBhbiBhcHAgc2VjcmV0IHByb29mIHRvIHNpZ24gdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcFNlY3JldFByb29mKCkKICAgIHsKICAgICAgICBpZiAoISRhY2Nlc3NUb2tlbkVudGl0eSA9ICR0aGlzLT5nZXRBY2Nlc3NUb2tlbkVudGl0eSgpKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRhY2Nlc3NUb2tlbkVudGl0eS0+Z2V0QXBwU2VjcmV0UHJvb2YoJHRoaXMtPmFwcC0+Z2V0U2VjcmV0KCkpOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGUgdGhhdCBhbiBhY2Nlc3MgdG9rZW4gZXhpc3RzIGZvciB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGVBY2Nlc3NUb2tlbigpCiAgICB7CiAgICAgICAgJGFjY2Vzc1Rva2VuID0gJHRoaXMtPmdldEFjY2Vzc1Rva2VuKCk7CiAgICAgICAgaWYgKCEkYWNjZXNzVG9rZW4pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdZb3UgbXVzdCBwcm92aWRlIGFuIGFjY2VzcyB0b2tlbi4nKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIEhUVFAgbWV0aG9kIGZvciB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TWV0aG9kKCRtZXRob2QpCiAgICB7CiAgICAgICAgJHRoaXMtPm1ldGhvZCA9IHN0cnRvdXBwZXIoJG1ldGhvZCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIEhUVFAgbWV0aG9kIGZvciB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1ldGhvZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tZXRob2Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZSB0aGF0IHRoZSBIVFRQIG1ldGhvZCBpcyBzZXQuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGVNZXRob2QoKQogICAgewogICAgICAgIGlmICghJHRoaXMtPm1ldGhvZCkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ0hUVFAgbWV0aG9kIG5vdCBzcGVjaWZpZWQuJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWluX2FycmF5KCR0aGlzLT5tZXRob2QsIFsnR0VUJywgJ1BPU1QnLCAnREVMRVRFJ10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignSW52YWxpZCBIVFRQIG1ldGhvZCBzcGVjaWZpZWQuJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBlbmRwb2ludCBmb3IgdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVxdWVzdAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEVuZHBvaW50KCRlbmRwb2ludCkKICAgIHsKICAgICAgICAvLyBIYXJ2ZXN0IHRoZSBhY2Nlc3MgdG9rZW4gZnJvbSB0aGUgZW5kcG9pbnQgdG8ga2VlcCB0aGluZ3MgaW4gc3luYwogICAgICAgICRwYXJhbXMgPSBGYWNlYm9va1VybE1hbmlwdWxhdG9yOjpnZXRQYXJhbXNBc0FycmF5KCRlbmRwb2ludCk7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2FjY2Vzc190b2tlbiddKSkgewogICAgICAgICAgICAkdGhpcy0+c2V0QWNjZXNzVG9rZW5Gcm9tUGFyYW1zKCRwYXJhbXNbJ2FjY2Vzc190b2tlbiddKTsKICAgICAgICB9CgogICAgICAgIC8vIENsZWFuIHRoZSB0b2tlbiAmIGFwcCBzZWNyZXQgcHJvb2YgZnJvbSB0aGUgZW5kcG9pbnQuCiAgICAgICAgJGZpbHRlclBhcmFtcyA9IFsnYWNjZXNzX3Rva2VuJywgJ2FwcHNlY3JldF9wcm9vZiddOwogICAgICAgICR0aGlzLT5lbmRwb2ludCA9IEZhY2Vib29rVXJsTWFuaXB1bGF0b3I6OnJlbW92ZVBhcmFtc0Zyb21VcmwoJGVuZHBvaW50LCAkZmlsdGVyUGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBlbmRwb2ludCBmb3IgdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFbmRwb2ludCgpCiAgICB7CiAgICAgICAgLy8gRm9yIGJhdGNoIHJlcXVlc3RzLCB0aGlzIHdpbGwgYmUgZW1wdHkKICAgICAgICByZXR1cm4gJHRoaXMtPmVuZHBvaW50OwogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGUgYW5kIHJldHVybiB0aGUgaGVhZGVycyBmb3IgdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhlYWRlcnMoKQogICAgewogICAgICAgICRoZWFkZXJzID0gc3RhdGljOjpnZXREZWZhdWx0SGVhZGVycygpOwoKICAgICAgICBpZiAoJHRoaXMtPmVUYWcpIHsKICAgICAgICAgICAgJGhlYWRlcnNbJ0lmLU5vbmUtTWF0Y2gnXSA9ICR0aGlzLT5lVGFnOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGFycmF5X21lcmdlKCR0aGlzLT5oZWFkZXJzLCAkaGVhZGVycyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGhlYWRlcnMgZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGhlYWRlcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldEhlYWRlcnMoYXJyYXkgJGhlYWRlcnMpCiAgICB7CiAgICAgICAgJHRoaXMtPmhlYWRlcnMgPSBhcnJheV9tZXJnZSgkdGhpcy0+aGVhZGVycywgJGhlYWRlcnMpOwogICAgfQoKICAgIC8qKgogICAgICogU2V0cyB0aGUgZVRhZyB2YWx1ZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlVGFnCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFVGFnKCRlVGFnKQogICAgewogICAgICAgICR0aGlzLT5lVGFnID0gJGVUYWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHBhcmFtcyBmb3IgdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va1JlcXVlc3QKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQYXJhbXMoYXJyYXkgJHBhcmFtcyA9IFtdKQogICAgewogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEFjY2Vzc1Rva2VuRnJvbVBhcmFtcygkcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSk7CiAgICAgICAgfQoKICAgICAgICAvLyBEb24ndCBsZXQgdGhlc2UgYnVnZ2VycyBzbGlwIGluLgogICAgICAgIHVuc2V0KCRwYXJhbXNbJ2FjY2Vzc190b2tlbiddLCAkcGFyYW1zWydhcHBzZWNyZXRfcHJvb2YnXSk7CgogICAgICAgIC8vIEBUT0RPIFJlZmFjdG9yIGNvZGUgYWJvdmUgd2l0aCB0aGlzCiAgICAgICAgLy8kcGFyYW1zID0gJHRoaXMtPnNhbml0aXplQXV0aGVudGljYXRpb25QYXJhbXMoJHBhcmFtcyk7CiAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5zYW5pdGl6ZUZpbGVQYXJhbXMoJHBhcmFtcyk7CiAgICAgICAgJHRoaXMtPmRhbmdlcm91c2x5U2V0UGFyYW1zKCRwYXJhbXMpOwoKICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHBhcmFtcyBmb3IgdGhpcyByZXF1ZXN0IHdpdGhvdXQgZmlsdGVyaW5nIHRoZW0gZmlyc3QuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMKICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVxdWVzdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGFuZ2Vyb3VzbHlTZXRQYXJhbXMoYXJyYXkgJHBhcmFtcyA9IFtdKQogICAgewogICAgICAgICR0aGlzLT5wYXJhbXMgPSBhcnJheV9tZXJnZSgkdGhpcy0+cGFyYW1zLCAkcGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogSXRlcmF0ZSBvdmVyIHRoZSBwYXJhbXMgYW5kIHB1bGwgb3V0IHRoZSBmaWxlIHVwbG9hZHMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzYW5pdGl6ZUZpbGVQYXJhbXMoYXJyYXkgJHBhcmFtcykKICAgIHsKICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgIGlmICgkdmFsdWUgaW5zdGFuY2VvZiBGYWNlYm9va0ZpbGUpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRGaWxlKCRrZXksICR2YWx1ZSk7CiAgICAgICAgICAgICAgICB1bnNldCgkcGFyYW1zWyRrZXldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRwYXJhbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBmaWxlIHRvIGJlIHVwbG9hZGVkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgJGtleQogICAgICogQHBhcmFtIEZhY2Vib29rRmlsZSAkZmlsZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkRmlsZSgka2V5LCBGYWNlYm9va0ZpbGUgJGZpbGUpCiAgICB7CiAgICAgICAgJHRoaXMtPmZpbGVzWyRrZXldID0gJGZpbGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmVzIGFsbCB0aGUgZmlsZXMgZnJvbSB0aGUgdXBsb2FkIHF1ZXVlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzZXRGaWxlcygpCiAgICB7CiAgICAgICAgJHRoaXMtPmZpbGVzID0gW107CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGxpc3Qgb2YgZmlsZXMgdG8gYmUgdXBsb2FkZWQuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RmlsZXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZmlsZXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBMZXQncyB1cyBrbm93IGlmIHRoZXJlIGlzIGEgZmlsZSB1cGxvYWQgd2l0aCB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb250YWluc0ZpbGVVcGxvYWRzKCkKICAgIHsKICAgICAgICByZXR1cm4gIWVtcHR5KCR0aGlzLT5maWxlcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBMZXQncyB1cyBrbm93IGlmIHRoZXJlIGlzIGEgdmlkZW8gdXBsb2FkIHdpdGggdGhpcyByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY29udGFpbnNWaWRlb1VwbG9hZHMoKQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5maWxlcyBhcyAkZmlsZSkgewogICAgICAgICAgICBpZiAoJGZpbGUgaW5zdGFuY2VvZiBGYWNlYm9va1ZpZGVvKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYm9keSBvZiB0aGUgcmVxdWVzdCBhcyBtdWx0aXBhcnQvZm9ybS1kYXRhLgogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEJvZHlNdWx0aXBhcnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE11bHRpcGFydEJvZHkoKQogICAgewogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0UG9zdFBhcmFtcygpOwoKICAgICAgICByZXR1cm4gbmV3IFJlcXVlc3RCb2R5TXVsdGlwYXJ0KCRwYXJhbXMsICR0aGlzLT5maWxlcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBib2R5IG9mIHRoZSByZXF1ZXN0IGFzIFVSTC1lbmNvZGVkLgogICAgICoKICAgICAqIEByZXR1cm4gUmVxdWVzdEJvZHlVcmxFbmNvZGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcmxFbmNvZGVkQm9keSgpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5nZXRQb3N0UGFyYW1zKCk7CgogICAgICAgIHJldHVybiBuZXcgUmVxdWVzdEJvZHlVcmxFbmNvZGVkKCRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGUgYW5kIHJldHVybiB0aGUgcGFyYW1zIGZvciB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFyYW1zKCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnBhcmFtczsKCiAgICAgICAgJGFjY2Vzc1Rva2VuID0gJHRoaXMtPmdldEFjY2Vzc1Rva2VuKCk7CiAgICAgICAgaWYgKCRhY2Nlc3NUb2tlbikgewogICAgICAgICAgICAkcGFyYW1zWydhY2Nlc3NfdG9rZW4nXSA9ICRhY2Nlc3NUb2tlbjsKICAgICAgICAgICAgJHBhcmFtc1snYXBwc2VjcmV0X3Byb29mJ10gPSAkdGhpcy0+Z2V0QXBwU2VjcmV0UHJvb2YoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcGFyYW1zOwogICAgfQoKICAgIC8qKgogICAgICogT25seSByZXR1cm4gcGFyYW1zIG9uIFBPU1QgcmVxdWVzdHMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UG9zdFBhcmFtcygpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5nZXRNZXRob2QoKSA9PT0gJ1BPU1QnKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UGFyYW1zKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gW107CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgZ3JhcGggdmVyc2lvbiB1c2VkIGZvciB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEdyYXBoVmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ncmFwaFZlcnNpb247CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZSBhbmQgcmV0dXJuIHRoZSBVUkwgZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJsKCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVNZXRob2QoKTsKCiAgICAgICAgJGdyYXBoVmVyc2lvbiA9IEZhY2Vib29rVXJsTWFuaXB1bGF0b3I6OmZvcmNlU2xhc2hQcmVmaXgoJHRoaXMtPmdyYXBoVmVyc2lvbik7CiAgICAgICAgJGVuZHBvaW50ID0gRmFjZWJvb2tVcmxNYW5pcHVsYXRvcjo6Zm9yY2VTbGFzaFByZWZpeCgkdGhpcy0+Z2V0RW5kcG9pbnQoKSk7CgogICAgICAgICR1cmwgPSAkZ3JhcGhWZXJzaW9uIC4gJGVuZHBvaW50OwoKICAgICAgICBpZiAoJHRoaXMtPmdldE1ldGhvZCgpICE9PSAnUE9TVCcpIHsKICAgICAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5nZXRQYXJhbXMoKTsKICAgICAgICAgICAgJHVybCA9IEZhY2Vib29rVXJsTWFuaXB1bGF0b3I6OmFwcGVuZFBhcmFtc1RvVXJsKCR1cmwsICRwYXJhbXMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR1cmw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGRlZmF1bHQgaGVhZGVycyB0aGF0IGV2ZXJ5IHJlcXVlc3Qgc2hvdWxkIHVzZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RGVmYXVsdEhlYWRlcnMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICdVc2VyLUFnZW50JyA9PiAnZmItcGhwLScgLiBGYWNlYm9vazo6VkVSU0lPTiwKICAgICAgICAgICAgJ0FjY2VwdC1FbmNvZGluZycgPT4gJyonLAogICAgICAgIF07CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FacebookResponse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaE5vZGVGYWN0b3J5Owp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1Jlc3BvbnNlRXhjZXB0aW9uOwp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1Jlc3BvbnNlCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1Jlc3BvbnNlCnsKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIEhUVFAgc3RhdHVzIGNvZGUgcmVzcG9uc2UgZnJvbSBHcmFwaC4KICAgICAqLwogICAgcHJvdGVjdGVkICRodHRwU3RhdHVzQ29kZTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGhlYWRlcnMgcmV0dXJuZWQgZnJvbSBHcmFwaC4KICAgICAqLwogICAgcHJvdGVjdGVkICRoZWFkZXJzOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHJhdyBib2R5IG9mIHRoZSByZXNwb25zZSBmcm9tIEdyYXBoLgogICAgICovCiAgICBwcm90ZWN0ZWQgJGJvZHk7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSBkZWNvZGVkIGJvZHkgb2YgdGhlIEdyYXBoIHJlc3BvbnNlLgogICAgICovCiAgICBwcm90ZWN0ZWQgJGRlY29kZWRCb2R5ID0gW107CgogICAgLyoqCiAgICAgKiBAdmFyIEZhY2Vib29rUmVxdWVzdCBUaGUgb3JpZ2luYWwgcmVxdWVzdCB0aGF0IHJldHVybmVkIHRoaXMgcmVzcG9uc2UuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcmVxdWVzdDsKCiAgICAvKioKICAgICAqIEB2YXIgRmFjZWJvb2tTREtFeGNlcHRpb24gVGhlIGV4Y2VwdGlvbiB0aHJvd24gYnkgdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJHRocm93bkV4Y2VwdGlvbjsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBuZXcgUmVzcG9uc2UgZW50aXR5LgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgJGJvZHkKICAgICAqIEBwYXJhbSBpbnR8bnVsbCAgICAgICAgJGh0dHBTdGF0dXNDb2RlCiAgICAgKiBAcGFyYW0gYXJyYXl8bnVsbCAgICAgICRoZWFkZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QsICRib2R5ID0gbnVsbCwgJGh0dHBTdGF0dXNDb2RlID0gbnVsbCwgYXJyYXkgJGhlYWRlcnMgPSBbXSkKICAgIHsKICAgICAgICAkdGhpcy0+cmVxdWVzdCA9ICRyZXF1ZXN0OwogICAgICAgICR0aGlzLT5ib2R5ID0gJGJvZHk7CiAgICAgICAgJHRoaXMtPmh0dHBTdGF0dXNDb2RlID0gJGh0dHBTdGF0dXNDb2RlOwogICAgICAgICR0aGlzLT5oZWFkZXJzID0gJGhlYWRlcnM7CgogICAgICAgICR0aGlzLT5kZWNvZGVCb2R5KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIG9yaWdpbmFsIHJlcXVlc3QgdGhhdCByZXR1cm5lZCB0aGlzIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXF1ZXN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIEZhY2Vib29rQXBwIGVudGl0eSB1c2VkIGZvciB0aGlzIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tBcHAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXF1ZXN0LT5nZXRBcHAoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgYWNjZXNzIHRva2VuIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgcmVzcG9uc2UuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWNjZXNzVG9rZW4oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVxdWVzdC0+Z2V0QWNjZXNzVG9rZW4oKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgSFRUUCBzdGF0dXMgY29kZSBmb3IgdGhpcyByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SHR0cFN0YXR1c0NvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aHR0cFN0YXR1c0NvZGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIEhUVFAgaGVhZGVycyBmb3IgdGhpcyByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIZWFkZXJzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmhlYWRlcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHJhdyBib2R5IHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCb2R5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJvZHk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGRlY29kZWQgYm9keSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREZWNvZGVkQm9keSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5kZWNvZGVkQm9keTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYXBwIHNlY3JldCBwcm9vZiB0aGF0IHdhcyB1c2VkIGZvciB0aGlzIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcFNlY3JldFByb29mKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlcXVlc3QtPmdldEFwcFNlY3JldFByb29mKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEVUYWcgYXNzb2NpYXRlZCB3aXRoIHRoZSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFVGFnKCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmhlYWRlcnNbJ0VUYWcnXSkgPyAkdGhpcy0+aGVhZGVyc1snRVRhZyddIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgdmVyc2lvbiBvZiBHcmFwaCB0aGF0IHJldHVybmVkIHRoaXMgcmVzcG9uc2UuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JhcGhWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmhlYWRlcnNbJ0ZhY2Vib29rLUFQSS1WZXJzaW9uJ10pID8gJHRoaXMtPmhlYWRlcnNbJ0ZhY2Vib29rLUFQSS1WZXJzaW9uJ10gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIEdyYXBoIHJldHVybmVkIGFuIGVycm9yIG1lc3NhZ2UuCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0Vycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmRlY29kZWRCb2R5WydlcnJvciddKTsKICAgIH0KCiAgICAvKioKICAgICAqIFRocm93cyB0aGUgZXhjZXB0aW9uLgogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHRocm93RXhjZXB0aW9uKCkKICAgIHsKICAgICAgICB0aHJvdyAkdGhpcy0+dGhyb3duRXhjZXB0aW9uOwogICAgfQoKICAgIC8qKgogICAgICogSW5zdGFudGlhdGVzIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24gbGF0ZXIuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICAkdGhpcy0+dGhyb3duRXhjZXB0aW9uID0gRmFjZWJvb2tSZXNwb25zZUV4Y2VwdGlvbjo6Y3JlYXRlKCR0aGlzKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGV4Y2VwdGlvbiB0aGF0IHdhcyB0aHJvd24gZm9yIHRoaXMgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcmV0dXJuIEZhY2Vib29rUmVzcG9uc2VFeGNlcHRpb258bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGhyb3duRXhjZXB0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRocm93bkV4Y2VwdGlvbjsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhlIHJhdyByZXNwb25zZSBpbnRvIGFuIGFycmF5IGlmIHBvc3NpYmxlLgogICAgICoKICAgICAqIEdyYXBoIHdpbGwgcmV0dXJuIDIgdHlwZXMgb2YgcmVzcG9uc2VzOgogICAgICogLSBKU09OKFApCiAgICAgKiAgICBNb3N0IHJlc3BvbnNlcyBmcm9tIEdyYXBoIGFyZSBKU09OKFApCiAgICAgKiAtIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCBrZXkvdmFsdWUgcGFpcnMKICAgICAqICAgIEhhcHBlbnMgb24gdGhlIGAvb2F1dGgvYWNjZXNzX3Rva2VuYCBlbmRwb2ludCB3aGVuIGV4Y2hhbmdpbmcKICAgICAqICAgIGEgc2hvcnQtbGl2ZWQgYWNjZXNzIHRva2VuIGZvciBhIGxvbmctbGl2ZWQgYWNjZXNzIHRva2VuCiAgICAgKiAtIEFuZCBzb21ldGltZXMgbm90aGluZyA6LyBidXQgdGhhdCdkIGJlIGEgYnVnLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVjb2RlQm9keSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmRlY29kZWRCb2R5ID0ganNvbl9kZWNvZGUoJHRoaXMtPmJvZHksIHRydWUpOwoKICAgICAgICBpZiAoJHRoaXMtPmRlY29kZWRCb2R5ID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5kZWNvZGVkQm9keSA9IFtdOwogICAgICAgICAgICBwYXJzZV9zdHIoJHRoaXMtPmJvZHksICR0aGlzLT5kZWNvZGVkQm9keSk7CiAgICAgICAgfSBlbHNlaWYgKGlzX2Jvb2woJHRoaXMtPmRlY29kZWRCb2R5KSkgewogICAgICAgICAgICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgR3JhcGggPCAyLjEuCiAgICAgICAgICAgIC8vIE1pbWljcyAyLjEgcmVzcG9uc2VzLgogICAgICAgICAgICAvLyBAVE9ETyBSZW1vdmUgdGhpcyBhZnRlciBHcmFwaCAyLjAgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZAogICAgICAgICAgICAkdGhpcy0+ZGVjb2RlZEJvZHkgPSBbJ3N1Y2Nlc3MnID0+ICR0aGlzLT5kZWNvZGVkQm9keV07CiAgICAgICAgfSBlbHNlaWYgKGlzX251bWVyaWMoJHRoaXMtPmRlY29kZWRCb2R5KSkgewogICAgICAgICAgICAkdGhpcy0+ZGVjb2RlZEJvZHkgPSBbJ2lkJyA9PiAkdGhpcy0+ZGVjb2RlZEJvZHldOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc19hcnJheSgkdGhpcy0+ZGVjb2RlZEJvZHkpKSB7CiAgICAgICAgICAgICR0aGlzLT5kZWNvZGVkQm9keSA9IFtdOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5pc0Vycm9yKCkpIHsKICAgICAgICAgICAgJHRoaXMtPm1ha2VFeGNlcHRpb24oKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBJbnN0YW50aWF0ZSBhIG5ldyBHcmFwaE9iamVjdCBmcm9tIHJlc3BvbnNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkc3ViY2xhc3NOYW1lIFRoZSBHcmFwaE5vZGUgc3ViY2xhc3MgdG8gY2FzdCB0by4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoT2JqZWN0CiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICoKICAgICAqIEBkZXByZWNhdGVkIDUuMC4wIGdldEdyYXBoT2JqZWN0KCkgaGFzIGJlZW4gcmVuYW1lZCB0byBnZXRHcmFwaE5vZGUoKQogICAgICogQHRvZG8gdjY6IFJlbW92ZSB0aGlzIG1ldGhvZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JhcGhPYmplY3QoJHN1YmNsYXNzTmFtZSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRHcmFwaE5vZGUoJHN1YmNsYXNzTmFtZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbnN0YW50aWF0ZSBhIG5ldyBHcmFwaE5vZGUgZnJvbSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgR3JhcGhOb2RlIHN1YmNsYXNzIHRvIGNhc3QgdG8uCiAgICAgKgogICAgICogQHJldHVybiBcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaE5vZGUKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHcmFwaE5vZGUoJHN1YmNsYXNzTmFtZSA9IG51bGwpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgR3JhcGhOb2RlRmFjdG9yeSgkdGhpcyk7CgogICAgICAgIHJldHVybiAkZmFjdG9yeS0+bWFrZUdyYXBoTm9kZSgkc3ViY2xhc3NOYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBHcmFwaEFsYnVtIGNvbGxlY3Rpb24uCiAgICAgKgogICAgICogQHJldHVybiBcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaEFsYnVtCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JhcGhBbGJ1bSgpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgR3JhcGhOb2RlRmFjdG9yeSgkdGhpcyk7CgogICAgICAgIHJldHVybiAkZmFjdG9yeS0+bWFrZUdyYXBoQWxidW0oKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBHcmFwaFBhZ2UgY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoUGFnZQogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEdyYXBoUGFnZSgpCiAgICB7CiAgICAgICAgJGZhY3RvcnkgPSBuZXcgR3JhcGhOb2RlRmFjdG9yeSgkdGhpcyk7CgogICAgICAgIHJldHVybiAkZmFjdG9yeS0+bWFrZUdyYXBoUGFnZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIEdyYXBoU2Vzc2lvbkluZm8gY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoU2Vzc2lvbkluZm8KICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHcmFwaFNlc3Npb25JbmZvKCkKICAgIHsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBHcmFwaE5vZGVGYWN0b3J5KCR0aGlzKTsKCiAgICAgICAgcmV0dXJuICRmYWN0b3J5LT5tYWtlR3JhcGhTZXNzaW9uSW5mbygpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIEdyYXBoVXNlciBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhVc2VyCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JhcGhVc2VyKCkKICAgIHsKICAgICAgICAkZmFjdG9yeSA9IG5ldyBHcmFwaE5vZGVGYWN0b3J5KCR0aGlzKTsKCiAgICAgICAgcmV0dXJuICRmYWN0b3J5LT5tYWtlR3JhcGhVc2VyKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgR3JhcGhFdmVudCBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhFdmVudAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEdyYXBoRXZlbnQoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IEdyYXBoTm9kZUZhY3RvcnkoJHRoaXMpOwoKICAgICAgICByZXR1cm4gJGZhY3RvcnktPm1ha2VHcmFwaEV2ZW50KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgR3JhcGhHcm91cCBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhHcm91cAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEdyYXBoR3JvdXAoKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IEdyYXBoTm9kZUZhY3RvcnkoJHRoaXMpOwoKICAgICAgICByZXR1cm4gJGZhY3RvcnktPm1ha2VHcmFwaEdyb3VwKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbnN0YW50aWF0ZSBhIG5ldyBHcmFwaExpc3QgZnJvbSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgR3JhcGhOb2RlIHN1YmNsYXNzIHRvIGNhc3QgbGlzdCBpdGVtcyB0by4KICAgICAqIEBwYXJhbSBib29sZWFuICAgICAkYXV0b19wcmVmaXggIFRvZ2dsZSB0byBhdXRvLXByZWZpeCB0aGUgc3ViY2xhc3MgbmFtZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoTGlzdAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZCA1LjAuMCBnZXRHcmFwaExpc3QoKSBoYXMgYmVlbiByZW5hbWVkIHRvIGdldEdyYXBoRWRnZSgpCiAgICAgKiBAdG9kbyB2NjogUmVtb3ZlIHRoaXMgbWV0aG9kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHcmFwaExpc3QoJHN1YmNsYXNzTmFtZSA9IG51bGwsICRhdXRvX3ByZWZpeCA9IHRydWUpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRHcmFwaEVkZ2UoJHN1YmNsYXNzTmFtZSwgJGF1dG9fcHJlZml4KTsKICAgIH0KCiAgICAvKioKICAgICAqIEluc3RhbnRpYXRlIGEgbmV3IEdyYXBoRWRnZSBmcm9tIHJlc3BvbnNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkc3ViY2xhc3NOYW1lIFRoZSBHcmFwaE5vZGUgc3ViY2xhc3MgdG8gY2FzdCBsaXN0IGl0ZW1zIHRvLgogICAgICogQHBhcmFtIGJvb2xlYW4gICAgICRhdXRvX3ByZWZpeCAgVG9nZ2xlIHRvIGF1dG8tcHJlZml4IHRoZSBzdWJjbGFzcyBuYW1lLgogICAgICoKICAgICAqIEByZXR1cm4gXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhFZGdlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JhcGhFZGdlKCRzdWJjbGFzc05hbWUgPSBudWxsLCAkYXV0b19wcmVmaXggPSB0cnVlKQogICAgewogICAgICAgICRmYWN0b3J5ID0gbmV3IEdyYXBoTm9kZUZhY3RvcnkoJHRoaXMpOwoKICAgICAgICByZXR1cm4gJGZhY3RvcnktPm1ha2VHcmFwaEVkZ2UoJHN1YmNsYXNzTmFtZSwgJGF1dG9fcHJlZml4KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FileUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FileUpload/FacebookFile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRmlsZVVwbG9hZDsKCnVzZSBGYWNlYm9va1xFeGNlcHRpb25zXEZhY2Vib29rU0RLRXhjZXB0aW9uOwoKLyoqCiAqIENsYXNzIEZhY2Vib29rRmlsZQogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tGaWxlCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHBhdGggdG8gdGhlIGZpbGUgb24gdGhlIHN5c3RlbS4KICAgICAqLwogICAgcHJvdGVjdGVkICRwYXRoOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIG1heGltdW0gYnl0ZXMgdG8gcmVhZC4gRGVmYXVsdHMgdG8gLTEgKHJlYWQgYWxsIHRoZSByZW1haW5pbmcgYnVmZmVyKS4KICAgICAqLwogICAgcHJpdmF0ZSAkbWF4TGVuZ3RoOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgU2VlayB0byB0aGUgc3BlY2lmaWVkIG9mZnNldCBiZWZvcmUgcmVhZGluZy4gSWYgdGhpcyBudW1iZXIgaXMgbmVnYXRpdmUsIG5vIHNlZWtpbmcgd2lsbCBvY2N1ciBhbmQgcmVhZGluZyB3aWxsIHN0YXJ0IGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAgICAgKi8KICAgIHByaXZhdGUgJG9mZnNldDsKCiAgICAvKioKICAgICAqIEB2YXIgcmVzb3VyY2UgVGhlIHN0cmVhbSBwb2ludGluZyB0byB0aGUgZmlsZS4KICAgICAqLwogICAgcHJvdGVjdGVkICRzdHJlYW07CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgbmV3IEZhY2Vib29rRmlsZSBlbnRpdHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZmlsZVBhdGgKICAgICAqIEBwYXJhbSBpbnQgJG1heExlbmd0aAogICAgICogQHBhcmFtIGludCAkb2Zmc2V0CiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGZpbGVQYXRoLCAkbWF4TGVuZ3RoID0gLTEsICRvZmZzZXQgPSAtMSkKICAgIHsKICAgICAgICAkdGhpcy0+cGF0aCA9ICRmaWxlUGF0aDsKICAgICAgICAkdGhpcy0+bWF4TGVuZ3RoID0gJG1heExlbmd0aDsKICAgICAgICAkdGhpcy0+b2Zmc2V0ID0gJG9mZnNldDsKICAgICAgICAkdGhpcy0+b3BlbigpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2VzIHRoZSBzdHJlYW0gd2hlbiBkZXN0cnVjdGVkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsb3NlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBPcGVucyBhIHN0cmVhbSBmb3IgdGhlIGZpbGUuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gb3BlbigpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+aXNSZW1vdGVGaWxlKCR0aGlzLT5wYXRoKSAmJiAhaXNfcmVhZGFibGUoJHRoaXMtPnBhdGgpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignRmFpbGVkIHRvIGNyZWF0ZSBGYWNlYm9va0ZpbGUgZW50aXR5LiBVbmFibGUgdG8gcmVhZCByZXNvdXJjZTogJyAuICR0aGlzLT5wYXRoIC4gJy4nKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5zdHJlYW0gPSBmb3BlbigkdGhpcy0+cGF0aCwgJ3InKTsKCiAgICAgICAgaWYgKCEkdGhpcy0+c3RyZWFtKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignRmFpbGVkIHRvIGNyZWF0ZSBGYWNlYm9va0ZpbGUgZW50aXR5LiBVbmFibGUgdG8gb3BlbiByZXNvdXJjZTogJyAuICR0aGlzLT5wYXRoIC4gJy4nKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTdG9wcyB0aGUgZmlsZSBzdHJlYW0uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbG9zZSgpCiAgICB7CiAgICAgICAgaWYgKGlzX3Jlc291cmNlKCR0aGlzLT5zdHJlYW0pKSB7CiAgICAgICAgICAgIGZjbG9zZSgkdGhpcy0+c3RyZWFtKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb250ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuIHN0cmVhbV9nZXRfY29udGVudHMoJHRoaXMtPnN0cmVhbSwgJHRoaXMtPm1heExlbmd0aCwgJHRoaXMtPm9mZnNldCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGZpbGUuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpbGVOYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gYmFzZW5hbWUoJHRoaXMtPnBhdGgpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBwYXRoIG9mIHRoZSBmaWxlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaWxlUGF0aCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXRoOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBzaXplIG9mIHRoZSBmaWxlLgogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTaXplKCkKICAgIHsKICAgICAgICByZXR1cm4gZmlsZXNpemUoJHRoaXMtPnBhdGgpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBtaW1ldHlwZSBvZiB0aGUgZmlsZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWltZXR5cGUoKQogICAgewogICAgICAgIHJldHVybiBNaW1ldHlwZXM6OmdldEluc3RhbmNlKCktPmZyb21GaWxlbmFtZSgkdGhpcy0+cGF0aCkgPzogJ3RleHQvcGxhaW4nOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBwYXRoIHRvIHRoZSBmaWxlIGlzIHJlbW90ZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoVG9GaWxlCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpc1JlbW90ZUZpbGUoJHBhdGhUb0ZpbGUpCiAgICB7CiAgICAgICAgcmV0dXJuIHByZWdfbWF0Y2goJy9eKGh0dHBzP3xmdHApOlwvXC8uKi8nLCAkcGF0aFRvRmlsZSkgPT09IDE7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FileUpload/FacebookResumableUploader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRmlsZVVwbG9hZDsKCnVzZSBGYWNlYm9va1xBdXRoZW50aWNhdGlvblxBY2Nlc3NUb2tlbjsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tSZXNwb25zZUV4Y2VwdGlvbjsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tSZXN1bWFibGVVcGxvYWRFeGNlcHRpb247CnVzZSBGYWNlYm9va1xFeGNlcHRpb25zXEZhY2Vib29rU0RLRXhjZXB0aW9uOwp1c2UgRmFjZWJvb2tcRmFjZWJvb2tBcHA7CnVzZSBGYWNlYm9va1xGYWNlYm9va0NsaWVudDsKdXNlIEZhY2Vib29rXEZhY2Vib29rUmVxdWVzdDsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZGVyCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZGVyCnsKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va0FwcAogICAgICovCiAgICBwcm90ZWN0ZWQgJGFwcDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYWNjZXNzVG9rZW47CgogICAgLyoqCiAgICAgKiBAdmFyIEZhY2Vib29rQ2xpZW50IFRoZSBGYWNlYm9vayBjbGllbnQgc2VydmljZS4KICAgICAqLwogICAgcHJvdGVjdGVkICRjbGllbnQ7CgogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBHcmFwaCB2ZXJzaW9uIHRvIHVzZSBmb3IgdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJGdyYXBoVmVyc2lvbjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBGYWNlYm9va0FwcCAgICAgICAgICAgICAkYXBwCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tDbGllbnQgICAgICAgICAgJGNsaWVudAogICAgICogQHBhcmFtIEFjY2Vzc1Rva2VufHN0cmluZ3xudWxsICRhY2Nlc3NUb2tlbgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICAgICRncmFwaFZlcnNpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEZhY2Vib29rQXBwICRhcHAsIEZhY2Vib29rQ2xpZW50ICRjbGllbnQsICRhY2Nlc3NUb2tlbiwgJGdyYXBoVmVyc2lvbikKICAgIHsKICAgICAgICAkdGhpcy0+YXBwID0gJGFwcDsKICAgICAgICAkdGhpcy0+Y2xpZW50ID0gJGNsaWVudDsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkYWNjZXNzVG9rZW47CiAgICAgICAgJHRoaXMtPmdyYXBoVmVyc2lvbiA9ICRncmFwaFZlcnNpb247CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGxvYWQgYnkgY2h1bmtzIC0gc3RhcnQgcGhhc2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludAogICAgICogQHBhcmFtIEZhY2Vib29rRmlsZSAkZmlsZQogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tUcmFuc2ZlckNodW5rCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RhcnQoJGVuZHBvaW50LCBGYWNlYm9va0ZpbGUgJGZpbGUpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IFsKICAgICAgICAgICAgJ3VwbG9hZF9waGFzZScgPT4gJ3N0YXJ0JywKICAgICAgICAgICAgJ2ZpbGVfc2l6ZScgPT4gJGZpbGUtPmdldFNpemUoKSwKICAgICAgICBdOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5zZW5kVXBsb2FkUmVxdWVzdCgkZW5kcG9pbnQsICRwYXJhbXMpOwoKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rVHJhbnNmZXJDaHVuaygkZmlsZSwgJHJlc3BvbnNlWyd1cGxvYWRfc2Vzc2lvbl9pZCddLCAkcmVzcG9uc2VbJ3ZpZGVvX2lkJ10sICRyZXNwb25zZVsnc3RhcnRfb2Zmc2V0J10sICRyZXNwb25zZVsnZW5kX29mZnNldCddKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwbG9hZCBieSBjaHVua3MgLSB0cmFuc2ZlciBwaGFzZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGVuZHBvaW50CiAgICAgKiBAcGFyYW0gRmFjZWJvb2tUcmFuc2ZlckNodW5rICRjaHVuawogICAgICogQHBhcmFtIGJvb2xlYW4gJGFsbG93VG9UaHJvdwogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tUcmFuc2ZlckNodW5rCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1Jlc3BvbnNlRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2ZlcigkZW5kcG9pbnQsIEZhY2Vib29rVHJhbnNmZXJDaHVuayAkY2h1bmssICRhbGxvd1RvVGhyb3cgPSBmYWxzZSkKICAgIHsKICAgICAgICAkcGFyYW1zID0gWwogICAgICAgICAgICAndXBsb2FkX3BoYXNlJyA9PiAndHJhbnNmZXInLAogICAgICAgICAgICAndXBsb2FkX3Nlc3Npb25faWQnID0+ICRjaHVuay0+Z2V0VXBsb2FkU2Vzc2lvbklkKCksCiAgICAgICAgICAgICdzdGFydF9vZmZzZXQnID0+ICRjaHVuay0+Z2V0U3RhcnRPZmZzZXQoKSwKICAgICAgICAgICAgJ3ZpZGVvX2ZpbGVfY2h1bmsnID0+ICRjaHVuay0+Z2V0UGFydGlhbEZpbGUoKSwKICAgICAgICBdOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSAkdGhpcy0+c2VuZFVwbG9hZFJlcXVlc3QoJGVuZHBvaW50LCAkcGFyYW1zKTsKICAgICAgICB9IGNhdGNoIChGYWNlYm9va1Jlc3BvbnNlRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRwcmVFeGNlcHRpb24gPSAkZS0+Z2V0UHJldmlvdXMoKTsKICAgICAgICAgICAgaWYgKCRhbGxvd1RvVGhyb3cgfHwgISRwcmVFeGNlcHRpb24gaW5zdGFuY2VvZiBGYWNlYm9va1Jlc3VtYWJsZVVwbG9hZEV4Y2VwdGlvbikgewogICAgICAgICAgICAgICAgdGhyb3cgJGU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJldHVybiB0aGUgc2FtZSBjaHVuayBlbnRpdHkgc28gaXQgY2FuIGJlIHJldHJpZWQuCiAgICAgICAgICAgIHJldHVybiAkY2h1bms7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rVHJhbnNmZXJDaHVuaygkY2h1bmstPmdldEZpbGUoKSwgJGNodW5rLT5nZXRVcGxvYWRTZXNzaW9uSWQoKSwgJGNodW5rLT5nZXRWaWRlb0lkKCksICRyZXNwb25zZVsnc3RhcnRfb2Zmc2V0J10sICRyZXNwb25zZVsnZW5kX29mZnNldCddKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwbG9hZCBieSBjaHVua3MgLSBmaW5pc2ggcGhhc2UKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludAogICAgICogQHBhcmFtIHN0cmluZyAkdXBsb2FkU2Vzc2lvbklkCiAgICAgKiBAcGFyYW0gYXJyYXkgJG1ldGFkYXRhIFRoZSBtZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGZpbGUuCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZmluaXNoKCRlbmRwb2ludCwgJHVwbG9hZFNlc3Npb25JZCwgJG1ldGFkYXRhID0gW10pCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5X21lcmdlKCRtZXRhZGF0YSwgWwogICAgICAgICAgICAndXBsb2FkX3BoYXNlJyA9PiAnZmluaXNoJywKICAgICAgICAgICAgJ3VwbG9hZF9zZXNzaW9uX2lkJyA9PiAkdXBsb2FkU2Vzc2lvbklkLAogICAgICAgIF0pOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5zZW5kVXBsb2FkUmVxdWVzdCgkZW5kcG9pbnQsICRwYXJhbXMpOwoKICAgICAgICByZXR1cm4gJHJlc3BvbnNlWydzdWNjZXNzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBIZWxwZXIgdG8gbWFrZSBhIEZhY2Vib29rUmVxdWVzdCBhbmQgc2VuZCBpdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludCBUaGUgZW5kcG9pbnQgdG8gUE9TVCB0by4KICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIFRoZSBwYXJhbXMgdG8gc2VuZCB3aXRoIHRoZSByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBzZW5kVXBsb2FkUmVxdWVzdCgkZW5kcG9pbnQsICRwYXJhbXMgPSBbXSkKICAgIHsKICAgICAgICAkcmVxdWVzdCA9IG5ldyBGYWNlYm9va1JlcXVlc3QoJHRoaXMtPmFwcCwgJHRoaXMtPmFjY2Vzc1Rva2VuLCAnUE9TVCcsICRlbmRwb2ludCwgJHBhcmFtcywgbnVsbCwgJHRoaXMtPmdyYXBoVmVyc2lvbik7CgogICAgICAgIHJldHVybiAkdGhpcy0+Y2xpZW50LT5zZW5kUmVxdWVzdCgkcmVxdWVzdCktPmdldERlY29kZWRCb2R5KCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FileUpload/FacebookTransferChunk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRmlsZVVwbG9hZDsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1RyYW5zZmVyQ2h1bmsKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rVHJhbnNmZXJDaHVuawp7CiAgICAvKioKICAgICAqIEB2YXIgRmFjZWJvb2tGaWxlIFRoZSBmaWxlIHRvIGNodW5rIGR1cmluZyB1cGxvYWQuCiAgICAgKi8KICAgIHByaXZhdGUgJGZpbGU7CgogICAgLyoqCiAgICAgKiBAdmFyIGludCBUaGUgSUQgb2YgdGhlIHVwbG9hZCBzZXNzaW9uLgogICAgICovCiAgICBwcml2YXRlICR1cGxvYWRTZXNzaW9uSWQ7CgogICAgLyoqCiAgICAgKiBAdmFyIGludCBTdGFydCBieXRlIHBvc2l0aW9uIG9mIHRoZSBuZXh0IGZpbGUgY2h1bmsuCiAgICAgKi8KICAgIHByaXZhdGUgJHN0YXJ0T2Zmc2V0OwoKICAgIC8qKgogICAgICogQHZhciBpbnQgRW5kIGJ5dGUgcG9zaXRpb24gb2YgdGhlIG5leHQgZmlsZSBjaHVuay4KICAgICAqLwogICAgcHJpdmF0ZSAkZW5kT2Zmc2V0OwoKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIElEIG9mIHRoZSB2aWRlby4KICAgICAqLwogICAgcHJpdmF0ZSAkdmlkZW9JZDsKCiAgICAvKioKICAgICAqIEBwYXJhbSBGYWNlYm9va0ZpbGUgJGZpbGUKICAgICAqIEBwYXJhbSBpbnQgJHVwbG9hZFNlc3Npb25JZAogICAgICogQHBhcmFtIGludCAkdmlkZW9JZAogICAgICogQHBhcmFtIGludCAkc3RhcnRPZmZzZXQKICAgICAqIEBwYXJhbSBpbnQgJGVuZE9mZnNldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRmFjZWJvb2tGaWxlICRmaWxlLCAkdXBsb2FkU2Vzc2lvbklkLCAkdmlkZW9JZCwgJHN0YXJ0T2Zmc2V0LCAkZW5kT2Zmc2V0KQogICAgewogICAgICAgICR0aGlzLT5maWxlID0gJGZpbGU7CiAgICAgICAgJHRoaXMtPnVwbG9hZFNlc3Npb25JZCA9ICR1cGxvYWRTZXNzaW9uSWQ7CiAgICAgICAgJHRoaXMtPnZpZGVvSWQgPSAkdmlkZW9JZDsKICAgICAgICAkdGhpcy0+c3RhcnRPZmZzZXQgPSAkc3RhcnRPZmZzZXQ7CiAgICAgICAgJHRoaXMtPmVuZE9mZnNldCA9ICRlbmRPZmZzZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGZpbGUgZW50aXR5LgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tGaWxlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGaWxlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmZpbGU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBGYWNlYm9va0ZpbGUgZW50aXR5IHdpdGggcGFydGlhbCBjb250ZW50LgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tGaWxlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJ0aWFsRmlsZSgpCiAgICB7CiAgICAgICAgJG1heExlbmd0aCA9ICR0aGlzLT5lbmRPZmZzZXQgLSAkdGhpcy0+c3RhcnRPZmZzZXQ7CgogICAgICAgIHJldHVybiBuZXcgRmFjZWJvb2tGaWxlKCR0aGlzLT5maWxlLT5nZXRGaWxlUGF0aCgpLCAkbWF4TGVuZ3RoLCAkdGhpcy0+c3RhcnRPZmZzZXQpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHVwbG9hZCBzZXNzaW9uIElkCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVwbG9hZFNlc3Npb25JZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51cGxvYWRTZXNzaW9uSWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayB3aGV0aGVyIGlzIHRoZSBsYXN0IGNodW5rCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0xhc3RDaHVuaygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdGFydE9mZnNldCA9PT0gJHRoaXMtPmVuZE9mZnNldDsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdGFydE9mZnNldCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdGFydE9mZnNldDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB1cGxvYWRlZCB2aWRlbyBJZAogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWaWRlb0lkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnZpZGVvSWQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FileUpload/FacebookVideo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRmlsZVVwbG9hZDsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1ZpZGVvCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1ZpZGVvIGV4dGVuZHMgRmFjZWJvb2tGaWxlCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/FileUpload/Mimetypes.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcRmlsZVVwbG9hZDsKCi8qKgogKiBQcm92aWRlcyBtYXBwaW5ncyBvZiBmaWxlIGV4dGVuc2lvbnMgdG8gbWltZXR5cGVzCiAqCiAqIFRha2VuIGZyb20gR3V6emxlCiAqCiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvYmxvYi9tYXN0ZXIvc3JjL01pbWV0eXBlcy5waHAKICoKICogQGxpbmsgaHR0cDovL3N2bi5hcGFjaGUub3JnL3JlcG9zL2FzZi9odHRwZC9odHRwZC9icmFuY2hlcy8xLjMueC9jb25mL21pbWUudHlwZXMKICovCmNsYXNzIE1pbWV0eXBlcwp7CiAgICAvKiogQHZhciBzZWxmICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRpbnN0YW5jZTsKCiAgICAvKiogQHZhciBhcnJheSBNYXBwaW5nIG9mIGV4dGVuc2lvbiB0byBtaW1ldHlwZSAqLwogICAgcHJvdGVjdGVkICRtaW1ldHlwZXMgPSBbCiAgICAgICAgJzNkbWwnID0+ICd0ZXh0L3ZuZC5pbjNkLjNkbWwnLAogICAgICAgICczZzInID0+ICd2aWRlby8zZ3BwMicsCiAgICAgICAgJzNncCcgPT4gJ3ZpZGVvLzNncHAnLAogICAgICAgICc3eicgPT4gJ2FwcGxpY2F0aW9uL3gtN3otY29tcHJlc3NlZCcsCiAgICAgICAgJ2FhYicgPT4gJ2FwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1iaW4nLAogICAgICAgICdhYWMnID0+ICdhdWRpby94LWFhYycsCiAgICAgICAgJ2FhbScgPT4gJ2FwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1tYXAnLAogICAgICAgICdhYXMnID0+ICdhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtc2VnJywKICAgICAgICAnYWJ3JyA9PiAnYXBwbGljYXRpb24veC1hYml3b3JkJywKICAgICAgICAnYWMnID0+ICdhcHBsaWNhdGlvbi9wa2l4LWF0dHItY2VydCcsCiAgICAgICAgJ2FjYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hbWVyaWNhbmR5bmFtaWNzLmFjYycsCiAgICAgICAgJ2FjZScgPT4gJ2FwcGxpY2F0aW9uL3gtYWNlLWNvbXByZXNzZWQnLAogICAgICAgICdhY3UnID0+ICdhcHBsaWNhdGlvbi92bmQuYWN1Y29ib2wnLAogICAgICAgICdhY3V0YycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hY3Vjb3JwJywKICAgICAgICAnYWRwJyA9PiAnYXVkaW8vYWRwY20nLAogICAgICAgICdhZXAnID0+ICdhcHBsaWNhdGlvbi92bmQuYXVkaW9ncmFwaCcsCiAgICAgICAgJ2FmbScgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ2FmcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pYm0ubW9kY2FwJywKICAgICAgICAnYWhlYWQnID0+ICdhcHBsaWNhdGlvbi92bmQuYWhlYWQuc3BhY2UnLAogICAgICAgICdhaScgPT4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnLAogICAgICAgICdhaWYnID0+ICdhdWRpby94LWFpZmYnLAogICAgICAgICdhaWZjJyA9PiAnYXVkaW8veC1haWZmJywKICAgICAgICAnYWlmZicgPT4gJ2F1ZGlvL3gtYWlmZicsCiAgICAgICAgJ2FpcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hZG9iZS5haXItYXBwbGljYXRpb24taW5zdGFsbGVyLXBhY2thZ2UremlwJywKICAgICAgICAnYWl0JyA9PiAnYXBwbGljYXRpb24vdm5kLmR2Yi5haXQnLAogICAgICAgICdhbWknID0+ICdhcHBsaWNhdGlvbi92bmQuYW1pZ2EuYW1pJywKICAgICAgICAnYXBrJyA9PiAnYXBwbGljYXRpb24vdm5kLmFuZHJvaWQucGFja2FnZS1hcmNoaXZlJywKICAgICAgICAnYXBwbGljYXRpb24nID0+ICdhcHBsaWNhdGlvbi94LW1zLWFwcGxpY2F0aW9uJywKICAgICAgICAnYXByJyA9PiAnYXBwbGljYXRpb24vdm5kLmxvdHVzLWFwcHJvYWNoJywKICAgICAgICAnYXNhJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2FzYXgnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdhc2MnID0+ICdhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlJywKICAgICAgICAnYXNjeCcgPT4gJ3RleHQvcGxhaW4nLAogICAgICAgICdhc2YnID0+ICd2aWRlby94LW1zLWFzZicsCiAgICAgICAgJ2FzaHgnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXNtJyA9PiAndGV4dC94LWFzbScsCiAgICAgICAgJ2FzbXgnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXNvJyA9PiAnYXBwbGljYXRpb24vdm5kLmFjY3BhYy5zaW1wbHkuYXNvJywKICAgICAgICAnYXNwJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2FzcHgnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXN4JyA9PiAndmlkZW8veC1tcy1hc2YnLAogICAgICAgICdhdGMnID0+ICdhcHBsaWNhdGlvbi92bmQuYWN1Y29ycCcsCiAgICAgICAgJ2F0b20nID0+ICdhcHBsaWNhdGlvbi9hdG9tK3htbCcsCiAgICAgICAgJ2F0b21jYXQnID0+ICdhcHBsaWNhdGlvbi9hdG9tY2F0K3htbCcsCiAgICAgICAgJ2F0b21zdmMnID0+ICdhcHBsaWNhdGlvbi9hdG9tc3ZjK3htbCcsCiAgICAgICAgJ2F0eCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5hbnRpeC5nYW1lLWNvbXBvbmVudCcsCiAgICAgICAgJ2F1JyA9PiAnYXVkaW8vYmFzaWMnLAogICAgICAgICdhdmknID0+ICd2aWRlby94LW1zdmlkZW8nLAogICAgICAgICdhdycgPT4gJ2FwcGxpY2F0aW9uL2FwcGxpeHdhcmUnLAogICAgICAgICdheGQnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnYXpmJyA9PiAnYXBwbGljYXRpb24vdm5kLmFpcnppcC5maWxlc2VjdXJlLmF6ZicsCiAgICAgICAgJ2F6cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5haXJ6aXAuZmlsZXNlY3VyZS5henMnLAogICAgICAgICdhencnID0+ICdhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rJywKICAgICAgICAnYmF0JyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKICAgICAgICAnYmNwaW8nID0+ICdhcHBsaWNhdGlvbi94LWJjcGlvJywKICAgICAgICAnYmRmJyA9PiAnYXBwbGljYXRpb24veC1mb250LWJkZicsCiAgICAgICAgJ2JkbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG0rd2J4bWwnLAogICAgICAgICdiZWQnID0+ICdhcHBsaWNhdGlvbi92bmQucmVhbHZuYy5iZWQnLAogICAgICAgICdiaDInID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c3BycycsCiAgICAgICAgJ2JpbicgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2JtaScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ibWknLAogICAgICAgICdibXAnID0+ICdpbWFnZS9ibXAnLAogICAgICAgICdib29rJyA9PiAnYXBwbGljYXRpb24vdm5kLmZyYW1lbWFrZXInLAogICAgICAgICdib3gnID0+ICdhcHBsaWNhdGlvbi92bmQucHJldmlld3N5c3RlbXMuYm94JywKICAgICAgICAnYm96JyA9PiAnYXBwbGljYXRpb24veC1iemlwMicsCiAgICAgICAgJ2JwaycgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2J0aWYnID0+ICdpbWFnZS9wcnMuYnRpZicsCiAgICAgICAgJ2J6JyA9PiAnYXBwbGljYXRpb24veC1iemlwJywKICAgICAgICAnYnoyJyA9PiAnYXBwbGljYXRpb24veC1iemlwMicsCiAgICAgICAgJ2MnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2MxMWFtYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jbHVldHJ1c3QuY2FydG9tb2JpbGUtY29uZmlnJywKICAgICAgICAnYzExYW16JyA9PiAnYXBwbGljYXRpb24vdm5kLmNsdWV0cnVzdC5jYXJ0b21vYmlsZS1jb25maWctcGtnJywKICAgICAgICAnYzRkJyA9PiAnYXBwbGljYXRpb24vdm5kLmNsb25rLmM0Z3JvdXAnLAogICAgICAgICdjNGYnID0+ICdhcHBsaWNhdGlvbi92bmQuY2xvbmsuYzRncm91cCcsCiAgICAgICAgJ2M0ZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jbG9uay5jNGdyb3VwJywKICAgICAgICAnYzRwJyA9PiAnYXBwbGljYXRpb24vdm5kLmNsb25rLmM0Z3JvdXAnLAogICAgICAgICdjNHUnID0+ICdhcHBsaWNhdGlvbi92bmQuY2xvbmsuYzRncm91cCcsCiAgICAgICAgJ2NhYicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1jYWItY29tcHJlc3NlZCcsCiAgICAgICAgJ2NhcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jdXJsLmNhcicsCiAgICAgICAgJ2NhdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wa2kuc2VjY2F0JywKICAgICAgICAnY2MnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2NjdCcgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdjY3htbCcgPT4gJ2FwcGxpY2F0aW9uL2NjeG1sK3htbCcsCiAgICAgICAgJ2NkYmNtc2cnID0+ICdhcHBsaWNhdGlvbi92bmQuY29udGFjdC5jbXNnJywKICAgICAgICAnY2RmJyA9PiAnYXBwbGljYXRpb24veC1uZXRjZGYnLAogICAgICAgICdjZGtleScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tZWRpYXN0YXRpb24uY2RrZXknLAogICAgICAgICdjZG1pYScgPT4gJ2FwcGxpY2F0aW9uL2NkbWktY2FwYWJpbGl0eScsCiAgICAgICAgJ2NkbWljJyA9PiAnYXBwbGljYXRpb24vY2RtaS1jb250YWluZXInLAogICAgICAgICdjZG1pZCcgPT4gJ2FwcGxpY2F0aW9uL2NkbWktZG9tYWluJywKICAgICAgICAnY2RtaW8nID0+ICdhcHBsaWNhdGlvbi9jZG1pLW9iamVjdCcsCiAgICAgICAgJ2NkbWlxJyA9PiAnYXBwbGljYXRpb24vY2RtaS1xdWV1ZScsCiAgICAgICAgJ2NkeCcgPT4gJ2NoZW1pY2FsL3gtY2R4JywKICAgICAgICAnY2R4bWwnID0+ICdhcHBsaWNhdGlvbi92bmQuY2hlbWRyYXcreG1sJywKICAgICAgICAnY2R5JyA9PiAnYXBwbGljYXRpb24vdm5kLmNpbmRlcmVsbGEnLAogICAgICAgICdjZXInID0+ICdhcHBsaWNhdGlvbi9wa2l4LWNlcnQnLAogICAgICAgICdjZmMnID0+ICdhcHBsaWNhdGlvbi94LWNvbGRmdXNpb24nLAogICAgICAgICdjZm0nID0+ICdhcHBsaWNhdGlvbi94LWNvbGRmdXNpb24nLAogICAgICAgICdjZ20nID0+ICdpbWFnZS9jZ20nLAogICAgICAgICdjaGF0JyA9PiAnYXBwbGljYXRpb24veC1jaGF0JywKICAgICAgICAnY2htJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWh0bWxoZWxwJywKICAgICAgICAnY2hydCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rZGUua2NoYXJ0JywKICAgICAgICAnY2lmJyA9PiAnY2hlbWljYWwveC1jaWYnLAogICAgICAgICdjaWknID0+ICdhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWNlcnRpZmljYXRlLWlzc3VlLWluaXRpYXRpb24nLAogICAgICAgICdjaWwnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtYXJ0Z2FscnknLAogICAgICAgICdjbGEnID0+ICdhcHBsaWNhdGlvbi92bmQuY2xheW1vcmUnLAogICAgICAgICdjbGFzcycgPT4gJ2FwcGxpY2F0aW9uL2phdmEtdm0nLAogICAgICAgICdjbGtrJyA9PiAnYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIua2V5Ym9hcmQnLAogICAgICAgICdjbGtwJyA9PiAnYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIucGFsZXR0ZScsCiAgICAgICAgJ2Nsa3QnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci50ZW1wbGF0ZScsCiAgICAgICAgJ2Nsa3cnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci53b3JkYmFuaycsCiAgICAgICAgJ2Nsa3gnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlcicsCiAgICAgICAgJ2NscCcgPT4gJ2FwcGxpY2F0aW9uL3gtbXNjbGlwJywKICAgICAgICAnY21jJyA9PiAnYXBwbGljYXRpb24vdm5kLmNvc21vY2FsbGVyJywKICAgICAgICAnY21kZicgPT4gJ2NoZW1pY2FsL3gtY21kZicsCiAgICAgICAgJ2NtbCcgPT4gJ2NoZW1pY2FsL3gtY21sJywKICAgICAgICAnY21wJyA9PiAnYXBwbGljYXRpb24vdm5kLnllbGxvd3JpdmVyLWN1c3RvbS1tZW51JywKICAgICAgICAnY214JyA9PiAnaW1hZ2UveC1jbXgnLAogICAgICAgICdjb2QnID0+ICdhcHBsaWNhdGlvbi92bmQucmltLmNvZCcsCiAgICAgICAgJ2NvbScgPT4gJ2FwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCcsCiAgICAgICAgJ2NvbmYnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnY3BpbycgPT4gJ2FwcGxpY2F0aW9uL3gtY3BpbycsCiAgICAgICAgJ2NwcCcgPT4gJ3RleHQveC1jJywKICAgICAgICAnY3B0JyA9PiAnYXBwbGljYXRpb24vbWFjLWNvbXBhY3Rwcm8nLAogICAgICAgICdjcmQnID0+ICdhcHBsaWNhdGlvbi94LW1zY2FyZGZpbGUnLAogICAgICAgICdjcmwnID0+ICdhcHBsaWNhdGlvbi9wa2l4LWNybCcsCiAgICAgICAgJ2NydCcgPT4gJ2FwcGxpY2F0aW9uL3gteDUwOS1jYS1jZXJ0JywKICAgICAgICAnY3J5cHRvbm90ZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5yaWcuY3J5cHRvbm90ZScsCiAgICAgICAgJ2NzJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2NzaCcgPT4gJ2FwcGxpY2F0aW9uL3gtY3NoJywKICAgICAgICAnY3NtbCcgPT4gJ2NoZW1pY2FsL3gtY3NtbCcsCiAgICAgICAgJ2NzcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jb21tb25zcGFjZScsCiAgICAgICAgJ2NzcycgPT4gJ3RleHQvY3NzJywKICAgICAgICAnY3N0JyA9PiAnYXBwbGljYXRpb24veC1kaXJlY3RvcicsCiAgICAgICAgJ2NzdicgPT4gJ3RleHQvY3N2JywKICAgICAgICAnY3UnID0+ICdhcHBsaWNhdGlvbi9jdS1zZWVtZScsCiAgICAgICAgJ2N1cmwnID0+ICd0ZXh0L3ZuZC5jdXJsJywKICAgICAgICAnY3d3JyA9PiAnYXBwbGljYXRpb24vcHJzLmN3dycsCiAgICAgICAgJ2N4dCcgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdjeHgnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2RhZScgPT4gJ21vZGVsL3ZuZC5jb2xsYWRhK3htbCcsCiAgICAgICAgJ2RhZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb2JpdXMuZGFmJywKICAgICAgICAnZGF0YWxlc3MnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRzbi5zZWVkJywKICAgICAgICAnZGF2bW91bnQnID0+ICdhcHBsaWNhdGlvbi9kYXZtb3VudCt4bWwnLAogICAgICAgICdkY3InID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAnZGN1cmwnID0+ICd0ZXh0L3ZuZC5jdXJsLmRjdXJsJywKICAgICAgICAnZGQyJyA9PiAnYXBwbGljYXRpb24vdm5kLm9tYS5kZDIreG1sJywKICAgICAgICAnZGRkJyA9PiAnYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kZGQnLAogICAgICAgICdkZWInID0+ICdhcHBsaWNhdGlvbi94LWRlYmlhbi1wYWNrYWdlJywKICAgICAgICAnZGVmJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2RlcGxveScgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2RlcicgPT4gJ2FwcGxpY2F0aW9uL3gteDUwOS1jYS1jZXJ0JywKICAgICAgICAnZGZhYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kcmVhbWZhY3RvcnknLAogICAgICAgICdkaWMnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2RpcicgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdkaXMnID0+ICdhcHBsaWNhdGlvbi92bmQubW9iaXVzLmRpcycsCiAgICAgICAgJ2Rpc3QnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdkaXN0eicgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2RqdicgPT4gJ2ltYWdlL3ZuZC5kanZ1JywKICAgICAgICAnZGp2dScgPT4gJ2ltYWdlL3ZuZC5kanZ1JywKICAgICAgICAnZGxsJyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKICAgICAgICAnZG1nJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnZG1zJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnZG5hJyA9PiAnYXBwbGljYXRpb24vdm5kLmRuYScsCiAgICAgICAgJ2RvYycgPT4gJ2FwcGxpY2F0aW9uL21zd29yZCcsCiAgICAgICAgJ2RvY20nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtd29yZC5kb2N1bWVudC5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICdkb2N4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLAogICAgICAgICdkb3QnID0+ICdhcHBsaWNhdGlvbi9tc3dvcmQnLAogICAgICAgICdkb3RtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmQudGVtcGxhdGUubWFjcm9lbmFibGVkLjEyJywKICAgICAgICAnZG90eCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlJywKICAgICAgICAnZHAnID0+ICdhcHBsaWNhdGlvbi92bmQub3NnaS5kcCcsCiAgICAgICAgJ2RwZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kcGdyYXBoJywKICAgICAgICAnZHJhJyA9PiAnYXVkaW8vdm5kLmRyYScsCiAgICAgICAgJ2RzYycgPT4gJ3RleHQvcHJzLmxpbmVzLnRhZycsCiAgICAgICAgJ2Rzc2MnID0+ICdhcHBsaWNhdGlvbi9kc3NjK2RlcicsCiAgICAgICAgJ2R0YicgPT4gJ2FwcGxpY2F0aW9uL3gtZHRib29rK3htbCcsCiAgICAgICAgJ2R0ZCcgPT4gJ2FwcGxpY2F0aW9uL3htbC1kdGQnLAogICAgICAgICdkdHMnID0+ICdhdWRpby92bmQuZHRzJywKICAgICAgICAnZHRzaGQnID0+ICdhdWRpby92bmQuZHRzLmhkJywKICAgICAgICAnZHVtcCcgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2R2aScgPT4gJ2FwcGxpY2F0aW9uL3gtZHZpJywKICAgICAgICAnZHdmJyA9PiAnbW9kZWwvdm5kLmR3ZicsCiAgICAgICAgJ2R3ZycgPT4gJ2ltYWdlL3ZuZC5kd2cnLAogICAgICAgICdkeGYnID0+ICdpbWFnZS92bmQuZHhmJywKICAgICAgICAnZHhwJyA9PiAnYXBwbGljYXRpb24vdm5kLnNwb3RmaXJlLmR4cCcsCiAgICAgICAgJ2R4cicgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICdlY2VscDQ4MDAnID0+ICdhdWRpby92bmQubnVlcmEuZWNlbHA0ODAwJywKICAgICAgICAnZWNlbHA3NDcwJyA9PiAnYXVkaW8vdm5kLm51ZXJhLmVjZWxwNzQ3MCcsCiAgICAgICAgJ2VjZWxwOTYwMCcgPT4gJ2F1ZGlvL3ZuZC5udWVyYS5lY2VscDk2MDAnLAogICAgICAgICdlY21hJyA9PiAnYXBwbGljYXRpb24vZWNtYXNjcmlwdCcsCiAgICAgICAgJ2VkbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub3ZhZGlnbS5lZG0nLAogICAgICAgICdlZHgnID0+ICdhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZWR4JywKICAgICAgICAnZWZpZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5waWNzZWwnLAogICAgICAgICdlaTYnID0+ICdhcHBsaWNhdGlvbi92bmQucGcub3Nhc2xpJywKICAgICAgICAnZWxjJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnZW1sJyA9PiAnbWVzc2FnZS9yZmM4MjInLAogICAgICAgICdlbW1hJyA9PiAnYXBwbGljYXRpb24vZW1tYSt4bWwnLAogICAgICAgICdlb2wnID0+ICdhdWRpby92bmQuZGlnaXRhbC13aW5kcycsCiAgICAgICAgJ2VvdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0JywKICAgICAgICAnZXBzJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCiAgICAgICAgJ2VwdWInID0+ICdhcHBsaWNhdGlvbi9lcHViK3ppcCcsCiAgICAgICAgJ2VzMycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lc3ppZ25vMyt4bWwnLAogICAgICAgICdlc2YnID0+ICdhcHBsaWNhdGlvbi92bmQuZXBzb24uZXNmJywKICAgICAgICAnZXQzJyA9PiAnYXBwbGljYXRpb24vdm5kLmVzemlnbm8zK3htbCcsCiAgICAgICAgJ2V0eCcgPT4gJ3RleHQveC1zZXRleHQnLAogICAgICAgICdleGUnID0+ICdhcHBsaWNhdGlvbi94LW1zZG93bmxvYWQnLAogICAgICAgICdleGknID0+ICdhcHBsaWNhdGlvbi9leGknLAogICAgICAgICdleHQnID0+ICdhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZXh0JywKICAgICAgICAnZXonID0+ICdhcHBsaWNhdGlvbi9hbmRyZXctaW5zZXQnLAogICAgICAgICdlejInID0+ICdhcHBsaWNhdGlvbi92bmQuZXpwaXgtYWxidW0nLAogICAgICAgICdlejMnID0+ICdhcHBsaWNhdGlvbi92bmQuZXpwaXgtcGFja2FnZScsCiAgICAgICAgJ2YnID0+ICd0ZXh0L3gtZm9ydHJhbicsCiAgICAgICAgJ2Y0dicgPT4gJ3ZpZGVvL3gtZjR2JywKICAgICAgICAnZjc3JyA9PiAndGV4dC94LWZvcnRyYW4nLAogICAgICAgICdmOTAnID0+ICd0ZXh0L3gtZm9ydHJhbicsCiAgICAgICAgJ2ZicycgPT4gJ2ltYWdlL3ZuZC5mYXN0Ymlkc2hlZXQnLAogICAgICAgICdmY3MnID0+ICdhcHBsaWNhdGlvbi92bmQuaXNhYy5mY3MnLAogICAgICAgICdmZGYnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRmJywKICAgICAgICAnZmVfbGF1bmNoJyA9PiAnYXBwbGljYXRpb24vdm5kLmRlbm92by5mY3NlbGF5b3V0LWxpbmsnLAogICAgICAgICdmZzUnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c2dwJywKICAgICAgICAnZmdkJyA9PiAnYXBwbGljYXRpb24veC1kaXJlY3RvcicsCiAgICAgICAgJ2ZoJyA9PiAnaW1hZ2UveC1mcmVlaGFuZCcsCiAgICAgICAgJ2ZoNCcgPT4gJ2ltYWdlL3gtZnJlZWhhbmQnLAogICAgICAgICdmaDUnID0+ICdpbWFnZS94LWZyZWVoYW5kJywKICAgICAgICAnZmg3JyA9PiAnaW1hZ2UveC1mcmVlaGFuZCcsCiAgICAgICAgJ2ZoYycgPT4gJ2ltYWdlL3gtZnJlZWhhbmQnLAogICAgICAgICdmaWcnID0+ICdhcHBsaWNhdGlvbi94LXhmaWcnLAogICAgICAgICdmbGknID0+ICd2aWRlby94LWZsaScsCiAgICAgICAgJ2ZsbycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5taWNyb2dyYWZ4LmZsbycsCiAgICAgICAgJ2ZsdicgPT4gJ3ZpZGVvL3gtZmx2JywKICAgICAgICAnZmx3JyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5raXZpbycsCiAgICAgICAgJ2ZseCcgPT4gJ3RleHQvdm5kLmZtaS5mbGV4c3RvcicsCiAgICAgICAgJ2ZseScgPT4gJ3RleHQvdm5kLmZseScsCiAgICAgICAgJ2ZtJyA9PiAnYXBwbGljYXRpb24vdm5kLmZyYW1lbWFrZXInLAogICAgICAgICdmbmMnID0+ICdhcHBsaWNhdGlvbi92bmQuZnJvZ2Fucy5mbmMnLAogICAgICAgICdmb3InID0+ICd0ZXh0L3gtZm9ydHJhbicsCiAgICAgICAgJ2ZweCcgPT4gJ2ltYWdlL3ZuZC5mcHgnLAogICAgICAgICdmcmFtZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5mcmFtZW1ha2VyJywKICAgICAgICAnZnNjJyA9PiAnYXBwbGljYXRpb24vdm5kLmZzYy53ZWJsYXVuY2gnLAogICAgICAgICdmc3QnID0+ICdpbWFnZS92bmQuZnN0JywKICAgICAgICAnZnRjJyA9PiAnYXBwbGljYXRpb24vdm5kLmZsdXh0aW1lLmNsaXAnLAogICAgICAgICdmdGknID0+ICdhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWZ1bmRzLXRyYW5zZmVyLWluaXRpYXRpb24nLAogICAgICAgICdmdnQnID0+ICd2aWRlby92bmQuZnZ0JywKICAgICAgICAnZnhwJyA9PiAnYXBwbGljYXRpb24vdm5kLmFkb2JlLmZ4cCcsCiAgICAgICAgJ2Z4cGwnID0+ICdhcHBsaWNhdGlvbi92bmQuYWRvYmUuZnhwJywKICAgICAgICAnZnpzJyA9PiAnYXBwbGljYXRpb24vdm5kLmZ1enp5c2hlZXQnLAogICAgICAgICdnMncnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvcGxhbicsCiAgICAgICAgJ2czJyA9PiAnaW1hZ2UvZzNmYXgnLAogICAgICAgICdnM3cnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2Vvc3BhY2UnLAogICAgICAgICdnYWMnID0+ICdhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWFjY291bnQnLAogICAgICAgICdnZGwnID0+ICdtb2RlbC92bmQuZ2RsJywKICAgICAgICAnZ2VvJyA9PiAnYXBwbGljYXRpb24vdm5kLmR5bmFnZW8nLAogICAgICAgICdnZXgnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvbWV0cnktZXhwbG9yZXInLAogICAgICAgICdnZ2InID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEuZmlsZScsCiAgICAgICAgJ2dndCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS50b29sJywKICAgICAgICAnZ2hmJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS1oZWxwJywKICAgICAgICAnZ2lmJyA9PiAnaW1hZ2UvZ2lmJywKICAgICAgICAnZ2ltJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS1pZGVudGl0eS1tZXNzYWdlJywKICAgICAgICAnZ214JyA9PiAnYXBwbGljYXRpb24vdm5kLmdteCcsCiAgICAgICAgJ2dudW1lcmljJyA9PiAnYXBwbGljYXRpb24veC1nbnVtZXJpYycsCiAgICAgICAgJ2dwaCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5mbG9ncmFwaGl0JywKICAgICAgICAnZ3FmJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyYWZlcScsCiAgICAgICAgJ2dxcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ncmFmZXEnLAogICAgICAgICdncmFtJyA9PiAnYXBwbGljYXRpb24vc3JncycsCiAgICAgICAgJ2dyZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nZW9tZXRyeS1leHBsb3JlcicsCiAgICAgICAgJ2dydicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtaW5qZWN0b3InLAogICAgICAgICdncnhtbCcgPT4gJ2FwcGxpY2F0aW9uL3NyZ3MreG1sJywKICAgICAgICAnZ3NmJyA9PiAnYXBwbGljYXRpb24veC1mb250LWdob3N0c2NyaXB0JywKICAgICAgICAnZ3RhcicgPT4gJ2FwcGxpY2F0aW9uL3gtZ3RhcicsCiAgICAgICAgJ2d0bScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdG9vbC1tZXNzYWdlJywKICAgICAgICAnZ3R3JyA9PiAnbW9kZWwvdm5kLmd0dycsCiAgICAgICAgJ2d2JyA9PiAndGV4dC92bmQuZ3JhcGh2aXonLAogICAgICAgICdneHQnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2VvbmV4dCcsCiAgICAgICAgJ2gnID0+ICd0ZXh0L3gtYycsCiAgICAgICAgJ2gyNjEnID0+ICd2aWRlby9oMjYxJywKICAgICAgICAnaDI2MycgPT4gJ3ZpZGVvL2gyNjMnLAogICAgICAgICdoMjY0JyA9PiAndmlkZW8vaDI2NCcsCiAgICAgICAgJ2hhbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oYWwreG1sJywKICAgICAgICAnaGJjaScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oYmNpJywKICAgICAgICAnaGRmJyA9PiAnYXBwbGljYXRpb24veC1oZGYnLAogICAgICAgICdoaCcgPT4gJ3RleHQveC1jJywKICAgICAgICAnaGxwJyA9PiAnYXBwbGljYXRpb24vd2luaGxwJywKICAgICAgICAnaHBnbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ocC1ocGdsJywKICAgICAgICAnaHBpZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ocC1ocGlkJywKICAgICAgICAnaHBzJyA9PiAnYXBwbGljYXRpb24vdm5kLmhwLWhwcycsCiAgICAgICAgJ2hxeCcgPT4gJ2FwcGxpY2F0aW9uL21hYy1iaW5oZXg0MCcsCiAgICAgICAgJ2h0YScgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ2h0YycgPT4gJ3RleHQvaHRtbCcsCiAgICAgICAgJ2h0a2UnID0+ICdhcHBsaWNhdGlvbi92bmQua2VuYW1lYWFwcCcsCiAgICAgICAgJ2h0bScgPT4gJ3RleHQvaHRtbCcsCiAgICAgICAgJ2h0bWwnID0+ICd0ZXh0L2h0bWwnLAogICAgICAgICdodmQnID0+ICdhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LWRpYycsCiAgICAgICAgJ2h2cCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC55YW1haGEuaHYtdm9pY2UnLAogICAgICAgICdodnMnID0+ICdhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LXNjcmlwdCcsCiAgICAgICAgJ2kyZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pbnRlcmdlbycsCiAgICAgICAgJ2ljYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pY2Nwcm9maWxlJywKICAgICAgICAnaWNlJyA9PiAneC1jb25mZXJlbmNlL3gtY29vbHRhbGsnLAogICAgICAgICdpY20nID0+ICdhcHBsaWNhdGlvbi92bmQuaWNjcHJvZmlsZScsCiAgICAgICAgJ2ljbycgPT4gJ2ltYWdlL3gtaWNvbicsCiAgICAgICAgJ2ljcycgPT4gJ3RleHQvY2FsZW5kYXInLAogICAgICAgICdpZWYnID0+ICdpbWFnZS9pZWYnLAogICAgICAgICdpZmInID0+ICd0ZXh0L2NhbGVuZGFyJywKICAgICAgICAnaWZtJyA9PiAnYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLmZvcm1kYXRhJywKICAgICAgICAnaWdlcycgPT4gJ21vZGVsL2lnZXMnLAogICAgICAgICdpZ2wnID0+ICdhcHBsaWNhdGlvbi92bmQuaWdsb2FkZXInLAogICAgICAgICdpZ20nID0+ICdhcHBsaWNhdGlvbi92bmQuaW5zb3JzLmlnbScsCiAgICAgICAgJ2lncycgPT4gJ21vZGVsL2lnZXMnLAogICAgICAgICdpZ3gnID0+ICdhcHBsaWNhdGlvbi92bmQubWljcm9ncmFmeC5pZ3gnLAogICAgICAgICdpaWYnID0+ICdhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuaW50ZXJjaGFuZ2UnLAogICAgICAgICdpbXAnID0+ICdhcHBsaWNhdGlvbi92bmQuYWNjcGFjLnNpbXBseS5pbXAnLAogICAgICAgICdpbXMnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtaW1zJywKICAgICAgICAnaW4nID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnaW5pJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ2lwZml4JyA9PiAnYXBwbGljYXRpb24vaXBmaXgnLAogICAgICAgICdpcGsnID0+ICdhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQucGFja2FnZScsCiAgICAgICAgJ2lybScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pYm0ucmlnaHRzLW1hbmFnZW1lbnQnLAogICAgICAgICdpcnAnID0+ICdhcHBsaWNhdGlvbi92bmQuaXJlcG9zaXRvcnkucGFja2FnZSt4bWwnLAogICAgICAgICdpc28nID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdpdHAnID0+ICdhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuZm9ybXRlbXBsYXRlJywKICAgICAgICAnaXZwJyA9PiAnYXBwbGljYXRpb24vdm5kLmltbWVydmlzaW9uLWl2cCcsCiAgICAgICAgJ2l2dScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pbW1lcnZpc2lvbi1pdnUnLAogICAgICAgICdqYWQnID0+ICd0ZXh0L3ZuZC5zdW4uajJtZS5hcHAtZGVzY3JpcHRvcicsCiAgICAgICAgJ2phbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5qYW0nLAogICAgICAgICdqYXInID0+ICdhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmUnLAogICAgICAgICdqYXZhJyA9PiAndGV4dC94LWphdmEtc291cmNlJywKICAgICAgICAnamlzcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5qaXNwJywKICAgICAgICAnamx0JyA9PiAnYXBwbGljYXRpb24vdm5kLmhwLWpseXQnLAogICAgICAgICdqbmxwJyA9PiAnYXBwbGljYXRpb24veC1qYXZhLWpubHAtZmlsZScsCiAgICAgICAgJ2pvZGEnID0+ICdhcHBsaWNhdGlvbi92bmQuam9vc3Quam9kYS1hcmNoaXZlJywKICAgICAgICAnanBlJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgJ2pwZWcnID0+ICdpbWFnZS9qcGVnJywKICAgICAgICAnanBnJyA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgJ2pwZ20nID0+ICd2aWRlby9qcG0nLAogICAgICAgICdqcGd2JyA9PiAndmlkZW8vanBlZycsCiAgICAgICAgJ2pwbScgPT4gJ3ZpZGVvL2pwbScsCiAgICAgICAgJ2pzJyA9PiAndGV4dC9qYXZhc2NyaXB0JywKICAgICAgICAnanNvbicgPT4gJ2FwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICdrYXInID0+ICdhdWRpby9taWRpJywKICAgICAgICAna2FyYm9uJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rYXJib24nLAogICAgICAgICdrZm8nID0+ICdhcHBsaWNhdGlvbi92bmQua2RlLmtmb3JtdWxhJywKICAgICAgICAna2lhJyA9PiAnYXBwbGljYXRpb24vdm5kLmtpZHNwaXJhdGlvbicsCiAgICAgICAgJ2ttbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsCiAgICAgICAgJ2tteicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216JywKICAgICAgICAna25lJyA9PiAnYXBwbGljYXRpb24vdm5kLmtpbmFyJywKICAgICAgICAna25wJyA9PiAnYXBwbGljYXRpb24vdm5kLmtpbmFyJywKICAgICAgICAna29uJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rb250b3VyJywKICAgICAgICAna3ByJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rcHJlc2VudGVyJywKICAgICAgICAna3B0JyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rcHJlc2VudGVyJywKICAgICAgICAna3NwJyA9PiAnYXBwbGljYXRpb24vdm5kLmtkZS5rc3ByZWFkJywKICAgICAgICAna3RyJyA9PiAnYXBwbGljYXRpb24vdm5kLmthaG9vdHonLAogICAgICAgICdrdHgnID0+ICdpbWFnZS9rdHgnLAogICAgICAgICdrdHonID0+ICdhcHBsaWNhdGlvbi92bmQua2Fob290eicsCiAgICAgICAgJ2t3ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rZGUua3dvcmQnLAogICAgICAgICdrd3QnID0+ICdhcHBsaWNhdGlvbi92bmQua2RlLmt3b3JkJywKICAgICAgICAnbGFzeG1sJyA9PiAnYXBwbGljYXRpb24vdm5kLmxhcy5sYXMreG1sJywKICAgICAgICAnbGF0ZXgnID0+ICdhcHBsaWNhdGlvbi94LWxhdGV4JywKICAgICAgICAnbGJkJyA9PiAnYXBwbGljYXRpb24vdm5kLmxsYW1hZ3JhcGhpY3MubGlmZS1iYWxhbmNlLmRlc2t0b3AnLAogICAgICAgICdsYmUnID0+ICdhcHBsaWNhdGlvbi92bmQubGxhbWFncmFwaGljcy5saWZlLWJhbGFuY2UuZXhjaGFuZ2UreG1sJywKICAgICAgICAnbGVzJyA9PiAnYXBwbGljYXRpb24vdm5kLmhoZS5sZXNzb24tcGxheWVyJywKICAgICAgICAnbGhhJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnbGluazY2JyA9PiAnYXBwbGljYXRpb24vdm5kLnJvdXRlNjYubGluazY2K3htbCcsCiAgICAgICAgJ2xpc3QnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAnbGlzdDM4MjAnID0+ICdhcHBsaWNhdGlvbi92bmQuaWJtLm1vZGNhcCcsCiAgICAgICAgJ2xpc3RhZnAnID0+ICdhcHBsaWNhdGlvbi92bmQuaWJtLm1vZGNhcCcsCiAgICAgICAgJ2xvZycgPT4gJ3RleHQvcGxhaW4nLAogICAgICAgICdsb3N0eG1sJyA9PiAnYXBwbGljYXRpb24vbG9zdCt4bWwnLAogICAgICAgICdscmYnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLAogICAgICAgICdscm0nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtbHJtJywKICAgICAgICAnbHRmJyA9PiAnYXBwbGljYXRpb24vdm5kLmZyb2dhbnMubHRmJywKICAgICAgICAnbHZwJyA9PiAnYXVkaW8vdm5kLmx1Y2VudC52b2ljZScsCiAgICAgICAgJ2x3cCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5sb3R1cy13b3JkcHJvJywKICAgICAgICAnbHpoJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnbTEzJyA9PiAnYXBwbGljYXRpb24veC1tc21lZGlhdmlldycsCiAgICAgICAgJ20xNCcgPT4gJ2FwcGxpY2F0aW9uL3gtbXNtZWRpYXZpZXcnLAogICAgICAgICdtMXYnID0+ICd2aWRlby9tcGVnJywKICAgICAgICAnbTIxJyA9PiAnYXBwbGljYXRpb24vbXAyMScsCiAgICAgICAgJ20yYScgPT4gJ2F1ZGlvL21wZWcnLAogICAgICAgICdtMnYnID0+ICd2aWRlby9tcGVnJywKICAgICAgICAnbTNhJyA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgJ20zdScgPT4gJ2F1ZGlvL3gtbXBlZ3VybCcsCiAgICAgICAgJ20zdTgnID0+ICdhcHBsaWNhdGlvbi92bmQuYXBwbGUubXBlZ3VybCcsCiAgICAgICAgJ200YScgPT4gJ2F1ZGlvL21wNCcsCiAgICAgICAgJ200dScgPT4gJ3ZpZGVvL3ZuZC5tcGVndXJsJywKICAgICAgICAnbTR2JyA9PiAndmlkZW8vbXA0JywKICAgICAgICAnbWEnID0+ICdhcHBsaWNhdGlvbi9tYXRoZW1hdGljYScsCiAgICAgICAgJ21hZHMnID0+ICdhcHBsaWNhdGlvbi9tYWRzK3htbCcsCiAgICAgICAgJ21hZycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lY293aW4uY2hhcnQnLAogICAgICAgICdtYWtlcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5mcmFtZW1ha2VyJywKICAgICAgICAnbWFuJyA9PiAndGV4dC90cm9mZicsCiAgICAgICAgJ21hdGhtbCcgPT4gJ2FwcGxpY2F0aW9uL21hdGhtbCt4bWwnLAogICAgICAgICdtYicgPT4gJ2FwcGxpY2F0aW9uL21hdGhlbWF0aWNhJywKICAgICAgICAnbWJrJyA9PiAnYXBwbGljYXRpb24vdm5kLm1vYml1cy5tYmsnLAogICAgICAgICdtYm94JyA9PiAnYXBwbGljYXRpb24vbWJveCcsCiAgICAgICAgJ21jMScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tZWRjYWxjZGF0YScsCiAgICAgICAgJ21jZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tY2QnLAogICAgICAgICdtY3VybCcgPT4gJ3RleHQvdm5kLmN1cmwubWN1cmwnLAogICAgICAgICdtZGInID0+ICdhcHBsaWNhdGlvbi94LW1zYWNjZXNzJywKICAgICAgICAnbWRpJyA9PiAnaW1hZ2Uvdm5kLm1zLW1vZGknLAogICAgICAgICdtZScgPT4gJ3RleHQvdHJvZmYnLAogICAgICAgICdtZXNoJyA9PiAnbW9kZWwvbWVzaCcsCiAgICAgICAgJ21ldGE0JyA9PiAnYXBwbGljYXRpb24vbWV0YWxpbms0K3htbCcsCiAgICAgICAgJ21ldHMnID0+ICdhcHBsaWNhdGlvbi9tZXRzK3htbCcsCiAgICAgICAgJ21mbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tZm1wJywKICAgICAgICAnbWdwJyA9PiAnYXBwbGljYXRpb24vdm5kLm9zZ2VvLm1hcGd1aWRlLnBhY2thZ2UnLAogICAgICAgICdtZ3onID0+ICdhcHBsaWNhdGlvbi92bmQucHJvdGV1cy5tYWdhemluZScsCiAgICAgICAgJ21pZCcgPT4gJ2F1ZGlvL21pZGknLAogICAgICAgICdtaWRpJyA9PiAnYXVkaW8vbWlkaScsCiAgICAgICAgJ21pZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5taWYnLAogICAgICAgICdtaW1lJyA9PiAnbWVzc2FnZS9yZmM4MjInLAogICAgICAgICdtajInID0+ICd2aWRlby9tajInLAogICAgICAgICdtanAyJyA9PiAndmlkZW8vbWoyJywKICAgICAgICAnbWxwJyA9PiAnYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1scCcsCiAgICAgICAgJ21tZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jaGlwbnV0cy5rYXJhb2tlLW1tZCcsCiAgICAgICAgJ21tZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zbWFmJywKICAgICAgICAnbW1yJyA9PiAnaW1hZ2Uvdm5kLmZ1aml4ZXJveC5lZG1pY3MtbW1yJywKICAgICAgICAnbW55JyA9PiAnYXBwbGljYXRpb24veC1tc21vbmV5JywKICAgICAgICAnbW9iaScgPT4gJ2FwcGxpY2F0aW9uL3gtbW9iaXBvY2tldC1lYm9vaycsCiAgICAgICAgJ21vZHMnID0+ICdhcHBsaWNhdGlvbi9tb2RzK3htbCcsCiAgICAgICAgJ21vdicgPT4gJ3ZpZGVvL3F1aWNrdGltZScsCiAgICAgICAgJ21vdmllJyA9PiAndmlkZW8veC1zZ2ktbW92aWUnLAogICAgICAgICdtcDInID0+ICdhdWRpby9tcGVnJywKICAgICAgICAnbXAyMScgPT4gJ2FwcGxpY2F0aW9uL21wMjEnLAogICAgICAgICdtcDJhJyA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgJ21wMycgPT4gJ2F1ZGlvL21wZWcnLAogICAgICAgICdtcDQnID0+ICd2aWRlby9tcDQnLAogICAgICAgICdtcDRhJyA9PiAnYXVkaW8vbXA0JywKICAgICAgICAnbXA0cycgPT4gJ2FwcGxpY2F0aW9uL21wNCcsCiAgICAgICAgJ21wNHYnID0+ICd2aWRlby9tcDQnLAogICAgICAgICdtcGMnID0+ICdhcHBsaWNhdGlvbi92bmQubW9waHVuLmNlcnRpZmljYXRlJywKICAgICAgICAnbXBlJyA9PiAndmlkZW8vbXBlZycsCiAgICAgICAgJ21wZWcnID0+ICd2aWRlby9tcGVnJywKICAgICAgICAnbXBnJyA9PiAndmlkZW8vbXBlZycsCiAgICAgICAgJ21wZzQnID0+ICd2aWRlby9tcDQnLAogICAgICAgICdtcGdhJyA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgJ21wa2cnID0+ICdhcHBsaWNhdGlvbi92bmQuYXBwbGUuaW5zdGFsbGVyK3htbCcsCiAgICAgICAgJ21wbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ibHVlaWNlLm11bHRpcGFzcycsCiAgICAgICAgJ21wbicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb3BodW4uYXBwbGljYXRpb24nLAogICAgICAgICdtcHAnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcHJvamVjdCcsCiAgICAgICAgJ21wdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wcm9qZWN0JywKICAgICAgICAnbXB5JyA9PiAnYXBwbGljYXRpb24vdm5kLmlibS5taW5pcGF5JywKICAgICAgICAnbXF5JyA9PiAnYXBwbGljYXRpb24vdm5kLm1vYml1cy5tcXknLAogICAgICAgICdtcmMnID0+ICdhcHBsaWNhdGlvbi9tYXJjJywKICAgICAgICAnbXJjeCcgPT4gJ2FwcGxpY2F0aW9uL21hcmN4bWwreG1sJywKICAgICAgICAnbXMnID0+ICd0ZXh0L3Ryb2ZmJywKICAgICAgICAnbXNjbWwnID0+ICdhcHBsaWNhdGlvbi9tZWRpYXNlcnZlcmNvbnRyb2wreG1sJywKICAgICAgICAnbXNlZWQnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRzbi5tc2VlZCcsCiAgICAgICAgJ21zZXEnID0+ICdhcHBsaWNhdGlvbi92bmQubXNlcScsCiAgICAgICAgJ21zZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lcHNvbi5tc2YnLAogICAgICAgICdtc2gnID0+ICdtb2RlbC9tZXNoJywKICAgICAgICAnbXNpJyA9PiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkJywKICAgICAgICAnbXNsJyA9PiAnYXBwbGljYXRpb24vdm5kLm1vYml1cy5tc2wnLAogICAgICAgICdtc3R5JyA9PiAnYXBwbGljYXRpb24vdm5kLm11dmVlLnN0eWxlJywKICAgICAgICAnbXRzJyA9PiAnbW9kZWwvdm5kLm10cycsCiAgICAgICAgJ211cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tdXNpY2lhbicsCiAgICAgICAgJ211c2ljeG1sJyA9PiAnYXBwbGljYXRpb24vdm5kLnJlY29yZGFyZS5tdXNpY3htbCt4bWwnLAogICAgICAgICdtdmInID0+ICdhcHBsaWNhdGlvbi94LW1zbWVkaWF2aWV3JywKICAgICAgICAnbXdmJyA9PiAnYXBwbGljYXRpb24vdm5kLm1mZXInLAogICAgICAgICdteGYnID0+ICdhcHBsaWNhdGlvbi9teGYnLAogICAgICAgICdteGwnID0+ICdhcHBsaWNhdGlvbi92bmQucmVjb3JkYXJlLm11c2ljeG1sJywKICAgICAgICAnbXhtbCcgPT4gJ2FwcGxpY2F0aW9uL3h2K3htbCcsCiAgICAgICAgJ214cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC50cmlzY2FwZS5teHMnLAogICAgICAgICdteHUnID0+ICd2aWRlby92bmQubXBlZ3VybCcsCiAgICAgICAgJ24tZ2FnZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2Uuc3ltYmlhbi5pbnN0YWxsJywKICAgICAgICAnbjMnID0+ICd0ZXh0L24zJywKICAgICAgICAnbmInID0+ICdhcHBsaWNhdGlvbi9tYXRoZW1hdGljYScsCiAgICAgICAgJ25icCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLnBsYXllcicsCiAgICAgICAgJ25jJyA9PiAnYXBwbGljYXRpb24veC1uZXRjZGYnLAogICAgICAgICduY3gnID0+ICdhcHBsaWNhdGlvbi94LWR0Ym5jeCt4bWwnLAogICAgICAgICduZ2RhdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2UuZGF0YScsCiAgICAgICAgJ25sdScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5uZXVyb2xhbmd1YWdlLm5sdScsCiAgICAgICAgJ25tbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lbmxpdmVuJywKICAgICAgICAnbm5kJyA9PiAnYXBwbGljYXRpb24vdm5kLm5vYmxlbmV0LWRpcmVjdG9yeScsCiAgICAgICAgJ25ucycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC1zZWFsZXInLAogICAgICAgICdubncnID0+ICdhcHBsaWNhdGlvbi92bmQubm9ibGVuZXQtd2ViJywKICAgICAgICAnbnB4JyA9PiAnaW1hZ2Uvdm5kLm5ldC1mcHgnLAogICAgICAgICduc2YnID0+ICdhcHBsaWNhdGlvbi92bmQubG90dXMtbm90ZXMnLAogICAgICAgICdvYTInID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5czInLAogICAgICAgICdvYTMnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5czMnLAogICAgICAgICdvYXMnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5cycsCiAgICAgICAgJ29iZCcgPT4gJ2FwcGxpY2F0aW9uL3gtbXNiaW5kZXInLAogICAgICAgICdvZGEnID0+ICdhcHBsaWNhdGlvbi9vZGEnLAogICAgICAgICdvZGInID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmRhdGFiYXNlJywKICAgICAgICAnb2RjJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5jaGFydCcsCiAgICAgICAgJ29kZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYScsCiAgICAgICAgJ29kZnQnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGUnLAogICAgICAgICdvZGcnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmdyYXBoaWNzJywKICAgICAgICAnb2RpJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5pbWFnZScsCiAgICAgICAgJ29kbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1tYXN0ZXInLAogICAgICAgICdvZHAnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsCiAgICAgICAgJ29kcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLAogICAgICAgICdvZHQnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLAogICAgICAgICdvZ2EnID0+ICdhdWRpby9vZ2cnLAogICAgICAgICdvZ2cnID0+ICdhdWRpby9vZ2cnLAogICAgICAgICdvZ3YnID0+ICd2aWRlby9vZ2cnLAogICAgICAgICdvZ3gnID0+ICdhcHBsaWNhdGlvbi9vZ2cnLAogICAgICAgICdvbmVwa2cnID0+ICdhcHBsaWNhdGlvbi9vbmVub3RlJywKICAgICAgICAnb25ldG1wJyA9PiAnYXBwbGljYXRpb24vb25lbm90ZScsCiAgICAgICAgJ29uZXRvYycgPT4gJ2FwcGxpY2F0aW9uL29uZW5vdGUnLAogICAgICAgICdvbmV0b2MyJyA9PiAnYXBwbGljYXRpb24vb25lbm90ZScsCiAgICAgICAgJ29wZicgPT4gJ2FwcGxpY2F0aW9uL29lYnBzLXBhY2thZ2UreG1sJywKICAgICAgICAnb3ByYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5wYWxtJywKICAgICAgICAnb3JnJyA9PiAnYXBwbGljYXRpb24vdm5kLmxvdHVzLW9yZ2FuaXplcicsCiAgICAgICAgJ29zZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC55YW1haGEub3BlbnNjb3JlZm9ybWF0JywKICAgICAgICAnb3NmcHZnJyA9PiAnYXBwbGljYXRpb24vdm5kLnlhbWFoYS5vcGVuc2NvcmVmb3JtYXQub3NmcHZnK3htbCcsCiAgICAgICAgJ290YycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuY2hhcnQtdGVtcGxhdGUnLAogICAgICAgICdvdGYnID0+ICdhcHBsaWNhdGlvbi94LWZvbnQtb3RmJywKICAgICAgICAnb3RnJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcy10ZW1wbGF0ZScsCiAgICAgICAgJ290aCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC13ZWInLAogICAgICAgICdvdGknID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmltYWdlLXRlbXBsYXRlJywKICAgICAgICAnb3RwJyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24tdGVtcGxhdGUnLAogICAgICAgICdvdHMnID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LXRlbXBsYXRlJywKICAgICAgICAnb3R0JyA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXRlbXBsYXRlJywKICAgICAgICAnb3h0JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW5vZmZpY2VvcmcuZXh0ZW5zaW9uJywKICAgICAgICAncCcgPT4gJ3RleHQveC1wYXNjYWwnLAogICAgICAgICdwMTAnID0+ICdhcHBsaWNhdGlvbi9wa2NzMTAnLAogICAgICAgICdwMTInID0+ICdhcHBsaWNhdGlvbi94LXBrY3MxMicsCiAgICAgICAgJ3A3YicgPT4gJ2FwcGxpY2F0aW9uL3gtcGtjczctY2VydGlmaWNhdGVzJywKICAgICAgICAncDdjJyA9PiAnYXBwbGljYXRpb24vcGtjczctbWltZScsCiAgICAgICAgJ3A3bScgPT4gJ2FwcGxpY2F0aW9uL3BrY3M3LW1pbWUnLAogICAgICAgICdwN3InID0+ICdhcHBsaWNhdGlvbi94LXBrY3M3LWNlcnRyZXFyZXNwJywKICAgICAgICAncDdzJyA9PiAnYXBwbGljYXRpb24vcGtjczctc2lnbmF0dXJlJywKICAgICAgICAncDgnID0+ICdhcHBsaWNhdGlvbi9wa2NzOCcsCiAgICAgICAgJ3BhcycgPT4gJ3RleHQveC1wYXNjYWwnLAogICAgICAgICdwYXcnID0+ICdhcHBsaWNhdGlvbi92bmQucGF3YWFmaWxlJywKICAgICAgICAncGJkJyA9PiAnYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjYnLAogICAgICAgICdwYm0nID0+ICdpbWFnZS94LXBvcnRhYmxlLWJpdG1hcCcsCiAgICAgICAgJ3BjZicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC1wY2YnLAogICAgICAgICdwY2wnID0+ICdhcHBsaWNhdGlvbi92bmQuaHAtcGNsJywKICAgICAgICAncGNseGwnID0+ICdhcHBsaWNhdGlvbi92bmQuaHAtcGNseGwnLAogICAgICAgICdwY3QnID0+ICdpbWFnZS94LXBpY3QnLAogICAgICAgICdwY3VybCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jdXJsLnBjdXJsJywKICAgICAgICAncGN4JyA9PiAnaW1hZ2UveC1wY3gnLAogICAgICAgICdwZGInID0+ICdhcHBsaWNhdGlvbi92bmQucGFsbScsCiAgICAgICAgJ3BkZicgPT4gJ2FwcGxpY2F0aW9uL3BkZicsCiAgICAgICAgJ3BmYScgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ3BmYicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ3BmbScgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10eXBlMScsCiAgICAgICAgJ3BmcicgPT4gJ2FwcGxpY2F0aW9uL2ZvbnQtdGRwZnInLAogICAgICAgICdwZngnID0+ICdhcHBsaWNhdGlvbi94LXBrY3MxMicsCiAgICAgICAgJ3BnbScgPT4gJ2ltYWdlL3gtcG9ydGFibGUtZ3JheW1hcCcsCiAgICAgICAgJ3BnbicgPT4gJ2FwcGxpY2F0aW9uL3gtY2hlc3MtcGduJywKICAgICAgICAncGdwJyA9PiAnYXBwbGljYXRpb24vcGdwLWVuY3J5cHRlZCcsCiAgICAgICAgJ3BocCcgPT4gJ3RleHQveC1waHAnLAogICAgICAgICdwaHBzJyA9PiAnYXBwbGljYXRpb24veC1odHRwZC1waHBzJywKICAgICAgICAncGljJyA9PiAnaW1hZ2UveC1waWN0JywKICAgICAgICAncGtnJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAncGtpJyA9PiAnYXBwbGljYXRpb24vcGtpeGNtcCcsCiAgICAgICAgJ3BraXBhdGgnID0+ICdhcHBsaWNhdGlvbi9wa2l4LXBraXBhdGgnLAogICAgICAgICdwbGInID0+ICdhcHBsaWNhdGlvbi92bmQuM2dwcC5waWMtYnctbGFyZ2UnLAogICAgICAgICdwbGMnID0+ICdhcHBsaWNhdGlvbi92bmQubW9iaXVzLnBsYycsCiAgICAgICAgJ3BsZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5wb2NrZXRsZWFybicsCiAgICAgICAgJ3BscycgPT4gJ2FwcGxpY2F0aW9uL3Bscyt4bWwnLAogICAgICAgICdwbWwnID0+ICdhcHBsaWNhdGlvbi92bmQuY3RjLXBvc21sJywKICAgICAgICAncG5nJyA9PiAnaW1hZ2UvcG5nJywKICAgICAgICAncG5tJyA9PiAnaW1hZ2UveC1wb3J0YWJsZS1hbnltYXAnLAogICAgICAgICdwb3J0cGtnJyA9PiAnYXBwbGljYXRpb24vdm5kLm1hY3BvcnRzLnBvcnRwa2cnLAogICAgICAgICdwb3QnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsCiAgICAgICAgJ3BvdG0nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICdwb3R4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlJywKICAgICAgICAncHBhbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LmFkZGluLm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3BwZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jdXBzLXBwZCcsCiAgICAgICAgJ3BwbScgPT4gJ2ltYWdlL3gtcG9ydGFibGUtcGl4bWFwJywKICAgICAgICAncHBzJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLAogICAgICAgICdwcHNtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGVzaG93Lm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3Bwc3gnID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93JywKICAgICAgICAncHB0JyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLAogICAgICAgICdwcHRtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQucHJlc2VudGF0aW9uLm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3BwdHgnID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJywKICAgICAgICAncHFhJyA9PiAnYXBwbGljYXRpb24vdm5kLnBhbG0nLAogICAgICAgICdwcmMnID0+ICdhcHBsaWNhdGlvbi94LW1vYmlwb2NrZXQtZWJvb2snLAogICAgICAgICdwcmUnID0+ICdhcHBsaWNhdGlvbi92bmQubG90dXMtZnJlZWxhbmNlJywKICAgICAgICAncHJmJyA9PiAnYXBwbGljYXRpb24vcGljcy1ydWxlcycsCiAgICAgICAgJ3BzJyA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCiAgICAgICAgJ3BzYicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpYy1idy1zbWFsbCcsCiAgICAgICAgJ3BzZCcgPT4gJ2ltYWdlL3ZuZC5hZG9iZS5waG90b3Nob3AnLAogICAgICAgICdwc2YnID0+ICdhcHBsaWNhdGlvbi94LWZvbnQtbGludXgtcHNmJywKICAgICAgICAncHNrY3htbCcgPT4gJ2FwcGxpY2F0aW9uL3Bza2MreG1sJywKICAgICAgICAncHRpZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5wdmkucHRpZDEnLAogICAgICAgICdwdWInID0+ICdhcHBsaWNhdGlvbi94LW1zcHVibGlzaGVyJywKICAgICAgICAncHZiJyA9PiAnYXBwbGljYXRpb24vdm5kLjNncHAucGljLWJ3LXZhcicsCiAgICAgICAgJ3B3bicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC4zbS5wb3N0LWl0LW5vdGVzJywKICAgICAgICAncHlhJyA9PiAnYXVkaW8vdm5kLm1zLXBsYXlyZWFkeS5tZWRpYS5weWEnLAogICAgICAgICdweXYnID0+ICd2aWRlby92bmQubXMtcGxheXJlYWR5Lm1lZGlhLnB5dicsCiAgICAgICAgJ3FhbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5lcHNvbi5xdWlja2FuaW1lJywKICAgICAgICAncWJvJyA9PiAnYXBwbGljYXRpb24vdm5kLmludHUucWJvJywKICAgICAgICAncWZ4JyA9PiAnYXBwbGljYXRpb24vdm5kLmludHUucWZ4JywKICAgICAgICAncXBzJyA9PiAnYXBwbGljYXRpb24vdm5kLnB1Ymxpc2hhcmUtZGVsdGEtdHJlZScsCiAgICAgICAgJ3F0JyA9PiAndmlkZW8vcXVpY2t0aW1lJywKICAgICAgICAncXdkJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXd0JyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXhiJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXhkJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXhsJyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncXh0JyA9PiAnYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzJywKICAgICAgICAncmEnID0+ICdhdWRpby94LXBuLXJlYWxhdWRpbycsCiAgICAgICAgJ3JhbScgPT4gJ2F1ZGlvL3gtcG4tcmVhbGF1ZGlvJywKICAgICAgICAncmFyJyA9PiAnYXBwbGljYXRpb24veC1yYXItY29tcHJlc3NlZCcsCiAgICAgICAgJ3JhcycgPT4gJ2ltYWdlL3gtY211LXJhc3RlcicsCiAgICAgICAgJ3JiJyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ3JjcHJvZmlsZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pcHVucGx1Z2dlZC5yY3Byb2ZpbGUnLAogICAgICAgICdyZGYnID0+ICdhcHBsaWNhdGlvbi9yZGYreG1sJywKICAgICAgICAncmR6JyA9PiAnYXBwbGljYXRpb24vdm5kLmRhdGEtdmlzaW9uLnJkeicsCiAgICAgICAgJ3JlcCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5idXNpbmVzc29iamVjdHMnLAogICAgICAgICdyZXMnID0+ICdhcHBsaWNhdGlvbi94LWR0YnJlc291cmNlK3htbCcsCiAgICAgICAgJ3Jlc3gnID0+ICd0ZXh0L3htbCcsCiAgICAgICAgJ3JnYicgPT4gJ2ltYWdlL3gtcmdiJywKICAgICAgICAncmlmJyA9PiAnYXBwbGljYXRpb24vcmVnaW5mbyt4bWwnLAogICAgICAgICdyaXAnID0+ICdhdWRpby92bmQucmlwJywKICAgICAgICAncmwnID0+ICdhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cyt4bWwnLAogICAgICAgICdybGMnID0+ICdpbWFnZS92bmQuZnVqaXhlcm94LmVkbWljcy1ybGMnLAogICAgICAgICdybGQnID0+ICdhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cy1kaWZmK3htbCcsCiAgICAgICAgJ3JtJyA9PiAnYXBwbGljYXRpb24vdm5kLnJuLXJlYWxtZWRpYScsCiAgICAgICAgJ3JtaScgPT4gJ2F1ZGlvL21pZGknLAogICAgICAgICdybXAnID0+ICdhdWRpby94LXBuLXJlYWxhdWRpby1wbHVnaW4nLAogICAgICAgICdybXMnID0+ICdhcHBsaWNhdGlvbi92bmQuamNwLmphdmFtZS5taWRsZXQtcm1zJywKICAgICAgICAncm5jJyA9PiAnYXBwbGljYXRpb24vcmVsYXgtbmctY29tcGFjdC1zeW50YXgnLAogICAgICAgICdyb2ZmJyA9PiAndGV4dC90cm9mZicsCiAgICAgICAgJ3JwOScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5jbG9hbnRvLnJwOScsCiAgICAgICAgJ3Jwc3MnID0+ICdhcHBsaWNhdGlvbi92bmQubm9raWEucmFkaW8tcHJlc2V0cycsCiAgICAgICAgJ3Jwc3QnID0+ICdhcHBsaWNhdGlvbi92bmQubm9raWEucmFkaW8tcHJlc2V0JywKICAgICAgICAncnEnID0+ICdhcHBsaWNhdGlvbi9zcGFycWwtcXVlcnknLAogICAgICAgICdycycgPT4gJ2FwcGxpY2F0aW9uL3Jscy1zZXJ2aWNlcyt4bWwnLAogICAgICAgICdyc2QnID0+ICdhcHBsaWNhdGlvbi9yc2QreG1sJywKICAgICAgICAncnNzJyA9PiAnYXBwbGljYXRpb24vcnNzK3htbCcsCiAgICAgICAgJ3J0ZicgPT4gJ2FwcGxpY2F0aW9uL3J0ZicsCiAgICAgICAgJ3J0eCcgPT4gJ3RleHQvcmljaHRleHQnLAogICAgICAgICdzJyA9PiAndGV4dC94LWFzbScsCiAgICAgICAgJ3NhZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC55YW1haGEuc21hZi1hdWRpbycsCiAgICAgICAgJ3NibWwnID0+ICdhcHBsaWNhdGlvbi9zYm1sK3htbCcsCiAgICAgICAgJ3NjJyA9PiAnYXBwbGljYXRpb24vdm5kLmlibS5zZWN1cmUtY29udGFpbmVyJywKICAgICAgICAnc2NkJyA9PiAnYXBwbGljYXRpb24veC1tc3NjaGVkdWxlJywKICAgICAgICAnc2NtJyA9PiAnYXBwbGljYXRpb24vdm5kLmxvdHVzLXNjcmVlbmNhbScsCiAgICAgICAgJ3NjcScgPT4gJ2FwcGxpY2F0aW9uL3NjdnAtY3YtcmVxdWVzdCcsCiAgICAgICAgJ3NjcycgPT4gJ2FwcGxpY2F0aW9uL3NjdnAtY3YtcmVzcG9uc2UnLAogICAgICAgICdzY3VybCcgPT4gJ3RleHQvdm5kLmN1cmwuc2N1cmwnLAogICAgICAgICdzZGEnID0+ICdhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmRyYXcnLAogICAgICAgICdzZGMnID0+ICdhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmNhbGMnLAogICAgICAgICdzZGQnID0+ICdhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmltcHJlc3MnLAogICAgICAgICdzZGtkJyA9PiAnYXBwbGljYXRpb24vdm5kLnNvbGVudC5zZGttK3htbCcsCiAgICAgICAgJ3Nka20nID0+ICdhcHBsaWNhdGlvbi92bmQuc29sZW50LnNka20reG1sJywKICAgICAgICAnc2RwJyA9PiAnYXBwbGljYXRpb24vc2RwJywKICAgICAgICAnc2R3JyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXInLAogICAgICAgICdzZWUnID0+ICdhcHBsaWNhdGlvbi92bmQuc2VlbWFpbCcsCiAgICAgICAgJ3NlZWQnID0+ICdhcHBsaWNhdGlvbi92bmQuZmRzbi5zZWVkJywKICAgICAgICAnc2VtYScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zZW1hJywKICAgICAgICAnc2VtZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zZW1kJywKICAgICAgICAnc2VtZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zZW1mJywKICAgICAgICAnc2VyJyA9PiAnYXBwbGljYXRpb24vamF2YS1zZXJpYWxpemVkLW9iamVjdCcsCiAgICAgICAgJ3NldHBheScgPT4gJ2FwcGxpY2F0aW9uL3NldC1wYXltZW50LWluaXRpYXRpb24nLAogICAgICAgICdzZXRyZWcnID0+ICdhcHBsaWNhdGlvbi9zZXQtcmVnaXN0cmF0aW9uLWluaXRpYXRpb24nLAogICAgICAgICdzZmQtaGRzdHgnID0+ICdhcHBsaWNhdGlvbi92bmQuaHlkcm9zdGF0aXguc29mLWRhdGEnLAogICAgICAgICdzZnMnID0+ICdhcHBsaWNhdGlvbi92bmQuc3BvdGZpcmUuc2ZzJywKICAgICAgICAnc2dsJyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXItZ2xvYmFsJywKICAgICAgICAnc2dtJyA9PiAndGV4dC9zZ21sJywKICAgICAgICAnc2dtbCcgPT4gJ3RleHQvc2dtbCcsCiAgICAgICAgJ3NoJyA9PiAnYXBwbGljYXRpb24veC1zaCcsCiAgICAgICAgJ3NoYXInID0+ICdhcHBsaWNhdGlvbi94LXNoYXInLAogICAgICAgICdzaGYnID0+ICdhcHBsaWNhdGlvbi9zaGYreG1sJywKICAgICAgICAnc2lnJyA9PiAnYXBwbGljYXRpb24vcGdwLXNpZ25hdHVyZScsCiAgICAgICAgJ3NpbG8nID0+ICdtb2RlbC9tZXNoJywKICAgICAgICAnc2lzJyA9PiAnYXBwbGljYXRpb24vdm5kLnN5bWJpYW4uaW5zdGFsbCcsCiAgICAgICAgJ3Npc3gnID0+ICdhcHBsaWNhdGlvbi92bmQuc3ltYmlhbi5pbnN0YWxsJywKICAgICAgICAnc2l0JyA9PiAnYXBwbGljYXRpb24veC1zdHVmZml0JywKICAgICAgICAnc2l0eCcgPT4gJ2FwcGxpY2F0aW9uL3gtc3R1ZmZpdHgnLAogICAgICAgICdza2QnID0+ICdhcHBsaWNhdGlvbi92bmQua29hbicsCiAgICAgICAgJ3NrbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rb2FuJywKICAgICAgICAnc2twJyA9PiAnYXBwbGljYXRpb24vdm5kLmtvYW4nLAogICAgICAgICdza3QnID0+ICdhcHBsaWNhdGlvbi92bmQua29hbicsCiAgICAgICAgJ3NsZG0nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZS5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICdzbGR4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlJywKICAgICAgICAnc2x0JyA9PiAnYXBwbGljYXRpb24vdm5kLmVwc29uLnNhbHQnLAogICAgICAgICdzbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdGVwbWFuaWEuc3RlcGNoYXJ0JywKICAgICAgICAnc21mJyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5tYXRoJywKICAgICAgICAnc21pJyA9PiAnYXBwbGljYXRpb24vc21pbCt4bWwnLAogICAgICAgICdzbWlsJyA9PiAnYXBwbGljYXRpb24vc21pbCt4bWwnLAogICAgICAgICdzbmQnID0+ICdhdWRpby9iYXNpYycsCiAgICAgICAgJ3NuZicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC1zbmYnLAogICAgICAgICdzbycgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsCiAgICAgICAgJ3NwYycgPT4gJ2FwcGxpY2F0aW9uL3gtcGtjczctY2VydGlmaWNhdGVzJywKICAgICAgICAnc3BmJyA9PiAnYXBwbGljYXRpb24vdm5kLnlhbWFoYS5zbWFmLXBocmFzZScsCiAgICAgICAgJ3NwbCcgPT4gJ2FwcGxpY2F0aW9uL3gtZnV0dXJlc3BsYXNoJywKICAgICAgICAnc3BvdCcgPT4gJ3RleHQvdm5kLmluM2Quc3BvdCcsCiAgICAgICAgJ3NwcCcgPT4gJ2FwcGxpY2F0aW9uL3NjdnAtdnAtcmVzcG9uc2UnLAogICAgICAgICdzcHEnID0+ICdhcHBsaWNhdGlvbi9zY3ZwLXZwLXJlcXVlc3QnLAogICAgICAgICdzcHgnID0+ICdhdWRpby9vZ2cnLAogICAgICAgICdzcmMnID0+ICdhcHBsaWNhdGlvbi94LXdhaXMtc291cmNlJywKICAgICAgICAnc3J0JyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAnc3J1JyA9PiAnYXBwbGljYXRpb24vc3J1K3htbCcsCiAgICAgICAgJ3NyeCcgPT4gJ2FwcGxpY2F0aW9uL3NwYXJxbC1yZXN1bHRzK3htbCcsCiAgICAgICAgJ3NzZScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5rb2Rhay1kZXNjcmlwdG9yJywKICAgICAgICAnc3NmJyA9PiAnYXBwbGljYXRpb24vdm5kLmVwc29uLnNzZicsCiAgICAgICAgJ3NzbWwnID0+ICdhcHBsaWNhdGlvbi9zc21sK3htbCcsCiAgICAgICAgJ3N0JyA9PiAnYXBwbGljYXRpb24vdm5kLnNhaWxpbmd0cmFja2VyLnRyYWNrJywKICAgICAgICAnc3RjJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYy50ZW1wbGF0ZScsCiAgICAgICAgJ3N0ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcudGVtcGxhdGUnLAogICAgICAgICdzdGYnID0+ICdhcHBsaWNhdGlvbi92bmQud3Quc3RmJywKICAgICAgICAnc3RpJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzcy50ZW1wbGF0ZScsCiAgICAgICAgJ3N0aycgPT4gJ2FwcGxpY2F0aW9uL2h5cGVyc3R1ZGlvJywKICAgICAgICAnc3RsJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBraS5zdGwnLAogICAgICAgICdzdHInID0+ICdhcHBsaWNhdGlvbi92bmQucGcuZm9ybWF0JywKICAgICAgICAnc3R3JyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLnRlbXBsYXRlJywKICAgICAgICAnc3ViJyA9PiAnaW1hZ2Uvdm5kLmR2Yi5zdWJ0aXRsZScsCiAgICAgICAgJ3N1cycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdXMtY2FsZW5kYXInLAogICAgICAgICdzdXNwJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1cy1jYWxlbmRhcicsCiAgICAgICAgJ3N2NGNwaW8nID0+ICdhcHBsaWNhdGlvbi94LXN2NGNwaW8nLAogICAgICAgICdzdjRjcmMnID0+ICdhcHBsaWNhdGlvbi94LXN2NGNyYycsCiAgICAgICAgJ3N2YycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kdmIuc2VydmljZScsCiAgICAgICAgJ3N2ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdmQnLAogICAgICAgICdzdmcnID0+ICdpbWFnZS9zdmcreG1sJywKICAgICAgICAnc3ZneicgPT4gJ2ltYWdlL3N2Zyt4bWwnLAogICAgICAgICdzd2EnID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAnc3dmJyA9PiAnYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnLAogICAgICAgICdzd2knID0+ICdhcHBsaWNhdGlvbi92bmQuYXJpc3RhbmV0d29ya3Muc3dpJywKICAgICAgICAnc3hjJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYycsCiAgICAgICAgJ3N4ZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcnLAogICAgICAgICdzeGcnID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXIuZ2xvYmFsJywKICAgICAgICAnc3hpJyA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzcycsCiAgICAgICAgJ3N4bScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLm1hdGgnLAogICAgICAgICdzeHcnID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXInLAogICAgICAgICd0JyA9PiAndGV4dC90cm9mZicsCiAgICAgICAgJ3RhbycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC50YW8uaW50ZW50LW1vZHVsZS1hcmNoaXZlJywKICAgICAgICAndGFyJyA9PiAnYXBwbGljYXRpb24veC10YXInLAogICAgICAgICd0Y2FwJyA9PiAnYXBwbGljYXRpb24vdm5kLjNncHAyLnRjYXAnLAogICAgICAgICd0Y2wnID0+ICdhcHBsaWNhdGlvbi94LXRjbCcsCiAgICAgICAgJ3RlYWNoZXInID0+ICdhcHBsaWNhdGlvbi92bmQuc21hcnQudGVhY2hlcicsCiAgICAgICAgJ3RlaScgPT4gJ2FwcGxpY2F0aW9uL3RlaSt4bWwnLAogICAgICAgICd0ZWljb3JwdXMnID0+ICdhcHBsaWNhdGlvbi90ZWkreG1sJywKICAgICAgICAndGV4JyA9PiAnYXBwbGljYXRpb24veC10ZXgnLAogICAgICAgICd0ZXhpJyA9PiAnYXBwbGljYXRpb24veC10ZXhpbmZvJywKICAgICAgICAndGV4aW5mbycgPT4gJ2FwcGxpY2F0aW9uL3gtdGV4aW5mbycsCiAgICAgICAgJ3RleHQnID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAndGZpJyA9PiAnYXBwbGljYXRpb24vdGhyYXVkK3htbCcsCiAgICAgICAgJ3RmbScgPT4gJ2FwcGxpY2F0aW9uL3gtdGV4LXRmbScsCiAgICAgICAgJ3RobXgnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNldGhlbWUnLAogICAgICAgICd0aWYnID0+ICdpbWFnZS90aWZmJywKICAgICAgICAndGlmZicgPT4gJ2ltYWdlL3RpZmYnLAogICAgICAgICd0bW8nID0+ICdhcHBsaWNhdGlvbi92bmQudG1vYmlsZS1saXZldHYnLAogICAgICAgICd0b3JyZW50JyA9PiAnYXBwbGljYXRpb24veC1iaXR0b3JyZW50JywKICAgICAgICAndHBsJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS10b29sLXRlbXBsYXRlJywKICAgICAgICAndHB0JyA9PiAnYXBwbGljYXRpb24vdm5kLnRyaWQudHB0JywKICAgICAgICAndHInID0+ICd0ZXh0L3Ryb2ZmJywKICAgICAgICAndHJhJyA9PiAnYXBwbGljYXRpb24vdm5kLnRydWVhcHAnLAogICAgICAgICd0cm0nID0+ICdhcHBsaWNhdGlvbi94LW1zdGVybWluYWwnLAogICAgICAgICd0c2QnID0+ICdhcHBsaWNhdGlvbi90aW1lc3RhbXBlZC1kYXRhJywKICAgICAgICAndHN2JyA9PiAndGV4dC90YWItc2VwYXJhdGVkLXZhbHVlcycsCiAgICAgICAgJ3R0YycgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10dGYnLAogICAgICAgICd0dGYnID0+ICdhcHBsaWNhdGlvbi94LWZvbnQtdHRmJywKICAgICAgICAndHRsJyA9PiAndGV4dC90dXJ0bGUnLAogICAgICAgICd0d2QnID0+ICdhcHBsaWNhdGlvbi92bmQuc2ltdGVjaC1taW5kbWFwcGVyJywKICAgICAgICAndHdkcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zaW10ZWNoLW1pbmRtYXBwZXInLAogICAgICAgICd0eGQnID0+ICdhcHBsaWNhdGlvbi92bmQuZ2Vub21hdGl4LnR1eGVkbycsCiAgICAgICAgJ3R4ZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb2JpdXMudHhmJywKICAgICAgICAndHh0JyA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgJ3UzMicgPT4gJ2FwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1iaW4nLAogICAgICAgICd1ZGViJyA9PiAnYXBwbGljYXRpb24veC1kZWJpYW4tcGFja2FnZScsCiAgICAgICAgJ3VmZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC51ZmRsJywKICAgICAgICAndWZkbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC51ZmRsJywKICAgICAgICAndW1qJyA9PiAnYXBwbGljYXRpb24vdm5kLnVtYWppbicsCiAgICAgICAgJ3VuaXR5d2ViJyA9PiAnYXBwbGljYXRpb24vdm5kLnVuaXR5JywKICAgICAgICAndW9tbCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC51b21sK3htbCcsCiAgICAgICAgJ3VyaScgPT4gJ3RleHQvdXJpLWxpc3QnLAogICAgICAgICd1cmlzJyA9PiAndGV4dC91cmktbGlzdCcsCiAgICAgICAgJ3VybHMnID0+ICd0ZXh0L3VyaS1saXN0JywKICAgICAgICAndXN0YXInID0+ICdhcHBsaWNhdGlvbi94LXVzdGFyJywKICAgICAgICAndXR6JyA9PiAnYXBwbGljYXRpb24vdm5kLnVpcS50aGVtZScsCiAgICAgICAgJ3V1JyA9PiAndGV4dC94LXV1ZW5jb2RlJywKICAgICAgICAndXZhJyA9PiAnYXVkaW8vdm5kLmRlY2UuYXVkaW8nLAogICAgICAgICd1dmQnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS5kYXRhJywKICAgICAgICAndXZmJyA9PiAnYXBwbGljYXRpb24vdm5kLmRlY2UuZGF0YScsCiAgICAgICAgJ3V2ZycgPT4gJ2ltYWdlL3ZuZC5kZWNlLmdyYXBoaWMnLAogICAgICAgICd1dmgnID0+ICd2aWRlby92bmQuZGVjZS5oZCcsCiAgICAgICAgJ3V2aScgPT4gJ2ltYWdlL3ZuZC5kZWNlLmdyYXBoaWMnLAogICAgICAgICd1dm0nID0+ICd2aWRlby92bmQuZGVjZS5tb2JpbGUnLAogICAgICAgICd1dnAnID0+ICd2aWRlby92bmQuZGVjZS5wZCcsCiAgICAgICAgJ3V2cycgPT4gJ3ZpZGVvL3ZuZC5kZWNlLnNkJywKICAgICAgICAndXZ0JyA9PiAnYXBwbGljYXRpb24vdm5kLmRlY2UudHRtbCt4bWwnLAogICAgICAgICd1dnUnID0+ICd2aWRlby92bmQudXZ2dS5tcDQnLAogICAgICAgICd1dnYnID0+ICd2aWRlby92bmQuZGVjZS52aWRlbycsCiAgICAgICAgJ3V2dmEnID0+ICdhdWRpby92bmQuZGVjZS5hdWRpbycsCiAgICAgICAgJ3V2dmQnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS5kYXRhJywKICAgICAgICAndXZ2ZicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5kZWNlLmRhdGEnLAogICAgICAgICd1dnZnJyA9PiAnaW1hZ2Uvdm5kLmRlY2UuZ3JhcGhpYycsCiAgICAgICAgJ3V2dmgnID0+ICd2aWRlby92bmQuZGVjZS5oZCcsCiAgICAgICAgJ3V2dmknID0+ICdpbWFnZS92bmQuZGVjZS5ncmFwaGljJywKICAgICAgICAndXZ2bScgPT4gJ3ZpZGVvL3ZuZC5kZWNlLm1vYmlsZScsCiAgICAgICAgJ3V2dnAnID0+ICd2aWRlby92bmQuZGVjZS5wZCcsCiAgICAgICAgJ3V2dnMnID0+ICd2aWRlby92bmQuZGVjZS5zZCcsCiAgICAgICAgJ3V2dnQnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS50dG1sK3htbCcsCiAgICAgICAgJ3V2dnUnID0+ICd2aWRlby92bmQudXZ2dS5tcDQnLAogICAgICAgICd1dnZ2JyA9PiAndmlkZW8vdm5kLmRlY2UudmlkZW8nLAogICAgICAgICd1dnZ4JyA9PiAnYXBwbGljYXRpb24vdm5kLmRlY2UudW5zcGVjaWZpZWQnLAogICAgICAgICd1dngnID0+ICdhcHBsaWNhdGlvbi92bmQuZGVjZS51bnNwZWNpZmllZCcsCiAgICAgICAgJ3ZjZCcgPT4gJ2FwcGxpY2F0aW9uL3gtY2RsaW5rJywKICAgICAgICAndmNmJyA9PiAndGV4dC94LXZjYXJkJywKICAgICAgICAndmNnJyA9PiAnYXBwbGljYXRpb24vdm5kLmdyb292ZS12Y2FyZCcsCiAgICAgICAgJ3ZjcycgPT4gJ3RleHQveC12Y2FsZW5kYXInLAogICAgICAgICd2Y3gnID0+ICdhcHBsaWNhdGlvbi92bmQudmN4JywKICAgICAgICAndmlzJyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvbmFyeScsCiAgICAgICAgJ3ZpdicgPT4gJ3ZpZGVvL3ZuZC52aXZvJywKICAgICAgICAndm9yJyA9PiAnYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXInLAogICAgICAgICd2b3gnID0+ICdhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtYmluJywKICAgICAgICAndnJtbCcgPT4gJ21vZGVsL3ZybWwnLAogICAgICAgICd2c2QnID0+ICdhcHBsaWNhdGlvbi92bmQudmlzaW8nLAogICAgICAgICd2c2YnID0+ICdhcHBsaWNhdGlvbi92bmQudnNmJywKICAgICAgICAndnNzJyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJywKICAgICAgICAndnN0JyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJywKICAgICAgICAndnN3JyA9PiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJywKICAgICAgICAndnR1JyA9PiAnbW9kZWwvdm5kLnZ0dScsCiAgICAgICAgJ3Z4bWwnID0+ICdhcHBsaWNhdGlvbi92b2ljZXhtbCt4bWwnLAogICAgICAgICd3M2QnID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAnd2FkJyA9PiAnYXBwbGljYXRpb24veC1kb29tJywKICAgICAgICAnd2F2JyA9PiAnYXVkaW8veC13YXYnLAogICAgICAgICd3YXgnID0+ICdhdWRpby94LW1zLXdheCcsCiAgICAgICAgJ3dibXAnID0+ICdpbWFnZS92bmQud2FwLndibXAnLAogICAgICAgICd3YnMnID0+ICdhcHBsaWNhdGlvbi92bmQuY3JpdGljYWx0b29scy53YnMreG1sJywKICAgICAgICAnd2J4bWwnID0+ICdhcHBsaWNhdGlvbi92bmQud2FwLndieG1sJywKICAgICAgICAnd2NtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzJywKICAgICAgICAnd2RiJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzJywKICAgICAgICAnd2ViYScgPT4gJ2F1ZGlvL3dlYm0nLAogICAgICAgICd3ZWJtJyA9PiAndmlkZW8vd2VibScsCiAgICAgICAgJ3dlYnAnID0+ICdpbWFnZS93ZWJwJywKICAgICAgICAnd2cnID0+ICdhcHBsaWNhdGlvbi92bmQucG1pLndpZGdldCcsCiAgICAgICAgJ3dndCcgPT4gJ2FwcGxpY2F0aW9uL3dpZGdldCcsCiAgICAgICAgJ3drcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy13b3JrcycsCiAgICAgICAgJ3dtJyA9PiAndmlkZW8veC1tcy13bScsCiAgICAgICAgJ3dtYScgPT4gJ2F1ZGlvL3gtbXMtd21hJywKICAgICAgICAnd21kJyA9PiAnYXBwbGljYXRpb24veC1tcy13bWQnLAogICAgICAgICd3bWYnID0+ICdhcHBsaWNhdGlvbi94LW1zbWV0YWZpbGUnLAogICAgICAgICd3bWwnID0+ICd0ZXh0L3ZuZC53YXAud21sJywKICAgICAgICAnd21sYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53YXAud21sYycsCiAgICAgICAgJ3dtbHMnID0+ICd0ZXh0L3ZuZC53YXAud21sc2NyaXB0JywKICAgICAgICAnd21sc2MnID0+ICdhcHBsaWNhdGlvbi92bmQud2FwLndtbHNjcmlwdGMnLAogICAgICAgICd3bXYnID0+ICd2aWRlby94LW1zLXdtdicsCiAgICAgICAgJ3dteCcgPT4gJ3ZpZGVvL3gtbXMtd214JywKICAgICAgICAnd216JyA9PiAnYXBwbGljYXRpb24veC1tcy13bXonLAogICAgICAgICd3b2ZmJyA9PiAnYXBwbGljYXRpb24veC1mb250LXdvZmYnLAogICAgICAgICd3cGQnID0+ICdhcHBsaWNhdGlvbi92bmQud29yZHBlcmZlY3QnLAogICAgICAgICd3cGwnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtd3BsJywKICAgICAgICAnd3BzJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzJywKICAgICAgICAnd3FkJyA9PiAnYXBwbGljYXRpb24vdm5kLndxZCcsCiAgICAgICAgJ3dyaScgPT4gJ2FwcGxpY2F0aW9uL3gtbXN3cml0ZScsCiAgICAgICAgJ3dybCcgPT4gJ21vZGVsL3ZybWwnLAogICAgICAgICd3c2RsJyA9PiAnYXBwbGljYXRpb24vd3NkbCt4bWwnLAogICAgICAgICd3c3BvbGljeScgPT4gJ2FwcGxpY2F0aW9uL3dzcG9saWN5K3htbCcsCiAgICAgICAgJ3d0YicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53ZWJ0dXJibycsCiAgICAgICAgJ3d2eCcgPT4gJ3ZpZGVvL3gtbXMtd3Z4JywKICAgICAgICAneDMyJyA9PiAnYXBwbGljYXRpb24veC1hdXRob3J3YXJlLWJpbicsCiAgICAgICAgJ3gzZCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oem4tM2QtY3Jvc3N3b3JkJywKICAgICAgICAneGFwJyA9PiAnYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC1hcHAnLAogICAgICAgICd4YXInID0+ICdhcHBsaWNhdGlvbi92bmQueGFyYScsCiAgICAgICAgJ3hiYXAnID0+ICdhcHBsaWNhdGlvbi94LW1zLXhiYXAnLAogICAgICAgICd4YmQnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3Jrcy5iaW5kZXInLAogICAgICAgICd4Ym0nID0+ICdpbWFnZS94LXhiaXRtYXAnLAogICAgICAgICd4ZGYnID0+ICdhcHBsaWNhdGlvbi94Y2FwLWRpZmYreG1sJywKICAgICAgICAneGRtJyA9PiAnYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbSt4bWwnLAogICAgICAgICd4ZHAnID0+ICdhcHBsaWNhdGlvbi92bmQuYWRvYmUueGRwK3htbCcsCiAgICAgICAgJ3hkc3NjJyA9PiAnYXBwbGljYXRpb24vZHNzYyt4bWwnLAogICAgICAgICd4ZHcnID0+ICdhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3JrcycsCiAgICAgICAgJ3hlbmMnID0+ICdhcHBsaWNhdGlvbi94ZW5jK3htbCcsCiAgICAgICAgJ3hlcicgPT4gJ2FwcGxpY2F0aW9uL3BhdGNoLW9wcy1lcnJvcit4bWwnLAogICAgICAgICd4ZmRmJyA9PiAnYXBwbGljYXRpb24vdm5kLmFkb2JlLnhmZGYnLAogICAgICAgICd4ZmRsJyA9PiAnYXBwbGljYXRpb24vdm5kLnhmZGwnLAogICAgICAgICd4aHQnID0+ICdhcHBsaWNhdGlvbi94aHRtbCt4bWwnLAogICAgICAgICd4aHRtbCcgPT4gJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsCiAgICAgICAgJ3hodm1sJyA9PiAnYXBwbGljYXRpb24veHYreG1sJywKICAgICAgICAneGlmJyA9PiAnaW1hZ2Uvdm5kLnhpZmYnLAogICAgICAgICd4bGEnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLAogICAgICAgICd4bGFtJyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmFkZGluLm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3hsYycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCiAgICAgICAgJ3hsbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCiAgICAgICAgJ3hscycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsCiAgICAgICAgJ3hsc2InID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQuYmluYXJ5Lm1hY3JvZW5hYmxlZC4xMicsCiAgICAgICAgJ3hsc20nID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9lbmFibGVkLjEyJywKICAgICAgICAneGxzeCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JywKICAgICAgICAneGx0JyA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJywKICAgICAgICAneGx0bScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTInLAogICAgICAgICd4bHR4JyA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGVtcGxhdGUnLAogICAgICAgICd4bHcnID0+ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLAogICAgICAgICd4bWwnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICd4bycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vbHBjLXN1Z2FyJywKICAgICAgICAneG9wJyA9PiAnYXBwbGljYXRpb24veG9wK3htbCcsCiAgICAgICAgJ3hwaScgPT4gJ2FwcGxpY2F0aW9uL3gteHBpbnN0YWxsJywKICAgICAgICAneHBtJyA9PiAnaW1hZ2UveC14cGl4bWFwJywKICAgICAgICAneHByJyA9PiAnYXBwbGljYXRpb24vdm5kLmlzLXhwcicsCiAgICAgICAgJ3hwcycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy14cHNkb2N1bWVudCcsCiAgICAgICAgJ3hwdycgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5pbnRlcmNvbi5mb3JtbmV0JywKICAgICAgICAneHB4JyA9PiAnYXBwbGljYXRpb24vdm5kLmludGVyY29uLmZvcm1uZXQnLAogICAgICAgICd4c2wnID0+ICdhcHBsaWNhdGlvbi94bWwnLAogICAgICAgICd4c2x0JyA9PiAnYXBwbGljYXRpb24veHNsdCt4bWwnLAogICAgICAgICd4c20nID0+ICdhcHBsaWNhdGlvbi92bmQuc3luY21sK3htbCcsCiAgICAgICAgJ3hzcGYnID0+ICdhcHBsaWNhdGlvbi94c3BmK3htbCcsCiAgICAgICAgJ3h1bCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWwnLAogICAgICAgICd4dm0nID0+ICdhcHBsaWNhdGlvbi94dit4bWwnLAogICAgICAgICd4dm1sJyA9PiAnYXBwbGljYXRpb24veHYreG1sJywKICAgICAgICAneHdkJyA9PiAnaW1hZ2UveC14d2luZG93ZHVtcCcsCiAgICAgICAgJ3h5eicgPT4gJ2NoZW1pY2FsL3gteHl6JywKICAgICAgICAneWFtbCcgPT4gJ3RleHQveWFtbCcsCiAgICAgICAgJ3lhbmcnID0+ICdhcHBsaWNhdGlvbi95YW5nJywKICAgICAgICAneWluJyA9PiAnYXBwbGljYXRpb24veWluK3htbCcsCiAgICAgICAgJ3ltbCcgPT4gJ3RleHQveWFtbCcsCiAgICAgICAgJ3pheicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC56emF6ei5kZWNrK3htbCcsCiAgICAgICAgJ3ppcCcgPT4gJ2FwcGxpY2F0aW9uL3ppcCcsCiAgICAgICAgJ3ppcicgPT4gJ2FwcGxpY2F0aW9uL3ZuZC56dWwnLAogICAgICAgICd6aXJ6JyA9PiAnYXBwbGljYXRpb24vdm5kLnp1bCcsCiAgICAgICAgJ3ptbScgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5oYW5kaGVsZC1lbnRlcnRhaW5tZW50K3htbCcKICAgIF07CgogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzCiAgICAgKgogICAgICogQHJldHVybiBzZWxmCiAgICAgKiBAY29kZUNvdmVyYWdlSWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKQogICAgewogICAgICAgIGlmICghc2VsZjo6JGluc3RhbmNlKSB7CiAgICAgICAgICAgIHNlbGY6OiRpbnN0YW5jZSA9IG5ldyBzZWxmKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gc2VsZjo6JGluc3RhbmNlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgbWltZXR5cGUgdmFsdWUgZnJvbSBhIGZpbGUgZXh0ZW5zaW9uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZXh0ZW5zaW9uIEZpbGUgZXh0ZW5zaW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZnJvbUV4dGVuc2lvbigkZXh0ZW5zaW9uKQogICAgewogICAgICAgICRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKCRleHRlbnNpb24pOwoKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPm1pbWV0eXBlc1skZXh0ZW5zaW9uXSkgPyAkdGhpcy0+bWltZXR5cGVzWyRleHRlbnNpb25dIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIG1pbWV0eXBlIGZyb20gYSBmaWxlbmFtZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpbGVuYW1lIEZpbGVuYW1lIHRvIGdlbmVyYXRlIGEgbWltZXR5cGUgZnJvbQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZyb21GaWxlbmFtZSgkZmlsZW5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5mcm9tRXh0ZW5zaW9uKHBhdGhpbmZvKCRmaWxlbmFtZSwgUEFUSElORk9fRVhURU5TSU9OKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/Birthday.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCnVzZSBEYXRlVGltZTsKCi8qKgogKiBCaXJ0aGRheSBvYmplY3QgdG8gaGFuZGxlIHZhcmlvdXMgR3JhcGggcmV0dXJuIGZvcm1hdHMKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEJpcnRoZGF5IGV4dGVuZHMgRGF0ZVRpbWUKewogICAgLyoqCiAgICAgKiBAdmFyIGJvb2wKICAgICAqLwogICAgcHJpdmF0ZSAkaGFzRGF0ZSA9IGZhbHNlOwoKICAgIC8qKgogICAgICogQHZhciBib29sCiAgICAgKi8KICAgIHByaXZhdGUgJGhhc1llYXIgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIFBhcnNlcyBHcmFwaCBiaXJ0aGRheSBmb3JtYXQgdG8gc2V0IGluZGljYXRpb24gZmxhZ3MsIHBvc3NpYmxlIHZhbHVlczoKICAgICAqCiAgICAgKiAgTU0vREQvWVlZWQogICAgICogIE1NL0RECiAgICAgKiAgWVlZWQogICAgICoKICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9ncmFwaC1hcGkvcmVmZXJlbmNlL3VzZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZGF0ZSkKICAgIHsKICAgICAgICAkcGFydHMgPSBleHBsb2RlKCcvJywgJGRhdGUpOwoKICAgICAgICAkdGhpcy0+aGFzWWVhciA9IGNvdW50KCRwYXJ0cykgPT09IDMgfHwgY291bnQoJHBhcnRzKSA9PT0gMTsKICAgICAgICAkdGhpcy0+aGFzRGF0ZSA9IGNvdW50KCRwYXJ0cykgPT09IDMgfHwgY291bnQoJHBhcnRzKSA9PT0gMjsKCiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkZGF0ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgZGF0ZSBvYmplY3QgY29udGFpbnMgYmlydGggZGF5IGFuZCBtb250aAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzRGF0ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oYXNEYXRlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB3aGV0aGVyIGRhdGUgb2JqZWN0IGNvbnRhaW5zIGJpcnRoIHllYXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc1llYXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aGFzWWVhcjsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/Collection.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBDb2xsZWN0aW9uCiAqCiAqIE1vZGlmaWVkIHZlcnNpb24gb2YgQ29sbGVjdGlvbiBpbiAiaWxsdW1pbmF0ZS9zdXBwb3J0IiBieSBUYXlsb3IgT3R3ZWxsCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwoKdXNlIEFycmF5QWNjZXNzOwp1c2UgQXJyYXlJdGVyYXRvcjsKdXNlIENvdW50YWJsZTsKdXNlIEl0ZXJhdG9yQWdncmVnYXRlOwoKY2xhc3MgQ29sbGVjdGlvbiBpbXBsZW1lbnRzIEFycmF5QWNjZXNzLCBDb3VudGFibGUsIEl0ZXJhdG9yQWdncmVnYXRlCnsKICAgIC8qKgogICAgICogVGhlIGl0ZW1zIGNvbnRhaW5lZCBpbiB0aGUgY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByb3RlY3RlZCAkaXRlbXMgPSBbXTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkaXRlbXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRpdGVtcyA9IFtdKQogICAgewogICAgICAgICR0aGlzLT5pdGVtcyA9ICRpdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIHZhbHVlIG9mIGEgZmllbGQgZnJvbSB0aGUgR3JhcGggbm9kZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgIFRoZSBmaWVsZCB0byByZXRyaWV2ZS4KICAgICAqIEBwYXJhbSBtaXhlZCAgJGRlZmF1bHQgVGhlIGRlZmF1bHQgdG8gcmV0dXJuIGlmIHRoZSBmaWVsZCBkb2Vzbid0IGV4aXN0LgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpZWxkKCRuYW1lLCAkZGVmYXVsdCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5pdGVtc1skbmFtZV0pKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+aXRlbXNbJG5hbWVdOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkZWZhdWx0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIG5hbWVkIHByb3BlcnR5IGZvciB0aGlzIGdyYXBoIG9iamVjdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lICAgIFRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZS4KICAgICAqIEBwYXJhbSBtaXhlZCAgJGRlZmF1bHQgVGhlIGRlZmF1bHQgdG8gcmV0dXJuIGlmIHRoZSBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0LgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZCA1LjAuMCBnZXRQcm9wZXJ0eSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gZ2V0RmllbGQoKQogICAgICogQHRvZG8gdjY6IFJlbW92ZSB0aGlzIG1ldGhvZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvcGVydHkoJG5hbWUsICRkZWZhdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCRuYW1lLCAkZGVmYXVsdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhbGwgZmllbGRzIHNldCBvbiB0aGUgb2JqZWN0LgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpZWxkTmFtZXMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9rZXlzKCR0aGlzLT5pdGVtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcHJvcGVydGllcyBzZXQgb24gdGhlIG9iamVjdC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQGRlcHJlY2F0ZWQgNS4wLjAgZ2V0UHJvcGVydHlOYW1lcygpIGhhcyBiZWVuIHJlbmFtZWQgdG8gZ2V0RmllbGROYW1lcygpCiAgICAgKiBAdG9kbyB2NjogUmVtb3ZlIHRoaXMgbWV0aG9kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcm9wZXJ0eU5hbWVzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkTmFtZXMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFsbCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY29sbGVjdGlvbiBvZiBpdGVtcyBhcyBhIHBsYWluIGFycmF5LgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFzQXJyYXkoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9tYXAoZnVuY3Rpb24gKCR2YWx1ZSkgewogICAgICAgICAgICByZXR1cm4gJHZhbHVlIGluc3RhbmNlb2YgQ29sbGVjdGlvbiA/ICR2YWx1ZS0+YXNBcnJheSgpIDogJHZhbHVlOwogICAgICAgIH0sICR0aGlzLT5pdGVtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSdW4gYSBtYXAgb3ZlciBlYWNoIG9mIHRoZSBpdGVtcy4KICAgICAqCiAgICAgKiBAcGFyYW0gXENsb3N1cmUgJGNhbGxiYWNrCiAgICAgKgogICAgICogQHJldHVybiBzdGF0aWMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1hcChcQ2xvc3VyZSAkY2FsbGJhY2spCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBzdGF0aWMoYXJyYXlfbWFwKCRjYWxsYmFjaywgJHRoaXMtPml0ZW1zLCBhcnJheV9rZXlzKCR0aGlzLT5pdGVtcykpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY29sbGVjdGlvbiBvZiBpdGVtcyBhcyBKU09OLgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYXNKc29uKCRvcHRpb25zID0gMCkKICAgIHsKICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoJHRoaXMtPmFzQXJyYXkoKSwgJG9wdGlvbnMpOwogICAgfQoKICAgIC8qKgogICAgICogQ291bnQgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY291bnQoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+aXRlbXMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGl0ZXJhdG9yIGZvciB0aGUgaXRlbXMuCiAgICAgKgogICAgICogQHJldHVybiBBcnJheUl0ZXJhdG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBBcnJheUl0ZXJhdG9yKCR0aGlzLT5pdGVtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmUgaWYgYW4gaXRlbSBleGlzdHMgYXQgYW4gb2Zmc2V0LgogICAgICoKICAgICAqIEBwYXJhbSBtaXhlZCAka2V5CiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRFeGlzdHMoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+aXRlbXMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGl0ZW0gYXQgYSBnaXZlbiBvZmZzZXQuCiAgICAgKgogICAgICogQHBhcmFtIG1peGVkICRrZXkKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRHZXQoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPml0ZW1zWyRrZXldOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBpdGVtIGF0IGEgZ2l2ZW4gb2Zmc2V0LgogICAgICoKICAgICAqIEBwYXJhbSBtaXhlZCAka2V5CiAgICAgKiBAcGFyYW0gbWl4ZWQgJHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJGtleSwgJHZhbHVlKQogICAgewogICAgICAgIGlmIChpc19udWxsKCRrZXkpKSB7CiAgICAgICAgICAgICR0aGlzLT5pdGVtc1tdID0gJHZhbHVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5pdGVtc1ska2V5XSA9ICR2YWx1ZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBVbnNldCB0aGUgaXRlbSBhdCBhIGdpdmVuIG9mZnNldC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkKICAgICAqCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFVuc2V0KCRrZXkpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPml0ZW1zWyRrZXldKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhlIGNvbGxlY3Rpb24gdG8gaXRzIHN0cmluZyByZXByZXNlbnRhdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hc0pzb24oKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphAchievement.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaEFjaGlldmVtZW50CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaEFjaGlldmVtZW50IGV4dGVuZHMgR3JhcGhOb2RlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBNYXBzIG9iamVjdCBrZXkgbmFtZXMgdG8gR3JhcGggb2JqZWN0IHR5cGVzLgogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRncmFwaE9iamVjdE1hcCA9IFsKICAgICAgICAnZnJvbScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoVXNlcicsCiAgICAgICAgJ2FwcGxpY2F0aW9uJyA9PiAnXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhBcHBsaWNhdGlvbicsCiAgICBdOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgSUQgZm9yIHRoZSBhY2hpZXZlbWVudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnaWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHVzZXIgd2hvIGFjaGlldmVkIHRoaXMuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaFVzZXJ8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RnJvbSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZnJvbScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdGltZSBhdCB3aGljaCB0aGlzIHdhcyBhY2hpZXZlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQdWJsaXNoVGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgncHVibGlzaF90aW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBhcHAgaW4gd2hpY2ggdGhlIHVzZXIgYWNoaWV2ZWQgdGhpcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoQXBwbGljYXRpb258bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXBwbGljYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2FwcGxpY2F0aW9uJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhY2hpZXZlbWVudCB0eXBlIHRoaXMgaW5zdGFuY2UgaXMgY29ubmVjdGVkIHdpdGguCiAgICAgKgogICAgICogQHJldHVybiBhcnJheXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREYXRhKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdkYXRhJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB0eXBlIG9mIGFjaGlldmVtZW50LgogICAgICoKICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2dyYXBoLWFwaS9yZWZlcmVuY2UvYWNoaWV2ZW1lbnQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VHlwZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdnYW1lLmFjaGlldmVtZW50JzsKICAgIH0KCiAgICAvKioKICAgICAqIEluZGljYXRlcyB3aGV0aGVyIGdhaW5pbmcgdGhlIGFjaGlldmVtZW50IHB1Ymxpc2hlZCBhIGZlZWQgc3RvcnkgZm9yIHRoZSB1c2VyLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbGVhbnxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc05vRmVlZFN0b3J5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdub19mZWVkX3N0b3J5Jyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphAlbum.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaEFsYnVtCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwoKY2xhc3MgR3JhcGhBbGJ1bSBleHRlbmRzIEdyYXBoTm9kZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgTWFwcyBvYmplY3Qga2V5IG5hbWVzIHRvIEdyYXBoIG9iamVjdCB0eXBlcy4KICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkZ3JhcGhPYmplY3RNYXAgPSBbCiAgICAgICAgJ2Zyb20nID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaFVzZXInLAogICAgICAgICdwbGFjZScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoUGFnZScsCiAgICBdOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgSUQgZm9yIHRoZSBhbGJ1bS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnaWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgdmlld2VyIGNhbiB1cGxvYWQgcGhvdG9zIHRvIHRoaXMgYWxidW0uCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFufG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENhblVwbG9hZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnY2FuX3VwbG9hZCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHBob3RvcyBpbiB0aGlzIGFsYnVtLgogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdjb3VudCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgSUQgb2YgdGhlIGFsYnVtJ3MgY292ZXIgcGhvdG8uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q292ZXJQaG90bygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnY292ZXJfcGhvdG8nKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHRpbWUgdGhlIGFsYnVtIHdhcyBpbml0aWFsbHkgY3JlYXRlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDcmVhdGVkVGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnY3JlYXRlZF90aW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB0aW1lIHRoZSBhbGJ1bSB3YXMgdXBkYXRlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcGRhdGVkVGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndXBkYXRlZF90aW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYWxidW0uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVzY3JpcHRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2Rlc2NyaXB0aW9uJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHByb2ZpbGUgdGhhdCBjcmVhdGVkIHRoZSBhbGJ1bS4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoVXNlcnxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGcm9tKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdmcm9tJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHByb2ZpbGUgdGhhdCBjcmVhdGVkIHRoZSBhbGJ1bS4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoUGFnZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQbGFjZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgncGxhY2UnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaW5rIHRvIHRoaXMgYWxidW0gb24gRmFjZWJvb2suCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGluaygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbGluaycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdGV4dHVhbCBsb2NhdGlvbiBvZiB0aGUgYWxidW0uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TG9jYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2xvY2F0aW9uJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgYWxidW0uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbmFtZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcHJpdmFjeSBzZXR0aW5ncyBmb3IgdGhlIGFsYnVtLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFByaXZhY3koKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3ByaXZhY3knKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGFsYnVtLgogICAgICoKICAgICAqIGVudW17IHByb2ZpbGUsIG1vYmlsZSwgd2FsbCwgbm9ybWFsLCBhbGJ1bSB9CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VHlwZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndHlwZScpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphApplication.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaEFwcGxpY2F0aW9uCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwoKY2xhc3MgR3JhcGhBcHBsaWNhdGlvbiBleHRlbmRzIEdyYXBoTm9kZQp7CiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIElEIGZvciB0aGUgYXBwbGljYXRpb24uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2lkJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphCoverPhoto.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaENvdmVyUGhvdG8KICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEdyYXBoQ292ZXJQaG90byBleHRlbmRzIEdyYXBoTm9kZQp7CiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGlkIG9mIGNvdmVyIGlmIGl0IGV4aXN0cwogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldElkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpZCcpOwogICAgfQogICAgCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHNvdXJjZSBvZiBjb3ZlciBpZiBpdCBleGlzdHMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTb3VyY2UoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3NvdXJjZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgb2Zmc2V0X3ggb2YgY292ZXIgaWYgaXQgZXhpc3RzCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T2Zmc2V0WCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnb2Zmc2V0X3gnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG9mZnNldF95IG9mIGNvdmVyIGlmIGl0IGV4aXN0cwogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE9mZnNldFkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ29mZnNldF95Jyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphEdge.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCnVzZSBGYWNlYm9va1xGYWNlYm9va1JlcXVlc3Q7CnVzZSBGYWNlYm9va1xVcmxcRmFjZWJvb2tVcmxNYW5pcHVsYXRvcjsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgovKioKICogQ2xhc3MgR3JhcGhFZGdlCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaEVkZ2UgZXh0ZW5kcyBDb2xsZWN0aW9uCnsKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va1JlcXVlc3QgVGhlIG9yaWdpbmFsIHJlcXVlc3QgdGhhdCBnZW5lcmF0ZWQgdGhpcyBkYXRhLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHJlcXVlc3Q7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IEFuIGFycmF5IG9mIEdyYXBoIG1ldGEgZGF0YSBsaWtlIHBhZ2luYXRpb24sIGV0Yy4KICAgICAqLwogICAgcHJvdGVjdGVkICRtZXRhRGF0YSA9IFtdOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmd8bnVsbCBUaGUgcGFyZW50IEdyYXBoIGVkZ2UgZW5kcG9pbnQgdGhhdCBnZW5lcmF0ZWQgdGhlIGxpc3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkcGFyZW50RWRnZUVuZHBvaW50OwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmd8bnVsbCBUaGUgc3ViY2xhc3Mgb2YgdGhlIGNoaWxkIEdyYXBoTm9kZSdzLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHN1YmNsYXNzTmFtZTsKCiAgICAvKioKICAgICAqIEluaXQgdGhpcyBjb2xsZWN0aW9uIG9mIEdyYXBoTm9kZSdzLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va1JlcXVlc3QgJHJlcXVlc3QgICAgICAgICAgICBUaGUgb3JpZ2luYWwgcmVxdWVzdCB0aGF0IGdlbmVyYXRlZCB0aGlzIGRhdGEuCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICRkYXRhICAgICAgICAgICAgICAgQW4gYXJyYXkgb2YgR3JhcGhOb2RlJ3MuCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgICAgICRtZXRhRGF0YSAgICAgICAgICAgQW4gYXJyYXkgb2YgR3JhcGggbWV0YSBkYXRhIGxpa2UgcGFnaW5hdGlvbiwgZXRjLgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICAgICAkcGFyZW50RWRnZUVuZHBvaW50IFRoZSBwYXJlbnQgR3JhcGggZWRnZSBlbmRwb2ludCB0aGF0IGdlbmVyYXRlZCB0aGUgbGlzdC4KICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAgICAgJHN1YmNsYXNzTmFtZSAgICAgICBUaGUgc3ViY2xhc3Mgb2YgdGhlIGNoaWxkIEdyYXBoTm9kZSdzLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRmFjZWJvb2tSZXF1ZXN0ICRyZXF1ZXN0LCBhcnJheSAkZGF0YSA9IFtdLCBhcnJheSAkbWV0YURhdGEgPSBbXSwgJHBhcmVudEVkZ2VFbmRwb2ludCA9IG51bGwsICRzdWJjbGFzc05hbWUgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5yZXF1ZXN0ID0gJHJlcXVlc3Q7CiAgICAgICAgJHRoaXMtPm1ldGFEYXRhID0gJG1ldGFEYXRhOwogICAgICAgICR0aGlzLT5wYXJlbnRFZGdlRW5kcG9pbnQgPSAkcGFyZW50RWRnZUVuZHBvaW50OwogICAgICAgICR0aGlzLT5zdWJjbGFzc05hbWUgPSAkc3ViY2xhc3NOYW1lOwoKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIHBhcmVudCBHcmFwaCBlZGdlIGVuZHBvaW50IHRoYXQgZ2VuZXJhdGVkIHRoZSBsaXN0LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmVudEdyYXBoRWRnZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wYXJlbnRFZGdlRW5kcG9pbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIHRoZSBzdWJjbGFzcyBuYW1lIHRoYXQgdGhlIGNoaWxkIEdyYXBoTm9kZSdzIGFyZSBjYXN0IGFzLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN1YkNsYXNzTmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zdWJjbGFzc05hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSByYXcgbWV0YSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEdyYXBoRWRnZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNZXRhRGF0YSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tZXRhRGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG5leHQgY3Vyc29yIGlmIGl0IGV4aXN0cy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROZXh0Q3Vyc29yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEN1cnNvcignYWZ0ZXInKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHByZXZpb3VzIGN1cnNvciBpZiBpdCBleGlzdHMuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJldmlvdXNDdXJzb3IoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0Q3Vyc29yKCdiZWZvcmUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGN1cnNvciBmb3IgYSBzcGVjaWZpYyBkaXJlY3Rpb24gaWYgaXQgZXhpc3RzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRpcmVjdGlvbiBUaGUgZGlyZWN0aW9uIG9mIHRoZSBwYWdlOiBhZnRlcnxiZWZvcmUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXJzb3IoJGRpcmVjdGlvbikKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPm1ldGFEYXRhWydwYWdpbmcnXVsnY3Vyc29ycyddWyRkaXJlY3Rpb25dKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1ldGFEYXRhWydwYWdpbmcnXVsnY3Vyc29ycyddWyRkaXJlY3Rpb25dOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZXMgYSBwYWdpbmF0aW9uIFVSTCBiYXNlZCBvbiBhIGN1cnNvci4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXJlY3Rpb24gVGhlIGRpcmVjdGlvbiBvZiB0aGUgcGFnZTogbmV4dHxwcmV2aW91cwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYWdpbmF0aW9uVXJsKCRkaXJlY3Rpb24pCiAgICB7CiAgICAgICAgJHRoaXMtPnZhbGlkYXRlRm9yUGFnaW5hdGlvbigpOwoKICAgICAgICAvLyBEbyB3ZSBoYXZlIGEgcGFnaW5nIFVSTD8KICAgICAgICBpZiAoIWlzc2V0KCR0aGlzLT5tZXRhRGF0YVsncGFnaW5nJ11bJGRpcmVjdGlvbl0pKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgJHBhZ2VVcmwgPSAkdGhpcy0+bWV0YURhdGFbJ3BhZ2luZyddWyRkaXJlY3Rpb25dOwoKICAgICAgICByZXR1cm4gRmFjZWJvb2tVcmxNYW5pcHVsYXRvcjo6YmFzZUdyYXBoVXJsRW5kcG9pbnQoJHBhZ2VVcmwpOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHdoZXRoZXIgb3Igbm90IHdlIGNhbiBwYWdpbmF0ZSBvbiB0aGlzIHJlcXVlc3QuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGVGb3JQYWdpbmF0aW9uKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnJlcXVlc3QtPmdldE1ldGhvZCgpICE9PSAnR0VUJykgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1lvdSBjYW4gb25seSBwYWdpbmF0ZSBvbiBhIEdFVCByZXF1ZXN0LicsIDcyMCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0cyB0aGUgcmVxdWVzdCBvYmplY3QgbmVlZGVkIHRvIG1ha2UgYSBuZXh0fHByZXZpb3VzIHBhZ2UgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXJlY3Rpb24gVGhlIGRpcmVjdGlvbiBvZiB0aGUgcGFnZTogbmV4dHxwcmV2aW91cwogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXF1ZXN0fG51bGwKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYWdpbmF0aW9uUmVxdWVzdCgkZGlyZWN0aW9uKQogICAgewogICAgICAgICRwYWdlVXJsID0gJHRoaXMtPmdldFBhZ2luYXRpb25VcmwoJGRpcmVjdGlvbik7CiAgICAgICAgaWYgKCEkcGFnZVVybCkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgICRuZXdSZXF1ZXN0ID0gY2xvbmUgJHRoaXMtPnJlcXVlc3Q7CiAgICAgICAgJG5ld1JlcXVlc3QtPnNldEVuZHBvaW50KCRwYWdlVXJsKTsKCiAgICAgICAgcmV0dXJuICRuZXdSZXF1ZXN0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0cyB0aGUgcmVxdWVzdCBvYmplY3QgbmVlZGVkIHRvIG1ha2UgYSAibmV4dCIgcGFnZSByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tSZXF1ZXN0fG51bGwKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROZXh0UGFnZVJlcXVlc3QoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UGFnaW5hdGlvblJlcXVlc3QoJ25leHQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgdGhlIHJlcXVlc3Qgb2JqZWN0IG5lZWRlZCB0byBtYWtlIGEgInByZXZpb3VzIiBwYWdlIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va1JlcXVlc3R8bnVsbAogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFByZXZpb3VzUGFnZVJlcXVlc3QoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UGFnaW5hdGlvblJlcXVlc3QoJ3ByZXZpb3VzJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIHJlc3VsdHMgYWNjb3JkaW5nIHRvIEdyYXBoIGlmIGl0IGV4aXN0cy4KICAgICAqCiAgICAgKiBUaGlzIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIHN1bW1hcnk9dHJ1ZSBtb2RpZmllciBpcyBwcmVzZW50IGluIHRoZSByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFRvdGFsQ291bnQoKQogICAgewogICAgICAgIGlmIChpc3NldCgkdGhpcy0+bWV0YURhdGFbJ3N1bW1hcnknXVsndG90YWxfY291bnQnXSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5tZXRhRGF0YVsnc3VtbWFyeSddWyd0b3RhbF9jb3VudCddOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdERvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFwKFxDbG9zdXJlICRjYWxsYmFjaykKICAgIHsKICAgICAgICByZXR1cm4gbmV3IHN0YXRpYygKICAgICAgICAgICAgJHRoaXMtPnJlcXVlc3QsCiAgICAgICAgICAgIGFycmF5X21hcCgkY2FsbGJhY2ssICR0aGlzLT5pdGVtcywgYXJyYXlfa2V5cygkdGhpcy0+aXRlbXMpKSwKICAgICAgICAgICAgJHRoaXMtPm1ldGFEYXRhLAogICAgICAgICAgICAkdGhpcy0+cGFyZW50RWRnZUVuZHBvaW50LAogICAgICAgICAgICAkdGhpcy0+c3ViY2xhc3NOYW1lCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphEvent.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaEV2ZW50CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaEV2ZW50IGV4dGVuZHMgR3JhcGhOb2RlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBNYXBzIG9iamVjdCBrZXkgbmFtZXMgdG8gR3JhcGhOb2RlIHR5cGVzLgogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRncmFwaE9iamVjdE1hcCA9IFsKICAgICAgICAnY292ZXInID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaENvdmVyUGhvdG8nLAogICAgICAgICdwbGFjZScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoUGFnZScsCiAgICAgICAgJ3BpY3R1cmUnID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaFBpY3R1cmUnLAogICAgICAgICdwYXJlbnRfZ3JvdXAnID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaEdyb3VwJywKICAgIF07CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgaWRgIChUaGUgZXZlbnQgSUQpIGFzIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldElkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpZCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYGNvdmVyYCAoQ292ZXIgcGljdHVyZSkgYXMgR3JhcGhDb3ZlclBob3RvIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaENvdmVyUGhvdG98bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q292ZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2NvdmVyJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgZGVzY3JpcHRpb25gIChMb25nLWZvcm0gZGVzY3JpcHRpb24pIGFzIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdkZXNjcmlwdGlvbicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYGVuZF90aW1lYCAoRW5kIHRpbWUsIGlmIG9uZSBoYXMgYmVlbiBzZXQpIGFzIERhdGVUaW1lIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBcRGF0ZVRpbWV8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RW5kVGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZW5kX3RpbWUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBpc19kYXRlX29ubHlgIChXaGV0aGVyIHRoZSBldmVudCBvbmx5IGhhcyBhIGRhdGUgc3BlY2lmaWVkLCBidXQgbm8gdGltZSkgYXMgYm9vbCBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJc0RhdGVPbmx5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpc19kYXRlX29ubHknKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBuYW1lYCAoRXZlbnQgbmFtZSkgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbmFtZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYG93bmVyYCAoVGhlIHByb2ZpbGUgdGhhdCBjcmVhdGVkIHRoZSBldmVudCkgYXMgR3JhcGhOb2RlIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaE5vZGV8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0T3duZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ293bmVyJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgcGFyZW50X2dyb3VwYCAoVGhlIGdyb3VwIHRoZSBldmVudCBiZWxvbmdzIHRvKSBhcyBHcmFwaEdyb3VwIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEdyb3VwfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhcmVudEdyb3VwKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdwYXJlbnRfZ3JvdXAnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBwbGFjZWAgKEV2ZW50IFBsYWNlIGluZm9ybWF0aW9uKSBhcyBHcmFwaFBhZ2UgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoUGFnZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQbGFjZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgncGxhY2UnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBwcml2YWN5YCAoV2hvIGNhbiBzZWUgdGhlIGV2ZW50KSBhcyBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcml2YWN5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdwcml2YWN5Jyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgc3RhcnRfdGltZWAgKFN0YXJ0IHRpbWUpIGFzIERhdGVUaW1lIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBcRGF0ZVRpbWV8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3RhcnRUaW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdzdGFydF90aW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgdGlja2V0X3VyaWAgKFRoZSBsaW5rIHVzZXJzIGNhbiB2aXNpdCB0byBidXkgYSB0aWNrZXQgdG8gdGhpcyBldmVudCkgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGlja2V0VXJpKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCd0aWNrZXRfdXJpJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgdGltZXpvbmVgIChUaW1lem9uZSkgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGltZXpvbmUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3RpbWV6b25lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgdXBkYXRlZF90aW1lYCAoTGFzdCB1cGRhdGUgdGltZSkgYXMgRGF0ZVRpbWUgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcGRhdGVkVGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndXBkYXRlZF90aW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgcGljdHVyZWAgKEV2ZW50IHBpY3R1cmUpIGFzIEdyYXBoUGljdHVyZSBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhQaWN0dXJlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBpY3R1cmUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3BpY3R1cmUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBhdHRlbmRpbmdfY291bnRgIChOdW1iZXIgb2YgcGVvcGxlIGF0dGVuZGluZyB0aGUgZXZlbnQpIGFzIGludCBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEF0dGVuZGluZ0NvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdhdHRlbmRpbmdfY291bnQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBkZWNsaW5lZF9jb3VudGAgKE51bWJlciBvZiBwZW9wbGUgd2hvIGRlY2xpbmVkIHRoZSBldmVudCkgYXMgaW50IGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RGVjbGluZWRDb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZGVjbGluZWRfY291bnQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBtYXliZV9jb3VudGAgKE51bWJlciBvZiBwZW9wbGUgd2hvIG1heWJlIGdvaW5nIHRvIHRoZSBldmVudCkgYXMgaW50IGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF5YmVDb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbWF5YmVfY291bnQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBub3JlcGx5X2NvdW50YCAoTnVtYmVyIG9mIHBlb3BsZSB3aG8gZGlkIG5vdCByZXBseSB0byB0aGUgZXZlbnQpIGFzIGludCBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE5vcmVwbHlDb3VudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbm9yZXBseV9jb3VudCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYGludml0ZWRfY291bnRgIChOdW1iZXIgb2YgcGVvcGxlIGludml0ZWQgdG8gdGhlIGV2ZW50KSBhcyBpbnQgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludHxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJbnZpdGVkQ291bnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2ludml0ZWRfY291bnQnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaEdyb3VwCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaEdyb3VwIGV4dGVuZHMgR3JhcGhOb2RlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBNYXBzIG9iamVjdCBrZXkgbmFtZXMgdG8gR3JhcGhOb2RlIHR5cGVzLgogICAgICovCiAgICBwcm90ZWN0ZWQgc3RhdGljICRncmFwaE9iamVjdE1hcCA9IFsKICAgICAgICAnY292ZXInID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaENvdmVyUGhvdG8nLAogICAgICAgICd2ZW51ZScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoTG9jYXRpb24nLAogICAgXTsKCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBpZGAgKFRoZSBHcm91cCBJRCkgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2lkJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgY292ZXJgIChUaGUgY292ZXIgcGhvdG8gb2YgdGhlIEdyb3VwKSBhcyBHcmFwaENvdmVyUGhvdG8gaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoQ292ZXJQaG90b3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb3ZlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnY292ZXInKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBkZXNjcmlwdGlvbmAgKEEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIEdyb3VwKSBhcyBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZGVzY3JpcHRpb24nKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBlbWFpbGAgKFRoZSBlbWFpbCBhZGRyZXNzIHRvIHVwbG9hZCBjb250ZW50IHRvIHRoZSBHcm91cC4gT25seSBjdXJyZW50IG1lbWJlcnMgb2YgdGhlIEdyb3VwIGNhbiB1c2UgdGhpcykgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RW1haWwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2VtYWlsJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgaWNvbmAgKFRoZSBVUkwgZm9yIHRoZSBHcm91cCdzIGljb24pIGFzIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEljb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2ljb24nKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBsaW5rYCAoVGhlIEdyb3VwJ3Mgd2Vic2l0ZSkgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGluaygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbGluaycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYG5hbWVgIChUaGUgbmFtZSBvZiB0aGUgR3JvdXApIGFzIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ25hbWUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGBtZW1iZXJfcmVxdWVzdF9jb3VudGAgKE51bWJlciBvZiBwZW9wbGUgYXNraW5nIHRvIGpvaW4gdGhlIGdyb3VwLikgYXMgaW50IGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWVtYmVyUmVxdWVzdENvdW50KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdtZW1iZXJfcmVxdWVzdF9jb3VudCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYG93bmVyYCAoVGhlIHByb2ZpbGUgdGhhdCBjcmVhdGVkIHRoaXMgR3JvdXApIGFzIEdyYXBoTm9kZSBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhOb2RlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE93bmVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdvd25lcicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYHBhcmVudGAgKFRoZSBwYXJlbnQgR3JvdXAgb2YgdGhpcyBHcm91cCwgaWYgaXQgZXhpc3RzKSBhcyBHcmFwaE5vZGUgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoTm9kZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQYXJlbnQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3BhcmVudCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYHByaXZhY3lgIChUaGUgcHJpdmFjeSBzZXR0aW5nIG9mIHRoZSBHcm91cCkgYXMgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJpdmFjeSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgncHJpdmFjeScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYHVwZGF0ZWRfdGltZWAgKFRoZSBsYXN0IHRpbWUgdGhlIEdyb3VwIHdhcyB1cGRhdGVkICh0aGlzIGluY2x1ZGVzIGNoYW5nZXMgaW4gdGhlIEdyb3VwJ3MgcHJvcGVydGllcyBhbmQgY2hhbmdlcyBpbiBwb3N0cyBhbmQgY29tbWVudHMgaWYgdXNlciBjYW4gc2VlIHRoZW0pKSBhcyBcRGF0ZVRpbWUgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVcGRhdGVkVGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndXBkYXRlZF90aW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgdmVudWVgIChUaGUgbG9jYXRpb24gZm9yIHRoZSBHcm91cCkgYXMgR3JhcGhMb2NhdGlvbiBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhMb2NhdGlvbnxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWZW51ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndmVudWUnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphList.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaExpc3QKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICoKICogQGRlcHJlY2F0ZWQgNS4wLjAgR3JhcGhMaXN0IGhhcyBiZWVuIHJlbmFtZWQgdG8gR3JhcGhFZGdlCiAqIEB0b2RvIHY2OiBSZW1vdmUgdGhpcyBjbGFzcwogKi8KY2xhc3MgR3JhcGhMaXN0IGV4dGVuZHMgR3JhcGhFZGdlCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphLocation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaExvY2F0aW9uCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaExvY2F0aW9uIGV4dGVuZHMgR3JhcGhOb2RlCnsKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc3RyZWV0IGNvbXBvbmVudCBvZiB0aGUgbG9jYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTdHJlZXQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3N0cmVldCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY2l0eSBjb21wb25lbnQgb2YgdGhlIGxvY2F0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2l0eSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnY2l0eScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc3RhdGUgY29tcG9uZW50IG9mIHRoZSBsb2NhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0YXRlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdzdGF0ZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY291bnRyeSBjb21wb25lbnQgb2YgdGhlIGxvY2F0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q291bnRyeSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnY291bnRyeScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgemlwY29kZSBjb21wb25lbnQgb2YgdGhlIGxvY2F0aW9uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0WmlwKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCd6aXAnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGxhdGl0dWRlIGNvbXBvbmVudCBvZiB0aGUgbG9jYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIGZsb2F0fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExhdGl0dWRlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdsYXRpdHVkZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc3RyZWV0IGNvbXBvbmVudCBvZiB0aGUgbG9jYXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIGZsb2F0fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExvbmdpdHVkZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbG9uZ2l0dWRlJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphNode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaE5vZGUKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEdyYXBoTm9kZSBleHRlbmRzIENvbGxlY3Rpb24KewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IE1hcHMgb2JqZWN0IGtleSBuYW1lcyB0byBHcmFwaCBvYmplY3QgdHlwZXMuCiAgICAgKi8KICAgIHByb3RlY3RlZCBzdGF0aWMgJGdyYXBoT2JqZWN0TWFwID0gW107CgogICAgLyoqCiAgICAgKiBJbml0IHRoaXMgR3JhcGggb2JqZWN0LgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZGF0YQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGRhdGEgPSBbXSkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCR0aGlzLT5jYXN0SXRlbXMoJGRhdGEpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEl0ZXJhdGVzIG92ZXIgYW4gYXJyYXkgYW5kIGRldGVjdHMgdGhlIHR5cGVzIGVhY2ggbm9kZQogICAgICogc2hvdWxkIGJlIGNhc3QgdG8gYW5kIHJldHVybnMgYWxsIHRoZSBpdGVtcyBhcyBhbiBhcnJheS4KICAgICAqCiAgICAgKiBAVE9ETyBBZGQgYXV0by1jYXN0aW5nIHRvIEFjY2Vzc1Rva2VuIGVudGl0aWVzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZGF0YSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhc3RJdGVtcyhhcnJheSAkZGF0YSkKICAgIHsKICAgICAgICAkaXRlbXMgPSBbXTsKCiAgICAgICAgZm9yZWFjaCAoJGRhdGEgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5zaG91bGRDYXN0QXNEYXRlVGltZSgkaykKICAgICAgICAgICAgICAgICYmIChpc19udW1lcmljKCR2KQogICAgICAgICAgICAgICAgICAgIHx8ICR0aGlzLT5pc0lzbzg2MDFEYXRlU3RyaW5nKCR2KSkKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAkaXRlbXNbJGtdID0gJHRoaXMtPmNhc3RUb0RhdGVUaW1lKCR2KTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRrID09PSAnYmlydGhkYXknKSB7CiAgICAgICAgICAgICAgICAkaXRlbXNbJGtdID0gJHRoaXMtPmNhc3RUb0JpcnRoZGF5KCR2KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRpdGVtc1ska10gPSAkdjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRpdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIFVuY2FzdHMgYW55IGF1dG8tY2FzdGVkIGRhdGF0eXBlcy4KICAgICAqIEJhc2ljYWxseSB0aGUgcmV2ZXJzZSBvZiBjYXN0SXRlbXMoKS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1bmNhc3RJdGVtcygpCiAgICB7CiAgICAgICAgJGl0ZW1zID0gJHRoaXMtPmFzQXJyYXkoKTsKCiAgICAgICAgcmV0dXJuIGFycmF5X21hcChmdW5jdGlvbiAoJHYpIHsKICAgICAgICAgICAgaWYgKCR2IGluc3RhbmNlb2YgXERhdGVUaW1lKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHYtPmZvcm1hdChcRGF0ZVRpbWU6OklTTzg2MDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHY7CiAgICAgICAgfSwgJGl0ZW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgY29sbGVjdGlvbiBvZiBpdGVtcyBhcyBKU09OLgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG9wdGlvbnMKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYXNKc29uKCRvcHRpb25zID0gMCkKICAgIHsKICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoJHRoaXMtPnVuY2FzdEl0ZW1zKCksICRvcHRpb25zKTsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVjdHMgYW4gSVNPIDg2MDEgZm9ybWF0dGVkIHN0cmluZy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHJpbmcKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9ncmFwaC1hcGkvdXNpbmctZ3JhcGgtYXBpLyNyZWFkbW9kaWZpZXJzCiAgICAgKiBAc2VlIGh0dHA6Ly93d3cuY2wuY2FtLmFjLnVrL35tZ2syNS9pc28tdGltZS5odG1sCiAgICAgKiBAc2VlIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzSXNvODYwMURhdGVTdHJpbmcoJHN0cmluZykKICAgIHsKICAgICAgICAvLyBUaGlzIGluc2FuZSByZWdleCB3YXMgeW9pbmtlZCBmcm9tIGhlcmU6CiAgICAgICAgLy8gaHR0cDovL3d3dy5wZWxhZ29kZXNpZ24uY29tL2Jsb2cvMjAwOS8wNS8yMC9pc28tODYwMS1kYXRlLXZhbGlkYXRpb24tdGhhdC1kb2VzbnQtc3Vjay8KICAgICAgICAvLyAuLi5hbmQgSSdtIGFsbCBsaWtlOgogICAgICAgIC8vIGh0dHA6Ly90aGVjb2Rpbmdsb3ZlLmNvbS9wb3N0Lzk1Mzc4MjUxOTY5L3doZW4tY29kZS13b3Jrcy1hbmQtaS1kb250LWtub3ctd2h5CiAgICAgICAgJGNyYXp5SW5zYW5lUmVnZXhUaGF0U29tZWhvd0RldGVjdHNJc284NjAxID0gJy9eKFtcKy1dP1xkezR9KD8hXGR7Mn1cYikpJwogICAgICAgICAgICAuICcoKC0/KSgoMFsxLTldfDFbMC0yXSkoXDMoWzEyXVxkfDBbMS05XXwzWzAxXSkpPycKICAgICAgICAgICAgLiAnfFcoWzAtNF1cZHw1WzAtMl0pKC0/WzEtN10pP3woMDBbMS05XXwwWzEtOV1cZCcKICAgICAgICAgICAgLiAnfFsxMl1cZHsyfXwzKFswLTVdXGR8NlsxLTZdKSkpKFtUXHNdKCgoWzAxXVxkfDJbMC0zXSknCiAgICAgICAgICAgIC4gJygoOj8pWzAtNV1cZCk/fDI0XDo/MDApKFtcLixdXGQrKD8hOikpPyk/KFwxN1swLTVdXGQnCiAgICAgICAgICAgIC4gJyhbXC4sXVxkKyk/KT8oW3paXXwoW1wrLV0pKFswMV1cZHwyWzAtM10pOj8oWzAtNV1cZCk/KT8pPyk/JC8nOwoKICAgICAgICByZXR1cm4gcHJlZ19tYXRjaCgkY3JhenlJbnNhbmVSZWdleFRoYXRTb21laG93RGV0ZWN0c0lzbzg2MDEsICRzdHJpbmcpID09PSAxOwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZXJtaW5lcyBpZiBhIHZhbHVlIGZyb20gR3JhcGggc2hvdWxkIGJlIGNhc3QgdG8gRGF0ZVRpbWUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5CiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaG91bGRDYXN0QXNEYXRlVGltZSgka2V5KQogICAgewogICAgICAgIHJldHVybiBpbl9hcnJheSgka2V5LCBbCiAgICAgICAgICAgICdjcmVhdGVkX3RpbWUnLAogICAgICAgICAgICAndXBkYXRlZF90aW1lJywKICAgICAgICAgICAgJ3N0YXJ0X3RpbWUnLAogICAgICAgICAgICAnZW5kX3RpbWUnLAogICAgICAgICAgICAnYmFja2RhdGVkX3RpbWUnLAogICAgICAgICAgICAnaXNzdWVkX2F0JywKICAgICAgICAgICAgJ2V4cGlyZXNfYXQnLAogICAgICAgICAgICAncHVibGlzaF90aW1lJwogICAgICAgIF0sIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogQ2FzdHMgYSBkYXRlIHZhbHVlIGZyb20gR3JhcGggdG8gRGF0ZVRpbWUuCiAgICAgKgogICAgICogQHBhcmFtIGludHxzdHJpbmcgJHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBcRGF0ZVRpbWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhc3RUb0RhdGVUaW1lKCR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoaXNfaW50KCR2YWx1ZSkpIHsKICAgICAgICAgICAgJGR0ID0gbmV3IFxEYXRlVGltZSgpOwogICAgICAgICAgICAkZHQtPnNldFRpbWVzdGFtcCgkdmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRkdCA9IG5ldyBcRGF0ZVRpbWUoJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYXN0cyBhIGJpcnRoZGF5IHZhbHVlIGZyb20gR3JhcGggdG8gQmlydGhkYXkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZQogICAgICoKICAgICAqIEByZXR1cm4gQmlydGhkYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNhc3RUb0JpcnRoZGF5KCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gbmV3IEJpcnRoZGF5KCR2YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXR0ZXIgZm9yICRncmFwaE9iamVjdE1hcC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0T2JqZWN0TWFwKCkKICAgIHsKICAgICAgICByZXR1cm4gc3RhdGljOjokZ3JhcGhPYmplY3RNYXA7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphNodeFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCnVzZSBGYWNlYm9va1xGYWNlYm9va1Jlc3BvbnNlOwp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBHcmFwaE5vZGVGYWN0b3J5CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqCiAqICMjIEFzc3VtcHRpb25zICMjCiAqIEdyYXBoRWRnZSAtIGlzIEFMV0FZUyBhIG51bWVyaWMgYXJyYXkKICogR3JhcGhFZGdlIC0gaXMgQUxXQVlTIGFuIGFycmF5IG9mIEdyYXBoTm9kZSB0eXBlcwogKiBHcmFwaE5vZGUgLSBpcyBBTFdBWVMgYW4gYXNzb2NpYXRpdmUgYXJyYXkKICogR3JhcGhOb2RlIC0gTUFZIGNvbnRhaW4gR3JhcGhOb2RlJ3MgInJlY3VycmFibGUiCiAqIEdyYXBoTm9kZSAtIE1BWSBjb250YWluIEdyYXBoRWRnZSdzICJyZWN1cnJhYmxlIgogKiBHcmFwaE5vZGUgLSBNQVkgY29udGFpbiBEYXRlVGltZSdzICJwcmltaXRpdmVzIgogKiBHcmFwaE5vZGUgLSBNQVkgY29udGFpbiBzdHJpbmcncyAicHJpbWl0aXZlcyIKICovCmNsYXNzIEdyYXBoTm9kZUZhY3RvcnkKewogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIFRoZSBiYXNlIGdyYXBoIG9iamVjdCBjbGFzcy4KICAgICAqLwogICAgY29uc3QgQkFTRV9HUkFQSF9OT0RFX0NMQVNTID0gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoTm9kZSc7CgogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIFRoZSBiYXNlIGdyYXBoIGVkZ2UgY2xhc3MuCiAgICAgKi8KICAgIGNvbnN0IEJBU0VfR1JBUEhfRURHRV9DTEFTUyA9ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaEVkZ2UnOwoKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBUaGUgZ3JhcGggb2JqZWN0IHByZWZpeC4KICAgICAqLwogICAgY29uc3QgQkFTRV9HUkFQSF9PQkpFQ1RfUFJFRklYID0gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXFwnOwoKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va1Jlc3BvbnNlIFRoZSByZXNwb25zZSBlbnRpdHkgZnJvbSBHcmFwaC4KICAgICAqLwogICAgcHJvdGVjdGVkICRyZXNwb25zZTsKCiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgVGhlIGRlY29kZWQgYm9keSBvZiB0aGUgRmFjZWJvb2tSZXNwb25zZSBlbnRpdHkgZnJvbSBHcmFwaC4KICAgICAqLwogICAgcHJvdGVjdGVkICRkZWNvZGVkQm9keTsKCiAgICAvKioKICAgICAqIEluaXQgdGhpcyBHcmFwaCBvYmplY3QuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rUmVzcG9uc2UgJHJlc3BvbnNlIFRoZSByZXNwb25zZSBlbnRpdHkgZnJvbSBHcmFwaC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEZhY2Vib29rUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgICR0aGlzLT5yZXNwb25zZSA9ICRyZXNwb25zZTsKICAgICAgICAkdGhpcy0+ZGVjb2RlZEJvZHkgPSAkcmVzcG9uc2UtPmdldERlY29kZWRCb2R5KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmllcyB0byBjb252ZXJ0IGEgRmFjZWJvb2tSZXNwb25zZSBlbnRpdHkgaW50byBhIEdyYXBoTm9kZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgR3JhcGhOb2RlIHN1YiBjbGFzcyB0byBjYXN0IHRvLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhOb2RlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZUdyYXBoTm9kZSgkc3ViY2xhc3NOYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVSZXNwb25zZUFzQXJyYXkoKTsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVSZXNwb25zZUNhc3RhYmxlQXNHcmFwaE5vZGUoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5jYXN0QXNHcmFwaE5vZGVPckdyYXBoRWRnZSgkdGhpcy0+ZGVjb2RlZEJvZHksICRzdWJjbGFzc05hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIEdyYXBoQWNoaWV2ZW1lbnQgY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoQWNoaWV2ZW1lbnQKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlR3JhcGhBY2hpZXZlbWVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYWtlR3JhcGhOb2RlKHN0YXRpYzo6QkFTRV9HUkFQSF9PQkpFQ1RfUFJFRklYIC4gJ0dyYXBoQWNoaWV2ZW1lbnQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBHcmFwaEFsYnVtIGNvbGxlY3Rpb24uCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEFsYnVtCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZUdyYXBoQWxidW0oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWFrZUdyYXBoTm9kZShzdGF0aWM6OkJBU0VfR1JBUEhfT0JKRUNUX1BSRUZJWCAuICdHcmFwaEFsYnVtJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgR3JhcGhQYWdlIGNvbGxlY3Rpb24uCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaFBhZ2UKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlR3JhcGhQYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1ha2VHcmFwaE5vZGUoc3RhdGljOjpCQVNFX0dSQVBIX09CSkVDVF9QUkVGSVggLiAnR3JhcGhQYWdlJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgR3JhcGhTZXNzaW9uSW5mbyBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhTZXNzaW9uSW5mbwogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VHcmFwaFNlc3Npb25JbmZvKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1ha2VHcmFwaE5vZGUoc3RhdGljOjpCQVNFX0dSQVBIX09CSkVDVF9QUkVGSVggLiAnR3JhcGhTZXNzaW9uSW5mbycpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIEdyYXBoVXNlciBjb2xsZWN0aW9uLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhVc2VyCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZUdyYXBoVXNlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYWtlR3JhcGhOb2RlKHN0YXRpYzo6QkFTRV9HUkFQSF9PQkpFQ1RfUFJFRklYIC4gJ0dyYXBoVXNlcicpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIEdyYXBoRXZlbnQgY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoRXZlbnQKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlR3JhcGhFdmVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYWtlR3JhcGhOb2RlKHN0YXRpYzo6QkFTRV9HUkFQSF9PQkpFQ1RfUFJFRklYIC4gJ0dyYXBoRXZlbnQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBHcmFwaEdyb3VwIGNvbGxlY3Rpb24uCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEdyb3VwCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZUdyYXBoR3JvdXAoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWFrZUdyYXBoTm9kZShzdGF0aWM6OkJBU0VfR1JBUEhfT0JKRUNUX1BSRUZJWCAuICdHcmFwaEdyb3VwJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmllcyB0byBjb252ZXJ0IGEgRmFjZWJvb2tSZXNwb25zZSBlbnRpdHkgaW50byBhIEdyYXBoRWRnZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgR3JhcGhOb2RlIHN1YiBjbGFzcyB0byBjYXN0IHRoZSBsaXN0IGl0ZW1zIHRvLgogICAgICogQHBhcmFtIGJvb2xlYW4gICAgICRhdXRvX3ByZWZpeCAgVG9nZ2xlIHRvIGF1dG8tcHJlZml4IHRoZSBzdWJjbGFzcyBuYW1lLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhFZGdlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZUdyYXBoRWRnZSgkc3ViY2xhc3NOYW1lID0gbnVsbCwgJGF1dG9fcHJlZml4ID0gdHJ1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVSZXNwb25zZUFzQXJyYXkoKTsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVSZXNwb25zZUNhc3RhYmxlQXNHcmFwaEVkZ2UoKTsKCiAgICAgICAgaWYgKCRzdWJjbGFzc05hbWUgJiYgJGF1dG9fcHJlZml4KSB7CiAgICAgICAgICAgICRzdWJjbGFzc05hbWUgPSBzdGF0aWM6OkJBU0VfR1JBUEhfT0JKRUNUX1BSRUZJWCAuICRzdWJjbGFzc05hbWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmNhc3RBc0dyYXBoTm9kZU9yR3JhcGhFZGdlKCR0aGlzLT5kZWNvZGVkQm9keSwgJHN1YmNsYXNzTmFtZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgdGhlIGRlY29kZWQgYm9keS4KICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZVJlc3BvbnNlQXNBcnJheSgpCiAgICB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkdGhpcy0+ZGVjb2RlZEJvZHkpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignVW5hYmxlIHRvIGdldCByZXNwb25zZSBmcm9tIEdyYXBoIGFzIGFycmF5LicsIDYyMCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoYXQgdGhlIHJldHVybiBkYXRhIGNhbiBiZSBjYXN0IGFzIGEgR3JhcGhOb2RlLgogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUmVzcG9uc2VDYXN0YWJsZUFzR3JhcGhOb2RlKCkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmRlY29kZWRCb2R5WydkYXRhJ10pICYmIHN0YXRpYzo6aXNDYXN0YWJsZUFzR3JhcGhFZGdlKCR0aGlzLT5kZWNvZGVkQm9keVsnZGF0YSddKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIGNvbnZlcnQgcmVzcG9uc2UgZnJvbSBHcmFwaCB0byBhIEdyYXBoTm9kZSBiZWNhdXNlIHRoZSByZXNwb25zZSBsb29rcyBsaWtlIGEgR3JhcGhFZGdlLiBUcnkgdXNpbmcgR3JhcGhOb2RlRmFjdG9yeTo6bWFrZUdyYXBoRWRnZSgpIGluc3RlYWQuJywKICAgICAgICAgICAgICAgIDYyMAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFZhbGlkYXRlcyB0aGF0IHRoZSByZXR1cm4gZGF0YSBjYW4gYmUgY2FzdCBhcyBhIEdyYXBoRWRnZS4KICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZVJlc3BvbnNlQ2FzdGFibGVBc0dyYXBoRWRnZSgpCiAgICB7CiAgICAgICAgaWYgKCEoaXNzZXQoJHRoaXMtPmRlY29kZWRCb2R5WydkYXRhJ10pICYmIHN0YXRpYzo6aXNDYXN0YWJsZUFzR3JhcGhFZGdlKCR0aGlzLT5kZWNvZGVkQm9keVsnZGF0YSddKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgJ1VuYWJsZSB0byBjb252ZXJ0IHJlc3BvbnNlIGZyb20gR3JhcGggdG8gYSBHcmFwaEVkZ2UgYmVjYXVzZSB0aGUgcmVzcG9uc2UgZG9lcyBub3QgbG9vayBsaWtlIGEgR3JhcGhFZGdlLiBUcnkgdXNpbmcgR3JhcGhOb2RlRmFjdG9yeTo6bWFrZUdyYXBoTm9kZSgpIGluc3RlYWQuJywKICAgICAgICAgICAgICAgIDYyMAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNhZmVseSBpbnN0YW50aWF0ZXMgYSBHcmFwaE5vZGUgb2YgJHN1YmNsYXNzTmFtZS4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgJGRhdGEgICAgICAgICBUaGUgYXJyYXkgb2YgZGF0YSB0byBpdGVyYXRlIG92ZXIuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgc3ViY2xhc3MgdG8gY2FzdCB0aGlzIGNvbGxlY3Rpb24gdG8uCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaE5vZGUKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzYWZlbHlNYWtlR3JhcGhOb2RlKGFycmF5ICRkYXRhLCAkc3ViY2xhc3NOYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAkc3ViY2xhc3NOYW1lID0gJHN1YmNsYXNzTmFtZSA/OiBzdGF0aWM6OkJBU0VfR1JBUEhfTk9ERV9DTEFTUzsKICAgICAgICBzdGF0aWM6OnZhbGlkYXRlU3ViY2xhc3MoJHN1YmNsYXNzTmFtZSk7CgogICAgICAgIC8vIFJlbWVtYmVyIHRoZSBwYXJlbnQgbm9kZSBJRAogICAgICAgICRwYXJlbnROb2RlSWQgPSBpc3NldCgkZGF0YVsnaWQnXSkgPyAkZGF0YVsnaWQnXSA6IG51bGw7CgogICAgICAgICRpdGVtcyA9IFtdOwoKICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAkayA9PiAkdikgewogICAgICAgICAgICAvLyBBcnJheSBtZWFucyBjb3VsZCBiZSByZWN1cmFibGUKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2KSkgewogICAgICAgICAgICAgICAgLy8gRGV0ZWN0IGFueSBzbWFydC1jYXN0aW5nIGZyb20gdGhlICRncmFwaE9iamVjdE1hcCBhcnJheS4KICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYWx3YXlzIGVtcHR5IG9uIHRoZSBHcmFwaE5vZGUgY29sbGVjdGlvbiwgYnV0IHN1YmNsYXNzZXMgY2FuIGRlZmluZQogICAgICAgICAgICAgICAgLy8gdGhlaXIgb3duIGFycmF5IG9mIHNtYXJ0LWNhc3RpbmcgdHlwZXMuCiAgICAgICAgICAgICAgICAkZ3JhcGhPYmplY3RNYXAgPSAkc3ViY2xhc3NOYW1lOjpnZXRPYmplY3RNYXAoKTsKICAgICAgICAgICAgICAgICRvYmplY3RTdWJDbGFzcyA9IGlzc2V0KCRncmFwaE9iamVjdE1hcFska10pCiAgICAgICAgICAgICAgICAgICAgPyAkZ3JhcGhPYmplY3RNYXBbJGtdCiAgICAgICAgICAgICAgICAgICAgOiBudWxsOwoKICAgICAgICAgICAgICAgIC8vIENvdWxkIGJlIGEgR3JhcGhFZGdlIG9yIEdyYXBoTm9kZQogICAgICAgICAgICAgICAgJGl0ZW1zWyRrXSA9ICR0aGlzLT5jYXN0QXNHcmFwaE5vZGVPckdyYXBoRWRnZSgkdiwgJG9iamVjdFN1YkNsYXNzLCAkaywgJHBhcmVudE5vZGVJZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkaXRlbXNbJGtdID0gJHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgJHN1YmNsYXNzTmFtZSgkaXRlbXMpOwogICAgfQoKICAgIC8qKgogICAgICogVGFrZXMgYW4gYXJyYXkgb2YgdmFsdWVzIGFuZCBkZXRlcm1pbmVzIGhvdyB0byBjYXN0IGVhY2ggbm9kZS4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgJGRhdGEgICAgICAgICBUaGUgYXJyYXkgb2YgZGF0YSB0byBpdGVyYXRlIG92ZXIuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgc3ViY2xhc3MgdG8gY2FzdCB0aGlzIGNvbGxlY3Rpb24gdG8uCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHBhcmVudEtleSAgICBUaGUga2V5IG9mIHRoaXMgZGF0YSAoR3JhcGggZWRnZSkuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHBhcmVudE5vZGVJZCBUaGUgcGFyZW50IEdyYXBoIG5vZGUgSUQuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaE5vZGV8R3JhcGhFZGdlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FzdEFzR3JhcGhOb2RlT3JHcmFwaEVkZ2UoYXJyYXkgJGRhdGEsICRzdWJjbGFzc05hbWUgPSBudWxsLCAkcGFyZW50S2V5ID0gbnVsbCwgJHBhcmVudE5vZGVJZCA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCRkYXRhWydkYXRhJ10pKSB7CiAgICAgICAgICAgIC8vIENyZWF0ZSBHcmFwaEVkZ2UKICAgICAgICAgICAgaWYgKHN0YXRpYzo6aXNDYXN0YWJsZUFzR3JhcGhFZGdlKCRkYXRhWydkYXRhJ10pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNhZmVseU1ha2VHcmFwaEVkZ2UoJGRhdGEsICRzdWJjbGFzc05hbWUsICRwYXJlbnRLZXksICRwYXJlbnROb2RlSWQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIFNvbWV0aW1lcyBHcmFwaCBpcyBhIHdlaXJkbyBhbmQgcmV0dXJucyBhIEdyYXBoTm9kZSB1bmRlciB0aGUgImRhdGEiIGtleQogICAgICAgICAgICAkZGF0YSA9ICRkYXRhWydkYXRhJ107CiAgICAgICAgfQoKICAgICAgICAvLyBDcmVhdGUgR3JhcGhOb2RlCiAgICAgICAgcmV0dXJuICR0aGlzLT5zYWZlbHlNYWtlR3JhcGhOb2RlKCRkYXRhLCAkc3ViY2xhc3NOYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBHcmFwaE5vZGUncy4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgICAgICAgJGRhdGEgICAgICAgICBUaGUgYXJyYXkgb2YgZGF0YSB0byBpdGVyYXRlIG92ZXIuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN1YmNsYXNzTmFtZSBUaGUgR3JhcGhOb2RlIHN1YmNsYXNzIHRvIGNhc3QgZWFjaCBpdGVtIGluIHRoZSBsaXN0IHRvLgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICRwYXJlbnRLZXkgICAgVGhlIGtleSBvZiB0aGlzIGRhdGEgKEdyYXBoIGVkZ2UpLgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsICRwYXJlbnROb2RlSWQgVGhlIHBhcmVudCBHcmFwaCBub2RlIElELgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhFZGdlCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2FmZWx5TWFrZUdyYXBoRWRnZShhcnJheSAkZGF0YSwgJHN1YmNsYXNzTmFtZSA9IG51bGwsICRwYXJlbnRLZXkgPSBudWxsLCAkcGFyZW50Tm9kZUlkID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoIWlzc2V0KCRkYXRhWydkYXRhJ10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignQ2Fubm90IGNhc3QgZGF0YSB0byBHcmFwaEVkZ2UuIEV4cGVjdGVkIGEgImRhdGEiIGtleS4nLCA2MjApOwogICAgICAgIH0KCiAgICAgICAgJGRhdGFMaXN0ID0gW107CiAgICAgICAgZm9yZWFjaCAoJGRhdGFbJ2RhdGEnXSBhcyAkZ3JhcGhOb2RlKSB7CiAgICAgICAgICAgICRkYXRhTGlzdFtdID0gJHRoaXMtPnNhZmVseU1ha2VHcmFwaE5vZGUoJGdyYXBoTm9kZSwgJHN1YmNsYXNzTmFtZSk7CiAgICAgICAgfQoKICAgICAgICAkbWV0YURhdGEgPSAkdGhpcy0+Z2V0TWV0YURhdGEoJGRhdGEpOwoKICAgICAgICAvLyBXZSdsbCBuZWVkIHRvIG1ha2UgYW4gZWRnZSBlbmRwb2ludCBmb3IgdGhpcyBpbiBjYXNlIGl0J3MgYSBHcmFwaEVkZ2UgKGZvciBjdXJzb3IgcGFnaW5hdGlvbikKICAgICAgICAkcGFyZW50R3JhcGhFZGdlRW5kcG9pbnQgPSAkcGFyZW50Tm9kZUlkICYmICRwYXJlbnRLZXkgPyAnLycgLiAkcGFyZW50Tm9kZUlkIC4gJy8nIC4gJHBhcmVudEtleSA6IG51bGw7CiAgICAgICAgJGNsYXNzTmFtZSA9IHN0YXRpYzo6QkFTRV9HUkFQSF9FREdFX0NMQVNTOwoKICAgICAgICByZXR1cm4gbmV3ICRjbGFzc05hbWUoJHRoaXMtPnJlc3BvbnNlLT5nZXRSZXF1ZXN0KCksICRkYXRhTGlzdCwgJG1ldGFEYXRhLCAkcGFyZW50R3JhcGhFZGdlRW5kcG9pbnQsICRzdWJjbGFzc05hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtZXRhIGRhdGEgZnJvbSBhIGxpc3QgaW4gYSBHcmFwaCByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEgVGhlIEdyYXBoIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE1ldGFEYXRhKGFycmF5ICRkYXRhKQogICAgewogICAgICAgIHVuc2V0KCRkYXRhWydkYXRhJ10pOwoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBkYXRhIHNob3VsZCBiZSBjYXN0IGFzIGEgR3JhcGhFZGdlLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkZGF0YQogICAgICoKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzQ2FzdGFibGVBc0dyYXBoRWRnZShhcnJheSAkZGF0YSkKICAgIHsKICAgICAgICBpZiAoJGRhdGEgPT09IFtdKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2hlY2tzIGZvciBhIHNlcXVlbnRpYWwgbnVtZXJpYyBhcnJheSB3aGljaCB3b3VsZCBiZSBhIEdyYXBoRWRnZQogICAgICAgIHJldHVybiBhcnJheV9rZXlzKCRkYXRhKSA9PT0gcmFuZ2UoMCwgY291bnQoJGRhdGEpIC0gMSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmVzIHRoYXQgdGhlIHN1YmNsYXNzIGluIHF1ZXN0aW9uIGlzIHZhbGlkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN1YmNsYXNzTmFtZSBUaGUgR3JhcGhOb2RlIHN1YmNsYXNzIHRvIHZhbGlkYXRlLgogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWxpZGF0ZVN1YmNsYXNzKCRzdWJjbGFzc05hbWUpCiAgICB7CiAgICAgICAgaWYgKCRzdWJjbGFzc05hbWUgPT0gc3RhdGljOjpCQVNFX0dSQVBIX05PREVfQ0xBU1MgfHwgaXNfc3ViY2xhc3Nfb2YoJHN1YmNsYXNzTmFtZSwgc3RhdGljOjpCQVNFX0dSQVBIX05PREVfQ0xBU1MpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignVGhlIGdpdmVuIHN1YmNsYXNzICInIC4gJHN1YmNsYXNzTmFtZSAuICciIGlzIG5vdCB2YWxpZC4gQ2Fubm90IGNhc3QgdG8gYW4gb2JqZWN0IHRoYXQgaXMgbm90IGEgR3JhcGhOb2RlIHN1YmNsYXNzLicsIDYyMCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphObject.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaE9iamVjdAogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKgogKiBAZGVwcmVjYXRlZCA1LjAuMCBHcmFwaE9iamVjdCBoYXMgYmVlbiByZW5hbWVkIHRvIEdyYXBoTm9kZQogKiBAdG9kbyB2NjogUmVtb3ZlIHRoaXMgY2xhc3MKICovCmNsYXNzIEdyYXBoT2JqZWN0IGV4dGVuZHMgR3JhcGhOb2RlCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphObjectFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCnVzZSBGYWNlYm9va1xFeGNlcHRpb25zXEZhY2Vib29rU0RLRXhjZXB0aW9uOwoKLyoqCiAqIENsYXNzIEdyYXBoT2JqZWN0RmFjdG9yeQogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKgogKiBAZGVwcmVjYXRlZCA1LjAuMCBHcmFwaE9iamVjdEZhY3RvcnkgaGFzIGJlZW4gcmVuYW1lZCB0byBHcmFwaE5vZGVGYWN0b3J5CiAqIEB0b2RvIHY2OiBSZW1vdmUgdGhpcyBjbGFzcwogKi8KY2xhc3MgR3JhcGhPYmplY3RGYWN0b3J5IGV4dGVuZHMgR3JhcGhOb2RlRmFjdG9yeQp7CiAgICAvKioKICAgICAqIEBjb25zdCBzdHJpbmcgVGhlIGJhc2UgZ3JhcGggb2JqZWN0IGNsYXNzLgogICAgICovCiAgICBjb25zdCBCQVNFX0dSQVBIX05PREVfQ0xBU1MgPSAnXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhPYmplY3QnOwoKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBUaGUgYmFzZSBncmFwaCBlZGdlIGNsYXNzLgogICAgICovCiAgICBjb25zdCBCQVNFX0dSQVBIX0VER0VfQ0xBU1MgPSAnXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhMaXN0JzsKCiAgICAvKioKICAgICAqIFRyaWVzIHRvIGNvbnZlcnQgYSBGYWNlYm9va1Jlc3BvbnNlIGVudGl0eSBpbnRvIGEgR3JhcGhOb2RlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkc3ViY2xhc3NOYW1lIFRoZSBHcmFwaE5vZGUgc3ViIGNsYXNzIHRvIGNhc3QgdG8uCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaE5vZGUKICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZCA1LjAuMCBHcmFwaE9iamVjdEZhY3RvcnkgaGFzIGJlZW4gcmVuYW1lZCB0byBHcmFwaE5vZGVGYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlR3JhcGhPYmplY3QoJHN1YmNsYXNzTmFtZSA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYWtlR3JhcGhOb2RlKCRzdWJjbGFzc05hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIEdyYXBoRXZlbnQgY29sbGVjdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoRXZlbnQKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlR3JhcGhFdmVudCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYWtlR3JhcGhOb2RlKHN0YXRpYzo6QkFTRV9HUkFQSF9PQkpFQ1RfUFJFRklYIC4gJ0dyYXBoRXZlbnQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFRyaWVzIHRvIGNvbnZlcnQgYSBGYWNlYm9va1Jlc3BvbnNlIGVudGl0eSBpbnRvIGEgR3JhcGhFZGdlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkc3ViY2xhc3NOYW1lIFRoZSBHcmFwaE5vZGUgc3ViIGNsYXNzIHRvIGNhc3QgdGhlIGxpc3QgaXRlbXMgdG8uCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAgICAgJGF1dG9fcHJlZml4ICBUb2dnbGUgdG8gYXV0by1wcmVmaXggdGhlIHN1YmNsYXNzIG5hbWUuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaEVkZ2UKICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZCA1LjAuMCBHcmFwaE9iamVjdEZhY3RvcnkgaGFzIGJlZW4gcmVuYW1lZCB0byBHcmFwaE5vZGVGYWN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWtlR3JhcGhMaXN0KCRzdWJjbGFzc05hbWUgPSBudWxsLCAkYXV0b19wcmVmaXggPSB0cnVlKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bWFrZUdyYXBoRWRnZSgkc3ViY2xhc3NOYW1lLCAkYXV0b19wcmVmaXgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphPage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaFBhZ2UKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEdyYXBoUGFnZSBleHRlbmRzIEdyYXBoTm9kZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgTWFwcyBvYmplY3Qga2V5IG5hbWVzIHRvIEdyYXBoIG9iamVjdCB0eXBlcy4KICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkZ3JhcGhPYmplY3RNYXAgPSBbCiAgICAgICAgJ2Jlc3RfcGFnZScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoUGFnZScsCiAgICAgICAgJ2dsb2JhbF9icmFuZF9wYXJlbnRfcGFnZScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoUGFnZScsCiAgICAgICAgJ2xvY2F0aW9uJyA9PiAnXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhMb2NhdGlvbicsCiAgICAgICAgJ2NvdmVyJyA9PiAnXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhDb3ZlclBob3RvJywKICAgICAgICAncGljdHVyZScgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoUGljdHVyZScsCiAgICBdOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgSUQgZm9yIHRoZSB1c2VyJ3MgcGFnZSBhcyBhIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldElkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpZCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgQ2F0ZWdvcnkgZm9yIHRoZSB1c2VyJ3MgcGFnZSBhcyBhIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENhdGVnb3J5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdjYXRlZ29yeScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgTmFtZSBvZiB0aGUgdXNlcidzIHBhZ2UgYXMgYSBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCduYW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBiZXN0IGF2YWlsYWJsZSBQYWdlIG9uIEZhY2Vib29rLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhQYWdlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEJlc3RQYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdiZXN0X3BhZ2UnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGJyYW5kJ3MgZ2xvYmFsIChwYXJlbnQpIFBhZ2UuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaFBhZ2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R2xvYmFsQnJhbmRQYXJlbnRQYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdnbG9iYWxfYnJhbmRfcGFyZW50X3BhZ2UnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGxvY2F0aW9uIG9mIHRoaXMgcGxhY2UuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaExvY2F0aW9ufG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExvY2F0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdsb2NhdGlvbicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBDb3ZlclBob3RvIG9mIHRoZSBQYWdlLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhDb3ZlclBob3RvfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENvdmVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdjb3ZlcicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBQaWN0dXJlIG9mIHRoZSBQYWdlLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhQaWN0dXJlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBpY3R1cmUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3BpY3R1cmUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHBhZ2UgYWNjZXNzIHRva2VuIGZvciB0aGUgYWRtaW4gdXNlci4KICAgICAqCiAgICAgKiBPbmx5IGF2YWlsYWJsZSBpbiB0aGUgYC9tZS9hY2NvdW50c2AgY29udGV4dC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBY2Nlc3NUb2tlbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnYWNjZXNzX3Rva2VuJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSByb2xlcyBvZiB0aGUgcGFnZSBhZG1pbiB1c2VyLgogICAgICoKICAgICAqIE9ubHkgYXZhaWxhYmxlIGluIHRoZSBgL21lL2FjY291bnRzYCBjb250ZXh0LgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXl8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGVybXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3Blcm1zJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphPicture.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaFBpY3R1cmUKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEdyYXBoUGljdHVyZSBleHRlbmRzIEdyYXBoTm9kZQp7CiAgICAvKioKICAgICAqIFJldHVybnMgdHJ1ZSBpZiB1c2VyIHBpY3R1cmUgaXMgc2lsaG91ZXR0ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2x8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNTaWxob3VldHRlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpc19zaWxob3VldHRlJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB1cmwgb2YgdXNlciBwaWN0dXJlIGlmIGl0IGV4aXN0cwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVybCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgndXJsJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB3aWR0aCBvZiB1c2VyIHBpY3R1cmUgaWYgaXQgZXhpc3RzCiAgICAgKgogICAgICogQHJldHVybiBpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V2lkdGgoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3dpZHRoJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBoZWlnaHQgb2YgdXNlciBwaWN0dXJlIGlmIGl0IGV4aXN0cwogICAgICoKICAgICAqIEByZXR1cm4gaW50fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhlaWdodCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnaGVpZ2h0Jyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphSessionInfo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaFNlc3Npb25JbmZvCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaFNlc3Npb25JbmZvIGV4dGVuZHMgR3JhcGhOb2RlCnsKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXBwbGljYXRpb24gaWQgdGhlIHRva2VuIHdhcyBpc3N1ZWQgZm9yLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcElkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdhcHBfaWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGFwcGxpY2F0aW9uIG5hbWUgdGhlIHRva2VuIHdhcyBpc3N1ZWQgZm9yLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFwcGxpY2F0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdhcHBsaWNhdGlvbicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZGF0ZSAmIHRpbWUgdGhhdCB0aGUgdG9rZW4gZXhwaXJlcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFeHBpcmVzQXQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2V4cGlyZXNfYXQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgdG9rZW4gaXMgdmFsaWQuCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJc1ZhbGlkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpc192YWxpZCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZGF0ZSAmIHRpbWUgdGhlIHRva2VuIHdhcyBpc3N1ZWQgYXQuCiAgICAgKgogICAgICogQHJldHVybiBcRGF0ZVRpbWV8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXNzdWVkQXQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2lzc3VlZF9hdCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc2NvcGUgcGVybWlzc2lvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0b2tlbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTY29wZXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3Njb3BlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbG9naW4gaWQgb2YgdGhlIHVzZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSB0b2tlbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRVc2VySWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3VzZXJfaWQnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/GraphNodes/GraphUser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcR3JhcGhOb2RlczsKCi8qKgogKiBDbGFzcyBHcmFwaFVzZXIKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEdyYXBoVXNlciBleHRlbmRzIEdyYXBoTm9kZQp7CiAgICAvKioKICAgICAqIEB2YXIgYXJyYXkgTWFwcyBvYmplY3Qga2V5IG5hbWVzIHRvIEdyYXBoIG9iamVjdCB0eXBlcy4KICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyAkZ3JhcGhPYmplY3RNYXAgPSBbCiAgICAgICAgJ2hvbWV0b3duJyA9PiAnXEZhY2Vib29rXEdyYXBoTm9kZXNcR3JhcGhQYWdlJywKICAgICAgICAnbG9jYXRpb24nID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaFBhZ2UnLAogICAgICAgICdzaWduaWZpY2FudF9vdGhlcicgPT4gJ1xGYWNlYm9va1xHcmFwaE5vZGVzXEdyYXBoVXNlcicsCiAgICAgICAgJ3BpY3R1cmUnID0+ICdcRmFjZWJvb2tcR3JhcGhOb2Rlc1xHcmFwaFBpY3R1cmUnLAogICAgXTsKCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIElEIGZvciB0aGUgdXNlciBhcyBhIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldElkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdpZCcpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbmFtZSBmb3IgdGhlIHVzZXIgYXMgYSBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCduYW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBuYW1lIGZvciB0aGUgdXNlciBhcyBhIHN0cmluZyBpZiBwcmVzZW50LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEZpcnN0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZmlyc3RfbmFtZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbWlkZGxlIG5hbWUgZm9yIHRoZSB1c2VyIGFzIGEgc3RyaW5nIGlmIHByZXNlbnQuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWlkZGxlTmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbWlkZGxlX25hbWUnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGxhc3QgbmFtZSBmb3IgdGhlIHVzZXIgYXMgYSBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMYXN0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbGFzdF9uYW1lJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBlbWFpbCBmb3IgdGhlIHVzZXIgYXMgYSBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFbWFpbCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnZW1haWwnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGdlbmRlciBmb3IgdGhlIHVzZXIgYXMgYSBzdHJpbmcgaWYgcHJlc2VudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRHZW5kZXIoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2dlbmRlcicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgRmFjZWJvb2sgVVJMIGZvciB0aGUgdXNlciBhcyBhIHN0cmluZyBpZiBhdmFpbGFibGUuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGluaygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnbGluaycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdXNlcnMgYmlydGhkYXksIGlmIGF2YWlsYWJsZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxEYXRlVGltZXxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCaXJ0aGRheSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRGaWVsZCgnYmlydGhkYXknKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbG9jYXRpb24gb2YgdGhlIHVzZXIgYXMgYSBHcmFwaFBhZ2UuCiAgICAgKgogICAgICogQHJldHVybiBHcmFwaFBhZ2V8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TG9jYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ2xvY2F0aW9uJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxvY2F0aW9uIG9mIHRoZSB1c2VyIGFzIGEgR3JhcGhQYWdlLgogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhQYWdlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhvbWV0b3duKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdob21ldG93bicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY3VycmVudCBsb2NhdGlvbiBvZiB0aGUgdXNlciBhcyBhIEdyYXBoVXNlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIEdyYXBoVXNlcnxudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTaWduaWZpY2FudE90aGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldEZpZWxkKCdzaWduaWZpY2FudF9vdGhlcicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcGljdHVyZSBvZiB0aGUgdXNlciBhcyBhIEdyYXBoUGljdHVyZQogICAgICoKICAgICAqIEByZXR1cm4gR3JhcGhQaWN0dXJlfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBpY3R1cmUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0RmllbGQoJ3BpY3R1cmUnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Helpers/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Helpers/FacebookCanvasHelper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSGVscGVyczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va0NhbnZhc0xvZ2luSGVscGVyCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va0NhbnZhc0hlbHBlciBleHRlbmRzIEZhY2Vib29rU2lnbmVkUmVxdWVzdEZyb21JbnB1dEhlbHBlcgp7CiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGFwcCBkYXRhIHZhbHVlLgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXBwRGF0YSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zaWduZWRSZXF1ZXN0ID8gJHRoaXMtPnNpZ25lZFJlcXVlc3QtPmdldCgnYXBwX2RhdGEnKSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgcmF3IHNpZ25lZCByZXF1ZXN0IGZyb20gUE9TVC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSYXdTaWduZWRSZXF1ZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldFJhd1NpZ25lZFJlcXVlc3RGcm9tUG9zdCgpID86IG51bGw7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Helpers/FacebookJavaScriptHelper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSGVscGVyczsKCi8qKgogKiBDbGFzcyBGYWNlYm9va0phdmFTY3JpcHRMb2dpbkhlbHBlcgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tKYXZhU2NyaXB0SGVscGVyIGV4dGVuZHMgRmFjZWJvb2tTaWduZWRSZXF1ZXN0RnJvbUlucHV0SGVscGVyCnsKICAgIC8qKgogICAgICogR2V0IHJhdyBzaWduZWQgcmVxdWVzdCBmcm9tIHRoZSBjb29raWUuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmF3U2lnbmVkUmVxdWVzdCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRSYXdTaWduZWRSZXF1ZXN0RnJvbUNvb2tpZSgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Helpers/FacebookPageTabHelper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSGVscGVyczsKCnVzZSBGYWNlYm9va1xGYWNlYm9va0FwcDsKdXNlIEZhY2Vib29rXEZhY2Vib29rQ2xpZW50OwoKLyoqCiAqIENsYXNzIEZhY2Vib29rUGFnZVRhYkhlbHBlcgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tQYWdlVGFiSGVscGVyIGV4dGVuZHMgRmFjZWJvb2tDYW52YXNIZWxwZXIKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5fG51bGwKICAgICAqLwogICAgcHJvdGVjdGVkICRwYWdlRGF0YTsKCiAgICAvKioKICAgICAqIEluaXRpYWxpemUgdGhlIGhlbHBlciBhbmQgcHJvY2VzcyBhdmFpbGFibGUgc2lnbmVkIHJlcXVlc3QgZGF0YS4KICAgICAqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tBcHAgICAgJGFwcCAgICAgICAgICBUaGUgRmFjZWJvb2tBcHAgZW50aXR5LgogICAgICogQHBhcmFtIEZhY2Vib29rQ2xpZW50ICRjbGllbnQgICAgICAgVGhlIGNsaWVudCB0byBtYWtlIEhUVFAgcmVxdWVzdHMuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgJGdyYXBoVmVyc2lvbiBUaGUgdmVyc2lvbiBvZiBHcmFwaCB0byB1c2UuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChGYWNlYm9va0FwcCAkYXBwLCBGYWNlYm9va0NsaWVudCAkY2xpZW50LCAkZ3JhcGhWZXJzaW9uID0gbnVsbCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRhcHAsICRjbGllbnQsICRncmFwaFZlcnNpb24pOwoKICAgICAgICBpZiAoISR0aGlzLT5zaWduZWRSZXF1ZXN0KSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5wYWdlRGF0YSA9ICR0aGlzLT5zaWduZWRSZXF1ZXN0LT5nZXQoJ3BhZ2UnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSB2YWx1ZSBmcm9tIHRoZSBwYWdlIGRhdGEuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAgICAgJGtleQogICAgICogQHBhcmFtIG1peGVkfG51bGwgJGRlZmF1bHQKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhZ2VEYXRhKCRrZXksICRkZWZhdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPnBhZ2VEYXRhWyRrZXldKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnBhZ2VEYXRhWyRrZXldOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkZWZhdWx0OwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB1c2VyIGlzIGFuIGFkbWluLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNBZG1pbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRQYWdlRGF0YSgnYWRtaW4nKSA9PT0gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHBhZ2UgaWQgaWYgYXZhaWxhYmxlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBhZ2VJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRQYWdlRGF0YSgnaWQnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Helpers/FacebookRedirectLoginHelper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSGVscGVyczsKCnVzZSBGYWNlYm9va1xBdXRoZW50aWNhdGlvblxBY2Nlc3NUb2tlbjsKdXNlIEZhY2Vib29rXEF1dGhlbnRpY2F0aW9uXE9BdXRoMkNsaWVudDsKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CnVzZSBGYWNlYm9va1xQZXJzaXN0ZW50RGF0YVxGYWNlYm9va1Nlc3Npb25QZXJzaXN0ZW50RGF0YUhhbmRsZXI7CnVzZSBGYWNlYm9va1xQZXJzaXN0ZW50RGF0YVxQZXJzaXN0ZW50RGF0YUludGVyZmFjZTsKdXNlIEZhY2Vib29rXFBzZXVkb1JhbmRvbVN0cmluZ1xQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JGYWN0b3J5Owp1c2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nXFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZTsKdXNlIEZhY2Vib29rXFVybFxGYWNlYm9va1VybERldGVjdGlvbkhhbmRsZXI7CnVzZSBGYWNlYm9va1xVcmxcRmFjZWJvb2tVcmxNYW5pcHVsYXRvcjsKdXNlIEZhY2Vib29rXFVybFxVcmxEZXRlY3Rpb25JbnRlcmZhY2U7CgovKioKICogQ2xhc3MgRmFjZWJvb2tSZWRpcmVjdExvZ2luSGVscGVyCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1JlZGlyZWN0TG9naW5IZWxwZXIKewogICAgLyoqCiAgICAgKiBAY29uc3QgaW50IFRoZSBsZW5ndGggb2YgQ1NSRiBzdHJpbmcgdG8gdmFsaWRhdGUgdGhlIGxvZ2luIGxpbmsuCiAgICAgKi8KICAgIGNvbnN0IENTUkZfTEVOR1RIID0gMzI7CgogICAgLyoqCiAgICAgKiBAdmFyIE9BdXRoMkNsaWVudCBUaGUgT0F1dGggMi4wIGNsaWVudCBzZXJ2aWNlLgogICAgICovCiAgICBwcm90ZWN0ZWQgJG9BdXRoMkNsaWVudDsKCiAgICAvKioKICAgICAqIEB2YXIgVXJsRGV0ZWN0aW9uSW50ZXJmYWNlIFRoZSBVUkwgZGV0ZWN0aW9uIGhhbmRsZXIuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkdXJsRGV0ZWN0aW9uSGFuZGxlcjsKCiAgICAvKioKICAgICAqIEB2YXIgUGVyc2lzdGVudERhdGFJbnRlcmZhY2UgVGhlIHBlcnNpc3RlbnQgZGF0YSBoYW5kbGVyLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHBlcnNpc3RlbnREYXRhSGFuZGxlcjsKCiAgICAvKioKICAgICAqIEB2YXIgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9ySW50ZXJmYWNlIFRoZSBjcnlwdG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBzdHJpbmcgZ2VuZXJhdG9yLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcjsKCiAgICAvKioKICAgICAqIEBwYXJhbSBPQXV0aDJDbGllbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb0F1dGgyQ2xpZW50ICAgICAgICAgIFRoZSBPQXV0aCAyLjAgY2xpZW50IHNlcnZpY2UuCiAgICAgKiBAcGFyYW0gUGVyc2lzdGVudERhdGFJbnRlcmZhY2V8bnVsbCAgICAgICAgICAgICAgJHBlcnNpc3RlbnREYXRhSGFuZGxlciBUaGUgcGVyc2lzdGVudCBkYXRhIGhhbmRsZXIuCiAgICAgKiBAcGFyYW0gVXJsRGV0ZWN0aW9uSW50ZXJmYWNlfG51bGwgICAgICAgICAgICAgICAgJHVybEhhbmRsZXIgICAgICAgICAgICBUaGUgVVJMIGRldGVjdGlvbiBoYW5kbGVyLgogICAgICogQHBhcmFtIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZXxudWxsICRwcnNnICAgICAgICAgICAgICAgICAgVGhlIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIHN0cmluZyBnZW5lcmF0b3IuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChPQXV0aDJDbGllbnQgJG9BdXRoMkNsaWVudCwgUGVyc2lzdGVudERhdGFJbnRlcmZhY2UgJHBlcnNpc3RlbnREYXRhSGFuZGxlciA9IG51bGwsIFVybERldGVjdGlvbkludGVyZmFjZSAkdXJsSGFuZGxlciA9IG51bGwsIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZSAkcHJzZyA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPm9BdXRoMkNsaWVudCA9ICRvQXV0aDJDbGllbnQ7CiAgICAgICAgJHRoaXMtPnBlcnNpc3RlbnREYXRhSGFuZGxlciA9ICRwZXJzaXN0ZW50RGF0YUhhbmRsZXIgPzogbmV3IEZhY2Vib29rU2Vzc2lvblBlcnNpc3RlbnREYXRhSGFuZGxlcigpOwogICAgICAgICR0aGlzLT51cmxEZXRlY3Rpb25IYW5kbGVyID0gJHVybEhhbmRsZXIgPzogbmV3IEZhY2Vib29rVXJsRGV0ZWN0aW9uSGFuZGxlcigpOwogICAgICAgICR0aGlzLT5wc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IgPSBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JGYWN0b3J5OjpjcmVhdGVQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IoJHByc2cpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcGVyc2lzdGVudCBkYXRhIGhhbmRsZXIuCiAgICAgKgogICAgICogQHJldHVybiBQZXJzaXN0ZW50RGF0YUludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGVyc2lzdGVudERhdGFIYW5kbGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBlcnNpc3RlbnREYXRhSGFuZGxlcjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIFVSTCBkZXRlY3Rpb24gaGFuZGxlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIFVybERldGVjdGlvbkludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VXJsRGV0ZWN0aW9uSGFuZGxlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT51cmxEZXRlY3Rpb25IYW5kbGVyOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIHBzZXVkby1yYW5kb20gc3RyaW5nIGdlbmVyYXRvci4KICAgICAqCiAgICAgKiBAcmV0dXJuIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcjsKICAgIH0KCiAgICAvKioKICAgICAqIFN0b3JlcyBDU1JGIHN0YXRlIGFuZCByZXR1cm5zIGEgVVJMIHRvIHdoaWNoIHRoZSB1c2VyIHNob3VsZCBiZSBzZW50IHRvIGluIG9yZGVyIHRvIGNvbnRpbnVlIHRoZSBsb2dpbiBwcm9jZXNzIHdpdGggRmFjZWJvb2suCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcmVkaXJlY3RVcmwgVGhlIFVSTCBGYWNlYm9vayBzaG91bGQgcmVkaXJlY3QgdXNlcnMgdG8gYWZ0ZXIgbG9naW4uCiAgICAgKiBAcGFyYW0gYXJyYXkgICRzY29wZSAgICAgICBMaXN0IG9mIHBlcm1pc3Npb25zIHRvIHJlcXVlc3QgZHVyaW5nIGxvZ2luLgogICAgICogQHBhcmFtIGFycmF5ICAkcGFyYW1zICAgICAgQW4gYXJyYXkgb2YgcGFyYW1ldGVycyB0byBnZW5lcmF0ZSBVUkwuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXBhcmF0b3IgICBUaGUgc2VwYXJhdG9yIHRvIHVzZSBpbiBodHRwX2J1aWxkX3F1ZXJ5KCkuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBtYWtlVXJsKCRyZWRpcmVjdFVybCwgYXJyYXkgJHNjb3BlLCBhcnJheSAkcGFyYW1zID0gW10sICRzZXBhcmF0b3IgPSAnJicpCiAgICB7CiAgICAgICAgJHN0YXRlID0gJHRoaXMtPnBlcnNpc3RlbnREYXRhSGFuZGxlci0+Z2V0KCdzdGF0ZScpID86ICR0aGlzLT5wc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3ItPmdldFBzZXVkb1JhbmRvbVN0cmluZyhzdGF0aWM6OkNTUkZfTEVOR1RIKTsKICAgICAgICAkdGhpcy0+cGVyc2lzdGVudERhdGFIYW5kbGVyLT5zZXQoJ3N0YXRlJywgJHN0YXRlKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5vQXV0aDJDbGllbnQtPmdldEF1dGhvcml6YXRpb25VcmwoJHJlZGlyZWN0VXJsLCAkc3RhdGUsICRzY29wZSwgJHBhcmFtcywgJHNlcGFyYXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBVUkwgdG8gc2VuZCB0aGUgdXNlciBpbiBvcmRlciB0byBsb2dpbiB0byBGYWNlYm9vay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWRpcmVjdFVybCBUaGUgVVJMIEZhY2Vib29rIHNob3VsZCByZWRpcmVjdCB1c2VycyB0byBhZnRlciBsb2dpbi4KICAgICAqIEBwYXJhbSBhcnJheSAgJHNjb3BlICAgICAgIExpc3Qgb2YgcGVybWlzc2lvbnMgdG8gcmVxdWVzdCBkdXJpbmcgbG9naW4uCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXBhcmF0b3IgICBUaGUgc2VwYXJhdG9yIHRvIHVzZSBpbiBodHRwX2J1aWxkX3F1ZXJ5KCkuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExvZ2luVXJsKCRyZWRpcmVjdFVybCwgYXJyYXkgJHNjb3BlID0gW10sICRzZXBhcmF0b3IgPSAnJicpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYWtlVXJsKCRyZWRpcmVjdFVybCwgJHNjb3BlLCBbXSwgJHNlcGFyYXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBVUkwgdG8gc2VuZCB0aGUgdXNlciBpbiBvcmRlciB0byBsb2cgb3V0IG9mIEZhY2Vib29rLgogICAgICoKICAgICAqIEBwYXJhbSBBY2Nlc3NUb2tlbnxzdHJpbmcgJGFjY2Vzc1Rva2VuIFRoZSBhY2Nlc3MgdG9rZW4gdGhhdCB3aWxsIGJlIGxvZ2dlZCBvdXQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICAgICAgICRuZXh0ICAgICAgICBUaGUgdXJsIEZhY2Vib29rIHNob3VsZCByZWRpcmVjdCB0aGUgdXNlciB0byBhZnRlciBhIHN1Y2Nlc3NmdWwgbG9nb3V0LgogICAgICogQHBhcmFtIHN0cmluZyAgICAgICAgICAgICAkc2VwYXJhdG9yICAgVGhlIHNlcGFyYXRvciB0byB1c2UgaW4gaHR0cF9idWlsZF9xdWVyeSgpLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TG9nb3V0VXJsKCRhY2Nlc3NUb2tlbiwgJG5leHQsICRzZXBhcmF0b3IgPSAnJicpCiAgICB7CiAgICAgICAgaWYgKCEkYWNjZXNzVG9rZW4gaW5zdGFuY2VvZiBBY2Nlc3NUb2tlbikgewogICAgICAgICAgICAkYWNjZXNzVG9rZW4gPSBuZXcgQWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuKTsKICAgICAgICB9CgogICAgICAgIGlmICgkYWNjZXNzVG9rZW4tPmlzQXBwQWNjZXNzVG9rZW4oKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ0Nhbm5vdCBnZW5lcmF0ZSBhIGxvZ291dCBVUkwgd2l0aCBhbiBhcHAgYWNjZXNzIHRva2VuLicsIDcyMik7CiAgICAgICAgfQoKICAgICAgICAkcGFyYW1zID0gWwogICAgICAgICAgICAnbmV4dCcgPT4gJG5leHQsCiAgICAgICAgICAgICdhY2Nlc3NfdG9rZW4nID0+ICRhY2Nlc3NUb2tlbi0+Z2V0VmFsdWUoKSwKICAgICAgICBdOwoKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9sb2dvdXQucGhwPycgLiBodHRwX2J1aWxkX3F1ZXJ5KCRwYXJhbXMsIG51bGwsICRzZXBhcmF0b3IpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgVVJMIHRvIHNlbmQgdGhlIHVzZXIgaW4gb3JkZXIgdG8gbG9naW4gdG8gRmFjZWJvb2sgd2l0aCBwZXJtaXNzaW9uKHMpIHRvIGJlIHJlLWFza2VkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHJlZGlyZWN0VXJsIFRoZSBVUkwgRmFjZWJvb2sgc2hvdWxkIHJlZGlyZWN0IHVzZXJzIHRvIGFmdGVyIGxvZ2luLgogICAgICogQHBhcmFtIGFycmF5ICAkc2NvcGUgICAgICAgTGlzdCBvZiBwZXJtaXNzaW9ucyB0byByZXF1ZXN0IGR1cmluZyBsb2dpbi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHNlcGFyYXRvciAgIFRoZSBzZXBhcmF0b3IgdG8gdXNlIGluIGh0dHBfYnVpbGRfcXVlcnkoKS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVSZXF1ZXN0VXJsKCRyZWRpcmVjdFVybCwgYXJyYXkgJHNjb3BlID0gW10sICRzZXBhcmF0b3IgPSAnJicpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IFsnYXV0aF90eXBlJyA9PiAncmVyZXF1ZXN0J107CgogICAgICAgIHJldHVybiAkdGhpcy0+bWFrZVVybCgkcmVkaXJlY3RVcmwsICRzY29wZSwgJHBhcmFtcywgJHNlcGFyYXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBVUkwgdG8gc2VuZCB0aGUgdXNlciBpbiBvcmRlciB0byBsb2dpbiB0byBGYWNlYm9vayB3aXRoIHVzZXIgdG8gYmUgcmUtYXV0aGVudGljYXRlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWRpcmVjdFVybCBUaGUgVVJMIEZhY2Vib29rIHNob3VsZCByZWRpcmVjdCB1c2VycyB0byBhZnRlciBsb2dpbi4KICAgICAqIEBwYXJhbSBhcnJheSAgJHNjb3BlICAgICAgIExpc3Qgb2YgcGVybWlzc2lvbnMgdG8gcmVxdWVzdCBkdXJpbmcgbG9naW4uCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzZXBhcmF0b3IgICBUaGUgc2VwYXJhdG9yIHRvIHVzZSBpbiBodHRwX2J1aWxkX3F1ZXJ5KCkuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlQXV0aGVudGljYXRpb25VcmwoJHJlZGlyZWN0VXJsLCBhcnJheSAkc2NvcGUgPSBbXSwgJHNlcGFyYXRvciA9ICcmJykKICAgIHsKICAgICAgICAkcGFyYW1zID0gWydhdXRoX3R5cGUnID0+ICdyZWF1dGhlbnRpY2F0ZSddOwoKICAgICAgICByZXR1cm4gJHRoaXMtPm1ha2VVcmwoJHJlZGlyZWN0VXJsLCAkc2NvcGUsICRwYXJhbXMsICRzZXBhcmF0b3IpOwogICAgfQoKICAgIC8qKgogICAgICogVGFrZXMgYSB2YWxpZCBjb2RlIGZyb20gYSBsb2dpbiByZWRpcmVjdCwgYW5kIHJldHVybnMgYW4gQWNjZXNzVG9rZW4gZW50aXR5LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkcmVkaXJlY3RVcmwgVGhlIHJlZGlyZWN0IFVSTC4KICAgICAqCiAgICAgKiBAcmV0dXJuIEFjY2Vzc1Rva2VufG51bGwKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRBY2Nlc3NUb2tlbigkcmVkaXJlY3RVcmwgPSBudWxsKQogICAgewogICAgICAgIGlmICghJGNvZGUgPSAkdGhpcy0+Z2V0Q29kZSgpKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnZhbGlkYXRlQ3NyZigpOwogICAgICAgICR0aGlzLT5yZXNldENzcmYoKTsKCiAgICAgICAgJHJlZGlyZWN0VXJsID0gJHJlZGlyZWN0VXJsID86ICR0aGlzLT51cmxEZXRlY3Rpb25IYW5kbGVyLT5nZXRDdXJyZW50VXJsKCk7CiAgICAgICAgLy8gQXQgbWluaW11bSB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgc3RhdGUgcGFyYW0KICAgICAgICAkcmVkaXJlY3RVcmwgPSBGYWNlYm9va1VybE1hbmlwdWxhdG9yOjpyZW1vdmVQYXJhbXNGcm9tVXJsKCRyZWRpcmVjdFVybCwgWydzdGF0ZSddKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5vQXV0aDJDbGllbnQtPmdldEFjY2Vzc1Rva2VuRnJvbUNvZGUoJGNvZGUsICRyZWRpcmVjdFVybCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZSB0aGUgcmVxdWVzdCBhZ2FpbnN0IGEgY3Jvc3Mtc2l0ZSByZXF1ZXN0IGZvcmdlcnkuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmFsaWRhdGVDc3JmKCkKICAgIHsKICAgICAgICAkc3RhdGUgPSAkdGhpcy0+Z2V0U3RhdGUoKTsKICAgICAgICBpZiAoISRzdGF0ZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ0Nyb3NzLXNpdGUgcmVxdWVzdCBmb3JnZXJ5IHZhbGlkYXRpb24gZmFpbGVkLiBSZXF1aXJlZCBHRVQgcGFyYW0gInN0YXRlIiBtaXNzaW5nLicpOwogICAgICAgIH0KICAgICAgICAkc2F2ZWRTdGF0ZSA9ICR0aGlzLT5wZXJzaXN0ZW50RGF0YUhhbmRsZXItPmdldCgnc3RhdGUnKTsKICAgICAgICBpZiAoISRzYXZlZFN0YXRlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignQ3Jvc3Mtc2l0ZSByZXF1ZXN0IGZvcmdlcnkgdmFsaWRhdGlvbiBmYWlsZWQuIFJlcXVpcmVkIHBhcmFtICJzdGF0ZSIgbWlzc2luZyBmcm9tIHBlcnNpc3RlbnQgZGF0YS4nKTsKICAgICAgICB9CgogICAgICAgIGlmIChcaGFzaF9lcXVhbHMoJHNhdmVkU3RhdGUsICRzdGF0ZSkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdDcm9zcy1zaXRlIHJlcXVlc3QgZm9yZ2VyeSB2YWxpZGF0aW9uIGZhaWxlZC4gVGhlICJzdGF0ZSIgcGFyYW0gZnJvbSB0aGUgVVJMIGFuZCBzZXNzaW9uIGRvIG5vdCBtYXRjaC4nKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2V0cyB0aGUgQ1NSRiBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IHJldXNlZC4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiByZXNldENzcmYoKQogICAgewogICAgICAgICR0aGlzLT5wZXJzaXN0ZW50RGF0YUhhbmRsZXItPnNldCgnc3RhdGUnLCBudWxsKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgY29kZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDb2RlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldElucHV0KCdjb2RlJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHN0YXRlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFN0YXRlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldElucHV0KCdzdGF0ZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBlcnJvciBjb2RlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9yQ29kZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRJbnB1dCgnZXJyb3JfY29kZScpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXJyb3IuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3IoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0SW5wdXQoJ2Vycm9yJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBlcnJvciByZWFzb24uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JSZWFzb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0SW5wdXQoJ2Vycm9yX3JlYXNvbicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXJyb3IgZGVzY3JpcHRpb24uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JEZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRJbnB1dCgnZXJyb3JfZGVzY3JpcHRpb24nKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSB2YWx1ZSBmcm9tIGEgR0VUIHBhcmFtLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRJbnB1dCgka2V5KQogICAgewogICAgICAgIHJldHVybiBpc3NldCgkX0dFVFska2V5XSkgPyAkX0dFVFska2V5XSA6IG51bGw7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSGVscGVyczsKCnVzZSBGYWNlYm9va1xGYWNlYm9vazsKdXNlIEZhY2Vib29rXEZhY2Vib29rQXBwOwp1c2UgRmFjZWJvb2tcRmFjZWJvb2tDbGllbnQ7CnVzZSBGYWNlYm9va1xTaWduZWRSZXF1ZXN0Owp1c2UgRmFjZWJvb2tcQXV0aGVudGljYXRpb25cQWNjZXNzVG9rZW47CnVzZSBGYWNlYm9va1xBdXRoZW50aWNhdGlvblxPQXV0aDJDbGllbnQ7CgovKioKICogQ2xhc3MgRmFjZWJvb2tTaWduZWRSZXF1ZXN0RnJvbUlucHV0SGVscGVyCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwphYnN0cmFjdCBjbGFzcyBGYWNlYm9va1NpZ25lZFJlcXVlc3RGcm9tSW5wdXRIZWxwZXIKewogICAgLyoqCiAgICAgKiBAdmFyIFNpZ25lZFJlcXVlc3R8bnVsbCBUaGUgU2lnbmVkUmVxdWVzdCBlbnRpdHkuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2lnbmVkUmVxdWVzdDsKCiAgICAvKioKICAgICAqIEB2YXIgRmFjZWJvb2tBcHAgVGhlIEZhY2Vib29rQXBwIGVudGl0eS4KICAgICAqLwogICAgcHJvdGVjdGVkICRhcHA7CgogICAgLyoqCiAgICAgKiBAdmFyIE9BdXRoMkNsaWVudCBUaGUgT0F1dGggMi4wIGNsaWVudCBzZXJ2aWNlLgogICAgICovCiAgICBwcm90ZWN0ZWQgJG9BdXRoMkNsaWVudDsKCiAgICAvKioKICAgICAqIEluaXRpYWxpemUgdGhlIGhlbHBlciBhbmQgcHJvY2VzcyBhdmFpbGFibGUgc2lnbmVkIHJlcXVlc3QgZGF0YS4KICAgICAqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tBcHAgICAgJGFwcCAgICAgICAgICBUaGUgRmFjZWJvb2tBcHAgZW50aXR5LgogICAgICogQHBhcmFtIEZhY2Vib29rQ2xpZW50ICRjbGllbnQgICAgICAgVGhlIGNsaWVudCB0byBtYWtlIEhUVFAgcmVxdWVzdHMuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgICAgJGdyYXBoVmVyc2lvbiBUaGUgdmVyc2lvbiBvZiBHcmFwaCB0byB1c2UuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChGYWNlYm9va0FwcCAkYXBwLCBGYWNlYm9va0NsaWVudCAkY2xpZW50LCAkZ3JhcGhWZXJzaW9uID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+YXBwID0gJGFwcDsKICAgICAgICAkZ3JhcGhWZXJzaW9uID0gJGdyYXBoVmVyc2lvbiA/OiBGYWNlYm9vazo6REVGQVVMVF9HUkFQSF9WRVJTSU9OOwogICAgICAgICR0aGlzLT5vQXV0aDJDbGllbnQgPSBuZXcgT0F1dGgyQ2xpZW50KCR0aGlzLT5hcHAsICRjbGllbnQsICRncmFwaFZlcnNpb24pOwoKICAgICAgICAkdGhpcy0+aW5zdGFudGlhdGVTaWduZWRSZXF1ZXN0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbnN0YW50aWF0ZXMgYSBuZXcgU2lnbmVkUmVxdWVzdCBlbnRpdHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpbnN0YW50aWF0ZVNpZ25lZFJlcXVlc3QoJHJhd1NpZ25lZFJlcXVlc3QgPSBudWxsKQogICAgewogICAgICAgICRyYXdTaWduZWRSZXF1ZXN0ID0gJHJhd1NpZ25lZFJlcXVlc3QgPzogJHRoaXMtPmdldFJhd1NpZ25lZFJlcXVlc3QoKTsKCiAgICAgICAgaWYgKCEkcmF3U2lnbmVkUmVxdWVzdCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+c2lnbmVkUmVxdWVzdCA9IG5ldyBTaWduZWRSZXF1ZXN0KCR0aGlzLT5hcHAsICRyYXdTaWduZWRSZXF1ZXN0KTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gQWNjZXNzVG9rZW4gZW50aXR5IGZyb20gdGhlIHNpZ25lZCByZXF1ZXN0LgogICAgICoKICAgICAqIEByZXR1cm4gQWNjZXNzVG9rZW58bnVsbAogICAgICoKICAgICAqIEB0aHJvd3MgXEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2Vzc1Rva2VuKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnNpZ25lZFJlcXVlc3QgJiYgJHRoaXMtPnNpZ25lZFJlcXVlc3QtPmhhc09BdXRoRGF0YSgpKSB7CiAgICAgICAgICAgICRjb2RlID0gJHRoaXMtPnNpZ25lZFJlcXVlc3QtPmdldCgnY29kZScpOwogICAgICAgICAgICAkYWNjZXNzVG9rZW4gPSAkdGhpcy0+c2lnbmVkUmVxdWVzdC0+Z2V0KCdvYXV0aF90b2tlbicpOwoKICAgICAgICAgICAgaWYgKCRjb2RlICYmICEkYWNjZXNzVG9rZW4pIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+b0F1dGgyQ2xpZW50LT5nZXRBY2Nlc3NUb2tlbkZyb21Db2RlKCRjb2RlKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGV4cGlyZXNBdCA9ICR0aGlzLT5zaWduZWRSZXF1ZXN0LT5nZXQoJ2V4cGlyZXMnLCAwKTsKCiAgICAgICAgICAgIHJldHVybiBuZXcgQWNjZXNzVG9rZW4oJGFjY2Vzc1Rva2VuLCAkZXhwaXJlc0F0KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgU2lnbmVkUmVxdWVzdCBlbnRpdHkuCiAgICAgKgogICAgICogQHJldHVybiBTaWduZWRSZXF1ZXN0fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNpZ25lZFJlcXVlc3QoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2lnbmVkUmVxdWVzdDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHVzZXJfaWQgaWYgYXZhaWxhYmxlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVzZXJJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zaWduZWRSZXF1ZXN0ID8gJHRoaXMtPnNpZ25lZFJlcXVlc3QtPmdldFVzZXJJZCgpIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCByYXcgc2lnbmVkIHJlcXVlc3QgZnJvbSBpbnB1dC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRSYXdTaWduZWRSZXF1ZXN0KCk7CgogICAgLyoqCiAgICAgKiBHZXQgcmF3IHNpZ25lZCByZXF1ZXN0IGZyb20gUE9TVCBpbnB1dC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSYXdTaWduZWRSZXF1ZXN0RnJvbVBvc3QoKQogICAgewogICAgICAgIGlmIChpc3NldCgkX1BPU1RbJ3NpZ25lZF9yZXF1ZXN0J10pKSB7CiAgICAgICAgICAgIHJldHVybiAkX1BPU1RbJ3NpZ25lZF9yZXF1ZXN0J107CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCByYXcgc2lnbmVkIHJlcXVlc3QgZnJvbSBjb29raWUgc2V0IGZyb20gdGhlIEphdmFzY3JpcHQgU0RLLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJhd1NpZ25lZFJlcXVlc3RGcm9tQ29va2llKCkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJF9DT09LSUVbJ2Zic3JfJyAuICR0aGlzLT5hcHAtPmdldElkKCldKSkgewogICAgICAgICAgICByZXR1cm4gJF9DT09LSUVbJ2Zic3JfJyAuICR0aGlzLT5hcHAtPmdldElkKCldOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Http/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Http/GraphRawResponse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cDsKCi8qKgogKiBDbGFzcyBHcmFwaFJhd1Jlc3BvbnNlCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBHcmFwaFJhd1Jlc3BvbnNlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBUaGUgcmVzcG9uc2UgaGVhZGVycyBpbiB0aGUgZm9ybSBvZiBhbiBhc3NvY2lhdGl2ZSBhcnJheS4KICAgICAqLwogICAgcHJvdGVjdGVkICRoZWFkZXJzOwoKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIHJhdyByZXNwb25zZSBib2R5LgogICAgICovCiAgICBwcm90ZWN0ZWQgJGJvZHk7CgogICAgLyoqCiAgICAgKiBAdmFyIGludCBUaGUgSFRUUCBzdGF0dXMgcmVzcG9uc2UgY29kZS4KICAgICAqLwogICAgcHJvdGVjdGVkICRodHRwUmVzcG9uc2VDb2RlOwoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIG5ldyBHcmFwaFJhd1Jlc3BvbnNlIGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICRoZWFkZXJzICAgICAgICBUaGUgaGVhZGVycyBhcyBhIHJhdyBzdHJpbmcgb3IgYXJyYXkuCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAgICRib2R5ICAgICAgICAgICBUaGUgcmF3IHJlc3BvbnNlIGJvZHkuCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICRodHRwU3RhdHVzQ29kZSBUaGUgSFRUUCByZXNwb25zZSBjb2RlIChpZiBzZW5kaW5nIGhlYWRlcnMgYXMgcGFyc2VkIGFycmF5KS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRoZWFkZXJzLCAkYm9keSwgJGh0dHBTdGF0dXNDb2RlID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoaXNfbnVtZXJpYygkaHR0cFN0YXR1c0NvZGUpKSB7CiAgICAgICAgICAgICR0aGlzLT5odHRwUmVzcG9uc2VDb2RlID0gKGludCkkaHR0cFN0YXR1c0NvZGU7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNfYXJyYXkoJGhlYWRlcnMpKSB7CiAgICAgICAgICAgICR0aGlzLT5oZWFkZXJzID0gJGhlYWRlcnM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnNldEhlYWRlcnNGcm9tU3RyaW5nKCRoZWFkZXJzKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5ib2R5ID0gJGJvZHk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHJlc3BvbnNlIGhlYWRlcnMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oZWFkZXJzOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Qm9keSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5ib2R5OwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBIVFRQIHJlc3BvbnNlIGNvZGUuCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEh0dHBSZXNwb25zZUNvZGUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aHR0cFJlc3BvbnNlQ29kZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldHMgdGhlIEhUVFAgcmVzcG9uc2UgY29kZSBmcm9tIGEgcmF3IGhlYWRlci4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyYXdSZXNwb25zZUhlYWRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0SHR0cFJlc3BvbnNlQ29kZUZyb21IZWFkZXIoJHJhd1Jlc3BvbnNlSGVhZGVyKQogICAgewogICAgICAgIHByZWdfbWF0Y2goJ3xIVFRQL1xkXC5cZFxzKyhcZCspXHMrLip8JywgJHJhd1Jlc3BvbnNlSGVhZGVyLCAkbWF0Y2gpOwogICAgICAgICR0aGlzLT5odHRwUmVzcG9uc2VDb2RlID0gKGludCkkbWF0Y2hbMV07CiAgICB9CgogICAgLyoqCiAgICAgKiBQYXJzZSB0aGUgcmF3IGhlYWRlcnMgYW5kIHNldCBhcyBhbiBhcnJheS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyYXdIZWFkZXJzIFRoZSByYXcgaGVhZGVycyBmcm9tIHRoZSByZXNwb25zZS4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldEhlYWRlcnNGcm9tU3RyaW5nKCRyYXdIZWFkZXJzKQogICAgewogICAgICAgIC8vIE5vcm1hbGl6ZSBsaW5lIGJyZWFrcwogICAgICAgICRyYXdIZWFkZXJzID0gc3RyX3JlcGxhY2UoIlxyXG4iLCAiXG4iLCAkcmF3SGVhZGVycyk7CgogICAgICAgIC8vIFRoZXJlIHdpbGwgYmUgbXVsdGlwbGUgaGVhZGVycyBpZiBhIDMwMSB3YXMgZm9sbG93ZWQKICAgICAgICAvLyBvciBhIHByb3h5IHdhcyBmb2xsb3dlZCwgZXRjCiAgICAgICAgJGhlYWRlckNvbGxlY3Rpb24gPSBleHBsb2RlKCJcblxuIiwgdHJpbSgkcmF3SGVhZGVycykpOwogICAgICAgIC8vIFdlIGp1c3Qgd2FudCB0aGUgbGFzdCByZXNwb25zZSAoYXQgdGhlIGVuZCkKICAgICAgICAkcmF3SGVhZGVyID0gYXJyYXlfcG9wKCRoZWFkZXJDb2xsZWN0aW9uKTsKCiAgICAgICAgJGhlYWRlckNvbXBvbmVudHMgPSBleHBsb2RlKCJcbiIsICRyYXdIZWFkZXIpOwogICAgICAgIGZvcmVhY2ggKCRoZWFkZXJDb21wb25lbnRzIGFzICRsaW5lKSB7CiAgICAgICAgICAgIGlmIChzdHJwb3MoJGxpbmUsICc6ICcpID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJHRoaXMtPnNldEh0dHBSZXNwb25zZUNvZGVGcm9tSGVhZGVyKCRsaW5lKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxpc3QoJGtleSwgJHZhbHVlKSA9IGV4cGxvZGUoJzogJywgJGxpbmUsIDIpOwogICAgICAgICAgICAgICAgJHRoaXMtPmhlYWRlcnNbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Http/RequestBodyInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cDsKCi8qKgogKiBJbnRlcmZhY2UKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmludGVyZmFjZSBSZXF1ZXN0Qm9keUludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEdldCB0aGUgYm9keSBvZiB0aGUgcmVxdWVzdCB0byBzZW5kIHRvIEdyYXBoLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCb2R5KCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Http/RequestBodyMultipart.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cDsKCnVzZSBGYWNlYm9va1xGaWxlVXBsb2FkXEZhY2Vib29rRmlsZTsKCi8qKgogKiBDbGFzcyBSZXF1ZXN0Qm9keU11bHRpcGFydHQKICoKICogU29tZSB0aGluZ3MgY29waWVkIGZyb20gR3V6emxlCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqCiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2d1enpsZS9ndXp6bGUvYmxvYi9tYXN0ZXIvc3JjL1Bvc3QvTXVsdGlwYXJ0Qm9keS5waHAKICovCmNsYXNzIFJlcXVlc3RCb2R5TXVsdGlwYXJ0IGltcGxlbWVudHMgUmVxdWVzdEJvZHlJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZyBUaGUgYm91bmRhcnkuCiAgICAgKi8KICAgIHByaXZhdGUgJGJvdW5kYXJ5OwoKICAgIC8qKgogICAgICogQHZhciBhcnJheSBUaGUgcGFyYW1ldGVycyB0byBzZW5kIHdpdGggdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcml2YXRlICRwYXJhbXM7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSBmaWxlcyB0byBzZW5kIHdpdGggdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcml2YXRlICRmaWxlcyA9IFtdOwoKICAgIC8qKgogICAgICogQHBhcmFtIGFycmF5ICAkcGFyYW1zICAgVGhlIHBhcmFtZXRlcnMgdG8gc2VuZCB3aXRoIHRoaXMgcmVxdWVzdC4KICAgICAqIEBwYXJhbSBhcnJheSAgJGZpbGVzICAgIFRoZSBmaWxlcyB0byBzZW5kIHdpdGggdGhpcyByZXF1ZXN0LgogICAgICogQHBhcmFtIHN0cmluZyAkYm91bmRhcnkgUHJvdmlkZSBhIHNwZWNpZmljIGJvdW5kYXJ5LgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJHBhcmFtcyA9IFtdLCBhcnJheSAkZmlsZXMgPSBbXSwgJGJvdW5kYXJ5ID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+cGFyYW1zID0gJHBhcmFtczsKICAgICAgICAkdGhpcy0+ZmlsZXMgPSAkZmlsZXM7CiAgICAgICAgJHRoaXMtPmJvdW5kYXJ5ID0gJGJvdW5kYXJ5ID86IHVuaXFpZCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEJvZHkoKQogICAgewogICAgICAgICRib2R5ID0gJyc7CgogICAgICAgIC8vIENvbXBpbGUgbm9ybWFsIHBhcmFtcwogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Z2V0TmVzdGVkUGFyYW1zKCR0aGlzLT5wYXJhbXMpOwogICAgICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmdldFBhcmFtU3RyaW5nKCRrLCAkdik7CiAgICAgICAgfQoKICAgICAgICAvLyBDb21waWxlIGZpbGVzCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmZpbGVzIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5nZXRGaWxlU3RyaW5nKCRrLCAkdik7CiAgICAgICAgfQoKICAgICAgICAvLyBQZWFjZSBvdXQKICAgICAgICAkYm9keSAuPSAiLS17JHRoaXMtPmJvdW5kYXJ5fS0tXHJcbiI7CgogICAgICAgIHJldHVybiAkYm9keTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYm91bmRhcnkKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Qm91bmRhcnkoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Ym91bmRhcnk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHN0cmluZyBuZWVkZWQgdG8gdHJhbnNmZXIgYSBmaWxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgICAgICAgJG5hbWUKICAgICAqIEBwYXJhbSBGYWNlYm9va0ZpbGUgJGZpbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldEZpbGVTdHJpbmcoJG5hbWUsIEZhY2Vib29rRmlsZSAkZmlsZSkKICAgIHsKICAgICAgICByZXR1cm4gc3ByaW50ZigKICAgICAgICAgICAgIi0tJXNcclxuQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwiJXNcIjsgZmlsZW5hbWU9XCIlc1wiJXNcclxuXHJcbiVzXHJcbiIsCiAgICAgICAgICAgICR0aGlzLT5ib3VuZGFyeSwKICAgICAgICAgICAgJG5hbWUsCiAgICAgICAgICAgICRmaWxlLT5nZXRGaWxlTmFtZSgpLAogICAgICAgICAgICAkdGhpcy0+Z2V0RmlsZUhlYWRlcnMoJGZpbGUpLAogICAgICAgICAgICAkZmlsZS0+Z2V0Q29udGVudHMoKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHN0cmluZyBuZWVkZWQgdG8gdHJhbnNmZXIgYSBQT1NUIGZpZWxkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRQYXJhbVN0cmluZygkbmFtZSwgJHZhbHVlKQogICAgewogICAgICAgIHJldHVybiBzcHJpbnRmKAogICAgICAgICAgICAiLS0lc1xyXG5Db250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCIlc1wiXHJcblxyXG4lc1xyXG4iLAogICAgICAgICAgICAkdGhpcy0+Ym91bmRhcnksCiAgICAgICAgICAgICRuYW1lLAogICAgICAgICAgICAkdmFsdWUKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcGFyYW1zIGFzIGFuIGFycmF5IG9mIG5lc3RlZCBwYXJhbXMuCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRwYXJhbXMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0TmVzdGVkUGFyYW1zKGFycmF5ICRwYXJhbXMpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zLCBudWxsLCAnJicpOwogICAgICAgICRwYXJhbXMgPSBleHBsb2RlKCcmJywgJHF1ZXJ5KTsKICAgICAgICAkcmVzdWx0ID0gW107CgogICAgICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJHBhcmFtKSB7CiAgICAgICAgICAgIGxpc3QoJGtleSwgJHZhbHVlKSA9IGV4cGxvZGUoJz0nLCAkcGFyYW0sIDIpOwogICAgICAgICAgICAkcmVzdWx0W3VybGRlY29kZSgka2V5KV0gPSB1cmxkZWNvZGUoJHZhbHVlKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBoZWFkZXJzIG5lZWRlZCBiZWZvcmUgdHJhbnNmZXJyaW5nIHRoZSBjb250ZW50IG9mIGEgUE9TVCBmaWxlLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va0ZpbGUgJGZpbGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0RmlsZUhlYWRlcnMoRmFjZWJvb2tGaWxlICRmaWxlKQogICAgewogICAgICAgIHJldHVybiAiXHJcbkNvbnRlbnQtVHlwZTogeyRmaWxlLT5nZXRNaW1ldHlwZSgpfSI7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Http/RequestBodyUrlEncoded.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cDsKCi8qKgogKiBDbGFzcyBSZXF1ZXN0Qm9keVVybEVuY29kZWQKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIFJlcXVlc3RCb2R5VXJsRW5jb2RlZCBpbXBsZW1lbnRzIFJlcXVlc3RCb2R5SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBhcnJheSBUaGUgcGFyYW1ldGVycyB0byBzZW5kIHdpdGggdGhpcyByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJHBhcmFtcyA9IFtdOwoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIG5ldyBHcmFwaFVybEVuY29kZWRCb2R5IGVudGl0eS4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJHBhcmFtcykKICAgIHsKICAgICAgICAkdGhpcy0+cGFyYW1zID0gJHBhcmFtczsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRCb2R5KCkKICAgIHsKICAgICAgICByZXR1cm4gaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cGFyYW1zLCBudWxsLCAnJicpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/certs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR4VENDQXEyZ0F3SUJBZ0lRQXF4Y0ptb0xRSnVQQzNueXJrWWxkekFOQmdrcWhraUc5dzBCQVFVRkFEQnMKTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCMwpkM2N1WkdsbmFXTmxjblF1WTI5dE1Tc3dLUVlEVlFRREV5SkVhV2RwUTJWeWRDQklhV2RvSUVGemMzVnlZVzVqClpTQkZWaUJTYjI5MElFTkJNQjRYRFRBMk1URXhNREF3TURBd01Gb1hEVE14TVRFeE1EQXdNREF3TUZvd2JERUwKTUFrR0ExVUVCaE1DVlZNeEZUQVRCZ05WQkFvVERFUnBaMmxEWlhKMElFbHVZekVaTUJjR0ExVUVDeE1RZDNkMwpMbVJwWjJsalpYSjBMbU52YlRFck1Da0dBMVVFQXhNaVJHbG5hVU5sY25RZ1NHbG5hQ0JCYzNOMWNtRnVZMlVnClJWWWdVbTl2ZENCRFFUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1iTTVYUG0KKzlTNzVTMHRNcWJmNVlFL3ljMGxTYlp4S3NQVmxEUm5vZ29jc0Y5cHBrQ3h4TGV5ajlDWXBLbEJXVHJUM0pUVwpQTnQwT0tSS3pFMGxndmRLcFZNU09PN3pTVzF4a1g1anRxdW1YOE9raFBoUFlsRysrTVhzMnppUzR3YmxDSkVNCnhDaEJWZnZMV29rVmZuSG9OYjlOY2drOXZqbzRVRnQzTVJ1TnM4Y2tSWnFuckcwQUZGb0V0N29UNjFFS21FRkIKSWs1bFlZZUJRVkNtZVZ5SjNobEtWOVV1NWwwY1V5eCttTTBhQmhha2FIUFFOQVFUWEtGeDAxcDhWZHRlWk9FMwpoekJXQk9VUnRDbUFFdkY1T1lpaUFoRjhKMmEzaUxkNDhzb0txRGlyQ21UQ3YyWmRsWVRCb1NVZWgxMGFVQXNnCkVzeEJ1MjRMVVRpNFM4c0NBd0VBQWFOak1HRXdEZ1lEVlIwUEFRSC9CQVFEQWdHR01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGTEUrdzJrRCtMOUhBZFNZSmhvSUF1OWpaQ3ZETUI4R0ExVWRJd1FZTUJhQQpGTEUrdzJrRCtMOUhBZFNZSmhvSUF1OWpaQ3ZETUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFBY0dnYVgzTmVjCm56eUlaZ1lJVnlIYklVZjRLbWVxdnhneWRrQVFWOEdLODNyWkVXV09OZnFlL0VXMW50bE1NVXU0a2VoRExJNnoKZU03YjQxTjVjZGJsSVpRQjJsV0htaVJrOW9wbXpONmNOODJvTkxGcG15UElubmdpSzNCRDQxVkhNV0VaNzFqRgpoUzlPTVBhZ01SWWp5T2ZpWlJZenk3OGFHNkE5K01wZWl6R0xZQWlKTFF3R1hGSzN4UGtLbU5FVlg1OFN2bncyCll6aTlSS1IvNUNZckNzU1hhUTNwak9MQUVGZTR5SFlTa1ZYeVNHbll2Q29DV3c5RTFDQXgyL1M2Y0NaZGtHQ2UKdkVzWENTKzB5eDVEYU1rSEo4SFNYUGZxSWJsb0VwdzhuTCtlL0lCY20yUE43RWVxSlNkbm9EZnpBSUo5Vk5lcAorT2t1RTZOMzZCOUsKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookCurl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7CgovKioKICogQ2xhc3MgRmFjZWJvb2tDdXJsCiAqCiAqIEFic3RyYWN0aW9uIGZvciB0aGUgcHJvY2VkdXJhbCBjdXJsIGVsZW1lbnRzIHNvIHRoYXQgY3VybCBjYW4gYmUgbW9ja2VkIGFuZCB0aGUgaW1wbGVtZW50YXRpb24gY2FuIGJlIHRlc3RlZC4KICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rQ3VybAp7CgogICAgLyoqCiAgICAgKiBAdmFyIHJlc291cmNlIEN1cmwgcmVzb3VyY2UgaW5zdGFuY2UKICAgICAqLwogICAgcHJvdGVjdGVkICRjdXJsOwoKICAgIC8qKgogICAgICogTWFrZSBhIG5ldyBjdXJsIHJlZmVyZW5jZSBpbnN0YW5jZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5pdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmN1cmwgPSBjdXJsX2luaXQoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBhIGN1cmwgb3B0aW9uCiAgICAgKgogICAgICogQHBhcmFtICRrZXkKICAgICAqIEBwYXJhbSAkdmFsdWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldG9wdCgka2V5LCAkdmFsdWUpCiAgICB7CiAgICAgICAgY3VybF9zZXRvcHQoJHRoaXMtPmN1cmwsICRrZXksICR2YWx1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgYW4gYXJyYXkgb2Ygb3B0aW9ucyB0byBhIGN1cmwgcmVzb3VyY2UKICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldG9wdEFycmF5KGFycmF5ICRvcHRpb25zKQogICAgewogICAgICAgIGN1cmxfc2V0b3B0X2FycmF5KCR0aGlzLT5jdXJsLCAkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGEgY3VybCByZXF1ZXN0CiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhlYygpCiAgICB7CiAgICAgICAgcmV0dXJuIGN1cmxfZXhlYygkdGhpcy0+Y3VybCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGN1cmwgZXJyb3IgbnVtYmVyCiAgICAgKgogICAgICogQHJldHVybiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGVycm5vKCkKICAgIHsKICAgICAgICByZXR1cm4gY3VybF9lcnJubygkdGhpcy0+Y3VybCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGN1cmwgZXJyb3IgbWVzc2FnZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBlcnJvcigpCiAgICB7CiAgICAgICAgcmV0dXJuIGN1cmxfZXJyb3IoJHRoaXMtPmN1cmwpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGluZm8gZnJvbSBhIGN1cmwgcmVmZXJlbmNlCiAgICAgKgogICAgICogQHBhcmFtICR0eXBlCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0aW5mbygkdHlwZSkKICAgIHsKICAgICAgICByZXR1cm4gY3VybF9nZXRpbmZvKCR0aGlzLT5jdXJsLCAkdHlwZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGN1cnJlbnRseSBpbnN0YWxsZWQgY3VybCB2ZXJzaW9uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIGN1cmxfdmVyc2lvbigpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2UgdGhlIHJlc291cmNlIGNvbm5lY3Rpb24gdG8gY3VybAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xvc2UoKQogICAgewogICAgICAgIGN1cmxfY2xvc2UoJHRoaXMtPmN1cmwpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookCurlHttpClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7Cgp1c2UgRmFjZWJvb2tcSHR0cFxHcmFwaFJhd1Jlc3BvbnNlOwp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBGYWNlYm9va0N1cmxIdHRwQ2xpZW50CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va0N1cmxIdHRwQ2xpZW50IGltcGxlbWVudHMgRmFjZWJvb2tIdHRwQ2xpZW50SW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgVGhlIGNsaWVudCBlcnJvciBtZXNzYWdlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY3VybEVycm9yTWVzc2FnZSA9ICcnOwoKICAgIC8qKgogICAgICogQHZhciBpbnQgVGhlIGN1cmwgY2xpZW50IGVycm9yIGNvZGUKICAgICAqLwogICAgcHJvdGVjdGVkICRjdXJsRXJyb3JDb2RlID0gMDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nfGJvb2xlYW4gVGhlIHJhdyByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIKICAgICAqLwogICAgcHJvdGVjdGVkICRyYXdSZXNwb25zZTsKCiAgICAvKioKICAgICAqIEB2YXIgRmFjZWJvb2tDdXJsIFByb2NlZHVyYWwgY3VybCBhcyBvYmplY3QKICAgICAqLwogICAgcHJvdGVjdGVkICRmYWNlYm9va0N1cmw7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tDdXJsfG51bGwgUHJvY2VkdXJhbCBjdXJsIGFzIG9iamVjdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoRmFjZWJvb2tDdXJsICRmYWNlYm9va0N1cmwgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5mYWNlYm9va0N1cmwgPSAkZmFjZWJvb2tDdXJsID86IG5ldyBGYWNlYm9va0N1cmwoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZW5kKCR1cmwsICRtZXRob2QsICRib2R5LCBhcnJheSAkaGVhZGVycywgJHRpbWVPdXQpCiAgICB7CiAgICAgICAgJHRoaXMtPm9wZW5Db25uZWN0aW9uKCR1cmwsICRtZXRob2QsICRib2R5LCAkaGVhZGVycywgJHRpbWVPdXQpOwogICAgICAgICR0aGlzLT5zZW5kUmVxdWVzdCgpOwoKICAgICAgICBpZiAoJGN1cmxFcnJvckNvZGUgPSAkdGhpcy0+ZmFjZWJvb2tDdXJsLT5lcnJubygpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbigkdGhpcy0+ZmFjZWJvb2tDdXJsLT5lcnJvcigpLCAkY3VybEVycm9yQ29kZSk7CiAgICAgICAgfQoKICAgICAgICAvLyBTZXBhcmF0ZSB0aGUgcmF3IGhlYWRlcnMgZnJvbSB0aGUgcmF3IGJvZHkKICAgICAgICBsaXN0KCRyYXdIZWFkZXJzLCAkcmF3Qm9keSkgPSAkdGhpcy0+ZXh0cmFjdFJlc3BvbnNlSGVhZGVyc0FuZEJvZHkoKTsKCiAgICAgICAgJHRoaXMtPmNsb3NlQ29ubmVjdGlvbigpOwoKICAgICAgICByZXR1cm4gbmV3IEdyYXBoUmF3UmVzcG9uc2UoJHJhd0hlYWRlcnMsICRyYXdCb2R5KTsKICAgIH0KCiAgICAvKioKICAgICAqIE9wZW5zIGEgbmV3IGN1cmwgY29ubmVjdGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgICAgIFRoZSBlbmRwb2ludCB0byBzZW5kIHRoZSByZXF1ZXN0IHRvLgogICAgICogQHBhcmFtIHN0cmluZyAkbWV0aG9kICBUaGUgcmVxdWVzdCBtZXRob2QuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRib2R5ICAgIFRoZSBib2R5IG9mIHRoZSByZXF1ZXN0LgogICAgICogQHBhcmFtIGFycmF5ICAkaGVhZGVycyBUaGUgcmVxdWVzdCBoZWFkZXJzLgogICAgICogQHBhcmFtIGludCAgICAkdGltZU91dCBUaGUgdGltZW91dCBpbiBzZWNvbmRzIGZvciB0aGUgcmVxdWVzdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9wZW5Db25uZWN0aW9uKCR1cmwsICRtZXRob2QsICRib2R5LCBhcnJheSAkaGVhZGVycywgJHRpbWVPdXQpCiAgICB7CiAgICAgICAgJG9wdGlvbnMgPSBbCiAgICAgICAgICAgIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCA9PiAkbWV0aG9kLAogICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJHRoaXMtPmNvbXBpbGVSZXF1ZXN0SGVhZGVycygkaGVhZGVycyksCiAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICR1cmwsCiAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgPT4gMTAsCiAgICAgICAgICAgIENVUkxPUFRfVElNRU9VVCA9PiAkdGltZU91dCwKICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiB0cnVlLCAvLyBGb2xsb3cgMzAxIHJlZGlyZWN0cwogICAgICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiB0cnVlLCAvLyBFbmFibGUgaGVhZGVyIHByb2Nlc3NpbmcKICAgICAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCA9PiAyLAogICAgICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IHRydWUsCiAgICAgICAgICAgIENVUkxPUFRfQ0FJTkZPID0+IF9fRElSX18gLiAnL2NlcnRzL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLnBlbScsCiAgICAgICAgXTsKCiAgICAgICAgaWYgKCRtZXRob2QgIT09ICJHRVQiKSB7CiAgICAgICAgICAgICRvcHRpb25zW0NVUkxPUFRfUE9TVEZJRUxEU10gPSAkYm9keTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5mYWNlYm9va0N1cmwtPmluaXQoKTsKICAgICAgICAkdGhpcy0+ZmFjZWJvb2tDdXJsLT5zZXRvcHRBcnJheSgkb3B0aW9ucyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9zZXMgYW4gZXhpc3RpbmcgY3VybCBjb25uZWN0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbG9zZUNvbm5lY3Rpb24oKQogICAgewogICAgICAgICR0aGlzLT5mYWNlYm9va0N1cmwtPmNsb3NlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIHRoZSByZXF1ZXN0IGFuZCBnZXQgdGhlIHJhdyByZXNwb25zZSBmcm9tIGN1cmwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmRSZXF1ZXN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+cmF3UmVzcG9uc2UgPSAkdGhpcy0+ZmFjZWJvb2tDdXJsLT5leGVjKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb21waWxlcyB0aGUgcmVxdWVzdCBoZWFkZXJzIGludG8gYSBjdXJsLWZyaWVuZGx5IGZvcm1hdC4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGhlYWRlcnMgVGhlIHJlcXVlc3QgaGVhZGVycy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21waWxlUmVxdWVzdEhlYWRlcnMoYXJyYXkgJGhlYWRlcnMpCiAgICB7CiAgICAgICAgJHJldHVybiA9IFtdOwoKICAgICAgICBmb3JlYWNoICgkaGVhZGVycyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkcmV0dXJuW10gPSAka2V5IC4gJzogJyAuICR2YWx1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmV0dXJuOwogICAgfQoKICAgIC8qKgogICAgICogRXh0cmFjdHMgdGhlIGhlYWRlcnMgYW5kIHRoZSBib2R5IGludG8gYSB0d28tcGFydCBhcnJheQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGV4dHJhY3RSZXNwb25zZUhlYWRlcnNBbmRCb2R5KCkKICAgIHsKICAgICAgICAkcGFydHMgPSBleHBsb2RlKCJcclxuXHJcbiIsICR0aGlzLT5yYXdSZXNwb25zZSk7CiAgICAgICAgJHJhd0JvZHkgPSBhcnJheV9wb3AoJHBhcnRzKTsKICAgICAgICAkcmF3SGVhZGVycyA9IGltcGxvZGUoIlxyXG5cclxuIiwgJHBhcnRzKTsKCiAgICAgICAgcmV0dXJuIFt0cmltKCRyYXdIZWFkZXJzKSwgdHJpbSgkcmF3Qm9keSldOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookGuzzleHttpClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7Cgp1c2UgRmFjZWJvb2tcSHR0cFxHcmFwaFJhd1Jlc3BvbnNlOwp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCnVzZSBHdXp6bGVIdHRwXENsaWVudDsKdXNlIEd1enpsZUh0dHBcTWVzc2FnZVxSZXNwb25zZUludGVyZmFjZTsKdXNlIEd1enpsZUh0dHBcUmluZ1xFeGNlcHRpb25cUmluZ0V4Y2VwdGlvbjsKdXNlIEd1enpsZUh0dHBcRXhjZXB0aW9uXFJlcXVlc3RFeGNlcHRpb247CgpjbGFzcyBGYWNlYm9va0d1enpsZUh0dHBDbGllbnQgaW1wbGVtZW50cyBGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIFxHdXp6bGVIdHRwXENsaWVudCBUaGUgR3V6emxlIGNsaWVudC4KICAgICAqLwogICAgcHJvdGVjdGVkICRndXp6bGVDbGllbnQ7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gXEd1enpsZUh0dHBcQ2xpZW50fG51bGwgVGhlIEd1enpsZSBjbGllbnQuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChDbGllbnQgJGd1enpsZUNsaWVudCA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmd1enpsZUNsaWVudCA9ICRndXp6bGVDbGllbnQgPzogbmV3IENsaWVudCgpOwogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoJHVybCwgJG1ldGhvZCwgJGJvZHksIGFycmF5ICRoZWFkZXJzLCAkdGltZU91dCkKICAgIHsKICAgICAgICAkb3B0aW9ucyA9IFsKICAgICAgICAgICAgJ2hlYWRlcnMnID0+ICRoZWFkZXJzLAogICAgICAgICAgICAnYm9keScgPT4gJGJvZHksCiAgICAgICAgICAgICd0aW1lb3V0JyA9PiAkdGltZU91dCwKICAgICAgICAgICAgJ2Nvbm5lY3RfdGltZW91dCcgPT4gMTAsCiAgICAgICAgICAgICd2ZXJpZnknID0+IF9fRElSX18gLiAnL2NlcnRzL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLnBlbScsCiAgICAgICAgXTsKICAgICAgICAkcmVxdWVzdCA9ICR0aGlzLT5ndXp6bGVDbGllbnQtPmNyZWF0ZVJlcXVlc3QoJG1ldGhvZCwgJHVybCwgJG9wdGlvbnMpOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAkcmF3UmVzcG9uc2UgPSAkdGhpcy0+Z3V6emxlQ2xpZW50LT5zZW5kKCRyZXF1ZXN0KTsKICAgICAgICB9IGNhdGNoIChSZXF1ZXN0RXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICRyYXdSZXNwb25zZSA9ICRlLT5nZXRSZXNwb25zZSgpOwoKICAgICAgICAgICAgaWYgKCRlLT5nZXRQcmV2aW91cygpIGluc3RhbmNlb2YgUmluZ0V4Y2VwdGlvbiB8fCAhJHJhd1Jlc3BvbnNlIGluc3RhbmNlb2YgUmVzcG9uc2VJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbigkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHJhd0hlYWRlcnMgPSAkdGhpcy0+Z2V0SGVhZGVyc0FzU3RyaW5nKCRyYXdSZXNwb25zZSk7CiAgICAgICAgJHJhd0JvZHkgPSAkcmF3UmVzcG9uc2UtPmdldEJvZHkoKTsKICAgICAgICAkaHR0cFN0YXR1c0NvZGUgPSAkcmF3UmVzcG9uc2UtPmdldFN0YXR1c0NvZGUoKTsKCiAgICAgICAgcmV0dXJuIG5ldyBHcmFwaFJhd1Jlc3BvbnNlKCRyYXdIZWFkZXJzLCAkcmF3Qm9keSwgJGh0dHBTdGF0dXNDb2RlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIEd1enpsZSBhcnJheSBvZiBoZWFkZXJzIGFzIGEgc3RyaW5nLgogICAgICoKICAgICAqIEBwYXJhbSBSZXNwb25zZUludGVyZmFjZSAkcmVzcG9uc2UgVGhlIEd1enpsZSByZXNwb25zZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVyc0FzU3RyaW5nKFJlc3BvbnNlSW50ZXJmYWNlICRyZXNwb25zZSkKICAgIHsKICAgICAgICAkaGVhZGVycyA9ICRyZXNwb25zZS0+Z2V0SGVhZGVycygpOwogICAgICAgICRyYXdIZWFkZXJzID0gW107CiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJG5hbWUgPT4gJHZhbHVlcykgewogICAgICAgICAgICAkcmF3SGVhZGVyc1tdID0gJG5hbWUgLiAiOiAiIC4gaW1wbG9kZSgiLCAiLCAkdmFsdWVzKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBpbXBsb2RlKCJcclxuIiwgJHJhd0hlYWRlcnMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookHttpClientInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7CgovKioKICogSW50ZXJmYWNlIEZhY2Vib29rSHR0cENsaWVudEludGVyZmFjZQogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KaW50ZXJmYWNlIEZhY2Vib29rSHR0cENsaWVudEludGVyZmFjZQp7CiAgICAvKioKICAgICAqIFNlbmRzIGEgcmVxdWVzdCB0byB0aGUgc2VydmVyIGFuZCByZXR1cm5zIHRoZSByYXcgcmVzcG9uc2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsICAgICBUaGUgZW5kcG9pbnQgdG8gc2VuZCB0aGUgcmVxdWVzdCB0by4KICAgICAqIEBwYXJhbSBzdHJpbmcgJG1ldGhvZCAgVGhlIHJlcXVlc3QgbWV0aG9kLgogICAgICogQHBhcmFtIHN0cmluZyAkYm9keSAgICBUaGUgYm9keSBvZiB0aGUgcmVxdWVzdC4KICAgICAqIEBwYXJhbSBhcnJheSAgJGhlYWRlcnMgVGhlIHJlcXVlc3QgaGVhZGVycy4KICAgICAqIEBwYXJhbSBpbnQgICAgJHRpbWVPdXQgVGhlIHRpbWVvdXQgaW4gc2Vjb25kcyBmb3IgdGhlIHJlcXVlc3QuCiAgICAgKgogICAgICogQHJldHVybiBcRmFjZWJvb2tcSHR0cFxHcmFwaFJhd1Jlc3BvbnNlIFJhdyByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuCiAgICAgKgogICAgICogQHRocm93cyBcRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZCgkdXJsLCAkbWV0aG9kLCAkYm9keSwgYXJyYXkgJGhlYWRlcnMsICR0aW1lT3V0KTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookStream.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7CgovKioKICogQ2xhc3MgRmFjZWJvb2tTdHJlYW0KICoKICogQWJzdHJhY3Rpb24gZm9yIHRoZSBwcm9jZWR1cmFsIHN0cmVhbSBlbGVtZW50cyBzbyB0aGF0IHRoZSBmdW5jdGlvbnMgY2FuIGJlCiAqIG1vY2tlZCBhbmQgdGhlIGltcGxlbWVudGF0aW9uIGNhbiBiZSB0ZXN0ZWQuCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBGYWNlYm9va1N0cmVhbQp7CiAgICAvKioKICAgICAqIEB2YXIgcmVzb3VyY2UgQ29udGV4dCBzdHJlYW0gcmVzb3VyY2UgaW5zdGFuY2UKICAgICAqLwogICAgcHJvdGVjdGVkICRzdHJlYW07CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFJlc3BvbnNlIGhlYWRlcnMgZnJvbSB0aGUgc3RyZWFtIHdyYXBwZXIKICAgICAqLwogICAgcHJvdGVjdGVkICRyZXNwb25zZUhlYWRlcnMgPSBbXTsKCiAgICAvKioKICAgICAqIE1ha2UgYSBuZXcgY29udGV4dCBzdHJlYW0gcmVmZXJlbmNlIGluc3RhbmNlCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5ICRvcHRpb25zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzdHJlYW1Db250ZXh0Q3JlYXRlKGFycmF5ICRvcHRpb25zKQogICAgewogICAgICAgICR0aGlzLT5zdHJlYW0gPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJG9wdGlvbnMpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIHJlc3BvbnNlIGhlYWRlcnMgZnJvbSB0aGUgc3RyZWFtIHdyYXBwZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNwb25zZUhlYWRlcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzcG9uc2VIZWFkZXJzOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhIHN0cmVhbSB3cmFwcGVkIHJlcXVlc3QKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBmaWxlR2V0Q29udGVudHMoJHVybCkKICAgIHsKICAgICAgICAkcmF3UmVzcG9uc2UgPSBmaWxlX2dldF9jb250ZW50cygkdXJsLCBmYWxzZSwgJHRoaXMtPnN0cmVhbSk7CiAgICAgICAgJHRoaXMtPnJlc3BvbnNlSGVhZGVycyA9ICRodHRwX3Jlc3BvbnNlX2hlYWRlciA/OiBbXTsKCiAgICAgICAgcmV0dXJuICRyYXdSZXNwb25zZTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/FacebookStreamHttpClient.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7Cgp1c2UgRmFjZWJvb2tcSHR0cFxHcmFwaFJhd1Jlc3BvbnNlOwp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCmNsYXNzIEZhY2Vib29rU3RyZWFtSHR0cENsaWVudCBpbXBsZW1lbnRzIEZhY2Vib29rSHR0cENsaWVudEludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEB2YXIgRmFjZWJvb2tTdHJlYW0gUHJvY2VkdXJhbCBzdHJlYW0gd3JhcHBlciBhcyBvYmplY3QuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZmFjZWJvb2tTdHJlYW07CgogICAgLyoqCiAgICAgKiBAcGFyYW0gRmFjZWJvb2tTdHJlYW18bnVsbCBQcm9jZWR1cmFsIHN0cmVhbSB3cmFwcGVyIGFzIG9iamVjdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEZhY2Vib29rU3RyZWFtICRmYWNlYm9va1N0cmVhbSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPmZhY2Vib29rU3RyZWFtID0gJGZhY2Vib29rU3RyZWFtID86IG5ldyBGYWNlYm9va1N0cmVhbSgpOwogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoJHVybCwgJG1ldGhvZCwgJGJvZHksIGFycmF5ICRoZWFkZXJzLCAkdGltZU91dCkKICAgIHsKICAgICAgICAkb3B0aW9ucyA9IFsKICAgICAgICAgICAgJ2h0dHAnID0+IFsKICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICRtZXRob2QsCiAgICAgICAgICAgICAgICAnaGVhZGVyJyA9PiAkdGhpcy0+Y29tcGlsZUhlYWRlcigkaGVhZGVycyksCiAgICAgICAgICAgICAgICAnY29udGVudCcgPT4gJGJvZHksCiAgICAgICAgICAgICAgICAndGltZW91dCcgPT4gJHRpbWVPdXQsCiAgICAgICAgICAgICAgICAnaWdub3JlX2Vycm9ycycgPT4gdHJ1ZQogICAgICAgICAgICBdLAogICAgICAgICAgICAnc3NsJyA9PiBbCiAgICAgICAgICAgICAgICAndmVyaWZ5X3BlZXInID0+IHRydWUsCiAgICAgICAgICAgICAgICAndmVyaWZ5X3BlZXJfbmFtZScgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICdhbGxvd19zZWxmX3NpZ25lZCcgPT4gdHJ1ZSwgLy8gQWxsIHJvb3QgY2VydGlmaWNhdGVzIGFyZSBzZWxmLXNpZ25lZAogICAgICAgICAgICAgICAgJ2NhZmlsZScgPT4gX19ESVJfXyAuICcvY2VydHMvRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EucGVtJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwoKICAgICAgICAkdGhpcy0+ZmFjZWJvb2tTdHJlYW0tPnN0cmVhbUNvbnRleHRDcmVhdGUoJG9wdGlvbnMpOwogICAgICAgICRyYXdCb2R5ID0gJHRoaXMtPmZhY2Vib29rU3RyZWFtLT5maWxlR2V0Q29udGVudHMoJHVybCk7CiAgICAgICAgJHJhd0hlYWRlcnMgPSAkdGhpcy0+ZmFjZWJvb2tTdHJlYW0tPmdldFJlc3BvbnNlSGVhZGVycygpOwoKICAgICAgICBpZiAoJHJhd0JvZHkgPT09IGZhbHNlIHx8IGVtcHR5KCRyYXdIZWFkZXJzKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1N0cmVhbSByZXR1cm5lZCBhbiBlbXB0eSByZXNwb25zZScsIDY2MCk7CiAgICAgICAgfQoKICAgICAgICAkcmF3SGVhZGVycyA9IGltcGxvZGUoIlxyXG4iLCAkcmF3SGVhZGVycyk7CgogICAgICAgIHJldHVybiBuZXcgR3JhcGhSYXdSZXNwb25zZSgkcmF3SGVhZGVycywgJHJhd0JvZHkpOwogICAgfQoKICAgIC8qKgogICAgICogRm9ybWF0cyB0aGUgaGVhZGVycyBmb3IgdXNlIGluIHRoZSBzdHJlYW0gd3JhcHBlci4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJGhlYWRlcnMgVGhlIHJlcXVlc3QgaGVhZGVycy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGlsZUhlYWRlcihhcnJheSAkaGVhZGVycykKICAgIHsKICAgICAgICAkaGVhZGVyID0gW107CiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgJGhlYWRlcltdID0gJGsgLiAnOiAnIC4gJHY7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gaW1wbG9kZSgiXHJcbiIsICRoZWFkZXIpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/HttpClients/HttpClientsFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcSHR0cENsaWVudHM7Cgp1c2UgR3V6emxlSHR0cFxDbGllbnQ7CnVzZSBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBFeGNlcHRpb247CgpjbGFzcyBIdHRwQ2xpZW50c0ZhY3RvcnkKewogICAgcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICB7CiAgICAgICAgLy8gYSBmYWN0b3J5IGNvbnN0cnVjdG9yIHNob3VsZCBuZXZlciBiZSBpbnZva2VkCiAgICB9CgogICAgLyoqCiAgICAgKiBIVFRQIGNsaWVudCBnZW5lcmF0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2V8Q2xpZW50fHN0cmluZ3xudWxsICRoYW5kbGVyCiAgICAgKgogICAgICogQHRocm93cyBFeGNlcHRpb24gICAgICAgICAgICAgICAgSWYgdGhlIGNVUkwgZXh0ZW5zaW9uIG9yIHRoZSBHdXp6bGUgY2xpZW50IGFyZW4ndCBhdmFpbGFibGUgKGlmIHJlcXVpcmVkKS4KICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIElmIHRoZSBodHRwIGNsaWVudCBoYW5kbGVyIGlzbid0ICJjdXJsIiwgInN0cmVhbSIsICJndXp6bGUiLCBvciBhbiBpbnN0YW5jZSBvZiBGYWNlYm9va1xIdHRwQ2xpZW50c1xGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UuCiAgICAgKgogICAgICogQHJldHVybiBGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVIdHRwQ2xpZW50KCRoYW5kbGVyKQogICAgewogICAgICAgIGlmICghJGhhbmRsZXIpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OmRldGVjdERlZmF1bHRDbGllbnQoKTsKICAgICAgICB9CgogICAgICAgIGlmICgkaGFuZGxlciBpbnN0YW5jZW9mIEZhY2Vib29rSHR0cENsaWVudEludGVyZmFjZSkgewogICAgICAgICAgICByZXR1cm4gJGhhbmRsZXI7CiAgICAgICAgfQoKICAgICAgICBpZiAoJ3N0cmVhbScgPT09ICRoYW5kbGVyKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgRmFjZWJvb2tTdHJlYW1IdHRwQ2xpZW50KCk7CiAgICAgICAgfQogICAgICAgIGlmICgnY3VybCcgPT09ICRoYW5kbGVyKSB7CiAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgY1VSTCBleHRlbnNpb24gbXVzdCBiZSBsb2FkZWQgaW4gb3JkZXIgdG8gdXNlIHRoZSAiY3VybCIgaGFuZGxlci4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIG5ldyBGYWNlYm9va0N1cmxIdHRwQ2xpZW50KCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJ2d1enpsZScgPT09ICRoYW5kbGVyICYmICFjbGFzc19leGlzdHMoJ0d1enpsZUh0dHBcQ2xpZW50JykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVGhlIEd1enpsZSBIVFRQIGNsaWVudCBtdXN0IGJlIGluY2x1ZGVkIGluIG9yZGVyIHRvIHVzZSB0aGUgImd1enpsZSIgaGFuZGxlci4nKTsKICAgICAgICB9CgogICAgICAgIGlmICgkaGFuZGxlciBpbnN0YW5jZW9mIENsaWVudCkgewogICAgICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rR3V6emxlSHR0cENsaWVudCgkaGFuZGxlcik7CiAgICAgICAgfQogICAgICAgIGlmICgnZ3V6emxlJyA9PT0gJGhhbmRsZXIpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBGYWNlYm9va0d1enpsZUh0dHBDbGllbnQoKTsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBodHRwIGNsaWVudCBoYW5kbGVyIG11c3QgYmUgc2V0IHRvICJjdXJsIiwgInN0cmVhbSIsICJndXp6bGUiLCBiZSBhbiBpbnN0YW5jZSBvZiBHdXp6bGVIdHRwXENsaWVudCBvciBhbiBpbnN0YW5jZSBvZiBGYWNlYm9va1xIdHRwQ2xpZW50c1xGYWNlYm9va0h0dHBDbGllbnRJbnRlcmZhY2UnKTsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVjdCBkZWZhdWx0IEhUVFAgY2xpZW50LgogICAgICoKICAgICAqIEByZXR1cm4gRmFjZWJvb2tIdHRwQ2xpZW50SW50ZXJmYWNlCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGRldGVjdERlZmF1bHRDbGllbnQoKQogICAgewogICAgICAgIGlmIChleHRlbnNpb25fbG9hZGVkKCdjdXJsJykpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBGYWNlYm9va0N1cmxIdHRwQ2xpZW50KCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoY2xhc3NfZXhpc3RzKCdHdXp6bGVIdHRwXENsaWVudCcpKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgRmFjZWJvb2tHdXp6bGVIdHRwQ2xpZW50KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rU3RyZWFtSHR0cENsaWVudCgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PersistentData/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUGVyc2lzdGVudERhdGE7CgovKioKICogQ2xhc3MgRmFjZWJvb2tNZW1vcnlQZXJzaXN0ZW50RGF0YUhhbmRsZXIKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rTWVtb3J5UGVyc2lzdGVudERhdGFIYW5kbGVyIGltcGxlbWVudHMgUGVyc2lzdGVudERhdGFJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSBzZXNzaW9uIGRhdGEgdG8ga2VlcCBpbiBtZW1vcnkuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2Vzc2lvbkRhdGEgPSBbXTsKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXQoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPnNlc3Npb25EYXRhWyRrZXldKSA/ICR0aGlzLT5zZXNzaW9uRGF0YVska2V5XSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0KCRrZXksICR2YWx1ZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2Vzc2lvbkRhdGFbJGtleV0gPSAkdmFsdWU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUGVyc2lzdGVudERhdGE7Cgp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBGYWNlYm9va1Nlc3Npb25QZXJzaXN0ZW50RGF0YUhhbmRsZXIKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rU2Vzc2lvblBlcnNpc3RlbnREYXRhSGFuZGxlciBpbXBsZW1lbnRzIFBlcnNpc3RlbnREYXRhSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQHZhciBzdHJpbmcgUHJlZml4IHRvIHVzZSBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMuCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2Vzc2lvblByZWZpeCA9ICdGQlJMSF8nOwoKICAgIC8qKgogICAgICogSW5pdCB0aGUgc2Vzc2lvbiBoYW5kbGVyLgogICAgICoKICAgICAqIEBwYXJhbSBib29sZWFuICRlbmFibGVTZXNzaW9uQ2hlY2sKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZW5hYmxlU2Vzc2lvbkNoZWNrID0gdHJ1ZSkKICAgIHsKICAgICAgICBpZiAoJGVuYWJsZVNlc3Npb25DaGVjayAmJiBzZXNzaW9uX3N0YXR1cygpICE9PSBQSFBfU0VTU0lPTl9BQ1RJVkUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgJ1Nlc3Npb25zIGFyZSBub3QgYWN0aXZlLiBQbGVhc2UgbWFrZSBzdXJlIHNlc3Npb25fc3RhcnQoKSBpcyBhdCB0aGUgdG9wIG9mIHlvdXIgc2NyaXB0LicsCiAgICAgICAgICAgICAgICA3MjAKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCRfU0VTU0lPTlskdGhpcy0+c2Vzc2lvblByZWZpeCAuICRrZXldKSkgewogICAgICAgICAgICByZXR1cm4gJF9TRVNTSU9OWyR0aGlzLT5zZXNzaW9uUHJlZml4IC4gJGtleV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXQoJGtleSwgJHZhbHVlKQogICAgewogICAgICAgICRfU0VTU0lPTlskdGhpcy0+c2Vzc2lvblByZWZpeCAuICRrZXldID0gJHZhbHVlOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PersistentData/PersistentDataFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUGVyc2lzdGVudERhdGE7Cgp1c2UgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwoKY2xhc3MgUGVyc2lzdGVudERhdGFGYWN0b3J5CnsKICAgIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgIC8vIGEgZmFjdG9yeSBjb25zdHJ1Y3RvciBzaG91bGQgbmV2ZXIgYmUgaW52b2tlZAogICAgfQoKICAgIC8qKgogICAgICogUGVyc2lzdGVudERhdGEgZ2VuZXJhdGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0gUGVyc2lzdGVudERhdGFJbnRlcmZhY2V8c3RyaW5nfG51bGwgJGhhbmRsZXIKICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBJZiB0aGUgcGVyc2lzdGVudCBkYXRhIGhhbmRsZXIgaXNuJ3QgInNlc3Npb24iLCAibWVtb3J5Iiwgb3IgYW4gaW5zdGFuY2Ugb2YgRmFjZWJvb2tcUGVyc2lzdGVudERhdGFcUGVyc2lzdGVudERhdGFJbnRlcmZhY2UuCiAgICAgKgogICAgICogQHJldHVybiBQZXJzaXN0ZW50RGF0YUludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZVBlcnNpc3RlbnREYXRhSGFuZGxlcigkaGFuZGxlcikKICAgIHsKICAgICAgICBpZiAoISRoYW5kbGVyKSB7CiAgICAgICAgICAgIHJldHVybiBzZXNzaW9uX3N0YXR1cygpID09PSBQSFBfU0VTU0lPTl9BQ1RJVkUKICAgICAgICAgICAgICAgID8gbmV3IEZhY2Vib29rU2Vzc2lvblBlcnNpc3RlbnREYXRhSGFuZGxlcigpCiAgICAgICAgICAgICAgICA6IG5ldyBGYWNlYm9va01lbW9yeVBlcnNpc3RlbnREYXRhSGFuZGxlcigpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRoYW5kbGVyIGluc3RhbmNlb2YgUGVyc2lzdGVudERhdGFJbnRlcmZhY2UpIHsKICAgICAgICAgICAgcmV0dXJuICRoYW5kbGVyOwogICAgICAgIH0KCiAgICAgICAgaWYgKCdzZXNzaW9uJyA9PT0gJGhhbmRsZXIpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBGYWNlYm9va1Nlc3Npb25QZXJzaXN0ZW50RGF0YUhhbmRsZXIoKTsKICAgICAgICB9CiAgICAgICAgaWYgKCdtZW1vcnknID09PSAkaGFuZGxlcikgewogICAgICAgICAgICByZXR1cm4gbmV3IEZhY2Vib29rTWVtb3J5UGVyc2lzdGVudERhdGFIYW5kbGVyKCk7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgcGVyc2lzdGVudCBkYXRhIGhhbmRsZXIgbXVzdCBiZSBzZXQgdG8gInNlc3Npb24iLCAibWVtb3J5Iiwgb3IgYmUgYW4gaW5zdGFuY2Ugb2YgRmFjZWJvb2tcUGVyc2lzdGVudERhdGFcUGVyc2lzdGVudERhdGFJbnRlcmZhY2UnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PersistentData/PersistentDataInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUGVyc2lzdGVudERhdGE7CgovKioKICogSW50ZXJmYWNlIFBlcnNpc3RlbnREYXRhSW50ZXJmYWNlCiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwppbnRlcmZhY2UgUGVyc2lzdGVudERhdGFJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBHZXQgYSB2YWx1ZSBmcm9tIGEgcGVyc2lzdGVudCBkYXRhIHN0b3JlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleQogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgka2V5KTsKCiAgICAvKioKICAgICAqIFNldCBhIHZhbHVlIGluIHRoZSBwZXJzaXN0ZW50IGRhdGEgc3RvcmUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5CiAgICAgKiBAcGFyYW0gbWl4ZWQgICR2YWx1ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0KCRrZXksICR2YWx1ZSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/polyfills.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwoKLyoqCiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3NhcmNpc3pld3NraS9waHAtZnV0dXJlL2Jsb2IvbWFzdGVyL3NyYy9TZWN1cml0eS5waHAjTDM3LUw1MQogKi8KaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2hhc2hfZXF1YWxzJykpIHsKICAgIGZ1bmN0aW9uIGhhc2hfZXF1YWxzKCRrbm93blN0cmluZywgJHVzZXJTdHJpbmcpCiAgICB7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnbWJfc3RybGVuJykpIHsKICAgICAgICAgICAgJGtMZW4gPSBtYl9zdHJsZW4oJGtub3duU3RyaW5nLCAnOGJpdCcpOwogICAgICAgICAgICAkdUxlbiA9IG1iX3N0cmxlbigkdXNlclN0cmluZywgJzhiaXQnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAka0xlbiA9IHN0cmxlbigka25vd25TdHJpbmcpOwogICAgICAgICAgICAkdUxlbiA9IHN0cmxlbigkdXNlclN0cmluZyk7CiAgICAgICAgfQogICAgICAgIGlmICgka0xlbiAhPT0gJHVMZW4pIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gMDsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAka0xlbjsgJGkrKykgewogICAgICAgICAgICAkcmVzdWx0IHw9IChvcmQoJGtub3duU3RyaW5nWyRpXSkgXiBvcmQoJHVzZXJTdHJpbmdbJGldKSk7CiAgICAgICAgfQoKICAgICAgICAvLyBUaGV5IGFyZSBvbmx5IGlkZW50aWNhbCBzdHJpbmdzIGlmICRyZXN1bHQgaXMgZXhhY3RseSAwLi4uCiAgICAgICAgcmV0dXJuIDAgPT09ICRyZXN1bHQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgpjbGFzcyBNY3J5cHRQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IgaW1wbGVtZW50cyBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JJbnRlcmZhY2UKewogICAgdXNlIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvclRyYWl0OwoKICAgIC8qKgogICAgICogQGNvbnN0IHN0cmluZyBUaGUgZXJyb3IgbWVzc2FnZSB3aGVuIGdlbmVyYXRpbmcgdGhlIHN0cmluZyBmYWlscy4KICAgICAqLwogICAgY29uc3QgRVJST1JfTUVTU0FHRSA9ICdVbmFibGUgdG8gZ2VuZXJhdGUgYSBjcnlwdG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBzdHJpbmcgZnJvbSBtY3J5cHRfY3JlYXRlX2l2KCkuICc7CgogICAgLyoqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICB7CiAgICAgICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ21jcnlwdF9jcmVhdGVfaXYnKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oCiAgICAgICAgICAgICAgICBzdGF0aWM6OkVSUk9SX01FU1NBR0UgLgogICAgICAgICAgICAgICAgJ1RoZSBmdW5jdGlvbiBtY3J5cHRfY3JlYXRlX2l2KCkgZG9lcyBub3QgZXhpc3QuJwogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQc2V1ZG9SYW5kb21TdHJpbmcoJGxlbmd0aCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGVMZW5ndGgoJGxlbmd0aCk7CgogICAgICAgICRiaW5hcnlTdHJpbmcgPSBtY3J5cHRfY3JlYXRlX2l2KCRsZW5ndGgsIE1DUllQVF9ERVZfVVJBTkRPTSk7CgogICAgICAgIGlmICgkYmluYXJ5U3RyaW5nID09PSBmYWxzZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oCiAgICAgICAgICAgICAgICBzdGF0aWM6OkVSUk9SX01FU1NBR0UgLgogICAgICAgICAgICAgICAgJ21jcnlwdF9jcmVhdGVfaXYoKSByZXR1cm5lZCBhbiBlcnJvci4nCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPmJpblRvSGV4KCRiaW5hcnlTdHJpbmcsICRsZW5ndGgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgpjbGFzcyBPcGVuU3NsUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yIGltcGxlbWVudHMgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9ySW50ZXJmYWNlCnsKICAgIHVzZSBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JUcmFpdDsKCiAgICAvKioKICAgICAqIEBjb25zdCBzdHJpbmcgVGhlIGVycm9yIG1lc3NhZ2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBzdHJpbmcgZmFpbHMuCiAgICAgKi8KICAgIGNvbnN0IEVSUk9SX01FU1NBR0UgPSAnVW5hYmxlIHRvIGdlbmVyYXRlIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIHBzZXVkby1yYW5kb20gc3RyaW5nIGZyb20gb3BlbnNzbF9yYW5kb21fcHNldWRvX2J5dGVzKCkuJzsKCiAgICAvKioKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICBpZiAoIWZ1bmN0aW9uX2V4aXN0cygnb3BlbnNzbF9yYW5kb21fcHNldWRvX2J5dGVzJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKHN0YXRpYzo6RVJST1JfTUVTU0FHRSAuICdUaGUgZnVuY3Rpb24gb3BlbnNzbF9yYW5kb21fcHNldWRvX2J5dGVzKCkgZG9lcyBub3QgZXhpc3QuJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBzZXVkb1JhbmRvbVN0cmluZygkbGVuZ3RoKQogICAgewogICAgICAgICR0aGlzLT52YWxpZGF0ZUxlbmd0aCgkbGVuZ3RoKTsKCiAgICAgICAgJHdhc0NyeXB0b2dyYXBoaWNhbGx5U3Ryb25nID0gZmFsc2U7CiAgICAgICAgJGJpbmFyeVN0cmluZyA9IG9wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcygkbGVuZ3RoLCAkd2FzQ3J5cHRvZ3JhcGhpY2FsbHlTdHJvbmcpOwoKICAgICAgICBpZiAoJGJpbmFyeVN0cmluZyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKHN0YXRpYzo6RVJST1JfTUVTU0FHRSAuICdvcGVuc3NsX3JhbmRvbV9wc2V1ZG9fYnl0ZXMoKSByZXR1cm5lZCBhbiB1bmtub3duIGVycm9yLicpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR3YXNDcnlwdG9ncmFwaGljYWxseVN0cm9uZyAhPT0gdHJ1ZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oc3RhdGljOjpFUlJPUl9NRVNTQUdFIC4gJ29wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcygpIHJldHVybmVkIGEgcHNldWRvLXJhbmRvbSBzdHJpbmcgYnV0IGl0IHdhcyBub3QgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIGFuZCBjYW5ub3QgYmUgdXNlZC4nKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+YmluVG9IZXgoJGJpbmFyeVN0cmluZywgJGxlbmd0aCk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorFactory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CnVzZSBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CgpjbGFzcyBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JGYWN0b3J5CnsKICAgIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgIC8vIGEgZmFjdG9yeSBjb25zdHJ1Y3RvciBzaG91bGQgbmV2ZXIgYmUgaW52b2tlZAogICAgfQoKICAgIC8qKgogICAgICogUHNldWRvIHJhbmRvbSBzdHJpbmcgZ2VuZXJhdG9yIGNyZWF0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JJbnRlcmZhY2V8c3RyaW5nfG51bGwgJGdlbmVyYXRvcgogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIElmIHRoZSBwc2V1ZG8gcmFuZG9tIHN0cmluZyBnZW5lcmF0b3IgbXVzdCBiZSBzZXQgdG8gInJhbmRvbV9ieXRlcyIsICJtY3J5cHQiLCAib3BlbnNzbCIsIG9yICJ1cmFuZG9tIiwgb3IgYmUgYW4gaW5zdGFuY2Ugb2YgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nXFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZVBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcigkZ2VuZXJhdG9yKQogICAgewogICAgICAgIGlmICghJGdlbmVyYXRvcikgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6ZGV0ZWN0RGVmYXVsdFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcigpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRnZW5lcmF0b3IgaW5zdGFuY2VvZiBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JJbnRlcmZhY2UpIHsKICAgICAgICAgICAgcmV0dXJuICRnZW5lcmF0b3I7CiAgICAgICAgfQoKICAgICAgICBpZiAoJ3JhbmRvbV9ieXRlcycgPT09ICRnZW5lcmF0b3IpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBSYW5kb21CeXRlc1BzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcigpOwogICAgICAgIH0KICAgICAgICBpZiAoJ21jcnlwdCcgPT09ICRnZW5lcmF0b3IpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBNY3J5cHRQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IoKTsKICAgICAgICB9CiAgICAgICAgaWYgKCdvcGVuc3NsJyA9PT0gJGdlbmVyYXRvcikgewogICAgICAgICAgICByZXR1cm4gbmV3IE9wZW5Tc2xQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IoKTsKICAgICAgICB9CiAgICAgICAgaWYgKCd1cmFuZG9tJyA9PT0gJGdlbmVyYXRvcikgewogICAgICAgICAgICByZXR1cm4gbmV3IFVyYW5kb21Qc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IoKTsKICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1RoZSBwc2V1ZG8gcmFuZG9tIHN0cmluZyBnZW5lcmF0b3IgbXVzdCBiZSBzZXQgdG8gInJhbmRvbV9ieXRlcyIsICJtY3J5cHQiLCAib3BlbnNzbCIsIG9yICJ1cmFuZG9tIiwgb3IgYmUgYW4gaW5zdGFuY2Ugb2YgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nXFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZScpOwogICAgfQoKICAgIC8qKgogICAgICogRGV0ZWN0cyB3aGljaCBwc2V1ZG8tcmFuZG9tIHN0cmluZyBnZW5lcmF0b3IgdG8gdXNlLgogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24gSWYgdW5hYmxlIHRvIGRldGVjdCBhIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIHN0cmluZyBnZW5lcmF0b3IuCiAgICAgKgogICAgICogQHJldHVybiBQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3JJbnRlcmZhY2UKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gZGV0ZWN0RGVmYXVsdFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcigpCiAgICB7CiAgICAgICAgLy8gQ2hlY2sgZm9yIFBIUCA3J3MgQ1NQUk5HIGZpcnN0IHRvIGtlZXAgbWNyeXB0IGRlcHJlY2F0aW9uIG1lc3NhZ2VzIGZyb20gYXBwZWFyaW5nIGluIFBIUCA3LjEuCiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygncmFuZG9tX2J5dGVzJykpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBSYW5kb21CeXRlc1BzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcigpOwogICAgICAgIH0KCiAgICAgICAgLy8gU2luY2Ugb3BlbnNzbF9yYW5kb21fcHNldWRvX2J5dGVzKCkgY2FuIHNvbWV0aW1lcyByZXR1cm4gbm9uLWNyeXB0b2dyYXBoaWNhbGx5CiAgICAgICAgLy8gc2VjdXJlIHBzZXVkby1yYW5kb20gc3RyaW5ncyAoaW4gcmFyZSBjYXNlcyksIHdlIGNoZWNrIGZvciBtY3J5cHRfY3JlYXRlX2l2KCkgbmV4dC4KICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdtY3J5cHRfY3JlYXRlX2l2JykpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBNY3J5cHRQc2V1ZG9SYW5kb21TdHJpbmdHZW5lcmF0b3IoKTsKICAgICAgICB9CgogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ29wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcycpKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgT3BlblNzbFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvcigpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpbmlfZ2V0KCdvcGVuX2Jhc2VkaXInKSAmJiBpc19yZWFkYWJsZSgnL2Rldi91cmFuZG9tJykpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBVcmFuZG9tUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yKCk7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1VuYWJsZSB0byBkZXRlY3QgYSBjcnlwdG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBzdHJpbmcgZ2VuZXJhdG9yLicpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKLyoqCiAqIEludGVyZmFjZQogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KaW50ZXJmYWNlIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZQp7CiAgICAvKioKICAgICAqIEdldCBhIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIHN0cmluZyBvZiBhcmJpdHJhcnkgbGVuZ3RoLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL3NvY2twdXBwZXQub3JnL2Jsb2cvMjAxNC8wMi8yNS9zYWZlbHktZ2VuZXJhdGUtcmFuZG9tLW51bWJlcnMvCiAgICAgKgogICAgICogQHBhcmFtIGludCAkbGVuZ3RoIFRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyB0byByZXR1cm4uCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAdGhyb3dzIFxGYWNlYm9va1xFeGNlcHRpb25zXEZhY2Vib29rU0RLRXhjZXB0aW9ufFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBzZXVkb1JhbmRvbVN0cmluZygkbGVuZ3RoKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKdHJhaXQgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yVHJhaXQKewogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgdGhlIGxlbmd0aCBhcmd1bWVudCBvZiBhIHJhbmRvbSBzdHJpbmcuCiAgICAgKgogICAgICogQHBhcmFtIGludCAkbGVuZ3RoIFRoZSBsZW5ndGggdG8gdmFsaWRhdGUuCiAgICAgKgogICAgICogQHRocm93cyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZUxlbmd0aCgkbGVuZ3RoKQogICAgewogICAgICAgIGlmICghaXNfaW50KCRsZW5ndGgpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdnZXRQc2V1ZG9SYW5kb21TdHJpbmcoKSBleHBlY3RzIGFuIGludGVnZXIgZm9yIHRoZSBzdHJpbmcgbGVuZ3RoJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGxlbmd0aCA8IDEpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ2dldFBzZXVkb1JhbmRvbVN0cmluZygpIGV4cGVjdHMgYSBsZW5ndGggZ3JlYXRlciB0aGFuIDEnKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBiaW5hcnkgZGF0YSB0byBoZXhhZGVjaW1hbCBvZiBhcmJpdHJhcnkgbGVuZ3RoLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJpbmFyeURhdGEgVGhlIGJpbmFyeSBkYXRhIHRvIGNvbnZlcnQgdG8gaGV4LgogICAgICogQHBhcmFtIGludCAgICAkbGVuZ3RoICAgICBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgdG8gcmV0dXJuLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBiaW5Ub0hleCgkYmluYXJ5RGF0YSwgJGxlbmd0aCkKICAgIHsKICAgICAgICByZXR1cm4gXHN1YnN0cihcYmluMmhleCgkYmluYXJ5RGF0YSksIDAsICRsZW5ndGgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/RandomBytesPseudoRandomStringGenerator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgpjbGFzcyBSYW5kb21CeXRlc1BzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvciBpbXBsZW1lbnRzIFBzZXVkb1JhbmRvbVN0cmluZ0dlbmVyYXRvckludGVyZmFjZQp7CiAgICB1c2UgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yVHJhaXQ7CgogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIFRoZSBlcnJvciBtZXNzYWdlIHdoZW4gZ2VuZXJhdGluZyB0aGUgc3RyaW5nIGZhaWxzLgogICAgICovCiAgICBjb25zdCBFUlJPUl9NRVNTQUdFID0gJ1VuYWJsZSB0byBnZW5lcmF0ZSBhIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIHN0cmluZyBmcm9tIHJhbmRvbV9ieXRlcygpLiAnOwoKICAgIC8qKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogICAgewogICAgICAgIGlmICghZnVuY3Rpb25fZXhpc3RzKCdyYW5kb21fYnl0ZXMnKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oCiAgICAgICAgICAgICAgICBzdGF0aWM6OkVSUk9SX01FU1NBR0UgLgogICAgICAgICAgICAgICAgJ1RoZSBmdW5jdGlvbiByYW5kb21fYnl0ZXMoKSBkb2VzIG5vdCBleGlzdC4nCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBzZXVkb1JhbmRvbVN0cmluZygkbGVuZ3RoKQogICAgewogICAgICAgICR0aGlzLT52YWxpZGF0ZUxlbmd0aCgkbGVuZ3RoKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5iaW5Ub0hleChyYW5kb21fYnl0ZXMoJGxlbmd0aCksICRsZW5ndGgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcUHNldWRvUmFuZG9tU3RyaW5nOwoKdXNlIEZhY2Vib29rXEV4Y2VwdGlvbnNcRmFjZWJvb2tTREtFeGNlcHRpb247CgpjbGFzcyBVcmFuZG9tUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yIGltcGxlbWVudHMgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9ySW50ZXJmYWNlCnsKCiAgICB1c2UgUHNldWRvUmFuZG9tU3RyaW5nR2VuZXJhdG9yVHJhaXQ7CgogICAgLyoqCiAgICAgKiBAY29uc3Qgc3RyaW5nIFRoZSBlcnJvciBtZXNzYWdlIHdoZW4gZ2VuZXJhdGluZyB0aGUgc3RyaW5nIGZhaWxzLgogICAgICovCiAgICBjb25zdCBFUlJPUl9NRVNTQUdFID0gJ1VuYWJsZSB0byBnZW5lcmF0ZSBhIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIHN0cmluZyBmcm9tIC9kZXYvdXJhbmRvbS4gJzsKCiAgICAvKioKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICBpZiAoaW5pX2dldCgnb3Blbl9iYXNlZGlyJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgc3RhdGljOjpFUlJPUl9NRVNTQUdFIC4KICAgICAgICAgICAgICAgICdUaGVyZSBpcyBhbiBvcGVuX2Jhc2VkaXIgY29uc3RyYWludCB0aGF0IHByZXZlbnRzIGFjY2VzcyB0byAvZGV2L3VyYW5kb20uJwogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc19yZWFkYWJsZSgnL2Rldi91cmFuZG9tJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgc3RhdGljOjpFUlJPUl9NRVNTQUdFIC4KICAgICAgICAgICAgICAgICdVbmFibGUgdG8gcmVhZCBmcm9tIC9kZXYvdXJhbmRvbS4nCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBzZXVkb1JhbmRvbVN0cmluZygkbGVuZ3RoKQogICAgewogICAgICAgICR0aGlzLT52YWxpZGF0ZUxlbmd0aCgkbGVuZ3RoKTsKCiAgICAgICAgJHN0cmVhbSA9IGZvcGVuKCcvZGV2L3VyYW5kb20nLCAncmInKTsKICAgICAgICBpZiAoIWlzX3Jlc291cmNlKCRzdHJlYW0pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbigKICAgICAgICAgICAgICAgIHN0YXRpYzo6RVJST1JfTUVTU0FHRSAuCiAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIG9wZW4gc3RyZWFtIHRvIC9kZXYvdXJhbmRvbS4nCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWRlZmluZWQoJ0hIVk1fVkVSU0lPTicpKSB7CiAgICAgICAgICAgIHN0cmVhbV9zZXRfcmVhZF9idWZmZXIoJHN0cmVhbSwgMCk7CiAgICAgICAgfQoKICAgICAgICAkYmluYXJ5U3RyaW5nID0gZnJlYWQoJHN0cmVhbSwgJGxlbmd0aCk7CiAgICAgICAgZmNsb3NlKCRzdHJlYW0pOwoKICAgICAgICBpZiAoISRiaW5hcnlTdHJpbmcpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgc3RhdGljOjpFUlJPUl9NRVNTQUdFIC4KICAgICAgICAgICAgICAgICdTdHJlYW0gdG8gL2Rldi91cmFuZG9tIHJldHVybmVkIG5vIGRhdGEuJwogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5iaW5Ub0hleCgkYmluYXJ5U3RyaW5nLCAkbGVuZ3RoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/SignedRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2s7Cgp1c2UgRmFjZWJvb2tcRXhjZXB0aW9uc1xGYWNlYm9va1NES0V4Y2VwdGlvbjsKCi8qKgogKiBDbGFzcyBTaWduZWRSZXF1ZXN0CiAqCiAqIEBwYWNrYWdlIEZhY2Vib29rCiAqLwpjbGFzcyBTaWduZWRSZXF1ZXN0CnsKICAgIC8qKgogICAgICogQHZhciBGYWNlYm9va0FwcCBUaGUgRmFjZWJvb2tBcHAgZW50aXR5LgogICAgICovCiAgICBwcm90ZWN0ZWQgJGFwcDsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nIFRoZSByYXcgZW5jcnlwdGVkIHNpZ25lZCByZXF1ZXN0LgogICAgICovCiAgICBwcm90ZWN0ZWQgJHJhd1NpZ25lZFJlcXVlc3Q7CgogICAgLyoqCiAgICAgKiBAdmFyIGFycmF5IFRoZSBwYXlsb2FkIGZyb20gdGhlIGRlY3J5cHRlZCBzaWduZWQgcmVxdWVzdC4KICAgICAqLwogICAgcHJvdGVjdGVkICRwYXlsb2FkOwoKICAgIC8qKgogICAgICogSW5zdGFudGlhdGUgYSBuZXcgU2lnbmVkUmVxdWVzdCBlbnRpdHkuCiAgICAgKgogICAgICogQHBhcmFtIEZhY2Vib29rQXBwICRmYWNlYm9va0FwcCAgICAgIFRoZSBGYWNlYm9va0FwcCBlbnRpdHkuCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHJhd1NpZ25lZFJlcXVlc3QgVGhlIHJhdyBzaWduZWQgcmVxdWVzdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KEZhY2Vib29rQXBwICRmYWNlYm9va0FwcCwgJHJhd1NpZ25lZFJlcXVlc3QgPSBudWxsKQogICAgewogICAgICAgICR0aGlzLT5hcHAgPSAkZmFjZWJvb2tBcHA7CgogICAgICAgIGlmICghJHJhd1NpZ25lZFJlcXVlc3QpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnJhd1NpZ25lZFJlcXVlc3QgPSAkcmF3U2lnbmVkUmVxdWVzdDsKCiAgICAgICAgJHRoaXMtPnBhcnNlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSByYXcgc2lnbmVkIHJlcXVlc3QgZGF0YS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSYXdTaWduZWRSZXF1ZXN0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJhd1NpZ25lZFJlcXVlc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBwYXJzZWQgc2lnbmVkIHJlcXVlc3QgZGF0YS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFBheWxvYWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cGF5bG9hZDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBwcm9wZXJ0eSBmcm9tIHRoZSBzaWduZWQgcmVxdWVzdCBkYXRhIGlmIGF2YWlsYWJsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICAgICAka2V5CiAgICAgKiBAcGFyYW0gbWl4ZWR8bnVsbCAkZGVmYXVsdAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCRrZXksICRkZWZhdWx0ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPnBheWxvYWRbJGtleV0pKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cGF5bG9hZFska2V5XTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGVmYXVsdDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdXNlcl9pZCBmcm9tIHNpZ25lZCByZXF1ZXN0IGRhdGEgaWYgYXZhaWxhYmxlLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFVzZXJJZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXQoJ3VzZXJfaWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrcyBmb3IgT0F1dGggZGF0YSBpbiB0aGUgcGF5bG9hZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc09BdXRoRGF0YSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXQoJ29hdXRoX3Rva2VuJykgfHwgJHRoaXMtPmdldCgnY29kZScpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIHNpZ25lZCByZXF1ZXN0IGZyb20gYW4gYXJyYXkgb2YgZGF0YS4KICAgICAqCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBheWxvYWQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFrZShhcnJheSAkcGF5bG9hZCkKICAgIHsKICAgICAgICAkcGF5bG9hZFsnYWxnb3JpdGhtJ10gPSBpc3NldCgkcGF5bG9hZFsnYWxnb3JpdGhtJ10pID8gJHBheWxvYWRbJ2FsZ29yaXRobSddIDogJ0hNQUMtU0hBMjU2JzsKICAgICAgICAkcGF5bG9hZFsnaXNzdWVkX2F0J10gPSBpc3NldCgkcGF5bG9hZFsnaXNzdWVkX2F0J10pID8gJHBheWxvYWRbJ2lzc3VlZF9hdCddIDogdGltZSgpOwogICAgICAgICRlbmNvZGVkUGF5bG9hZCA9ICR0aGlzLT5iYXNlNjRVcmxFbmNvZGUoanNvbl9lbmNvZGUoJHBheWxvYWQpKTsKCiAgICAgICAgJGhhc2hlZFNpZyA9ICR0aGlzLT5oYXNoU2lnbmF0dXJlKCRlbmNvZGVkUGF5bG9hZCk7CiAgICAgICAgJGVuY29kZWRTaWcgPSAkdGhpcy0+YmFzZTY0VXJsRW5jb2RlKCRoYXNoZWRTaWcpOwoKICAgICAgICByZXR1cm4gJGVuY29kZWRTaWcgLiAnLicgLiAkZW5jb2RlZFBheWxvYWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgYW5kIGRlY29kZXMgYSBzaWduZWQgcmVxdWVzdCBhbmQgc2F2ZXMKICAgICAqIHRoZSBwYXlsb2FkIHRvIGFuIGFycmF5LgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2UoKQogICAgewogICAgICAgIGxpc3QoJGVuY29kZWRTaWcsICRlbmNvZGVkUGF5bG9hZCkgPSAkdGhpcy0+c3BsaXQoKTsKCiAgICAgICAgLy8gU2lnbmF0dXJlIHZhbGlkYXRpb24KICAgICAgICAkc2lnID0gJHRoaXMtPmRlY29kZVNpZ25hdHVyZSgkZW5jb2RlZFNpZyk7CiAgICAgICAgJGhhc2hlZFNpZyA9ICR0aGlzLT5oYXNoU2lnbmF0dXJlKCRlbmNvZGVkUGF5bG9hZCk7CiAgICAgICAgJHRoaXMtPnZhbGlkYXRlU2lnbmF0dXJlKCRoYXNoZWRTaWcsICRzaWcpOwoKICAgICAgICAkdGhpcy0+cGF5bG9hZCA9ICR0aGlzLT5kZWNvZGVQYXlsb2FkKCRlbmNvZGVkUGF5bG9hZCk7CgogICAgICAgIC8vIFBheWxvYWQgdmFsaWRhdGlvbgogICAgICAgICR0aGlzLT52YWxpZGF0ZUFsZ29yaXRobSgpOwogICAgfQoKICAgIC8qKgogICAgICogU3BsaXRzIGEgcmF3IHNpZ25lZCByZXF1ZXN0IGludG8gc2lnbmF0dXJlIGFuZCBwYXlsb2FkLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzcGxpdCgpCiAgICB7CiAgICAgICAgaWYgKHN0cnBvcygkdGhpcy0+cmF3U2lnbmVkUmVxdWVzdCwgJy4nKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdNYWxmb3JtZWQgc2lnbmVkIHJlcXVlc3QuJywgNjA2KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBleHBsb2RlKCcuJywgJHRoaXMtPnJhd1NpZ25lZFJlcXVlc3QsIDIpOwogICAgfQoKICAgIC8qKgogICAgICogRGVjb2RlcyB0aGUgcmF3IHNpZ25hdHVyZSBmcm9tIGEgc2lnbmVkIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZW5jb2RlZFNpZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZGVjb2RlU2lnbmF0dXJlKCRlbmNvZGVkU2lnKQogICAgewogICAgICAgICRzaWcgPSAkdGhpcy0+YmFzZTY0VXJsRGVjb2RlKCRlbmNvZGVkU2lnKTsKCiAgICAgICAgaWYgKCEkc2lnKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBGYWNlYm9va1NES0V4Y2VwdGlvbignU2lnbmVkIHJlcXVlc3QgaGFzIG1hbGZvcm1lZCBlbmNvZGVkIHNpZ25hdHVyZSBkYXRhLicsIDYwNyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHNpZzsKICAgIH0KCiAgICAvKioKICAgICAqIERlY29kZXMgdGhlIHJhdyBwYXlsb2FkIGZyb20gYSBzaWduZWQgcmVxdWVzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmNvZGVkUGF5bG9hZAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkZWNvZGVQYXlsb2FkKCRlbmNvZGVkUGF5bG9hZCkKICAgIHsKICAgICAgICAkcGF5bG9hZCA9ICR0aGlzLT5iYXNlNjRVcmxEZWNvZGUoJGVuY29kZWRQYXlsb2FkKTsKCiAgICAgICAgaWYgKCRwYXlsb2FkKSB7CiAgICAgICAgICAgICRwYXlsb2FkID0ganNvbl9kZWNvZGUoJHBheWxvYWQsIHRydWUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc19hcnJheSgkcGF5bG9hZCkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdTaWduZWQgcmVxdWVzdCBoYXMgbWFsZm9ybWVkIGVuY29kZWQgcGF5bG9hZCBkYXRhLicsIDYwNyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHBheWxvYWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgdGhlIGFsZ29yaXRobSB1c2VkIGluIGEgc2lnbmVkIHJlcXVlc3QuCiAgICAgKgogICAgICogQHRocm93cyBGYWNlYm9va1NES0V4Y2VwdGlvbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdmFsaWRhdGVBbGdvcml0aG0oKQogICAgewogICAgICAgIGlmICgkdGhpcy0+Z2V0KCdhbGdvcml0aG0nKSAhPT0gJ0hNQUMtU0hBMjU2JykgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1NpZ25lZCByZXF1ZXN0IGlzIHVzaW5nIHRoZSB3cm9uZyBhbGdvcml0aG0uJywgNjA1KTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBIYXNoZXMgdGhlIHNpZ25hdHVyZSB1c2VkIGluIGEgc2lnbmVkIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZW5jb2RlZERhdGEKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhc2hTaWduYXR1cmUoJGVuY29kZWREYXRhKQogICAgewogICAgICAgICRoYXNoZWRTaWcgPSBoYXNoX2htYWMoCiAgICAgICAgICAgICdzaGEyNTYnLAogICAgICAgICAgICAkZW5jb2RlZERhdGEsCiAgICAgICAgICAgICR0aGlzLT5hcHAtPmdldFNlY3JldCgpLAogICAgICAgICAgICAkcmF3X291dHB1dCA9IHRydWUKICAgICAgICApOwoKICAgICAgICBpZiAoISRoYXNoZWRTaWcpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdVbmFibGUgdG8gaGFzaCBzaWduYXR1cmUgZnJvbSBlbmNvZGVkIHBheWxvYWQgZGF0YS4nLCA2MDIpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRoYXNoZWRTaWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgdGhlIHNpZ25hdHVyZSB1c2VkIGluIGEgc2lnbmVkIHJlcXVlc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaGFzaGVkU2lnCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzaWcKICAgICAqCiAgICAgKiBAdGhyb3dzIEZhY2Vib29rU0RLRXhjZXB0aW9uCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2YWxpZGF0ZVNpZ25hdHVyZSgkaGFzaGVkU2lnLCAkc2lnKQogICAgewogICAgICAgIGlmIChcaGFzaF9lcXVhbHMoJGhhc2hlZFNpZywgJHNpZykpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdGhyb3cgbmV3IEZhY2Vib29rU0RLRXhjZXB0aW9uKCdTaWduZWQgcmVxdWVzdCBoYXMgYW4gaW52YWxpZCBzaWduYXR1cmUuJywgNjAyKTsKICAgIH0KCiAgICAvKioKICAgICAqIEJhc2U2NCBkZWNvZGluZyB3aGljaCByZXBsYWNlcyBjaGFyYWN0ZXJzOgogICAgICogICArIGluc3RlYWQgb2YgLQogICAgICogICAvIGluc3RlYWQgb2YgXwogICAgICoKICAgICAqIEBsaW5rIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmFzZTY0I1VSTF9hcHBsaWNhdGlvbnMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpbnB1dCBiYXNlNjQgdXJsIGVuY29kZWQgaW5wdXQKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBkZWNvZGVkIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYmFzZTY0VXJsRGVjb2RlKCRpbnB1dCkKICAgIHsKICAgICAgICAkdXJsRGVjb2RlZEJhc2U2NCA9IHN0cnRyKCRpbnB1dCwgJy1fJywgJysvJyk7CiAgICAgICAgJHRoaXMtPnZhbGlkYXRlQmFzZTY0KCR1cmxEZWNvZGVkQmFzZTY0KTsKCiAgICAgICAgcmV0dXJuIGJhc2U2NF9kZWNvZGUoJHVybERlY29kZWRCYXNlNjQpOwogICAgfQoKICAgIC8qKgogICAgICogQmFzZTY0IGVuY29kaW5nIHdoaWNoIHJlcGxhY2VzIGNoYXJhY3RlcnM6CiAgICAgKiAgICsgaW5zdGVhZCBvZiAtCiAgICAgKiAgIC8gaW5zdGVhZCBvZiBfCiAgICAgKgogICAgICogQGxpbmsgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYXNlNjQjVVJMX2FwcGxpY2F0aW9ucwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlucHV0IHN0cmluZyB0byBlbmNvZGUKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBiYXNlNjQgdXJsIGVuY29kZWQgaW5wdXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJhc2U2NFVybEVuY29kZSgkaW5wdXQpCiAgICB7CiAgICAgICAgcmV0dXJuIHN0cnRyKGJhc2U2NF9lbmNvZGUoJGlucHV0KSwgJysvJywgJy1fJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBWYWxpZGF0ZXMgYSBiYXNlNjQgc3RyaW5nLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGlucHV0IGJhc2U2NCB2YWx1ZSB0byB2YWxpZGF0ZQogICAgICoKICAgICAqIEB0aHJvd3MgRmFjZWJvb2tTREtFeGNlcHRpb24KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZhbGlkYXRlQmFzZTY0KCRpbnB1dCkKICAgIHsKICAgICAgICBpZiAoIXByZWdfbWF0Y2goJy9eW2EtekEtWjAtOVwvXHJcbitdKj17MCwyfSQvJywgJGlucHV0KSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRmFjZWJvb2tTREtFeGNlcHRpb24oJ1NpZ25lZCByZXF1ZXN0IGNvbnRhaW5zIG1hbGZvcm1lZCBiYXNlNjQgZW5jb2RpbmcuJywgNjA4KTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Url/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Url/FacebookUrlDetectionHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcVXJsOwoKLyoqCiAqIENsYXNzIEZhY2Vib29rVXJsRGV0ZWN0aW9uSGFuZGxlcgogKgogKiBAcGFja2FnZSBGYWNlYm9vawogKi8KY2xhc3MgRmFjZWJvb2tVcmxEZXRlY3Rpb25IYW5kbGVyIGltcGxlbWVudHMgVXJsRGV0ZWN0aW9uSW50ZXJmYWNlCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRVcmwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0SHR0cFNjaGVtZSgpIC4gJzovLycgLiAkdGhpcy0+Z2V0SG9zdE5hbWUoKSAuICR0aGlzLT5nZXRTZXJ2ZXJWYXIoJ1JFUVVFU1RfVVJJJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGN1cnJlbnRseSBhY3RpdmUgVVJMIHNjaGVtZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0SHR0cFNjaGVtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pc0JlaGluZFNzbCgpID8gJ2h0dHBzJyA6ICdodHRwJzsKICAgIH0KCiAgICAvKioKICAgICAqIFRyaWVzIHRvIGRldGVjdCBpZiB0aGUgc2VydmVyIGlzIHJ1bm5pbmcgYmVoaW5kIGFuIFNTTC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzQmVoaW5kU3NsKCkKICAgIHsKICAgICAgICAvLyBDaGVjayBmb3IgcHJveHkgZmlyc3QKICAgICAgICAkcHJvdG9jb2wgPSAkdGhpcy0+Z2V0SGVhZGVyKCdYX0ZPUldBUkRFRF9QUk9UTycpOwogICAgICAgIGlmICgkcHJvdG9jb2wpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5wcm90b2NvbFdpdGhBY3RpdmVTc2woJHByb3RvY29sKTsKICAgICAgICB9CgogICAgICAgICRwcm90b2NvbCA9ICR0aGlzLT5nZXRTZXJ2ZXJWYXIoJ0hUVFBTJyk7CiAgICAgICAgaWYgKCRwcm90b2NvbCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnByb3RvY29sV2l0aEFjdGl2ZVNzbCgkcHJvdG9jb2wpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIChzdHJpbmcpJHRoaXMtPmdldFNlcnZlclZhcignU0VSVkVSX1BPUlQnKSA9PT0gJzQ0Myc7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXRlY3RzIGFuIGFjdGl2ZSBTU0wgcHJvdG9jb2wgdmFsdWUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcHJvdG9jb2wKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb3RvY29sV2l0aEFjdGl2ZVNzbCgkcHJvdG9jb2wpCiAgICB7CiAgICAgICAgJHByb3RvY29sID0gc3RydG9sb3dlcigoc3RyaW5nKSRwcm90b2NvbCk7CgogICAgICAgIHJldHVybiBpbl9hcnJheSgkcHJvdG9jb2wsIFsnb24nLCAnMScsICdodHRwcycsICdzc2wnXSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmllcyB0byBkZXRlY3QgdGhlIGhvc3QgbmFtZSBvZiB0aGUgc2VydmVyLgogICAgICoKICAgICAqIFNvbWUgZWxlbWVudHMgYWRhcHRlZCBmcm9tCiAgICAgKgogICAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vc3ltZm9ueS9IdHRwRm91bmRhdGlvbi9ibG9iL21hc3Rlci9SZXF1ZXN0LnBocAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRIb3N0TmFtZSgpCiAgICB7CiAgICAgICAgLy8gQ2hlY2sgZm9yIHByb3h5IGZpcnN0CiAgICAgICAgJGhlYWRlciA9ICR0aGlzLT5nZXRIZWFkZXIoJ1hfRk9SV0FSREVEX0hPU1QnKTsKICAgICAgICBpZiAoJGhlYWRlciAmJiAkdGhpcy0+aXNWYWxpZEZvcndhcmRlZEhvc3QoJGhlYWRlcikpIHsKICAgICAgICAgICAgJGVsZW1lbnRzID0gZXhwbG9kZSgnLCcsICRoZWFkZXIpOwogICAgICAgICAgICAkaG9zdCA9ICRlbGVtZW50c1tjb3VudCgkZWxlbWVudHMpIC0gMV07CiAgICAgICAgfSBlbHNlaWYgKCEkaG9zdCA9ICR0aGlzLT5nZXRIZWFkZXIoJ0hPU1QnKSkgewogICAgICAgICAgICBpZiAoISRob3N0ID0gJHRoaXMtPmdldFNlcnZlclZhcignU0VSVkVSX05BTUUnKSkgewogICAgICAgICAgICAgICAgJGhvc3QgPSAkdGhpcy0+Z2V0U2VydmVyVmFyKCdTRVJWRVJfQUREUicpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyB0cmltIGFuZCByZW1vdmUgcG9ydCBudW1iZXIgZnJvbSBob3N0CiAgICAgICAgLy8gaG9zdCBpcyBsb3dlcmNhc2UgYXMgcGVyIFJGQyA5NTIvMjE4MQogICAgICAgICRob3N0ID0gc3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJy86XGQrJC8nLCAnJywgdHJpbSgkaG9zdCkpKTsKCiAgICAgICAgLy8gUG9ydCBudW1iZXIKICAgICAgICAkc2NoZW1lID0gJHRoaXMtPmdldEh0dHBTY2hlbWUoKTsKICAgICAgICAkcG9ydCA9ICR0aGlzLT5nZXRDdXJyZW50UG9ydCgpOwogICAgICAgICRhcHBlbmRQb3J0ID0gJzonIC4gJHBvcnQ7CgogICAgICAgIC8vIERvbid0IGFwcGVuZCBwb3J0IG51bWJlciBpZiBhIG5vcm1hbCBwb3J0LgogICAgICAgIGlmICgoJHNjaGVtZSA9PSAnaHR0cCcgJiYgJHBvcnQgPT0gJzgwJykgfHwgKCRzY2hlbWUgPT0gJ2h0dHBzJyAmJiAkcG9ydCA9PSAnNDQzJykpIHsKICAgICAgICAgICAgJGFwcGVuZFBvcnQgPSAnJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkaG9zdCAuICRhcHBlbmRQb3J0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDdXJyZW50UG9ydCgpCiAgICB7CiAgICAgICAgLy8gQ2hlY2sgZm9yIHByb3h5IGZpcnN0CiAgICAgICAgJHBvcnQgPSAkdGhpcy0+Z2V0SGVhZGVyKCdYX0ZPUldBUkRFRF9QT1JUJyk7CiAgICAgICAgaWYgKCRwb3J0KSB7CiAgICAgICAgICAgIHJldHVybiAoc3RyaW5nKSRwb3J0OwogICAgICAgIH0KCiAgICAgICAgJHByb3RvY29sID0gKHN0cmluZykkdGhpcy0+Z2V0SGVhZGVyKCdYX0ZPUldBUkRFRF9QUk9UTycpOwogICAgICAgIGlmICgkcHJvdG9jb2wgPT09ICdodHRwcycpIHsKICAgICAgICAgICAgcmV0dXJuICc0NDMnOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIChzdHJpbmcpJHRoaXMtPmdldFNlcnZlclZhcignU0VSVkVSX1BPUlQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGEgdmFsdWUgZnJvbSB0aGUgJF9TRVJWRVIgc3VwZXIgZ2xvYmFsLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRTZXJ2ZXJWYXIoJGtleSkKICAgIHsKICAgICAgICByZXR1cm4gaXNzZXQoJF9TRVJWRVJbJGtleV0pID8gJF9TRVJWRVJbJGtleV0gOiAnJzsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgYSB2YWx1ZSBmcm9tIHRoZSBIVFRQIHJlcXVlc3QgaGVhZGVycy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0SGVhZGVyKCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRTZXJ2ZXJWYXIoJ0hUVFBfJyAuICRrZXkpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpbiBYX0ZPUldBUkRFRF9IT1NUIGlzIGEgdmFsaWQgaG9zdG5hbWUKICAgICAqIENvdWxkIHByZXZlbnQgdW5pbnRlbmRlZCByZWRpcmVjdGlvbnMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoZWFkZXIKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzVmFsaWRGb3J3YXJkZWRIb3N0KCRoZWFkZXIpCiAgICB7CiAgICAgICAgJGVsZW1lbnRzID0gZXhwbG9kZSgnLCcsICRoZWFkZXIpOwogICAgICAgICRob3N0ID0gJGVsZW1lbnRzW2NvdW50KCRlbGVtZW50cykgLSAxXTsKICAgICAgICAKICAgICAgICByZXR1cm4gcHJlZ19tYXRjaCgiL14oW2EtelxkXSgtKlthLXpcZF0pKikoXC4oW2EtelxkXSgtKlthLXpcZF0pKikpKiQvaSIsICRob3N0KSAvL3ZhbGlkIGNoYXJzIGNoZWNrCiAgICAgICAgICAgICYmIDAgPCBzdHJsZW4oJGhvc3QpICYmIHN0cmxlbigkaG9zdCkgPCAyNTQgLy9vdmVyYWxsIGxlbmd0aCBjaGVjawogICAgICAgICAgICAmJiBwcmVnX21hdGNoKCIvXlteXC5dezEsNjN9KFwuW15cLl17MSw2M30pKiQvIiwgJGhvc3QpOyAvL2xlbmd0aCBvZiBlYWNoIGxhYmVsCiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Url/FacebookUrlManipulator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcVXJsOwoKLyoqCiAqIENsYXNzIEZhY2Vib29rVXJsTWFuaXB1bGF0b3IKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmNsYXNzIEZhY2Vib29rVXJsTWFuaXB1bGF0b3IKewogICAgLyoqCiAgICAgKiBSZW1vdmUgcGFyYW1zIGZyb20gYSBVUkwuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsICAgICAgICAgICAgVGhlIFVSTCB0byBmaWx0ZXIuCiAgICAgKiBAcGFyYW0gYXJyYXkgICRwYXJhbXNUb0ZpbHRlciBUaGUgcGFyYW1zIHRvIGZpbHRlciBmcm9tIHRoZSBVUkwuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgVGhlIFVSTCB3aXRoIHRoZSBwYXJhbXMgcmVtb3ZlZC4KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZW1vdmVQYXJhbXNGcm9tVXJsKCR1cmwsIGFycmF5ICRwYXJhbXNUb0ZpbHRlcikKICAgIHsKICAgICAgICAkcGFydHMgPSBwYXJzZV91cmwoJHVybCk7CgogICAgICAgICRxdWVyeSA9ICcnOwogICAgICAgIGlmIChpc3NldCgkcGFydHNbJ3F1ZXJ5J10pKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBbXTsKICAgICAgICAgICAgcGFyc2Vfc3RyKCRwYXJ0c1sncXVlcnknXSwgJHBhcmFtcyk7CgogICAgICAgICAgICAvLyBSZW1vdmUgcXVlcnkgcGFyYW1zCiAgICAgICAgICAgIGZvcmVhY2ggKCRwYXJhbXNUb0ZpbHRlciBhcyAkcGFyYW1OYW1lKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkcGFyYW1zWyRwYXJhbU5hbWVdKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGNvdW50KCRwYXJhbXMpID4gMCkgewogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zLCBudWxsLCAnJicpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkc2NoZW1lID0gaXNzZXQoJHBhcnRzWydzY2hlbWUnXSkgPyAkcGFydHNbJ3NjaGVtZSddIC4gJzovLycgOiAnJzsKICAgICAgICAkaG9zdCA9IGlzc2V0KCRwYXJ0c1snaG9zdCddKSA/ICRwYXJ0c1snaG9zdCddIDogJyc7CiAgICAgICAgJHBvcnQgPSBpc3NldCgkcGFydHNbJ3BvcnQnXSkgPyAnOicgLiAkcGFydHNbJ3BvcnQnXSA6ICcnOwogICAgICAgICRwYXRoID0gaXNzZXQoJHBhcnRzWydwYXRoJ10pID8gJHBhcnRzWydwYXRoJ10gOiAnJzsKICAgICAgICAkZnJhZ21lbnQgPSBpc3NldCgkcGFydHNbJ2ZyYWdtZW50J10pID8gJyMnIC4gJHBhcnRzWydmcmFnbWVudCddIDogJyc7CgogICAgICAgIHJldHVybiAkc2NoZW1lIC4gJGhvc3QgLiAkcG9ydCAuICRwYXRoIC4gJHF1ZXJ5IC4gJGZyYWdtZW50OwogICAgfQoKICAgIC8qKgogICAgICogR3JhY2VmdWxseSBhcHBlbmRzIHBhcmFtcyB0byB0aGUgVVJMLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCAgICAgICBUaGUgVVJMIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBwYXJhbXMuCiAgICAgKiBAcGFyYW0gYXJyYXkgICRuZXdQYXJhbXMgVGhlIHBhcmFtcyB0byBhcHBlbmQgdG8gdGhlIFVSTC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFwcGVuZFBhcmFtc1RvVXJsKCR1cmwsIGFycmF5ICRuZXdQYXJhbXMgPSBbXSkKICAgIHsKICAgICAgICBpZiAoZW1wdHkoJG5ld1BhcmFtcykpIHsKICAgICAgICAgICAgcmV0dXJuICR1cmw7CiAgICAgICAgfQoKICAgICAgICBpZiAoc3RycG9zKCR1cmwsICc/JykgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJldHVybiAkdXJsIC4gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkbmV3UGFyYW1zLCBudWxsLCAnJicpOwogICAgICAgIH0KCiAgICAgICAgbGlzdCgkcGF0aCwgJHF1ZXJ5KSA9IGV4cGxvZGUoJz8nLCAkdXJsLCAyKTsKICAgICAgICAkZXhpc3RpbmdQYXJhbXMgPSBbXTsKICAgICAgICBwYXJzZV9zdHIoJHF1ZXJ5LCAkZXhpc3RpbmdQYXJhbXMpOwoKICAgICAgICAvLyBGYXZvciBwYXJhbXMgZnJvbSB0aGUgb3JpZ2luYWwgVVJMIG92ZXIgJG5ld1BhcmFtcwogICAgICAgICRuZXdQYXJhbXMgPSBhcnJheV9tZXJnZSgkbmV3UGFyYW1zLCAkZXhpc3RpbmdQYXJhbXMpOwoKICAgICAgICAvLyBTb3J0IGZvciBhIHByZWRpY2FibGUgb3JkZXIKICAgICAgICBrc29ydCgkbmV3UGFyYW1zKTsKCiAgICAgICAgcmV0dXJuICRwYXRoIC4gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkbmV3UGFyYW1zLCBudWxsLCAnJicpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcGFyYW1zIGZyb20gYSBVUkwgaW4gdGhlIGZvcm0gb2YgYW4gYXJyYXkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIFRoZSBVUkwgdG8gcGFyc2UgdGhlIHBhcmFtcyBmcm9tLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRQYXJhbXNBc0FycmF5KCR1cmwpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gcGFyc2VfdXJsKCR1cmwsIFBIUF9VUkxfUVVFUlkpOwogICAgICAgIGlmICghJHF1ZXJ5KSB7CiAgICAgICAgICAgIHJldHVybiBbXTsKICAgICAgICB9CiAgICAgICAgJHBhcmFtcyA9IFtdOwogICAgICAgIHBhcnNlX3N0cigkcXVlcnksICRwYXJhbXMpOwoKICAgICAgICByZXR1cm4gJHBhcmFtczsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZHMgdGhlIHBhcmFtcyBvZiB0aGUgZmlyc3QgVVJMIHRvIHRoZSBzZWNvbmQgVVJMLgogICAgICoKICAgICAqIEFueSBwYXJhbXMgdGhhdCBhbHJlYWR5IGV4aXN0IGluIHRoZSBzZWNvbmQgVVJMIHdpbGwgZ28gdW50b3VjaGVkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybFRvU3RlYWxGcm9tIFRoZSBVUkwgaGFydmVzdCB0aGUgcGFyYW1zIGZyb20uCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmxUb0FkZFRvICAgICBUaGUgVVJMIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBuZXcgcGFyYW1zLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFRoZSAkdXJsVG9BZGRUbyB3aXRoIGFueSBuZXcgcGFyYW1zIGZyb20gJHVybFRvU3RlYWxGcm9tLgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG1lcmdlVXJsUGFyYW1zKCR1cmxUb1N0ZWFsRnJvbSwgJHVybFRvQWRkVG8pCiAgICB7CiAgICAgICAgJG5ld1BhcmFtcyA9IHN0YXRpYzo6Z2V0UGFyYW1zQXNBcnJheSgkdXJsVG9TdGVhbEZyb20pOwogICAgICAgIC8vIE5vdGhpbmcgbmV3IHRvIGFkZCwgcmV0dXJuIGFzLWlzCiAgICAgICAgaWYgKCEkbmV3UGFyYW1zKSB7CiAgICAgICAgICAgIHJldHVybiAkdXJsVG9BZGRUbzsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzdGF0aWM6OmFwcGVuZFBhcmFtc1RvVXJsKCR1cmxUb0FkZFRvLCAkbmV3UGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGZvciBhICIvIiBwcmVmaXggYW5kIHByZXBlbmQgaXQgaWYgbm90IGV4aXN0cy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfG51bGwgJHN0cmluZwogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmb3JjZVNsYXNoUHJlZml4KCRzdHJpbmcpCiAgICB7CiAgICAgICAgaWYgKCEkc3RyaW5nKSB7CiAgICAgICAgICAgIHJldHVybiAkc3RyaW5nOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHN0cnBvcygkc3RyaW5nLCAnLycpID09PSAwID8gJHN0cmluZyA6ICcvJyAuICRzdHJpbmc7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmltcyBvZmYgdGhlIGhvc3RuYW1lIGFuZCBHcmFwaCB2ZXJzaW9uIGZyb20gYSBVUkwuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsVG9UcmltIFRoZSBVUkwgdGhlIG5lZWRzIHRoZSBzdXJnZXJ5LgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nIFRoZSAkdXJsVG9UcmltIHdpdGggdGhlIGhvc3RuYW1lIGFuZCBHcmFwaCB2ZXJzaW9uIHJlbW92ZWQuCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYmFzZUdyYXBoVXJsRW5kcG9pbnQoJHVybFRvVHJpbSkKICAgIHsKICAgICAgICByZXR1cm4gJy8nIC4gcHJlZ19yZXBsYWNlKCcvXmh0dHBzOlwvXC8uK1wuZmFjZWJvb2tcLmNvbShcL3YuKz8pP1wvLycsICcnLCAkdXJsVG9UcmltKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/vendor/facebook/graph-sdk/src/Facebook/Url/UrlDetectionInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENvcHlyaWdodCAyMDE3IEZhY2Vib29rLCBJbmMuCiAqCiAqIFlvdSBhcmUgaGVyZWJ5IGdyYW50ZWQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHRvCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeQogKiBmb3JtIGZvciB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB3ZWIgc2VydmljZXMgYW5kIEFQSXMgcHJvdmlkZWQgYnkKICogRmFjZWJvb2suCiAqCiAqIEFzIHdpdGggYW55IHNvZnR3YXJlIHRoYXQgaW50ZWdyYXRlcyB3aXRoIHRoZSBGYWNlYm9vayBwbGF0Zm9ybSwgeW91ciB1c2UKICogb2YgdGhpcyBzb2Z0d2FyZSBpcyBzdWJqZWN0IHRvIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgUHJpbmNpcGxlcyBhbmQKICogUG9saWNpZXMgW2h0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9wb2xpY3kvXS4gVGhpcyBjb3B5cmlnaHQgbm90aWNlCiAqIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIHNvZnR3YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgogKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqCiAqLwpuYW1lc3BhY2UgRmFjZWJvb2tcVXJsOwoKLyoqCiAqIEludGVyZmFjZSBVcmxEZXRlY3Rpb25JbnRlcmZhY2UKICoKICogQHBhY2thZ2UgRmFjZWJvb2sKICovCmludGVyZmFjZSBVcmxEZXRlY3Rpb25JbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBHZXQgdGhlIGN1cnJlbnRseSBhY3RpdmUgVVJMLgogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDdXJyZW50VXJsKCk7Cn0K]]></data>
	</file>
</module>
