{"version":3,"sources":["jsdelivr-header.js","/npm/24captcha@1.6.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACJA,MAAM,MAAQ,QAAQ,cAEtB,MAAM,cACJ,WAAA,CAAY,GACV,KAAK,OAAS,EAAO,OACrB,KAAK,MAAQ,EAAO,MACpB,KAAK,UAAY,EAAO,WAAa,MACvC,CAEA,kBAAM,CAAa,EAAS,EAAU,CAAE,KAAM,EAAG,YAAY,IAC3D,IACE,MAAM,EAAO,CACX,IAAK,KAAK,OACV,MAAO,KAAK,MACZ,UAAW,KAAK,UAChB,gBAAmC,IAAvB,EAAQ,YAA2B,EAAQ,WACvD,QAAS,EAAQ,gBACjB,QAAS,EAAQ,QACjB,UAAuB,IAAjB,EAAQ,KAAqB,EAAQ,KAAO,GAGhD,EAAQ,iBACV,EAAK,OAAS,EAAQ,gBAGxB,MAAM,QAAwB,MAAM,kCAAmC,CACrE,OAAQ,OACR,QAAS,CACP,eAAgB,oBAElB,KAAM,KAAK,UAAU,KAGjB,QAAa,EAAgB,OAEnC,aADyB,KAAK,yBAAyB,EAAK,QAAS,EAAQ,KAE/E,CAAE,MAAO,GAEP,MADA,QAAQ,MAAM,yBAA0B,GAClC,CACR,CACF,CAEA,8BAAM,CAAyB,EAAQ,EAAO,GAC5C,IACE,OAAa,CACX,MAAM,QAA8B,MAAM,mCAAoC,CAC5E,OAAQ,OACR,QAAS,CACP,eAAgB,oBAElB,KAAM,KAAK,UAAU,CACnB,IAAK,KAAK,OACV,GAAI,EACJ,OAAQ,MACR,KAAM,MAIJ,QAA0B,EAAsB,OAEtD,GAAiC,IAA7B,EAAkB,OACpB,OAAO,EAAkB,cAGrB,KAAK,MAAM,IACnB,CACF,CAAE,MAAO,GAEP,MADA,QAAQ,MAAM,wCAAyC,GACjD,CACR,CACF,CAEA,KAAA,CAAM,GACJ,OAAO,IAAI,SAAQ,GAAW,WAAW,EAAS,IACpD,EAGF,OAAO,QAAU","file":"/npm/24captcha@1.6.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/24captcha@1.6.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\r\n\r\nconst fetch = require('node-fetch');\r\n\r\nclass CaptchaSolver {\r\n  constructor(config) {\r\n    this.apiKey = config.apiKey;\r\n    this.proxy = config.proxy;\r\n    this.proxyType = config.proxyType || 'HTTP';\r\n  }\r\n\r\n  async solveCaptcha(captcha, options = { json: 1, enterprise: true }) {\r\n    try {\r\n      const body = {\r\n        key: this.apiKey,\r\n        proxy: this.proxy,\r\n        proxytype: this.proxyType,\r\n        enterprise: options.enterprise !== undefined ? options.enterprise : true, \r\n        sitekey: captcha.captcha_sitekey,\r\n        pageurl: captcha.pageurl,\r\n        json: options.json !== undefined ? options.json : 1, \r\n      };\r\n\r\n      if (captcha.captcha_rqdata) {\r\n        body.rqdata = captcha.captcha_rqdata;\r\n      }\r\n\r\n      const captchaResponse = await fetch('https://24captcha.online/in.php', {\r\n        method: 'POST',\r\n        headers: {\r\n          'Content-Type': 'application/json',\r\n        },\r\n        body: JSON.stringify(body),\r\n      });\r\n\r\n      const data = await captchaResponse.json();\r\n      const captchaKey = await this.waitForCaptchaCompletion(data.request, options.json);\r\n      return captchaKey;\r\n    } catch (error) {\r\n      console.error('Error solving captcha:', error);\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  async waitForCaptchaCompletion(taskId, json = 1) {\r\n    try {\r\n      while (true) {\r\n        const captchaStatusResponse = await fetch('https://24captcha.online/res.php', {\r\n          method: 'POST',\r\n          headers: {\r\n            'Content-Type': 'application/json',\r\n          },\r\n          body: JSON.stringify({\r\n            key: this.apiKey,\r\n            id: taskId,\r\n            action: 'get',\r\n            json: json, \r\n          }),\r\n        });\r\n\r\n        const captchaStatusData = await captchaStatusResponse.json();\r\n\r\n        if (captchaStatusData.status === 1) {\r\n          return captchaStatusData.request;\r\n        }\r\n\r\n        await this.sleep(10000);\r\n      }\r\n    } catch (error) {\r\n      console.error('Error waiting for captcha completion:', error);\r\n      throw error;\r\n    }\r\n  }\r\n\r\n  sleep(ms) {\r\n    return new Promise(resolve => setTimeout(resolve, ms));\r\n  }\r\n}\r\n\r\nmodule.exports = CaptchaSolver;\r\n"]}