{"_id":"@dojnaz/whmcs","_rev":"1-1dda28c4c327344b701a30bb854e697c","name":"@dojnaz/whmcs","dist-tags":{"latest":"1.2.3"},"versions":{"1.2.2":{"name":"@dojnaz/whmcs","description":"WHMCS API client.","version":"1.2.2","author":{"name":"Victor Bäck","email":"vb@naz.group"},"maintainers":[{"name":"hvenetworks","email":"vb@dojnaz.net"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apocas/node-whmcs.git"},"keywords":["whmcs","hosting"],"dependencies":{"axios":"^0.21.1","bluebird":"^3.7.2","https-proxy-agent":"^5.0.0","xml2js":"0.4.x"},"main":"./whmcs","engines":{"node":">= 12.0"},"gitHead":"389c1623e101af08e502a8cfcc9b92fe7f83c4b8","bugs":{"url":"https://github.com/apocas/node-whmcs/issues"},"homepage":"https://github.com/apocas/node-whmcs#readme","_id":"@dojnaz/whmcs@1.2.2","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-mvaFDfpQ7v/DDjdtCl11nfYBo+10el5rmWa9PRf77rSfbbUmqzzphBAsC527nv94iQJ2cdwdNbdh42mgvm3Y5g==","shasum":"56a5e4179340d9290fd207c05d37e4c099164dea","tarball":"https://registry.npmjs.org/@dojnaz/whmcs/-/whmcs-1.2.2.tgz","fileCount":42,"unpackedSize":191403,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2sqEJrRUNZ/SqFTh4gu5ZRm17MPicCws6gLzuTnuYvwIgSySXxQePcFMSpOqFCyLioPNVREJg03RX/0zz1asqhBo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioPSDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr40g/+PmazfIO70h+MksZKYnAcgi2yuACsjAXKI8Xq9UY2gh27OHus\r\n5Ego5NyiouB4Z2BU8BO3whxw3QPnHnzwnKt+GT2wO6LGJj5kZiQ61fZNjAiF\r\nIn81Ety547SjWkIYfaOwKM736ha4KXaq9m2cDTHFvcZSDNw/7uPpuAtFWhDs\r\nW6z35BpR+bbT8lRtmKSQ8M7lGjljqQb5sip0Cl/DcNAm/8dJipfSuYp/tTxl\r\nqU1b7NJpUAi/33GQDB8sKPVsSs+4JbZMW+tzWEG9nOkjDACm7KGWXCU2/Oqt\r\nAQz/0w67Fzsr6shY1M2nPEHDWMTPn1n+6Pn/ItaSfb3bJV/VxHVgQs/RMo3x\r\nCGak7R5i/f4BCioW6ANar3W29pu429UbeA7MuUqpLGVuFAmVE/xn0psrXE9q\r\neWJnaEqfKZ2KKO+Wuuk/7CcvwUUOn0KDGEjprX3qfwmrxJ0C5Iv694XYOKWu\r\nsRT6sarv54kjUjPv8ZmjRsFzimqKN8DLZpwRxFXuo9RYlUfmx0MVUyBaTfYm\r\nTiHHCJoqYTNtQzwYWwJLzG3qjjQiUxey14UqB3XR5nffeFZ9FBWjxzkMLedp\r\n/3a6cRzNYEwqaNlk7Ol3tugvnAriIH9bNzN3MqNyq589ix3wNzIFuVURfXws\r\nOGGuXOYS47Y3Ih7xn8CJjnRlgRDefdmxTFA=\r\n=tz2w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hvenetworks","email":"vb@dojnaz.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/whmcs_1.2.2_1654715522815_0.1244229615964152"},"_hasShrinkwrap":false},"1.2.3":{"name":"@dojnaz/whmcs","description":"WHMCS API client.","version":"1.2.3","author":{"name":"Victor Bäck","email":"vb@naz.group"},"maintainers":[{"name":"hvenetworks","email":"vb@dojnaz.net"}],"repository":{"type":"git","url":"git+ssh://git@github.com/VBDojnaz/node-whmcs.git"},"keywords":["whmcs","hosting"],"dependencies":{"axios":"^0.21.1","bluebird":"^3.7.2","https-proxy-agent":"^5.0.0","xml2js":"0.4.x"},"main":"./whmcs","engines":{"node":">= 12.0"},"gitHead":"56b36dbc41d99820361e3917054fc5ed310d43bb","bugs":{"url":"https://github.com/VBDojnaz/node-whmcs/issues"},"homepage":"https://github.com/VBDojnaz/node-whmcs#readme","_id":"@dojnaz/whmcs@1.2.3","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-oEuh5AEj6EZBkrVvd6hUsmahEERW7goURwhH9/VflyHuWt09b2nMsOrpeAf9mAH1mD68PjlfXM1Q4ZjuSqboAA==","shasum":"1a7ff3c906bbdd9d91e6e6451d4152e9f5426e7f","tarball":"https://registry.npmjs.org/@dojnaz/whmcs/-/whmcs-1.2.3.tgz","fileCount":42,"unpackedSize":196851,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNzO0dTmoa0ljoxOEXyXiPsW3T9ORcobnaDNysFYNtUgIgV3Zsy757q7ffaHwsUhRsQxZHuClxXBH37/1MKl1ofUs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqh0UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqR/Q//b7ikM8U7Hp8fTsMeRaDm5P1h1KMDYVTpj7aYlMuR5K1CA1ar\r\nZcoXDtFggCA+1KamS/QfJ6Bbn792MDAR4JokkNmZSASuo5MFWKjjEhXwMQ6V\r\nhulzkhrFqWkhRw86l2sdr0b8KxRl8q5wryE5qUi7tiF9gjrzTlN2aEdhaS+b\r\nK74UF0csfwUSorHkH0kxwaaD0W87gS+/lncZVOh+ASc+EmKSzfqyWPJO8qTy\r\nF4/ZgMMbEVcIODWipLD1iw44s8kEFvIQxnXLtAoRRG5SKAbGIZFFUn4/IzjK\r\nztWtsczccnpvAN08M1suElNb5ZBSRm+d3TJwIyn/7iuCowWXWKtwHKZwnPj+\r\nQDxUqNkfcL2w8gSlXx42t1ZYoxmNXZsSTZxSFFNDzdgZ6/NXgI/2rYDQEBK5\r\nivn/GGvJilm/5k6KnsMWL2cMvqvWC/eOpGwb4V11pKX70CMm1g4Kz6i/thpP\r\nDLim5KrdmOrmXE3GzZQnbsizkrH1z34+o9k80tZb1CtefeldI7yavROXzo1d\r\nhPfWNCqM9OCaGNREXkx9zWguqzm+BdK3NizrWMeBcjHLjNgVm+VHdeu+X3Xp\r\najUvS6qWELTtDhbf6+h3hlkg9H/tQGvRD6q5S3k1EI06oqIWihFtVocC4tOw\r\nzbET0g9b3BLewoqk0yL1q9L2fkHGqBDBjK8=\r\n=nqFl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hvenetworks","email":"vb@dojnaz.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/whmcs_1.2.3_1655315732733_0.14584794310773708"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-08T19:12:02.735Z","1.2.2":"2022-06-08T19:12:02.983Z","modified":"2022-06-15T17:55:33.069Z","1.2.3":"2022-06-15T17:55:32.965Z"},"maintainers":[{"name":"hvenetworks","email":"vb@dojnaz.net"}],"description":"WHMCS API client.","homepage":"https://github.com/VBDojnaz/node-whmcs#readme","keywords":["whmcs","hosting"],"repository":{"type":"git","url":"git+ssh://git@github.com/VBDojnaz/node-whmcs.git"},"author":{"name":"Victor Bäck","email":"vb@naz.group"},"bugs":{"url":"https://github.com/VBDojnaz/node-whmcs/issues"},"readme":"WHMCS Node Module\n=========\n\nWHMCS' API Node client.\n\n## Pre-requisites\n\nInstall [Node.js](https://nodejs.org/en/) version 12.0.0 or higher.\n\n## Installation\n\n```\nnpm install whmcs\n```\n\n## Usage\n\nFirst you need to instantiate it.\n\nYou can instantiate with api credentials:\n\n```javascript\nconst config = {\n  apiIdentifier: '<your_api_identifier>',\n  apiSecret: '<your_api_secret>',\n  accesskey: '<your_access_key>', //optional. use it to bypass IP restrictions\n  serverUrl: 'http://127.0.0.1',\n  userAgent: '<your_user_agent>'\n};\n\nconst wclient = new WHMCS(config);\n```\n\nOr you can instantiate with administrator username and MD5 hashed password:\n\n```javascript\nconst config = {\n  username: process.env.WHMCS_USER || '<your_admin_username>',\n  password: process.env.WHMCS_PASSWORD || '<your_md5_hashed_password>',\n  accesskey: '<your_access_key>', //optional. use it to bypass IP restrictions\n  serverUrl: 'http://127.0.0.1',\n  userAgent: '<your_user_agent>'\n};\n\nconst whmcs = new WHMCS(config);\n```\n\nWith the created WHMCS client, you should get the category/module you want (see [available modules](#Implemented-functions)) and call the method you need.\n\nFor example, you can fetch 10 users like this:\n\n```javascript\nconst parameters = {\n  limitstart: 0,\n  limitnum: 10\n};\n  \nwhmcs.users.getUsers(parameters)\n  .then(details => {\n    ...\n  })\n  .catch(err => {\n    ...\n  });\n```\n\nIf you want/need to, you can use callbacks instead:\n\n```javascript\nconst parameters = {\n  limitstart: 0,\n  limitnum: 10\n};\n  \nwhmcs.users.getUsers(parameters, function (err, details) {\n  ...\n});\n```\n\n## Module architecture\n\nThis node-js module follows [WHMCS' API Index](https://developers.whmcs.com/api/api-index/) structure, which have functions organized by categories. Every category is represented here by a module Object, and each module has public methods representing WHMCS' functions.\n<br/>\nWhen WHMCS' function requires parameters, they must be grouped in a JSON Object and then can be set as the first argument of the method. If no parameters are required, this argument must not be set. The \"callback\" argument is optional, and when not provided the method returns a Promise. This pattern is shared all across the modules public methods.\n<br/>\n\n## Implemented functions\n\nThe [WHMCS' API Index](https://developers.whmcs.com/api/api-index/) can be updated anytime, so you must check below which functions are implemented (expand to show the function list).\n\n<details>\n  <summary>Addons</summary>\n\n  - UpdateClientAddon: updateClientAddon(parameters, [callback])\n</details>\n\n<details>\n  <summary>Affiliates</summary>\n  \n  - AffiliateActivate: affiliateActivate(parameters, [callback])\n  - GetAffiliates: getAffiliates(parameters, [callback])\n</details>\n\n<details>\n  <summary>Authentication</summary>\n  \n  - CreateOAuthCredential: createOAuthCredential(parameters, [callback])\n  - CreateSsoToken: createSsoToken(parameters, [callback])\n  - DeleteOAuthCredential: deleteOAuthCredential(parameters, [callback])\n  - ListOAuthCredentials: listOAuthCredentials(parameters, [callback])\n  - UpdateOAuthCredential: updateOAuthCredential(parameters, [callback])\n  - ValidateLogin: validateLogin(parameters, [callback])\n</details>\n\n<details>\n  <summary>Billing</summary>\n\n  - AcceptQuote: acceptQuote(parameters, [callback])\n  - AddBillableItem: addBillableItem(parameters, [callback])\n  - AddCredit: addCredit(parameters, [callback])\n  - AddInvoicePayment: addInvoicePayment(parameters, [callback])\n  - AddPayMethod: addPayMethod(parameters, [callback])\n  - AddTransaction: addTransaction(parameters, [callback])\n  - ApplyCredit: applyCredit(parameters, [callback])\n  - CapturePayment: capturePayment(parameters, [callback])\n  - CreateInvoice: createInvoice(parameters, [callback])\n  - CreateQuote: createQuote(parameters, [callback])\n  - DeletePayMethod: deletePayMethod(parameters, [callback])\n  - DeleteQuote: deleteQuote(parameters, [callback])\n  - GenInvoices: genInvoices(parameters, [callback])\n  - GetCredits: getCredits(parameters, [callback])\n  - GetInvoice: getInvoice(parameters, [callback])\n  - GetInvoices: getInvoices(parameters, [callback])\n  - GetPayMethods: getPayMethods(parameters, [callback])\n  - GetQuotes: getQuotes(parameters, [callback])\n  - GetTransactions: getTransactions(parameters, [callback])\n  - SendQuote: sendQuote(parameters, [callback])\n  - UpdateInvoice: updateInvoice(parameters, [callback])\n  - UpdatePayMethod: updatePayMethod(parameters, [callback])\n  - UpdateQuote: updateQuote(parameters, [callback])\n  - UpdateTransaction: updateTransaction(parameters, [callback])\n</details>\n\n<details>\n  <summary>Client</summary>\n\n  - AddClient: addClient(parameters, [callback])\n  - AddContact: addContact(parameters, [callback])\n  - CloseClient: closeClient(parameters, [callback])\n  - DeleteClient: deleteClient(parameters, [callback])\n  - DeleteContact: deleteContact(parameters, [callback])\n  - GetCancelledPackages: getCancelledPackages(parameters, [callback])\n  - GetClientGroups: getClientGroups([callback])\n  - GetClientPassword: getClientPassword(parameters, [callback])\n  - GetClients: getClients(parameters, [callback])\n  - GetClientsAddons: getClientsAddons(parameters, [callback])\n  - GetClientsDetails: getClientsDetails(parameters, [callback])\n  - GetClientsDomains: getClientsDomains(parameters, [callback])\n  - GetClientsProducts: getClientsProducts(parameters, [callback])\n  - GetContacts: getContacts(parameters, [callback])\n  - GetEmails: getEmails(parameters, [callback])\n  - UpdateClient: updateClient(parameters, [callback])\n  - UpdateContact: updateContact(parameters, [callback])\n</details>\n\n<details>\n  <summary>Domains</summary>\n\n  - CreateOrUpdateTLD: createOrUpdateTLD(parameters, [callback])\n  - DomainGetLockingStatus: domainGetLockingStatus(parameters, [callback])\n  - DomainGetNameservers: domainGetNameservers(parameters, [callback])\n  - DomainGetWhoisInfo: domainGetWhoisInfo(parameters, [callback])\n  - DomainRegister: domainRegister(parameters, [callback])\n  - DomainRelease: domainRelease(parameters, [callback])\n  - DomainRenew: domainRenew(parameters, [callback])\n  - DomainRequestEPP: domainRequestEPP(parameters, [callback])\n  - DomainToggleIdProtect: domainToggleIdProtect(parameters, [callback])\n  - DomainTransfer: domainTransfer(parameters, [callback])\n  - DomainUpdateLockingStatus: domainUpdateLockingStatus(parameters, [callback])\n  - DomainUpdateNameservers: domainUpdateNameservers(parameters, [callback])\n  - DomainUpdateWhoisInfo: domainUpdateWhoisInfo(parameters, [callback])\n  - DomainWhois: domainWhois(parameters, [callback])\n  - GetTLDPricing: getTLDPricing(parameters, [callback])\n  - UpdateClientDomain: updateClientDomain(parameters, [callback]) \n</details>\n\n<details>\n  <summary>Module</summary>\n\n  - ActivateModule: activateModule(parameters, [callback])\n  - DeactivateModule: deactivateModule(parameters, [callback])\n  - GetModuleConfigurationParameters: getModuleConfigurationParameters(parameters, [callback])\n  - GetModuleQueue: getModuleQueue(parameters, [callback])\n  - UpdateModuleConfiguration: updateModuleConfiguration(parameters, [callback])\n</details>\n\n<details>\n  <summary>Module</summary>\n\n  - AcceptOrder: acceptOrder(parameters, [callback])\n  - AddOrder: addOrder(parameters, [callback])\n  - CancelOrder: cancelOrder(parameters, [callback])\n  - DeleteOrder: deleteOrder(parameters, [callback])\n  - FraudOrder: fraudOrder(parameters, [callback])\n  - GetOrders: getOrders(parameters, [callback])\n  - GetOrderStatuses: getOrderStatuses([callback])\n  - GetProducts: getProducts(parameters, [callback])\n  - GetPromotions: getPromotions(parameters, [callback])\n  - OrderFraudCheck: orderFraudCheck(parameters, [callback])\n  - PendingOrder: pendingOrder(parameters, [callback])\n</details>\n\n<details>\n  <summary>Products</summary>\n\n  - AddProduct: addProduct(parameters, [callback])\n</details>\n\n<details>\n  <summary>Project Management</summary>\n\n  - AddProjectMessage: addProjectMessage(parameters, [callback])\n  - AddProjectTask: addProjectTask(parameters, [callback])\n  - CreateProject: createProject(parameters, [callback])\n  - DeleteProjectTask: deleteProjectTask(parameters, [callback])\n  - EndTaskTimer: endTaskTimer(parameters, [callback])\n  - GetProject: getProject(parameters, [callback])\n  - GetProjects: getProjects(parameters, [callback])\n  - StartTaskTimer: startTaskTimer(parameters, [callback])\n  - UpdateProject: updateProject(parameters, [callback])\n  - UpdateProjectTask: updateProjectTask(parameters, [callback])\n</details>\n\n<details>\n  <summary>Servers</summary>\n\n  - GetHealthStatus: getHealthStatus(parameters, [callback])\n  - GetServers: getServers(parameters, [callback])\n</details>\n\n\n<details>\n  <summary>Service</summary>\n\n  - ModuleChangePackage: moduleChangePackage(parameters, [callback])\n  - ModuleChangePw: moduleChangePw(parameters, [callback])\n  - ModuleCreate: moduleCreate(parameters, [callback])\n  - ModuleCustom: moduleCustom(parameters, [callback])\n  - ModuleSuspend: moduleSuspend(parameters, [callback])\n  - ModuleTerminate: moduleTerminate(parameters, [callback])\n  - ModuleUnsuspend: moduleUnsuspend(parameters, [callback])\n  - UpdateClientProduct: updateClientProduct(parameters, [callback])\n  - UpgradeProduct: upgradeProduct(parameters, [callback])\n</details>\n\n<details>\n  <summary>Support</summary>\n\n  - AddAnnouncement: addAnnouncement(parameters, [callback])\n  - AddCancelRequest: addCancelRequest(parameters, [callback])\n  - AddClientNote: addClientNote(parameters, [callback])\n  - AddTicketNote: addTicketNote(parameters, [callback])\n  - AddTicketReply: addTicketReply(parameters, [callback])\n  - blockTicketSender: blockTicketSender(parameters, [callback])\n  - DeleteAnnouncement: deleteAnnouncement(parameters, [callback])\n  - DeleteTicket: deleteTicket(parameters, [callback])\n  - DeleteTicketNote: deleteTicketNote(parameters, [callback])\n  - DeleteTicketReply: deleteTicketReply(parameters, [callback])\n  - GetAnnouncements: getAnnouncements(parameters, [callback])\n  - MergeTicket: mergeTicket(parameters, [callback])\n  - OpenTicket: openTicket(parameters, [callback])\n  - UpdateTicket: updateTicket(parameters, [callback])\n  - UpdateTicketReply: updateTicketReply(parameters, [callback])\n</details>\n\n\n<details>\n  <summary>System</summary>\n\n  - AddBannedIp: addBannedIp(parameters, [callback])\n  - DecryptPassword: decryptPassword(parameters, [callback])\n  - EncryptPassword: encryptPassword(parameters, [callback])\n  - GetActivityLog: getActivityLog(parameters, [callback])\n  - GetAdminDetails: getAdminDetails([callback])\n  - GetAdminUsers: getAdminUsers(parameters, [callback])\n  - GetAutomationLog: getAutomationLog(parameters, [callback])\n  - GetConfigurationValue: getConfigurationValue(parameters, [callback])\n  - GetCurrencies: getCurrencies([callback])\n  - GetEmailTemplates: getEmailTemplates(parameters, [callback])\n  - GetPaymentMethods: getPaymentMethods([callback])\n  - GetStaffOnline: getStaffOnline([callback])\n  - GetStats: getStats(parameters, [callback])\n  - GetToDoItems: getToDoItems(parameters, [callback])\n  - GetToDoItemStatuses: getToDoItemStatuses([callback])\n  - LogActivity: logActivity(parameters, [callback])\n  - SendAdminEmail: sendAdminEmail(parameters, [callback])\n  - SendEmail: sendEmail(parameters, [callback])\n  - SetConfigurationValue: setConfigurationValue(parameters, [callback])\n  - TriggerNotificationEvent: triggerNotificationEvent(parameters, [callback])\n  - UpdateAdminNotes: updateAdminNotes(parameters, [callback])\n  - UpdateAnnouncement: updateAnnouncement(parameters, [callback])\n  - UpdateToDoItem: updateToDoItem(parameters, [callback])\n  - WhmcsDetails: whmcsDetails([callback])\n</details>\n\n<details>\n  <summary>Tickets</summary>\n\n  - GetSupportDepartments: getSupportDepartments(parameters, [callback])\n  - GetSupportStatuses: getSupportStatuses(parameters, [callback])\n  - GetTicket: getTicket(parameters, [callback])\n  - GetTicketAttachment: getTicketAttachment(parameters, [callback])\n  - GetTicketCounts: getTicketCounts(parameters, [callback])\n  - GetTicketNotes: getTicketNotes(parameters, [callback])\n  - GetTicketPredefinedCats: getTicketPredefinedCats([callback])\n  - GetTicketPredefinedReplies: getTicketPredefinedReplies(parameters, [callback])\n  - GetTickets: getTickets(parameters, [callback])\n</details>\n\n<details>\n  <summary>Users</summary>\n\n  - AddUser: addUser(parameters, [callback])\n  - CreateClientInvite: createClientInvite(parameters, [callback])\n  - DeleteUserClient: deleteUserClient(parameters, [callback])\n  - GetPermissionsList: getPermissionsList([callback])\n  - GetUserPermissions: getUserPermissions(parameters, [callback])\n  - GetUsers: getUsers(parameters, [callback])\n  - ResetPassword: resetPassword(parameters, [callback])\n  - UpdateUser: updateUser(parameters, [callback])\n  - UpdateUserPermissions: updateUserPermissions(parameters, [callback])\n</details>\n\n\n## Custom API functions\n\nIt is possible to call custom functions using the method <i>callApi</i>:\n\n```javascript\nconst parameters = {\n  paramx: 'x',\n  paramy: 'y'\n};\n\nwhmcs.callApi('CustomFunctionName', parameters)\n  .then(details => {\n    ...\n  })\n  .catch(err => {\n    ...\n  });\n```\n\n## Tests\n\nTests are implemented using `mocha` and `chai`. Run them with `npm test`.\n\n\n## License\n\nPedro Dias - [@pedromdias](https://twitter.com/pedromdias)\n\nLicensed under the Apache license, version 2.0 (the \"license\"); You may not use this file except in compliance with the license. You may obtain a copy of the license at:\n\nhttp://www.apache.org/licenses/LICENSE-2.0.html\n\nUnless required by applicable law or agreed to in writing, software distributed under the license is distributed on an \"as is\" basis, without warranties or conditions of any kind, either express or implied. See the license for the specific language governing permissions and limitations under the license.\n","readmeFilename":"README.md"}