@wengine-ai/llms 2.1.13 → 2.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,255 +1,324 @@
1
- "use strict";var nC=Object.create;var si=Object.defineProperty;var oC=Object.getOwnPropertyDescriptor;var sC=Object.getOwnPropertyNames;var iC=Object.getPrototypeOf,aC=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(t&&(e=t(t=0)),e);var V=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ii=(t,e)=>{for(var r in e)si(t,r,{get:e[r],enumerable:!0})},Th=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of sC(e))!aC.call(t,o)&&o!==r&&si(t,o,{get:()=>e[o],enumerable:!(n=oC(e,o))||n.enumerable});return t};var Oe=(t,e,r)=>(r=t!=null?nC(iC(t)):{},Th(e||!t||!t.__esModule?si(r,"default",{value:t,enumerable:!0}):r,t)),Dh=t=>Th(si({},"__esModule",{value:!0}),t);var Rh=V((KD,ai)=>{ai.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;ai.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;ai.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Vu=V((YD,xh)=>{var Ju=Rh();xh.exports={isSpaceSeparator(t){return typeof t=="string"&&Ju.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Ju.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Ju.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Bh=V((QD,Ih)=>{var ze=Vu(),Yu,tt,Cr,ci,zr,Ut,He,Zu,Bo;Ih.exports=function(e,r){Yu=String(e),tt="start",Cr=[],ci=0,zr=1,Ut=0,He=void 0,Zu=void 0,Bo=void 0;do He=uC(),dC[tt]();while(He.type!=="eof");return typeof r=="function"?Qu({"":Bo},"",r):Bo};function Qu(t,e,r){let n=t[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let s=String(o),a=Qu(n,s,r);a===void 0?delete n[s]:Object.defineProperty(n,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let s=Qu(n,o,r);s===void 0?delete n[o]:Object.defineProperty(n,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,e,n)}var me,he,Io,br,be;function uC(){for(me="default",he="",Io=!1,br=1;;){be=wr();let t=Ph[me]();if(t)return t}}function wr(){if(Yu[ci])return String.fromCodePoint(Yu.codePointAt(ci))}function H(){let t=wr();return t===`
2
- `?(zr++,Ut=0):t?Ut+=t.length:Ut++,t&&(ci+=t.length),t}var Ph={default(){switch(be){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":H();return;case"/":H(),me="comment";return;case void 0:return H(),Ie("eof")}if(ze.isSpaceSeparator(be)){H();return}return Ph[tt]()},comment(){switch(be){case"*":H(),me="multiLineComment";return;case"/":H(),me="singleLineComment";return}throw Be(H())},multiLineComment(){switch(be){case"*":H(),me="multiLineCommentAsterisk";return;case void 0:throw Be(H())}H()},multiLineCommentAsterisk(){switch(be){case"*":H();return;case"/":H(),me="default";return;case void 0:throw Be(H())}H(),me="multiLineComment"},singleLineComment(){switch(be){case`
4
- `:case"\r":case"\u2028":case"\u2029":H(),me="default";return;case void 0:return H(),Ie("eof")}H()},value(){switch(be){case"{":case"[":return Ie("punctuator",H());case"n":return H(),ln("ull"),Ie("null",null);case"t":return H(),ln("rue"),Ie("boolean",!0);case"f":return H(),ln("alse"),Ie("boolean",!1);case"-":case"+":H()==="-"&&(br=-1),me="sign";return;case".":he=H(),me="decimalPointLeading";return;case"0":he=H(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=H(),me="decimalInteger";return;case"I":return H(),ln("nfinity"),Ie("numeric",1/0);case"N":return H(),ln("aN"),Ie("numeric",NaN);case'"':case"'":Io=H()==='"',he="",me="string";return}throw Be(H())},identifierNameStartEscape(){if(be!=="u")throw Be(H());H();let t=Xu();switch(t){case"$":case"_":break;default:if(!ze.isIdStartChar(t))throw Oh();break}he+=t,me="identifierName"},identifierName(){switch(be){case"$":case"_":case"\u200C":case"\u200D":he+=H();return;case"\\":H(),me="identifierNameEscape";return}if(ze.isIdContinueChar(be)){he+=H();return}return Ie("identifier",he)},identifierNameEscape(){if(be!=="u")throw Be(H());H();let t=Xu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ze.isIdContinueChar(t))throw Oh();break}he+=t,me="identifierName"},sign(){switch(be){case".":he=H(),me="decimalPointLeading";return;case"0":he=H(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=H(),me="decimalInteger";return;case"I":return H(),ln("nfinity"),Ie("numeric",br*(1/0));case"N":return H(),ln("aN"),Ie("numeric",NaN)}throw Be(H())},zero(){switch(be){case".":he+=H(),me="decimalPoint";return;case"e":case"E":he+=H(),me="decimalExponent";return;case"x":case"X":he+=H(),me="hexadecimal";return}return Ie("numeric",br*0)},decimalInteger(){switch(be){case".":he+=H(),me="decimalPoint";return;case"e":case"E":he+=H(),me="decimalExponent";return}if(ze.isDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},decimalPointLeading(){if(ze.isDigit(be)){he+=H(),me="decimalFraction";return}throw Be(H())},decimalPoint(){switch(be){case"e":case"E":he+=H(),me="decimalExponent";return}if(ze.isDigit(be)){he+=H(),me="decimalFraction";return}return Ie("numeric",br*Number(he))},decimalFraction(){switch(be){case"e":case"E":he+=H(),me="decimalExponent";return}if(ze.isDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},decimalExponent(){switch(be){case"+":case"-":he+=H(),me="decimalExponentSign";return}if(ze.isDigit(be)){he+=H(),me="decimalExponentInteger";return}throw Be(H())},decimalExponentSign(){if(ze.isDigit(be)){he+=H(),me="decimalExponentInteger";return}throw Be(H())},decimalExponentInteger(){if(ze.isDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},hexadecimal(){if(ze.isHexDigit(be)){he+=H(),me="hexadecimalInteger";return}throw Be(H())},hexadecimalInteger(){if(ze.isHexDigit(be)){he+=H();return}return Ie("numeric",br*Number(he))},string(){switch(be){case"\\":H(),he+=cC();return;case'"':if(Io)return H(),Ie("string",he);he+=H();return;case"'":if(!Io)return H(),Ie("string",he);he+=H();return;case`
5
- `:case"\r":throw Be(H());case"\u2028":case"\u2029":fC(be);break;case void 0:throw Be(H())}he+=H()},start(){switch(be){case"{":case"[":return Ie("punctuator",H())}me="value"},beforePropertyName(){switch(be){case"$":case"_":he=H(),me="identifierName";return;case"\\":H(),me="identifierNameStartEscape";return;case"}":return Ie("punctuator",H());case'"':case"'":Io=H()==='"',me="string";return}if(ze.isIdStartChar(be)){he+=H(),me="identifierName";return}throw Be(H())},afterPropertyName(){if(be===":")return Ie("punctuator",H());throw Be(H())},beforePropertyValue(){me="value"},afterPropertyValue(){switch(be){case",":case"}":return Ie("punctuator",H())}throw Be(H())},beforeArrayValue(){if(be==="]")return Ie("punctuator",H());me="value"},afterArrayValue(){switch(be){case",":case"]":return Ie("punctuator",H())}throw Be(H())},end(){throw Be(H())}};function Ie(t,e){return{type:t,value:e,line:zr,column:Ut}}function ln(t){for(let e of t){if(wr()!==e)throw Be(H());H()}}function cC(){switch(wr()){case"b":return H(),"\b";case"f":return H(),"\f";case"n":return H(),`
6
- `;case"r":return H(),"\r";case"t":return H()," ";case"v":return H(),"\v";case"0":if(H(),ze.isDigit(wr()))throw Be(H());return"\0";case"x":return H(),lC();case"u":return H(),Xu();case`
7
- `:case"\u2028":case"\u2029":return H(),"";case"\r":return H(),wr()===`
8
- `&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(H());case void 0:throw Be(H())}return H()}function lC(){let t="",e=wr();if(!ze.isHexDigit(e)||(t+=H(),e=wr(),!ze.isHexDigit(e)))throw Be(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Xu(){let t="",e=4;for(;e-- >0;){let r=wr();if(!ze.isHexDigit(r))throw Be(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var dC={start(){if(He.type==="eof")throw dn();Ku()},beforePropertyName(){switch(He.type){case"identifier":case"string":Zu=He.value,tt="afterPropertyName";return;case"punctuator":ui();return;case"eof":throw dn()}},afterPropertyName(){if(He.type==="eof")throw dn();tt="beforePropertyValue"},beforePropertyValue(){if(He.type==="eof")throw dn();Ku()},beforeArrayValue(){if(He.type==="eof")throw dn();if(He.type==="punctuator"&&He.value==="]"){ui();return}Ku()},afterPropertyValue(){if(He.type==="eof")throw dn();switch(He.value){case",":tt="beforePropertyName";return;case"}":ui()}},afterArrayValue(){if(He.type==="eof")throw dn();switch(He.value){case",":tt="beforeArrayValue";return;case"]":ui()}},end(){}};function Ku(){let t;switch(He.type){case"punctuator":switch(He.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=He.value;break}if(Bo===void 0)Bo=t;else{let e=Cr[Cr.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Zu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cr.push(t),Array.isArray(t)?tt="beforeArrayValue":tt="beforePropertyName";else{let e=Cr[Cr.length-1];e==null?tt="end":Array.isArray(e)?tt="afterArrayValue":tt="afterPropertyValue"}}function ui(){Cr.pop();let t=Cr[Cr.length-1];t==null?tt="end":Array.isArray(t)?tt="afterArrayValue":tt="afterPropertyValue"}function Be(t){return li(t===void 0?`JSON5: invalid end of input at ${zr}:${Ut}`:`JSON5: invalid character '${Fh(t)}' at ${zr}:${Ut}`)}function dn(){return li(`JSON5: invalid end of input at ${zr}:${Ut}`)}function Oh(){return Ut-=5,li(`JSON5: invalid identifier character at ${zr}:${Ut}`)}function fC(t){console.warn(`JSON5: '${Fh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Fh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let r=t.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return t}function li(t){let e=new SyntaxError(t);return e.lineNumber=zr,e.columnNumber=Ut,e}});var Mh=V((XD,Nh)=>{var ec=Vu();Nh.exports=function(e,r,n){let o=[],s="",a,c,l="",d;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,d=r.quote,r=r.replacer),typeof r=="function")c=r;else if(Array.isArray(r)){a=[];for(let y of r){let _;typeof y=="string"?_=y:(typeof y=="number"||y instanceof String||y instanceof Number)&&(_=String(y)),_!==void 0&&a.indexOf(_)<0&&a.push(_)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),l=" ".substr(0,n)):typeof n=="string"&&(l=n.substr(0,10)),f("",{"":e});function f(y,_){let m=_[y];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(y):typeof m.toJSON=="function"&&(m=m.toJSON(y))),c&&(m=c.call(_,y,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return p(m,!1);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?w(m):g(m)}function p(y){let _={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},v="";for(let S=0;S<y.length;S++){let D=y[S];switch(D){case"'":case'"':_[D]++,v+=D;continue;case"\0":if(ec.isDigit(y[S+1])){v+="\\x00";continue}}if(m[D]){v+=m[D];continue}if(D<" "){let O=D.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=D}let b=d||Object.keys(_).reduce((S,D)=>_[S]<_[D]?S:D);return v=v.replace(new RegExp(b,"g"),m[b]),b+v+b}function g(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let _=s;s=s+l;let m=a||Object.keys(y),v=[];for(let S of m){let D=f(S,y);if(D!==void 0){let O=A(S)+":";l!==""&&(O+=" "),O+=D,v.push(O)}}let b;if(v.length===0)b="{}";else{let S;if(l==="")S=v.join(","),b="{"+S+"}";else{let D=`,
9
- `+s;S=v.join(D),b=`{
1
+ "use strict";var fC=Object.create;var ai=Object.defineProperty;var hC=Object.getOwnPropertyDescriptor;var pC=Object.getOwnPropertyNames;var mC=Object.getPrototypeOf,gC=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(t&&(e=t(t=0)),e);var K=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ui=(t,e)=>{for(var n in e)ai(t,n,{get:e[n],enumerable:!0})},Nh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of pC(e))!gC.call(t,o)&&o!==n&&ai(t,o,{get:()=>e[o],enumerable:!(r=hC(e,o))||r.enumerable});return t};var Oe=(t,e,n)=>(n=t!=null?fC(mC(t)):{},Nh(e||!t||!t.__esModule?ai(n,"default",{value:t,enumerable:!0}):n,t)),Bh=t=>Nh(ai({},"__esModule",{value:!0}),t);var Mh=K((dR,ci)=>{ci.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;ci.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;ci.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Zu=K((fR,Lh)=>{var Xu=Mh();Lh.exports={isSpaceSeparator(t){return typeof t=="string"&&Xu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Xu.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Xu.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Hh=K((hR,qh)=>{var ze=Zu(),tc,nt,wn,di,Wn,$t,We,oc,Mo;qh.exports=function(e,n){tc=String(e),nt="start",wn=[],di=0,Wn=1,$t=0,We=void 0,oc=void 0,Mo=void 0;do We=yC(),CC[nt]();while(We.type!=="eof");return typeof n=="function"?nc({"":Mo},"",n):Mo};function nc(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),a=nc(r,s,n);a===void 0?delete r[s]:Object.defineProperty(r,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=nc(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var me,he,Bo,Cn,Ce;function yC(){for(me="default",he="",Bo=!1,Cn=1;;){Ce=En();let t=$h[me]();if(t)return t}}function En(){if(tc[di])return String.fromCodePoint(tc.codePointAt(di))}function z(){let t=En();return t===`
2
+ `?(Wn++,$t=0):t?$t+=t.length:$t++,t&&(di+=t.length),t}var $h={default(){switch(Ce){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":z();return;case"/":z(),me="comment";return;case void 0:return z(),Ie("eof")}if(ze.isSpaceSeparator(Ce)){z();return}return $h[nt]()},comment(){switch(Ce){case"*":z(),me="multiLineComment";return;case"/":z(),me="singleLineComment";return}throw Ne(z())},multiLineComment(){switch(Ce){case"*":z(),me="multiLineCommentAsterisk";return;case void 0:throw Ne(z())}z()},multiLineCommentAsterisk(){switch(Ce){case"*":z();return;case"/":z(),me="default";return;case void 0:throw Ne(z())}z(),me="multiLineComment"},singleLineComment(){switch(Ce){case`
4
+ `:case"\r":case"\u2028":case"\u2029":z(),me="default";return;case void 0:return z(),Ie("eof")}z()},value(){switch(Ce){case"{":case"[":return Ie("punctuator",z());case"n":return z(),fr("ull"),Ie("null",null);case"t":return z(),fr("rue"),Ie("boolean",!0);case"f":return z(),fr("alse"),Ie("boolean",!1);case"-":case"+":z()==="-"&&(Cn=-1),me="sign";return;case".":he=z(),me="decimalPointLeading";return;case"0":he=z(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=z(),me="decimalInteger";return;case"I":return z(),fr("nfinity"),Ie("numeric",1/0);case"N":return z(),fr("aN"),Ie("numeric",NaN);case'"':case"'":Bo=z()==='"',he="",me="string";return}throw Ne(z())},identifierNameStartEscape(){if(Ce!=="u")throw Ne(z());z();let t=rc();switch(t){case"$":case"_":break;default:if(!ze.isIdStartChar(t))throw jh();break}he+=t,me="identifierName"},identifierName(){switch(Ce){case"$":case"_":case"\u200C":case"\u200D":he+=z();return;case"\\":z(),me="identifierNameEscape";return}if(ze.isIdContinueChar(Ce)){he+=z();return}return Ie("identifier",he)},identifierNameEscape(){if(Ce!=="u")throw Ne(z());z();let t=rc();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ze.isIdContinueChar(t))throw jh();break}he+=t,me="identifierName"},sign(){switch(Ce){case".":he=z(),me="decimalPointLeading";return;case"0":he=z(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=z(),me="decimalInteger";return;case"I":return z(),fr("nfinity"),Ie("numeric",Cn*(1/0));case"N":return z(),fr("aN"),Ie("numeric",NaN)}throw Ne(z())},zero(){switch(Ce){case".":he+=z(),me="decimalPoint";return;case"e":case"E":he+=z(),me="decimalExponent";return;case"x":case"X":he+=z(),me="hexadecimal";return}return Ie("numeric",Cn*0)},decimalInteger(){switch(Ce){case".":he+=z(),me="decimalPoint";return;case"e":case"E":he+=z(),me="decimalExponent";return}if(ze.isDigit(Ce)){he+=z();return}return Ie("numeric",Cn*Number(he))},decimalPointLeading(){if(ze.isDigit(Ce)){he+=z(),me="decimalFraction";return}throw Ne(z())},decimalPoint(){switch(Ce){case"e":case"E":he+=z(),me="decimalExponent";return}if(ze.isDigit(Ce)){he+=z(),me="decimalFraction";return}return Ie("numeric",Cn*Number(he))},decimalFraction(){switch(Ce){case"e":case"E":he+=z(),me="decimalExponent";return}if(ze.isDigit(Ce)){he+=z();return}return Ie("numeric",Cn*Number(he))},decimalExponent(){switch(Ce){case"+":case"-":he+=z(),me="decimalExponentSign";return}if(ze.isDigit(Ce)){he+=z(),me="decimalExponentInteger";return}throw Ne(z())},decimalExponentSign(){if(ze.isDigit(Ce)){he+=z(),me="decimalExponentInteger";return}throw Ne(z())},decimalExponentInteger(){if(ze.isDigit(Ce)){he+=z();return}return Ie("numeric",Cn*Number(he))},hexadecimal(){if(ze.isHexDigit(Ce)){he+=z(),me="hexadecimalInteger";return}throw Ne(z())},hexadecimalInteger(){if(ze.isHexDigit(Ce)){he+=z();return}return Ie("numeric",Cn*Number(he))},string(){switch(Ce){case"\\":z(),he+=_C();return;case'"':if(Bo)return z(),Ie("string",he);he+=z();return;case"'":if(!Bo)return z(),Ie("string",he);he+=z();return;case`
5
+ `:case"\r":throw Ne(z());case"\u2028":case"\u2029":wC(Ce);break;case void 0:throw Ne(z())}he+=z()},start(){switch(Ce){case"{":case"[":return Ie("punctuator",z())}me="value"},beforePropertyName(){switch(Ce){case"$":case"_":he=z(),me="identifierName";return;case"\\":z(),me="identifierNameStartEscape";return;case"}":return Ie("punctuator",z());case'"':case"'":Bo=z()==='"',me="string";return}if(ze.isIdStartChar(Ce)){he+=z(),me="identifierName";return}throw Ne(z())},afterPropertyName(){if(Ce===":")return Ie("punctuator",z());throw Ne(z())},beforePropertyValue(){me="value"},afterPropertyValue(){switch(Ce){case",":case"}":return Ie("punctuator",z())}throw Ne(z())},beforeArrayValue(){if(Ce==="]")return Ie("punctuator",z());me="value"},afterArrayValue(){switch(Ce){case",":case"]":return Ie("punctuator",z())}throw Ne(z())},end(){throw Ne(z())}};function Ie(t,e){return{type:t,value:e,line:Wn,column:$t}}function fr(t){for(let e of t){if(En()!==e)throw Ne(z());z()}}function _C(){switch(En()){case"b":return z(),"\b";case"f":return z(),"\f";case"n":return z(),`
6
+ `;case"r":return z(),"\r";case"t":return z()," ";case"v":return z(),"\v";case"0":if(z(),ze.isDigit(En()))throw Ne(z());return"\0";case"x":return z(),bC();case"u":return z(),rc();case`
7
+ `:case"\u2028":case"\u2029":return z(),"";case"\r":return z(),En()===`
8
+ `&&z(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Ne(z());case void 0:throw Ne(z())}return z()}function bC(){let t="",e=En();if(!ze.isHexDigit(e)||(t+=z(),e=En(),!ze.isHexDigit(e)))throw Ne(z());return t+=z(),String.fromCodePoint(parseInt(t,16))}function rc(){let t="",e=4;for(;e-- >0;){let n=En();if(!ze.isHexDigit(n))throw Ne(z());t+=z()}return String.fromCodePoint(parseInt(t,16))}var CC={start(){if(We.type==="eof")throw hr();ec()},beforePropertyName(){switch(We.type){case"identifier":case"string":oc=We.value,nt="afterPropertyName";return;case"punctuator":li();return;case"eof":throw hr()}},afterPropertyName(){if(We.type==="eof")throw hr();nt="beforePropertyValue"},beforePropertyValue(){if(We.type==="eof")throw hr();ec()},beforeArrayValue(){if(We.type==="eof")throw hr();if(We.type==="punctuator"&&We.value==="]"){li();return}ec()},afterPropertyValue(){if(We.type==="eof")throw hr();switch(We.value){case",":nt="beforePropertyName";return;case"}":li()}},afterArrayValue(){if(We.type==="eof")throw hr();switch(We.value){case",":nt="beforeArrayValue";return;case"]":li()}},end(){}};function ec(){let t;switch(We.type){case"punctuator":switch(We.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=We.value;break}if(Mo===void 0)Mo=t;else{let e=wn[wn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,oc,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")wn.push(t),Array.isArray(t)?nt="beforeArrayValue":nt="beforePropertyName";else{let e=wn[wn.length-1];e==null?nt="end":Array.isArray(e)?nt="afterArrayValue":nt="afterPropertyValue"}}function li(){wn.pop();let t=wn[wn.length-1];t==null?nt="end":Array.isArray(t)?nt="afterArrayValue":nt="afterPropertyValue"}function Ne(t){return fi(t===void 0?`JSON5: invalid end of input at ${Wn}:${$t}`:`JSON5: invalid character '${Uh(t)}' at ${Wn}:${$t}`)}function hr(){return fi(`JSON5: invalid end of input at ${Wn}:${$t}`)}function jh(){return $t-=5,fi(`JSON5: invalid identifier character at ${Wn}:${$t}`)}function wC(t){console.warn(`JSON5: '${Uh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Uh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let n=t.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return t}function fi(t){let e=new SyntaxError(t);return e.lineNumber=Wn,e.columnNumber=$t,e}});var Wh=K((pR,zh)=>{var sc=Zu();zh.exports=function(e,n,r){let o=[],s="",a,c,l="",d;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,d=n.quote,n=n.replacer),typeof n=="function")c=n;else if(Array.isArray(n)){a=[];for(let b of n){let y;typeof b=="string"?y=b:(typeof b=="number"||b instanceof String||b instanceof Number)&&(y=String(b)),y!==void 0&&a.indexOf(y)<0&&a.push(y)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),l=" ".substr(0,r)):typeof r=="string"&&(l=r.substr(0,10)),f("",{"":e});function f(b,y){let m=y[b];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(b):typeof m.toJSON=="function"&&(m=m.toJSON(b))),c&&(m=c.call(y,b,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return p(m,!1);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?C(m):g(m)}function p(b){let y={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},k="";for(let S=0;S<b.length;S++){let T=b[S];switch(T){case"'":case'"':y[T]++,k+=T;continue;case"\0":if(sc.isDigit(b[S+1])){k+="\\x00";continue}}if(m[T]){k+=m[T];continue}if(T<" "){let R=T.charCodeAt(0).toString(16);k+="\\x"+("00"+R).substring(R.length);continue}k+=T}let w=d||Object.keys(y).reduce((S,T)=>y[S]<y[T]?S:T);return k=k.replace(new RegExp(w,"g"),m[w]),w+k+w}function g(b){if(o.indexOf(b)>=0)throw TypeError("Converting circular structure to JSON5");o.push(b);let y=s;s=s+l;let m=a||Object.keys(b),k=[];for(let S of m){let T=f(S,b);if(T!==void 0){let R=_(S)+":";l!==""&&(R+=" "),R+=T,k.push(R)}}let w;if(k.length===0)w="{}";else{let S;if(l==="")S=k.join(","),w="{"+S+"}";else{let T=`,
9
+ `+s;S=k.join(T),w=`{
10
10
  `+s+S+`,
11
- `+_+"}"}}return o.pop(),s=_,b}function A(y){if(y.length===0)return p(y,!0);let _=String.fromCodePoint(y.codePointAt(0));if(!ec.isIdStartChar(_))return p(y,!0);for(let m=_.length;m<y.length;m++)if(!ec.isIdContinueChar(String.fromCodePoint(y.codePointAt(m))))return p(y,!0);return y}function w(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let _=s;s=s+l;let m=[];for(let b=0;b<y.length;b++){let S=f(String(b),y);m.push(S!==void 0?S:"null")}let v;if(m.length===0)v="[]";else if(l==="")v="["+m.join(",")+"]";else{let b=`,
12
- `+s,S=m.join(b);v=`[
11
+ `+y+"}"}}return o.pop(),s=y,w}function _(b){if(b.length===0)return p(b,!0);let y=String.fromCodePoint(b.codePointAt(0));if(!sc.isIdStartChar(y))return p(b,!0);for(let m=y.length;m<b.length;m++)if(!sc.isIdContinueChar(String.fromCodePoint(b.codePointAt(m))))return p(b,!0);return b}function C(b){if(o.indexOf(b)>=0)throw TypeError("Converting circular structure to JSON5");o.push(b);let y=s;s=s+l;let m=[];for(let w=0;w<b.length;w++){let S=f(String(w),b);m.push(S!==void 0?S:"null")}let k;if(m.length===0)k="[]";else if(l==="")k="["+m.join(",")+"]";else{let w=`,
12
+ `+s,S=m.join(w);k=`[
13
13
  `+s+S+`,
14
- `+_+"]"}return o.pop(),s=_,v}}});var tc=V((ZD,jh)=>{var hC=Bh(),pC=Mh(),mC={parse:hC,stringify:pC};jh.exports=mC});var ep={};ii(ep,{getFallbackPromotionStore:()=>Mo,resetFallbackPromotionStore:()=>bC});function Mo(t){return hn||(hn=new sc,t&&hn.configure(t)),hn}function bC(){hn&&(hn.clearAll(),hn=null)}var _C,sc,hn,fi=Me(()=>{"use strict";Hn();_C=600*1e3,sc=class{promotions=new Map;enabled=!0;ttlMs=_C;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,r,n){return`${e},${r}:${n}`}promote(e,r,n,o,s,a){if(!this.enabled)return;let c=this.getKey(e,r,n),l=`${o},${s}`;this.promotions.set(c,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,r,n,o){if(!this.enabled)return null;let s=this.getKey(e,r,n),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...d]=a.promotedModel.split(","),f=d.join(",");if(!Xe().isAvailable(l,f))return this.promotions.delete(s),null;let g=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),A=g?.models?.find(w=>String(w).toLowerCase()===f.toLowerCase());return!g||!A||g.enabled===!1?(this.promotions.delete(s),null):`${g.name},${A}`}clear(e,r,n){let o=this.getKey(e,r,n);this.promotions.delete(o)}clearByPrimary(e,r){let n=`${e},${r}:`,o=0;for(let s of this.promotions.keys())s.startsWith(n)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[r,n]of this.promotions)e-n.timestamp>=n.ttlMs&&this.promotions.delete(r)}getAllPromotions(){let e=Date.now(),r=[];for(let[n,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&r.push({key:n,promotedModel:o.promotedModel,remainingMs:s})}return r}},hn=null});function Xe(t){return ic||(ic=new jo(t)),ic}var CC,jo,ic,Hn=Me(()=>{"use strict";CC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},jo=class{states=new Map;config;probeTimer;constructor(e){this.config={...CC,...e}}getKey(e,r){return`${e},${r}`}recordSuccess(e,r){if(!this.config.enabled)return;let n=this.getKey(e,r),o=this.states.get(n);o&&(o.successCount++,o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,r),this.states.delete(n)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0))}clearPromotionsForPrimary(e,r){try{let{getFallbackPromotionStore:n}=(fi(),Dh(ep));n().clearByPrimary(e,r)}catch{}}recordFailure(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s||(s={provider:e,model:r,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=n,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,r){return this.states.get(this.getKey(e,r))}isAvailable(e,r){if(!this.config.enabled)return!0;let n=this.getState(e,r);return n?n.status!=="open":!0}getPriority(e,r){if(!this.config.enabled)return 0;let n=this.getState(e,r);if(!n)return 0;switch(n.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[r,n]of this.states)n.status==="open"&&e.push(r);return e}getHalfOpenModels(){let e=[];for(let[r,n]of this.states)n.status==="half-open"&&e.push(r);return e}forceOpen(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=n,s.lastProbeTime=0):(s={provider:e,model:r,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:n},this.states.set(o,s))}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,r){let n=this.getKey(e,r),o=this.states.get(n);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,r){let n=this.getKey(e,r);this.states.delete(n)}getAllStates(){return Array.from(this.states.values())}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},ic=null});var pc=V((jR,kp)=>{"use strict";var Ci=Object.prototype.hasOwnProperty,Sp=Object.prototype.toString,_p=Object.defineProperty,bp=Object.getOwnPropertyDescriptor,Cp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Sp.call(e)==="[object Array]"},wp=function(e){if(!e||Sp.call(e)!=="[object Object]")return!1;var r=Ci.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Ci.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Ci.call(e,o)},Ep=function(e,r){_p&&r.name==="__proto__"?_p(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Ap=function(e,r){if(r==="__proto__")if(Ci.call(e,r)){if(bp)return bp(e,r).value}else return;return e[r]};kp.exports=function t(){var e,r,n,o,s,a,c=arguments[0],l=1,d=arguments.length,f=!1;for(typeof c=="boolean"&&(f=c,c=arguments[1]||{},l=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});l<d;++l)if(e=arguments[l],e!=null)for(r in e)n=Ap(c,r),o=Ap(e,r),c!==o&&(f&&o&&(wp(o)||(s=Cp(o)))?(s?(s=!1,a=n&&Cp(n)?n:[]):a=n&&wp(n)?n:{},Ep(c,{name:r,newValue:t(f,a,o)})):typeof o<"u"&&Ep(c,{name:r,newValue:o}));return c}});var vp=V((LR,NC)=>{NC.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Dp=V((UR,Tp)=>{"use strict";var MC=vp();Tp.exports={pkg:MC}});var yc=V(vt=>{"use strict";var xp=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.GaxiosError=vt.GAXIOS_ERROR_SYMBOL=void 0;vt.defaultErrorRedactor=Op;var Rp=xp(pc()),jC=xp(Dp()),mc=jC.default.pkg;vt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${mc.name}-gaxios-error`);var gc=class t extends Error{config;response;code;status;error;[vt.GAXIOS_ERROR_SYMBOL]=mc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&vt.GAXIOS_ERROR_SYMBOL in e&&e[vt.GAXIOS_ERROR_SYMBOL]===mc.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,o){if(super(e,{cause:o}),this.config=r,this.response=n,this.error=o instanceof Error?o:void 0,this.config=(0,Rp.default)(!0,{},r),this.response&&(this.response.config=(0,Rp.default)(!0,{},this.response.config)),this.response){try{this.response.data=LC(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,r="The request failed"){let n=r;if(typeof e.data=="string"&&(n=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){n="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:n;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&a.push(c.message);return Object.assign({message:a.join(`
15
- `)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};vt.GaxiosError=gc;function LC(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Op(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let c=s[a];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Op({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var Fp=V(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.getRetryConfig=UC;async function UC(t){let e=Pp(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||$C)(t))return{shouldRetry:!1,config:t.config};let o=qC(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function $C(t){let e=Pp(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Pp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function qC(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var Cc=V(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.GaxiosInterceptorManager=void 0;var bc=class extends Set{};wi.GaxiosInterceptorManager=bc});var Bp=V((HR,Ip)=>{var Jn=1e3,Vn=Jn*60,Kn=Vn*60,mn=Kn*24,zC=mn*7,HC=mn*365.25;Ip.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return WC(t);if(r==="number"&&isFinite(t))return e.long?JC(t):GC(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function WC(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*HC;case"weeks":case"week":case"w":return r*zC;case"days":case"day":case"d":return r*mn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function GC(t){var e=Math.abs(t);return e>=mn?Math.round(t/mn)+"d":e>=Kn?Math.round(t/Kn)+"h":e>=Vn?Math.round(t/Vn)+"m":e>=Jn?Math.round(t/Jn)+"s":t+"ms"}function JC(t){var e=Math.abs(t);return e>=mn?Ei(t,e,mn,"day"):e>=Kn?Ei(t,e,Kn,"hour"):e>=Vn?Ei(t,e,Vn,"minute"):e>=Jn?Ei(t,e,Jn,"second"):t+" ms"}function Ei(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var wc=V((WR,Np)=>{function VC(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=c,r.humanize=Bp(),r.destroy=d,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let p=0;for(let g=0;g<f.length;g++)p=(p<<5)-p+f.charCodeAt(g),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(f){let p,g=null,A,w;function y(..._){if(!y.enabled)return;let m=y,v=Number(new Date),b=v-(p||v);m.diff=b,m.prev=p,m.curr=v,p=v,_[0]=r.coerce(_[0]),typeof _[0]!="string"&&_.unshift("%O");let S=0;_[0]=_[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";S++;let J=r.formatters[q];if(typeof J=="function"){let B=_[S];O=J.call(m,B),_.splice(S,1),S--}return O}),r.formatArgs.call(m,_),(m.log||r.log).apply(m,_)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(A!==r.namespaces&&(A=r.namespaces,w=r.enabled(f)),w),set:_=>{g=_}}),typeof r.init=="function"&&r.init(y),y}function n(f,p){let g=r(this.namespace+(typeof p>"u"?":":p)+f);return g.log=this.log,g}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let g of p)g[0]==="-"?r.skips.push(g.slice(1)):r.names.push(g)}function s(f,p){let g=0,A=0,w=-1,y=0;for(;g<f.length;)if(A<p.length&&(p[A]===f[g]||p[A]==="*"))p[A]==="*"?(w=A,y=g,A++):(g++,A++);else if(w!==-1)A=w+1,y++,g=y;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let f=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),f}function c(f){for(let p of r.skips)if(s(f,p))return!1;for(let p of r.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Np.exports=VC});var Mp=V((at,Ai)=>{at.formatArgs=YC;at.save=QC;at.load=XC;at.useColors=KC;at.storage=ZC();at.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();at.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function KC(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function YC(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ai.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}at.log=console.debug||console.log||(()=>{});function QC(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function XC(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function ZC(){try{return localStorage}catch{}}Ai.exports=wc()(at);var{formatters:ew}=Ai.exports;ew.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Lp=V((GR,jp)=>{"use strict";jp.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var qp=V((JR,$p)=>{"use strict";var tw=require("os"),Up=require("tty"),Tt=Lp(),{env:We}=process,Hr;Tt("no-color")||Tt("no-colors")||Tt("color=false")||Tt("color=never")?Hr=0:(Tt("color")||Tt("colors")||Tt("color=true")||Tt("color=always"))&&(Hr=1);"FORCE_COLOR"in We&&(We.FORCE_COLOR==="true"?Hr=1:We.FORCE_COLOR==="false"?Hr=0:Hr=We.FORCE_COLOR.length===0?1:Math.min(parseInt(We.FORCE_COLOR,10),3));function Ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ac(t,e){if(Hr===0)return 0;if(Tt("color=16m")||Tt("color=full")||Tt("color=truecolor"))return 3;if(Tt("color=256"))return 2;if(t&&!e&&Hr===void 0)return 0;let r=Hr||0;if(We.TERM==="dumb")return r;if(process.platform==="win32"){let n=tw.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in We)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in We)||We.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in We){let n=parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:r}function rw(t){let e=Ac(t,t&&t.isTTY);return Ec(e)}$p.exports={supportsColor:rw,stdout:Ec(Ac(!0,Up.isatty(1))),stderr:Ec(Ac(!0,Up.isatty(2)))}});var Hp=V((Ge,ki)=>{var nw=require("tty"),Si=require("util");Ge.init=lw;Ge.log=aw;Ge.formatArgs=sw;Ge.save=uw;Ge.load=cw;Ge.useColors=ow;Ge.destroy=Si.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ge.colors=[6,2,3,4,5,1];try{let t=qp();t&&(t.stderr||t).level>=2&&(Ge.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ge.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function ow(){return"colors"in Ge.inspectOpts?!!Ge.inspectOpts.colors:nw.isatty(process.stderr.fd)}function sw(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
14
+ `+y+"]"}return o.pop(),s=y,k}}});var ic=K((mR,Gh)=>{var EC=Hh(),SC=Wh(),AC={parse:EC,stringify:SC};Gh.exports=AC});var up={};ui(up,{getFallbackPromotionStore:()=>jo,resetFallbackPromotionStore:()=>DC});function jo(t){return mr||(mr=new lc,t&&mr.configure(t)),mr}function DC(){mr&&(mr.clearAll(),mr=null)}var TC,lc,mr,pi=Me(()=>{"use strict";Gn();TC=600*1e3,lc=class{promotions=new Map;enabled=!0;ttlMs=TC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,n,r){return`${e},${n}:${r}`}promote(e,n,r,o,s,a){if(!this.enabled)return;let c=this.getKey(e,n,r),l=`${o},${s}`;this.promotions.set(c,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,n,r,o){if(!this.enabled)return null;let s=this.getKey(e,n,r),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...d]=a.promotedModel.split(","),f=d.join(",");if(!Ge().isAvailable(l,f))return this.promotions.delete(s),null;let g=o.find(C=>C.name.toLowerCase()===l.toLowerCase()),_=g?.models?.find(C=>String(C).toLowerCase()===f.toLowerCase());return!g||!_||g.enabled===!1?(this.promotions.delete(s),null):`${g.name},${_}`}clear(e,n,r){let o=this.getKey(e,n,r);this.promotions.delete(o)}clearByPrimary(e,n){let r=`${e},${n}:`,o=0;for(let s of this.promotions.keys())s.startsWith(r)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[n,r]of this.promotions)e-r.timestamp>=r.ttlMs&&this.promotions.delete(n)}getAllPromotions(){let e=Date.now(),n=[];for(let[r,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&n.push({key:r,promotedModel:o.promotedModel,remainingMs:s})}return n}},mr=null});function PC(t){try{if(!(0,Sn.existsSync)(hc))return;let e=JSON.parse((0,Sn.readFileSync)(hc,"utf-8"));if(!Array.isArray(e))return;let n=Date.now();for(let r of e){if(!r||!r.provider||!r.model)continue;let o=r.updatedAt||r.lastFailureTime||0;o&&n-o>1440*60*1e3||t.restore({provider:r.provider,model:r.model,status:r.status,failureCount:r.failureCount??0,successCount:r.successCount??0,lastFailureTime:r.lastFailureTime??0,lastProbeTime:r.lastProbeTime??0,lastError:r.lastError,rateLimitUntil:r.rateLimitUntil})}}catch{}}function lp(t){try{let e=t.getAllStates();if(e.length===0)return;(0,Sn.existsSync)(fc)||(0,Sn.mkdirSync)(fc,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));(0,Sn.writeFileSync)(hc,JSON.stringify(n,null,2),"utf-8")}catch{}}function mi(){if(cp)return;cp=!0;let t=Ge();PC(t),OC=setInterval(()=>lp(t),6e4),process.on("exit",()=>lp(t))}function Ge(t){return dc||(dc=new $o(t)),dc}var Sn,pc,dp,RC,xC,$o,fc,hc,cp,OC,dc,Gn=Me(()=>{"use strict";Sn=require("fs"),pc=require("path"),dp=require("@wengine-ai/claude-code-router-shared"),RC=120,xC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},$o=class{states=new Map;config;probeTimer;constructor(e){this.config={...xC,...e}}getKey(e,n){return`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n),o=this.states.get(r);o&&(o.successCount++,!o.rateLimitUntil&&(o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,n),this.states.delete(r)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0)))}clearPromotionsForPrimary(e,n){try{let{getFallbackPromotionStore:r}=(pi(),Bh(up));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n),s=this.states.get(o);s||(s={provider:e,model:n,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=r,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,n){return this.states.get(this.getKey(e,n))}isAvailable(e,n){if(!this.config.enabled)return!0;let r=this.getState(e,n);return r?r.status==="open"&&r.rateLimitUntil?!(Date.now()<r.rateLimitUntil):r.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;let r=this.getState(e,n);if(!r)return 0;switch(r.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&e.push(n);return e}getHalfOpenModels(){let e=[];for(let[n,r]of this.states)r.status==="half-open"&&e.push(n);return e}forceOpen(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n),s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=r,s.lastProbeTime=0):(s={provider:e,model:n,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:r},this.states.set(o,s))}markRateLimited(e,n,r,o){if(!this.config.enabled)return;let s=this.getKey(e,n),a=this.states.get(s);a?(a.status="open",a.lastFailureTime=Date.now(),a.lastError=o||"rate-limited",a.lastProbeTime=0):(a={provider:e,model:n,status:"open",failureCount:0,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:o||"rate-limited"},this.states.set(s,a));let c=(r??RC)*1e3;a.rateLimitUntil=Date.now()+c}getRateLimitedModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&r.rateLimitUntil&&e.push(n);return e}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,n){let r=this.getKey(e,n),o=this.states.get(r);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,n){let r=this.getKey(e,n);this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){this.states.set(this.getKey(e.provider,e.model),{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},fc=(0,pc.join)(dp.HOME_DIR,"runtime"),hc=(0,pc.join)(fc,"provider-health.json"),cp=!1,OC=null;dc=null});var Ec=K((nx,Np)=>{"use strict";var ki=Object.prototype.hasOwnProperty,Ip=Object.prototype.toString,Dp=Object.defineProperty,Rp=Object.getOwnPropertyDescriptor,xp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Ip.call(e)==="[object Array]"},Op=function(e){if(!e||Ip.call(e)!=="[object Object]")return!1;var n=ki.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&ki.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||ki.call(e,o)},Pp=function(e,n){Dp&&n.name==="__proto__"?Dp(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Fp=function(e,n){if(n==="__proto__")if(ki.call(e,n)){if(Rp)return Rp(e,n).value}else return;return e[n]};Np.exports=function t(){var e,n,r,o,s,a,c=arguments[0],l=1,d=arguments.length,f=!1;for(typeof c=="boolean"&&(f=c,c=arguments[1]||{},l=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});l<d;++l)if(e=arguments[l],e!=null)for(n in e)r=Fp(c,n),o=Fp(e,n),c!==o&&(f&&o&&(Op(o)||(s=xp(o)))?(s?(s=!1,a=r&&xp(r)?r:[]):a=r&&Op(r)?r:{},Pp(c,{name:n,newValue:t(f,a,o)})):typeof o<"u"&&Pp(c,{name:n,newValue:o}));return c}});var Bp=K((rx,KC)=>{KC.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Lp=K((ox,Mp)=>{"use strict";var YC=Bp();Mp.exports={pkg:YC}});var kc=K(vt=>{"use strict";var $p=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.GaxiosError=vt.GAXIOS_ERROR_SYMBOL=void 0;vt.defaultErrorRedactor=Up;var jp=$p(Ec()),QC=$p(Lp()),Sc=QC.default.pkg;vt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Sc.name}-gaxios-error`);var Ac=class t extends Error{config;response;code;status;error;[vt.GAXIOS_ERROR_SYMBOL]=Sc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&vt.GAXIOS_ERROR_SYMBOL in e&&e[vt.GAXIOS_ERROR_SYMBOL]===Sc.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,jp.default)(!0,{},n),this.response&&(this.response.config=(0,jp.default)(!0,{},this.response.config)),this.response){try{this.response.data=XC(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&a.push(c.message);return Object.assign({message:a.join(`
15
+ `)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};vt.GaxiosError=Ac;function XC(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Up(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((a,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function r(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let c=s[a];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Up({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var Hp=K(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.getRetryConfig=ZC;async function ZC(t){let e=qp(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||ew)(t))return{shouldRetry:!1,config:t.config};let o=tw(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function ew(t){let e=qp(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function qp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function tw(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var Dc=K(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.GaxiosInterceptorManager=void 0;var Tc=class extends Set{};vi.GaxiosInterceptorManager=Tc});var Wp=K((ux,zp)=>{var Kr=1e3,Yr=Kr*60,Qr=Yr*60,yr=Qr*24,nw=yr*7,rw=yr*365.25;zp.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return ow(t);if(n==="number"&&isFinite(t))return e.long?iw(t):sw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function ow(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*rw;case"weeks":case"week":case"w":return n*nw;case"days":case"day":case"d":return n*yr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Qr;case"minutes":case"minute":case"mins":case"min":case"m":return n*Yr;case"seconds":case"second":case"secs":case"sec":case"s":return n*Kr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function sw(t){var e=Math.abs(t);return e>=yr?Math.round(t/yr)+"d":e>=Qr?Math.round(t/Qr)+"h":e>=Yr?Math.round(t/Yr)+"m":e>=Kr?Math.round(t/Kr)+"s":t+"ms"}function iw(t){var e=Math.abs(t);return e>=yr?Ti(t,e,yr,"day"):e>=Qr?Ti(t,e,Qr,"hour"):e>=Yr?Ti(t,e,Yr,"minute"):e>=Kr?Ti(t,e,Kr,"second"):t+" ms"}function Ti(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var Rc=K((cx,Gp)=>{function aw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=c,n.humanize=Wp(),n.destroy=d,Object.keys(t).forEach(f=>{n[f]=t[f]}),n.names=[],n.skips=[],n.formatters={};function e(f){let p=0;for(let g=0;g<f.length;g++)p=(p<<5)-p+f.charCodeAt(g),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=e;function n(f){let p,g=null,_,C;function b(...y){if(!b.enabled)return;let m=b,k=Number(new Date),w=k-(p||k);m.diff=w,m.prev=p,m.curr=k,p=k,y[0]=n.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let S=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(R,U)=>{if(R==="%%")return"%";S++;let J=n.formatters[U];if(typeof J=="function"){let F=y[S];R=J.call(m,F),y.splice(S,1),S--}return R}),n.formatArgs.call(m,y),(m.log||n.log).apply(m,y)}return b.namespace=f,b.useColors=n.useColors(),b.color=n.selectColor(f),b.extend=r,b.destroy=n.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(_!==n.namespaces&&(_=n.namespaces,C=n.enabled(f)),C),set:y=>{g=y}}),typeof n.init=="function"&&n.init(b),b}function r(f,p){let g=n(this.namespace+(typeof p>"u"?":":p)+f);return g.log=this.log,g}function o(f){n.save(f),n.namespaces=f,n.names=[],n.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let g of p)g[0]==="-"?n.skips.push(g.slice(1)):n.names.push(g)}function s(f,p){let g=0,_=0,C=-1,b=0;for(;g<f.length;)if(_<p.length&&(p[_]===f[g]||p[_]==="*"))p[_]==="*"?(C=_,b=g,_++):(g++,_++);else if(C!==-1)_=C+1,b++,g=b;else return!1;for(;_<p.length&&p[_]==="*";)_++;return _===p.length}function a(){let f=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),f}function c(f){for(let p of n.skips)if(s(f,p))return!1;for(let p of n.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}Gp.exports=aw});var Jp=K((at,Di)=>{at.formatArgs=cw;at.save=lw;at.load=dw;at.useColors=uw;at.storage=fw();at.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();at.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function uw(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function cw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Di.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}at.log=console.debug||console.log||(()=>{});function lw(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function dw(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function fw(){try{return localStorage}catch{}}Di.exports=Rc()(at);var{formatters:hw}=Di.exports;hw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Kp=K((lx,Vp)=>{"use strict";Vp.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var Xp=K((dx,Qp)=>{"use strict";var pw=require("os"),Yp=require("tty"),Tt=Kp(),{env:Je}=process,Jn;Tt("no-color")||Tt("no-colors")||Tt("color=false")||Tt("color=never")?Jn=0:(Tt("color")||Tt("colors")||Tt("color=true")||Tt("color=always"))&&(Jn=1);"FORCE_COLOR"in Je&&(Je.FORCE_COLOR==="true"?Jn=1:Je.FORCE_COLOR==="false"?Jn=0:Jn=Je.FORCE_COLOR.length===0?1:Math.min(parseInt(Je.FORCE_COLOR,10),3));function xc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Oc(t,e){if(Jn===0)return 0;if(Tt("color=16m")||Tt("color=full")||Tt("color=truecolor"))return 3;if(Tt("color=256"))return 2;if(t&&!e&&Jn===void 0)return 0;let n=Jn||0;if(Je.TERM==="dumb")return n;if(process.platform==="win32"){let r=pw.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in Je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in Je)||Je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in Je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Je.TEAMCITY_VERSION)?1:0;if(Je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Je){let r=parseInt((Je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Je.TERM)||"COLORTERM"in Je?1:n}function mw(t){let e=Oc(t,t&&t.isTTY);return xc(e)}Qp.exports={supportsColor:mw,stdout:xc(Oc(!0,Yp.isatty(1))),stderr:xc(Oc(!0,Yp.isatty(2)))}});var em=K((Ve,xi)=>{var gw=require("tty"),Ri=require("util");Ve.init=Sw;Ve.log=Cw;Ve.formatArgs=_w;Ve.save=ww;Ve.load=Ew;Ve.useColors=yw;Ve.destroy=Ri.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ve.colors=[6,2,3,4,5,1];try{let t=Xp();t&&(t.stderr||t).level>=2&&(Ve.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ve.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function yw(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:gw.isatty(process.stderr.fd)}function _w(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
16
16
  `).join(`
17
- `+s),t.push(o+"m+"+ki.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=iw()+e+" "+t[0]}function iw(){return Ge.inspectOpts.hideDate?"":new Date().toISOString()+" "}function aw(...t){return process.stderr.write(Si.formatWithOptions(Ge.inspectOpts,...t)+`
18
- `)}function uw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function cw(){return process.env.DEBUG}function lw(t){t.inspectOpts={};let e=Object.keys(Ge.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ge.inspectOpts[e[r]]}ki.exports=wc()(Ge);var{formatters:zp}=ki.exports;zp.o=function(t){return this.inspectOpts.colors=this.useColors,Si.inspect(t,this.inspectOpts).split(`
19
- `).map(e=>e.trim()).join(" ")};zp.O=function(t){return this.inspectOpts.colors=this.useColors,Si.inspect(t,this.inspectOpts)}});var kc=V((VR,Sc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Sc.exports=Mp():Sc.exports=Hp()});var Jp=V(ut=>{"use strict";var dw=ut&&ut.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),fw=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Wp=ut&&ut.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&dw(e,t,r);return fw(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var hw=Wp(require("http")),pw=Wp(require("https"));async function Gp(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ut.toBuffer=Gp;async function mw(t){let r=(await Gp(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ut.json=mw;function gw(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?pw:hw).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ut.req=gw});var Qp=V(ht=>{"use strict";var Kp=ht&&ht.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),yw=ht&&ht.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Yp=ht&&ht.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Kp(e,t,r);return yw(e,t),e},_w=ht&&ht.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Kp(e,t,r)};Object.defineProperty(ht,"__esModule",{value:!0});ht.Agent=void 0;var bw=Yp(require("net")),Vp=Yp(require("http")),Cw=require("https");_w(Jp(),ht);var Zt=Symbol("AgentBaseInternalState"),vc=class extends Vp.Agent{constructor(e){super(e),this[Zt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
20
- `).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new bw.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?Cw.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof Vp.Agent)try{return c.addRequest(e,o)}catch(l){return n(l)}this[Zt].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[Zt].currentSocket;if(this[Zt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Zt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Zt]&&(this[Zt].defaultPort=e)}get protocol(){return this[Zt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Zt]&&(this[Zt].protocol=e)}};ht.Agent=vc});var Xp=V(Yn=>{"use strict";var ww=Yn&&Yn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yn,"__esModule",{value:!0});Yn.parseProxyResponse=void 0;var Ew=ww(kc()),vi=(0,Ew.default)("https-proxy-agent:parse-proxy-response");function Aw(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}function c(){a(),vi("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),vi("onerror %o",f),r(f)}function d(f){o.push(f),n+=f.length;let p=Buffer.concat(o,n),g=p.indexOf(`\r
17
+ `+s),t.push(o+"m+"+xi.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=bw()+e+" "+t[0]}function bw(){return Ve.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Cw(...t){return process.stderr.write(Ri.formatWithOptions(Ve.inspectOpts,...t)+`
18
+ `)}function ww(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Ew(){return process.env.DEBUG}function Sw(t){t.inspectOpts={};let e=Object.keys(Ve.inspectOpts);for(let n=0;n<e.length;n++)t.inspectOpts[e[n]]=Ve.inspectOpts[e[n]]}xi.exports=Rc()(Ve);var{formatters:Zp}=xi.exports;Zp.o=function(t){return this.inspectOpts.colors=this.useColors,Ri.inspect(t,this.inspectOpts).split(`
19
+ `).map(e=>e.trim()).join(" ")};Zp.O=function(t){return this.inspectOpts.colors=this.useColors,Ri.inspect(t,this.inspectOpts)}});var Fc=K((fx,Pc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Pc.exports=Jp():Pc.exports=em()});var rm=K(ut=>{"use strict";var Aw=ut&&ut.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),kw=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),tm=ut&&ut.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&Aw(e,t,n);return kw(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var vw=tm(require("http")),Tw=tm(require("https"));async function nm(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}ut.toBuffer=nm;async function Dw(t){let n=(await nm(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}ut.json=Dw;function Rw(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?Tw:vw).request(t,e),o=new Promise((s,a)=>{r.once("response",s).once("error",a).end()});return r.then=o.then.bind(o),r}ut.req=Rw});var am=K(ht=>{"use strict";var sm=ht&&ht.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),xw=ht&&ht.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),im=ht&&ht.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&sm(e,t,n);return xw(e,t),e},Ow=ht&&ht.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&sm(e,t,n)};Object.defineProperty(ht,"__esModule",{value:!0});ht.Agent=void 0;var Pw=im(require("net")),om=im(require("http")),Fw=require("https");Ow(rm(),ht);var Zt=Symbol("AgentBaseInternalState"),Ic=class extends om.Agent{constructor(e){super(e),this[Zt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
20
+ `).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let n=new Pw.Socket({writable:!1});return this.sockets[e].push(n),this.totalSocketCount++,n}decrementSockets(e,n){if(!this.sockets[e]||n===null)return;let r=this.sockets[e],o=r.indexOf(n);o!==-1&&(r.splice(o,1),this.totalSocketCount--,r.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?Fw.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,n,r){let o={...n,secureEndpoint:this.isSecureEndpoint(n)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof om.Agent)try{return c.addRequest(e,o)}catch(l){return r(l)}this[Zt].currentSocket=c,super.createSocket(e,n,r)},c=>{this.decrementSockets(s,a),r(c)})}createConnection(){let e=this[Zt].currentSocket;if(this[Zt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Zt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Zt]&&(this[Zt].defaultPort=e)}get protocol(){return this[Zt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Zt]&&(this[Zt].protocol=e)}};ht.Agent=Ic});var um=K(Xr=>{"use strict";var Iw=Xr&&Xr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xr,"__esModule",{value:!0});Xr.parseProxyResponse=void 0;var Nw=Iw(Fc()),Oi=(0,Nw.default)("https-proxy-agent:parse-proxy-response");function Bw(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}function c(){a(),Oi("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),Oi("onerror %o",f),n(f)}function d(f){o.push(f),r+=f.length;let p=Buffer.concat(o,r),g=p.indexOf(`\r
21
21
  \r
22
- `);if(g===-1){vi("have not received end of HTTP headers yet..."),s();return}let A=p.slice(0,g).toString("ascii").split(`\r
23
- `),w=A.shift();if(!w)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let y=w.split(" "),_=+y[1],m=y.slice(2).join(" "),v={};for(let b of A){if(!b)continue;let S=b.indexOf(":");if(S===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${b}"`));let D=b.slice(0,S).toLowerCase(),O=b.slice(S+1).trimStart(),q=v[D];typeof q=="string"?v[D]=[q,O]:Array.isArray(q)?q.push(O):v[D]=O}vi("got proxy server response: %o %o",w,v),a(),e({connect:{statusCode:_,statusText:m,headers:v},buffered:p})}t.on("error",l),t.on("end",c),s()})}Yn.parseProxyResponse=Aw});var om=V(Dt=>{"use strict";var Sw=Dt&&Dt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),kw=Dt&&Dt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),rm=Dt&&Dt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Sw(e,t,r);return kw(e,t),e},nm=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.HttpsProxyAgent=void 0;var Ti=rm(require("net")),Zp=rm(require("tls")),vw=nm(require("assert")),Tw=nm(kc()),Dw=Qp(),Rw=require("url"),xw=Xp(),$o=(0,Tw.default)("https-proxy-agent"),em=t=>t.servername===void 0&&t.host&&!Ti.isIP(t.host)?{...t,servername:t.host}:t,Di=class extends Dw.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Rw.URL(e):e,this.proxyHeaders=r?.headers??{},$o("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?tm(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?($o("Creating `tls.Socket`: %o",this.connectOpts),o=Zp.connect(em(this.connectOpts))):($o("Creating `net.Socket`: %o",this.connectOpts),o=Ti.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ti.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
24
- `;if(n.username||n.password){let g=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(g).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let g of Object.keys(s))c+=`${g}: ${s[g]}\r
25
- `;let l=(0,xw.parseProxyResponse)(o);o.write(`${c}\r
26
- `);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",Ow),r.secureEndpoint?($o("Upgrading socket connection to TLS"),Zp.connect({...tm(em(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Ti.Socket({writable:!1});return p.readable=!0,e.once("socket",g=>{$o("Replaying proxy buffer for failed request"),(0,vw.default)(g.listenerCount("data")>0),g.push(f),g.push(null)}),p}};Di.protocols=["http","https"];Dt.HttpsProxyAgent=Di;function Ow(t){t.resume()}function tm(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function Pw(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",a=s;for(let f=1;f<r.length;f++)r[f]==="base64"?o=!0:r[f]&&(a+=`;${r[f]}`,r[f].indexOf("charset=")===0&&(n=r[f].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,c);return d.type=s,d.typeFull=a,d.charset=n,d}var sm,im=Me(()=>{sm=Pw});var um=V((Ri,am)=>{(function(t,e){typeof Ri=="object"&&typeof am<"u"?e(Ri):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ri,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,u){try{Object.defineProperty(i,"name",{value:u,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,c=Promise.reject.bind(s);function l(i){return new s(i)}function d(i){return l(u=>u(i))}function f(i){return c(i)}function p(i,u,h){return a.call(i,u,h)}function g(i,u,h){p(p(i,u,h),void 0,n)}function A(i,u){g(i,u)}function w(i,u){g(i,void 0,u)}function y(i,u,h){return p(i,u,h)}function _(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let u=d(void 0);m=h=>p(u,h)}return m(i)};function v(i,u,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,u,h)}function b(i,u,h){try{return d(v(i,u,h))}catch(E){return f(E)}}let S=16384;class D{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(u){let h=this._back,E=h;h._elements.length===S-1&&(E={_elements:[],_next:void 0}),h._elements.push(u),E!==h&&(this._back=E,h._next=E),++this._size}shift(){let u=this._front,h=u,E=this._cursor,R=E+1,L=u._elements,$=L[E];return R===S&&(h=u._next,R=0),--this._size,this._cursor=R,u!==h&&(this._front=h),L[E]=void 0,$}forEach(u){let h=this._cursor,E=this._front,R=E._elements;for(;(h!==R.length||E._next!==void 0)&&!(h===R.length&&(E=E._next,R=E._elements,h=0,R.length===0));)u(R[h]),++h}peek(){let u=this._front,h=this._cursor;return u._elements[h]}}let O=Symbol("[[AbortSteps]]"),q=Symbol("[[ErrorSteps]]"),J=Symbol("[[CancelSteps]]"),B=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function te(i,u){i._ownerReadableStream=u,u._reader=i,u._state==="readable"?Ae(i):u._state==="closed"?pe(i):oe(i,u._storedError)}function Z(i,u){let h=i._ownerReadableStream;return jt(h,u)}function ae(i){let u=i._ownerReadableStream;u._state==="readable"?G(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):K(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),u._readableStreamController[Y](),u._reader=void 0,i._ownerReadableStream=void 0}function de(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function Ae(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h})}function oe(i,u){Ae(i),G(i,u)}function pe(i){Ae(i),ue(i)}function G(i,u){i._closedPromise_reject!==void 0&&(_(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,u){oe(i,u)}function ue(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let qe=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Te=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function le(i,u){if(i!==void 0&&!W(i))throw new TypeError(`${u} is not an object.`)}function ye(i,u){if(typeof i!="function")throw new TypeError(`${u} is not a function.`)}function Nt(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Re(i,u){if(!Nt(i))throw new TypeError(`${u} is not an object.`)}function je(i,u,h){if(i===void 0)throw new TypeError(`Parameter ${u} is required in '${h}'.`)}function C(i,u,h){if(i===void 0)throw new TypeError(`${u} is required in '${h}'.`)}function k(i){return Number(i)}function T(i){return i===0?0:i}function M(i){return T(Te(i))}function P(i,u){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=T(R),!qe(R))throw new TypeError(`${u} is not a finite number`);if(R=M(R),R<0||R>E)throw new TypeError(`${u} is outside the accepted range of 0 to ${E}, inclusive`);return!qe(R)||R===0?0:R}function I(i,u){if(!Lr(i))throw new TypeError(`${u} is not a ReadableStream.`)}function U(i){return new z(i)}function x(i,u){i._reader._readRequests.push(u)}function F(i,u,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(u)}function j(i){return i._reader._readRequests.length}function N(i){let u=i._reader;return!(u===void 0||!X(u))}class z{constructor(u){if(je(u,1,"ReadableStreamDefaultReader"),I(u,"First parameter"),Ur(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");te(this,u),this._readRequests=new D}get closed(){return X(this)?this._closedPromise:f(Ne("closed"))}cancel(u=void 0){return X(this)?this._ownerReadableStream===void 0?f(de("cancel")):Z(this,u):f(Ne("cancel"))}read(){if(!X(this))return f(Ne("read"));if(this._ownerReadableStream===void 0)return f(de("read from"));let u,h,E=l((L,$)=>{u=L,h=$});return ee(this,{_chunkSteps:L=>u({value:L,done:!1}),_closeSteps:()=>u({value:void 0,done:!0}),_errorSteps:L=>h(L)}),E}releaseLock(){if(!X(this))throw Ne("releaseLock");this._ownerReadableStream!==void 0&&Ee(this)}}Object.defineProperties(z.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(z.prototype.cancel,"cancel"),o(z.prototype.read,"read"),o(z.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function X(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function ee(i,u){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?u._closeSteps():h._state==="errored"?u._errorSteps(h._storedError):h._readableStreamController[B](u)}function Ee(i){ae(i);let u=new TypeError("Reader was released");Fe(i,u)}function Fe(i,u){let h=i._readRequests;i._readRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function Ne(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ce=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Se{constructor(u,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=u,this._preventCancel=h}next(){let u=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,u,u):u(),this._ongoingPromise}return(u){let h=()=>this._returnSteps(u);return this._ongoingPromise?y(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let u=this._reader,h,E,R=l(($,Q)=>{h=$,E=Q});return ee(u,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ae(u),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,ae(u),E($)}}),R}_returnSteps(u){if(this._isFinished)return Promise.resolve({value:u,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let E=Z(h,u);return ae(h),y(E,()=>({value:u,done:!0}))}return ae(h),d({value:u,done:!0})}}let Ue={next(){return xn(this)?this._asyncIteratorImpl.next():f(On("next"))},return(i){return xn(this)?this._asyncIteratorImpl.return(i):f(On("return"))}};Object.setPrototypeOf(Ue,Ce);function Rn(i,u){let h=U(i),E=new Se(h,u),R=Object.create(Ue);return R._asyncIteratorImpl=E,R}function xn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Se}catch{return!1}}function On(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var fr,Ye,$e;function ke(i){return i.slice()}function kf(i,u,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),u)}let hr=i=>(typeof i.transfer=="function"?hr=u=>u.transfer():typeof structuredClone=="function"?hr=u=>structuredClone(u,{transfer:[u]}):hr=u=>u,hr(i)),Br=i=>(typeof i.detached=="boolean"?Br=u=>u.detached:Br=u=>u.byteLength===0,Br(i));function vf(i,u,h){if(i.slice)return i.slice(u,h);let E=h-u,R=new ArrayBuffer(E);return kf(R,0,i,u,E),R}function Ps(i,u){let h=i[u];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(u)} is not a function`);return h}}function E_(i){let u={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*u})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let Cu=($e=(fr=Symbol.asyncIterator)!==null&&fr!==void 0?fr:(Ye=Symbol.for)===null||Ye===void 0?void 0:Ye.call(Symbol,"Symbol.asyncIterator"))!==null&&$e!==void 0?$e:"@@asyncIterator";function Tf(i,u="sync",h){if(h===void 0)if(u==="async"){if(h=Ps(i,Cu),h===void 0){let L=Ps(i,Symbol.iterator),$=Tf(i,"sync",L);return E_($)}}else h=Ps(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let E=v(h,i,[]);if(!r(E))throw new TypeError("The iterator method must return an object");let R=E.next;return{iterator:E,nextMethod:R,done:!1}}function A_(i){let u=v(i.nextMethod,i.iterator,[]);if(!r(u))throw new TypeError("The iterator.next() method must return an object");return u}function S_(i){return!!i.done}function k_(i){return i.value}function v_(i){return!(typeof i!="number"||dt(i)||i<0)}function Df(i){let u=vf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(u)}function wu(i){let u=i._queue.shift();return i._queueTotalSize-=u.size,i._queueTotalSize<0&&(i._queueTotalSize=0),u.value}function Eu(i,u,h){if(!v_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:u,size:h}),i._queueTotalSize+=h}function T_(i){return i._queue.peek().value}function Nr(i){i._queue=new D,i._queueTotalSize=0}function Rf(i){return i===DataView}function D_(i){return Rf(i.constructor)}function R_(i){return Rf(i)?1:i.BYTES_PER_ELEMENT}class tn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Au(this))throw Du("view");return this._view}respond(u){if(!Au(this))throw Du("respond");if(je(u,1,"respond"),u=P(u,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Br(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ns(this._associatedReadableByteStreamController,u)}respondWithNewView(u){if(!Au(this))throw Du("respondWithNewView");if(je(u,1,"respondWithNewView"),!ArrayBuffer.isView(u))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Br(u.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Ms(this._associatedReadableByteStreamController,u)}}Object.defineProperties(tn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(tn.prototype.respond,"respond"),o(tn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!rn(this))throw To("byobRequest");return Tu(this)}get desiredSize(){if(!rn(this))throw To("desiredSize");return Lf(this)}close(){if(!rn(this))throw To("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let u=this._controlledReadableByteStream._state;if(u!=="readable")throw new TypeError(`The stream (in ${u} state) is not in the readable state and cannot be closed`);vo(this)}enqueue(u){if(!rn(this))throw To("enqueue");if(je(u,1,"enqueue"),!ArrayBuffer.isView(u))throw new TypeError("chunk must be an array buffer view");if(u.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(u.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Bs(this,u)}error(u=void 0){if(!rn(this))throw To("error");St(this,u)}[J](u){xf(this),Nr(this);let h=this._cancelAlgorithm(u);return Is(this),h}[B](u){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){jf(this,u);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let R;try{R=new ArrayBuffer(E)}catch($){u._errorSteps($);return}let L={buffer:R,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}x(h,u),nn(this)}[Y](){if(this._pendingPullIntos.length>0){let u=this._pendingPullIntos.peek();u.readerType="none",this._pendingPullIntos=new D,this._pendingPullIntos.push(u)}}}Object.defineProperties(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pr.prototype.close,"close"),o(pr.prototype.enqueue,"enqueue"),o(pr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function rn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pr}function Au(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof tn}function nn(i){if(!I_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,nn(i)),null),E=>(St(i,E),null))}function xf(i){ku(i),i._pendingPullIntos=new D}function Su(i,u){let h=!1;i._state==="closed"&&(h=!0);let E=Of(u);u.readerType==="default"?F(i,E,h):U_(i,E,h)}function Of(i){let u=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,u/h)}function Fs(i,u,h,E){i._queue.push({buffer:u,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function Pf(i,u,h,E){let R;try{R=vf(u,h,h+E)}catch(L){throw St(i,L),L}Fs(i,R,0,E)}function Ff(i,u){u.bytesFilled>0&&Pf(i,u.buffer,u.byteOffset,u.bytesFilled),Pn(i)}function If(i,u){let h=Math.min(i._queueTotalSize,u.byteLength-u.bytesFilled),E=u.bytesFilled+h,R=h,L=!1,$=E%u.elementSize,Q=E-$;Q>=u.minimumFill&&(R=Q-u.bytesFilled,L=!0);let ce=i._queue;for(;R>0;){let ne=ce.peek(),fe=Math.min(R,ne.byteLength),ge=u.byteOffset+u.bytesFilled;kf(u.buffer,ge,ne.buffer,ne.byteOffset,fe),ne.byteLength===fe?ce.shift():(ne.byteOffset+=fe,ne.byteLength-=fe),i._queueTotalSize-=fe,Bf(i,fe,u),R-=fe}return L}function Bf(i,u,h){h.bytesFilled+=u}function Nf(i){i._queueTotalSize===0&&i._closeRequested?(Is(i),Fo(i._controlledReadableByteStream)):nn(i)}function ku(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function vu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let u=i._pendingPullIntos.peek();If(i,u)&&(Pn(i),Su(i._controlledReadableByteStream,u))}}function x_(i){let u=i._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=u._readRequests.shift();jf(i,h)}}function O_(i,u,h,E){let R=i._controlledReadableByteStream,L=u.constructor,$=R_(L),{byteOffset:Q,byteLength:ce}=u,ne=h*$,fe;try{fe=hr(u.buffer)}catch(De){E._errorSteps(De);return}let ge={buffer:fe,bufferByteLength:fe.byteLength,byteOffset:Q,byteLength:ce,bytesFilled:0,minimumFill:ne,elementSize:$,viewConstructor:L,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ge),qf(R,E);return}if(R._state==="closed"){let De=new L(ge.buffer,ge.byteOffset,0);E._closeSteps(De);return}if(i._queueTotalSize>0){if(If(i,ge)){let De=Of(ge);Nf(i),E._chunkSteps(De);return}if(i._closeRequested){let De=new TypeError("Insufficient bytes to fill elements in the given buffer");St(i,De),E._errorSteps(De);return}}i._pendingPullIntos.push(ge),qf(R,E),nn(i)}function P_(i,u){u.readerType==="none"&&Pn(i);let h=i._controlledReadableByteStream;if(Ru(h))for(;zf(h)>0;){let E=Pn(i);Su(h,E)}}function F_(i,u,h){if(Bf(i,u,h),h.readerType==="none"){Ff(i,h),vu(i);return}if(h.bytesFilled<h.minimumFill)return;Pn(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;Pf(i,h.buffer,R-E,E)}h.bytesFilled-=E,Su(i._controlledReadableByteStream,h),vu(i)}function Mf(i,u){let h=i._pendingPullIntos.peek();ku(i),i._controlledReadableByteStream._state==="closed"?P_(i,h):F_(i,u,h),nn(i)}function Pn(i){return i._pendingPullIntos.shift()}function I_(i){let u=i._controlledReadableByteStream;return u._state!=="readable"||i._closeRequested||!i._started?!1:!!(N(u)&&j(u)>0||Ru(u)&&zf(u)>0||Lf(i)>0)}function Is(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function vo(i){let u=i._controlledReadableByteStream;if(!(i._closeRequested||u._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw St(i,E),E}}Is(i),Fo(u)}}function Bs(i,u){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:L}=u;if(Br(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=hr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(Br(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");ku(i),Q.buffer=hr(Q.buffer),Q.readerType==="none"&&Ff(i,Q)}if(N(h))if(x_(i),j(h)===0)Fs(i,$,R,L);else{i._pendingPullIntos.length>0&&Pn(i);let Q=new Uint8Array($,R,L);F(h,Q,!1)}else Ru(h)?(Fs(i,$,R,L),vu(i)):Fs(i,$,R,L);nn(i)}function St(i,u){let h=i._controlledReadableByteStream;h._state==="readable"&&(xf(i),Nr(i),Is(i),hh(h,u))}function jf(i,u){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Nf(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);u._chunkSteps(E)}function Tu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let u=i._pendingPullIntos.peek(),h=new Uint8Array(u.buffer,u.byteOffset+u.bytesFilled,u.byteLength-u.bytesFilled),E=Object.create(tn.prototype);N_(E,i,h),i._byobRequest=E}return i._byobRequest}function Lf(i){let u=i._controlledReadableByteStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ns(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(u===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+u>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hr(h.buffer),Mf(i,u)}function Ms(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(u.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==u.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==u.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+u.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=u.byteLength;h.buffer=hr(u.buffer),Mf(i,R)}function Uf(i,u,h,E,R,L,$){u._controlledReadableByteStream=i,u._pullAgain=!1,u._pulling=!1,u._byobRequest=null,u._queue=u._queueTotalSize=void 0,Nr(u),u._closeRequested=!1,u._started=!1,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,u._autoAllocateChunkSize=$,u._pendingPullIntos=new D,i._readableStreamController=u;let Q=h();g(d(Q),()=>(u._started=!0,nn(u),null),ce=>(St(u,ce),null))}function B_(i,u,h){let E=Object.create(pr.prototype),R,L,$;u.start!==void 0?R=()=>u.start(E):R=()=>{},u.pull!==void 0?L=()=>u.pull(E):L=()=>d(void 0),u.cancel!==void 0?$=ce=>u.cancel(ce):$=()=>d(void 0);let Q=u.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Uf(i,E,R,L,$,h,Q)}function N_(i,u,h){i._associatedReadableByteStreamController=u,i._view=h}function Du(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function To(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function M_(i,u){le(i,u);let h=i?.mode;return{mode:h===void 0?void 0:j_(h,`${u} has member 'mode' that`)}}function j_(i,u){if(i=`${i}`,i!=="byob")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function L_(i,u){var h;le(i,u);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:P(E,`${u} has member 'min' that`)}}function $f(i){return new Mr(i)}function qf(i,u){i._reader._readIntoRequests.push(u)}function U_(i,u,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(u):R._chunkSteps(u)}function zf(i){return i._reader._readIntoRequests.length}function Ru(i){let u=i._reader;return!(u===void 0||!on(u))}class Mr{constructor(u){if(je(u,1,"ReadableStreamBYOBReader"),I(u,"First parameter"),Ur(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!rn(u._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");te(this,u),this._readIntoRequests=new D}get closed(){return on(this)?this._closedPromise:f(js("closed"))}cancel(u=void 0){return on(this)?this._ownerReadableStream===void 0?f(de("cancel")):Z(this,u):f(js("cancel"))}read(u,h={}){if(!on(this))return f(js("read"));if(!ArrayBuffer.isView(u))return f(new TypeError("view must be an array buffer view"));if(u.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(u.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(Br(u.buffer))return f(new TypeError("view's buffer has been detached"));let E;try{E=L_(h,"options")}catch(ne){return f(ne)}let R=E.min;if(R===0)return f(new TypeError("options.min must be greater than 0"));if(D_(u)){if(R>u.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>u.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(de("read from"));let L,$,Q=l((ne,fe)=>{L=ne,$=fe});return Hf(this,u,R,{_chunkSteps:ne=>L({value:ne,done:!1}),_closeSteps:ne=>L({value:ne,done:!0}),_errorSteps:ne=>$(ne)}),Q}releaseLock(){if(!on(this))throw js("releaseLock");this._ownerReadableStream!==void 0&&$_(this)}}Object.defineProperties(Mr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Mr.prototype.cancel,"cancel"),o(Mr.prototype.read,"read"),o(Mr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function on(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Mr}function Hf(i,u,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):O_(R._readableStreamController,u,h,E)}function $_(i){ae(i);let u=new TypeError("Reader was released");Wf(i,u)}function Wf(i,u){let h=i._readIntoRequests;i._readIntoRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function js(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Do(i,u){let{highWaterMark:h}=i;if(h===void 0)return u;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Ls(i){let{size:u}=i;return u||(()=>1)}function Us(i,u){le(i,u);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:k(h),size:E===void 0?void 0:q_(E,`${u} has member 'size' that`)}}function q_(i,u){return ye(i,u),h=>k(i(h))}function z_(i,u){le(i,u);let h=i?.abort,E=i?.close,R=i?.start,L=i?.type,$=i?.write;return{abort:h===void 0?void 0:H_(h,i,`${u} has member 'abort' that`),close:E===void 0?void 0:W_(E,i,`${u} has member 'close' that`),start:R===void 0?void 0:G_(R,i,`${u} has member 'start' that`),write:$===void 0?void 0:J_($,i,`${u} has member 'write' that`),type:L}}function H_(i,u,h){return ye(i,h),E=>b(i,u,[E])}function W_(i,u,h){return ye(i,h),()=>b(i,u,[])}function G_(i,u,h){return ye(i,h),E=>v(i,u,[E])}function J_(i,u,h){return ye(i,h),(E,R)=>b(i,u,[E,R])}function Gf(i,u){if(!Fn(i))throw new TypeError(`${u} is not a WritableStream.`)}function V_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let K_=typeof AbortController=="function";function Y_(){if(K_)return new AbortController}class jr{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let E=Us(h,"Second parameter"),R=z_(u,"First parameter");if(Vf(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=Ls(E),Q=Do(E,1);lb(this,R,Q,$)}get locked(){if(!Fn(this))throw Ws("locked");return In(this)}abort(u=void 0){return Fn(this)?In(this)?f(new TypeError("Cannot abort a stream that already has a writer")):$s(this,u):f(Ws("abort"))}close(){return Fn(this)?In(this)?f(new TypeError("Cannot close a stream that already has a writer")):Qt(this)?f(new TypeError("Cannot close an already-closing stream")):Kf(this):f(Ws("close"))}getWriter(){if(!Fn(this))throw Ws("getWriter");return Jf(this)}}Object.defineProperties(jr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(jr.prototype.abort,"abort"),o(jr.prototype.close,"close"),o(jr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Jf(i){return new mr(i)}function Q_(i,u,h,E,R=1,L=()=>1){let $=Object.create(jr.prototype);Vf($);let Q=Object.create(Bn.prototype);return th($,Q,i,u,h,E,R,L),$}function Vf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new D,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Fn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof jr}function In(i){return i._writer!==void 0}function $s(i,u){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=u,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(u);let E=i._state;if(E==="closed"||E==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;E==="erroring"&&(R=!0,u=void 0);let L=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:u,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=L,R||Ou(i,u),L}function Kf(i){let u=i._state;if(u==="closed"||u==="errored")return f(new TypeError(`The stream (in ${u} state) is not in the writable state and cannot be closed`));let h=l((R,L)=>{let $={_resolve:R,_reject:L};i._closeRequest=$}),E=i._writer;return E!==void 0&&i._backpressure&&u==="writable"&&Lu(E),db(i._writableStreamController),h}function X_(i){return l((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function xu(i,u){if(i._state==="writable"){Ou(i,u);return}Pu(i)}function Ou(i,u){let h=i._writableStreamController;i._state="erroring",i._storedError=u;let E=i._writer;E!==void 0&&Qf(E,u),!nb(i)&&h._started&&Pu(i)}function Pu(i){i._state="errored",i._writableStreamController[q]();let u=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(u)}),i._writeRequests=new D,i._pendingAbortRequest===void 0){qs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(u),qs(i);return}let E=i._writableStreamController[O](h._reason);g(E,()=>(h._resolve(),qs(i),null),R=>(h._reject(R),qs(i),null))}function Z_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function eb(i,u){i._inFlightWriteRequest._reject(u),i._inFlightWriteRequest=void 0,xu(i,u)}function tb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&sh(h)}function rb(i,u){i._inFlightCloseRequest._reject(u),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(u),i._pendingAbortRequest=void 0),xu(i,u)}function Qt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function nb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function ob(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function sb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function qs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let u=i._writer;u!==void 0&&Mu(u,i._storedError)}function Fu(i,u){let h=i._writer;h!==void 0&&u!==i._backpressure&&(u?_b(h):Lu(h)),i._backpressure=u}class mr{constructor(u){if(je(u,1,"WritableStreamDefaultWriter"),Gf(u,"First parameter"),In(u))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=u,u._writer=this;let h=u._state;if(h==="writable")!Qt(u)&&u._backpressure?Js(this):ih(this),Gs(this);else if(h==="erroring")ju(this,u._storedError),Gs(this);else if(h==="closed")ih(this),gb(this);else{let E=u._storedError;ju(this,E),oh(this,E)}}get closed(){return sn(this)?this._closedPromise:f(an("closed"))}get desiredSize(){if(!sn(this))throw an("desiredSize");if(this._ownerWritableStream===void 0)throw xo("desiredSize");return cb(this)}get ready(){return sn(this)?this._readyPromise:f(an("ready"))}abort(u=void 0){return sn(this)?this._ownerWritableStream===void 0?f(xo("abort")):ib(this,u):f(an("abort"))}close(){if(!sn(this))return f(an("close"));let u=this._ownerWritableStream;return u===void 0?f(xo("close")):Qt(u)?f(new TypeError("Cannot close an already-closing stream")):Yf(this)}releaseLock(){if(!sn(this))throw an("releaseLock");this._ownerWritableStream!==void 0&&Xf(this)}write(u=void 0){return sn(this)?this._ownerWritableStream===void 0?f(xo("write to")):Zf(this,u):f(an("write"))}}Object.defineProperties(mr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mr.prototype.abort,"abort"),o(mr.prototype.close,"close"),o(mr.prototype.releaseLock,"releaseLock"),o(mr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function sn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mr}function ib(i,u){let h=i._ownerWritableStream;return $s(h,u)}function Yf(i){let u=i._ownerWritableStream;return Kf(u)}function ab(i){let u=i._ownerWritableStream,h=u._state;return Qt(u)||h==="closed"?d(void 0):h==="errored"?f(u._storedError):Yf(i)}function ub(i,u){i._closedPromiseState==="pending"?Mu(i,u):yb(i,u)}function Qf(i,u){i._readyPromiseState==="pending"?ah(i,u):bb(i,u)}function cb(i){let u=i._ownerWritableStream,h=u._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:rh(u._writableStreamController)}function Xf(i){let u=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Qf(i,h),ub(i,h),u._writer=void 0,i._ownerWritableStream=void 0}function Zf(i,u){let h=i._ownerWritableStream,E=h._writableStreamController,R=fb(E,u);if(h!==i._ownerWritableStream)return f(xo("write to"));let L=h._state;if(L==="errored")return f(h._storedError);if(Qt(h)||L==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return f(h._storedError);let $=X_(h);return hb(E,u,R),$}let eh={};class Bn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Iu(this))throw Nu("abortReason");return this._abortReason}get signal(){if(!Iu(this))throw Nu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(u=void 0){if(!Iu(this))throw Nu("error");this._controlledWritableStream._state==="writable"&&nh(this,u)}[O](u){let h=this._abortAlgorithm(u);return zs(this),h}[q](){Nr(this)}}Object.defineProperties(Bn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Iu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Bn}function th(i,u,h,E,R,L,$,Q){u._controlledWritableStream=i,i._writableStreamController=u,u._queue=void 0,u._queueTotalSize=void 0,Nr(u),u._abortReason=void 0,u._abortController=Y_(),u._started=!1,u._strategySizeAlgorithm=Q,u._strategyHWM=$,u._writeAlgorithm=E,u._closeAlgorithm=R,u._abortAlgorithm=L;let ce=Bu(u);Fu(i,ce);let ne=h(),fe=d(ne);g(fe,()=>(u._started=!0,Hs(u),null),ge=>(u._started=!0,xu(i,ge),null))}function lb(i,u,h,E){let R=Object.create(Bn.prototype),L,$,Q,ce;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.write!==void 0?$=ne=>u.write(ne,R):$=()=>d(void 0),u.close!==void 0?Q=()=>u.close():Q=()=>d(void 0),u.abort!==void 0?ce=ne=>u.abort(ne):ce=()=>d(void 0),th(i,R,L,$,Q,ce,h,E)}function zs(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function db(i){Eu(i,eh,0),Hs(i)}function fb(i,u){try{return i._strategySizeAlgorithm(u)}catch(h){return Ro(i,h),1}}function rh(i){return i._strategyHWM-i._queueTotalSize}function hb(i,u,h){try{Eu(i,u,h)}catch(R){Ro(i,R);return}let E=i._controlledWritableStream;if(!Qt(E)&&E._state==="writable"){let R=Bu(i);Fu(E,R)}Hs(i)}function Hs(i){let u=i._controlledWritableStream;if(!i._started||u._inFlightWriteRequest!==void 0)return;if(u._state==="erroring"){Pu(u);return}if(i._queue.length===0)return;let E=T_(i);E===eh?pb(i):mb(i,E)}function Ro(i,u){i._controlledWritableStream._state==="writable"&&nh(i,u)}function pb(i){let u=i._controlledWritableStream;ob(u),wu(i);let h=i._closeAlgorithm();zs(i),g(h,()=>(tb(u),null),E=>(rb(u,E),null))}function mb(i,u){let h=i._controlledWritableStream;sb(h);let E=i._writeAlgorithm(u);g(E,()=>{Z_(h);let R=h._state;if(wu(i),!Qt(h)&&R==="writable"){let L=Bu(i);Fu(h,L)}return Hs(i),null},R=>(h._state==="writable"&&zs(i),eb(h,R),null))}function Bu(i){return rh(i)<=0}function nh(i,u){let h=i._controlledWritableStream;zs(i),Ou(h,u)}function Ws(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Nu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function an(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function xo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Gs(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function oh(i,u){Gs(i),Mu(i,u)}function gb(i){Gs(i),sh(i)}function Mu(i,u){i._closedPromise_reject!==void 0&&(_(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function yb(i,u){oh(i,u)}function sh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Js(i){i._readyPromise=l((u,h)=>{i._readyPromise_resolve=u,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function ju(i,u){Js(i),ah(i,u)}function ih(i){Js(i),Lu(i)}function ah(i,u){i._readyPromise_reject!==void 0&&(_(i._readyPromise),i._readyPromise_reject(u),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function _b(i){Js(i)}function bb(i,u){ju(i,u)}function Lu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function Cb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Uu=Cb();function wb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function Eb(){let i=Uu?.DOMException;return wb(i)?i:void 0}function Ab(){let i=function(h,E){this.message=h||"",this.name=E||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let Sb=Eb()||Ab();function uh(i,u,h,E,R,L){let $=U(i),Q=Jf(u);i._disturbed=!0;let ce=!1,ne=d(void 0);return l((fe,ge)=>{let De;if(L!==void 0){if(De=()=>{let se=L.reason!==void 0?L.reason:new Sb("Aborted","AbortError"),_e=[];E||_e.push(()=>u._state==="writable"?$s(u,se):d(void 0)),R||_e.push(()=>i._state==="readable"?jt(i,se):d(void 0)),it(()=>Promise.all(_e.map(xe=>xe())),!0,se)},L.aborted){De();return}L.addEventListener("abort",De)}function Lt(){return l((se,_e)=>{function xe(ft){ft?se():p(Ln(),xe,_e)}xe(!1)})}function Ln(){return ce?d(!0):p(Q._readyPromise,()=>l((se,_e)=>{ee($,{_chunkSteps:xe=>{ne=p(Zf(Q,xe),void 0,e),se(!1)},_closeSteps:()=>se(!0),_errorSteps:_e})}))}if(yr(i,$._closedPromise,se=>(E?kt(!0,se):it(()=>$s(u,se),!0,se),null)),yr(u,Q._closedPromise,se=>(R?kt(!0,se):it(()=>jt(i,se),!0,se),null)),et(i,$._closedPromise,()=>(h?kt():it(()=>ab(Q)),null)),Qt(u)||u._state==="closed"){let se=new TypeError("the destination writable stream closed before all data could be piped to it");R?kt(!0,se):it(()=>jt(i,se),!0,se)}_(Lt());function qr(){let se=ne;return p(ne,()=>se!==ne?qr():void 0)}function yr(se,_e,xe){se._state==="errored"?xe(se._storedError):w(_e,xe)}function et(se,_e,xe){se._state==="closed"?xe():A(_e,xe)}function it(se,_e,xe){if(ce)return;ce=!0,u._state==="writable"&&!Qt(u)?A(qr(),ft):ft();function ft(){return g(se(),()=>_r(_e,xe),Un=>_r(!0,Un)),null}}function kt(se,_e){ce||(ce=!0,u._state==="writable"&&!Qt(u)?A(qr(),()=>_r(se,_e)):_r(se,_e))}function _r(se,_e){return Xf(Q),ae($),L!==void 0&&L.removeEventListener("abort",De),se?ge(_e):fe(void 0),null}})}class gr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Vs(this))throw Ys("desiredSize");return $u(this)}close(){if(!Vs(this))throw Ys("close");if(!Mn(this))throw new TypeError("The stream is not in a state that permits close");un(this)}enqueue(u=void 0){if(!Vs(this))throw Ys("enqueue");if(!Mn(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nn(this,u)}error(u=void 0){if(!Vs(this))throw Ys("error");Mt(this,u)}[J](u){Nr(this);let h=this._cancelAlgorithm(u);return Ks(this),h}[B](u){let h=this._controlledReadableStream;if(this._queue.length>0){let E=wu(this);this._closeRequested&&this._queue.length===0?(Ks(this),Fo(h)):Oo(this),u._chunkSteps(E)}else x(h,u),Oo(this)}[Y](){}}Object.defineProperties(gr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gr.prototype.close,"close"),o(gr.prototype.enqueue,"enqueue"),o(gr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Vs(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gr}function Oo(i){if(!ch(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Oo(i)),null),E=>(Mt(i,E),null))}function ch(i){let u=i._controlledReadableStream;return!Mn(i)||!i._started?!1:!!(Ur(u)&&j(u)>0||$u(i)>0)}function Ks(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function un(i){if(!Mn(i))return;let u=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Ks(i),Fo(u))}function Nn(i,u){if(!Mn(i))return;let h=i._controlledReadableStream;if(Ur(h)&&j(h)>0)F(h,u,!1);else{let E;try{E=i._strategySizeAlgorithm(u)}catch(R){throw Mt(i,R),R}try{Eu(i,u,E)}catch(R){throw Mt(i,R),R}}Oo(i)}function Mt(i,u){let h=i._controlledReadableStream;h._state==="readable"&&(Nr(i),Ks(i),hh(h,u))}function $u(i){let u=i._controlledReadableStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function kb(i){return!ch(i)}function Mn(i){let u=i._controlledReadableStream._state;return!i._closeRequested&&u==="readable"}function lh(i,u,h,E,R,L,$){u._controlledReadableStream=i,u._queue=void 0,u._queueTotalSize=void 0,Nr(u),u._started=!1,u._closeRequested=!1,u._pullAgain=!1,u._pulling=!1,u._strategySizeAlgorithm=$,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,i._readableStreamController=u;let Q=h();g(d(Q),()=>(u._started=!0,Oo(u),null),ce=>(Mt(u,ce),null))}function vb(i,u,h,E){let R=Object.create(gr.prototype),L,$,Q;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.pull!==void 0?$=()=>u.pull(R):$=()=>d(void 0),u.cancel!==void 0?Q=ce=>u.cancel(ce):Q=()=>d(void 0),lh(i,R,L,$,Q,h,E)}function Ys(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function Tb(i,u){return rn(i._readableStreamController)?Rb(i):Db(i)}function Db(i,u){let h=U(i),E=!1,R=!1,L=!1,$=!1,Q,ce,ne,fe,ge,De=l(et=>{ge=et});function Lt(){return E?(R=!0,d(void 0)):(E=!0,ee(h,{_chunkSteps:it=>{m(()=>{R=!1;let kt=it,_r=it;L||Nn(ne._readableStreamController,kt),$||Nn(fe._readableStreamController,_r),E=!1,R&&Lt()})},_closeSteps:()=>{E=!1,L||un(ne._readableStreamController),$||un(fe._readableStreamController),(!L||!$)&&ge(void 0)},_errorSteps:()=>{E=!1}}),d(void 0))}function Ln(et){if(L=!0,Q=et,$){let it=ke([Q,ce]),kt=jt(i,it);ge(kt)}return De}function qr(et){if($=!0,ce=et,L){let it=ke([Q,ce]),kt=jt(i,it);ge(kt)}return De}function yr(){}return ne=Po(yr,Lt,Ln),fe=Po(yr,Lt,qr),w(h._closedPromise,et=>(Mt(ne._readableStreamController,et),Mt(fe._readableStreamController,et),(!L||!$)&&ge(void 0),null)),[ne,fe]}function Rb(i){let u=U(i),h=!1,E=!1,R=!1,L=!1,$=!1,Q,ce,ne,fe,ge,De=l(se=>{ge=se});function Lt(se){w(se._closedPromise,_e=>(se!==u||(St(ne._readableStreamController,_e),St(fe._readableStreamController,_e),(!L||!$)&&ge(void 0)),null))}function Ln(){on(u)&&(ae(u),u=U(i),Lt(u)),ee(u,{_chunkSteps:_e=>{m(()=>{E=!1,R=!1;let xe=_e,ft=_e;if(!L&&!$)try{ft=Df(_e)}catch(Un){St(ne._readableStreamController,Un),St(fe._readableStreamController,Un),ge(jt(i,Un));return}L||Bs(ne._readableStreamController,xe),$||Bs(fe._readableStreamController,ft),h=!1,E?yr():R&&et()})},_closeSteps:()=>{h=!1,L||vo(ne._readableStreamController),$||vo(fe._readableStreamController),ne._readableStreamController._pendingPullIntos.length>0&&Ns(ne._readableStreamController,0),fe._readableStreamController._pendingPullIntos.length>0&&Ns(fe._readableStreamController,0),(!L||!$)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function qr(se,_e){X(u)&&(ae(u),u=$f(i),Lt(u));let xe=_e?fe:ne,ft=_e?ne:fe;Hf(u,se,1,{_chunkSteps:$n=>{m(()=>{E=!1,R=!1;let qn=_e?$:L;if(_e?L:$)qn||Ms(xe._readableStreamController,$n);else{let vh;try{vh=Df($n)}catch(Gu){St(xe._readableStreamController,Gu),St(ft._readableStreamController,Gu),ge(jt(i,Gu));return}qn||Ms(xe._readableStreamController,$n),Bs(ft._readableStreamController,vh)}h=!1,E?yr():R&&et()})},_closeSteps:$n=>{h=!1;let qn=_e?$:L,oi=_e?L:$;qn||vo(xe._readableStreamController),oi||vo(ft._readableStreamController),$n!==void 0&&(qn||Ms(xe._readableStreamController,$n),!oi&&ft._readableStreamController._pendingPullIntos.length>0&&Ns(ft._readableStreamController,0)),(!qn||!oi)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function yr(){if(h)return E=!0,d(void 0);h=!0;let se=Tu(ne._readableStreamController);return se===null?Ln():qr(se._view,!1),d(void 0)}function et(){if(h)return R=!0,d(void 0);h=!0;let se=Tu(fe._readableStreamController);return se===null?Ln():qr(se._view,!0),d(void 0)}function it(se){if(L=!0,Q=se,$){let _e=ke([Q,ce]),xe=jt(i,_e);ge(xe)}return De}function kt(se){if($=!0,ce=se,L){let _e=ke([Q,ce]),xe=jt(i,_e);ge(xe)}return De}function _r(){}return ne=fh(_r,yr,it),fe=fh(_r,et,kt),Lt(u),[ne,fe]}function xb(i){return r(i)&&typeof i.getReader<"u"}function Ob(i){return xb(i)?Fb(i.getReader()):Pb(i)}function Pb(i){let u,h=Tf(i,"async"),E=e;function R(){let $;try{$=A_(h)}catch(ce){return f(ce)}let Q=d($);return y(Q,ce=>{if(!r(ce))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(S_(ce))un(u._readableStreamController);else{let fe=k_(ce);Nn(u._readableStreamController,fe)}})}function L($){let Q=h.iterator,ce;try{ce=Ps(Q,"return")}catch(ge){return f(ge)}if(ce===void 0)return d(void 0);let ne;try{ne=v(ce,Q,[$])}catch(ge){return f(ge)}let fe=d(ne);return y(fe,ge=>{if(!r(ge))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return u=Po(E,R,L,0),u}function Fb(i){let u,h=e;function E(){let L;try{L=i.read()}catch($){return f($)}return y(L,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)un(u._readableStreamController);else{let Q=$.value;Nn(u._readableStreamController,Q)}})}function R(L){try{return d(i.cancel(L))}catch($){return f($)}}return u=Po(h,E,R,0),u}function Ib(i,u){le(i,u);let h=i,E=h?.autoAllocateChunkSize,R=h?.cancel,L=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:E===void 0?void 0:P(E,`${u} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:Bb(R,h,`${u} has member 'cancel' that`),pull:L===void 0?void 0:Nb(L,h,`${u} has member 'pull' that`),start:$===void 0?void 0:Mb($,h,`${u} has member 'start' that`),type:Q===void 0?void 0:jb(Q,`${u} has member 'type' that`)}}function Bb(i,u,h){return ye(i,h),E=>b(i,u,[E])}function Nb(i,u,h){return ye(i,h),E=>b(i,u,[E])}function Mb(i,u,h){return ye(i,h),E=>v(i,u,[E])}function jb(i,u){if(i=`${i}`,i!=="bytes")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Lb(i,u){return le(i,u),{preventCancel:!!i?.preventCancel}}function dh(i,u){le(i,u);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,L=i?.signal;return L!==void 0&&Ub(L,`${u} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:L}}function Ub(i,u){if(!V_(i))throw new TypeError(`${u} is not an AbortSignal.`)}function $b(i,u){le(i,u);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${u} has member 'readable' that`);let E=i?.writable;return C(E,"writable","ReadableWritablePair"),Gf(E,`${u} has member 'writable' that`),{readable:h,writable:E}}class Qe{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let E=Us(h,"Second parameter"),R=Ib(u,"First parameter");if(qu(this),R.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=Do(E,0);B_(this,R,L)}else{let L=Ls(E),$=Do(E,1);vb(this,R,$,L)}}get locked(){if(!Lr(this))throw cn("locked");return Ur(this)}cancel(u=void 0){return Lr(this)?Ur(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):jt(this,u):f(cn("cancel"))}getReader(u=void 0){if(!Lr(this))throw cn("getReader");return M_(u,"First parameter").mode===void 0?U(this):$f(this)}pipeThrough(u,h={}){if(!Lr(this))throw cn("pipeThrough");je(u,1,"pipeThrough");let E=$b(u,"First parameter"),R=dh(h,"Second parameter");if(Ur(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(In(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=uh(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return _(L),E.readable}pipeTo(u,h={}){if(!Lr(this))return f(cn("pipeTo"));if(u===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!Fn(u))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=dh(h,"Second parameter")}catch(R){return f(R)}return Ur(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):In(u)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):uh(this,u,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Lr(this))throw cn("tee");let u=Tb(this);return ke(u)}values(u=void 0){if(!Lr(this))throw cn("values");let h=Lb(u,"First parameter");return Rn(this,h.preventCancel)}[Cu](u){return this.values(u)}static from(u){return Ob(u)}}Object.defineProperties(Qe,{from:{enumerable:!0}}),Object.defineProperties(Qe.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Qe.from,"from"),o(Qe.prototype.cancel,"cancel"),o(Qe.prototype.getReader,"getReader"),o(Qe.prototype.pipeThrough,"pipeThrough"),o(Qe.prototype.pipeTo,"pipeTo"),o(Qe.prototype.tee,"tee"),o(Qe.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qe.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Qe.prototype,Cu,{value:Qe.prototype.values,writable:!0,configurable:!0});function Po(i,u,h,E=1,R=()=>1){let L=Object.create(Qe.prototype);qu(L);let $=Object.create(gr.prototype);return lh(L,$,i,u,h,E,R),L}function fh(i,u,h){let E=Object.create(Qe.prototype);qu(E);let R=Object.create(pr.prototype);return Uf(E,R,i,u,h,0,void 0),E}function qu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Lr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Qe}function Ur(i){return i._reader!==void 0}function jt(i,u){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);Fo(i);let h=i._reader;if(h!==void 0&&on(h)){let R=h._readIntoRequests;h._readIntoRequests=new D,R.forEach(L=>{L._closeSteps(void 0)})}let E=i._readableStreamController[J](u);return y(E,e)}function Fo(i){i._state="closed";let u=i._reader;if(u!==void 0&&(ue(u),X(u))){let h=u._readRequests;u._readRequests=new D,h.forEach(E=>{E._closeSteps()})}}function hh(i,u){i._state="errored",i._storedError=u;let h=i._reader;h!==void 0&&(G(h,u),X(h)?Fe(h,u):Wf(h,u))}function cn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function ph(i,u){le(i,u);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:k(h)}}let mh=i=>i.byteLength;o(mh,"size");class Qs{constructor(u){je(u,1,"ByteLengthQueuingStrategy"),u=ph(u,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!yh(this))throw gh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!yh(this))throw gh("size");return mh}}Object.defineProperties(Qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function gh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function yh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Qs}let _h=()=>1;o(_h,"size");class Xs{constructor(u){je(u,1,"CountQueuingStrategy"),u=ph(u,"First parameter"),this._countQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Ch(this))throw bh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Ch(this))throw bh("size");return _h}}Object.defineProperties(Xs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function bh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Ch(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Xs}function qb(i,u){le(i,u);let h=i?.cancel,E=i?.flush,R=i?.readableType,L=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:Gb(h,i,`${u} has member 'cancel' that`),flush:E===void 0?void 0:zb(E,i,`${u} has member 'flush' that`),readableType:R,start:L===void 0?void 0:Hb(L,i,`${u} has member 'start' that`),transform:$===void 0?void 0:Wb($,i,`${u} has member 'transform' that`),writableType:Q}}function zb(i,u,h){return ye(i,h),E=>b(i,u,[E])}function Hb(i,u,h){return ye(i,h),E=>v(i,u,[E])}function Wb(i,u,h){return ye(i,h),(E,R)=>b(i,u,[E,R])}function Gb(i,u,h){return ye(i,h),E=>b(i,u,[E])}class Zs{constructor(u={},h={},E={}){u===void 0&&(u=null);let R=Us(h,"Second parameter"),L=Us(E,"Third parameter"),$=qb(u,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=Do(L,0),ce=Ls(L),ne=Do(R,1),fe=Ls(R),ge,De=l(Lt=>{ge=Lt});Jb(this,De,ne,fe,Q,ce),Kb(this,$),$.start!==void 0?ge($.start(this._transformStreamController)):ge(void 0)}get readable(){if(!wh(this))throw kh("readable");return this._readable}get writable(){if(!wh(this))throw kh("writable");return this._writable}}Object.defineProperties(Zs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Jb(i,u,h,E,R,L){function $(){return u}function Q(De){return Xb(i,De)}function ce(De){return Zb(i,De)}function ne(){return eC(i)}i._writable=Q_($,Q,ne,ce,h,E);function fe(){return tC(i)}function ge(De){return rC(i,De)}i._readable=Po($,fe,ge,R,L),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,ei(i,!0),i._transformStreamController=void 0}function wh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Zs}function Eh(i,u){Mt(i._readable._readableStreamController,u),zu(i,u)}function zu(i,u){ri(i._transformStreamController),Ro(i._writable._writableStreamController,u),Hu(i)}function Hu(i){i._backpressure&&ei(i,!1)}function ei(i,u){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=u}class $r{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ti(this))throw ni("desiredSize");let u=this._controlledTransformStream._readable._readableStreamController;return $u(u)}enqueue(u=void 0){if(!ti(this))throw ni("enqueue");Ah(this,u)}error(u=void 0){if(!ti(this))throw ni("error");Yb(this,u)}terminate(){if(!ti(this))throw ni("terminate");Qb(this)}}Object.defineProperties($r.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o($r.prototype.enqueue,"enqueue"),o($r.prototype.error,"error"),o($r.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($r.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function ti(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof $r}function Vb(i,u,h,E,R){u._controlledTransformStream=i,i._transformStreamController=u,u._transformAlgorithm=h,u._flushAlgorithm=E,u._cancelAlgorithm=R,u._finishPromise=void 0,u._finishPromise_resolve=void 0,u._finishPromise_reject=void 0}function Kb(i,u){let h=Object.create($r.prototype),E,R,L;u.transform!==void 0?E=$=>u.transform($,h):E=$=>{try{return Ah(h,$),d(void 0)}catch(Q){return f(Q)}},u.flush!==void 0?R=()=>u.flush(h):R=()=>d(void 0),u.cancel!==void 0?L=$=>u.cancel($):L=()=>d(void 0),Vb(i,h,E,R,L)}function ri(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ah(i,u){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!Mn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nn(E,u)}catch(L){throw zu(h,L),h._readable._storedError}kb(E)!==h._backpressure&&ei(h,!0)}function Yb(i,u){Eh(i._controlledTransformStream,u)}function Sh(i,u){let h=i._transformAlgorithm(u);return y(h,void 0,E=>{throw Eh(i._controlledTransformStream,E),E})}function Qb(i){let u=i._controlledTransformStream,h=u._readable._readableStreamController;un(h);let E=new TypeError("TransformStream terminated");zu(u,E)}function Xb(i,u){let h=i._transformStreamController;if(i._backpressure){let E=i._backpressureChangePromise;return y(E,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return Sh(h,u)})}return Sh(h,u)}function Zb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._readable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return ri(h),g(R,()=>(E._state==="errored"?jn(h,E._storedError):(Mt(E._readableStreamController,u),Wu(h)),null),L=>(Mt(E._readableStreamController,L),jn(h,L),null)),h._finishPromise}function eC(i){let u=i._transformStreamController;if(u._finishPromise!==void 0)return u._finishPromise;let h=i._readable;u._finishPromise=l((R,L)=>{u._finishPromise_resolve=R,u._finishPromise_reject=L});let E=u._flushAlgorithm();return ri(u),g(E,()=>(h._state==="errored"?jn(u,h._storedError):(un(h._readableStreamController),Wu(u)),null),R=>(Mt(h._readableStreamController,R),jn(u,R),null)),u._finishPromise}function tC(i){return ei(i,!1),i._backpressureChangePromise}function rC(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._writable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return ri(h),g(R,()=>(E._state==="errored"?jn(h,E._storedError):(Ro(E._writableStreamController,u),Hu(i),Wu(h)),null),L=>(Ro(E._writableStreamController,L),Hu(i),jn(h,L),null)),h._finishPromise}function ni(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Wu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function jn(i,u){i._finishPromise_reject!==void 0&&(_(i._finishPromise),i._finishPromise_reject(u),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function kh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Qs,t.CountQueuingStrategy=Xs,t.ReadableByteStreamController=pr,t.ReadableStream=Qe,t.ReadableStreamBYOBReader=Mr,t.ReadableStreamBYOBRequest=tn,t.ReadableStreamDefaultController=gr,t.ReadableStreamDefaultReader=z,t.TransformStream=Zs,t.TransformStreamDefaultController=$r,t.WritableStream=jr,t.WritableStreamDefaultController=Bn,t.WritableStreamDefaultWriter=mr}))});var cm=V(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,um())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let c=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=c.byteLength,s.enqueue(new Uint8Array(c)),n===o.size&&s.close()}})})}catch{}});async function*Tc(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,lm),a=r.buffer.slice(n,n+s);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let a=await o.slice(n,Math.min(o.size,n+lm)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var r1,lm,dm,Fw,$t,qo=Me(()=>{r1=Oe(cm(),1);lm=65536;dm=class Dc{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Dc?a=s:a=n.encode(`${s}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let o=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of Tc(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of Tc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=Tc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=r<0?Math.max(o+r,0):Math.min(r,o),c=Math.max(a-s,0),l=this.#e,d=[],f=0;for(let g of l){if(f>=c)break;let A=ArrayBuffer.isView(g)?g.byteLength:g.size;if(s&&A<=s)s-=A,a-=A;else{let w;ArrayBuffer.isView(g)?(w=g.subarray(s,Math.min(A,a)),f+=w.byteLength):(w=g.slice(s,Math.min(A,a)),f+=w.size),a-=A,d.push(w),s=0}}let p=new Dc([],{type:String(n).toLowerCase()});return p.#r=c,p.#e=d,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(dm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Fw=dm,$t=Fw});var Iw,Bw,Wr,Rc=Me(()=>{qo();Iw=class extends $t{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let o=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},Bw=Iw,Wr=Bw});function pm(t,e=$t){var r=`${fm()}${fm()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
27
- Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?n.push(o+xc(a)+`"\r
22
+ `);if(g===-1){Oi("have not received end of HTTP headers yet..."),s();return}let _=p.slice(0,g).toString("ascii").split(`\r
23
+ `),C=_.shift();if(!C)return t.destroy(),n(new Error("No header received from proxy CONNECT response"));let b=C.split(" "),y=+b[1],m=b.slice(2).join(" "),k={};for(let w of _){if(!w)continue;let S=w.indexOf(":");if(S===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${w}"`));let T=w.slice(0,S).toLowerCase(),R=w.slice(S+1).trimStart(),U=k[T];typeof U=="string"?k[T]=[U,R]:Array.isArray(U)?U.push(R):k[T]=R}Oi("got proxy server response: %o %o",C,k),a(),e({connect:{statusCode:y,statusText:m,headers:k},buffered:p})}t.on("error",l),t.on("end",c),s()})}Xr.parseProxyResponse=Bw});var pm=K(Dt=>{"use strict";var Mw=Dt&&Dt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Lw=Dt&&Dt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fm=Dt&&Dt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&Mw(e,t,n);return Lw(e,t),e},hm=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.HttpsProxyAgent=void 0;var Pi=fm(require("net")),cm=fm(require("tls")),jw=hm(require("assert")),$w=hm(Fc()),Uw=am(),qw=require("url"),Hw=um(),Ho=(0,$w.default)("https-proxy-agent"),lm=t=>t.servername===void 0&&t.host&&!Pi.isIP(t.host)?{...t,servername:t.host}:t,Fi=class extends Uw.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new qw.URL(e):e,this.proxyHeaders=n?.headers??{},Ho("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let r=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...n?dm(n,"headers"):null,host:r,port:o}}async connect(e,n){let{proxy:r}=this;if(!n.host)throw new TypeError('No "host" provided');let o;r.protocol==="https:"?(Ho("Creating `tls.Socket`: %o",this.connectOpts),o=cm.connect(lm(this.connectOpts))):(Ho("Creating `net.Socket`: %o",this.connectOpts),o=Pi.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Pi.isIPv6(n.host)?`[${n.host}]`:n.host,c=`CONNECT ${a}:${n.port} HTTP/1.1\r
24
+ `;if(r.username||r.password){let g=`${decodeURIComponent(r.username)}:${decodeURIComponent(r.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(g).toString("base64")}`}s.Host=`${a}:${n.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let g of Object.keys(s))c+=`${g}: ${s[g]}\r
25
+ `;let l=(0,Hw.parseProxyResponse)(o);o.write(`${c}\r
26
+ `);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",zw),n.secureEndpoint?(Ho("Upgrading socket connection to TLS"),cm.connect({...dm(lm(n),"host","path","port"),socket:o})):o;o.destroy();let p=new Pi.Socket({writable:!1});return p.readable=!0,e.once("socket",g=>{Ho("Replaying proxy buffer for failed request"),(0,jw.default)(g.listenerCount("data")>0),g.push(f),g.push(null)}),p}};Fi.protocols=["http","https"];Dt.HttpsProxyAgent=Fi;function zw(t){t.resume()}function dm(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function Ww(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",a=s;for(let f=1;f<n.length;f++)n[f]==="base64"?o=!0:n[f]&&(a+=`;${n[f]}`,n[f].indexOf("charset=")===0&&(r=n[f].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let c=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,c);return d.type=s,d.typeFull=a,d.charset=r,d}var mm,gm=Me(()=>{mm=Ww});var _m=K((Ii,ym)=>{(function(t,e){typeof Ii=="object"&&typeof ym<"u"?e(Ii):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ii,(function(t){"use strict";function e(){}function n(i){return typeof i=="object"&&i!==null||typeof i=="function"}let r=e;function o(i,u){try{Object.defineProperty(i,"name",{value:u,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,c=Promise.reject.bind(s);function l(i){return new s(i)}function d(i){return l(u=>u(i))}function f(i){return c(i)}function p(i,u,h){return a.call(i,u,h)}function g(i,u,h){p(p(i,u,h),void 0,r)}function _(i,u){g(i,u)}function C(i,u){g(i,void 0,u)}function b(i,u,h){return p(i,u,h)}function y(i){p(i,void 0,r)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let u=d(void 0);m=h=>p(u,h)}return m(i)};function k(i,u,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,u,h)}function w(i,u,h){try{return d(k(i,u,h))}catch(A){return f(A)}}let S=16384;class T{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(u){let h=this._back,A=h;h._elements.length===S-1&&(A={_elements:[],_next:void 0}),h._elements.push(u),A!==h&&(this._back=A,h._next=A),++this._size}shift(){let u=this._front,h=u,A=this._cursor,x=A+1,j=u._elements,q=j[A];return x===S&&(h=u._next,x=0),--this._size,this._cursor=x,u!==h&&(this._front=h),j[A]=void 0,q}forEach(u){let h=this._cursor,A=this._front,x=A._elements;for(;(h!==x.length||A._next!==void 0)&&!(h===x.length&&(A=A._next,x=A._elements,h=0,x.length===0));)u(x[h]),++h}peek(){let u=this._front,h=this._cursor;return u._elements[h]}}let R=Symbol("[[AbortSteps]]"),U=Symbol("[[ErrorSteps]]"),J=Symbol("[[CancelSteps]]"),F=Symbol("[[PullSteps]]"),V=Symbol("[[ReleaseSteps]]");function Y(i,u){i._ownerReadableStream=u,u._reader=i,u._state==="readable"?Se(i):u._state==="closed"?pe(i):ue(i,u._storedError)}function X(i,u){let h=i._ownerReadableStream;return Lt(h,u)}function ee(i){let u=i._ownerReadableStream;u._state==="readable"?W(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Q(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),u._readableStreamController[V](),u._reader=void 0,i._ownerReadableStream=void 0}function de(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function Se(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h})}function ue(i,u){Se(i),W(i,u)}function pe(i){Se(i),re(i)}function W(i,u){i._closedPromise_reject!==void 0&&(y(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Q(i,u){ue(i,u)}function re(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let $e=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},ke=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function G(i){return typeof i=="object"||typeof i=="function"}function le(i,u){if(i!==void 0&&!G(i))throw new TypeError(`${u} is not an object.`)}function _e(i,u){if(typeof i!="function")throw new TypeError(`${u} is not a function.`)}function Bt(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Re(i,u){if(!Bt(i))throw new TypeError(`${u} is not an object.`)}function Le(i,u,h){if(i===void 0)throw new TypeError(`Parameter ${u} is required in '${h}'.`)}function E(i,u,h){if(i===void 0)throw new TypeError(`${u} is required in '${h}'.`)}function v(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(ke(i))}function P(i,u){let A=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!$e(x))throw new TypeError(`${u} is not a finite number`);if(x=M(x),x<0||x>A)throw new TypeError(`${u} is outside the accepted range of 0 to ${A}, inclusive`);return!$e(x)||x===0?0:x}function N(i,u){if(!Un(i))throw new TypeError(`${u} is not a ReadableStream.`)}function $(i){return new H(i)}function O(i,u){i._reader._readRequests.push(u)}function I(i,u,h){let x=i._reader._readRequests.shift();h?x._closeSteps():x._chunkSteps(u)}function L(i){return i._reader._readRequests.length}function B(i){let u=i._reader;return!(u===void 0||!te(u))}class H{constructor(u){if(Le(u,1,"ReadableStreamDefaultReader"),N(u,"First parameter"),qn(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Y(this,u),this._readRequests=new T}get closed(){return te(this)?this._closedPromise:f(Be("closed"))}cancel(u=void 0){return te(this)?this._ownerReadableStream===void 0?f(de("cancel")):X(this,u):f(Be("cancel"))}read(){if(!te(this))return f(Be("read"));if(this._ownerReadableStream===void 0)return f(de("read from"));let u,h,A=l((j,q)=>{u=j,h=q});return ne(this,{_chunkSteps:j=>u({value:j,done:!1}),_closeSteps:()=>u({value:void 0,done:!0}),_errorSteps:j=>h(j)}),A}releaseLock(){if(!te(this))throw Be("releaseLock");this._ownerReadableStream!==void 0&&Ee(this)}}Object.defineProperties(H.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(H.prototype.cancel,"cancel"),o(H.prototype.read,"read"),o(H.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function te(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function ne(i,u){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?u._closeSteps():h._state==="errored"?u._errorSteps(h._storedError):h._readableStreamController[F](u)}function Ee(i){ee(i);let u=new TypeError("Reader was released");Fe(i,u)}function Fe(i,u){let h=i._readRequests;i._readRequests=new T,h.forEach(A=>{A._errorSteps(u)})}function Be(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let we=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Ae{constructor(u,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=u,this._preventCancel=h}next(){let u=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?b(this._ongoingPromise,u,u):u(),this._ongoingPromise}return(u){let h=()=>this._returnSteps(u);return this._ongoingPromise?b(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let u=this._reader,h,A,x=l((q,Z)=>{h=q,A=Z});return ne(u,{_chunkSteps:q=>{this._ongoingPromise=void 0,m(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ee(u),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,ee(u),A(q)}}),x}_returnSteps(u){if(this._isFinished)return Promise.resolve({value:u,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let A=X(h,u);return ee(h),b(A,()=>({value:u,done:!0}))}return ee(h),d({value:u,done:!0})}}let Ue={next(){return Pr(this)?this._asyncIteratorImpl.next():f(Fr("next"))},return(i){return Pr(this)?this._asyncIteratorImpl.return(i):f(Fr("return"))}};Object.setPrototypeOf(Ue,we);function Or(i,u){let h=$(i),A=new Ae(h,u),x=Object.create(Ue);return x._asyncIteratorImpl=A,x}function Pr(i){if(!n(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Ae}catch{return!1}}function Fr(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var hn,Xe,qe;function ve(i){return i.slice()}function Ff(i,u,h,A,x){new Uint8Array(i).set(new Uint8Array(h,A,x),u)}let pn=i=>(typeof i.transfer=="function"?pn=u=>u.transfer():typeof structuredClone=="function"?pn=u=>structuredClone(u,{transfer:[u]}):pn=u=>u,pn(i)),Mn=i=>(typeof i.detached=="boolean"?Mn=u=>u.detached:Mn=u=>u.byteLength===0,Mn(i));function If(i,u,h){if(i.slice)return i.slice(u,h);let A=h-u,x=new ArrayBuffer(A);return Ff(x,0,i,u,A),x}function Is(i,u){let h=i[u];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(u)} is not a function`);return h}}function O_(i){let u={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*u})(),A=h.next;return{iterator:h,nextMethod:A,done:!1}}let ku=(qe=(hn=Symbol.asyncIterator)!==null&&hn!==void 0?hn:(Xe=Symbol.for)===null||Xe===void 0?void 0:Xe.call(Symbol,"Symbol.asyncIterator"))!==null&&qe!==void 0?qe:"@@asyncIterator";function Nf(i,u="sync",h){if(h===void 0)if(u==="async"){if(h=Is(i,ku),h===void 0){let j=Is(i,Symbol.iterator),q=Nf(i,"sync",j);return O_(q)}}else h=Is(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let A=k(h,i,[]);if(!n(A))throw new TypeError("The iterator method must return an object");let x=A.next;return{iterator:A,nextMethod:x,done:!1}}function P_(i){let u=k(i.nextMethod,i.iterator,[]);if(!n(u))throw new TypeError("The iterator.next() method must return an object");return u}function F_(i){return!!i.done}function I_(i){return i.value}function N_(i){return!(typeof i!="number"||dt(i)||i<0)}function Bf(i){let u=If(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(u)}function vu(i){let u=i._queue.shift();return i._queueTotalSize-=u.size,i._queueTotalSize<0&&(i._queueTotalSize=0),u.value}function Tu(i,u,h){if(!N_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:u,size:h}),i._queueTotalSize+=h}function B_(i){return i._queue.peek().value}function Ln(i){i._queue=new T,i._queueTotalSize=0}function Mf(i){return i===DataView}function M_(i){return Mf(i.constructor)}function L_(i){return Mf(i)?1:i.BYTES_PER_ELEMENT}class or{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Du(this))throw Fu("view");return this._view}respond(u){if(!Du(this))throw Fu("respond");if(Le(u,1,"respond"),u=P(u,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Mn(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ls(this._associatedReadableByteStreamController,u)}respondWithNewView(u){if(!Du(this))throw Fu("respondWithNewView");if(Le(u,1,"respondWithNewView"),!ArrayBuffer.isView(u))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Mn(u.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");js(this._associatedReadableByteStreamController,u)}}Object.defineProperties(or.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(or.prototype.respond,"respond"),o(or.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(or.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class mn{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!sr(this))throw Ro("byobRequest");return Pu(this)}get desiredSize(){if(!sr(this))throw Ro("desiredSize");return Jf(this)}close(){if(!sr(this))throw Ro("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let u=this._controlledReadableByteStream._state;if(u!=="readable")throw new TypeError(`The stream (in ${u} state) is not in the readable state and cannot be closed`);Do(this)}enqueue(u){if(!sr(this))throw Ro("enqueue");if(Le(u,1,"enqueue"),!ArrayBuffer.isView(u))throw new TypeError("chunk must be an array buffer view");if(u.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(u.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Ms(this,u)}error(u=void 0){if(!sr(this))throw Ro("error");At(this,u)}[J](u){Lf(this),Ln(this);let h=this._cancelAlgorithm(u);return Bs(this),h}[F](u){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Gf(this,u);return}let A=this._autoAllocateChunkSize;if(A!==void 0){let x;try{x=new ArrayBuffer(A)}catch(q){u._errorSteps(q);return}let j={buffer:x,bufferByteLength:A,byteOffset:0,byteLength:A,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(h,u),ir(this)}[V](){if(this._pendingPullIntos.length>0){let u=this._pendingPullIntos.peek();u.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(u)}}}Object.defineProperties(mn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(mn.prototype.close,"close"),o(mn.prototype.enqueue,"enqueue"),o(mn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function sr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof mn}function Du(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof or}function ir(i){if(!H_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,ir(i)),null),A=>(At(i,A),null))}function Lf(i){xu(i),i._pendingPullIntos=new T}function Ru(i,u){let h=!1;i._state==="closed"&&(h=!0);let A=jf(u);u.readerType==="default"?I(i,A,h):K_(i,A,h)}function jf(i){let u=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,u/h)}function Ns(i,u,h,A){i._queue.push({buffer:u,byteOffset:h,byteLength:A}),i._queueTotalSize+=A}function $f(i,u,h,A){let x;try{x=If(u,h,h+A)}catch(j){throw At(i,j),j}Ns(i,x,0,A)}function Uf(i,u){u.bytesFilled>0&&$f(i,u.buffer,u.byteOffset,u.bytesFilled),Ir(i)}function qf(i,u){let h=Math.min(i._queueTotalSize,u.byteLength-u.bytesFilled),A=u.bytesFilled+h,x=h,j=!1,q=A%u.elementSize,Z=A-q;Z>=u.minimumFill&&(x=Z-u.bytesFilled,j=!0);let ce=i._queue;for(;x>0;){let se=ce.peek(),fe=Math.min(x,se.byteLength),ge=u.byteOffset+u.bytesFilled;Ff(u.buffer,ge,se.buffer,se.byteOffset,fe),se.byteLength===fe?ce.shift():(se.byteOffset+=fe,se.byteLength-=fe),i._queueTotalSize-=fe,Hf(i,fe,u),x-=fe}return j}function Hf(i,u,h){h.bytesFilled+=u}function zf(i){i._queueTotalSize===0&&i._closeRequested?(Bs(i),No(i._controlledReadableByteStream)):ir(i)}function xu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function Ou(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let u=i._pendingPullIntos.peek();qf(i,u)&&(Ir(i),Ru(i._controlledReadableByteStream,u))}}function j_(i){let u=i._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=u._readRequests.shift();Gf(i,h)}}function $_(i,u,h,A){let x=i._controlledReadableByteStream,j=u.constructor,q=L_(j),{byteOffset:Z,byteLength:ce}=u,se=h*q,fe;try{fe=pn(u.buffer)}catch(De){A._errorSteps(De);return}let ge={buffer:fe,bufferByteLength:fe.byteLength,byteOffset:Z,byteLength:ce,bytesFilled:0,minimumFill:se,elementSize:q,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ge),Yf(x,A);return}if(x._state==="closed"){let De=new j(ge.buffer,ge.byteOffset,0);A._closeSteps(De);return}if(i._queueTotalSize>0){if(qf(i,ge)){let De=jf(ge);zf(i),A._chunkSteps(De);return}if(i._closeRequested){let De=new TypeError("Insufficient bytes to fill elements in the given buffer");At(i,De),A._errorSteps(De);return}}i._pendingPullIntos.push(ge),Yf(x,A),ir(i)}function U_(i,u){u.readerType==="none"&&Ir(i);let h=i._controlledReadableByteStream;if(Iu(h))for(;Qf(h)>0;){let A=Ir(i);Ru(h,A)}}function q_(i,u,h){if(Hf(i,u,h),h.readerType==="none"){Uf(i,h),Ou(i);return}if(h.bytesFilled<h.minimumFill)return;Ir(i);let A=h.bytesFilled%h.elementSize;if(A>0){let x=h.byteOffset+h.bytesFilled;$f(i,h.buffer,x-A,A)}h.bytesFilled-=A,Ru(i._controlledReadableByteStream,h),Ou(i)}function Wf(i,u){let h=i._pendingPullIntos.peek();xu(i),i._controlledReadableByteStream._state==="closed"?U_(i,h):q_(i,u,h),ir(i)}function Ir(i){return i._pendingPullIntos.shift()}function H_(i){let u=i._controlledReadableByteStream;return u._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(u)&&L(u)>0||Iu(u)&&Qf(u)>0||Jf(i)>0)}function Bs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Do(i){let u=i._controlledReadableByteStream;if(!(i._closeRequested||u._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let A=new TypeError("Insufficient bytes to fill elements in the given buffer");throw At(i,A),A}}Bs(i),No(u)}}function Ms(i,u){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:A,byteOffset:x,byteLength:j}=u;if(Mn(A))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=pn(A);if(i._pendingPullIntos.length>0){let Z=i._pendingPullIntos.peek();if(Mn(Z.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");xu(i),Z.buffer=pn(Z.buffer),Z.readerType==="none"&&Uf(i,Z)}if(B(h))if(j_(i),L(h)===0)Ns(i,q,x,j);else{i._pendingPullIntos.length>0&&Ir(i);let Z=new Uint8Array(q,x,j);I(h,Z,!1)}else Iu(h)?(Ns(i,q,x,j),Ou(i)):Ns(i,q,x,j);ir(i)}function At(i,u){let h=i._controlledReadableByteStream;h._state==="readable"&&(Lf(i),Ln(i),Bs(i),wh(h,u))}function Gf(i,u){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,zf(i);let A=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);u._chunkSteps(A)}function Pu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let u=i._pendingPullIntos.peek(),h=new Uint8Array(u.buffer,u.byteOffset+u.bytesFilled,u.byteLength-u.bytesFilled),A=Object.create(or.prototype);W_(A,i,h),i._byobRequest=A}return i._byobRequest}function Jf(i){let u=i._controlledReadableByteStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ls(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(u===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+u>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=pn(h.buffer),Wf(i,u)}function js(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(u.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==u.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==u.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+u.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=u.byteLength;h.buffer=pn(u.buffer),Wf(i,x)}function Vf(i,u,h,A,x,j,q){u._controlledReadableByteStream=i,u._pullAgain=!1,u._pulling=!1,u._byobRequest=null,u._queue=u._queueTotalSize=void 0,Ln(u),u._closeRequested=!1,u._started=!1,u._strategyHWM=j,u._pullAlgorithm=A,u._cancelAlgorithm=x,u._autoAllocateChunkSize=q,u._pendingPullIntos=new T,i._readableStreamController=u;let Z=h();g(d(Z),()=>(u._started=!0,ir(u),null),ce=>(At(u,ce),null))}function z_(i,u,h){let A=Object.create(mn.prototype),x,j,q;u.start!==void 0?x=()=>u.start(A):x=()=>{},u.pull!==void 0?j=()=>u.pull(A):j=()=>d(void 0),u.cancel!==void 0?q=ce=>u.cancel(ce):q=()=>d(void 0);let Z=u.autoAllocateChunkSize;if(Z===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Vf(i,A,x,j,q,h,Z)}function W_(i,u,h){i._associatedReadableByteStreamController=u,i._view=h}function Fu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Ro(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function G_(i,u){le(i,u);let h=i?.mode;return{mode:h===void 0?void 0:J_(h,`${u} has member 'mode' that`)}}function J_(i,u){if(i=`${i}`,i!=="byob")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function V_(i,u){var h;le(i,u);let A=(h=i?.min)!==null&&h!==void 0?h:1;return{min:P(A,`${u} has member 'min' that`)}}function Kf(i){return new jn(i)}function Yf(i,u){i._reader._readIntoRequests.push(u)}function K_(i,u,h){let x=i._reader._readIntoRequests.shift();h?x._closeSteps(u):x._chunkSteps(u)}function Qf(i){return i._reader._readIntoRequests.length}function Iu(i){let u=i._reader;return!(u===void 0||!ar(u))}class jn{constructor(u){if(Le(u,1,"ReadableStreamBYOBReader"),N(u,"First parameter"),qn(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!sr(u._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Y(this,u),this._readIntoRequests=new T}get closed(){return ar(this)?this._closedPromise:f($s("closed"))}cancel(u=void 0){return ar(this)?this._ownerReadableStream===void 0?f(de("cancel")):X(this,u):f($s("cancel"))}read(u,h={}){if(!ar(this))return f($s("read"));if(!ArrayBuffer.isView(u))return f(new TypeError("view must be an array buffer view"));if(u.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(u.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(Mn(u.buffer))return f(new TypeError("view's buffer has been detached"));let A;try{A=V_(h,"options")}catch(se){return f(se)}let x=A.min;if(x===0)return f(new TypeError("options.min must be greater than 0"));if(M_(u)){if(x>u.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>u.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(de("read from"));let j,q,Z=l((se,fe)=>{j=se,q=fe});return Xf(this,u,x,{_chunkSteps:se=>j({value:se,done:!1}),_closeSteps:se=>j({value:se,done:!0}),_errorSteps:se=>q(se)}),Z}releaseLock(){if(!ar(this))throw $s("releaseLock");this._ownerReadableStream!==void 0&&Y_(this)}}Object.defineProperties(jn.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(jn.prototype.cancel,"cancel"),o(jn.prototype.read,"read"),o(jn.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(jn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function ar(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof jn}function Xf(i,u,h,A){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?A._errorSteps(x._storedError):$_(x._readableStreamController,u,h,A)}function Y_(i){ee(i);let u=new TypeError("Reader was released");Zf(i,u)}function Zf(i,u){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(A=>{A._errorSteps(u)})}function $s(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function xo(i,u){let{highWaterMark:h}=i;if(h===void 0)return u;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Us(i){let{size:u}=i;return u||(()=>1)}function qs(i,u){le(i,u);let h=i?.highWaterMark,A=i?.size;return{highWaterMark:h===void 0?void 0:v(h),size:A===void 0?void 0:Q_(A,`${u} has member 'size' that`)}}function Q_(i,u){return _e(i,u),h=>v(i(h))}function X_(i,u){le(i,u);let h=i?.abort,A=i?.close,x=i?.start,j=i?.type,q=i?.write;return{abort:h===void 0?void 0:Z_(h,i,`${u} has member 'abort' that`),close:A===void 0?void 0:eb(A,i,`${u} has member 'close' that`),start:x===void 0?void 0:tb(x,i,`${u} has member 'start' that`),write:q===void 0?void 0:nb(q,i,`${u} has member 'write' that`),type:j}}function Z_(i,u,h){return _e(i,h),A=>w(i,u,[A])}function eb(i,u,h){return _e(i,h),()=>w(i,u,[])}function tb(i,u,h){return _e(i,h),A=>k(i,u,[A])}function nb(i,u,h){return _e(i,h),(A,x)=>w(i,u,[A,x])}function eh(i,u){if(!Nr(i))throw new TypeError(`${u} is not a WritableStream.`)}function rb(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let ob=typeof AbortController=="function";function sb(){if(ob)return new AbortController}class $n{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let A=qs(h,"Second parameter"),x=X_(u,"First parameter");if(nh(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let q=Us(A),Z=xo(A,1);bb(this,x,Z,q)}get locked(){if(!Nr(this))throw Js("locked");return Br(this)}abort(u=void 0){return Nr(this)?Br(this)?f(new TypeError("Cannot abort a stream that already has a writer")):Hs(this,u):f(Js("abort"))}close(){return Nr(this)?Br(this)?f(new TypeError("Cannot close a stream that already has a writer")):Xt(this)?f(new TypeError("Cannot close an already-closing stream")):rh(this):f(Js("close"))}getWriter(){if(!Nr(this))throw Js("getWriter");return th(this)}}Object.defineProperties($n.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o($n.prototype.abort,"abort"),o($n.prototype.close,"close"),o($n.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($n.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function th(i){return new gn(i)}function ib(i,u,h,A,x=1,j=()=>1){let q=Object.create($n.prototype);nh(q);let Z=Object.create(Mr.prototype);return ch(q,Z,i,u,h,A,x,j),q}function nh(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new T,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Nr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof $n}function Br(i){return i._writer!==void 0}function Hs(i,u){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=u,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(u);let A=i._state;if(A==="closed"||A==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;A==="erroring"&&(x=!0,u=void 0);let j=l((q,Z)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:Z,_reason:u,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||Bu(i,u),j}function rh(i){let u=i._state;if(u==="closed"||u==="errored")return f(new TypeError(`The stream (in ${u} state) is not in the writable state and cannot be closed`));let h=l((x,j)=>{let q={_resolve:x,_reject:j};i._closeRequest=q}),A=i._writer;return A!==void 0&&i._backpressure&&u==="writable"&&zu(A),Cb(i._writableStreamController),h}function ab(i){return l((h,A)=>{let x={_resolve:h,_reject:A};i._writeRequests.push(x)})}function Nu(i,u){if(i._state==="writable"){Bu(i,u);return}Mu(i)}function Bu(i,u){let h=i._writableStreamController;i._state="erroring",i._storedError=u;let A=i._writer;A!==void 0&&sh(A,u),!fb(i)&&h._started&&Mu(i)}function Mu(i){i._state="errored",i._writableStreamController[U]();let u=i._storedError;if(i._writeRequests.forEach(x=>{x._reject(u)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){zs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(u),zs(i);return}let A=i._writableStreamController[R](h._reason);g(A,()=>(h._resolve(),zs(i),null),x=>(h._reject(x),zs(i),null))}function ub(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function cb(i,u){i._inFlightWriteRequest._reject(u),i._inFlightWriteRequest=void 0,Nu(i,u)}function lb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&hh(h)}function db(i,u){i._inFlightCloseRequest._reject(u),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(u),i._pendingAbortRequest=void 0),Nu(i,u)}function Xt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function fb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function hb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function pb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function zs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let u=i._writer;u!==void 0&&qu(u,i._storedError)}function Lu(i,u){let h=i._writer;h!==void 0&&u!==i._backpressure&&(u?Tb(h):zu(h)),i._backpressure=u}class gn{constructor(u){if(Le(u,1,"WritableStreamDefaultWriter"),eh(u,"First parameter"),Br(u))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=u,u._writer=this;let h=u._state;if(h==="writable")!Xt(u)&&u._backpressure?Ks(this):ph(this),Vs(this);else if(h==="erroring")Hu(this,u._storedError),Vs(this);else if(h==="closed")ph(this),kb(this);else{let A=u._storedError;Hu(this,A),fh(this,A)}}get closed(){return ur(this)?this._closedPromise:f(cr("closed"))}get desiredSize(){if(!ur(this))throw cr("desiredSize");if(this._ownerWritableStream===void 0)throw Po("desiredSize");return _b(this)}get ready(){return ur(this)?this._readyPromise:f(cr("ready"))}abort(u=void 0){return ur(this)?this._ownerWritableStream===void 0?f(Po("abort")):mb(this,u):f(cr("abort"))}close(){if(!ur(this))return f(cr("close"));let u=this._ownerWritableStream;return u===void 0?f(Po("close")):Xt(u)?f(new TypeError("Cannot close an already-closing stream")):oh(this)}releaseLock(){if(!ur(this))throw cr("releaseLock");this._ownerWritableStream!==void 0&&ih(this)}write(u=void 0){return ur(this)?this._ownerWritableStream===void 0?f(Po("write to")):ah(this,u):f(cr("write"))}}Object.defineProperties(gn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(gn.prototype.abort,"abort"),o(gn.prototype.close,"close"),o(gn.prototype.releaseLock,"releaseLock"),o(gn.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function ur(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof gn}function mb(i,u){let h=i._ownerWritableStream;return Hs(h,u)}function oh(i){let u=i._ownerWritableStream;return rh(u)}function gb(i){let u=i._ownerWritableStream,h=u._state;return Xt(u)||h==="closed"?d(void 0):h==="errored"?f(u._storedError):oh(i)}function yb(i,u){i._closedPromiseState==="pending"?qu(i,u):vb(i,u)}function sh(i,u){i._readyPromiseState==="pending"?mh(i,u):Db(i,u)}function _b(i){let u=i._ownerWritableStream,h=u._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:lh(u._writableStreamController)}function ih(i){let u=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");sh(i,h),yb(i,h),u._writer=void 0,i._ownerWritableStream=void 0}function ah(i,u){let h=i._ownerWritableStream,A=h._writableStreamController,x=wb(A,u);if(h!==i._ownerWritableStream)return f(Po("write to"));let j=h._state;if(j==="errored")return f(h._storedError);if(Xt(h)||j==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return f(h._storedError);let q=ab(h);return Eb(A,u,x),q}let uh={};class Mr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!ju(this))throw Uu("abortReason");return this._abortReason}get signal(){if(!ju(this))throw Uu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(u=void 0){if(!ju(this))throw Uu("error");this._controlledWritableStream._state==="writable"&&dh(this,u)}[R](u){let h=this._abortAlgorithm(u);return Ws(this),h}[U](){Ln(this)}}Object.defineProperties(Mr.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function ju(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Mr}function ch(i,u,h,A,x,j,q,Z){u._controlledWritableStream=i,i._writableStreamController=u,u._queue=void 0,u._queueTotalSize=void 0,Ln(u),u._abortReason=void 0,u._abortController=sb(),u._started=!1,u._strategySizeAlgorithm=Z,u._strategyHWM=q,u._writeAlgorithm=A,u._closeAlgorithm=x,u._abortAlgorithm=j;let ce=$u(u);Lu(i,ce);let se=h(),fe=d(se);g(fe,()=>(u._started=!0,Gs(u),null),ge=>(u._started=!0,Nu(i,ge),null))}function bb(i,u,h,A){let x=Object.create(Mr.prototype),j,q,Z,ce;u.start!==void 0?j=()=>u.start(x):j=()=>{},u.write!==void 0?q=se=>u.write(se,x):q=()=>d(void 0),u.close!==void 0?Z=()=>u.close():Z=()=>d(void 0),u.abort!==void 0?ce=se=>u.abort(se):ce=()=>d(void 0),ch(i,x,j,q,Z,ce,h,A)}function Ws(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function Cb(i){Tu(i,uh,0),Gs(i)}function wb(i,u){try{return i._strategySizeAlgorithm(u)}catch(h){return Oo(i,h),1}}function lh(i){return i._strategyHWM-i._queueTotalSize}function Eb(i,u,h){try{Tu(i,u,h)}catch(x){Oo(i,x);return}let A=i._controlledWritableStream;if(!Xt(A)&&A._state==="writable"){let x=$u(i);Lu(A,x)}Gs(i)}function Gs(i){let u=i._controlledWritableStream;if(!i._started||u._inFlightWriteRequest!==void 0)return;if(u._state==="erroring"){Mu(u);return}if(i._queue.length===0)return;let A=B_(i);A===uh?Sb(i):Ab(i,A)}function Oo(i,u){i._controlledWritableStream._state==="writable"&&dh(i,u)}function Sb(i){let u=i._controlledWritableStream;hb(u),vu(i);let h=i._closeAlgorithm();Ws(i),g(h,()=>(lb(u),null),A=>(db(u,A),null))}function Ab(i,u){let h=i._controlledWritableStream;pb(h);let A=i._writeAlgorithm(u);g(A,()=>{ub(h);let x=h._state;if(vu(i),!Xt(h)&&x==="writable"){let j=$u(i);Lu(h,j)}return Gs(i),null},x=>(h._state==="writable"&&Ws(i),cb(h,x),null))}function $u(i){return lh(i)<=0}function dh(i,u){let h=i._controlledWritableStream;Ws(i),Bu(h,u)}function Js(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Uu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function cr(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Po(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Vs(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function fh(i,u){Vs(i),qu(i,u)}function kb(i){Vs(i),hh(i)}function qu(i,u){i._closedPromise_reject!==void 0&&(y(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function vb(i,u){fh(i,u)}function hh(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Ks(i){i._readyPromise=l((u,h)=>{i._readyPromise_resolve=u,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Hu(i,u){Ks(i),mh(i,u)}function ph(i){Ks(i),zu(i)}function mh(i,u){i._readyPromise_reject!==void 0&&(y(i._readyPromise),i._readyPromise_reject(u),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function Tb(i){Ks(i)}function Db(i,u){Hu(i,u)}function zu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function Rb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Wu=Rb();function xb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function Ob(){let i=Wu?.DOMException;return xb(i)?i:void 0}function Pb(){let i=function(h,A){this.message=h||"",this.name=A||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let Fb=Ob()||Pb();function gh(i,u,h,A,x,j){let q=$(i),Z=th(u);i._disturbed=!0;let ce=!1,se=d(void 0);return l((fe,ge)=>{let De;if(j!==void 0){if(De=()=>{let ie=j.reason!==void 0?j.reason:new Fb("Aborted","AbortError"),be=[];A||be.push(()=>u._state==="writable"?Hs(u,ie):d(void 0)),x||be.push(()=>i._state==="readable"?Lt(i,ie):d(void 0)),it(()=>Promise.all(be.map(xe=>xe())),!0,ie)},j.aborted){De();return}j.addEventListener("abort",De)}function jt(){return l((ie,be)=>{function xe(ft){ft?ie():p(Ur(),xe,be)}xe(!1)})}function Ur(){return ce?d(!0):p(Z._readyPromise,()=>l((ie,be)=>{ne(q,{_chunkSteps:xe=>{se=p(ah(Z,xe),void 0,e),ie(!1)},_closeSteps:()=>ie(!0),_errorSteps:be})}))}if(_n(i,q._closedPromise,ie=>(A?kt(!0,ie):it(()=>Hs(u,ie),!0,ie),null)),_n(u,Z._closedPromise,ie=>(x?kt(!0,ie):it(()=>Lt(i,ie),!0,ie),null)),tt(i,q._closedPromise,()=>(h?kt():it(()=>gb(Z)),null)),Xt(u)||u._state==="closed"){let ie=new TypeError("the destination writable stream closed before all data could be piped to it");x?kt(!0,ie):it(()=>Lt(i,ie),!0,ie)}y(jt());function zn(){let ie=se;return p(se,()=>ie!==se?zn():void 0)}function _n(ie,be,xe){ie._state==="errored"?xe(ie._storedError):C(be,xe)}function tt(ie,be,xe){ie._state==="closed"?xe():_(be,xe)}function it(ie,be,xe){if(ce)return;ce=!0,u._state==="writable"&&!Xt(u)?_(zn(),ft):ft();function ft(){return g(ie(),()=>bn(be,xe),qr=>bn(!0,qr)),null}}function kt(ie,be){ce||(ce=!0,u._state==="writable"&&!Xt(u)?_(zn(),()=>bn(ie,be)):bn(ie,be))}function bn(ie,be){return ih(Z),ee(q),j!==void 0&&j.removeEventListener("abort",De),ie?ge(be):fe(void 0),null}})}class yn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ys(this))throw Xs("desiredSize");return Gu(this)}close(){if(!Ys(this))throw Xs("close");if(!jr(this))throw new TypeError("The stream is not in a state that permits close");lr(this)}enqueue(u=void 0){if(!Ys(this))throw Xs("enqueue");if(!jr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Lr(this,u)}error(u=void 0){if(!Ys(this))throw Xs("error");Mt(this,u)}[J](u){Ln(this);let h=this._cancelAlgorithm(u);return Qs(this),h}[F](u){let h=this._controlledReadableStream;if(this._queue.length>0){let A=vu(this);this._closeRequested&&this._queue.length===0?(Qs(this),No(h)):Fo(this),u._chunkSteps(A)}else O(h,u),Fo(this)}[V](){}}Object.defineProperties(yn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(yn.prototype.close,"close"),o(yn.prototype.enqueue,"enqueue"),o(yn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Ys(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof yn}function Fo(i){if(!yh(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Fo(i)),null),A=>(Mt(i,A),null))}function yh(i){let u=i._controlledReadableStream;return!jr(i)||!i._started?!1:!!(qn(u)&&L(u)>0||Gu(i)>0)}function Qs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function lr(i){if(!jr(i))return;let u=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Qs(i),No(u))}function Lr(i,u){if(!jr(i))return;let h=i._controlledReadableStream;if(qn(h)&&L(h)>0)I(h,u,!1);else{let A;try{A=i._strategySizeAlgorithm(u)}catch(x){throw Mt(i,x),x}try{Tu(i,u,A)}catch(x){throw Mt(i,x),x}}Fo(i)}function Mt(i,u){let h=i._controlledReadableStream;h._state==="readable"&&(Ln(i),Qs(i),wh(h,u))}function Gu(i){let u=i._controlledReadableStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ib(i){return!yh(i)}function jr(i){let u=i._controlledReadableStream._state;return!i._closeRequested&&u==="readable"}function _h(i,u,h,A,x,j,q){u._controlledReadableStream=i,u._queue=void 0,u._queueTotalSize=void 0,Ln(u),u._started=!1,u._closeRequested=!1,u._pullAgain=!1,u._pulling=!1,u._strategySizeAlgorithm=q,u._strategyHWM=j,u._pullAlgorithm=A,u._cancelAlgorithm=x,i._readableStreamController=u;let Z=h();g(d(Z),()=>(u._started=!0,Fo(u),null),ce=>(Mt(u,ce),null))}function Nb(i,u,h,A){let x=Object.create(yn.prototype),j,q,Z;u.start!==void 0?j=()=>u.start(x):j=()=>{},u.pull!==void 0?q=()=>u.pull(x):q=()=>d(void 0),u.cancel!==void 0?Z=ce=>u.cancel(ce):Z=()=>d(void 0),_h(i,x,j,q,Z,h,A)}function Xs(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function Bb(i,u){return sr(i._readableStreamController)?Lb(i):Mb(i)}function Mb(i,u){let h=$(i),A=!1,x=!1,j=!1,q=!1,Z,ce,se,fe,ge,De=l(tt=>{ge=tt});function jt(){return A?(x=!0,d(void 0)):(A=!0,ne(h,{_chunkSteps:it=>{m(()=>{x=!1;let kt=it,bn=it;j||Lr(se._readableStreamController,kt),q||Lr(fe._readableStreamController,bn),A=!1,x&&jt()})},_closeSteps:()=>{A=!1,j||lr(se._readableStreamController),q||lr(fe._readableStreamController),(!j||!q)&&ge(void 0)},_errorSteps:()=>{A=!1}}),d(void 0))}function Ur(tt){if(j=!0,Z=tt,q){let it=ve([Z,ce]),kt=Lt(i,it);ge(kt)}return De}function zn(tt){if(q=!0,ce=tt,j){let it=ve([Z,ce]),kt=Lt(i,it);ge(kt)}return De}function _n(){}return se=Io(_n,jt,Ur),fe=Io(_n,jt,zn),C(h._closedPromise,tt=>(Mt(se._readableStreamController,tt),Mt(fe._readableStreamController,tt),(!j||!q)&&ge(void 0),null)),[se,fe]}function Lb(i){let u=$(i),h=!1,A=!1,x=!1,j=!1,q=!1,Z,ce,se,fe,ge,De=l(ie=>{ge=ie});function jt(ie){C(ie._closedPromise,be=>(ie!==u||(At(se._readableStreamController,be),At(fe._readableStreamController,be),(!j||!q)&&ge(void 0)),null))}function Ur(){ar(u)&&(ee(u),u=$(i),jt(u)),ne(u,{_chunkSteps:be=>{m(()=>{A=!1,x=!1;let xe=be,ft=be;if(!j&&!q)try{ft=Bf(be)}catch(qr){At(se._readableStreamController,qr),At(fe._readableStreamController,qr),ge(Lt(i,qr));return}j||Ms(se._readableStreamController,xe),q||Ms(fe._readableStreamController,ft),h=!1,A?_n():x&&tt()})},_closeSteps:()=>{h=!1,j||Do(se._readableStreamController),q||Do(fe._readableStreamController),se._readableStreamController._pendingPullIntos.length>0&&Ls(se._readableStreamController,0),fe._readableStreamController._pendingPullIntos.length>0&&Ls(fe._readableStreamController,0),(!j||!q)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function zn(ie,be){te(u)&&(ee(u),u=Kf(i),jt(u));let xe=be?fe:se,ft=be?se:fe;Xf(u,ie,1,{_chunkSteps:Hr=>{m(()=>{A=!1,x=!1;let zr=be?q:j;if(be?j:q)zr||js(xe._readableStreamController,Hr);else{let Ih;try{Ih=Bf(Hr)}catch(Qu){At(xe._readableStreamController,Qu),At(ft._readableStreamController,Qu),ge(Lt(i,Qu));return}zr||js(xe._readableStreamController,Hr),Ms(ft._readableStreamController,Ih)}h=!1,A?_n():x&&tt()})},_closeSteps:Hr=>{h=!1;let zr=be?q:j,ii=be?j:q;zr||Do(xe._readableStreamController),ii||Do(ft._readableStreamController),Hr!==void 0&&(zr||js(xe._readableStreamController,Hr),!ii&&ft._readableStreamController._pendingPullIntos.length>0&&Ls(ft._readableStreamController,0)),(!zr||!ii)&&ge(void 0)},_errorSteps:()=>{h=!1}})}function _n(){if(h)return A=!0,d(void 0);h=!0;let ie=Pu(se._readableStreamController);return ie===null?Ur():zn(ie._view,!1),d(void 0)}function tt(){if(h)return x=!0,d(void 0);h=!0;let ie=Pu(fe._readableStreamController);return ie===null?Ur():zn(ie._view,!0),d(void 0)}function it(ie){if(j=!0,Z=ie,q){let be=ve([Z,ce]),xe=Lt(i,be);ge(xe)}return De}function kt(ie){if(q=!0,ce=ie,j){let be=ve([Z,ce]),xe=Lt(i,be);ge(xe)}return De}function bn(){}return se=Ch(bn,_n,it),fe=Ch(bn,tt,kt),jt(u),[se,fe]}function jb(i){return n(i)&&typeof i.getReader<"u"}function $b(i){return jb(i)?qb(i.getReader()):Ub(i)}function Ub(i){let u,h=Nf(i,"async"),A=e;function x(){let q;try{q=P_(h)}catch(ce){return f(ce)}let Z=d(q);return b(Z,ce=>{if(!n(ce))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(F_(ce))lr(u._readableStreamController);else{let fe=I_(ce);Lr(u._readableStreamController,fe)}})}function j(q){let Z=h.iterator,ce;try{ce=Is(Z,"return")}catch(ge){return f(ge)}if(ce===void 0)return d(void 0);let se;try{se=k(ce,Z,[q])}catch(ge){return f(ge)}let fe=d(se);return b(fe,ge=>{if(!n(ge))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return u=Io(A,x,j,0),u}function qb(i){let u,h=e;function A(){let j;try{j=i.read()}catch(q){return f(q)}return b(j,q=>{if(!n(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)lr(u._readableStreamController);else{let Z=q.value;Lr(u._readableStreamController,Z)}})}function x(j){try{return d(i.cancel(j))}catch(q){return f(q)}}return u=Io(h,A,x,0),u}function Hb(i,u){le(i,u);let h=i,A=h?.autoAllocateChunkSize,x=h?.cancel,j=h?.pull,q=h?.start,Z=h?.type;return{autoAllocateChunkSize:A===void 0?void 0:P(A,`${u} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:zb(x,h,`${u} has member 'cancel' that`),pull:j===void 0?void 0:Wb(j,h,`${u} has member 'pull' that`),start:q===void 0?void 0:Gb(q,h,`${u} has member 'start' that`),type:Z===void 0?void 0:Jb(Z,`${u} has member 'type' that`)}}function zb(i,u,h){return _e(i,h),A=>w(i,u,[A])}function Wb(i,u,h){return _e(i,h),A=>w(i,u,[A])}function Gb(i,u,h){return _e(i,h),A=>k(i,u,[A])}function Jb(i,u){if(i=`${i}`,i!=="bytes")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Vb(i,u){return le(i,u),{preventCancel:!!i?.preventCancel}}function bh(i,u){le(i,u);let h=i?.preventAbort,A=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&Kb(j,`${u} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!A,preventClose:!!x,signal:j}}function Kb(i,u){if(!rb(i))throw new TypeError(`${u} is not an AbortSignal.`)}function Yb(i,u){le(i,u);let h=i?.readable;E(h,"readable","ReadableWritablePair"),N(h,`${u} has member 'readable' that`);let A=i?.writable;return E(A,"writable","ReadableWritablePair"),eh(A,`${u} has member 'writable' that`),{readable:h,writable:A}}class Ze{constructor(u={},h={}){u===void 0?u=null:Re(u,"First parameter");let A=qs(h,"Second parameter"),x=Hb(u,"First parameter");if(Ju(this),x.type==="bytes"){if(A.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=xo(A,0);z_(this,x,j)}else{let j=Us(A),q=xo(A,1);Nb(this,x,q,j)}}get locked(){if(!Un(this))throw dr("locked");return qn(this)}cancel(u=void 0){return Un(this)?qn(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):Lt(this,u):f(dr("cancel"))}getReader(u=void 0){if(!Un(this))throw dr("getReader");return G_(u,"First parameter").mode===void 0?$(this):Kf(this)}pipeThrough(u,h={}){if(!Un(this))throw dr("pipeThrough");Le(u,1,"pipeThrough");let A=Yb(u,"First parameter"),x=bh(h,"Second parameter");if(qn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Br(A.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=gh(this,A.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return y(j),A.readable}pipeTo(u,h={}){if(!Un(this))return f(dr("pipeTo"));if(u===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!Nr(u))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let A;try{A=bh(h,"Second parameter")}catch(x){return f(x)}return qn(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Br(u)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):gh(this,u,A.preventClose,A.preventAbort,A.preventCancel,A.signal)}tee(){if(!Un(this))throw dr("tee");let u=Bb(this);return ve(u)}values(u=void 0){if(!Un(this))throw dr("values");let h=Vb(u,"First parameter");return Or(this,h.preventCancel)}[ku](u){return this.values(u)}static from(u){return $b(u)}}Object.defineProperties(Ze,{from:{enumerable:!0}}),Object.defineProperties(Ze.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Ze.from,"from"),o(Ze.prototype.cancel,"cancel"),o(Ze.prototype.getReader,"getReader"),o(Ze.prototype.pipeThrough,"pipeThrough"),o(Ze.prototype.pipeTo,"pipeTo"),o(Ze.prototype.tee,"tee"),o(Ze.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ze.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Ze.prototype,ku,{value:Ze.prototype.values,writable:!0,configurable:!0});function Io(i,u,h,A=1,x=()=>1){let j=Object.create(Ze.prototype);Ju(j);let q=Object.create(yn.prototype);return _h(j,q,i,u,h,A,x),j}function Ch(i,u,h){let A=Object.create(Ze.prototype);Ju(A);let x=Object.create(mn.prototype);return Vf(A,x,i,u,h,0,void 0),A}function Ju(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Un(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Ze}function qn(i){return i._reader!==void 0}function Lt(i,u){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);No(i);let h=i._reader;if(h!==void 0&&ar(h)){let x=h._readIntoRequests;h._readIntoRequests=new T,x.forEach(j=>{j._closeSteps(void 0)})}let A=i._readableStreamController[J](u);return b(A,e)}function No(i){i._state="closed";let u=i._reader;if(u!==void 0&&(re(u),te(u))){let h=u._readRequests;u._readRequests=new T,h.forEach(A=>{A._closeSteps()})}}function wh(i,u){i._state="errored",i._storedError=u;let h=i._reader;h!==void 0&&(W(h,u),te(h)?Fe(h,u):Zf(h,u))}function dr(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function Eh(i,u){le(i,u);let h=i?.highWaterMark;return E(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:v(h)}}let Sh=i=>i.byteLength;o(Sh,"size");class Zs{constructor(u){Le(u,1,"ByteLengthQueuingStrategy"),u=Eh(u,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!kh(this))throw Ah("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!kh(this))throw Ah("size");return Sh}}Object.defineProperties(Zs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Ah(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function kh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Zs}let vh=()=>1;o(vh,"size");class ei{constructor(u){Le(u,1,"CountQueuingStrategy"),u=Eh(u,"First parameter"),this._countQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Dh(this))throw Th("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Dh(this))throw Th("size");return vh}}Object.defineProperties(ei.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ei.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Th(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Dh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof ei}function Qb(i,u){le(i,u);let h=i?.cancel,A=i?.flush,x=i?.readableType,j=i?.start,q=i?.transform,Z=i?.writableType;return{cancel:h===void 0?void 0:tC(h,i,`${u} has member 'cancel' that`),flush:A===void 0?void 0:Xb(A,i,`${u} has member 'flush' that`),readableType:x,start:j===void 0?void 0:Zb(j,i,`${u} has member 'start' that`),transform:q===void 0?void 0:eC(q,i,`${u} has member 'transform' that`),writableType:Z}}function Xb(i,u,h){return _e(i,h),A=>w(i,u,[A])}function Zb(i,u,h){return _e(i,h),A=>k(i,u,[A])}function eC(i,u,h){return _e(i,h),(A,x)=>w(i,u,[A,x])}function tC(i,u,h){return _e(i,h),A=>w(i,u,[A])}class ti{constructor(u={},h={},A={}){u===void 0&&(u=null);let x=qs(h,"Second parameter"),j=qs(A,"Third parameter"),q=Qb(u,"First parameter");if(q.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(q.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Z=xo(j,0),ce=Us(j),se=xo(x,1),fe=Us(x),ge,De=l(jt=>{ge=jt});nC(this,De,se,fe,Z,ce),oC(this,q),q.start!==void 0?ge(q.start(this._transformStreamController)):ge(void 0)}get readable(){if(!Rh(this))throw Fh("readable");return this._readable}get writable(){if(!Rh(this))throw Fh("writable");return this._writable}}Object.defineProperties(ti.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ti.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function nC(i,u,h,A,x,j){function q(){return u}function Z(De){return aC(i,De)}function ce(De){return uC(i,De)}function se(){return cC(i)}i._writable=ib(q,Z,se,ce,h,A);function fe(){return lC(i)}function ge(De){return dC(i,De)}i._readable=Io(q,fe,ge,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,ni(i,!0),i._transformStreamController=void 0}function Rh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof ti}function xh(i,u){Mt(i._readable._readableStreamController,u),Vu(i,u)}function Vu(i,u){oi(i._transformStreamController),Oo(i._writable._writableStreamController,u),Ku(i)}function Ku(i){i._backpressure&&ni(i,!1)}function ni(i,u){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=u}class Hn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ri(this))throw si("desiredSize");let u=this._controlledTransformStream._readable._readableStreamController;return Gu(u)}enqueue(u=void 0){if(!ri(this))throw si("enqueue");Oh(this,u)}error(u=void 0){if(!ri(this))throw si("error");sC(this,u)}terminate(){if(!ri(this))throw si("terminate");iC(this)}}Object.defineProperties(Hn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Hn.prototype.enqueue,"enqueue"),o(Hn.prototype.error,"error"),o(Hn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function ri(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Hn}function rC(i,u,h,A,x){u._controlledTransformStream=i,i._transformStreamController=u,u._transformAlgorithm=h,u._flushAlgorithm=A,u._cancelAlgorithm=x,u._finishPromise=void 0,u._finishPromise_resolve=void 0,u._finishPromise_reject=void 0}function oC(i,u){let h=Object.create(Hn.prototype),A,x,j;u.transform!==void 0?A=q=>u.transform(q,h):A=q=>{try{return Oh(h,q),d(void 0)}catch(Z){return f(Z)}},u.flush!==void 0?x=()=>u.flush(h):x=()=>d(void 0),u.cancel!==void 0?j=q=>u.cancel(q):j=()=>d(void 0),rC(i,h,A,x,j)}function oi(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function Oh(i,u){let h=i._controlledTransformStream,A=h._readable._readableStreamController;if(!jr(A))throw new TypeError("Readable side is not in a state that permits enqueue");try{Lr(A,u)}catch(j){throw Vu(h,j),h._readable._storedError}Ib(A)!==h._backpressure&&ni(h,!0)}function sC(i,u){xh(i._controlledTransformStream,u)}function Ph(i,u){let h=i._transformAlgorithm(u);return b(h,void 0,A=>{throw xh(i._controlledTransformStream,A),A})}function iC(i){let u=i._controlledTransformStream,h=u._readable._readableStreamController;lr(h);let A=new TypeError("TransformStream terminated");Vu(u,A)}function aC(i,u){let h=i._transformStreamController;if(i._backpressure){let A=i._backpressureChangePromise;return b(A,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return Ph(h,u)})}return Ph(h,u)}function uC(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let A=i._readable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(u);return oi(h),g(x,()=>(A._state==="errored"?$r(h,A._storedError):(Mt(A._readableStreamController,u),Yu(h)),null),j=>(Mt(A._readableStreamController,j),$r(h,j),null)),h._finishPromise}function cC(i){let u=i._transformStreamController;if(u._finishPromise!==void 0)return u._finishPromise;let h=i._readable;u._finishPromise=l((x,j)=>{u._finishPromise_resolve=x,u._finishPromise_reject=j});let A=u._flushAlgorithm();return oi(u),g(A,()=>(h._state==="errored"?$r(u,h._storedError):(lr(h._readableStreamController),Yu(u)),null),x=>(Mt(h._readableStreamController,x),$r(u,x),null)),u._finishPromise}function lC(i){return ni(i,!1),i._backpressureChangePromise}function dC(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let A=i._writable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(u);return oi(h),g(x,()=>(A._state==="errored"?$r(h,A._storedError):(Oo(A._writableStreamController,u),Ku(i),Yu(h)),null),j=>(Oo(A._writableStreamController,j),Ku(i),$r(h,j),null)),h._finishPromise}function si(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Yu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function $r(i,u){i._finishPromise_reject!==void 0&&(y(i._finishPromise),i._finishPromise_reject(u),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Fh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Zs,t.CountQueuingStrategy=ei,t.ReadableByteStreamController=mn,t.ReadableStream=Ze,t.ReadableStreamBYOBReader=jn,t.ReadableStreamBYOBRequest=or,t.ReadableStreamDefaultController=yn,t.ReadableStreamDefaultReader=H,t.TransformStream=ti,t.TransformStreamDefaultController=Hn,t.WritableStream=$n,t.WritableStreamDefaultController=Mr,t.WritableStreamDefaultWriter=gn}))});var bm=K(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(n){throw t.emitWarning=e,n}}catch{Object.assign(globalThis,_m())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let c=await o.slice(r,Math.min(o.size,r+65536)).arrayBuffer();r+=c.byteLength,s.enqueue(new Uint8Array(c)),r===o.size&&s.close()}})})}catch{}});async function*Nc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,Cm),a=n.buffer.slice(r,r+s);r+=a.byteLength,yield new Uint8Array(a)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let a=await o.slice(r,Math.min(o.size,r+Cm)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var Cx,Cm,wm,Gw,qt,zo=Me(()=>{Cx=Oe(bm(),1);Cm=65536;wm=class Bc{#e=[];#t="";#n=0;#r="transparent";constructor(e=[],n={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof n!="object"&&typeof n!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");n===null&&(n={});let r=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Bc?a=s:a=r.encode(`${s}`),this.#n+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#r=`${n.endings===void 0?"transparent":n.endings}`;let o=n.type===void 0?"":String(n.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#n}get type(){return this.#t}async text(){let e=new TextDecoder,n="";for await(let r of Nc(this.#e,!1))n+=e.decode(r,{stream:!0});return n+=e.decode(),n}async arrayBuffer(){let e=new Uint8Array(this.size),n=0;for await(let r of Nc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=Nc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(n){let r=await e.next();r.done?n.close():n.enqueue(r.value)},async cancel(){await e.return()}})}slice(e=0,n=this.size,r=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=n<0?Math.max(o+n,0):Math.min(n,o),c=Math.max(a-s,0),l=this.#e,d=[],f=0;for(let g of l){if(f>=c)break;let _=ArrayBuffer.isView(g)?g.byteLength:g.size;if(s&&_<=s)s-=_,a-=_;else{let C;ArrayBuffer.isView(g)?(C=g.subarray(s,Math.min(_,a)),f+=C.byteLength):(C=g.slice(s,Math.min(_,a)),f+=C.size),a-=_,d.push(C),s=0}}let p=new Bc([],{type:String(r).toLowerCase()});return p.#n=c,p.#e=d,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(wm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Gw=wm,qt=Gw});var Jw,Vw,Vn,Mc=Me(()=>{zo();Jw=class extends qt{#e=0;#t="";constructor(e,n,r={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,r),r===null&&(r={});let o=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(n)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof qt&&/^(File)$/.test(e[Symbol.toStringTag])}},Vw=Jw,Vn=Vw});function Am(t,e=qt){var n=`${Em()}${Em()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
27
+ Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?r.push(o+Lc(a)+`"\r
28
28
  \r
29
29
  ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
30
30
  `)}\r
31
- `):n.push(o+xc(a)+`"; filename="${xc(s.name,1)}"\r
31
+ `):r.push(o+Lc(a)+`"; filename="${Lc(s.name,1)}"\r
32
32
  Content-Type: ${s.type||"application/octet-stream"}\r
33
33
  \r
34
34
  `,s,`\r
35
- `)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var zo,Nw,Mw,fm,jw,hm,xc,gn,Gr,xi=Me(()=>{qo();Rc();({toStringTag:zo,iterator:Nw,hasInstance:Mw}=Symbol),fm=Math.random,jw="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),hm=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[zo])?[(r=r!==void 0?r+"":e[zo]=="File"?e.name:"blob",t),e.name!==r||e[zo]=="blob"?new Wr([e],r,e):e]:[t,e+""]),xc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
- `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),gn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Gr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[zo](){return"FormData"}[Nw](){return this.entries()}static[Mw](e){return e&&typeof e=="object"&&e[zo]==="FormData"&&!jw.some(r=>typeof e[r]!="function")}append(...e){gn("append",arguments,2),this.#e.push(hm(...e))}delete(e){gn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){gn("get",arguments,1),e+="";for(var r=this.#e,n=r.length,o=0;o<n;o++)if(r[o][0]===e)return r[o][1];return null}getAll(e,r){return gn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return gn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){gn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){gn("set",arguments,2);var r=[],n=!0;e=hm(...e),this.#e.forEach(o=>{o[0]===e[0]?n&&(n=!r.push(e)):r.push(o)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var Ar,Oi=Me(()=>{Ar=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var nt,Oc=Me(()=>{Oi();nt=class extends Ar{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Pi,Pc,Ho,mm,gm,ym,Fi=Me(()=>{Pi=Symbol.toStringTag,Pc=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Pi]==="URLSearchParams",Ho=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Pi]),mm=t=>typeof t=="object"&&(t[Pi]==="AbortSignal"||t[Pi]==="EventTarget"),gm=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},ym=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var bm=V((m1,_m)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}_m.exports=globalThis.DOMException});var yn,Cm,wm,Fc,Em,Am,Sm,km,vm,Tm,Ii,Ic=Me(()=>{yn=require("node:fs"),Cm=require("node:path"),wm=Oe(bm(),1);Rc();qo();({stat:Fc}=yn.promises),Em=(t,e)=>vm((0,yn.statSync)(t),t,e),Am=(t,e)=>Fc(t).then(r=>vm(r,t,e)),Sm=(t,e)=>Fc(t).then(r=>Tm(r,t,e)),km=(t,e)=>Tm((0,yn.statSync)(t),t,e),vm=(t,e,r="")=>new $t([new Ii({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),Tm=(t,e,r="")=>new Wr([new Ii({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,Cm.basename)(e),{type:r,lastModified:t.mtimeMs}),Ii=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Fc(this.#e);if(e>this.lastModified)throw new wm.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,yn.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Rm={};ii(Rm,{toFormData:()=>Ww});function Hw(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),n}async function Ww(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Bc(r[1]||r[2]),o,s,a,c,l,d,f=[],p=new Gr,g=m=>{a+=_.decode(m,{stream:!0})},A=m=>{f.push(m)},w=()=>{let m=new Wr(f,d,{type:l});p.append(c,m)},y=()=>{p.append(c,a)},_=new TextDecoder("utf-8");_.decode(),n.onPartBegin=function(){n.onPartData=g,n.onPartEnd=y,o="",s="",a="",c="",l="",d=null,f.length=0},n.onHeaderField=function(m){o+=_.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=_.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=_.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(c=m[2]||m[3]||""),d=Hw(s),d&&(n.onPartData=A,n.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var er,Pe,Dm,Jr,Bi,Ni,Lw,Wo,Uw,$w,qw,zw,_n,Bc,xm=Me(()=>{Ic();xi();er=0,Pe={START_BOUNDARY:er++,HEADER_FIELD_START:er++,HEADER_FIELD:er++,HEADER_VALUE_START:er++,HEADER_VALUE:er++,HEADER_VALUE_ALMOST_DONE:er++,HEADERS_ALMOST_DONE:er++,PART_DATA_START:er++,PART_DATA:er++,END:er++},Dm=1,Jr={PART_BOUNDARY:Dm,LAST_BOUNDARY:Dm*=2},Bi=10,Ni=13,Lw=32,Wo=45,Uw=58,$w=97,qw=122,zw=t=>t|32,_n=()=>{},Bc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=_n,this.onHeaderField=_n,this.onHeadersEnd=_n,this.onHeaderValue=_n,this.onPartBegin=_n,this.onPartData=_n,this.onPartEnd=_n,this.boundaryChars={},e=`\r
37
- --`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Pe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:l,state:d,flags:f}=this,p=this.boundary.length,g=p-1,A=e.length,w,y,_=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,D,O,q)=>{(D===void 0||D!==O)&&this[S](q&&q.subarray(D,O))},b=(S,D)=>{let O=S+"Mark";O in this&&(D?(v(S,this[O],r,e),delete this[O]):(v(S,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(w=e[r],d){case Pe.START_BOUNDARY:if(l===a.length-2){if(w===Wo)f|=Jr.LAST_BOUNDARY;else if(w!==Ni)return;l++;break}else if(l-1===a.length-2){if(f&Jr.LAST_BOUNDARY&&w===Wo)d=Pe.END,f=0;else if(!(f&Jr.LAST_BOUNDARY)&&w===Bi)l=0,v("onPartBegin"),d=Pe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Pe.HEADER_FIELD_START:d=Pe.HEADER_FIELD,_("onHeaderField"),l=0;case Pe.HEADER_FIELD:if(w===Ni){m("onHeaderField"),d=Pe.HEADERS_ALMOST_DONE;break}if(l++,w===Wo)break;if(w===Uw){if(l===1)return;b("onHeaderField",!0),d=Pe.HEADER_VALUE_START;break}if(y=zw(w),y<$w||y>qw)return;break;case Pe.HEADER_VALUE_START:if(w===Lw)break;_("onHeaderValue"),d=Pe.HEADER_VALUE;case Pe.HEADER_VALUE:w===Ni&&(b("onHeaderValue",!0),v("onHeaderEnd"),d=Pe.HEADER_VALUE_ALMOST_DONE);break;case Pe.HEADER_VALUE_ALMOST_DONE:if(w!==Bi)return;d=Pe.HEADER_FIELD_START;break;case Pe.HEADERS_ALMOST_DONE:if(w!==Bi)return;v("onHeadersEnd"),d=Pe.PART_DATA_START;break;case Pe.PART_DATA_START:d=Pe.PART_DATA,_("onPartData");case Pe.PART_DATA:if(o=l,l===0){for(r+=g;r<A&&!(e[r]in c);)r+=p;r-=g,w=e[r]}if(l<a.length)a[l]===w?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Ni?f|=Jr.PART_BOUNDARY:w===Wo?f|=Jr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&Jr.PART_BOUNDARY){if(l=0,w===Bi){f&=~Jr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),d=Pe.HEADER_FIELD_START;break}}else f&Jr.LAST_BOUNDARY&&w===Wo?(v("onPartEnd"),d=Pe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,_("onPartData"),r--}break;case Pe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=d,this.flags=f}end(){if(this.state===Pe.HEADER_FIELD_START&&this.index===0||this.state===Pe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Pe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function Nc(t){if(t[ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ct].disturbed=!0,t[ct].error)throw t[ct].error;let{body:e}=t;if(e===null)return pt.Buffer.alloc(0);if(!(e instanceof Rt.default))return pt.Buffer.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new nt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof Ar?o:new nt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?pt.Buffer.from(r.join("")):pt.Buffer.concat(r,n)}catch(o){throw new nt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new nt(`Premature close of server response while trying to fetch ${t.url}`)}var Rt,Sr,pt,Gw,ct,tr,Qn,Jw,Mi,Om,Pm,ji=Me(()=>{Rt=Oe(require("node:stream"),1),Sr=require("node:util"),pt=require("node:buffer");qo();xi();Oc();Oi();Fi();Gw=(0,Sr.promisify)(Rt.default.pipeline),ct=Symbol("Body internals"),tr=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Pc(e)?e=pt.Buffer.from(e.toString()):Ho(e)||pt.Buffer.isBuffer(e)||(Sr.types.isAnyArrayBuffer(e)?e=pt.Buffer.from(e):ArrayBuffer.isView(e)?e=pt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Rt.default||(e instanceof Gr?(e=pm(e),n=e.type.split("=")[1]):e=pt.Buffer.from(String(e))));let o=e;pt.Buffer.isBuffer(e)?o=Rt.default.Readable.from(e):Ho(e)&&(o=Rt.default.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Rt.default&&e.on("error",s=>{let a=s instanceof Ar?s:new nt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Nc(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new Gr,o=new URLSearchParams(await this.text());for(let[s,a]of o)n.append(s,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(xm(),Rm));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ct].body&&this[ct].body.type||"",r=await this.arrayBuffer();return new $t([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Nc(this);return new TextDecoder().decode(e)}buffer(){return Nc(this)}};tr.prototype.buffer=(0,Sr.deprecate)(tr.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(tr.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,Sr.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Qn=(t,e)=>{let r,n,{body:o}=t[ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Rt.default&&typeof o.getBoundary!="function"&&(r=new Rt.PassThrough({highWaterMark:e}),n=new Rt.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},Jw=(0,Sr.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Mi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Pc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Ho(t)?t.type||null:pt.Buffer.isBuffer(t)||Sr.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Gr?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Jw(t)}`:t instanceof Rt.default?null:"text/plain;charset=UTF-8",Om=t=>{let{body:e}=t[ct];return e===null?0:Ho(e)?e.size:pt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Pm=async(t,{body:e})=>{e===null?t.end():await Gw(e,t)}});function Fm(t=[]){return new lt(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Li(e),jc(e,String(r)),!0}catch{return!1}}))}var Mc,Go,Li,jc,lt,Ui=Me(()=>{Mc=require("node:util"),Go=Oe(require("node:http"),1),Li=typeof Go.default.validateHeaderName=="function"?Go.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},jc=typeof Go.default.validateHeaderValue=="function"?Go.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},lt=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!Mc.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||Mc.types.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(Li(n),jc(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(a,c)=>(Li(a),jc(a,String(c)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return a=>(Li(a),URLSearchParams.prototype[o].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Vw,Jo,Lc=Me(()=>{Vw=new Set([301,302,303,307,308]),Jo=t=>Vw.has(t)});var qt,mt,Im=Me(()=>{Ui();ji();Lc();qt=Symbol("Response internals"),mt=class t extends tr{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new lt(r.headers);if(e!==null&&!o.has("Content-Type")){let s=Mi(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Qn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!Jo(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new lt(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(mt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Bm,Nm=Me(()=>{Bm=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function Mm(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function $m(t){if(!Lm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Kw(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,jm.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Xn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Kw(t)}function qm(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Mm(o),a=Mm(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let c=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Xn(s)&&!Xn(c)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:Xn(s)&&!Xn(c)?"no-referrer":a;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:a;case"no-referrer-when-downgrade":return Xn(s)&&!Xn(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function zm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&Lm.has(n)&&(r=n);return r}var jm,Lm,Um,Uc=Me(()=>{jm=require("node:net");Lm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Um="strict-origin-when-cross-origin"});var Hm,Wm,Je,Vo,Yw,Vr,Gm,Jm=Me(()=>{Hm=require("node:url"),Wm=require("node:util");Ui();ji();Fi();Nm();Uc();Je=Symbol("Request internals"),Vo=t=>typeof t=="object"&&typeof t[Je]=="object",Yw=(0,Wm.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Vr=class t extends tr{constructor(e,r={}){let n;if(Vo(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Vo(r)&&"data"in r&&Yw(),(r.body!=null||Vo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:Vo(e)&&e.body!==null?Qn(e):null;super(s,{size:r.size||e.size||0});let a=new lt(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let d=Mi(s,this);d&&a.set("Content-Type",d)}let c=Vo(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!mm(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=r.referrer==null?e.referrer:r.referrer;if(l==="")l="no-referrer";else if(l){let d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}else l=void 0;this[Je]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:c,referrer:l},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[Je].method}get url(){return(0,Hm.format)(this[Je].parsedURL)}get headers(){return this[Je].headers}get redirect(){return this[Je].redirect}get signal(){return this[Je].signal}get referrer(){if(this[Je].referrer==="no-referrer")return"";if(this[Je].referrer==="client")return"about:client";if(this[Je].referrer)return this[Je].referrer.toString()}get referrerPolicy(){return this[Je].referrerPolicy}set referrerPolicy(e){this[Je].referrerPolicy=$m(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Vr.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Gm=t=>{let{parsedURL:e}=t[Je],r=new lt(t[Je].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let c=Om(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=Um),t.referrer&&t.referrer!=="no-referrer"?t[Je].referrer=qm(t):t[Je].referrer="no-referrer",t[Je].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Bm(e),a={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Ko,Vm=Me(()=>{Oi();Ko=class extends Ar{constructor(e,r="aborted"){super(e,r)}}});var Qm={};ii(Qm,{AbortError:()=>Ko,Blob:()=>$t,FetchError:()=>nt,File:()=>Wr,FormData:()=>Gr,Headers:()=>lt,Request:()=>Vr,Response:()=>mt,blobFrom:()=>Am,blobFromSync:()=>Em,default:()=>$c,fileFrom:()=>Sm,fileFromSync:()=>km,isRedirect:()=>Jo});async function $c(t,e){return new Promise((r,n)=>{let o=new Vr(t,e),{parsedURL:s,options:a}=Gm(o);if(!Qw.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=sm(o.url),y=new mt(w,{headers:{"Content-Type":w.typeFull}});r(y);return}let c=(s.protocol==="https:"?Ym.default:Km.default).request,{signal:l}=o,d=null,f=()=>{let w=new Ko("The operation was aborted.");n(w),o.body&&o.body instanceof gt.default.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),A()},g=c(s.toString(),a);l&&l.addEventListener("abort",p);let A=()=>{g.abort(),l&&l.removeEventListener("abort",p)};g.on("error",w=>{n(new nt(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),A()}),Xw(g,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&g.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",_=>{if(d&&y<w._eventsCount&&!_){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",m)}})}),g.on("response",w=>{g.setTimeout(0);let y=Fm(w.rawHeaders);if(Jo(w.statusCode)){let S=y.get("Location"),D=null;try{D=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){n(new nt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new nt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(D===null)break;if(o.counter>=o.follow){n(new nt(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Qn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!gm(o.url,D)||!ym(o.url,D))for(let J of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(J);if(w.statusCode!==303&&o.body&&e.body instanceof gt.default.Readable){n(new nt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let q=zm(y);q&&(O.referrerPolicy=q),r($c(new Vr(D,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let _=(0,gt.pipeline)(w,new gt.PassThrough,S=>{S&&n(S)});process.version<"v12.10"&&w.on("aborted",p);let m={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||w.statusCode===204||w.statusCode===304){d=new mt(_,m),r(d);return}let b={flush:bn.default.Z_SYNC_FLUSH,finishFlush:bn.default.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){_=(0,gt.pipeline)(_,bn.default.createGunzip(b),S=>{S&&n(S)}),d=new mt(_,m),r(d);return}if(v==="deflate"||v==="x-deflate"){let S=(0,gt.pipeline)(w,new gt.PassThrough,D=>{D&&n(D)});S.once("data",D=>{(D[0]&15)===8?_=(0,gt.pipeline)(_,bn.default.createInflate(),O=>{O&&n(O)}):_=(0,gt.pipeline)(_,bn.default.createInflateRaw(),O=>{O&&n(O)}),d=new mt(_,m),r(d)}),S.once("end",()=>{d||(d=new mt(_,m),r(d))});return}if(v==="br"){_=(0,gt.pipeline)(_,bn.default.createBrotliDecompress(),S=>{S&&n(S)}),d=new mt(_,m),r(d);return}d=new mt(_,m),r(d)}),Pm(g,o).catch(n)})}function Xw(t,e){let r=Yo.Buffer.from(`0\r
35
+ `)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}var Wo,Kw,Yw,Em,Qw,Sm,Lc,_r,Kn,Ni=Me(()=>{zo();Mc();({toStringTag:Wo,iterator:Kw,hasInstance:Yw}=Symbol),Em=Math.random,Qw="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Sm=(t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[Wo])?[(n=n!==void 0?n+"":e[Wo]=="File"?e.name:"blob",t),e.name!==n||e[Wo]=="blob"?new Vn([e],n,e):e]:[t,e+""]),Lc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
+ `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),_r=(t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},Kn=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Wo](){return"FormData"}[Kw](){return this.entries()}static[Yw](e){return e&&typeof e=="object"&&e[Wo]==="FormData"&&!Qw.some(n=>typeof e[n]!="function")}append(...e){_r("append",arguments,2),this.#e.push(Sm(...e))}delete(e){_r("delete",arguments,1),e+="",this.#e=this.#e.filter(([n])=>n!==e)}get(e){_r("get",arguments,1),e+="";for(var n=this.#e,r=n.length,o=0;o<r;o++)if(n[o][0]===e)return n[o][1];return null}getAll(e,n){return _r("getAll",arguments,1),n=[],e+="",this.#e.forEach(r=>r[0]===e&&n.push(r[1])),n}has(e){return _r("has",arguments,1),e+="",this.#e.some(n=>n[0]===e)}forEach(e,n){_r("forEach",arguments,1);for(var[r,o]of this)e.call(n,o,r,this)}set(...e){_r("set",arguments,2);var n=[],r=!0;e=Sm(...e),this.#e.forEach(o=>{o[0]===e[0]?r&&(r=!n.push(e)):n.push(o)}),r&&n.push(e),this.#e=n}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var kn,Bi=Me(()=>{kn=class extends Error{constructor(e,n){super(e),Error.captureStackTrace(this,this.constructor),this.type=n}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var rt,jc=Me(()=>{Bi();rt=class extends kn{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}}});var Mi,$c,Go,km,vm,Tm,Li=Me(()=>{Mi=Symbol.toStringTag,$c=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Mi]==="URLSearchParams",Go=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Mi]),km=t=>typeof t=="object"&&(t[Mi]==="AbortSignal"||t[Mi]==="EventTarget"),vm=(t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},Tm=(t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r}});var Rm=K((Fx,Dm)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,n=new ArrayBuffer;e.postMessage(n,[n,n])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}Dm.exports=globalThis.DOMException});var br,xm,Om,Uc,Pm,Fm,Im,Nm,Bm,Mm,ji,qc=Me(()=>{br=require("node:fs"),xm=require("node:path"),Om=Oe(Rm(),1);Mc();zo();({stat:Uc}=br.promises),Pm=(t,e)=>Bm((0,br.statSync)(t),t,e),Fm=(t,e)=>Uc(t).then(n=>Bm(n,t,e)),Im=(t,e)=>Uc(t).then(n=>Mm(n,t,e)),Nm=(t,e)=>Mm((0,br.statSync)(t),t,e),Bm=(t,e,n="")=>new qt([new ji({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),Mm=(t,e,n="")=>new Vn([new ji({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,xm.basename)(e),{type:n,lastModified:t.mtimeMs}),ji=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new t({path:this.#e,lastModified:this.lastModified,size:n-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Uc(this.#e);if(e>this.lastModified)throw new Om.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,br.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var jm={};ui(jm,{toFormData:()=>oE});function rE(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let n=e[2]||e[3]||"",r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),r}async function oE(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let n=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");let r=new Hc(n[1]||n[2]),o,s,a,c,l,d,f=[],p=new Kn,g=m=>{a+=y.decode(m,{stream:!0})},_=m=>{f.push(m)},C=()=>{let m=new Vn(f,d,{type:l});p.append(c,m)},b=()=>{p.append(c,a)},y=new TextDecoder("utf-8");y.decode(),r.onPartBegin=function(){r.onPartData=g,r.onPartEnd=b,o="",s="",a="",c="",l="",d=null,f.length=0},r.onHeaderField=function(m){o+=y.decode(m,{stream:!0})},r.onHeaderValue=function(m){s+=y.decode(m,{stream:!0})},r.onHeaderEnd=function(){if(s+=y.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(c=m[2]||m[3]||""),d=rE(s),d&&(r.onPartData=_,r.onPartEnd=C)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)r.write(m);return r.end(),p}var en,Pe,Lm,Yn,$i,Ui,Xw,Jo,Zw,eE,tE,nE,Cr,Hc,$m=Me(()=>{qc();Ni();en=0,Pe={START_BOUNDARY:en++,HEADER_FIELD_START:en++,HEADER_FIELD:en++,HEADER_VALUE_START:en++,HEADER_VALUE:en++,HEADER_VALUE_ALMOST_DONE:en++,HEADERS_ALMOST_DONE:en++,PART_DATA_START:en++,PART_DATA:en++,END:en++},Lm=1,Yn={PART_BOUNDARY:Lm,LAST_BOUNDARY:Lm*=2},$i=10,Ui=13,Xw=32,Jo=45,Zw=58,eE=97,tE=122,nE=t=>t|32,Cr=()=>{},Hc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Cr,this.onHeaderField=Cr,this.onHeadersEnd=Cr,this.onHeaderValue=Cr,this.onPartBegin=Cr,this.onPartData=Cr,this.onPartEnd=Cr,this.boundaryChars={},e=`\r
37
+ --`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Pe.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:l,state:d,flags:f}=this,p=this.boundary.length,g=p-1,_=e.length,C,b,y=S=>{this[S+"Mark"]=n},m=S=>{delete this[S+"Mark"]},k=(S,T,R,U)=>{(T===void 0||T!==R)&&this[S](U&&U.subarray(T,R))},w=(S,T)=>{let R=S+"Mark";R in this&&(T?(k(S,this[R],n,e),delete this[R]):(k(S,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(C=e[n],d){case Pe.START_BOUNDARY:if(l===a.length-2){if(C===Jo)f|=Yn.LAST_BOUNDARY;else if(C!==Ui)return;l++;break}else if(l-1===a.length-2){if(f&Yn.LAST_BOUNDARY&&C===Jo)d=Pe.END,f=0;else if(!(f&Yn.LAST_BOUNDARY)&&C===$i)l=0,k("onPartBegin"),d=Pe.HEADER_FIELD_START;else return;break}C!==a[l+2]&&(l=-2),C===a[l+2]&&l++;break;case Pe.HEADER_FIELD_START:d=Pe.HEADER_FIELD,y("onHeaderField"),l=0;case Pe.HEADER_FIELD:if(C===Ui){m("onHeaderField"),d=Pe.HEADERS_ALMOST_DONE;break}if(l++,C===Jo)break;if(C===Zw){if(l===1)return;w("onHeaderField",!0),d=Pe.HEADER_VALUE_START;break}if(b=nE(C),b<eE||b>tE)return;break;case Pe.HEADER_VALUE_START:if(C===Xw)break;y("onHeaderValue"),d=Pe.HEADER_VALUE;case Pe.HEADER_VALUE:C===Ui&&(w("onHeaderValue",!0),k("onHeaderEnd"),d=Pe.HEADER_VALUE_ALMOST_DONE);break;case Pe.HEADER_VALUE_ALMOST_DONE:if(C!==$i)return;d=Pe.HEADER_FIELD_START;break;case Pe.HEADERS_ALMOST_DONE:if(C!==$i)return;k("onHeadersEnd"),d=Pe.PART_DATA_START;break;case Pe.PART_DATA_START:d=Pe.PART_DATA,y("onPartData");case Pe.PART_DATA:if(o=l,l===0){for(n+=g;n<_&&!(e[n]in c);)n+=p;n-=g,C=e[n]}if(l<a.length)a[l]===C?(l===0&&w("onPartData",!0),l++):l=0;else if(l===a.length)l++,C===Ui?f|=Yn.PART_BOUNDARY:C===Jo?f|=Yn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&Yn.PART_BOUNDARY){if(l=0,C===$i){f&=~Yn.PART_BOUNDARY,k("onPartEnd"),k("onPartBegin"),d=Pe.HEADER_FIELD_START;break}}else f&Yn.LAST_BOUNDARY&&C===Jo?(k("onPartEnd"),d=Pe.END,f=0):l=0;if(l>0)s[l-1]=C;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);k("onPartData",0,o,S),o=0,y("onPartData"),n--}break;case Pe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}w("onHeaderField"),w("onHeaderValue"),w("onPartData"),this.index=l,this.state=d,this.flags=f}end(){if(this.state===Pe.HEADER_FIELD_START&&this.index===0||this.state===Pe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Pe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function zc(t){if(t[ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ct].disturbed=!0,t[ct].error)throw t[ct].error;let{body:e}=t;if(e===null)return pt.Buffer.alloc(0);if(!(e instanceof Rt.default))return pt.Buffer.alloc(0);let n=[],r=0;try{for await(let o of e){if(t.size>0&&r+o.length>t.size){let s=new rt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}r+=o.length,n.push(o)}}catch(o){throw o instanceof kn?o:new rt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return n.every(o=>typeof o=="string")?pt.Buffer.from(n.join("")):pt.Buffer.concat(n,r)}catch(o){throw new rt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new rt(`Premature close of server response while trying to fetch ${t.url}`)}var Rt,vn,pt,sE,ct,tn,Zr,iE,qi,Um,qm,Hi=Me(()=>{Rt=Oe(require("node:stream"),1),vn=require("node:util"),pt=require("node:buffer");zo();Ni();jc();Bi();Li();sE=(0,vn.promisify)(Rt.default.pipeline),ct=Symbol("Body internals"),tn=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:$c(e)?e=pt.Buffer.from(e.toString()):Go(e)||pt.Buffer.isBuffer(e)||(vn.types.isAnyArrayBuffer(e)?e=pt.Buffer.from(e):ArrayBuffer.isView(e)?e=pt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Rt.default||(e instanceof Kn?(e=Am(e),r=e.type.split("=")[1]):e=pt.Buffer.from(String(e))));let o=e;pt.Buffer.isBuffer(e)?o=Rt.default.Readable.from(e):Go(e)&&(o=Rt.default.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof Rt.default&&e.on("error",s=>{let a=s instanceof kn?s:new rt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await zc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new Kn,o=new URLSearchParams(await this.text());for(let[s,a]of o)r.append(s,a);return r}let{toFormData:n}=await Promise.resolve().then(()=>($m(),jm));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ct].body&&this[ct].body.type||"",n=await this.arrayBuffer();return new qt([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await zc(this);return new TextDecoder().decode(e)}buffer(){return zc(this)}};tn.prototype.buffer=(0,vn.deprecate)(tn.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(tn.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,vn.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Zr=(t,e)=>{let n,r,{body:o}=t[ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Rt.default&&typeof o.getBoundary!="function"&&(n=new Rt.PassThrough({highWaterMark:e}),r=new Rt.PassThrough({highWaterMark:e}),o.pipe(n),o.pipe(r),t[ct].stream=n,o=r),o},iE=(0,vn.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),qi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":$c(t)?"application/x-www-form-urlencoded;charset=UTF-8":Go(t)?t.type||null:pt.Buffer.isBuffer(t)||vn.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Kn?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${iE(t)}`:t instanceof Rt.default?null:"text/plain;charset=UTF-8",Um=t=>{let{body:e}=t[ct];return e===null?0:Go(e)?e.size:pt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},qm=async(t,{body:e})=>{e===null?t.end():await sE(e,t)}});function Hm(t=[]){return new lt(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return zi(e),Gc(e,String(n)),!0}catch{return!1}}))}var Wc,Vo,zi,Gc,lt,Wi=Me(()=>{Wc=require("node:util"),Vo=Oe(require("node:http"),1),zi=typeof Vo.default.validateHeaderName=="function"?Vo.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Gc=typeof Vo.default.validateHeaderValue=="function"?Vo.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},lt=class t extends URLSearchParams{constructor(e){let n=[];if(e instanceof t){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!Wc.types.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||Wc.types.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return n=n.length>0?n.map(([r,o])=>(zi(r),Gc(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(a,c)=>(zi(a),Gc(a,String(c)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return a=>(zi(a),URLSearchParams.prototype[o].call(r,String(a).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};Object.defineProperties(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var aE,Ko,Jc=Me(()=>{aE=new Set([301,302,303,307,308]),Ko=t=>aE.has(t)});var Ht,mt,zm=Me(()=>{Wi();Hi();Jc();Ht=Symbol("Response internals"),mt=class t extends tn{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new lt(n.headers);if(e!==null&&!o.has("Content-Type")){let s=qi(e,this);s&&o.append("Content-Type",s)}this[Ht]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[Ht].type}get url(){return this[Ht].url||""}get status(){return this[Ht].status}get ok(){return this[Ht].status>=200&&this[Ht].status<300}get redirected(){return this[Ht].counter>0}get statusText(){return this[Ht].statusText}get headers(){return this[Ht].headers}get highWaterMark(){return this[Ht].highWaterMark}clone(){return new t(Zr(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,n=302){if(!Ko(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new t(null,{status:0,statusText:""});return e[Ht].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new lt(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(mt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Wm,Gm=Me(()=>{Wm=t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""}});function Jm(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Qm(t){if(!Km.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function uE(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=(0,Vm.isIP)(e);return n===4&&/^127\./.test(e)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function eo(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:uE(t)}function Xm(t,{referrerURLCallback:e,referrerOriginCallback:n}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let r=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Jm(o),a=Jm(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),n&&(a=n(a));let c=new URL(t.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return eo(s)&&!eo(c)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:eo(s)&&!eo(c)?"no-referrer":a;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:a;case"no-referrer-when-downgrade":return eo(s)&&!eo(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Zm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Km.has(r)&&(n=r);return n}var Vm,Km,Ym,Vc=Me(()=>{Vm=require("node:net");Km=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Ym="strict-origin-when-cross-origin"});var eg,tg,Ke,Yo,cE,Qn,ng,rg=Me(()=>{eg=require("node:url"),tg=require("node:util");Wi();Hi();Li();Gm();Vc();Ke=Symbol("Request internals"),Yo=t=>typeof t=="object"&&typeof t[Ke]=="object",cE=(0,tg.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Qn=class t extends tn{constructor(e,n={}){let r;if(Yo(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Yo(n)&&"data"in n&&cE(),(n.body!=null||Yo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:Yo(e)&&e.body!==null?Zr(e):null;super(s,{size:n.size||e.size||0});let a=new lt(n.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let d=qi(s,this);d&&a.set("Content-Type",d)}let c=Yo(e)?e.signal:null;if("signal"in n&&(c=n.signal),c!=null&&!km(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=n.referrer==null?e.referrer:n.referrer;if(l==="")l="no-referrer";else if(l){let d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}else l=void 0;this[Ke]={method:o,redirect:n.redirect||e.redirect||"follow",headers:a,parsedURL:r,signal:c,referrer:l},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[Ke].method}get url(){return(0,eg.format)(this[Ke].parsedURL)}get headers(){return this[Ke].headers}get redirect(){return this[Ke].redirect}get signal(){return this[Ke].signal}get referrer(){if(this[Ke].referrer==="no-referrer")return"";if(this[Ke].referrer==="client")return"about:client";if(this[Ke].referrer)return this[Ke].referrer.toString()}get referrerPolicy(){return this[Ke].referrerPolicy}set referrerPolicy(e){this[Ke].referrerPolicy=Qm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Qn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});ng=t=>{let{parsedURL:e}=t[Ke],n=new lt(t[Ke].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let c=Um(t);typeof c=="number"&&!Number.isNaN(c)&&(r=String(c))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Ym),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=Xm(t):t[Ke].referrer="no-referrer",t[Ke].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Wm(e),a={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Qo,og=Me(()=>{Bi();Qo=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var ag={};ui(ag,{AbortError:()=>Qo,Blob:()=>qt,FetchError:()=>rt,File:()=>Vn,FormData:()=>Kn,Headers:()=>lt,Request:()=>Qn,Response:()=>mt,blobFrom:()=>Fm,blobFromSync:()=>Pm,default:()=>Kc,fileFrom:()=>Im,fileFromSync:()=>Nm,isRedirect:()=>Ko});async function Kc(t,e){return new Promise((n,r)=>{let o=new Qn(t,e),{parsedURL:s,options:a}=ng(o);if(!lE.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let C=mm(o.url),b=new mt(C,{headers:{"Content-Type":C.typeFull}});n(b);return}let c=(s.protocol==="https:"?ig.default:sg.default).request,{signal:l}=o,d=null,f=()=>{let C=new Qo("The operation was aborted.");r(C),o.body&&o.body instanceof gt.default.Readable&&o.body.destroy(C),!(!d||!d.body)&&d.body.emit("error",C)};if(l&&l.aborted){f();return}let p=()=>{f(),_()},g=c(s.toString(),a);l&&l.addEventListener("abort",p);let _=()=>{g.abort(),l&&l.removeEventListener("abort",p)};g.on("error",C=>{r(new rt(`request to ${o.url} failed, reason: ${C.message}`,"system",C)),_()}),dE(g,C=>{d&&d.body&&d.body.destroy(C)}),process.version<"v14"&&g.on("socket",C=>{let b;C.prependListener("end",()=>{b=C._eventsCount}),C.prependListener("close",y=>{if(d&&b<C._eventsCount&&!y){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",m)}})}),g.on("response",C=>{g.setTimeout(0);let b=Hm(C.rawHeaders);if(Ko(C.statusCode)){let S=b.get("Location"),T=null;try{T=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){r(new rt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),_();return}}switch(o.redirect){case"error":r(new rt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),_();return;case"manual":break;case"follow":{if(T===null)break;if(o.counter>=o.follow){r(new rt(`maximum redirect reached at: ${o.url}`,"max-redirect")),_();return}let R={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Zr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!vm(o.url,T)||!Tm(o.url,T))for(let J of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(J);if(C.statusCode!==303&&o.body&&e.body instanceof gt.default.Readable){r(new rt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),_();return}(C.statusCode===303||(C.statusCode===301||C.statusCode===302)&&o.method==="POST")&&(R.method="GET",R.body=void 0,R.headers.delete("content-length"));let U=Zm(b);U&&(R.referrerPolicy=U),n(Kc(new Qn(T,R))),_();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&C.once("end",()=>{l.removeEventListener("abort",p)});let y=(0,gt.pipeline)(C,new gt.PassThrough,S=>{S&&r(S)});process.version<"v12.10"&&C.on("aborted",p);let m={url:o.url,status:C.statusCode,statusText:C.statusMessage,headers:b,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},k=b.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||k===null||C.statusCode===204||C.statusCode===304){d=new mt(y,m),n(d);return}let w={flush:wr.default.Z_SYNC_FLUSH,finishFlush:wr.default.Z_SYNC_FLUSH};if(k==="gzip"||k==="x-gzip"){y=(0,gt.pipeline)(y,wr.default.createGunzip(w),S=>{S&&r(S)}),d=new mt(y,m),n(d);return}if(k==="deflate"||k==="x-deflate"){let S=(0,gt.pipeline)(C,new gt.PassThrough,T=>{T&&r(T)});S.once("data",T=>{(T[0]&15)===8?y=(0,gt.pipeline)(y,wr.default.createInflate(),R=>{R&&r(R)}):y=(0,gt.pipeline)(y,wr.default.createInflateRaw(),R=>{R&&r(R)}),d=new mt(y,m),n(d)}),S.once("end",()=>{d||(d=new mt(y,m),n(d))});return}if(k==="br"){y=(0,gt.pipeline)(y,wr.default.createBrotliDecompress(),S=>{S&&r(S)}),d=new mt(y,m),n(d);return}d=new mt(y,m),n(d)}),qm(g,o).catch(r)})}function dE(t,e){let n=Xo.Buffer.from(`0\r
38
38
  \r
39
- `),n=!1,o=!1,s;t.on("response",a=>{let{headers:c}=a;n=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),t.on("socket",a=>{let c=()=>{if(n&&!o){let d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=Yo.Buffer.compare(d.slice(-5),r)===0,!o&&s&&(o=Yo.Buffer.compare(s.slice(-3),r.slice(0,3))===0&&Yo.Buffer.compare(d.slice(-2),r.slice(3))===0),s=d};a.prependListener("close",c),a.on("data",l),t.on("close",()=>{a.removeListener("close",c),a.removeListener("data",l)})})}var Km,Ym,bn,gt,Yo,Qw,Xm=Me(()=>{Km=Oe(require("node:http"),1),Ym=Oe(require("node:https"),1),bn=Oe(require("node:zlib"),1),gt=Oe(require("node:stream"),1),Yo=require("node:buffer");im();ji();Im();Ui();Jm();Oc();Vm();Lc();xi();Fi();Uc();Ic();Qw=new Set(["data:","http:","https:"])});var tg=V(eo=>{"use strict";var Zw=eo&&eo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Zn;Object.defineProperty(eo,"__esModule",{value:!0});eo.Gaxios=void 0;var eE=Zw(pc()),tE=require("https"),Cn=yc(),rE=Fp(),Zm=require("stream"),eg=Cc(),nE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),$i=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new eg.GaxiosInterceptorManager,response:new eg.GaxiosInterceptorManager}}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Zn.mergeHeaders(s,r.headers),n&&Zn.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}async request(e={}){let r=await this.#n(e);return r=await this.#t(r),this.#r(this._request(r))}async _defaultAdapter(e){let r=e.fetchImplementation||this.defaults.fetchImplementation||await Zn.#u(),n={...e};delete n.data;let o=await r(e.url,n),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let r;if(e.adapter?r=await e.adapter(e,this._defaultAdapter.bind(this)):r=await this._defaultAdapter(e),!e.validateStatus(r.status)){if(e.responseType==="stream"){let o=[];for await(let s of r.data)o.push(s);r.data=o.toString()}let n=Cn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new Cn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof Cn.GaxiosError?n=r:r instanceof Error?n=new Cn.GaxiosError(r.message,e,void 0,r):n=new Cn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,rE.getRetryConfig)(n);if(o&&s)return n.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=n.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(n),n}}async getResponseData(e,r){if(e.maxContentLength&&r.headers.has("content-length")&&e.maxContentLength<Number.parseInt(r.headers?.get("content-length")||""))throw new Cn.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(r,{config:e}));switch(e.responseType){case"stream":return r.body;case"json":return r.json();case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}#e(e,r=[]){let n=new URL(e),o=[...r],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(n.toString()))return!1}else if(a instanceof URL){if(a.origin===n.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let c=a.replace(/^\*\./,".");if(n.hostname.endsWith(c))return!1}else if(a===n.origin||a===n.hostname||a===n.href)return!1;return!0}async#t(e){let r=Promise.resolve(e);for(let n of this.interceptors.request.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#r(e){let r=Promise.resolve(e);for(let n of this.interceptors.response.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#n(e){let r=new Headers(this.defaults.headers);Zn.mergeHeaders(r,e.headers);let n=(0,eE.default)(!0,{},this.defaults,e);if(!n.url)throw new Error("URL is required.");if(n.baseURL&&(n.url=new URL(n.url,n.baseURL)),n.url=new URL(n.url),n.params)if(n.paramsSerializer){let a=n.paramsSerializer(n.params);a.startsWith("?")&&(a=a.slice(1));let c=n.url.toString().includes("?")?"&":"?";n.url=n.url+c+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[c,l]of new URLSearchParams(n.params))a.searchParams.append(c,l);n.url=a}typeof e.maxContentLength=="number"&&(n.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(n.follow=e.maxRedirects);let o=typeof n.data=="string"||n.data instanceof ArrayBuffer||n.data instanceof Blob||globalThis.File&&n.data instanceof File||n.data instanceof FormData||n.data instanceof Zm.Readable||n.data instanceof ReadableStream||n.data instanceof String||n.data instanceof URLSearchParams||ArrayBuffer.isView(n.data)||["Blob","File","FormData"].includes(n.data?.constructor?.name||"");if(n.multipart?.length){let a=await nE();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Zm.Readable.from(this.getMultipartRequest(n.multipart,a))}else o?n.body=n.data:typeof n.data=="object"?r.get("Content-Type")==="application/x-www-form-urlencoded"?n.body=n.paramsSerializer?n.paramsSerializer(n.data):new URLSearchParams(n.data):(r.has("content-type")||r.set("content-type","application/json"),n.body=JSON.stringify(n.data)):n.data&&(n.body=n.data);n.validateStatus=n.validateStatus||this.validateStatus,n.responseType=n.responseType||"unknown",!r.has("accept")&&n.responseType==="json"&&r.set("accept","application/json");let s=n.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!n.agent)if(s&&this.#e(n.url,n.noProxy)){let a=await Zn.#a();this.agentCache.has(s)?n.agent=this.agentCache.get(s):(n.agent=new a(s,{cert:n.cert,key:n.key}),this.agentCache.set(s,n.agent))}else n.cert&&n.key&&(this.agentCache.has(n.key)?n.agent=this.agentCache.get(n.key):(n.agent=new tE.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=Cn.defaultErrorRedactor),n.body&&!("duplex"in n)&&(n.duplex="half"),this.#o(n),Object.assign(n,{headers:r,url:n.url instanceof URL?n.url:new URL(n.url)})}#o(e){if(e.timeout){let r=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,r]):e.signal=r}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let n=await e.text();try{n=JSON.parse(n)}catch{}return n}else return r.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,r){let n=`--${r}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${r}\r
39
+ `),r=!1,o=!1,s;t.on("response",a=>{let{headers:c}=a;r=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),t.on("socket",a=>{let c=()=>{if(r&&!o){let d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=Xo.Buffer.compare(d.slice(-5),n)===0,!o&&s&&(o=Xo.Buffer.compare(s.slice(-3),n.slice(0,3))===0&&Xo.Buffer.compare(d.slice(-2),n.slice(3))===0),s=d};a.prependListener("close",c),a.on("data",l),t.on("close",()=>{a.removeListener("close",c),a.removeListener("data",l)})})}var sg,ig,wr,gt,Xo,lE,ug=Me(()=>{sg=Oe(require("node:http"),1),ig=Oe(require("node:https"),1),wr=Oe(require("node:zlib"),1),gt=Oe(require("node:stream"),1),Xo=require("node:buffer");gm();Hi();zm();Wi();rg();jc();og();Jc();Ni();Li();Vc();qc();lE=new Set(["data:","http:","https:"])});var dg=K(no=>{"use strict";var fE=no&&no.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},to;Object.defineProperty(no,"__esModule",{value:!0});no.Gaxios=void 0;var hE=fE(Ec()),pE=require("https"),Er=kc(),mE=Hp(),cg=require("stream"),lg=Dc(),gE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Gi=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new lg.GaxiosInterceptorManager,response:new lg.GaxiosInterceptorManager}}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&to.mergeHeaders(s,n.headers),r&&to.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}async request(e={}){let n=await this.#r(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await to.#u(),r={...e};delete r.data;let o=await n(e.url,r),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let o=[];for await(let s of n.data)o.push(s);n.data=o.toString()}let r=Er.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new Er.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof Er.GaxiosError?r=n:n instanceof Error?r=new Er.GaxiosError(n.message,e,void 0,n):r=new Er.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,mE.getRetryConfig)(r);if(o&&s)return r.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(r),r}}async getResponseData(e,n){if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new Er.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":return n.json();case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let r=new URL(e),o=[...n],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(r.toString()))return!1}else if(a instanceof URL){if(a.origin===r.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let c=a.replace(/^\*\./,".");if(r.hostname.endsWith(c))return!1}else if(a===r.origin||a===r.hostname||a===r.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let r of this.interceptors.request.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let r of this.interceptors.response.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#r(e){let n=new Headers(this.defaults.headers);to.mergeHeaders(n,e.headers);let r=(0,hE.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");if(r.baseURL&&(r.url=new URL(r.url,r.baseURL)),r.url=new URL(r.url),r.params)if(r.paramsSerializer){let a=r.paramsSerializer(r.params);a.startsWith("?")&&(a=a.slice(1));let c=r.url.toString().includes("?")?"&":"?";r.url=r.url+c+a}else{let a=r.url instanceof URL?r.url:new URL(r.url);for(let[c,l]of new URLSearchParams(r.params))a.searchParams.append(c,l);r.url=a}typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects);let o=typeof r.data=="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof cg.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let a=await gE();n.set("content-type",`multipart/related; boundary=${a}`),r.body=cg.Readable.from(this.getMultipartRequest(r.multipart,a))}else o?r.body=r.data:typeof r.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data):(n.has("content-type")||n.set("content-type","application/json"),r.body=JSON.stringify(r.data)):r.data&&(r.body=r.data);r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!n.has("accept")&&r.responseType==="json"&&n.set("accept","application/json");let s=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!r.agent)if(s&&this.#e(r.url,r.noProxy)){let a=await to.#a();this.agentCache.has(s)?r.agent=this.agentCache.get(s):(r.agent=new a(s,{cert:r.cert,key:r.key}),this.agentCache.set(s,r.agent))}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new pE.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=Er.defaultErrorRedactor),r.body&&!("duplex"in r)&&(r.duplex="half"),this.#o(r),Object.assign(r,{headers:n,url:r.url instanceof URL?r.url:new URL(r.url)})}#o(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let r=`--${n}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
40
40
  Content-Type: ${s}\r
41
41
  \r
42
42
  `,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
43
- `}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Oe(om()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Xm(),Qm))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};eo.Gaxios=$i;Zn=$i});var Ke=V(ot=>{"use strict";var oE=ot&&ot.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),sE=ot&&ot.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oE(e,t,r)};Object.defineProperty(ot,"__esModule",{value:!0});ot.instance=ot.Gaxios=ot.GaxiosError=void 0;ot.request=aE;var rg=tg();Object.defineProperty(ot,"Gaxios",{enumerable:!0,get:function(){return rg.Gaxios}});var iE=yc();Object.defineProperty(ot,"GaxiosError",{enumerable:!0,get:function(){return iE.GaxiosError}});sE(Cc(),ot);ot.instance=new rg.Gaxios;async function aE(t){return ot.instance.request(t)}});var qc=V((ng,qi)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",c=1e14,l=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,g=1e9;function A(D){var O,q,J,B=W.prototype={constructor:W,toString:null,valueOf:null},Y=new W(1),te=20,Z=4,ae=-7,de=21,Ae=-1e7,oe=1e7,pe=!1,G=1,K=0,ue={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},qe="0123456789abcdefghijklmnopqrstuvwxyz",Te=!0;function W(C,k){var T,M,P,I,U,x,F,j,N=this;if(!(N instanceof W))return new W(C,k);if(k==null){if(C&&C._isBigNumber===!0){N.s=C.s,!C.c||C.e>oe?N.c=N.e=null:C.e<Ae?N.c=[N.e=0]:(N.e=C.e,N.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(N.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,U=C;U>=10;U/=10,I++);I>oe?N.c=N.e=null:(N.e=I,N.c=[C]);return}j=String(C)}else{if(!r.test(j=String(C)))return J(N,j,x);N.s=j.charCodeAt(0)==45?(j=j.slice(1),-1):1}(I=j.indexOf("."))>-1&&(j=j.replace(".","")),(U=j.search(/e/i))>0?(I<0&&(I=U),I+=+j.slice(U+1),j=j.substring(0,U)):I<0&&(I=j.length)}else{if(m(k,2,qe.length,"Base"),k==10&&Te)return N=new W(C),Re(N,te+N.e+1,Z);if(j=String(C),x=typeof C=="number"){if(C*0!=0)return J(N,j,x,k);if(N.s=1/C<0?(j=j.slice(1),-1):1,W.DEBUG&&j.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else N.s=j.charCodeAt(0)===45?(j=j.slice(1),-1):1;for(T=qe.slice(0,k),I=U=0,F=j.length;U<F;U++)if(T.indexOf(M=j.charAt(U))<0){if(M=="."){if(U>I){I=F;continue}}else if(!P&&(j==j.toUpperCase()&&(j=j.toLowerCase())||j==j.toLowerCase()&&(j=j.toUpperCase()))){P=!0,U=-1,I=0;continue}return J(N,String(C),x,k)}x=!1,j=q(j,k,10,N.s),(I=j.indexOf("."))>-1?j=j.replace(".",""):I=j.length}for(U=0;j.charCodeAt(U)===48;U++);for(F=j.length;j.charCodeAt(--F)===48;);if(j=j.slice(U,++F)){if(F-=U,x&&W.DEBUG&&F>15&&(C>d||C!==o(C)))throw Error(a+N.s*C);if((I=I-U-1)>oe)N.c=N.e=null;else if(I<Ae)N.c=[N.e=0];else{if(N.e=I,N.c=[],U=(I+1)%l,I<0&&(U+=l),U<F){for(U&&N.c.push(+j.slice(0,U)),F-=l;U<F;)N.c.push(+j.slice(U,U+=l));U=l-(j=j.slice(U)).length}else U-=F;for(;U--;j+="0");N.c.push(+j)}}else N.c=[N.e=0]}W.clone=A,W.ROUND_UP=0,W.ROUND_DOWN=1,W.ROUND_CEIL=2,W.ROUND_FLOOR=3,W.ROUND_HALF_UP=4,W.ROUND_HALF_DOWN=5,W.ROUND_HALF_EVEN=6,W.ROUND_HALF_CEIL=7,W.ROUND_HALF_FLOOR=8,W.EUCLID=9,W.config=W.set=function(C){var k,T;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(k="DECIMAL_PLACES")&&(T=C[k],m(T,0,g,k),te=T),C.hasOwnProperty(k="ROUNDING_MODE")&&(T=C[k],m(T,0,8,k),Z=T),C.hasOwnProperty(k="EXPONENTIAL_AT")&&(T=C[k],T&&T.pop?(m(T[0],-g,0,k),m(T[1],0,g,k),ae=T[0],de=T[1]):(m(T,-g,g,k),ae=-(de=T<0?-T:T))),C.hasOwnProperty(k="RANGE"))if(T=C[k],T&&T.pop)m(T[0],-g,-1,k),m(T[1],1,g,k),Ae=T[0],oe=T[1];else if(m(T,-g,g,k),T)Ae=-(oe=T<0?-T:T);else throw Error(s+k+" cannot be zero: "+T);if(C.hasOwnProperty(k="CRYPTO"))if(T=C[k],T===!!T)if(T)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=T;else throw pe=!T,Error(s+"crypto unavailable");else pe=T;else throw Error(s+k+" not true or false: "+T);if(C.hasOwnProperty(k="MODULO_MODE")&&(T=C[k],m(T,0,9,k),G=T),C.hasOwnProperty(k="POW_PRECISION")&&(T=C[k],m(T,0,g,k),K=T),C.hasOwnProperty(k="FORMAT"))if(T=C[k],typeof T=="object")ue=T;else throw Error(s+k+" not an object: "+T);if(C.hasOwnProperty(k="ALPHABET"))if(T=C[k],typeof T=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(T))Te=T.slice(0,10)=="0123456789",qe=T;else throw Error(s+k+" invalid: "+T)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:te,ROUNDING_MODE:Z,EXPONENTIAL_AT:[ae,de],RANGE:[Ae,oe],CRYPTO:pe,MODULO_MODE:G,POW_PRECISION:K,FORMAT:ue,ALPHABET:qe}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var k,T,M=C.c,P=C.e,I=C.s;e:if({}.toString.call(M)=="[object Array]"){if((I===1||I===-1)&&P>=-g&&P<=g&&P===o(P)){if(M[0]===0){if(P===0&&M.length===1)return!0;break e}if(k=(P+1)%l,k<1&&(k+=l),String(M[0]).length==k){for(k=0;k<M.length;k++)if(T=M[k],T<0||T>=c||T!==o(T))break e;if(T!==0)return!0}}}else if(M===null&&P===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return ye(arguments,-1)},W.minimum=W.min=function(){return ye(arguments,1)},W.random=(function(){var C=9007199254740992,k=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(T){var M,P,I,U,x,F=0,j=[],N=new W(Y);if(T==null?T=te:m(T,0,g),U=n(T/l),pe)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));F<U;)x=M[F]*131072+(M[F+1]>>>11),x>=9e15?(P=crypto.getRandomValues(new Uint32Array(2)),M[F]=P[0],M[F+1]=P[1]):(j.push(x%1e14),F+=2);F=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);F<U;)x=(M[F]&31)*281474976710656+M[F+1]*1099511627776+M[F+2]*4294967296+M[F+3]*16777216+(M[F+4]<<16)+(M[F+5]<<8)+M[F+6],x>=9e15?crypto.randomBytes(7).copy(M,F):(j.push(x%1e14),F+=7);F=U/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;F<U;)x=k(),x<9e15&&(j[F++]=x%1e14);for(U=j[--F],T%=l,U&&T&&(x=f[l-T],j[F]=o(U/x)*x);j[F]===0;j.pop(),F--);if(F<0)j=[I=0];else{for(I=-1;j[0]===0;j.splice(0,1),I-=l);for(F=1,x=j[0];x>=10;x/=10,F++);F<l&&(I-=l-F)}return N.e=I,N.c=j,N}})(),W.sum=function(){for(var C=1,k=arguments,T=new W(k[0]);C<k.length;)T=T.plus(k[C++]);return T},q=(function(){var C="0123456789";function k(T,M,P,I){for(var U,x=[0],F,j=0,N=T.length;j<N;){for(F=x.length;F--;x[F]*=M);for(x[0]+=I.indexOf(T.charAt(j++)),U=0;U<x.length;U++)x[U]>P-1&&(x[U+1]==null&&(x[U+1]=0),x[U+1]+=x[U]/P|0,x[U]%=P)}return x.reverse()}return function(T,M,P,I,U){var x,F,j,N,z,X,ee,Ee,Fe=T.indexOf("."),Ne=te,Ce=Z;for(Fe>=0&&(N=K,K=0,T=T.replace(".",""),Ee=new W(M),X=Ee.pow(T.length-Fe),K=N,Ee.c=k(S(y(X.c),X.e,"0"),10,P,C),Ee.e=Ee.c.length),ee=k(T,M,P,U?(x=qe,C):(x=C,qe)),j=N=ee.length;ee[--N]==0;ee.pop());if(!ee[0])return x.charAt(0);if(Fe<0?--j:(X.c=ee,X.e=j,X.s=I,X=O(X,Ee,Ne,Ce,P),ee=X.c,z=X.r,j=X.e),F=j+Ne+1,Fe=ee[F],N=P/2,z=z||F<0||ee[F+1]!=null,z=Ce<4?(Fe!=null||z)&&(Ce==0||Ce==(X.s<0?3:2)):Fe>N||Fe==N&&(Ce==4||z||Ce==6&&ee[F-1]&1||Ce==(X.s<0?8:7)),F<1||!ee[0])T=z?S(x.charAt(1),-Ne,x.charAt(0)):x.charAt(0);else{if(ee.length=F,z)for(--P;++ee[--F]>P;)ee[F]=0,F||(++j,ee=[1].concat(ee));for(N=ee.length;!ee[--N];);for(Fe=0,T="";Fe<=N;T+=x.charAt(ee[Fe++]));T=S(T,j,x.charAt(0))}return T}})(),O=(function(){function C(M,P,I){var U,x,F,j,N=0,z=M.length,X=P%p,ee=P/p|0;for(M=M.slice();z--;)F=M[z]%p,j=M[z]/p|0,U=ee*F+j*X,x=X*F+U%p*p+N,N=(x/I|0)+(U/p|0)+ee*j,M[z]=x%I;return N&&(M=[N].concat(M)),M}function k(M,P,I,U){var x,F;if(I!=U)F=I>U?1:-1;else for(x=F=0;x<I;x++)if(M[x]!=P[x]){F=M[x]>P[x]?1:-1;break}return F}function T(M,P,I,U){for(var x=0;I--;)M[I]-=x,x=M[I]<P[I]?1:0,M[I]=x*U+M[I]-P[I];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,P,I,U,x){var F,j,N,z,X,ee,Ee,Fe,Ne,Ce,Se,Ue,Rn,xn,On,dt,fr,Ye=M.s==P.s?1:-1,$e=M.c,ke=P.c;if(!$e||!$e[0]||!ke||!ke[0])return new W(!M.s||!P.s||($e?ke&&$e[0]==ke[0]:!ke)?NaN:$e&&$e[0]==0||!ke?Ye*0:Ye/0);for(Fe=new W(Ye),Ne=Fe.c=[],j=M.e-P.e,Ye=I+j+1,x||(x=c,j=w(M.e/l)-w(P.e/l),Ye=Ye/l|0),N=0;ke[N]==($e[N]||0);N++);if(ke[N]>($e[N]||0)&&j--,Ye<0)Ne.push(1),z=!0;else{for(xn=$e.length,dt=ke.length,N=0,Ye+=2,X=o(x/(ke[0]+1)),X>1&&(ke=C(ke,X,x),$e=C($e,X,x),dt=ke.length,xn=$e.length),Rn=dt,Ce=$e.slice(0,dt),Se=Ce.length;Se<dt;Ce[Se++]=0);fr=ke.slice(),fr=[0].concat(fr),On=ke[0],ke[1]>=x/2&&On++;do{if(X=0,F=k(ke,Ce,dt,Se),F<0){if(Ue=Ce[0],dt!=Se&&(Ue=Ue*x+(Ce[1]||0)),X=o(Ue/On),X>1)for(X>=x&&(X=x-1),ee=C(ke,X,x),Ee=ee.length,Se=Ce.length;k(ee,Ce,Ee,Se)==1;)X--,T(ee,dt<Ee?fr:ke,Ee,x),Ee=ee.length,F=1;else X==0&&(F=X=1),ee=ke.slice(),Ee=ee.length;if(Ee<Se&&(ee=[0].concat(ee)),T(Ce,ee,Se,x),Se=Ce.length,F==-1)for(;k(ke,Ce,dt,Se)<1;)X++,T(Ce,dt<Se?fr:ke,Se,x),Se=Ce.length}else F===0&&(X++,Ce=[0]);Ne[N++]=X,Ce[0]?Ce[Se++]=$e[Rn]||0:(Ce=[$e[Rn]],Se=1)}while((Rn++<xn||Ce[0]!=null)&&Ye--);z=Ce[0]!=null,Ne[0]||Ne.splice(0,1)}if(x==c){for(N=1,Ye=Ne[0];Ye>=10;Ye/=10,N++);Re(Fe,I+(Fe.e=N+j*l-1)+1,U,z)}else Fe.e=j,Fe.r=+z;return Fe}})();function le(C,k,T,M){var P,I,U,x,F;if(T==null?T=Z:m(T,0,8),!C.c)return C.toString();if(P=C.c[0],U=C.e,k==null)F=y(C.c),F=M==1||M==2&&(U<=ae||U>=de)?b(F,U):S(F,U,"0");else if(C=Re(new W(C),k,T),I=C.e,F=y(C.c),x=F.length,M==1||M==2&&(k<=I||I<=ae)){for(;x<k;F+="0",x++);F=b(F,I)}else if(k-=U+(M===2&&I>U),F=S(F,I,"0"),I+1>x){if(--k>0)for(F+=".";k--;F+="0");}else if(k+=I-x,k>0)for(I+1==x&&(F+=".");k--;F+="0");return C.s<0&&P?"-"+F:F}function ye(C,k){for(var T,M,P=1,I=new W(C[0]);P<C.length;P++)M=new W(C[P]),(!M.s||(T=_(I,M))===k||T===0&&I.s===k)&&(I=M);return I}function Nt(C,k,T){for(var M=1,P=k.length;!k[--P];k.pop());for(P=k[0];P>=10;P/=10,M++);return(T=M+T*l-1)>oe?C.c=C.e=null:T<Ae?C.c=[C.e=0]:(C.e=T,C.c=k),C}J=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,k=/^([^.]+)\.$/,T=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,P=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,U,x,F){var j,N=x?U:U.replace(P,"");if(M.test(N))I.s=isNaN(N)?null:N<0?-1:1;else{if(!x&&(N=N.replace(C,function(z,X,ee){return j=(ee=ee.toLowerCase())=="x"?16:ee=="b"?2:8,!F||F==j?X:z}),F&&(j=F,N=N.replace(k,"$1").replace(T,"0.$1")),U!=N))return new W(N,j);if(W.DEBUG)throw Error(s+"Not a"+(F?" base "+F:"")+" number: "+U);I.s=null}I.c=I.e=null}})();function Re(C,k,T,M){var P,I,U,x,F,j,N,z=C.c,X=f;if(z){e:{for(P=1,x=z[0];x>=10;x/=10,P++);if(I=k-P,I<0)I+=l,U=k,F=z[j=0],N=o(F/X[P-U-1]%10);else if(j=n((I+1)/l),j>=z.length)if(M){for(;z.length<=j;z.push(0));F=N=0,P=1,I%=l,U=I-l+1}else break e;else{for(F=x=z[j],P=1;x>=10;x/=10,P++);I%=l,U=I-l+P,N=U<0?0:o(F/X[P-U-1]%10)}if(M=M||k<0||z[j+1]!=null||(U<0?F:F%X[P-U-1]),M=T<4?(N||M)&&(T==0||T==(C.s<0?3:2)):N>5||N==5&&(T==4||M||T==6&&(I>0?U>0?F/X[P-U]:0:z[j-1])%10&1||T==(C.s<0?8:7)),k<1||!z[0])return z.length=0,M?(k-=C.e+1,z[0]=X[(l-k%l)%l],C.e=-k||0):z[0]=C.e=0,C;if(I==0?(z.length=j,x=1,j--):(z.length=j+1,x=X[l-I],z[j]=U>0?o(F/X[P-U]%X[U])*x:0),M)for(;;)if(j==0){for(I=1,U=z[0];U>=10;U/=10,I++);for(U=z[0]+=x,x=1;U>=10;U/=10,x++);I!=x&&(C.e++,z[0]==c&&(z[0]=1));break}else{if(z[j]+=x,z[j]!=c)break;z[j--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>oe?C.c=C.e=null:C.e<Ae&&(C.c=[C.e=0])}return C}function je(C){var k,T=C.e;return T===null?C.toString():(k=y(C.c),k=T<=ae||T>=de?b(k,T):S(k,T,"0"),C.s<0?"-"+k:k)}return B.absoluteValue=B.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},B.comparedTo=function(C,k){return _(this,new W(C,k))},B.decimalPlaces=B.dp=function(C,k){var T,M,P,I=this;if(C!=null)return m(C,0,g),k==null?k=Z:m(k,0,8),Re(new W(I),C+I.e+1,k);if(!(T=I.c))return null;if(M=((P=T.length-1)-w(this.e/l))*l,P=T[P])for(;P%10==0;P/=10,M--);return M<0&&(M=0),M},B.dividedBy=B.div=function(C,k){return O(this,new W(C,k),te,Z)},B.dividedToIntegerBy=B.idiv=function(C,k){return O(this,new W(C,k),0,1)},B.exponentiatedBy=B.pow=function(C,k){var T,M,P,I,U,x,F,j,N,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+je(C));if(k!=null&&(k=new W(k)),x=C.e>14,!z.c||!z.c[0]||z.c[0]==1&&!z.e&&z.c.length==1||!C.c||!C.c[0])return N=new W(Math.pow(+je(z),x?C.s*(2-v(C)):+je(C))),k?N.mod(k):N;if(F=C.s<0,k){if(k.c?!k.c[0]:!k.s)return new W(NaN);M=!F&&z.isInteger()&&k.isInteger(),M&&(z=z.mod(k))}else{if(C.e>9&&(z.e>0||z.e<-1||(z.e==0?z.c[0]>1||x&&z.c[1]>=24e7:z.c[0]<8e13||x&&z.c[0]<=9999975e7)))return I=z.s<0&&v(C)?-0:0,z.e>-1&&(I=1/I),new W(F?1/I:I);K&&(I=n(K/l+2))}for(x?(T=new W(.5),F&&(C.s=1),j=v(C)):(P=Math.abs(+je(C)),j=P%2),N=new W(Y);;){if(j){if(N=N.times(z),!N.c)break;I?N.c.length>I&&(N.c.length=I):M&&(N=N.mod(k))}if(P){if(P=o(P/2),P===0)break;j=P%2}else if(C=C.times(T),Re(C,C.e+1,1),C.e>14)j=v(C);else{if(P=+je(C),P===0)break;j=P%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):M&&(z=z.mod(k))}return M?N:(F&&(N=Y.div(N)),k?N.mod(k):I?Re(N,K,Z,U):N)},B.integerValue=function(C){var k=new W(this);return C==null?C=Z:m(C,0,8),Re(k,k.e+1,C)},B.isEqualTo=B.eq=function(C,k){return _(this,new W(C,k))===0},B.isFinite=function(){return!!this.c},B.isGreaterThan=B.gt=function(C,k){return _(this,new W(C,k))>0},B.isGreaterThanOrEqualTo=B.gte=function(C,k){return(k=_(this,new W(C,k)))===1||k===0},B.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},B.isLessThan=B.lt=function(C,k){return _(this,new W(C,k))<0},B.isLessThanOrEqualTo=B.lte=function(C,k){return(k=_(this,new W(C,k)))===-1||k===0},B.isNaN=function(){return!this.s},B.isNegative=function(){return this.s<0},B.isPositive=function(){return this.s>0},B.isZero=function(){return!!this.c&&this.c[0]==0},B.minus=function(C,k){var T,M,P,I,U=this,x=U.s;if(C=new W(C,k),k=C.s,!x||!k)return new W(NaN);if(x!=k)return C.s=-k,U.plus(C);var F=U.e/l,j=C.e/l,N=U.c,z=C.c;if(!F||!j){if(!N||!z)return N?(C.s=-k,C):new W(z?U:NaN);if(!N[0]||!z[0])return z[0]?(C.s=-k,C):new W(N[0]?U:Z==3?-0:0)}if(F=w(F),j=w(j),N=N.slice(),x=F-j){for((I=x<0)?(x=-x,P=N):(j=F,P=z),P.reverse(),k=x;k--;P.push(0));P.reverse()}else for(M=(I=(x=N.length)<(k=z.length))?x:k,x=k=0;k<M;k++)if(N[k]!=z[k]){I=N[k]<z[k];break}if(I&&(P=N,N=z,z=P,C.s=-C.s),k=(M=z.length)-(T=N.length),k>0)for(;k--;N[T++]=0);for(k=c-1;M>x;){if(N[--M]<z[M]){for(T=M;T&&!N[--T];N[T]=k);--N[T],N[M]+=c}N[M]-=z[M]}for(;N[0]==0;N.splice(0,1),--j);return N[0]?Nt(C,N,j):(C.s=Z==3?-1:1,C.c=[C.e=0],C)},B.modulo=B.mod=function(C,k){var T,M,P=this;return C=new W(C,k),!P.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||P.c&&!P.c[0]?new W(P):(G==9?(M=C.s,C.s=1,T=O(P,C,0,3),C.s=M,T.s*=M):T=O(P,C,0,G),C=P.minus(T.times(C)),!C.c[0]&&G==1&&(C.s=P.s),C)},B.multipliedBy=B.times=function(C,k){var T,M,P,I,U,x,F,j,N,z,X,ee,Ee,Fe,Ne,Ce=this,Se=Ce.c,Ue=(C=new W(C,k)).c;if(!Se||!Ue||!Se[0]||!Ue[0])return!Ce.s||!C.s||Se&&!Se[0]&&!Ue||Ue&&!Ue[0]&&!Se?C.c=C.e=C.s=null:(C.s*=Ce.s,!Se||!Ue?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(M=w(Ce.e/l)+w(C.e/l),C.s*=Ce.s,F=Se.length,z=Ue.length,F<z&&(Ee=Se,Se=Ue,Ue=Ee,P=F,F=z,z=P),P=F+z,Ee=[];P--;Ee.push(0));for(Fe=c,Ne=p,P=z;--P>=0;){for(T=0,X=Ue[P]%Ne,ee=Ue[P]/Ne|0,U=F,I=P+U;I>P;)j=Se[--U]%Ne,N=Se[U]/Ne|0,x=ee*j+N*X,j=X*j+x%Ne*Ne+Ee[I]+T,T=(j/Fe|0)+(x/Ne|0)+ee*N,Ee[I--]=j%Fe;Ee[I]=T}return T?++M:Ee.splice(0,1),Nt(C,Ee,M)},B.negated=function(){var C=new W(this);return C.s=-C.s||null,C},B.plus=function(C,k){var T,M=this,P=M.s;if(C=new W(C,k),k=C.s,!P||!k)return new W(NaN);if(P!=k)return C.s=-k,M.minus(C);var I=M.e/l,U=C.e/l,x=M.c,F=C.c;if(!I||!U){if(!x||!F)return new W(P/0);if(!x[0]||!F[0])return F[0]?C:new W(x[0]?M:P*0)}if(I=w(I),U=w(U),x=x.slice(),P=I-U){for(P>0?(U=I,T=F):(P=-P,T=x),T.reverse();P--;T.push(0));T.reverse()}for(P=x.length,k=F.length,P-k<0&&(T=F,F=x,x=T,k=P),P=0;k;)P=(x[--k]=x[k]+F[k]+P)/c|0,x[k]=c===x[k]?0:x[k]%c;return P&&(x=[P].concat(x),++U),Nt(C,x,U)},B.precision=B.sd=function(C,k){var T,M,P,I=this;if(C!=null&&C!==!!C)return m(C,1,g),k==null?k=Z:m(k,0,8),Re(new W(I),C,k);if(!(T=I.c))return null;if(P=T.length-1,M=P*l+1,P=T[P]){for(;P%10==0;P/=10,M--);for(P=T[0];P>=10;P/=10,M++);}return C&&I.e+1>M&&(M=I.e+1),M},B.shiftedBy=function(C){return m(C,-d,d),this.times("1e"+C)},B.squareRoot=B.sqrt=function(){var C,k,T,M,P,I=this,U=I.c,x=I.s,F=I.e,j=te+4,N=new W("0.5");if(x!==1||!U||!U[0])return new W(!x||x<0&&(!U||U[0])?NaN:U?I:1/0);if(x=Math.sqrt(+je(I)),x==0||x==1/0?(k=y(U),(k.length+F)%2==0&&(k+="0"),x=Math.sqrt(+k),F=w((F+1)/2)-(F<0||F%2),x==1/0?k="5e"+F:(k=x.toExponential(),k=k.slice(0,k.indexOf("e")+1)+F),T=new W(k)):T=new W(x+""),T.c[0]){for(F=T.e,x=F+j,x<3&&(x=0);;)if(P=T,T=N.times(P.plus(O(I,P,j,1))),y(P.c).slice(0,x)===(k=y(T.c)).slice(0,x))if(T.e<F&&--x,k=k.slice(x-3,x+1),k=="9999"||!M&&k=="4999"){if(!M&&(Re(P,P.e+te+2,0),P.times(P).eq(I))){T=P;break}j+=4,x+=4,M=1}else{(!+k||!+k.slice(1)&&k.charAt(0)=="5")&&(Re(T,T.e+te+2,1),C=!T.times(T).eq(I));break}}return Re(T,T.e+te+1,Z,C)},B.toExponential=function(C,k){return C!=null&&(m(C,0,g),C++),le(this,C,k,1)},B.toFixed=function(C,k){return C!=null&&(m(C,0,g),C=C+this.e+1),le(this,C,k)},B.toFormat=function(C,k,T){var M,P=this;if(T==null)C!=null&&k&&typeof k=="object"?(T=k,k=null):C&&typeof C=="object"?(T=C,C=k=null):T=ue;else if(typeof T!="object")throw Error(s+"Argument not an object: "+T);if(M=P.toFixed(C,k),P.c){var I,U=M.split("."),x=+T.groupSize,F=+T.secondaryGroupSize,j=T.groupSeparator||"",N=U[0],z=U[1],X=P.s<0,ee=X?N.slice(1):N,Ee=ee.length;if(F&&(I=x,x=F,F=I,Ee-=I),x>0&&Ee>0){for(I=Ee%x||x,N=ee.substr(0,I);I<Ee;I+=x)N+=j+ee.substr(I,x);F>0&&(N+=j+ee.slice(I)),X&&(N="-"+N)}M=z?N+(T.decimalSeparator||"")+((F=+T.fractionGroupSize)?z.replace(new RegExp("\\d{"+F+"}\\B","g"),"$&"+(T.fractionGroupSeparator||"")):z):N}return(T.prefix||"")+M+(T.suffix||"")},B.toFraction=function(C){var k,T,M,P,I,U,x,F,j,N,z,X,ee=this,Ee=ee.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+je(x));if(!Ee)return new W(ee);for(k=new W(Y),j=T=new W(Y),M=F=new W(Y),X=y(Ee),I=k.e=X.length-ee.e-1,k.c[0]=f[(U=I%l)<0?l+U:U],C=!C||x.comparedTo(k)>0?I>0?k:j:x,U=oe,oe=1/0,x=new W(X),F.c[0]=0;N=O(x,k,0,1),P=T.plus(N.times(M)),P.comparedTo(C)!=1;)T=M,M=P,j=F.plus(N.times(P=j)),F=P,k=x.minus(N.times(P=k)),x=P;return P=O(C.minus(T),M,0,1),F=F.plus(P.times(j)),T=T.plus(P.times(M)),F.s=j.s=ee.s,I=I*2,z=O(j,M,I,Z).minus(ee).abs().comparedTo(O(F,T,I,Z).minus(ee).abs())<1?[j,M]:[F,T],oe=U,z},B.toNumber=function(){return+je(this)},B.toPrecision=function(C,k){return C!=null&&m(C,1,g),le(this,C,k,2)},B.toString=function(C){var k,T=this,M=T.s,P=T.e;return P===null?M?(k="Infinity",M<0&&(k="-"+k)):k="NaN":(C==null?k=P<=ae||P>=de?b(y(T.c),P):S(y(T.c),P,"0"):C===10&&Te?(T=Re(new W(T),te+P+1,Z),k=S(y(T.c),T.e,"0")):(m(C,2,qe.length,"Base"),k=q(S(y(T.c),P,"0"),10,C,M,!0)),M<0&&T.c[0]&&(k="-"+k)),k},B.valueOf=B.toJSON=function(){return je(this)},B._isBigNumber=!0,D!=null&&W.set(D),W}function w(D){var O=D|0;return D>0||D===O?O:O-1}function y(D){for(var O,q,J=1,B=D.length,Y=D[0]+"";J<B;){for(O=D[J++]+"",q=l-O.length;q--;O="0"+O);Y+=O}for(B=Y.length;Y.charCodeAt(--B)===48;);return Y.slice(0,B+1||1)}function _(D,O){var q,J,B=D.c,Y=O.c,te=D.s,Z=O.s,ae=D.e,de=O.e;if(!te||!Z)return null;if(q=B&&!B[0],J=Y&&!Y[0],q||J)return q?J?0:-Z:te;if(te!=Z)return te;if(q=te<0,J=ae==de,!B||!Y)return J?0:!B^q?1:-1;if(!J)return ae>de^q?1:-1;for(Z=(ae=B.length)<(de=Y.length)?ae:de,te=0;te<Z;te++)if(B[te]!=Y[te])return B[te]>Y[te]^q?1:-1;return ae==de?0:ae>de^q?1:-1}function m(D,O,q,J){if(D<O||D>q||D!==o(D))throw Error(s+(J||"Argument")+(typeof D=="number"?D<O||D>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(D))}function v(D){var O=D.c.length-1;return w(D.e/l)==O&&D.c[O]%2!=0}function b(D,O){return(D.length>1?D.charAt(0)+"."+D.slice(1):D)+(O<0?"e":"e+")+O}function S(D,O,q){var J,B;if(O<0){for(B=q+".";++O;B+=q);D=B+D}else if(J=D.length,++O>J){for(B=q,O-=J;--O;B+=q);D+=B}else O<J&&(D=D.slice(0,O)+"."+D.slice(O));return D}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof qi<"u"&&qi.exports?qi.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(ng)});var ag=V((nx,ig)=>{var og=qc(),sg=ig.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function c(d){return r.lastIndex=0,r.test(d)?'"'+d.replace(r,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,g,A,w,y=n,_,m=f[d],v=m!=null&&(m instanceof og||og.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(d)),typeof a=="function"&&(m=a.call(f,d,m)),typeof m){case"string":return v?m:c(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(n+=o,_=[],Object.prototype.toString.apply(m)==="[object Array]"){for(w=m.length,p=0;p<w;p+=1)_[p]=l(p,m)||"null";return A=_.length===0?"[]":n?`[
44
- `+n+_.join(`,
45
- `+n)+`
46
- `+y+"]":"["+_.join(",")+"]",n=y,A}if(a&&typeof a=="object")for(w=a.length,p=0;p<w;p+=1)typeof a[p]=="string"&&(g=a[p],A=l(g,m),A&&_.push(c(g)+(n?": ":":")+A));else Object.keys(m).forEach(function(b){var S=l(b,m);S&&_.push(c(b)+(n?": ":":")+S)});return A=_.length===0?"{}":n?`{
47
- `+n+_.join(`,
48
- `+n)+`
49
- `+y+"}":"{"+_.join(",")+"}",n=y,A}}typeof sg.stringify!="function"&&(sg.stringify=function(d,f,p){var g;if(n="",o="",typeof p=="number")for(g=0;g<p;g+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var cg=V((ox,ug)=>{var zi=null,uE=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,cE=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,lE=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
50
- `,r:"\r",t:" "},s,a=function(y){throw{name:"SyntaxError",message:y,at:r,text:s}},c=function(y){return y&&y!==n&&a("Expected '"+y+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var y,_="";for(n==="-"&&(_="-",c("-"));n>="0"&&n<="9";)_+=n,c();if(n===".")for(_+=".";c()&&n>="0"&&n<="9";)_+=n;if(n==="e"||n==="E")for(_+=n,c(),(n==="-"||n==="+")&&(_+=n,c());n>="0"&&n<="9";)_+=n,c();if(y=+_,!isFinite(y))a("Bad number");else return zi==null&&(zi=qc()),_.length>15?e.storeAsString?_:e.useNativeBigInt?BigInt(_):new zi(_):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new zi(y):y},d=function(){var y,_,m="",v;if(n==='"')for(var b=r;c();){if(n==='"')return r-1>b&&(m+=s.substring(b,r-1)),c(),m;if(n==="\\"){if(r-1>b&&(m+=s.substring(b,r-1)),c(),n==="u"){for(v=0,_=0;_<4&&(y=parseInt(c(),16),!!isFinite(y));_+=1)v=v*16+y;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;b=r}}a("Bad string")},f=function(){for(;n&&n<=" ";)c()},p=function(){switch(n){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+n+"'")},g,A=function(){var y=[];if(n==="["){if(c("["),f(),n==="]")return c("]"),y;for(;n;){if(y.push(g()),f(),n==="]")return c("]"),y;c(","),f()}}a("Bad array")},w=function(){var y,_=Object.create(null);if(n==="{"){if(c("{"),f(),n==="}")return c("}"),_;for(;n;){if(y=d(),f(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(_,y)&&a('Duplicate key "'+y+'"'),uE.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?g():_[y]=g():cE.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?g():_[y]=g():_[y]=g(),f(),n==="}")return c("}"),_;c(","),f()}}a("Bad object")};return g=function(){switch(f(),n){case"{":return w();case"[":return A();case'"':return d();case"-":return l();default:return n>="0"&&n<="9"?l():p()}},function(y,_){var m;return s=y+"",r=0,n=" ",m=g(),f(),n&&a("Syntax error"),typeof _=="function"?(function v(b,S){var D,O,q=b[S];return q&&typeof q=="object"&&Object.keys(q).forEach(function(J){O=v(q,J),O!==void 0?q[J]=O:delete q[J]}),_.call(b,S,q)})({"":m},""):m}};ug.exports=lE});var fg=V((sx,Hi)=>{var lg=ag().stringify,dg=cg();Hi.exports=function(t){return{parse:dg(t),stringify:lg}};Hi.exports.parse=dg();Hi.exports.stringify=lg});var zc=V(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=mg;zt.isGoogleComputeEngineLinux=gg;zt.isGoogleComputeEngineMACAddress=yg;zt.isGoogleComputeEngine=_g;zt.detectGCPResidency=fE;var hg=require("fs"),pg=require("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var dE=/^42:01/;function mg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function gg(){if((0,pg.platform)()!=="linux")return!1;try{(0,hg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,hg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function yg(){let t=(0,pg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(dE.test(r))return!0}return!1}function _g(){return gg()||yg()}function fE(){return mg()||_g()}});var bg=V(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.Colours=void 0;var Ze=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};Wi.Colours=Ze;Ze.enabled=!1;Ze.reset="";Ze.bright="";Ze.dim="";Ze.red="";Ze.green="";Ze.yellow="";Ze.blue="";Ze.magenta="";Ze.cyan="";Ze.white="";Ze.grey="";Ze.refresh()});var Ag=V(ve=>{"use strict";var hE=ve&&ve.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),pE=ve&&ve.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Cg=ve&&ve.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&hE(r,e,n[o]);return pE(r,e),r}})();Object.defineProperty(ve,"__esModule",{value:!0});ve.env=ve.DebugLogBackendBase=ve.placeholder=ve.AdhocDebugLogger=ve.LogSeverity=void 0;ve.getNodeBackend=Wc;ve.getDebugBackend=gE;ve.getStructuredBackend=yE;ve.setBackend=_E;ve.log=Eg;var mE=require("events"),Qo=Cg(require("process")),wg=Cg(require("util")),yt=bg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(ve.LogSeverity=Ht={}));var Xo=class extends mE.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(Ht.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Ht.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Ht.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Ht.ERROR,...n),this.func.sublog=n=>Eg(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};ve.AdhocDebugLogger=Xo;ve.placeholder=new Xo("",()=>{}).func;var to=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=Qo.env[ve.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};ve.DebugLogBackendBase=to;var Hc=class extends to{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${yt.Colours.green}${e}${yt.Colours.reset}`,a=`${yt.Colours.yellow}${Qo.pid}${yt.Colours.reset}`,c;switch(r.severity){case Ht.ERROR:c=`${yt.Colours.red}${r.severity}${yt.Colours.reset}`;break;case Ht.INFO:c=`${yt.Colours.magenta}${r.severity}${yt.Colours.reset}`;break;case Ht.WARNING:c=`${yt.Colours.yellow}${r.severity}${yt.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=wg.formatWithOptions({colors:yt.Colours.enabled},...n),d=Object.assign({},r);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${yt.Colours.grey}${f}${yt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,c,l,f?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function Wc(){return new Hc}var Gc=class extends to{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=Qo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Qo.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function gE(t){return new Gc(t)}var Jc=class extends to{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var a;let c=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:c,message:wg.format(...s)},o),d=JSON.stringify(l);n?n(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function yE(t){return new Jc(t)}ve.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Vc=new Map,_t;function _E(t){_t=t,Vc.clear()}function Eg(t,e){if(!_t&&!Qo.env[ve.env.nodeEnables]||!t)return ve.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=Vc.get(t);if(r)return r.func;if(_t===null)return ve.placeholder;_t===void 0&&(_t=Wc());let n=(()=>{let o;return new Xo(t,(a,...c)=>{if(o!==_t){if(_t===null)return;_t===void 0&&(_t=Wc()),o=_t}_t?.log(t,a,...c)})})();return Vc.set(t,n),n.func}});var Kc=V(wn=>{"use strict";var bE=wn&&wn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),CE=wn&&wn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&bE(e,t,r)};Object.defineProperty(wn,"__esModule",{value:!0});CE(Ag(),wn)});var es=V(ie=>{"use strict";var kg=ie&&ie.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),wE=ie&&ie.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),EE=ie&&ie.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&kg(r,e,n[o]);return wE(r,e),r}})(),AE=ie&&ie.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&kg(e,t,r)};Object.defineProperty(ie,"__esModule",{value:!0});ie.gcpResidencyCache=ie.METADATA_SERVER_DETECTION=ie.HEADERS=ie.HEADER_VALUE=ie.HEADER_NAME=ie.SECONDARY_HOST_ADDRESS=ie.HOST_ADDRESS=ie.BASE_PATH=void 0;ie.instance=RE;ie.project=xE;ie.universe=OE;ie.bulk=PE;ie.isAvailable=IE;ie.resetIsAvailableCache=BE;ie.getGCPResidency=Xc;ie.setGCPResidency=vg;ie.requestTimeout=Tg;var Yc=Ke(),SE=fg(),kE=zc(),vE=EE(Kc());ie.BASE_PATH="/computeMetadata/v1";ie.HOST_ADDRESS="http://169.254.169.254";ie.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ie.HEADER_NAME="Metadata-Flavor";ie.HEADER_VALUE="Google";ie.HEADERS=Object.freeze({[ie.HEADER_NAME]:ie.HEADER_VALUE});var Sg=vE.log("gcp-metadata");ie.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Qc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ie.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ie.BASE_PATH,t).href}function TE(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Zo(t,e={},r=3,n=!1){let o=new Headers(ie.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((g,A)=>o.set(A,g)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(TE(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,g)=>o.set(g,p)),a=e.params||a);let c=n?DE:Yc.request,l={url:`${Qc()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:Tg()};Sg.info("instance request %j",l);let d=await c(l);Sg.info("instance metadata is %s",d.data);let f=d.headers.get(ie.HEADER_NAME);if(f!==ie.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ie.HEADER_NAME} header. Expected '${ie.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return SE.parse(d.data)}catch{}return d.data}async function DE(t){let e={...t,url:t.url?.toString().replace(Qc(),Qc(ie.SECONDARY_HOST_ADDRESS))},r=(0,Yc.request)(t),n=(0,Yc.request)(e);return Promise.any([r,n])}function RE(t){return Zo("instance",t)}function xE(t){return Zo("project",t)}function OE(t){return Zo("universe",t)}async function PE(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await Zo(r),o=r.metadataKey;e[o]=n})())),e}function FE(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Gi;async function IE(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ie.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ie.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return Xc();case"ping-only":}}try{return Gi===void 0&&(Gi=Zo("instance",void 0,FE(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Gi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function BE(){Gi=void 0}ie.gcpResidencyCache=null;function Xc(){return ie.gcpResidencyCache===null&&vg(),ie.gcpResidencyCache}function vg(t=null){ie.gcpResidencyCache=t!==null?t:(0,kE.detectGCPResidency)()}function Tg(){return Xc()?0:3e3}AE(zc(),ie)});var xg=V(Ji=>{"use strict";Ji.byteLength=ME;Ji.toByteArray=LE;Ji.fromByteArray=qE;var rr=[],xt=[],NE=typeof Uint8Array<"u"?Uint8Array:Array,Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(En=0,Dg=Zc.length;En<Dg;++En)rr[En]=Zc[En],xt[Zc.charCodeAt(En)]=En;var En,Dg;xt[45]=62;xt[95]=63;function Rg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function ME(t){var e=Rg(t),r=e[0],n=e[1];return(r+n)*3/4-n}function jE(t,e,r){return(e+r)*3/4-r}function LE(t){var e,r=Rg(t),n=r[0],o=r[1],s=new NE(jE(t,n,o)),a=0,c=o>0?n-4:n,l;for(l=0;l<c;l+=4)e=xt[t.charCodeAt(l)]<<18|xt[t.charCodeAt(l+1)]<<12|xt[t.charCodeAt(l+2)]<<6|xt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=xt[t.charCodeAt(l)]<<2|xt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=xt[t.charCodeAt(l)]<<10|xt[t.charCodeAt(l+1)]<<4|xt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function UE(t){return rr[t>>18&63]+rr[t>>12&63]+rr[t>>6&63]+rr[t&63]}function $E(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(UE(n));return o.join("")}function qE(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,c=r-n;a<c;a+=s)o.push($E(t,a,a+s>c?c:a+s));return n===1?(e=t[r-1],o.push(rr[e>>2]+rr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(rr[e>>10]+rr[e>>4&63]+rr[e<<2&63]+"=")),o.join("")}});var tl=V(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.fromArrayBufferToHex=zE;function zE(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Og=V(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.BrowserCrypto=void 0;var ro=xg(),HE=tl(),rl=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return ro.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),ro.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),a=ro.toByteArray(t.padBase64(n)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,a,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),a=await window.crypto.subtle.sign(n,s,o);return ro.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=ro.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return ro.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,HE.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};Vi.BrowserCrypto=rl});var Pg=V(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.NodeCrypto=void 0;var no=require("crypto"),nl=class{async sha256DigestBase64(e){return no.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return no.randomBytes(e).toString("base64")}async verify(e,r,n){let o=no.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=no.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return no.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:GE(e);return WE(no.createHmac("sha256",n).update(r).digest())}};Ki.NodeCrypto=nl;function WE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function GE(t){return Buffer.from(t)}});var ts=V(kr=>{"use strict";var JE=kr&&kr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),VE=kr&&kr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&JE(e,t,r)};Object.defineProperty(kr,"__esModule",{value:!0});kr.createCrypto=QE;kr.hasBrowserCrypto=Fg;var KE=Og(),YE=Pg();VE(tl(),kr);function QE(){return Fg()?new KE.BrowserCrypto:new YE.NodeCrypto}function Fg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var oo=V((ol,Bg)=>{var Yi=require("buffer"),nr=Yi.Buffer;function Ig(t,e){for(var r in t)e[r]=t[r]}nr.from&&nr.alloc&&nr.allocUnsafe&&nr.allocUnsafeSlow?Bg.exports=Yi:(Ig(Yi,ol),ol.Buffer=An);function An(t,e,r){return nr(t,e,r)}An.prototype=Object.create(nr.prototype);Ig(nr,An);An.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return nr(t,e,r)};An.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=nr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};An.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return nr(t)};An.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Yi.SlowBuffer(t)}});var Mg=V((gx,Ng)=>{"use strict";function sl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var XE={ES256:sl(256),ES384:sl(384),ES512:sl(521)};function ZE(t){var e=XE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Ng.exports=ZE});var il=V((yx,zg)=>{"use strict";var Qi=oo().Buffer,Lg=Mg(),Xi=128,Ug=0,eA=32,tA=16,rA=2,$g=tA|eA|Ug<<6,Zi=rA|Ug<<6;function nA(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function qg(t){if(Qi.isBuffer(t))return t;if(typeof t=="string")return Qi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function oA(t,e){t=qg(t);var r=Lg(e),n=r+1,o=t.length,s=0;if(t[s++]!==$g)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Xi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Zi)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(n<c)throw new Error('"r" specified length of "'+c+'", max of "'+n+'" is acceptable');var l=s;if(s+=c,t[s++]!==Zi)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(n<d)throw new Error('"s" specified length of "'+d+'", max of "'+n+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-c,g=r-d,A=Qi.allocUnsafe(p+c+g+d);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,l+Math.max(-p,0),l+c),s=r;for(var w=s;s<w+g;++s)A[s]=0;return t.copy(A,s,f+Math.max(-g,0),f+d),A=A.toString("base64"),A=nA(A),A}function jg(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=Xi;return o&&--n,n}function sA(t,e){t=qg(t);var r=Lg(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=jg(t,0,r),s=jg(t,r,t.length),a=r-o,c=r-s,l=2+a+1+1+c,d=l<Xi,f=Qi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=$g,d?f[p++]=l:(f[p++]=Xi|1,f[p++]=l&255),f[p++]=Zi,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,r)):p+=t.copy(f,p,o,r),f[p++]=Zi,f[p++]=c,s<0?(f[p++]=0,t.copy(f,p,r)):t.copy(f,p,r+s),f}zg.exports={derToJose:oA,joseToDer:sA}});var Wt=V(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.LRUCache=void 0;vr.snakeToCamel=Wg;vr.originalOrCamelOptions=cA;vr.removeUndefinedValuesInObject=lA;vr.isValidFile=dA;vr.getWellKnownCertificateConfigFileLocation=fA;var iA=require("fs"),aA=require("os"),al=require("path"),uA="certificate_config.json",Hg="gcloud";function Wg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function cA(t){function e(r){let n=t||{};return n[r]??n[Wg(r)]}return{get:e}}var ul=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};vr.LRUCache=ul;function lA(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function dA(t){try{return(await iA.promises.lstat(t)).isFile()}catch{return!1}}function fA(){let t=process.env.CLOUDSDK_CONFIG||(hA()?al.join(process.env.APPDATA||"",Hg):al.join(process.env.HOME||"",".config",Hg));return al.join(t,uA)}function hA(){return aA.platform().startsWith("win")}});var Gg=V((bx,pA)=>{pA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var cl=V(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.USER_AGENT=Kr.PRODUCT_NAME=Kr.pkg=void 0;var Jg=Gg();Kr.pkg=Jg;var Vg="google-api-nodejs-client";Kr.PRODUCT_NAME=Vg;var mA=`${Vg}/${Jg.version}`;Kr.USER_AGENT=mA});var bt=V(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var gA=require("events"),ll=Ke(),yA=Wt(),_A=Kc(),dl=cl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var fl=class t extends gA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,yA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new ll.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&ll.Gaxios.mergeHeaders(s,r.headers),n&&ll.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,_A.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${dl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${dl.USER_AGENT}`):e.headers.set("User-Agent",dl.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=fl});var pl=V(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.LoginTicket=void 0;var hl=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};ea.LoginTicket=hl});var Sn=V(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.OAuth2Client=or.ClientAuthentication=or.CertificateFormat=or.CodeChallengeMethod=void 0;var Kg=Ke(),bA=require("querystring"),CA=require("stream"),wA=il(),Yg=Wt(),ml=ts(),so=bt(),EA=pl(),Qg;(function(t){t.Plain="plain",t.S256="S256"})(Qg||(or.CodeChallengeMethod=Qg={}));var Tr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tr||(or.CertificateFormat=Tr={}));var rs;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(rs||(or.ClientAuthentication=rs={}));var gl=class t extends so.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Tr.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||rs.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+bA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ml.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===rs.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===rs.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Yg.removeUndefinedValuesInObject)(o)),headers:n};so.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),c=a.data;return a.data&&a.data.expires_in&&(c.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Yg.removeUndefinedValuesInObject)(n))};so.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof Kg.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let c=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(c){let l=c;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(so.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=Kg.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof CA.Readable,d=s===401||s===403;if(!r&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&d&&!l&&c){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,ml.hasBrowserCrypto)()?Tr.JWK:Tr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Tr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Tr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let d={...t.RETRY_CONFIG,url:o};so.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),n=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=n?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let c={};switch(r){case Tr.PEM:c=n.data;break;case Tr.JWK:for(let d of n.data.keys)c[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${r}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=c,this.certificateCacheFormat=r,{certs:c,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};so.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let a=(0,ml.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=c[0]+"."+c[1],d=c[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(c[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${c[0]}': ${b.message}`),b}if(!f)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(c[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${c[0]}`),b}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(r,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let g=r[f.kid];if(f.alg==="ES256"&&(d=wA.joseToDer(d,"ES256").toString("base64")),!await a.verify(g,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(p.exp);if(isNaN(y))throw new Error("exp field using invalid format");let _=new Date().getTime()/1e3;if(y>=_+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=w-t.CLOCK_SKEW_SECS_,v=y+t.CLOCK_SKEW_SECS_;if(_<m)throw new Error("Token used too early, "+_+" < "+m+": "+JSON.stringify(p));if(_>v)throw new Error("Token used too late, "+_+" > "+v+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof n<"u"&&n!==null){let b=p.aud,S=!1;if(n.constructor===Array?S=n.indexOf(b)>-1:S=b===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new EA.LoginTicket(f,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};or.OAuth2Client=gl});var _l=V(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.Compute=void 0;var AA=Ke(),Xg=es(),SA=Sn(),yl=class extends SA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await Xg.instance(o)}catch(o){throw o instanceof AA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await Xg.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};ta.Compute=yl});var Cl=V(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.IdTokenClient=void 0;var kA=Sn(),bl=class extends kA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};ra.IdTokenClient=bl});var wl=V(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.GCPEnv=void 0;io.clear=vA;io.getEnv=TA;var Zg=es(),sr;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(sr||(io.GCPEnv=sr={}));var ns;function vA(){ns=void 0}async function TA(){return ns||(ns=DA(),ns)}async function DA(){let t=sr.NONE;return RA()?t=sr.APP_ENGINE:xA()?t=sr.CLOUD_FUNCTIONS:await IA()?await FA()?t=sr.KUBERNETES_ENGINE:OA()?t=sr.CLOUD_RUN:PA()?t=sr.CLOUD_RUN_JOBS:t=sr.COMPUTE_ENGINE:t=sr.NONE,t}function RA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function xA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function OA(){return!!process.env.K_CONFIGURATION}function PA(){return!!process.env.CLOUD_RUN_JOB}async function FA(){try{return await Zg.instance("attributes/cluster-name"),!0}catch{return!1}}async function IA(){return Zg.isAvailable()}});var El=V((Tx,ey)=>{var na=oo().Buffer,BA=require("stream"),NA=require("util");function oa(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=na.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=na.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}NA.inherits(oa,BA);oa.prototype.write=function(e){this.buffer=na.concat([this.buffer,na.from(e)]),this.emit("data",e)};oa.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ey.exports=oa});var ry=V((Dx,ty)=>{"use strict";var os=require("buffer").Buffer,Al=require("buffer").SlowBuffer;ty.exports=sa;function sa(t,e){if(!os.isBuffer(t)||!os.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}sa.install=function(){os.prototype.equal=Al.prototype.equal=function(e){return sa(this,e)}};var MA=os.prototype.equal,jA=Al.prototype.equal;sa.restore=function(){os.prototype.equal=MA,Al.prototype.equal=jA}});var Tl=V((Rx,dy)=>{var uo=oo().Buffer,Ot=require("crypto"),oy=il(),ny=require("util"),LA=`"%s" is not a valid algorithm.
43
+ `}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Oe(pm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(ug(),ag))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};no.Gaxios=Gi;to=Gi});var Qe=K(ot=>{"use strict";var yE=ot&&ot.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),_E=ot&&ot.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&yE(e,t,n)};Object.defineProperty(ot,"__esModule",{value:!0});ot.instance=ot.Gaxios=ot.GaxiosError=void 0;ot.request=CE;var fg=dg();Object.defineProperty(ot,"Gaxios",{enumerable:!0,get:function(){return fg.Gaxios}});var bE=kc();Object.defineProperty(ot,"GaxiosError",{enumerable:!0,get:function(){return bE.GaxiosError}});_E(Dc(),ot);ot.instance=new fg.Gaxios;async function CE(t){return ot.instance.request(t)}});var Yc=K((hg,Ji)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",c=1e14,l=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,g=1e9;function _(T){var R,U,J,F=G.prototype={constructor:G,toString:null,valueOf:null},V=new G(1),Y=20,X=4,ee=-7,de=21,Se=-1e7,ue=1e7,pe=!1,W=1,Q=0,re={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},$e="0123456789abcdefghijklmnopqrstuvwxyz",ke=!0;function G(E,v){var D,M,P,N,$,O,I,L,B=this;if(!(B instanceof G))return new G(E,v);if(v==null){if(E&&E._isBigNumber===!0){B.s=E.s,!E.c||E.e>ue?B.c=B.e=null:E.e<Se?B.c=[B.e=0]:(B.e=E.e,B.c=E.c.slice());return}if((O=typeof E=="number")&&E*0==0){if(B.s=1/E<0?(E=-E,-1):1,E===~~E){for(N=0,$=E;$>=10;$/=10,N++);N>ue?B.c=B.e=null:(B.e=N,B.c=[E]);return}L=String(E)}else{if(!n.test(L=String(E)))return J(B,L,O);B.s=L.charCodeAt(0)==45?(L=L.slice(1),-1):1}(N=L.indexOf("."))>-1&&(L=L.replace(".","")),($=L.search(/e/i))>0?(N<0&&(N=$),N+=+L.slice($+1),L=L.substring(0,$)):N<0&&(N=L.length)}else{if(m(v,2,$e.length,"Base"),v==10&&ke)return B=new G(E),Re(B,Y+B.e+1,X);if(L=String(E),O=typeof E=="number"){if(E*0!=0)return J(B,L,O,v);if(B.s=1/E<0?(L=L.slice(1),-1):1,G.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+E)}else B.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=$e.slice(0,v),N=$=0,I=L.length;$<I;$++)if(D.indexOf(M=L.charAt($))<0){if(M=="."){if($>N){N=I;continue}}else if(!P&&(L==L.toUpperCase()&&(L=L.toLowerCase())||L==L.toLowerCase()&&(L=L.toUpperCase()))){P=!0,$=-1,N=0;continue}return J(B,String(E),O,v)}O=!1,L=U(L,v,10,B.s),(N=L.indexOf("."))>-1?L=L.replace(".",""):N=L.length}for($=0;L.charCodeAt($)===48;$++);for(I=L.length;L.charCodeAt(--I)===48;);if(L=L.slice($,++I)){if(I-=$,O&&G.DEBUG&&I>15&&(E>d||E!==o(E)))throw Error(a+B.s*E);if((N=N-$-1)>ue)B.c=B.e=null;else if(N<Se)B.c=[B.e=0];else{if(B.e=N,B.c=[],$=(N+1)%l,N<0&&($+=l),$<I){for($&&B.c.push(+L.slice(0,$)),I-=l;$<I;)B.c.push(+L.slice($,$+=l));$=l-(L=L.slice($)).length}else $-=I;for(;$--;L+="0");B.c.push(+L)}}else B.c=[B.e=0]}G.clone=_,G.ROUND_UP=0,G.ROUND_DOWN=1,G.ROUND_CEIL=2,G.ROUND_FLOOR=3,G.ROUND_HALF_UP=4,G.ROUND_HALF_DOWN=5,G.ROUND_HALF_EVEN=6,G.ROUND_HALF_CEIL=7,G.ROUND_HALF_FLOOR=8,G.EUCLID=9,G.config=G.set=function(E){var v,D;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(v="DECIMAL_PLACES")&&(D=E[v],m(D,0,g,v),Y=D),E.hasOwnProperty(v="ROUNDING_MODE")&&(D=E[v],m(D,0,8,v),X=D),E.hasOwnProperty(v="EXPONENTIAL_AT")&&(D=E[v],D&&D.pop?(m(D[0],-g,0,v),m(D[1],0,g,v),ee=D[0],de=D[1]):(m(D,-g,g,v),ee=-(de=D<0?-D:D))),E.hasOwnProperty(v="RANGE"))if(D=E[v],D&&D.pop)m(D[0],-g,-1,v),m(D[1],1,g,v),Se=D[0],ue=D[1];else if(m(D,-g,g,v),D)Se=-(ue=D<0?-D:D);else throw Error(s+v+" cannot be zero: "+D);if(E.hasOwnProperty(v="CRYPTO"))if(D=E[v],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=D;else throw pe=!D,Error(s+"crypto unavailable");else pe=D;else throw Error(s+v+" not true or false: "+D);if(E.hasOwnProperty(v="MODULO_MODE")&&(D=E[v],m(D,0,9,v),W=D),E.hasOwnProperty(v="POW_PRECISION")&&(D=E[v],m(D,0,g,v),Q=D),E.hasOwnProperty(v="FORMAT"))if(D=E[v],typeof D=="object")re=D;else throw Error(s+v+" not an object: "+D);if(E.hasOwnProperty(v="ALPHABET"))if(D=E[v],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))ke=D.slice(0,10)=="0123456789",$e=D;else throw Error(s+v+" invalid: "+D)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:Y,ROUNDING_MODE:X,EXPONENTIAL_AT:[ee,de],RANGE:[Se,ue],CRYPTO:pe,MODULO_MODE:W,POW_PRECISION:Q,FORMAT:re,ALPHABET:$e}},G.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!G.DEBUG)return!0;var v,D,M=E.c,P=E.e,N=E.s;e:if({}.toString.call(M)=="[object Array]"){if((N===1||N===-1)&&P>=-g&&P<=g&&P===o(P)){if(M[0]===0){if(P===0&&M.length===1)return!0;break e}if(v=(P+1)%l,v<1&&(v+=l),String(M[0]).length==v){for(v=0;v<M.length;v++)if(D=M[v],D<0||D>=c||D!==o(D))break e;if(D!==0)return!0}}}else if(M===null&&P===null&&(N===null||N===1||N===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},G.maximum=G.max=function(){return _e(arguments,-1)},G.minimum=G.min=function(){return _e(arguments,1)},G.random=(function(){var E=9007199254740992,v=Math.random()*E&2097151?function(){return o(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var M,P,N,$,O,I=0,L=[],B=new G(V);if(D==null?D=Y:m(D,0,g),$=r(D/l),pe)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array($*=2));I<$;)O=M[I]*131072+(M[I+1]>>>11),O>=9e15?(P=crypto.getRandomValues(new Uint32Array(2)),M[I]=P[0],M[I+1]=P[1]):(L.push(O%1e14),I+=2);I=$/2}else if(crypto.randomBytes){for(M=crypto.randomBytes($*=7);I<$;)O=(M[I]&31)*281474976710656+M[I+1]*1099511627776+M[I+2]*4294967296+M[I+3]*16777216+(M[I+4]<<16)+(M[I+5]<<8)+M[I+6],O>=9e15?crypto.randomBytes(7).copy(M,I):(L.push(O%1e14),I+=7);I=$/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;I<$;)O=v(),O<9e15&&(L[I++]=O%1e14);for($=L[--I],D%=l,$&&D&&(O=f[l-D],L[I]=o($/O)*O);L[I]===0;L.pop(),I--);if(I<0)L=[N=0];else{for(N=-1;L[0]===0;L.splice(0,1),N-=l);for(I=1,O=L[0];O>=10;O/=10,I++);I<l&&(N-=l-I)}return B.e=N,B.c=L,B}})(),G.sum=function(){for(var E=1,v=arguments,D=new G(v[0]);E<v.length;)D=D.plus(v[E++]);return D},U=(function(){var E="0123456789";function v(D,M,P,N){for(var $,O=[0],I,L=0,B=D.length;L<B;){for(I=O.length;I--;O[I]*=M);for(O[0]+=N.indexOf(D.charAt(L++)),$=0;$<O.length;$++)O[$]>P-1&&(O[$+1]==null&&(O[$+1]=0),O[$+1]+=O[$]/P|0,O[$]%=P)}return O.reverse()}return function(D,M,P,N,$){var O,I,L,B,H,te,ne,Ee,Fe=D.indexOf("."),Be=Y,we=X;for(Fe>=0&&(B=Q,Q=0,D=D.replace(".",""),Ee=new G(M),te=Ee.pow(D.length-Fe),Q=B,Ee.c=v(S(b(te.c),te.e,"0"),10,P,E),Ee.e=Ee.c.length),ne=v(D,M,P,$?(O=$e,E):(O=E,$e)),L=B=ne.length;ne[--B]==0;ne.pop());if(!ne[0])return O.charAt(0);if(Fe<0?--L:(te.c=ne,te.e=L,te.s=N,te=R(te,Ee,Be,we,P),ne=te.c,H=te.r,L=te.e),I=L+Be+1,Fe=ne[I],B=P/2,H=H||I<0||ne[I+1]!=null,H=we<4?(Fe!=null||H)&&(we==0||we==(te.s<0?3:2)):Fe>B||Fe==B&&(we==4||H||we==6&&ne[I-1]&1||we==(te.s<0?8:7)),I<1||!ne[0])D=H?S(O.charAt(1),-Be,O.charAt(0)):O.charAt(0);else{if(ne.length=I,H)for(--P;++ne[--I]>P;)ne[I]=0,I||(++L,ne=[1].concat(ne));for(B=ne.length;!ne[--B];);for(Fe=0,D="";Fe<=B;D+=O.charAt(ne[Fe++]));D=S(D,L,O.charAt(0))}return D}})(),R=(function(){function E(M,P,N){var $,O,I,L,B=0,H=M.length,te=P%p,ne=P/p|0;for(M=M.slice();H--;)I=M[H]%p,L=M[H]/p|0,$=ne*I+L*te,O=te*I+$%p*p+B,B=(O/N|0)+($/p|0)+ne*L,M[H]=O%N;return B&&(M=[B].concat(M)),M}function v(M,P,N,$){var O,I;if(N!=$)I=N>$?1:-1;else for(O=I=0;O<N;O++)if(M[O]!=P[O]){I=M[O]>P[O]?1:-1;break}return I}function D(M,P,N,$){for(var O=0;N--;)M[N]-=O,O=M[N]<P[N]?1:0,M[N]=O*$+M[N]-P[N];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,P,N,$,O){var I,L,B,H,te,ne,Ee,Fe,Be,we,Ae,Ue,Or,Pr,Fr,dt,hn,Xe=M.s==P.s?1:-1,qe=M.c,ve=P.c;if(!qe||!qe[0]||!ve||!ve[0])return new G(!M.s||!P.s||(qe?ve&&qe[0]==ve[0]:!ve)?NaN:qe&&qe[0]==0||!ve?Xe*0:Xe/0);for(Fe=new G(Xe),Be=Fe.c=[],L=M.e-P.e,Xe=N+L+1,O||(O=c,L=C(M.e/l)-C(P.e/l),Xe=Xe/l|0),B=0;ve[B]==(qe[B]||0);B++);if(ve[B]>(qe[B]||0)&&L--,Xe<0)Be.push(1),H=!0;else{for(Pr=qe.length,dt=ve.length,B=0,Xe+=2,te=o(O/(ve[0]+1)),te>1&&(ve=E(ve,te,O),qe=E(qe,te,O),dt=ve.length,Pr=qe.length),Or=dt,we=qe.slice(0,dt),Ae=we.length;Ae<dt;we[Ae++]=0);hn=ve.slice(),hn=[0].concat(hn),Fr=ve[0],ve[1]>=O/2&&Fr++;do{if(te=0,I=v(ve,we,dt,Ae),I<0){if(Ue=we[0],dt!=Ae&&(Ue=Ue*O+(we[1]||0)),te=o(Ue/Fr),te>1)for(te>=O&&(te=O-1),ne=E(ve,te,O),Ee=ne.length,Ae=we.length;v(ne,we,Ee,Ae)==1;)te--,D(ne,dt<Ee?hn:ve,Ee,O),Ee=ne.length,I=1;else te==0&&(I=te=1),ne=ve.slice(),Ee=ne.length;if(Ee<Ae&&(ne=[0].concat(ne)),D(we,ne,Ae,O),Ae=we.length,I==-1)for(;v(ve,we,dt,Ae)<1;)te++,D(we,dt<Ae?hn:ve,Ae,O),Ae=we.length}else I===0&&(te++,we=[0]);Be[B++]=te,we[0]?we[Ae++]=qe[Or]||0:(we=[qe[Or]],Ae=1)}while((Or++<Pr||we[0]!=null)&&Xe--);H=we[0]!=null,Be[0]||Be.splice(0,1)}if(O==c){for(B=1,Xe=Be[0];Xe>=10;Xe/=10,B++);Re(Fe,N+(Fe.e=B+L*l-1)+1,$,H)}else Fe.e=L,Fe.r=+H;return Fe}})();function le(E,v,D,M){var P,N,$,O,I;if(D==null?D=X:m(D,0,8),!E.c)return E.toString();if(P=E.c[0],$=E.e,v==null)I=b(E.c),I=M==1||M==2&&($<=ee||$>=de)?w(I,$):S(I,$,"0");else if(E=Re(new G(E),v,D),N=E.e,I=b(E.c),O=I.length,M==1||M==2&&(v<=N||N<=ee)){for(;O<v;I+="0",O++);I=w(I,N)}else if(v-=$+(M===2&&N>$),I=S(I,N,"0"),N+1>O){if(--v>0)for(I+=".";v--;I+="0");}else if(v+=N-O,v>0)for(N+1==O&&(I+=".");v--;I+="0");return E.s<0&&P?"-"+I:I}function _e(E,v){for(var D,M,P=1,N=new G(E[0]);P<E.length;P++)M=new G(E[P]),(!M.s||(D=y(N,M))===v||D===0&&N.s===v)&&(N=M);return N}function Bt(E,v,D){for(var M=1,P=v.length;!v[--P];v.pop());for(P=v[0];P>=10;P/=10,M++);return(D=M+D*l-1)>ue?E.c=E.e=null:D<Se?E.c=[E.e=0]:(E.e=D,E.c=v),E}J=(function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,v=/^([^.]+)\.$/,D=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,P=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(N,$,O,I){var L,B=O?$:$.replace(P,"");if(M.test(B))N.s=isNaN(B)?null:B<0?-1:1;else{if(!O&&(B=B.replace(E,function(H,te,ne){return L=(ne=ne.toLowerCase())=="x"?16:ne=="b"?2:8,!I||I==L?te:H}),I&&(L=I,B=B.replace(v,"$1").replace(D,"0.$1")),$!=B))return new G(B,L);if(G.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+$);N.s=null}N.c=N.e=null}})();function Re(E,v,D,M){var P,N,$,O,I,L,B,H=E.c,te=f;if(H){e:{for(P=1,O=H[0];O>=10;O/=10,P++);if(N=v-P,N<0)N+=l,$=v,I=H[L=0],B=o(I/te[P-$-1]%10);else if(L=r((N+1)/l),L>=H.length)if(M){for(;H.length<=L;H.push(0));I=B=0,P=1,N%=l,$=N-l+1}else break e;else{for(I=O=H[L],P=1;O>=10;O/=10,P++);N%=l,$=N-l+P,B=$<0?0:o(I/te[P-$-1]%10)}if(M=M||v<0||H[L+1]!=null||($<0?I:I%te[P-$-1]),M=D<4?(B||M)&&(D==0||D==(E.s<0?3:2)):B>5||B==5&&(D==4||M||D==6&&(N>0?$>0?I/te[P-$]:0:H[L-1])%10&1||D==(E.s<0?8:7)),v<1||!H[0])return H.length=0,M?(v-=E.e+1,H[0]=te[(l-v%l)%l],E.e=-v||0):H[0]=E.e=0,E;if(N==0?(H.length=L,O=1,L--):(H.length=L+1,O=te[l-N],H[L]=$>0?o(I/te[P-$]%te[$])*O:0),M)for(;;)if(L==0){for(N=1,$=H[0];$>=10;$/=10,N++);for($=H[0]+=O,O=1;$>=10;$/=10,O++);N!=O&&(E.e++,H[0]==c&&(H[0]=1));break}else{if(H[L]+=O,H[L]!=c)break;H[L--]=0,O=1}for(N=H.length;H[--N]===0;H.pop());}E.e>ue?E.c=E.e=null:E.e<Se&&(E.c=[E.e=0])}return E}function Le(E){var v,D=E.e;return D===null?E.toString():(v=b(E.c),v=D<=ee||D>=de?w(v,D):S(v,D,"0"),E.s<0?"-"+v:v)}return F.absoluteValue=F.abs=function(){var E=new G(this);return E.s<0&&(E.s=1),E},F.comparedTo=function(E,v){return y(this,new G(E,v))},F.decimalPlaces=F.dp=function(E,v){var D,M,P,N=this;if(E!=null)return m(E,0,g),v==null?v=X:m(v,0,8),Re(new G(N),E+N.e+1,v);if(!(D=N.c))return null;if(M=((P=D.length-1)-C(this.e/l))*l,P=D[P])for(;P%10==0;P/=10,M--);return M<0&&(M=0),M},F.dividedBy=F.div=function(E,v){return R(this,new G(E,v),Y,X)},F.dividedToIntegerBy=F.idiv=function(E,v){return R(this,new G(E,v),0,1)},F.exponentiatedBy=F.pow=function(E,v){var D,M,P,N,$,O,I,L,B,H=this;if(E=new G(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+Le(E));if(v!=null&&(v=new G(v)),O=E.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!E.c||!E.c[0])return B=new G(Math.pow(+Le(H),O?E.s*(2-k(E)):+Le(E))),v?B.mod(v):B;if(I=E.s<0,v){if(v.c?!v.c[0]:!v.s)return new G(NaN);M=!I&&H.isInteger()&&v.isInteger(),M&&(H=H.mod(v))}else{if(E.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||O&&H.c[1]>=24e7:H.c[0]<8e13||O&&H.c[0]<=9999975e7)))return N=H.s<0&&k(E)?-0:0,H.e>-1&&(N=1/N),new G(I?1/N:N);Q&&(N=r(Q/l+2))}for(O?(D=new G(.5),I&&(E.s=1),L=k(E)):(P=Math.abs(+Le(E)),L=P%2),B=new G(V);;){if(L){if(B=B.times(H),!B.c)break;N?B.c.length>N&&(B.c.length=N):M&&(B=B.mod(v))}if(P){if(P=o(P/2),P===0)break;L=P%2}else if(E=E.times(D),Re(E,E.e+1,1),E.e>14)L=k(E);else{if(P=+Le(E),P===0)break;L=P%2}H=H.times(H),N?H.c&&H.c.length>N&&(H.c.length=N):M&&(H=H.mod(v))}return M?B:(I&&(B=V.div(B)),v?B.mod(v):N?Re(B,Q,X,$):B)},F.integerValue=function(E){var v=new G(this);return E==null?E=X:m(E,0,8),Re(v,v.e+1,E)},F.isEqualTo=F.eq=function(E,v){return y(this,new G(E,v))===0},F.isFinite=function(){return!!this.c},F.isGreaterThan=F.gt=function(E,v){return y(this,new G(E,v))>0},F.isGreaterThanOrEqualTo=F.gte=function(E,v){return(v=y(this,new G(E,v)))===1||v===0},F.isInteger=function(){return!!this.c&&C(this.e/l)>this.c.length-2},F.isLessThan=F.lt=function(E,v){return y(this,new G(E,v))<0},F.isLessThanOrEqualTo=F.lte=function(E,v){return(v=y(this,new G(E,v)))===-1||v===0},F.isNaN=function(){return!this.s},F.isNegative=function(){return this.s<0},F.isPositive=function(){return this.s>0},F.isZero=function(){return!!this.c&&this.c[0]==0},F.minus=function(E,v){var D,M,P,N,$=this,O=$.s;if(E=new G(E,v),v=E.s,!O||!v)return new G(NaN);if(O!=v)return E.s=-v,$.plus(E);var I=$.e/l,L=E.e/l,B=$.c,H=E.c;if(!I||!L){if(!B||!H)return B?(E.s=-v,E):new G(H?$:NaN);if(!B[0]||!H[0])return H[0]?(E.s=-v,E):new G(B[0]?$:X==3?-0:0)}if(I=C(I),L=C(L),B=B.slice(),O=I-L){for((N=O<0)?(O=-O,P=B):(L=I,P=H),P.reverse(),v=O;v--;P.push(0));P.reverse()}else for(M=(N=(O=B.length)<(v=H.length))?O:v,O=v=0;v<M;v++)if(B[v]!=H[v]){N=B[v]<H[v];break}if(N&&(P=B,B=H,H=P,E.s=-E.s),v=(M=H.length)-(D=B.length),v>0)for(;v--;B[D++]=0);for(v=c-1;M>O;){if(B[--M]<H[M]){for(D=M;D&&!B[--D];B[D]=v);--B[D],B[M]+=c}B[M]-=H[M]}for(;B[0]==0;B.splice(0,1),--L);return B[0]?Bt(E,B,L):(E.s=X==3?-1:1,E.c=[E.e=0],E)},F.modulo=F.mod=function(E,v){var D,M,P=this;return E=new G(E,v),!P.c||!E.s||E.c&&!E.c[0]?new G(NaN):!E.c||P.c&&!P.c[0]?new G(P):(W==9?(M=E.s,E.s=1,D=R(P,E,0,3),E.s=M,D.s*=M):D=R(P,E,0,W),E=P.minus(D.times(E)),!E.c[0]&&W==1&&(E.s=P.s),E)},F.multipliedBy=F.times=function(E,v){var D,M,P,N,$,O,I,L,B,H,te,ne,Ee,Fe,Be,we=this,Ae=we.c,Ue=(E=new G(E,v)).c;if(!Ae||!Ue||!Ae[0]||!Ue[0])return!we.s||!E.s||Ae&&!Ae[0]&&!Ue||Ue&&!Ue[0]&&!Ae?E.c=E.e=E.s=null:(E.s*=we.s,!Ae||!Ue?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(M=C(we.e/l)+C(E.e/l),E.s*=we.s,I=Ae.length,H=Ue.length,I<H&&(Ee=Ae,Ae=Ue,Ue=Ee,P=I,I=H,H=P),P=I+H,Ee=[];P--;Ee.push(0));for(Fe=c,Be=p,P=H;--P>=0;){for(D=0,te=Ue[P]%Be,ne=Ue[P]/Be|0,$=I,N=P+$;N>P;)L=Ae[--$]%Be,B=Ae[$]/Be|0,O=ne*L+B*te,L=te*L+O%Be*Be+Ee[N]+D,D=(L/Fe|0)+(O/Be|0)+ne*B,Ee[N--]=L%Fe;Ee[N]=D}return D?++M:Ee.splice(0,1),Bt(E,Ee,M)},F.negated=function(){var E=new G(this);return E.s=-E.s||null,E},F.plus=function(E,v){var D,M=this,P=M.s;if(E=new G(E,v),v=E.s,!P||!v)return new G(NaN);if(P!=v)return E.s=-v,M.minus(E);var N=M.e/l,$=E.e/l,O=M.c,I=E.c;if(!N||!$){if(!O||!I)return new G(P/0);if(!O[0]||!I[0])return I[0]?E:new G(O[0]?M:P*0)}if(N=C(N),$=C($),O=O.slice(),P=N-$){for(P>0?($=N,D=I):(P=-P,D=O),D.reverse();P--;D.push(0));D.reverse()}for(P=O.length,v=I.length,P-v<0&&(D=I,I=O,O=D,v=P),P=0;v;)P=(O[--v]=O[v]+I[v]+P)/c|0,O[v]=c===O[v]?0:O[v]%c;return P&&(O=[P].concat(O),++$),Bt(E,O,$)},F.precision=F.sd=function(E,v){var D,M,P,N=this;if(E!=null&&E!==!!E)return m(E,1,g),v==null?v=X:m(v,0,8),Re(new G(N),E,v);if(!(D=N.c))return null;if(P=D.length-1,M=P*l+1,P=D[P]){for(;P%10==0;P/=10,M--);for(P=D[0];P>=10;P/=10,M++);}return E&&N.e+1>M&&(M=N.e+1),M},F.shiftedBy=function(E){return m(E,-d,d),this.times("1e"+E)},F.squareRoot=F.sqrt=function(){var E,v,D,M,P,N=this,$=N.c,O=N.s,I=N.e,L=Y+4,B=new G("0.5");if(O!==1||!$||!$[0])return new G(!O||O<0&&(!$||$[0])?NaN:$?N:1/0);if(O=Math.sqrt(+Le(N)),O==0||O==1/0?(v=b($),(v.length+I)%2==0&&(v+="0"),O=Math.sqrt(+v),I=C((I+1)/2)-(I<0||I%2),O==1/0?v="5e"+I:(v=O.toExponential(),v=v.slice(0,v.indexOf("e")+1)+I),D=new G(v)):D=new G(O+""),D.c[0]){for(I=D.e,O=I+L,O<3&&(O=0);;)if(P=D,D=B.times(P.plus(R(N,P,L,1))),b(P.c).slice(0,O)===(v=b(D.c)).slice(0,O))if(D.e<I&&--O,v=v.slice(O-3,O+1),v=="9999"||!M&&v=="4999"){if(!M&&(Re(P,P.e+Y+2,0),P.times(P).eq(N))){D=P;break}L+=4,O+=4,M=1}else{(!+v||!+v.slice(1)&&v.charAt(0)=="5")&&(Re(D,D.e+Y+2,1),E=!D.times(D).eq(N));break}}return Re(D,D.e+Y+1,X,E)},F.toExponential=function(E,v){return E!=null&&(m(E,0,g),E++),le(this,E,v,1)},F.toFixed=function(E,v){return E!=null&&(m(E,0,g),E=E+this.e+1),le(this,E,v)},F.toFormat=function(E,v,D){var M,P=this;if(D==null)E!=null&&v&&typeof v=="object"?(D=v,v=null):E&&typeof E=="object"?(D=E,E=v=null):D=re;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=P.toFixed(E,v),P.c){var N,$=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",B=$[0],H=$[1],te=P.s<0,ne=te?B.slice(1):B,Ee=ne.length;if(I&&(N=O,O=I,I=N,Ee-=N),O>0&&Ee>0){for(N=Ee%O||O,B=ne.substr(0,N);N<Ee;N+=O)B+=L+ne.substr(N,O);I>0&&(B+=L+ne.slice(N)),te&&(B="-"+B)}M=H?B+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):B}return(D.prefix||"")+M+(D.suffix||"")},F.toFraction=function(E){var v,D,M,P,N,$,O,I,L,B,H,te,ne=this,Ee=ne.c;if(E!=null&&(O=new G(E),!O.isInteger()&&(O.c||O.s!==1)||O.lt(V)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+Le(O));if(!Ee)return new G(ne);for(v=new G(V),L=D=new G(V),M=I=new G(V),te=b(Ee),N=v.e=te.length-ne.e-1,v.c[0]=f[($=N%l)<0?l+$:$],E=!E||O.comparedTo(v)>0?N>0?v:L:O,$=ue,ue=1/0,O=new G(te),I.c[0]=0;B=R(O,v,0,1),P=D.plus(B.times(M)),P.comparedTo(E)!=1;)D=M,M=P,L=I.plus(B.times(P=L)),I=P,v=O.minus(B.times(P=v)),O=P;return P=R(E.minus(D),M,0,1),I=I.plus(P.times(L)),D=D.plus(P.times(M)),I.s=L.s=ne.s,N=N*2,H=R(L,M,N,X).minus(ne).abs().comparedTo(R(I,D,N,X).minus(ne).abs())<1?[L,M]:[I,D],ue=$,H},F.toNumber=function(){return+Le(this)},F.toPrecision=function(E,v){return E!=null&&m(E,1,g),le(this,E,v,2)},F.toString=function(E){var v,D=this,M=D.s,P=D.e;return P===null?M?(v="Infinity",M<0&&(v="-"+v)):v="NaN":(E==null?v=P<=ee||P>=de?w(b(D.c),P):S(b(D.c),P,"0"):E===10&&ke?(D=Re(new G(D),Y+P+1,X),v=S(b(D.c),D.e,"0")):(m(E,2,$e.length,"Base"),v=U(S(b(D.c),P,"0"),10,E,M,!0)),M<0&&D.c[0]&&(v="-"+v)),v},F.valueOf=F.toJSON=function(){return Le(this)},F._isBigNumber=!0,T!=null&&G.set(T),G}function C(T){var R=T|0;return T>0||T===R?R:R-1}function b(T){for(var R,U,J=1,F=T.length,V=T[0]+"";J<F;){for(R=T[J++]+"",U=l-R.length;U--;R="0"+R);V+=R}for(F=V.length;V.charCodeAt(--F)===48;);return V.slice(0,F+1||1)}function y(T,R){var U,J,F=T.c,V=R.c,Y=T.s,X=R.s,ee=T.e,de=R.e;if(!Y||!X)return null;if(U=F&&!F[0],J=V&&!V[0],U||J)return U?J?0:-X:Y;if(Y!=X)return Y;if(U=Y<0,J=ee==de,!F||!V)return J?0:!F^U?1:-1;if(!J)return ee>de^U?1:-1;for(X=(ee=F.length)<(de=V.length)?ee:de,Y=0;Y<X;Y++)if(F[Y]!=V[Y])return F[Y]>V[Y]^U?1:-1;return ee==de?0:ee>de^U?1:-1}function m(T,R,U,J){if(T<R||T>U||T!==o(T))throw Error(s+(J||"Argument")+(typeof T=="number"?T<R||T>U?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function k(T){var R=T.c.length-1;return C(T.e/l)==R&&T.c[R]%2!=0}function w(T,R){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(R<0?"e":"e+")+R}function S(T,R,U){var J,F;if(R<0){for(F=U+".";++R;F+=U);T=F+T}else if(J=T.length,++R>J){for(F=U,R-=J;--R;F+=U);T+=F}else R<J&&(T=T.slice(0,R)+"."+T.slice(R));return T}e=_(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Ji<"u"&&Ji.exports?Ji.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(hg)});var yg=K((w1,gg)=>{var pg=Yc(),mg=gg.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function c(d){return n.lastIndex=0,n.test(d)?'"'+d.replace(n,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,g,_,C,b=r,y,m=f[d],k=m!=null&&(m instanceof pg||pg.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(d)),typeof a=="function"&&(m=a.call(f,d,m)),typeof m){case"string":return k?m:c(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(r+=o,y=[],Object.prototype.toString.apply(m)==="[object Array]"){for(C=m.length,p=0;p<C;p+=1)y[p]=l(p,m)||"null";return _=y.length===0?"[]":r?`[
44
+ `+r+y.join(`,
45
+ `+r)+`
46
+ `+b+"]":"["+y.join(",")+"]",r=b,_}if(a&&typeof a=="object")for(C=a.length,p=0;p<C;p+=1)typeof a[p]=="string"&&(g=a[p],_=l(g,m),_&&y.push(c(g)+(r?": ":":")+_));else Object.keys(m).forEach(function(w){var S=l(w,m);S&&y.push(c(w)+(r?": ":":")+S)});return _=y.length===0?"{}":r?`{
47
+ `+r+y.join(`,
48
+ `+r)+`
49
+ `+b+"}":"{"+y.join(",")+"}",r=b,_}}typeof mg.stringify!="function"&&(mg.stringify=function(d,f,p){var g;if(r="",o="",typeof p=="number")for(g=0;g<p;g+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var bg=K((E1,_g)=>{var Vi=null,wE=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,EE=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,SE=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var n,r,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
50
+ `,r:"\r",t:" "},s,a=function(b){throw{name:"SyntaxError",message:b,at:n,text:s}},c=function(b){return b&&b!==r&&a("Expected '"+b+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},l=function(){var b,y="";for(r==="-"&&(y="-",c("-"));r>="0"&&r<="9";)y+=r,c();if(r===".")for(y+=".";c()&&r>="0"&&r<="9";)y+=r;if(r==="e"||r==="E")for(y+=r,c(),(r==="-"||r==="+")&&(y+=r,c());r>="0"&&r<="9";)y+=r,c();if(b=+y,!isFinite(b))a("Bad number");else return Vi==null&&(Vi=Yc()),y.length>15?e.storeAsString?y:e.useNativeBigInt?BigInt(y):new Vi(y):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(b):new Vi(b):b},d=function(){var b,y,m="",k;if(r==='"')for(var w=n;c();){if(r==='"')return n-1>w&&(m+=s.substring(w,n-1)),c(),m;if(r==="\\"){if(n-1>w&&(m+=s.substring(w,n-1)),c(),r==="u"){for(k=0,y=0;y<4&&(b=parseInt(c(),16),!!isFinite(b));y+=1)k=k*16+b;m+=String.fromCharCode(k)}else if(typeof o[r]=="string")m+=o[r];else break;w=n}}a("Bad string")},f=function(){for(;r&&r<=" ";)c()},p=function(){switch(r){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+r+"'")},g,_=function(){var b=[];if(r==="["){if(c("["),f(),r==="]")return c("]"),b;for(;r;){if(b.push(g()),f(),r==="]")return c("]"),b;c(","),f()}}a("Bad array")},C=function(){var b,y=Object.create(null);if(r==="{"){if(c("{"),f(),r==="}")return c("}"),y;for(;r;){if(b=d(),f(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(y,b)&&a('Duplicate key "'+b+'"'),wE.test(b)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?g():y[b]=g():EE.test(b)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?g():y[b]=g():y[b]=g(),f(),r==="}")return c("}"),y;c(","),f()}}a("Bad object")};return g=function(){switch(f(),r){case"{":return C();case"[":return _();case'"':return d();case"-":return l();default:return r>="0"&&r<="9"?l():p()}},function(b,y){var m;return s=b+"",n=0,r=" ",m=g(),f(),r&&a("Syntax error"),typeof y=="function"?(function k(w,S){var T,R,U=w[S];return U&&typeof U=="object"&&Object.keys(U).forEach(function(J){R=k(U,J),R!==void 0?U[J]=R:delete U[J]}),y.call(w,S,U)})({"":m},""):m}};_g.exports=SE});var Eg=K((S1,Ki)=>{var Cg=yg().stringify,wg=bg();Ki.exports=function(t){return{parse:wg(t),stringify:Cg}};Ki.exports.parse=wg();Ki.exports.stringify=Cg});var Qc=K(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=kg;zt.isGoogleComputeEngineLinux=vg;zt.isGoogleComputeEngineMACAddress=Tg;zt.isGoogleComputeEngine=Dg;zt.detectGCPResidency=kE;var Sg=require("fs"),Ag=require("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var AE=/^42:01/;function kg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function vg(){if((0,Ag.platform)()!=="linux")return!1;try{(0,Sg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Sg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Tg(){let t=(0,Ag.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(AE.test(n))return!0}return!1}function Dg(){return vg()||Tg()}function kE(){return kg()||Dg()}});var Rg=K(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.Colours=void 0;var et=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};Yi.Colours=et;et.enabled=!1;et.reset="";et.bright="";et.dim="";et.red="";et.green="";et.yellow="";et.blue="";et.magenta="";et.cyan="";et.white="";et.grey="";et.refresh()});var Fg=K(Te=>{"use strict";var vE=Te&&Te.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),TE=Te&&Te.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xg=Te&&Te.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&vE(n,e,r[o]);return TE(n,e),n}})();Object.defineProperty(Te,"__esModule",{value:!0});Te.env=Te.DebugLogBackendBase=Te.placeholder=Te.AdhocDebugLogger=Te.LogSeverity=void 0;Te.getNodeBackend=Zc;Te.getDebugBackend=RE;Te.getStructuredBackend=xE;Te.setBackend=OE;Te.log=Pg;var DE=require("events"),Zo=xg(require("process")),Og=xg(require("util")),yt=Rg(),Wt;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Wt||(Te.LogSeverity=Wt={}));var es=class extends DE.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity(Wt.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Wt.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Wt.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Wt.ERROR,...r),this.func.sublog=r=>Pg(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};Te.AdhocDebugLogger=es;Te.placeholder=new es("",()=>{}).func;var ro=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Zo.env[Te.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...r){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(n,...r)}catch(o){console.error(o)}}};Te.DebugLogBackendBase=ro;var Xc=class extends ro{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{var o;let s=`${yt.Colours.green}${e}${yt.Colours.reset}`,a=`${yt.Colours.yellow}${Zo.pid}${yt.Colours.reset}`,c;switch(n.severity){case Wt.ERROR:c=`${yt.Colours.red}${n.severity}${yt.Colours.reset}`;break;case Wt.INFO:c=`${yt.Colours.magenta}${n.severity}${yt.Colours.reset}`;break;case Wt.WARNING:c=`${yt.Colours.yellow}${n.severity}${yt.Colours.reset}`;break;default:c=(o=n.severity)!==null&&o!==void 0?o:Wt.DEFAULT;break}let l=Og.formatWithOptions({colors:yt.Colours.enabled},...r),d=Object.assign({},n);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${yt.Colours.grey}${f}${yt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,c,l,f?` ${p}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Zc(){return new Xc}var el=class extends ro{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){var e;let n=(e=Zo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Zo.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function RE(t){return new el(t)}var tl=class extends ro{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let r=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(o,...s)=>{var a;let c=(a=o.severity)!==null&&a!==void 0?a:Wt.INFO,l=Object.assign({severity:c,message:Og.format(...s)},o),d=JSON.stringify(l);r?r(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function xE(t){return new tl(t)}Te.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var nl=new Map,_t;function OE(t){_t=t,nl.clear()}function Pg(t,e){if(!_t&&!Zo.env[Te.env.nodeEnables]||!t)return Te.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=nl.get(t);if(n)return n.func;if(_t===null)return Te.placeholder;_t===void 0&&(_t=Zc());let r=(()=>{let o;return new es(t,(a,...c)=>{if(o!==_t){if(_t===null)return;_t===void 0&&(_t=Zc()),o=_t}_t?.log(t,a,...c)})})();return nl.set(t,r),r.func}});var rl=K(Sr=>{"use strict";var PE=Sr&&Sr.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),FE=Sr&&Sr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&PE(e,t,n)};Object.defineProperty(Sr,"__esModule",{value:!0});FE(Fg(),Sr)});var ns=K(ae=>{"use strict";var Ng=ae&&ae.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),IE=ae&&ae.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),NE=ae&&ae.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&Ng(n,e,r[o]);return IE(n,e),n}})(),BE=ae&&ae.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Ng(e,t,n)};Object.defineProperty(ae,"__esModule",{value:!0});ae.gcpResidencyCache=ae.METADATA_SERVER_DETECTION=ae.HEADERS=ae.HEADER_VALUE=ae.HEADER_NAME=ae.SECONDARY_HOST_ADDRESS=ae.HOST_ADDRESS=ae.BASE_PATH=void 0;ae.instance=qE;ae.project=HE;ae.universe=zE;ae.bulk=WE;ae.isAvailable=JE;ae.resetIsAvailableCache=VE;ae.getGCPResidency=il;ae.setGCPResidency=Bg;ae.requestTimeout=Mg;var ol=Qe(),ME=Eg(),LE=Qc(),jE=NE(rl());ae.BASE_PATH="/computeMetadata/v1";ae.HOST_ADDRESS="http://169.254.169.254";ae.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ae.HEADER_NAME="Metadata-Flavor";ae.HEADER_VALUE="Google";ae.HEADERS=Object.freeze({[ae.HEADER_NAME]:ae.HEADER_VALUE});var Ig=jE.log("gcp-metadata");ae.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function sl(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ae.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ae.BASE_PATH,t).href}function $E(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function ts(t,e={},n=3,r=!1){let o=new Headers(ae.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((g,_)=>o.set(_,g)),s=p.metadataKey,a=p.params||a,n=p.noResponseRetries||n,r=p.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:($E(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,g)=>o.set(g,p)),a=e.params||a);let c=r?UE:ol.request,l={url:`${sl()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:Mg()};Ig.info("instance request %j",l);let d=await c(l);Ig.info("instance metadata is %s",d.data);let f=d.headers.get(ae.HEADER_NAME);if(f!==ae.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ae.HEADER_NAME} header. Expected '${ae.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return ME.parse(d.data)}catch{}return d.data}async function UE(t){let e={...t,url:t.url?.toString().replace(sl(),sl(ae.SECONDARY_HOST_ADDRESS))},n=(0,ol.request)(t),r=(0,ol.request)(e);return Promise.any([n,r])}function qE(t){return ts("instance",t)}function HE(t){return ts("project",t)}function zE(t){return ts("universe",t)}async function WE(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await ts(n),o=n.metadataKey;e[o]=r})())),e}function GE(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Qi;async function JE(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ae.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ae.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return il();case"ping-only":}}try{return Qi===void 0&&(Qi=ts("instance",void 0,GE(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Qi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function VE(){Qi=void 0}ae.gcpResidencyCache=null;function il(){return ae.gcpResidencyCache===null&&Bg(),ae.gcpResidencyCache}function Bg(t=null){ae.gcpResidencyCache=t!==null?t:(0,LE.detectGCPResidency)()}function Mg(){return il()?0:3e3}BE(Qc(),ae)});var $g=K(Xi=>{"use strict";Xi.byteLength=YE;Xi.toByteArray=XE;Xi.fromByteArray=tS;var nn=[],xt=[],KE=typeof Uint8Array<"u"?Uint8Array:Array,al="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ar=0,Lg=al.length;Ar<Lg;++Ar)nn[Ar]=al[Ar],xt[al.charCodeAt(Ar)]=Ar;var Ar,Lg;xt[45]=62;xt[95]=63;function jg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function YE(t){var e=jg(t),n=e[0],r=e[1];return(n+r)*3/4-r}function QE(t,e,n){return(e+n)*3/4-n}function XE(t){var e,n=jg(t),r=n[0],o=n[1],s=new KE(QE(t,r,o)),a=0,c=o>0?r-4:r,l;for(l=0;l<c;l+=4)e=xt[t.charCodeAt(l)]<<18|xt[t.charCodeAt(l+1)]<<12|xt[t.charCodeAt(l+2)]<<6|xt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=xt[t.charCodeAt(l)]<<2|xt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=xt[t.charCodeAt(l)]<<10|xt[t.charCodeAt(l+1)]<<4|xt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function ZE(t){return nn[t>>18&63]+nn[t>>12&63]+nn[t>>6&63]+nn[t&63]}function eS(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(ZE(r));return o.join("")}function tS(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,c=n-r;a<c;a+=s)o.push(eS(t,a,a+s>c?c:a+s));return r===1?(e=t[n-1],o.push(nn[e>>2]+nn[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(nn[e>>10]+nn[e>>4&63]+nn[e<<2&63]+"=")),o.join("")}});var cl=K(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.fromArrayBufferToHex=nS;function nS(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Ug=K(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.BrowserCrypto=void 0;var oo=$g(),rS=cl(),ll=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return oo.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),oo.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),a=oo.toByteArray(t.padBase64(r)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,a,s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),a=await window.crypto.subtle.sign(r,s,o);return oo.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=oo.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return oo.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,rS.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};Zi.BrowserCrypto=ll});var qg=K(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.NodeCrypto=void 0;var so=require("crypto"),dl=class{async sha256DigestBase64(e){return so.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return so.randomBytes(e).toString("base64")}async verify(e,n,r){let o=so.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=so.createSign("RSA-SHA256");return r.update(n),r.end(),r.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return so.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:sS(e);return oS(so.createHmac("sha256",r).update(n).digest())}};ea.NodeCrypto=dl;function oS(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function sS(t){return Buffer.from(t)}});var rs=K(Tn=>{"use strict";var iS=Tn&&Tn.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),aS=Tn&&Tn.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&iS(e,t,n)};Object.defineProperty(Tn,"__esModule",{value:!0});Tn.createCrypto=lS;Tn.hasBrowserCrypto=Hg;var uS=Ug(),cS=qg();aS(cl(),Tn);function lS(){return Hg()?new uS.BrowserCrypto:new cS.NodeCrypto}function Hg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var io=K((fl,Wg)=>{var ta=require("buffer"),rn=ta.Buffer;function zg(t,e){for(var n in t)e[n]=t[n]}rn.from&&rn.alloc&&rn.allocUnsafe&&rn.allocUnsafeSlow?Wg.exports=ta:(zg(ta,fl),fl.Buffer=kr);function kr(t,e,n){return rn(t,e,n)}kr.prototype=Object.create(rn.prototype);zg(rn,kr);kr.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return rn(t,e,n)};kr.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=rn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};kr.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return rn(t)};kr.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ta.SlowBuffer(t)}});var Jg=K((I1,Gg)=>{"use strict";function hl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var dS={ES256:hl(256),ES384:hl(384),ES512:hl(521)};function fS(t){var e=dS[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Gg.exports=fS});var pl=K((N1,Zg)=>{"use strict";var na=io().Buffer,Kg=Jg(),ra=128,Yg=0,hS=32,pS=16,mS=2,Qg=pS|hS|Yg<<6,oa=mS|Yg<<6;function gS(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Xg(t){if(na.isBuffer(t))return t;if(typeof t=="string")return na.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function yS(t,e){t=Xg(t);var n=Kg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Qg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(ra|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==oa)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(r<c)throw new Error('"r" specified length of "'+c+'", max of "'+r+'" is acceptable');var l=s;if(s+=c,t[s++]!==oa)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(r<d)throw new Error('"s" specified length of "'+d+'", max of "'+r+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=n-c,g=n-d,_=na.allocUnsafe(p+c+g+d);for(s=0;s<p;++s)_[s]=0;t.copy(_,s,l+Math.max(-p,0),l+c),s=n;for(var C=s;s<C+g;++s)_[s]=0;return t.copy(_,s,f+Math.max(-g,0),f+d),_=_.toString("base64"),_=gS(_),_}function Vg(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=ra;return o&&--r,r}function _S(t,e){t=Xg(t);var n=Kg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Vg(t,0,n),s=Vg(t,n,t.length),a=n-o,c=n-s,l=2+a+1+1+c,d=l<ra,f=na.allocUnsafe((d?2:3)+l),p=0;return f[p++]=Qg,d?f[p++]=l:(f[p++]=ra|1,f[p++]=l&255),f[p++]=oa,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,n)):p+=t.copy(f,p,o,n),f[p++]=oa,f[p++]=c,s<0?(f[p++]=0,t.copy(f,p,n)):t.copy(f,p,n+s),f}Zg.exports={derToJose:yS,joseToDer:_S}});var Gt=K(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.LRUCache=void 0;Dn.snakeToCamel=ty;Dn.originalOrCamelOptions=ES;Dn.removeUndefinedValuesInObject=SS;Dn.isValidFile=AS;Dn.getWellKnownCertificateConfigFileLocation=kS;var bS=require("fs"),CS=require("os"),ml=require("path"),wS="certificate_config.json",ey="gcloud";function ty(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function ES(t){function e(n){let r=t||{};return r[n]??r[ty(n)]}return{get:e}}var gl=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Dn.LRUCache=gl;function SS(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function AS(t){try{return(await bS.promises.lstat(t)).isFile()}catch{return!1}}function kS(){let t=process.env.CLOUDSDK_CONFIG||(vS()?ml.join(process.env.APPDATA||"",ey):ml.join(process.env.HOME||"",".config",ey));return ml.join(t,wS)}function vS(){return CS.platform().startsWith("win")}});var ny=K((M1,TS)=>{TS.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var yl=K(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.USER_AGENT=Xn.PRODUCT_NAME=Xn.pkg=void 0;var ry=ny();Xn.pkg=ry;var oy="google-api-nodejs-client";Xn.PRODUCT_NAME=oy;var DS=`${oy}/${ry.version}`;Xn.USER_AGENT=DS});var bt=K(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.AuthClient=Jt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Jt.DEFAULT_UNIVERSE=void 0;var RS=require("events"),_l=Qe(),xS=Gt(),OS=rl(),bl=yl();Jt.DEFAULT_UNIVERSE="googleapis.com";Jt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Cl=class t extends RS.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Jt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Jt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,xS.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Jt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new _l.Gaxios(e.transporterOptions),n.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&_l.Gaxios.mergeHeaders(s,n.headers),r&&_l.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,OS.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${bl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${bl.USER_AGENT}`):e.headers.set("User-Agent",bl.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Jt.AuthClient=Cl});var El=K(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.LoginTicket=void 0;var wl=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};sa.LoginTicket=wl});var vr=K(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.OAuth2Client=on.ClientAuthentication=on.CertificateFormat=on.CodeChallengeMethod=void 0;var sy=Qe(),PS=require("querystring"),FS=require("stream"),IS=pl(),iy=Gt(),Sl=rs(),ao=bt(),NS=El(),ay;(function(t){t.Plain="plain",t.S256="S256"})(ay||(on.CodeChallengeMethod=ay={}));var Rn;(function(t){t.PEM="PEM",t.JWK="JWK"})(Rn||(on.CertificateFormat=Rn={}));var os;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(os||(on.ClientAuthentication=os={}));var Al=class t extends ao.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Rn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||os.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+PS.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Sl.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===os.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===os.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,iy.removeUndefinedValuesInObject)(o)),headers:r};ao.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),c=a.data;return a.data&&a.data.expires_in&&(c.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,iy.removeUndefinedValuesInObject)(r))};ao.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof sy.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let c=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(c){let l=c;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(ao.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=sy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof FS.Readable,d=s===401||s===403;if(!n&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&d&&!l&&c){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,Sl.hasBrowserCrypto)()?Rn.JWK:Rn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case Rn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Rn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let d={...t.RETRY_CONFIG,url:o};ao.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),r=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=r?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let c={};switch(n){case Rn.PEM:c=r.data;break;case Rn.JWK:for(let d of r.data.keys)c[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${n}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=c,this.certificateCacheFormat=n,{certs:c,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};ao.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let a=(0,Sl.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=c[0]+"."+c[1],d=c[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(c[0]))}catch(w){throw w instanceof Error&&(w.message=`Can't parse token envelope: ${c[0]}': ${w.message}`),w}if(!f)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(c[1]))}catch(w){throw w instanceof Error&&(w.message=`Can't parse token payload '${c[0]}`),w}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(n,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let g=n[f.kid];if(f.alg==="ES256"&&(d=IS.joseToDer(d,"ES256").toString("base64")),!await a.verify(g,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let C=Number(p.iat);if(isNaN(C))throw new Error("iat field using invalid format");let b=Number(p.exp);if(isNaN(b))throw new Error("exp field using invalid format");let y=new Date().getTime()/1e3;if(b>=y+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=C-t.CLOCK_SKEW_SECS_,k=b+t.CLOCK_SKEW_SECS_;if(y<m)throw new Error("Token used too early, "+y+" < "+m+": "+JSON.stringify(p));if(y>k)throw new Error("Token used too late, "+y+" > "+k+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof r<"u"&&r!==null){let w=p.aud,S=!1;if(r.constructor===Array?S=r.indexOf(w)>-1:S=w===r,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new NS.LoginTicket(f,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};on.OAuth2Client=Al});var vl=K(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.Compute=void 0;var BS=Qe(),uy=ns(),MS=vr(),kl=class extends MS.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await uy.instance(o)}catch(o){throw o instanceof BS.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await uy.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:n.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};ia.Compute=kl});var Dl=K(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.IdTokenClient=void 0;var LS=vr(),Tl=class extends LS.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};aa.IdTokenClient=Tl});var Rl=K(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.GCPEnv=void 0;uo.clear=jS;uo.getEnv=$S;var cy=ns(),sn;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(sn||(uo.GCPEnv=sn={}));var ss;function jS(){ss=void 0}async function $S(){return ss||(ss=US(),ss)}async function US(){let t=sn.NONE;return qS()?t=sn.APP_ENGINE:HS()?t=sn.CLOUD_FUNCTIONS:await JS()?await GS()?t=sn.KUBERNETES_ENGINE:zS()?t=sn.CLOUD_RUN:WS()?t=sn.CLOUD_RUN_JOBS:t=sn.COMPUTE_ENGINE:t=sn.NONE,t}function qS(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function HS(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function zS(){return!!process.env.K_CONFIGURATION}function WS(){return!!process.env.CLOUD_RUN_JOB}async function GS(){try{return await cy.instance("attributes/cluster-name"),!0}catch{return!1}}async function JS(){return cy.isAvailable()}});var xl=K((W1,ly)=>{var ua=io().Buffer,VS=require("stream"),KS=require("util");function ca(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ua.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ua.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}KS.inherits(ca,VS);ca.prototype.write=function(e){this.buffer=ua.concat([this.buffer,ua.from(e)]),this.emit("data",e)};ca.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ly.exports=ca});var fy=K((G1,dy)=>{"use strict";var is=require("buffer").Buffer,Ol=require("buffer").SlowBuffer;dy.exports=la;function la(t,e){if(!is.isBuffer(t)||!is.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}la.install=function(){is.prototype.equal=Ol.prototype.equal=function(e){return la(this,e)}};var YS=is.prototype.equal,QS=Ol.prototype.equal;la.restore=function(){is.prototype.equal=YS,Ol.prototype.equal=QS}});var Nl=K((J1,wy)=>{var lo=io().Buffer,Ot=require("crypto"),py=pl(),hy=require("util"),XS=`"%s" is not a valid algorithm.
51
51
  Supported algorithms are:
52
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ss="secret must be a string or buffer",ao="key must be a string or a buffer",UA="key must be a string, a buffer or an object",kl=typeof Ot.createPublicKey=="function";kl&&(ao+=" or a KeyObject",ss+="or a KeyObject");function sy(t){if(!uo.isBuffer(t)&&typeof t!="string"&&(!kl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(ao)}function iy(t){if(!uo.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(UA)}function $A(t){if(!uo.isBuffer(t)){if(typeof t=="string")return t;if(!kl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ss)}}function vl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ay(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),r=ny.format.bind(ny,t).apply(null,e);return new TypeError(r)}function qA(t){return uo.isBuffer(t)||typeof t=="string"}function is(t){return qA(t)||(t=JSON.stringify(t)),t}function uy(t){return function(r,n){$A(n),r=is(r);var o=Ot.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return vl(s)}}var Sl,zA="timingSafeEqual"in Ot?function(e,r){return e.byteLength!==r.byteLength?!1:Ot.timingSafeEqual(e,r)}:function(e,r){return Sl||(Sl=ry()),Sl(e,r)};function HA(t){return function(r,n,o){var s=uy(t)(r,o);return zA(uo.from(n),uo.from(s))}}function cy(t){return function(r,n){iy(n),r=is(r);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return vl(s)}}function ly(t){return function(r,n,o){sy(o),r=is(r),n=ay(n);var s=Ot.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function WA(t){return function(r,n){iy(n),r=is(r);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return vl(s)}}function GA(t){return function(r,n,o){sy(o),r=is(r),n=ay(n);var s=Ot.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function JA(t){var e=cy(t);return function(){var n=e.apply(null,arguments);return n=oy.derToJose(n,"ES"+t),n}}function VA(t){var e=ly(t);return function(n,o,s){o=oy.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function KA(){return function(){return""}}function YA(){return function(e,r){return r===""}}dy.exports=function(e){var r={hs:uy,rs:cy,ps:WA,es:JA,none:KA},n={hs:HA,rs:ly,ps:GA,es:VA,none:YA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(LA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var Dl=V((xx,fy)=>{var QA=require("buffer").Buffer;fy.exports=function(e){return typeof e=="string"?e:typeof e=="number"||QA.isBuffer(e)?e.toString():JSON.stringify(e)}});var _y=V((Ox,yy)=>{var XA=oo().Buffer,hy=El(),ZA=Tl(),eS=require("stream"),py=Dl(),Rl=require("util");function my(t,e){return XA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function tS(t,e,r){r=r||"utf8";var n=my(py(t),"binary"),o=my(py(e),r);return Rl.format("%s.%s",n,o)}function gy(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=ZA(e.alg),a=tS(e,r,o),c=s.sign(a,n);return Rl.format("%s.%s",a,c)}function ia(t){var e=t.secret||t.privateKey||t.key,r=new hy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new hy(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Rl.inherits(ia,eS);ia.prototype.sign=function(){try{var e=gy({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};ia.sign=gy;yy.exports=ia});var Dy=V((Px,Ty)=>{var Cy=oo().Buffer,by=El(),rS=Tl(),nS=require("stream"),wy=Dl(),oS=require("util"),sS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function iS(t){return Object.prototype.toString.call(t)==="[object Object]"}function aS(t){if(iS(t))return t;try{return JSON.parse(t)}catch{return}}function Ey(t){var e=t.split(".",1)[0];return aS(Cy.from(e,"base64").toString("binary"))}function uS(t){return t.split(".",2).join(".")}function Ay(t){return t.split(".")[2]}function cS(t,e){e=e||"utf8";var r=t.split(".")[1];return Cy.from(r,"base64").toString(e)}function Sy(t){return sS.test(t)&&!!Ey(t)}function ky(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=wy(t);var o=Ay(t),s=uS(t),a=rS(e);return a.verify(s,o,r)}function vy(t,e){if(e=e||{},t=wy(t),!Sy(t))return null;var r=Ey(t);if(!r)return null;var n=cS(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Ay(t)}}function co(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new by(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new by(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}oS.inherits(co,nS);co.prototype.verify=function(){try{var e=ky(this.signature.buffer,this.algorithm,this.key.buffer),r=vy(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};co.decode=vy;co.isValid=Sy;co.verify=ky;Ty.exports=co});var xl=V(Yr=>{var Ry=_y(),aa=Dy(),lS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Yr.ALGORITHMS=lS;Yr.sign=Ry.sign;Yr.verify=aa.verify;Yr.decode=aa.decode;Yr.isValid=aa.isValid;Yr.createSign=function(e){return new Ry(e)};Yr.createVerify=function(e){return new aa(e)}});var Hy=V(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.GoogleToken=void 0;var xy=ua(require("fs")),dS=Ke(),fS=ua(xl()),hS=ua(require("path")),pS=require("util");function ua(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(ua=function(s,a){if(!a&&s&&s.__esModule)return s;var c,l,d={__proto__:null,default:s};if(s===null||Dr(s)!="object"&&typeof s!="function")return d;if(c=a?n:r){if(c.has(s))return c.get(s);c.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?c(d,f,l):d[f]=s[f]);return d})(t,e)}function Dr(t){"@babel/helpers - typeof";return Dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Dr(t)}function mS(t,e){Ly(t,e),e.add(t)}function gS(t,e,r){Ly(t,e),e.set(t,r)}function Ly(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Oy(t,e,r){return t.set(Vt(t,e),r),r}function Py(t,e){return t.get(Vt(t,e))}function Vt(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function Fy(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,qy(n.key),n)}}function Uy(t,e,r){return e&&Fy(t.prototype,e),r&&Fy(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function $y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function yS(t,e,r){return e=ls(e),_S(t,Nl()?Reflect.construct(e,r||[],ls(t).constructor):e.apply(t,r))}function _S(t,e){if(e&&(Dr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return bS(t)}function bS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function CS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&cs(t,e)}function Ol(t){var e=typeof Map=="function"?new Map:void 0;return Ol=function(n){if(n===null||!ES(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return wS(n,arguments,ls(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),cs(o,n)},Ol(t)}function wS(t,e,r){if(Nl())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&cs(o,r.prototype),o}function Nl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Nl=function(){return!!t})()}function ES(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function cs(t,e){return cs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},cs(t,e)}function ls(t){return ls=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ls(t)}function Ct(t,e,r){return(e=qy(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function qy(t){var e=AS(t,"string");return Dr(e)=="symbol"?e:e+""}function AS(t,e){if(Dr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Dr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,w,y,_){var m=w&&w.prototype instanceof c?w:c,v=Object.create(m.prototype);return wt(v,"_invoke",(function(b,S,D){var O,q,J,B=0,Y=D||[],te=!1,Z={p:0,n:0,v:t,a:ae,f:ae.bind(t,4),d:function(Ae,oe){return O=Ae,q=0,J=t,Z.n=oe,a}};function ae(de,Ae){for(q=de,J=Ae,e=0;!te&&B&&!oe&&e<Y.length;e++){var oe,pe=Y[e],G=Z.p,K=pe[2];de>3?(oe=K===Ae)&&(J=pe[(q=pe[4])?5:(q=3,3)],pe[4]=pe[5]=t):pe[0]<=G&&((oe=de<2&&G<pe[1])?(q=0,Z.v=Ae,Z.n=pe[1]):G<K&&(oe=de<3||pe[0]>Ae||Ae>K)&&(pe[4]=de,pe[5]=Ae,Z.n=K,q=0))}if(oe||de>1)return a;throw te=!0,Ae}return function(de,Ae,oe){if(B>1)throw TypeError("Generator is already running");for(te&&Ae===1&&ae(Ae,oe),q=Ae,J=oe;(e=q<2?t:J)||!te;){O||(q?q<3?(q>1&&(Z.n=-1),ae(q,J)):Z.n=J:Z.v=J);try{if(B=2,O){if(q||(de="next"),e=O[de]){if(!(e=e.call(O,J)))throw TypeError("iterator result is not an object");if(!e.done)return e;J=e.value,q<2&&(q=0)}else q===1&&(e=O.return)&&e.call(O),q<2&&(J=TypeError("The iterator does not provide a '"+de+"' method"),q=1);O=t}else if((e=(te=Z.n<0)?J:b.call(S,Z))!==a)break}catch(pe){O=t,q=1,J=pe}finally{B=1}}return{value:e,done:te}}})(A,y,_),!0),v}var a={};function c(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][n]?e(e([][n]())):(wt(e={},n,function(){return this}),e),p=d.prototype=c.prototype=Object.create(f);function g(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,d):(A.__proto__=d,wt(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return l.prototype=d,wt(p,"constructor",d),wt(d,"constructor",l),l.displayName="GeneratorFunction",wt(d,o,"GeneratorFunction"),wt(p),wt(p,o,"Generator"),wt(p,n,function(){return this}),wt(p,"toString",function(){return"[object Generator]"}),(Et=function(){return{w:s,m:g}})()}function wt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}wt=function(a,c,l,d){if(c)o?o(a,c,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[c]=l;else{var f=function(g,A){wt(a,g,function(w){return this._invoke(g,A,w)})};f("next",0),f("throw",1),f("return",2)}},wt(t,e,r,n)}function Iy(t,e,r,n,o,s,a){try{var c=t[s](a),l=c.value}catch(d){return void r(d)}c.done?e(l):Promise.resolve(l).then(n,o)}function lo(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){Iy(s,n,o,a,c,"next",l)}function c(l){Iy(s,n,o,a,c,"throw",l)}a(void 0)})}}var By=xy.readFile?(0,pS.promisify)(xy.readFile):lo(Et().m(function t(){return Et().w(function(e){for(;;)switch(e.n){case 0:throw new us("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),Ny="https://oauth2.googleapis.com/token",SS="https://oauth2.googleapis.com/revoke?token=",us=(function(t){function e(r,n){var o;return $y(this,e),o=yS(this,e,[r]),Ct(o,"code",void 0),o.code=n,o}return CS(e,t),Uy(e)})(Ol(Error)),as=new WeakMap,ir=new WeakSet,Ix=ca.GoogleToken=(function(){function t(e){$y(this,t),mS(this,ir),Ct(this,"expiresAt",void 0),Ct(this,"key",void 0),Ct(this,"keyFile",void 0),Ct(this,"iss",void 0),Ct(this,"sub",void 0),Ct(this,"scope",void 0),Ct(this,"rawToken",void 0),Ct(this,"tokenExpires",void 0),Ct(this,"email",void 0),Ct(this,"additionalClaims",void 0),Ct(this,"eagerRefreshThresholdMillis",void 0),Ct(this,"transporter",{request:function(n){return(0,dS.request)(n)}}),gS(this,as,void 0),Vt(ir,this,zy).call(this,e)}return Uy(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Dr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Vt(ir,this,My).call(this,n).then(function(s){return o(null,s)},r);return}return Vt(ir,this,My).call(this,n)}},{key:"getCredentials",value:(function(){var e=lo(Et().m(function n(o){var s,a,c,l,d,f,p;return Et().w(function(g){for(;;)switch(g.n){case 0:s=hS.extname(o),p=s,g.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return g.n=2,By(o,"utf8");case 2:if(a=g.v,c=JSON.parse(a),l=c.private_key,d=c.client_email,!(!l||!d)){g.n=3;break}throw new us("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return g.a(2,{privateKey:l,clientEmail:d});case 4:return g.n=5,By(o,"utf8");case 5:return f=g.v,g.a(2,{privateKey:f});case 6:throw new us("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new us("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return g.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Vt(ir,this,jy).call(this).then(function(){return r()},r);return}return Vt(ir,this,jy).call(this)}}])})();function My(t){return Pl.apply(this,arguments)}function Pl(){return Pl=lo(Et().m(function t(e){return Et().w(function(r){for(;;)switch(r.n){case 0:if(!(Py(as,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Py(as,this));case 1:return r.p=1,r.n=2,Oy(as,this,Vt(ir,this,kS).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,Oy(as,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),Pl.apply(this,arguments)}function kS(t){return Fl.apply(this,arguments)}function Fl(){return Fl=lo(Et().m(function t(e){var r;return Et().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||Vt(ir,this,vS).call(this);case 4:return n.a(2,Vt(ir,this,TS).call(this))}},t,this)})),Fl.apply(this,arguments)}function vS(){if(!this.iss)throw new us("email is required.","MISSING_CREDENTIALS")}function jy(){return Il.apply(this,arguments)}function Il(){return Il=lo(Et().m(function t(){var e;return Et().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=SS+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(ir,this,zy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),Il.apply(this,arguments)}function zy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Dr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function TS(){return Bl.apply(this,arguments)}function Bl(){return Bl=lo(Et().m(function t(){var e,r,n,o,s,a,c,l,d,f;return Et().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:Ny,exp:e+3600,iat:e,sub:this.sub},r),o=fS.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:Ny,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(c=f.response)===null||c===void 0?void 0:c.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),Bl.apply(this,arguments)}});var jl=V(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWTAccess=void 0;var DS=xl(),RS=Wt(),Wy={alg:"RS256",typ:"JWT"},Ml=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new RS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),l=t.getExpirationTime(c),d;if(Array.isArray(n)&&(n=n.join(" ")),n?d={iss:this.email,sub:this.email,scope:n,exp:l,iat:c}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:c},r){for(let w in d)if(r[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...Wy,kid:this.keyId}:Wy,p=Object.assign(d,r),g=DS.sign({header:f,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${g}`});return this.cache.set(o,{expiration:l*1e3,headers:A}),A}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};la.JWTAccess=Ml});var Ul=V(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.JWT=void 0;var Gy=Hy(),xS=jl(),OS=Sn(),da=bt(),Ll=class t extends OS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==da.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==da.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${da.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new xS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==da.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new Gy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new Gy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};fa.JWT=Ll});var ql=V(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.UserRefreshClient=fo.USER_REFRESH_ACCOUNT_TYPE=void 0;var PS=Sn(),FS=bt();fo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var $l=class t extends PS.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return FS.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};fo.UserRefreshClient=$l});var Hl=V(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.Impersonated=ho.IMPERSONATED_ACCOUNT_TYPE=void 0;var Jy=Sn(),IS=Ke(),BS=Wt();ho.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var zl=class t extends Jy.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new Jy.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,BS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof IS.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};ho.Impersonated=zl});var Gl=V(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.OAuthClientAuthHandler=void 0;ds.getErrorFromOAuthErrorResponse=jS;var po=Ke(),NS=ts(),MS=["PUT","POST","PATCH"],Wl=class{#e=(0,NS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new po.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new po.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=po.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=po.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=po.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);po.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!MS.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};ds.OAuthClientAuthHandler=Wl;function jS(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var pa=V(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.StsCredentials=void 0;var LS=Ke(),US=bt(),Vy=Gl(),$S=Wt(),Jl=class t extends Vy.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,$S.removeUndefinedValuesInObject)(o))};US.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),c=a.data;return c.res=a,c}catch(a){throw a instanceof LS.GaxiosError&&a.response?(0,Vy.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};ha.StsCredentials=Jl});var Qr=V(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BaseExternalAccountClient=Pt.CLOUD_RESOURCE_MANAGER=Pt.EXTERNAL_ACCOUNT_TYPE=Pt.EXPIRATION_TIME_OFFSET=void 0;var qS=Ke(),zS=require("stream"),Vl=bt(),HS=pa(),Ky=Wt(),WS=cl(),GS="urn:ietf:params:oauth:grant-type:token-exchange",JS="urn:ietf:params:oauth:token-type:access_token",Kl="https://www.googleapis.com/auth/cloud-platform",VS=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var KS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",YS="https://sts.{universeDomain}/v1/token",Yl=class t extends Vl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,Ky.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Pt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Pt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??YS.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),c=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),d=r.get("service_account_impersonation"),f=(0,Ky.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new HS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Kl],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=c;let p=new RegExp(KS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=VS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};Vl.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=qS.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof zS.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:GS,audience:this.audience,requestedTokenType:JS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Kl]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Vl.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Kl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${WS.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=Yl});var Yy=V(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.FileSubjectTokenSupplier=void 0;var Xl=require("util"),Zl=require("fs"),QS=(0,Xl.promisify)(Zl.readFile??(()=>{})),XS=(0,Xl.promisify)(Zl.realpath??(()=>{})),ZS=(0,Xl.promisify)(Zl.lstat??(()=>{})),Ql=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await XS(e),!(await ZS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await QS(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};ma.FileSubjectTokenSupplier=Ql});var Qy=V(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.UrlSubjectTokenSupplier=void 0;var ek=bt(),ed=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};ek.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};ga.UrlSubjectTokenSupplier=ed});var Xy=V(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.CertificateSubjectTokenSupplier=At.InvalidConfigurationError=At.CertificateSourceUnavailableError=At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ya=Wt(),_a=require("fs"),ba=require("crypto"),tk=require("https");At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ar=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};At.CertificateSourceUnavailableError=ar;var Ft=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};At.InvalidConfigurationError=Ft;var td=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ft("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ft("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ft("Cannot create mTLS Agent with missing certificate or key");return new tk.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,ya.isValidFile)(e))return e;throw new ar(`Provided certificate config path is invalid: ${e}`)}let r=process.env[At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,ya.isValidFile)(r))return r;throw new ar(`Path from environment variable "${At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,ya.getWellKnownCertificateConfigFileLocation)();if(await(0,ya.isValidFile)(n))return n;throw new ar(`Could not find certificate configuration file. Searched override path, the "${At.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await _a.promises.readFile(e,"utf8")}catch{throw new ar(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ft(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Ft?n:new Ft(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await _a.promises.readFile(e),new ba.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read certificate file at ${e}: ${a}`)}try{o=await _a.promises.readFile(r),(0,ba.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ar(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ba.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await _a.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new ba.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Ft(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),c;if(a===-1)c=[r,...s];else if(a===0)c=s;else throw new Ft(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(c.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof Ft)throw n;let o=n instanceof Error?n.message:String(n);throw new ar(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};At.CertificateSubjectTokenSupplier=td});var od=V(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.IdentityPoolClient=void 0;var rk=Qr(),rd=Wt(),nk=Yy(),ok=Qy(),Zy=Xy(),sk=pa(),e0=Ke(),nd=class t extends rk.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,rd.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,rd.originalOrCamelOptions)(n),a=(0,rd.originalOrCamelOptions)(s.get("format")),c=a.get("type")||"text",l=a.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),p=s.get("certificate"),g=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new nk.FileSubjectTokenSupplier({filePath:d,formatType:c,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new ok.UrlSubjectTokenSupplier({url:f,formatType:c,subjectTokenFieldName:l,headers:g,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new Zy.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=A}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof Zy.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new sk.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new e0.Gaxios({agent:r})}),this.transporter=new e0.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Ca.IdentityPoolClient=nd});var id=V(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.AwsRequestSigner=void 0;var wa=Ke(),r0=ts(),t0="AWS4-HMAC-SHA256",ik="aws4_request",sd=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,r0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,a=e.headers,c=await this.getCredentials(),l=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await uk({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:a}),f=wa.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});c.token&&wa.Gaxios.mergeHeaders(f,{"x-amz-security-token":c.token});let p={url:n,method:o,headers:f};return s!==void 0&&(p.body=s),p}};Ea.AwsRequestSigner=sd;async function fs(t,e,r){return await t.signWithHmacSha256(e,r)}async function ak(t,e,r,n,o){let s=await fs(t,`AWS4${e}`,r),a=await fs(t,s,n),c=await fs(t,a,o);return await fs(t,c,"aws4_request")}async function uk(t){let e=wa.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=wa.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...c.keys()].sort();d.forEach(v=>{l+=`${v}:${c.get(v)}
53
- `});let f=d.join(";"),p=await t.crypto.sha256DigestHex(r),g=`${t.method.toUpperCase()}
52
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,as="secret must be a string or buffer",co="key must be a string or a buffer",ZS="key must be a string, a buffer or an object",Fl=typeof Ot.createPublicKey=="function";Fl&&(co+=" or a KeyObject",as+="or a KeyObject");function my(t){if(!lo.isBuffer(t)&&typeof t!="string"&&(!Fl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Vt(co)}function gy(t){if(!lo.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Vt(ZS)}function eA(t){if(!lo.isBuffer(t)){if(typeof t=="string")return t;if(!Fl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Vt(as)}}function Il(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function yy(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Vt(t){var e=[].slice.call(arguments,1),n=hy.format.bind(hy,t).apply(null,e);return new TypeError(n)}function tA(t){return lo.isBuffer(t)||typeof t=="string"}function us(t){return tA(t)||(t=JSON.stringify(t)),t}function _y(t){return function(n,r){eA(r),n=us(n);var o=Ot.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Il(s)}}var Pl,nA="timingSafeEqual"in Ot?function(e,n){return e.byteLength!==n.byteLength?!1:Ot.timingSafeEqual(e,n)}:function(e,n){return Pl||(Pl=fy()),Pl(e,n)};function rA(t){return function(n,r,o){var s=_y(t)(n,o);return nA(lo.from(r),lo.from(s))}}function by(t){return function(n,r){gy(r),n=us(n);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Il(s)}}function Cy(t){return function(n,r,o){my(o),n=us(n),r=yy(r);var s=Ot.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function oA(t){return function(n,r){gy(r),n=us(n);var o=Ot.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Il(s)}}function sA(t){return function(n,r,o){my(o),n=us(n),r=yy(r);var s=Ot.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:Ot.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ot.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function iA(t){var e=by(t);return function(){var r=e.apply(null,arguments);return r=py.derToJose(r,"ES"+t),r}}function aA(t){var e=Cy(t);return function(r,o,s){o=py.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function uA(){return function(){return""}}function cA(){return function(e,n){return n===""}}wy.exports=function(e){var n={hs:_y,rs:by,ps:oA,es:iA,none:uA},r={hs:rA,rs:Cy,ps:sA,es:aA,none:cA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Vt(XS,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var Bl=K((V1,Ey)=>{var lA=require("buffer").Buffer;Ey.exports=function(e){return typeof e=="string"?e:typeof e=="number"||lA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Dy=K((K1,Ty)=>{var dA=io().Buffer,Sy=xl(),fA=Nl(),hA=require("stream"),Ay=Bl(),Ml=require("util");function ky(t,e){return dA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function pA(t,e,n){n=n||"utf8";var r=ky(Ay(t),"binary"),o=ky(Ay(e),n);return Ml.format("%s.%s",r,o)}function vy(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=fA(e.alg),a=pA(e,n,o),c=s.sign(a,r);return Ml.format("%s.%s",a,c)}function da(t){var e=t.secret||t.privateKey||t.key,n=new Sy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new Sy(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Ml.inherits(da,hA);da.prototype.sign=function(){try{var e=vy({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};da.sign=vy;Ty.exports=da});var Ly=K((Y1,My)=>{var xy=io().Buffer,Ry=xl(),mA=Nl(),gA=require("stream"),Oy=Bl(),yA=require("util"),_A=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function bA(t){return Object.prototype.toString.call(t)==="[object Object]"}function CA(t){if(bA(t))return t;try{return JSON.parse(t)}catch{return}}function Py(t){var e=t.split(".",1)[0];return CA(xy.from(e,"base64").toString("binary"))}function wA(t){return t.split(".",2).join(".")}function Fy(t){return t.split(".")[2]}function EA(t,e){e=e||"utf8";var n=t.split(".")[1];return xy.from(n,"base64").toString(e)}function Iy(t){return _A.test(t)&&!!Py(t)}function Ny(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=Oy(t);var o=Fy(t),s=wA(t),a=mA(e);return a.verify(s,o,n)}function By(t,e){if(e=e||{},t=Oy(t),!Iy(t))return null;var n=Py(t);if(!n)return null;var r=EA(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:Fy(t)}}function fo(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new Ry(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Ry(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}yA.inherits(fo,gA);fo.prototype.verify=function(){try{var e=Ny(this.signature.buffer,this.algorithm,this.key.buffer),n=By(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};fo.decode=By;fo.isValid=Iy;fo.verify=Ny;My.exports=fo});var Ll=K(Zn=>{var jy=Dy(),fa=Ly(),SA=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Zn.ALGORITHMS=SA;Zn.sign=jy.sign;Zn.verify=fa.verify;Zn.decode=fa.decode;Zn.isValid=fa.isValid;Zn.createSign=function(e){return new jy(e)};Zn.createVerify=function(e){return new fa(e)}});var e0=K(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.GoogleToken=void 0;var $y=ha(require("fs")),AA=Qe(),kA=ha(Ll()),vA=ha(require("path")),TA=require("util");function ha(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(ha=function(s,a){if(!a&&s&&s.__esModule)return s;var c,l,d={__proto__:null,default:s};if(s===null||xn(s)!="object"&&typeof s!="function")return d;if(c=a?r:n){if(c.has(s))return c.get(s);c.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?c(d,f,l):d[f]=s[f]);return d})(t,e)}function xn(t){"@babel/helpers - typeof";return xn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xn(t)}function DA(t,e){Ky(t,e),e.add(t)}function RA(t,e,n){Ky(t,e),e.set(t,n)}function Ky(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Uy(t,e,n){return t.set(Kt(t,e),n),n}function qy(t,e){return t.get(Kt(t,e))}function Kt(t,e,n){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function Hy(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Xy(r.key),r)}}function Yy(t,e,n){return e&&Hy(t.prototype,e),n&&Hy(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Qy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function xA(t,e,n){return e=fs(e),OA(t,zl()?Reflect.construct(e,n||[],fs(t).constructor):e.apply(t,n))}function OA(t,e){if(e&&(xn(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return PA(t)}function PA(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function FA(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ds(t,e)}function jl(t){var e=typeof Map=="function"?new Map:void 0;return jl=function(r){if(r===null||!NA(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,o)}function o(){return IA(r,arguments,fs(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),ds(o,r)},jl(t)}function IA(t,e,n){if(zl())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&ds(o,n.prototype),o}function zl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zl=function(){return!!t})()}function NA(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function ds(t,e){return ds=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ds(t,e)}function fs(t){return fs=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},fs(t)}function Ct(t,e,n){return(e=Xy(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Xy(t){var e=BA(t,"string");return xn(e)=="symbol"?e:e+""}function BA(t,e){if(xn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(xn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(_,C,b,y){var m=C&&C.prototype instanceof c?C:c,k=Object.create(m.prototype);return wt(k,"_invoke",(function(w,S,T){var R,U,J,F=0,V=T||[],Y=!1,X={p:0,n:0,v:t,a:ee,f:ee.bind(t,4),d:function(Se,ue){return R=Se,U=0,J=t,X.n=ue,a}};function ee(de,Se){for(U=de,J=Se,e=0;!Y&&F&&!ue&&e<V.length;e++){var ue,pe=V[e],W=X.p,Q=pe[2];de>3?(ue=Q===Se)&&(J=pe[(U=pe[4])?5:(U=3,3)],pe[4]=pe[5]=t):pe[0]<=W&&((ue=de<2&&W<pe[1])?(U=0,X.v=Se,X.n=pe[1]):W<Q&&(ue=de<3||pe[0]>Se||Se>Q)&&(pe[4]=de,pe[5]=Se,X.n=Q,U=0))}if(ue||de>1)return a;throw Y=!0,Se}return function(de,Se,ue){if(F>1)throw TypeError("Generator is already running");for(Y&&Se===1&&ee(Se,ue),U=Se,J=ue;(e=U<2?t:J)||!Y;){R||(U?U<3?(U>1&&(X.n=-1),ee(U,J)):X.n=J:X.v=J);try{if(F=2,R){if(U||(de="next"),e=R[de]){if(!(e=e.call(R,J)))throw TypeError("iterator result is not an object");if(!e.done)return e;J=e.value,U<2&&(U=0)}else U===1&&(e=R.return)&&e.call(R),U<2&&(J=TypeError("The iterator does not provide a '"+de+"' method"),U=1);R=t}else if((e=(Y=X.n<0)?J:w.call(S,X))!==a)break}catch(pe){R=t,U=1,J=pe}finally{F=1}}return{value:e,done:Y}}})(_,b,y),!0),k}var a={};function c(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][r]?e(e([][r]())):(wt(e={},r,function(){return this}),e),p=d.prototype=c.prototype=Object.create(f);function g(_){return Object.setPrototypeOf?Object.setPrototypeOf(_,d):(_.__proto__=d,wt(_,o,"GeneratorFunction")),_.prototype=Object.create(p),_}return l.prototype=d,wt(p,"constructor",d),wt(d,"constructor",l),l.displayName="GeneratorFunction",wt(d,o,"GeneratorFunction"),wt(p),wt(p,o,"Generator"),wt(p,r,function(){return this}),wt(p,"toString",function(){return"[object Generator]"}),(Et=function(){return{w:s,m:g}})()}function wt(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}wt=function(a,c,l,d){if(c)o?o(a,c,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[c]=l;else{var f=function(g,_){wt(a,g,function(C){return this._invoke(g,_,C)})};f("next",0),f("throw",1),f("return",2)}},wt(t,e,n,r)}function zy(t,e,n,r,o,s,a){try{var c=t[s](a),l=c.value}catch(d){return void n(d)}c.done?e(l):Promise.resolve(l).then(r,o)}function ho(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){zy(s,r,o,a,c,"next",l)}function c(l){zy(s,r,o,a,c,"throw",l)}a(void 0)})}}var Wy=$y.readFile?(0,TA.promisify)($y.readFile):ho(Et().m(function t(){return Et().w(function(e){for(;;)switch(e.n){case 0:throw new ls("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),Gy="https://oauth2.googleapis.com/token",MA="https://oauth2.googleapis.com/revoke?token=",ls=(function(t){function e(n,r){var o;return Qy(this,e),o=xA(this,e,[n]),Ct(o,"code",void 0),o.code=r,o}return FA(e,t),Yy(e)})(jl(Error)),cs=new WeakMap,an=new WeakSet,X1=pa.GoogleToken=(function(){function t(e){Qy(this,t),DA(this,an),Ct(this,"expiresAt",void 0),Ct(this,"key",void 0),Ct(this,"keyFile",void 0),Ct(this,"iss",void 0),Ct(this,"sub",void 0),Ct(this,"scope",void 0),Ct(this,"rawToken",void 0),Ct(this,"tokenExpires",void 0),Ct(this,"email",void 0),Ct(this,"additionalClaims",void 0),Ct(this,"eagerRefreshThresholdMillis",void 0),Ct(this,"transporter",{request:function(r){return(0,AA.request)(r)}}),RA(this,cs,void 0),Kt(an,this,Zy).call(this,e)}return Yy(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var n=new Date().getTime();return this.rawToken&&this.expiresAt?n>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var n,r=new Date().getTime(),o=(n=this.eagerRefreshThresholdMillis)!==null&&n!==void 0?n:0;return this.rawToken&&this.expiresAt?this.expiresAt<=r+o:!0}},{key:"getToken",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(xn(n)==="object"&&(r=n,n=void 0),r=Object.assign({forceRefresh:!1},r),n){var o=n;Kt(an,this,Jy).call(this,r).then(function(s){return o(null,s)},n);return}return Kt(an,this,Jy).call(this,r)}},{key:"getCredentials",value:(function(){var e=ho(Et().m(function r(o){var s,a,c,l,d,f,p;return Et().w(function(g){for(;;)switch(g.n){case 0:s=vA.extname(o),p=s,g.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return g.n=2,Wy(o,"utf8");case 2:if(a=g.v,c=JSON.parse(a),l=c.private_key,d=c.client_email,!(!l||!d)){g.n=3;break}throw new ls("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return g.a(2,{privateKey:l,clientEmail:d});case 4:return g.n=5,Wy(o,"utf8");case 5:return f=g.v,g.a(2,{privateKey:f});case 6:throw new ls("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new ls("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return g.a(2)}},r)}));function n(r){return e.apply(this,arguments)}return n})()},{key:"revokeToken",value:function(n){if(n){Kt(an,this,Vy).call(this).then(function(){return n()},n);return}return Kt(an,this,Vy).call(this)}}])})();function Jy(t){return $l.apply(this,arguments)}function $l(){return $l=ho(Et().m(function t(e){return Et().w(function(n){for(;;)switch(n.n){case 0:if(!(qy(cs,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,qy(cs,this));case 1:return n.p=1,n.n=2,Uy(cs,this,Kt(an,this,LA).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,Uy(cs,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),$l.apply(this,arguments)}function LA(t){return Ul.apply(this,arguments)}function Ul(){return Ul=ho(Et().m(function t(e){var n;return Et().w(function(r){for(;;)switch(r.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){r.n=1;break}return r.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){r.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){r.n=4;break}return r.n=3,this.getCredentials(this.keyFile);case 3:n=r.v,this.key=n.privateKey,this.iss=n.clientEmail||this.iss,n.clientEmail||Kt(an,this,jA).call(this);case 4:return r.a(2,Kt(an,this,$A).call(this))}},t,this)})),Ul.apply(this,arguments)}function jA(){if(!this.iss)throw new ls("email is required.","MISSING_CREDENTIALS")}function Vy(){return ql.apply(this,arguments)}function ql(){return ql=ho(Et().m(function t(){var e;return Et().w(function(n){for(;;)switch(n.n){case 0:if(this.accessToken){n.n=1;break}throw new Error("No token to revoke.");case 1:return e=MA+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Kt(an,this,Zy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return n.a(2)}},t,this)})),ql.apply(this,arguments)}function Zy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,xn(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function $A(){return Hl.apply(this,arguments)}function Hl(){return Hl=ho(Et().m(function t(){var e,n,r,o,s,a,c,l,d,f;return Et().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:Gy,exp:e+3600,iat:e,sub:this.sub},n),o=kA.sign({header:{alg:"RS256"},payload:r,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:Gy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(c=f.response)===null||c===void 0?void 0:c.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),Hl.apply(this,arguments)}});var Gl=K(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.JWTAccess=void 0;var UA=Ll(),qA=Gt(),t0={alg:"RS256",typ:"JWT"},Wl=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new qA.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),l=t.getExpirationTime(c),d;if(Array.isArray(r)&&(r=r.join(" ")),r?d={iss:this.email,sub:this.email,scope:r,exp:l,iat:c}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:c},n){for(let C in d)if(n[C])throw new Error(`The '${C}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...t0,kid:this.keyId}:t0,p=Object.assign(d,n),g=UA.sign({header:f,payload:p,secret:this.key}),_=new Headers({authorization:`Bearer ${g}`});return this.cache.set(o,{expiration:l*1e3,headers:_}),_}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};ma.JWTAccess=Wl});var Vl=K(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.JWT=void 0;var n0=e0(),HA=Gl(),zA=vr(),ga=bt(),Jl=class t extends zA.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ga.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ga.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ga.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new HA.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ga.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new n0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(n=>e(null,n),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new n0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let n=await this.createGToken().getCredentials(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};ya.JWT=Jl});var Yl=K(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.UserRefreshClient=po.USER_REFRESH_ACCOUNT_TYPE=void 0;var WA=vr(),GA=bt();po.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Kl=class t extends WA.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return GA.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};po.UserRefreshClient=Kl});var Xl=K(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Impersonated=mo.IMPERSONATED_ACCOUNT_TYPE=void 0;var r0=vr(),JA=Qe(),VA=Gt();mo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Ql=class t extends r0.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new r0.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,VA.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let n=0,r="";throw e instanceof JA.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};mo.Impersonated=Ql});var ed=K(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.OAuthClientAuthHandler=void 0;hs.getErrorFromOAuthErrorResponse=QA;var go=Qe(),KA=rs(),YA=["PUT","POST","PATCH"],Zl=class{#e=(0,KA.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new go.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new go.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=go.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=go.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=go.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);go.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!YA.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};hs.OAuthClientAuthHandler=Zl;function QA(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var ba=K(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.StsCredentials=void 0;var XA=Qe(),ZA=bt(),o0=ed(),ek=Gt(),td=class t extends o0.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,ek.removeUndefinedValuesInObject)(o))};ZA.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),c=a.data;return c.res=a,c}catch(a){throw a instanceof XA.GaxiosError&&a.response?(0,o0.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};_a.StsCredentials=td});var er=K(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BaseExternalAccountClient=Pt.CLOUD_RESOURCE_MANAGER=Pt.EXTERNAL_ACCOUNT_TYPE=Pt.EXPIRATION_TIME_OFFSET=void 0;var tk=Qe(),nk=require("stream"),nd=bt(),rk=ba(),s0=Gt(),ok=yl(),sk="urn:ietf:params:oauth:grant-type:token-exchange",ik="urn:ietf:params:oauth:token-type:access_token",rd="https://www.googleapis.com/auth/cloud-platform",ak=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var uk="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",ck="https://sts.{universeDomain}/v1/token",od=class t extends nd.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,s0.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Pt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Pt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??ck.replace("{universeDomain}",this.universeDomain);let a=n.get("subject_token_type"),c=n.get("workforce_pool_user_project"),l=n.get("service_account_impersonation_url"),d=n.get("service_account_impersonation"),f=(0,s0.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new rk.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[rd],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=c;let p=new RegExp(uk);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=ak),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`};nd.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=tk.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof nk.Readable;if(!n&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:sk,audience:this.audience,requestedTokenType:ik,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[rd]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};nd.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[rd]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${ok.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=od});var i0=K(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.FileSubjectTokenSupplier=void 0;var id=require("util"),ad=require("fs"),lk=(0,id.promisify)(ad.readFile??(()=>{})),dk=(0,id.promisify)(ad.realpath??(()=>{})),fk=(0,id.promisify)(ad.lstat??(()=>{})),sd=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await dk(e),!(await fk(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n,r=await lk(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};Ca.FileSubjectTokenSupplier=sd});var a0=K(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.UrlSubjectTokenSupplier=void 0;var hk=bt(),ud=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};hk.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};wa.UrlSubjectTokenSupplier=ud});var u0=K(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.CertificateSubjectTokenSupplier=St.InvalidConfigurationError=St.CertificateSourceUnavailableError=St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Ea=Gt(),Sa=require("fs"),Aa=require("crypto"),pk=require("https");St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var un=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};St.CertificateSourceUnavailableError=un;var Ft=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};St.InvalidConfigurationError=Ft;var cd=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ft("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ft("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ft("Cannot create mTLS Agent with missing certificate or key");return new pk.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,Ea.isValidFile)(e))return e;throw new un(`Provided certificate config path is invalid: ${e}`)}let n=process.env[St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,Ea.isValidFile)(n))return n;throw new un(`Path from environment variable "${St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,Ea.getWellKnownCertificateConfigFileLocation)();if(await(0,Ea.isValidFile)(r))return r;throw new un(`Could not find certificate configuration file. Searched override path, the "${St.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await Sa.promises.readFile(e,"utf8")}catch{throw new un(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ft(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Ft?r:new Ft(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await Sa.promises.readFile(e),new Aa.X509Certificate(r)}catch(s){let a=s instanceof Error?s.message:String(s);throw new un(`Failed to read certificate file at ${e}: ${a}`)}try{o=await Sa.promises.readFile(n),(0,Aa.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new un(`Failed to read private key file at ${n}: ${a}`)}return{cert:r,key:o}}async#r(e){let n=new Aa.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await Sa.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new Aa.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Ft(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>n.raw.equals(l.raw)),c;if(a===-1)c=[n,...s];else if(a===0)c=s;else throw new Ft(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(c.map(l=>l.raw.toString("base64")))}catch(r){if(r instanceof Ft)throw r;let o=r instanceof Error?r.message:String(r);throw new un(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};St.CertificateSubjectTokenSupplier=cd});var fd=K(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.IdentityPoolClient=void 0;var mk=er(),ld=Gt(),gk=i0(),yk=a0(),c0=u0(),_k=ba(),l0=Qe(),dd=class t extends mk.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,ld.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,ld.originalOrCamelOptions)(r),a=(0,ld.originalOrCamelOptions)(s.get("format")),c=a.get("type")||"text",l=a.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),p=s.get("certificate"),g=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new gk.FileSubjectTokenSupplier({filePath:d,formatType:c,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new yk.UrlSubjectTokenSupplier({url:f,formatType:c,subjectTokenFieldName:l,headers:g,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let _=new c0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=_}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof c0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new _k.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new l0.Gaxios({agent:n})}),this.transporter=new l0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};ka.IdentityPoolClient=dd});var pd=K(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.AwsRequestSigner=void 0;var va=Qe(),f0=rs(),d0="AWS4-HMAC-SHA256",bk="aws4_request",hd=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,f0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,a=e.headers,c=await this.getCredentials(),l=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await wk({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:a}),f=va.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});c.token&&va.Gaxios.mergeHeaders(f,{"x-amz-security-token":c.token});let p={url:r,method:o,headers:f};return s!==void 0&&(p.body=s),p}};Ta.AwsRequestSigner=hd;async function ps(t,e,n){return await t.signWithHmacSha256(e,n)}async function Ck(t,e,n,r,o){let s=await ps(t,`AWS4${e}`,n),a=await ps(t,s,r),c=await ps(t,a,o);return await ps(t,c,"aws4_request")}async function wk(t){let e=va.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=va.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...c.keys()].sort();d.forEach(k=>{l+=`${k}:${c.get(k)}
53
+ `});let f=d.join(";"),p=await t.crypto.sha256DigestHex(n),g=`${t.method.toUpperCase()}
54
54
  ${t.canonicalUri}
55
55
  ${t.canonicalQuerystring}
56
56
  ${l}
57
57
  ${f}
58
- ${p}`,A=`${a}/${t.region}/${n}/${ik}`,w=`${t0}
58
+ ${p}`,_=`${a}/${t.region}/${r}/${bk}`,C=`${d0}
59
59
  ${s}
60
- ${A}
61
- `+await t.crypto.sha256DigestHex(g),y=await ak(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),_=await fs(t.crypto,y,w),m=`${t0} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${f}, Signature=${(0,r0.fromArrayBufferToHex)(_)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var n0=V(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DefaultAwsSecurityCredentialsSupplier=void 0;var Aa=bt(),ad=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};Aa.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return Aa.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return Aa.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return Aa.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Sa.DefaultAwsSecurityCredentialsSupplier=ad});var cd=V(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.AwsClient=void 0;var ck=id(),lk=Qr(),dk=n0(),o0=Wt(),fk=Ke(),ud=class t extends lk.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,o0.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,o0.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),c=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new dk.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:c,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new ck.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return fk.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};ka.AwsClient=ud});var pd=V(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.InvalidSubjectTokenError=Le.InvalidMessageFieldError=Le.InvalidCodeFieldError=Le.InvalidTokenTypeFieldError=Le.InvalidExpirationTimeFieldError=Le.InvalidSuccessFieldError=Le.InvalidVersionFieldError=Le.ExecutableResponseError=Le.ExecutableResponse=void 0;var va="urn:ietf:params:oauth:token-type:saml2",ld="urn:ietf:params:oauth:token-type:id_token",dd="urn:ietf:params:oauth:token-type:jwt",fd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Ta("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Da("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==va&&this.tokenType!==ld&&this.tokenType!==dd)throw new Ra(`Executable response must contain a 'token_type' field when successful and it must be one of ${ld}, ${dd}, or ${va}.`);if(this.tokenType===va){if(!e.saml_response)throw new hs(`Executable response must contain a 'saml_response' field when token_type=${va}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new hs(`Executable response must contain a 'id_token' field when token_type=${ld} or ${dd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new xa("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Oa("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};Le.ExecutableResponse=fd;var ur=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Le.ExecutableResponseError=ur;var Ta=class extends ur{};Le.InvalidVersionFieldError=Ta;var Da=class extends ur{};Le.InvalidSuccessFieldError=Da;var hd=class extends ur{};Le.InvalidExpirationTimeFieldError=hd;var Ra=class extends ur{};Le.InvalidTokenTypeFieldError=Ra;var xa=class extends ur{};Le.InvalidCodeFieldError=xa;var Oa=class extends ur{};Le.InvalidMessageFieldError=Oa;var hs=class extends ur{};Le.InvalidSubjectTokenError=hs});var yd=V(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthHandler=mo.ExecutableError=void 0;var kn=pd(),hk=require("child_process"),md=require("fs"),Pa=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};mo.ExecutableError=Pa;var gd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=hk.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(a),c===0)try{let l=JSON.parse(s),d=new kn.ExecutableResponse(l);return r(d)}catch(l){return l instanceof kn.ExecutableResponseError?n(l):n(new kn.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Pa(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await md.promises.realpath(this.outputFile)}catch{return}if(!(await md.promises.lstat(e)).isFile())return;let r=await md.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new kn.ExecutableResponse(n).isValid()?new kn.ExecutableResponse(n):void 0}catch(n){throw n instanceof kn.ExecutableResponseError?n:new kn.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};mo.PluggableAuthHandler=gd});var bd=V(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.PluggableAuthClient=go.ExecutableError=void 0;var pk=Qr(),mk=pd(),s0=yd(),gk=yd();Object.defineProperty(go,"ExecutableError",{enumerable:!0,get:function(){return gk.ExecutableError}});var yk=30*1e3,i0=5*1e3,a0=120*1e3,_k="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",u0=1,_d=class extends pk.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=yk;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<i0||this.timeoutMillis>a0)throw new Error(`Timeout must be between ${i0} and ${a0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new s0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[_k]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>u0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${u0}.`);if(!e.success)throw new s0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new mk.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};go.PluggableAuthClient=_d});var wd=V(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.ExternalAccountClient=void 0;var bk=Qr(),Ck=od(),wk=cd(),Ek=bd(),Cd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===bk.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new wk.AwsClient(e):e.credential_source?.executable?new Ek.PluggableAuthClient(e):new Ck.IdentityPoolClient(e):null}};Fa.ExternalAccountClient=Cd});var f0=V(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.ExternalAccountAuthorizedUserClient=yo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var l0=bt(),c0=Gl(),d0=Ke(),Ak=require("stream"),Sk=Qr();yo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var kk="https://sts.{universeDomain}/v1/oauthtoken",Ed=class t extends c0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};l0.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof d0.GaxiosError&&o.response?(0,c0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Ad=class extends l0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Ed({tokenRefreshEndpoint:e.token_url??kk.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=Sk.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=d0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof Ak.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};yo.ExternalAccountAuthorizedUserClient=Ad});var g0=V(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var vk=require("child_process"),ps=require("fs"),Tk=Ke(),ms=es(),Dk=require("os"),Sd=require("path"),Rk=ts(),xk=_l(),Ok=Cl(),Pk=wl(),_o=Ul(),h0=ql(),bo=Hl(),Fk=wd(),gs=Qr(),kd=bt(),p0=f0(),m0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
60
+ ${_}
61
+ `+await t.crypto.sha256DigestHex(g),b=await Ck(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),y=await ps(t.crypto,b,C),m=`${d0} Credential=${t.securityCredentials.accessKeyId}/${_}, SignedHeaders=${f}, Signature=${(0,f0.fromArrayBufferToHex)(y)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var h0=K(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.DefaultAwsSecurityCredentialsSupplier=void 0;var Da=bt(),md=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:n};Da.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return Da.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return Da.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n};return Da.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Ra.DefaultAwsSecurityCredentialsSupplier=md});var yd=K(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.AwsClient=void 0;var Ek=pd(),Sk=er(),Ak=h0(),p0=Gt(),kk=Qe(),gd=class t extends Sk.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let n=(0,p0.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,p0.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let a=s.get("region_url"),c=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new Ak.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:c,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new Ek.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),n=[];return kk.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};xa.AwsClient=gd});var Ed=K(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.InvalidSubjectTokenError=je.InvalidMessageFieldError=je.InvalidCodeFieldError=je.InvalidTokenTypeFieldError=je.InvalidExpirationTimeFieldError=je.InvalidSuccessFieldError=je.InvalidVersionFieldError=je.ExecutableResponseError=je.ExecutableResponse=void 0;var Oa="urn:ietf:params:oauth:token-type:saml2",_d="urn:ietf:params:oauth:token-type:id_token",bd="urn:ietf:params:oauth:token-type:jwt",Cd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Pa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Fa("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Oa&&this.tokenType!==_d&&this.tokenType!==bd)throw new Ia(`Executable response must contain a 'token_type' field when successful and it must be one of ${_d}, ${bd}, or ${Oa}.`);if(this.tokenType===Oa){if(!e.saml_response)throw new ms(`Executable response must contain a 'saml_response' field when token_type=${Oa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new ms(`Executable response must contain a 'id_token' field when token_type=${_d} or ${bd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Na("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ba("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};je.ExecutableResponse=Cd;var cn=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};je.ExecutableResponseError=cn;var Pa=class extends cn{};je.InvalidVersionFieldError=Pa;var Fa=class extends cn{};je.InvalidSuccessFieldError=Fa;var wd=class extends cn{};je.InvalidExpirationTimeFieldError=wd;var Ia=class extends cn{};je.InvalidTokenTypeFieldError=Ia;var Na=class extends cn{};je.InvalidCodeFieldError=Na;var Ba=class extends cn{};je.InvalidMessageFieldError=Ba;var ms=class extends cn{};je.InvalidSubjectTokenError=ms});var kd=K(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.PluggableAuthHandler=yo.ExecutableError=void 0;var Tr=Ed(),vk=require("child_process"),Sd=require("fs"),Ma=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};yo.ExecutableError=Ma;var Ad=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((n,r)=>{let o=vk.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(a),c===0)try{let l=JSON.parse(s),d=new Tr.ExecutableResponse(l);return n(d)}catch(l){return l instanceof Tr.ExecutableResponseError?r(l):r(new Tr.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new Ma(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Sd.promises.realpath(this.outputFile)}catch{return}if(!(await Sd.promises.lstat(e)).isFile())return;let n=await Sd.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new Tr.ExecutableResponse(r).isValid()?new Tr.ExecutableResponse(r):void 0}catch(r){throw r instanceof Tr.ExecutableResponseError?r:new Tr.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};yo.PluggableAuthHandler=Ad});var Td=K(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.PluggableAuthClient=_o.ExecutableError=void 0;var Tk=er(),Dk=Ed(),m0=kd(),Rk=kd();Object.defineProperty(_o,"ExecutableError",{enumerable:!0,get:function(){return Rk.ExecutableError}});var xk=30*1e3,g0=5*1e3,y0=120*1e3,Ok="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",_0=1,vd=class extends Tk.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=xk;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<g0||this.timeoutMillis>y0)throw new Error(`Timeout must be between ${g0} and ${y0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new m0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[Ok]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>_0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${_0}.`);if(!e.success)throw new m0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new Dk.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};_o.PluggableAuthClient=vd});var Rd=K(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.ExternalAccountClient=void 0;var Pk=er(),Fk=fd(),Ik=yd(),Nk=Td(),Dd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===Pk.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new Ik.AwsClient(e):e.credential_source?.executable?new Nk.PluggableAuthClient(e):new Fk.IdentityPoolClient(e):null}};La.ExternalAccountClient=Dd});var E0=K(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.ExternalAccountAuthorizedUserClient=bo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var C0=bt(),b0=ed(),w0=Qe(),Bk=require("stream"),Mk=er();bo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var Lk="https://sts.{universeDomain}/v1/oauthtoken",xd=class t extends b0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};C0.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof w0.GaxiosError&&o.response?(0,b0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Od=class extends C0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new xd({tokenRefreshEndpoint:e.token_url??Lk.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=Mk.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=w0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof Bk.Readable;if(!n&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};bo.ExternalAccountAuthorizedUserClient=Od});var v0=K(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.GoogleAuth=Yt.GoogleAuthExceptionMessages=void 0;var jk=require("child_process"),gs=require("fs"),$k=Qe(),ys=ns(),Uk=require("os"),Pd=require("path"),qk=rs(),Hk=vl(),zk=Dl(),Wk=Rl(),Co=Vl(),S0=Yl(),wo=Xl(),Gk=Rd(),_s=er(),Fd=bt(),A0=E0(),k0=Gt();Yt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
62
62
  To learn more about authentication and Google APIs, visit:
63
63
  https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
64
64
  To learn more about authentication and Google APIs, visit:
65
65
  https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
66
66
  To learn more about Universe Domain retrieval, visit:
67
- https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var vd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(r=>e(null,r),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ms.universe("universe-domain"),e||=kd.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=kd.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,m0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=kd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e=="function"?r=e:n=e,r)this.getApplicationDefaultAsync(n).then(o=>r(null,o.credential,o.projectId),r);else return this.getApplicationDefaultAsync(n)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let r;if(r=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),r)return r instanceof _o.JWT?r.scopes=this.scopes:r instanceof gs.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof _o.JWT?r.scopes=this.scopes:r instanceof gs.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new xk.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,r=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let n=await this.getProjectIdOptional();return r&&(e.quotaProjectId=r),this.cachedCredential=e,{credential:e,projectId:n}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ms.getGCPResidency()||await ms.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let r=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!r||r.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){throw n instanceof Error&&(n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`),n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows())r=process.env.APPDATA;else{let o=process.env.HOME;o&&(r=Sd.join(o,".config"))}return r&&(r=Sd.join(r,"gcloud","application_default_credentials.json"),ps.existsSync(r)||(r=null)),r?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ps.realpathSync(e),!ps.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n=ps.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==bo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${bo.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let r=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let n=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!n)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new bo.Impersonated({...e,sourceClient:r,targetPrincipal:n,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,r={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let n,o=(0,m0.originalOrCamelOptions)(r).get("universe_domain");return e.type===h0.USER_REFRESH_ACCOUNT_TYPE?(n=new h0.UserRefreshClient(r),n.fromJSON(e)):e.type===bo.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===gs.EXTERNAL_ACCOUNT_TYPE?(n=Fk.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===p0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new p0.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new _o.JWT(r),this.setGapicJWTValues(n),n.fromJSON(e)),o&&(n.universeDomain=o),n}_cacheClientFromJSON(e,r){let n=this.fromJSON(e,r);return this.jsonContent=e,this.cachedCredential=n,n}fromStream(e,r={},n){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof r=="function"?n=r:o=r,n)this.fromStreamAsync(e,o).then(s=>n(null,s),n);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,r){return new Promise((n,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),c=this._cacheClientFromJSON(a,r);return n(c)}catch(a){if(!this.keyFilename)throw a;let c=new _o.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=c,this.setGapicJWTValues(c),n(c)}}catch(a){return o(a)}})})}fromAPIKey(e,r={}){return new _o.JWT({...r,apiKey:e})}_isWindows(){let e=Dk.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,vk.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n)try{let o=JSON.parse(n).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let r=await this.getClient();if(r&&r.projectId)return r.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==gs.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ms.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(r=>e(null,r),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof bo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof gs.BaseExternalAccountClient){let r=e.getServiceAccountEmail();if(r)return{client_email:r,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[r,n]=await Promise.all([ms.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#r();try{return await this.#e}finally{this.#e=null}}async#r(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=Sd.resolve(this.keyFilename),r=ps.createReadStream(e);return await this.fromStreamAsync(r,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:r}=await this.#t(e);return r}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let r=await this.getClient();if(!("fetchIdToken"in r))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new Ok.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let r=e.url,o=await(await this.getClient()).getRequestHeaders(r);return e.headers=Tk.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,Pk.getEnv)()}async sign(e,r){let n=await this.getClient(),o=await this.getUniverseDomain();if(r=r||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,n instanceof bo.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,Rk.createCrypto)();if(n instanceof _o.JWT&&n.key)return await s.sign(n.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,r)}async signBlob(e,r,n,o){let s=new URL(o+`${r}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(n)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=vd});var y0=V(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.IAMAuth=void 0;var Td=class{selector;token;constructor(e,r){this.selector=e,this.token=r,this.selector=e,this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Ia.IAMAuth=Td});var _0=V(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DownscopedClient=cr.EXPIRATION_TIME_OFFSET=cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var Ik=Ke(),Bk=require("stream"),Dd=bt(),Nk=pa(),Mk="urn:ietf:params:oauth:grant-type:token-exchange",jk="urn:ietf:params:oauth:token-type:access_token",Lk="urn:ietf:params:oauth:token-type:access_token";cr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;cr.EXPIRATION_TIME_OFFSET=300*1e3;var Rd=class extends Dd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Dd.AuthClient?{}:e),e instanceof Dd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=r):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>cr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${cr.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let n of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(n.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Nk.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=Ik.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof Bk.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,r={grantType:Mk,requestedTokenType:jk,subjectToken:e,subjectTokenType:Lk},n=await this.stsCredential.exchangeToken(r,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=n.expires_in?new Date().getTime()+n.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:n.access_token,expiry_date:s,res:n.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};cr.DownscopedClient=Rd});var b0=V(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.PassThroughClient=void 0;var Uk=bt(),xd=class extends Uk.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Ba.PassThroughClient=xd});var Pd=V(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.GoogleAuth=re.auth=re.PassThroughClient=re.ExecutableError=re.PluggableAuthClient=re.DownscopedClient=re.BaseExternalAccountClient=re.ExternalAccountClient=re.IdentityPoolClient=re.AwsRequestSigner=re.AwsClient=re.UserRefreshClient=re.LoginTicket=re.ClientAuthentication=re.OAuth2Client=re.CodeChallengeMethod=re.Impersonated=re.JWT=re.JWTAccess=re.IdTokenClient=re.IAMAuth=re.GCPEnv=re.Compute=re.DEFAULT_UNIVERSE=re.AuthClient=re.gaxios=re.gcpMetadata=void 0;var C0=g0();Object.defineProperty(re,"GoogleAuth",{enumerable:!0,get:function(){return C0.GoogleAuth}});re.gcpMetadata=es();re.gaxios=Ke();var w0=bt();Object.defineProperty(re,"AuthClient",{enumerable:!0,get:function(){return w0.AuthClient}});Object.defineProperty(re,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return w0.DEFAULT_UNIVERSE}});var $k=_l();Object.defineProperty(re,"Compute",{enumerable:!0,get:function(){return $k.Compute}});var qk=wl();Object.defineProperty(re,"GCPEnv",{enumerable:!0,get:function(){return qk.GCPEnv}});var zk=y0();Object.defineProperty(re,"IAMAuth",{enumerable:!0,get:function(){return zk.IAMAuth}});var Hk=Cl();Object.defineProperty(re,"IdTokenClient",{enumerable:!0,get:function(){return Hk.IdTokenClient}});var Wk=jl();Object.defineProperty(re,"JWTAccess",{enumerable:!0,get:function(){return Wk.JWTAccess}});var Gk=Ul();Object.defineProperty(re,"JWT",{enumerable:!0,get:function(){return Gk.JWT}});var Jk=Hl();Object.defineProperty(re,"Impersonated",{enumerable:!0,get:function(){return Jk.Impersonated}});var Od=Sn();Object.defineProperty(re,"CodeChallengeMethod",{enumerable:!0,get:function(){return Od.CodeChallengeMethod}});Object.defineProperty(re,"OAuth2Client",{enumerable:!0,get:function(){return Od.OAuth2Client}});Object.defineProperty(re,"ClientAuthentication",{enumerable:!0,get:function(){return Od.ClientAuthentication}});var Vk=pl();Object.defineProperty(re,"LoginTicket",{enumerable:!0,get:function(){return Vk.LoginTicket}});var Kk=ql();Object.defineProperty(re,"UserRefreshClient",{enumerable:!0,get:function(){return Kk.UserRefreshClient}});var Yk=cd();Object.defineProperty(re,"AwsClient",{enumerable:!0,get:function(){return Yk.AwsClient}});var Qk=id();Object.defineProperty(re,"AwsRequestSigner",{enumerable:!0,get:function(){return Qk.AwsRequestSigner}});var Xk=od();Object.defineProperty(re,"IdentityPoolClient",{enumerable:!0,get:function(){return Xk.IdentityPoolClient}});var Zk=wd();Object.defineProperty(re,"ExternalAccountClient",{enumerable:!0,get:function(){return Zk.ExternalAccountClient}});var ev=Qr();Object.defineProperty(re,"BaseExternalAccountClient",{enumerable:!0,get:function(){return ev.BaseExternalAccountClient}});var tv=_0();Object.defineProperty(re,"DownscopedClient",{enumerable:!0,get:function(){return tv.DownscopedClient}});var E0=bd();Object.defineProperty(re,"PluggableAuthClient",{enumerable:!0,get:function(){return E0.PluggableAuthClient}});Object.defineProperty(re,"ExecutableError",{enumerable:!0,get:function(){return E0.ExecutableError}});var rv=b0();Object.defineProperty(re,"PassThroughClient",{enumerable:!0,get:function(){return rv.PassThroughClient}});var nv=new C0.GoogleAuth;re.auth=nv});var d_=V((qF,pf)=>{"use strict";var LD=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,UD=/(\w*(\.\w*)*)\..*/;pf.exports=function(e){if(e.name.length>0)return e.name;let r=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(n){return Error.stackTraceLimit=r,l_(n.stack)}};function l_(t){let e=t.match(LD);return e?e[1].split(/[/\\]/).slice(-1)[0].match(UD)[1]:"anonymous"}pf.exports.extractPluginName=l_});var h_=V((zF,f_)=>{"use strict";f_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var p_=V((HF,bu)=>{"use strict";var $D=d_(),qD=h_(),zD=0;function mf(t,e={}){let r=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(r=!0,e.name=$D(t)+"-auto-"+zD++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let n=qD(e.name);return!r&&!t[n]&&(t[n]=t),t}bu.exports=mf;bu.exports.default=mf;bu.exports.fastifyPlugin=mf});var Ts,yf=Me(()=>{"use strict";Ts=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,r){let{format:n="text",timestamp:o=!0,prefix:s,metadata:a}=r||{},c="";if(o){let l=new Date().toISOString();c+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(c+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":c+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?c+=this.toMarkdown(e):c+=String(e);break;case"text":default:typeof e=="object"?c+=JSON.stringify(e,null,2):c+=String(e);break}return a&&Object.keys(a).length>0&&(c+=`
68
- `+(this.config.colors?`${this.colors.dim}`:""),c+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(c+=this.colors.reset)),c}toMarkdown(e,r=0){let n=" ".repeat(r);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${n}-
69
- ${this.toMarkdown(o,r+1)}`:`${n}- ${o}`).join(`
70
- `):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${n}${o}:
71
- ${this.toMarkdown(s,r+1)}`:`${n}${o}: ${s}`).join(`
72
- `):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var Ds,_f=Me(()=>{"use strict";Ds=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:a}=r||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),a&&Object.keys(a).length>0&&(c.metadata=a),c}async sendRequest(e,r,n,o,s){let a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(c),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(c),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let c=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(d){if(c=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw c}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var So,bf,m_,Rs,Cf=Me(()=>{"use strict";So=require("fs"),bf=require("path"),m_=require("os"),Rs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,m_.tmpdir)();this.baseDir=(0,bf.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,So.existsSync)(this.baseDir)||(0,So.mkdirSync)(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return(0,bf.join)(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return(0,So.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var wf,ko,g_=Me(()=>{"use strict";yf();_f();Cf();wf=class{handlers=new Map;defaultOptions={};registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){console.error(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){switch(e.type){case"console":return new Ts(e.config);case"webhook":return new Ds(e.config);case"temp-file":return new Rs(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,c])=>{try{await c.output(e,n)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},a=e.map(async c=>{let l=this.handlers.get(c);if(!l){console.warn(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await l.output(r,o)?s.success.push(c):s.failed.push(c)}catch(d){console.error(`[OutputManager] Handler ${c} failed:`,d),s.failed.push(c)}});return await Promise.all(a),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},ko=new wf});var JD={};ii(JD,{ActiveProbeService:()=>ks,ConfigService:()=>fn,ProviderHealthStore:()=>jo,ProviderService:()=>pn,SSEParserTransform:()=>Dn,SSESerializerTransform:()=>vs,TokenizerService:()=>Tn,TransformerService:()=>vn,calculateTokenCount:()=>Zd,default:()=>GD,getActiveProbeService:()=>df,getAllQuotaResults:()=>t_,getAllRateLimitInfo:()=>ip,getHealthStore:()=>Xe,getQuotaAdapter:()=>gu,getQuotaResult:()=>lu,getRateLimitInfo:()=>sp,getRuntimeDebugLog:()=>Jh,initQuotaStorePersistence:()=>r_,initRateLimitPersistence:()=>ap,pluginManager:()=>hf,resetActiveProbeService:()=>c_,rewriteStream:()=>gf,router:()=>mu,searchProjectBySession:()=>ef,sessionUsageCache:()=>uu,setRuntimeDebugLog:()=>Gh,startActiveProbe:()=>yu,stopActiveProbe:()=>_u,storeQuotaResult:()=>cu,tokenSpeedPlugin:()=>Af});module.exports=Dh(JD);var C_=Oe(require("fastify"),1),w_=Oe(require("@fastify/cors"),1);var No=require("fs"),rc=require("path"),Lh=require("dotenv"),Uh=Oe(tc(),1),fn=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:(0,rc.join)(process.cwd(),this.options.jsonPath);if((0,No.existsSync)(e))try{let r=(0,No.readFileSync)(e,"utf-8"),n=Uh.default.parse(r);this.config={...this.config,...n},console.log(`Loaded JSON config from: ${e}`)}catch(r){console.warn(`Failed to load JSON config from ${e}:`,r)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,rc.join)(process.cwd(),this.options.envPath);if((0,No.existsSync)(e))try{let r=(0,Lh.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){console.warn(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function rt(t,e=500,r="internal_error",n="api_error"){let o=new Error(t);return o.statusCode=e,o.code=r,o.type=n,o}async function $h(t,e,r){e.log.error(t);let n=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return r.code(n).send(s)}catch{return r.code(n).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return r.code(n).send(o)}var qh=require("undici");function zh(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,c=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let d=new AbortController,f=()=>d.abort();r.signal.addEventListener("abort",f),c.addEventListener("abort",f),a=d.signal}else a=c;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new qh.ProxyAgent(new URL(r.httpsProxy).toString())),o?.debug({reqId:n.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:r.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var gC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),zn={maxBodyLength:4096,maxStreamChunks:100},nc=!1;function Gh(t){nc=t}function Jh(){return nc}function di(t){return nc||t.get("DEBUG_LOG")===!0}function Vh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?zn:{maxBodyLength:e.maxBodyLength??zn.maxBodyLength,maxStreamChunks:e.maxStreamChunks??zn.maxStreamChunks}}function Kh(t){let e={};for(let[r,n]of Object.entries(t))gC.has(r.toLowerCase())?e[r]="***MASKED***":e[r]=n;return e}function oc(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function Yh(t,e,r){let n=typeof r.body=="string"?r.body:JSON.stringify(r.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:r.url,headers:Kh(r.headers),body:oc(n,zn.maxBodyLength)})}function Qh(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:r.status,headers:Kh(r.headers),...r.body!==void 0?{body:oc(r.body,zn.maxBodyLength)}:{}})}function Hh(t,e,r,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:r,data:oc(n,zn.maxBodyLength)})}function Wh(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:r})}function Xh(t,e,r,n){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:c,value:l}=await o.read();if(c)break;a+=l;let d=a.split(`
67
+ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Id=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Yt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Yt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Yt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ys.universe("universe-domain"),e||=Fd.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Fd.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,k0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Fd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof Co.JWT?n.scopes=this.scopes:n instanceof _s.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof Co.JWT?n.scopes=this.scopes:n instanceof _s.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new Hk.Compute(e));throw new Error(Yt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ys.getGCPResidency()||await ys.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let o=process.env.HOME;o&&(n=Pd.join(o,".config"))}return n&&(n=Pd.join(n,"gcloud","application_default_credentials.json"),gs.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=gs.realpathSync(e),!gs.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r=gs.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==wo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${wo.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new wo.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let r,o=(0,k0.originalOrCamelOptions)(n).get("universe_domain");return e.type===S0.USER_REFRESH_ACCOUNT_TYPE?(r=new S0.UserRefreshClient(n),r.fromJSON(e)):e.type===wo.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===_s.EXTERNAL_ACCOUNT_TYPE?(r=Gk.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===A0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new A0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new Co.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),c=this._cacheClientFromJSON(a,n);return r(c)}catch(a){if(!this.keyFilename)throw a;let c=new Co.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=c,this.setGapicJWTValues(c),r(c)}}catch(a){return o(a)}})})}fromAPIKey(e,n={}){return new Co.JWT({...n,apiKey:e})}_isWindows(){let e=Uk.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,jk.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==_s.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ys.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof wo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof _s.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([ys.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(Yt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=Pd.resolve(this.keyFilename),n=gs.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new zk.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=$k.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,Wk.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof wo.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,qk.createCrypto)();if(r instanceof Co.JWT&&r.key)return await s.sign(r.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Yt.GoogleAuth=Id});var T0=K(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.IAMAuth=void 0;var Nd=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};ja.IAMAuth=Nd});var D0=K(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.DownscopedClient=ln.EXPIRATION_TIME_OFFSET=ln.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var Jk=Qe(),Vk=require("stream"),Bd=bt(),Kk=ba(),Yk="urn:ietf:params:oauth:grant-type:token-exchange",Qk="urn:ietf:params:oauth:token-type:access_token",Xk="urn:ietf:params:oauth:token-type:access_token";ln.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;ln.EXPIRATION_TIME_OFFSET=300*1e3;var Md=class extends Bd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Bd.AuthClient?{}:e),e instanceof Bd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>ln.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${ln.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Kk.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=Jk.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof Vk.Readable;if(!n&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:Yk,requestedTokenType:Qk,subjectToken:e,subjectTokenType:Xk},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};ln.DownscopedClient=Md});var R0=K($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.PassThroughClient=void 0;var Zk=bt(),Ld=class extends Zk.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};$a.PassThroughClient=Ld});var $d=K(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.GoogleAuth=oe.auth=oe.PassThroughClient=oe.ExecutableError=oe.PluggableAuthClient=oe.DownscopedClient=oe.BaseExternalAccountClient=oe.ExternalAccountClient=oe.IdentityPoolClient=oe.AwsRequestSigner=oe.AwsClient=oe.UserRefreshClient=oe.LoginTicket=oe.ClientAuthentication=oe.OAuth2Client=oe.CodeChallengeMethod=oe.Impersonated=oe.JWT=oe.JWTAccess=oe.IdTokenClient=oe.IAMAuth=oe.GCPEnv=oe.Compute=oe.DEFAULT_UNIVERSE=oe.AuthClient=oe.gaxios=oe.gcpMetadata=void 0;var x0=v0();Object.defineProperty(oe,"GoogleAuth",{enumerable:!0,get:function(){return x0.GoogleAuth}});oe.gcpMetadata=ns();oe.gaxios=Qe();var O0=bt();Object.defineProperty(oe,"AuthClient",{enumerable:!0,get:function(){return O0.AuthClient}});Object.defineProperty(oe,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return O0.DEFAULT_UNIVERSE}});var ev=vl();Object.defineProperty(oe,"Compute",{enumerable:!0,get:function(){return ev.Compute}});var tv=Rl();Object.defineProperty(oe,"GCPEnv",{enumerable:!0,get:function(){return tv.GCPEnv}});var nv=T0();Object.defineProperty(oe,"IAMAuth",{enumerable:!0,get:function(){return nv.IAMAuth}});var rv=Dl();Object.defineProperty(oe,"IdTokenClient",{enumerable:!0,get:function(){return rv.IdTokenClient}});var ov=Gl();Object.defineProperty(oe,"JWTAccess",{enumerable:!0,get:function(){return ov.JWTAccess}});var sv=Vl();Object.defineProperty(oe,"JWT",{enumerable:!0,get:function(){return sv.JWT}});var iv=Xl();Object.defineProperty(oe,"Impersonated",{enumerable:!0,get:function(){return iv.Impersonated}});var jd=vr();Object.defineProperty(oe,"CodeChallengeMethod",{enumerable:!0,get:function(){return jd.CodeChallengeMethod}});Object.defineProperty(oe,"OAuth2Client",{enumerable:!0,get:function(){return jd.OAuth2Client}});Object.defineProperty(oe,"ClientAuthentication",{enumerable:!0,get:function(){return jd.ClientAuthentication}});var av=El();Object.defineProperty(oe,"LoginTicket",{enumerable:!0,get:function(){return av.LoginTicket}});var uv=Yl();Object.defineProperty(oe,"UserRefreshClient",{enumerable:!0,get:function(){return uv.UserRefreshClient}});var cv=yd();Object.defineProperty(oe,"AwsClient",{enumerable:!0,get:function(){return cv.AwsClient}});var lv=pd();Object.defineProperty(oe,"AwsRequestSigner",{enumerable:!0,get:function(){return lv.AwsRequestSigner}});var dv=fd();Object.defineProperty(oe,"IdentityPoolClient",{enumerable:!0,get:function(){return dv.IdentityPoolClient}});var fv=Rd();Object.defineProperty(oe,"ExternalAccountClient",{enumerable:!0,get:function(){return fv.ExternalAccountClient}});var hv=er();Object.defineProperty(oe,"BaseExternalAccountClient",{enumerable:!0,get:function(){return hv.BaseExternalAccountClient}});var pv=D0();Object.defineProperty(oe,"DownscopedClient",{enumerable:!0,get:function(){return pv.DownscopedClient}});var P0=Td();Object.defineProperty(oe,"PluggableAuthClient",{enumerable:!0,get:function(){return P0.PluggableAuthClient}});Object.defineProperty(oe,"ExecutableError",{enumerable:!0,get:function(){return P0.ExecutableError}});var mv=R0();Object.defineProperty(oe,"PassThroughClient",{enumerable:!0,get:function(){return mv.PassThroughClient}});var gv=new x0.GoogleAuth;oe.auth=gv});var C_=K((sI,Ef)=>{"use strict";var tR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,nR=/(\w*(\.\w*)*)\..*/;Ef.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,b_(r.stack)}};function b_(t){let e=t.match(tR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(nR)[1]:"anonymous"}Ef.exports.extractPluginName=b_});var E_=K((iI,w_)=>{"use strict";w_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var S_=K((aI,Au)=>{"use strict";var rR=C_(),oR=E_(),sR=0;function Sf(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=rR(t)+"-auto-"+sR++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=oR(e.name);return!n&&!t[r]&&(t[r]=t),t}Au.exports=Sf;Au.exports.default=Sf;Au.exports.fastifyPlugin=Sf});var Rs,kf=Me(()=>{"use strict";Rs=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:a}=n||{},c="";if(o){let l=new Date().toISOString();c+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(c+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":c+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?c+=this.toMarkdown(e):c+=String(e);break;case"text":default:typeof e=="object"?c+=JSON.stringify(e,null,2):c+=String(e);break}return a&&Object.keys(a).length>0&&(c+=`
68
+ `+(this.config.colors?`${this.colors.dim}`:""),c+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(c+=this.colors.reset)),c}toMarkdown(e,n=0){let r=" ".repeat(n);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${r}-
69
+ ${this.toMarkdown(o,n+1)}`:`${r}- ${o}`).join(`
70
+ `):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${r}${o}:
71
+ ${this.toMarkdown(s,n+1)}`:`${r}${o}: ${s}`).join(`
72
+ `):`${r}${e}`}async output(e,n={}){try{let r=this.formatData(e,n);switch(this.config.level||"log"){case"info":console.info(r);break;case"warn":console.warn(r);break;case"error":console.error(r);break;case"debug":console.debug(r);break;case"log":default:console.log(r);break}return!0}catch(r){return console.error("[ConsoleOutputHandler] Output failed:",r),!1}}}});var xs,vf=Me(()=>{"use strict";xs=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let n=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${n}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,n){let{format:r="json",timestamp:o=!0,prefix:s,metadata:a}=n||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),a&&Object.keys(a).length>0&&(c.metadata=a),c}async sendRequest(e,n,r,o,s){let a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:n,headers:r,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(c),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(c),l}}delay(e){return new Promise(n=>setTimeout(n,e))}async sendWithRetry(e,n,r,o,s,a){let c=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,n,r,o,s)}catch(d){if(c=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw c}async output(e,n={}){let r=n.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,n),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,r,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var vo,Tf,A_,Os,Df=Me(()=>{"use strict";vo=require("fs"),Tf=require("path"),A_=require("os"),Os=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=(0,A_.tmpdir)();this.baseDir=(0,Tf.join)(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,vo.existsSync)(this.baseDir)||(0,vo.mkdirSync)(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let n=e.match(/_session_([a-f0-9-]+)/i);return n?n[1]:null}catch{return null}}getFilePath(e){let n=this.config.prefix||"session",r=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${n}-${e}-${s}${r}`}else o=`${n}-${e}${r}`;return(0,Tf.join)(this.baseDir,o)}async output(e,n={}){try{let r=n.metadata?.sessionId;if(!r)return!1;let o={...e,timestamp:Date.now(),sessionId:r},s=this.getFilePath(r);return(0,vo.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var Rf,To,k_=Me(()=>{"use strict";kf();vf();Df();Rf=class{handlers=new Map;defaultOptions={};registerHandler(e,n){this.handlers.set(e,n)}registerHandlers(e){for(let n of e)if(n.enabled!==!1)try{let r=this.createHandler(n),o=n.type+"_"+Date.now();this.registerHandler(o,r)}catch(r){console.error(`[OutputManager] Failed to register ${n.type} handler:`,r)}}createHandler(e){switch(e.type){case"console":return new Rs(e.config);case"webhook":return new xs(e.config);case"temp-file":return new Os(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,n){let r={...this.defaultOptions,...n},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,c])=>{try{await c.output(e,r)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,n,r){let o={...this.defaultOptions,...r},s={success:[],failed:[]},a=e.map(async c=>{let l=this.handlers.get(c);if(!l){console.warn(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await l.output(n,o)?s.success.push(c):s.failed.push(c)}catch(d){console.error(`[OutputManager] Handler ${c} failed:`,d),s.failed.push(c)}});return await Promise.all(a),s}async outputToType(e,n,r){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,n,r)}},To=new Rf});var cR={};ui(cR,{ActiveProbeService:()=>Ts,ConfigService:()=>pr,ProviderHealthStore:()=>$o,ProviderService:()=>gr,SSEParserTransform:()=>xr,SSESerializerTransform:()=>Ds,TokenizerService:()=>Rr,TransformerService:()=>Dr,calculateTokenCount:()=>uf,default:()=>uR,getActiveProbeService:()=>bf,getAllQuotaResults:()=>d_,getAllRateLimitInfo:()=>yp,getHealthStore:()=>Ge,getQuotaAdapter:()=>wu,getQuotaResult:()=>pu,getRateLimitInfo:()=>gp,getRuntimeDebugLog:()=>tp,initProviderHealthPersistence:()=>mi,initQuotaStorePersistence:()=>mu,initRateLimitPersistence:()=>gi,pluginManager:()=>wf,resetActiveProbeService:()=>__,rewriteStream:()=>Af,router:()=>Cu,searchProjectBySession:()=>cf,sessionUsageCache:()=>fu,setRuntimeDebugLog:()=>ep,startActiveProbe:()=>Eu,stopActiveProbe:()=>Su,storeQuotaResult:()=>hu,tokenSpeedPlugin:()=>Of});module.exports=Bh(cR);var R_=Oe(require("fastify"),1),x_=Oe(require("@fastify/cors"),1);var Lo=require("fs"),ac=require("path"),Jh=require("dotenv"),Vh=Oe(ic(),1),pr=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:(0,ac.join)(process.cwd(),this.options.jsonPath);if((0,Lo.existsSync)(e))try{let n=(0,Lo.readFileSync)(e,"utf-8"),r=Vh.default.parse(n);this.config={...this.config,...r},console.log(`Loaded JSON config from: ${e}`)}catch(n){console.warn(`Failed to load JSON config from ${e}:`,n)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,ac.join)(process.cwd(),this.options.envPath);if((0,Lo.existsSync)(e))try{let n=(0,Jh.config)({path:e});n.parsed&&(this.config={...this.config,...this.parseEnvConfig(n.parsed)})}catch(n){console.warn(`Failed to load .env config from ${e}:`,n)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let n={};return Object.assign(n,e),n}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,n){let r=this.config[e];return r!==void 0?r:n}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,n){this.config[e]=n}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function He(t,e=500,n="internal_error",r="api_error"){let o=new Error(t);return o.statusCode=e,o.code=n,o.type=r,o}async function Kh(t,e,n){e.log.error(t);let r=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return n.code(r).send(s)}catch{return n.code(r).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return n.code(r).send(o)}var Yh=require("undici");function Qh(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,c=AbortSignal.timeout(n.TIMEOUT??60*1e3*60);if(n.signal){let d=new AbortController,f=()=>d.abort();n.signal.addEventListener("abort",f),c.addEventListener("abort",f),a=d.signal}else a=c;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return n.httpsProxy&&(l.dispatcher=new Yh.ProxyAgent(new URL(n.httpsProxy).toString())),o?.debug({reqId:r.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:n.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var kC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),Wr={maxBodyLength:4096,maxStreamChunks:100},uc=!1;function ep(t){uc=t}function tp(){return uc}function hi(t){return uc||t.get("DEBUG_LOG")===!0}function np(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?Wr:{maxBodyLength:e.maxBodyLength??Wr.maxBodyLength,maxStreamChunks:e.maxStreamChunks??Wr.maxStreamChunks}}function rp(t){let e={};for(let[n,r]of Object.entries(t))kC.has(n.toLowerCase())?e[n]="***MASKED***":e[n]=r;return e}function cc(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function op(t,e,n){let r=typeof n.body=="string"?n.body:JSON.stringify(n.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:n.url,headers:rp(n.headers),body:cc(r,Wr.maxBodyLength)})}function sp(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:n.status,headers:rp(n.headers),...n.body!==void 0?{body:cc(n.body,Wr.maxBodyLength)}:{}})}function Xh(t,e,n,r){t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:n,data:cc(r,Wr.maxBodyLength)})}function Zh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:n})}function ip(t,e,n,r){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:c,value:l}=await o.read();if(c)break;a+=l;let d=a.split(`
73
73
 
74
- `);a=d.pop()||"";for(let f of d)f.trim()&&(s<n.maxStreamChunks?Hh(e,r,s,f):s===n.maxStreamChunks&&e.info({debug_log:!0,reqId:r,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${n.maxStreamChunks}]`}),s++)}a.trim()&&(s<n.maxStreamChunks&&Hh(e,r,s,a.trim()),s++),Wh(e,r,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${r}:`,a),Wh(e,r,s)}finally{o.releaseLock()}})()}var Zh="2.1.13";Hn();var Er=require("fs"),lc=require("path"),op=require("@wengine-ai/claude-code-router-shared"),uc=(0,lc.join)(op.HOME_DIR,"runtime"),cc=(0,lc.join)(uc,"rate-limit.json"),Wn=new Map,tp=!1,wC=null,EC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],AC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],SC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Lo(t,e,r){let n=c=>{if(r instanceof Headers)return r.get(c);let l=Object.keys(r).find(d=>d.toLowerCase()===c);return l?r[l]:null},o=ac(n,EC),s=ac(n,AC),a=ac(n,SC);(o||s||a)&&Wn.set(t,{provider:t,remaining:rp(o),limit:rp(s),reset:kC(a),capturedAt:Date.now()})}function sp(t){return Wn.get(t)}function ip(){return Array.from(Wn.values())}function ac(t,e){for(let r of e){let n=t(r);if(n)return n}return null}function rp(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function kC(t){if(!t)return null;let e=t.trim();if(!e)return null;let r=Number(e);if(Number.isFinite(r))return r>1e12?Math.floor(r/1e3):r>1e9?Math.floor(r):Math.floor(Date.now()/1e3+r);let n=Date.parse(e);if(Number.isFinite(n))return Math.floor(n/1e3);let o=vC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function vC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,r=0,n=!1;for(let o of t.matchAll(e)){n=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":r+=s;break;case"s":r+=s*1e3;break;case"m":r+=s*60*1e3;break;case"h":r+=s*60*60*1e3;break;case"d":r+=s*24*60*60*1e3;break}}return n?r:null}function TC(){try{if(!(0,Er.existsSync)(cc))return;let t=JSON.parse((0,Er.readFileSync)(cc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let r of t)if(r&&r.provider){if(r.capturedAt&&e-r.capturedAt>3600*1e3)continue;Wn.set(r.provider,r)}}catch{}}function np(){try{if(Wn.size===0)return;(0,Er.existsSync)(uc)||(0,Er.mkdirSync)(uc,{recursive:!0}),(0,Er.writeFileSync)(cc,JSON.stringify(Array.from(Wn.values()),null,2),"utf-8")}catch{}}function ap(){tp||(tp=!0,TC(),wC=setInterval(np,6e4),process.on("exit",np))}fi();async function DC(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw rt(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:c,config:l,bypass:d}=await up(o,a,n,t.headers,{req:t}),f=await cp(c,l,a,r,d,n,{req:t});try{a?.baseUrl&&f?.headers&&Lo(s,a.baseUrl,f.headers)}catch{}let p=await lp(c,f,a,n,d,{req:t}),g=dp(p,e,o,r);try{let A=o.model||t.originalModel;s&&A&&Xe().recordSuccess(s,A)}catch{}return g}catch(c){let l=await RC(t,e,r,n,c);if(l)return l;throw c}}async function RC(t,e,r,n,o){let s=t.scenarioType||"default",a=t.familyFallback,c=t.modelFamily,l=r.configService.get("fallback"),d=Xe(),f=t.provider||"",p=t.body.model||"",g=new Set;if(f&&p&&(d.recordFailure(f,p,o?.message),g.add(`${f},${p}`),r.recordUsage?.({provider:f,model:p,originalModel:t.originalModel||p,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0})),!r.configService.get("Router")?.enableFallback)return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let w=m=>{let[v,...b]=m.split(","),S=v?.trim(),D=b.join(",").trim();return!S||!D?null:{provider:S,model:D,key:`${S},${D}`}},y=[];if(c){let m=a?.[s];Array.isArray(m)&&m.length>0?y.push({name:`${c}/${s}`,models:m}):t.log.warn(`No ${c} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&y.push({name:`global/${s}`,models:l[s]}),y.length===0)return null;let _=y.reduce((m,v)=>m+v.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${y.length} fallback stage(s)`);for(let m of y){t.log.info(`Trying ${m.name} fallback stage with ${m.models.length} models`);for(let v of m.models){let b=w(v);if(!b){t.log.warn(`Fallback model '${v}' is invalid, skipping`);continue}if(g.has(b.key))continue;g.add(b.key);let S=b.provider,D=b.model;try{if(!d.isAvailable(S,D)){t.log.warn(`Fallback model ${v} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${v}`);let O={...t.body};O.model=D;let q={...t,provider:S,body:O},J=r.providerService.getProvider(S);if(!J){t.log.warn(`Fallback provider '${S}' not found, skipping`);continue}if(J.enabled===!1){t.log.warn(`Fallback provider '${S}' is disabled, skipping`);continue}let{requestBody:B,config:Y,bypass:te}=await up(O,J,n,t.headers,{req:q}),Z=await cp(B,Y,J,r,te,n,{req:q});try{J?.baseUrl&&Z?.headers&&Lo(S,J.baseUrl,Z.headers)}catch{}let ae=await lp(B,Z,J,n,te,{req:q});return t.log.info(`Fallback model ${v} succeeded`),d.recordSuccess(S,D),f&&p&&(Mo().promote(f,p,s,S,D),t.log.info(`Promoted fallback model ${S},${D} for ${f},${p}:${s}`),d.forceOpen(f,p,o?.message),t.log.info(`Marked original model ${f},${p} as unavailable`)),t.provider=S,t.body=O,dp(ae,e,O,r)}catch(O){d.recordFailure(S,D,O.message),t.log.warn(`Fallback model ${b.key} failed: ${O.message}`),r.recordUsage?.({provider:S,model:D,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:O.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function up(t,e,r,n,o){let s=JSON.parse(JSON.stringify(t)),a={},c=!1;if(c=xC(e,r,t),c&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let l=await r.transformRequestOut(s);l.body?(s=l.body,a=l.config||{}):s=l}if(!c&&e.transformer?.use?.length)for(let l of e.transformer.use){if(!l||typeof l.transformRequestIn!="function")continue;let d=await l.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!c&&e.transformer?.[t.model]?.use?.length)for(let l of e.transformer[t.model].use)!l||typeof l.transformRequestIn!="function"||(s=await l.transformRequestIn(s,e,o));return{requestBody:s,config:a,bypass:c}}function xC(t,e,r){return r?.messages?.some(o=>o.role==="system")?!1:t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function cp(t,e,r,n,o,s,a){let c=e.url||new URL(r.baseUrl);if(!e.TIMEOUT){let f=n.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,r);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];di(n.configService)&&Yh(n.log,a.req.id,{url:String(c),headers:l,body:t});let d=await zh(c,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!d.ok){let f=await d.text();n.log.error(`[provider_response_error] Error from provider(${r.name},${t.model}: ${d.status}): ${f}`);let p=rt(`Error from provider(${r.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.rawBody=f,p}if(d.ok&&(d.headers.get("content-type")||"").includes("application/json")){let p=d.clone();try{let g=await p.text(),A=JSON.parse(g);if(A&&typeof A=="object"&&A.error&&(typeof A.error=="string"||typeof A.error=="object"&&Object.keys(A.error).length>0)){n.log.error(`[provider_response_error] Hidden error from provider(${r.name},${t.model}: ${d.status}): ${g}`);let y=rt(`Error from provider(${r.name},${t.model}: ${d.status}): ${g}`,400,"provider_response_error");throw y.rawBody=g,y}}catch{}}if(!t.stream&&di(n.configService)){let p=await d.clone().text();Qh(n.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function lp(t,e,r,n,o,s){let a=e;if(!o&&r.transformer?.use?.length)for(let c of Array.from(r.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let c of Array.from(r.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));return!o&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}function dp(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&di(n.configService)){let[s,a]=t.body.tee(),c=Vh(n.configService);return Xh(s,n.log,e.request.id,c),e.send(a)}return e.send(t.body)}else return t.json()}var dc=async t=>{t.get("/",async()=>({message:"LLMs API",version:Zh})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Xe().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>DC(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:a,models:c}=r.body;if(!o?.trim())throw rt("Provider name is required",400,"invalid_request");if(!s||!OC(s))throw rt("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw rt("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw rt("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw rt(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw rt("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw rt("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw rt("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw rt("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function OC(t){try{return new URL(t),!0}catch{return!1}}var pn=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],quotaToken:r.quota_token,transformer:r.transformer?n:void 0,enabled:r.enabled!==!1,wakeupEnabled:r.wakeup_enabled===!0,wakeupTime:r.wakeup_time||"06:00",wakeupModel:r.wakeup_model||""}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}registerProvider(e){let r={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let a=`${n.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let a=`${n.name},${s}`,c={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){let n=this.providers.get(e);if(!n)return!1;n.enabled=r;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=r)}return!0}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.enabled!==!1&&r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.enabled!==!1&&r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var Ve=[];for(let t=0;t<256;++t)Ve.push((t+256).toString(16).slice(1));function fp(t,e=0){return(Ve[t[e+0]]+Ve[t[e+1]]+Ve[t[e+2]]+Ve[t[e+3]]+"-"+Ve[t[e+4]]+Ve[t[e+5]]+"-"+Ve[t[e+6]]+Ve[t[e+7]]+"-"+Ve[t[e+8]]+Ve[t[e+9]]+"-"+Ve[t[e+10]]+Ve[t[e+11]]+Ve[t[e+12]]+Ve[t[e+13]]+Ve[t[e+14]]+Ve[t[e+15]]).toLowerCase()}var hp=require("crypto"),pi=new Uint8Array(256),hi=pi.length;function fc(){return hi>pi.length-16&&((0,hp.randomFillSync)(pi),hi=0),pi.slice(hi,hi+=16)}var pp=require("crypto"),hc={randomUUID:pp.randomUUID};function PC(t,e,r){if(hc.randomUUID&&!e&&!t)return hc.randomUUID();t=t||{};let n=t.random??t.rng?.()??fc();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return fp(n)}var Xt=PC;var mp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var gp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function FC(t){return t.map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function yp(t){let e=[],r=[];t.messages.forEach(s=>{s.role==="system"?typeof s.content=="string"?r.push(s.content):Array.isArray(s.content)&&s.content.forEach(a=>{a&&typeof a=="object"&&a.type==="text"&&a.text?r.push(a.text):typeof a=="string"&&r.push(a)}):e.push(s)});let n=[];for(let s=0;s<e.length;s++){let a=e[s];if(a.role==="tool"){let c=a.content;try{typeof a.content=="string"&&(c=JSON.parse(a.content))}catch{}let l={type:"tool_result",tool_use_id:a.tool_call_id,content:c};a.cache_control&&(l.cache_control=a.cache_control);let d=n[n.length-1];d&&d.role==="user"&&Array.isArray(d.content)?d.content.push(l):n.push({role:"user",content:[l]})}else if(a.role==="user"){let c=[];typeof a.content=="string"?c.push({type:"text",text:a.content}):Array.isArray(a.content)&&a.content.forEach(d=>{d&&typeof d=="object"&&d.type==="image_url"&&d.image_url?.url?c.push({type:"image",source:{type:"base64",media_type:d.media_type||"image/jpeg",data:d.image_url.url.split(",")[1]||d.image_url.url}}):c.push(d)});let l=n[n.length-1];l&&l.role==="user"&&Array.isArray(l.content)?l.content.push(...c):n.push({role:"user",content:c.length>0?c:[{type:"text",text:" "}]})}else if(a.role==="assistant"){let c=[];a.content&&(typeof a.content=="string"?c.push({type:"text",text:a.content}):Array.isArray(a.content)&&c.push(...a.content)),a.tool_calls&&a.tool_calls.length>0&&a.tool_calls.forEach(d=>{let f={};try{f=JSON.parse(d.function.arguments)}catch{f=d.function.arguments}c.push({type:"tool_use",id:d.id,name:d.function.name,input:f})}),a.thinking&&c.unshift({type:"thinking",thinking:a.thinking.content,signature:a.thinking.signature});let l=n[n.length-1];l&&l.role==="assistant"&&Array.isArray(l.content)?l.content.push(...c):n.push({role:"assistant",content:c.length>0?c:[{type:"text",text:" "}]})}}let o={messages:n,model:t.model,max_tokens:t.max_tokens||4096,temperature:t.temperature,stream:t.stream};return r.length>0&&(o.system=r.join(`
74
+ `);a=d.pop()||"";for(let f of d)f.trim()&&(s<r.maxStreamChunks?Xh(e,n,s,f):s===r.maxStreamChunks&&e.info({debug_log:!0,reqId:n,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${r.maxStreamChunks}]`}),s++)}a.trim()&&(s<r.maxStreamChunks&&Xh(e,n,s,a.trim()),s++),Zh(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),Zh(e,n,s)}finally{o.releaseLock()}})()}var ap="2.1.28";Gn();var An=require("fs"),_c=require("path"),mp=require("@wengine-ai/claude-code-router-shared"),gc=(0,_c.join)(mp.HOME_DIR,"runtime"),yc=(0,_c.join)(gc,"rate-limit.json"),Gr=new Map,fp=!1,FC=null,IC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],NC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],BC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Uo(t,e,n){let r=c=>{if(n instanceof Headers)return n.get(c);let l=Object.keys(n).find(d=>d.toLowerCase()===c);return l?n[l]:null},o=mc(r,IC),s=mc(r,NC),a=mc(r,BC);(o||s||a)&&Gr.set(t,{provider:t,remaining:hp(o),limit:hp(s),reset:MC(a),capturedAt:Date.now()})}function gp(t){return Gr.get(t)}function yp(){return Array.from(Gr.values())}function mc(t,e){for(let n of e){let r=t(n);if(r)return r}return null}function hp(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function MC(t){if(!t)return null;let e=t.trim();if(!e)return null;let n=Number(e);if(Number.isFinite(n))return n>1e12?Math.floor(n/1e3):n>1e9?Math.floor(n):Math.floor(Date.now()/1e3+n);let r=Date.parse(e);if(Number.isFinite(r))return Math.floor(r/1e3);let o=LC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function LC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,n=0,r=!1;for(let o of t.matchAll(e)){r=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":n+=s;break;case"s":n+=s*1e3;break;case"m":n+=s*60*1e3;break;case"h":n+=s*60*60*1e3;break;case"d":n+=s*24*60*60*1e3;break}}return r?n:null}function jC(){try{if(!(0,An.existsSync)(yc))return;let t=JSON.parse((0,An.readFileSync)(yc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>3600*1e3)continue;Gr.set(n.provider,n)}}catch{}}function pp(){try{if(Gr.size===0)return;(0,An.existsSync)(gc)||(0,An.mkdirSync)(gc,{recursive:!0}),(0,An.writeFileSync)(yc,JSON.stringify(Array.from(Gr.values()),null,2),"utf-8")}catch{}}function gi(){fp||(fp=!0,jC(),FC=setInterval(pp,6e4),process.on("exit",pp))}pi();var Jr=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let n=[],r=e.messages.filter(o=>o.role==="system");if(r.length>0){let o=r[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),n.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,n.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{n.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}n.push(o)}}),e.input=n,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(n.includes("application/json")){let r=await e.json();if(r.object==="response"&&r.output){let o=this.convertResponseToChat(r);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(n.includes("text/event-stream")){if(!e.body)return e;let r=new TextDecoder,o=new TextEncoder,s="",a=!1,c=this,l=new ReadableStream({async start(d){let f=e.body.getReader(),p=-1,g="",_=C=>(C!==g&&(p++,g=C),p);try{for(;;){let{done:C,value:b}=await f.read();if(C){a||d.enqueue(o.encode(`data: [DONE]
75
75
 
76
- `)),t.tools&&t.tools.length>0&&(o.tools=FC(t.tools),t.tool_choice&&(t.tool_choice==="auto"?o.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?o.tool_choice={type:"any"}:typeof t.tool_choice=="string"?o.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(o.tool_choice={type:"tool",name:t.tool_choice.function.name}))),o}var mi=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r){let n={};return this.useBearer?(n.authorization=`Bearer ${r.apiKey}`,n["x-api-key"]=void 0):(n["x-api-key"]=r.apiKey,n.authorization=void 0),{body:e,config:{headers:n}}}async transformRequestOut(e){let r=[];if(e.system){if(typeof e.system=="string")r.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));r.push({role:"system",content:s})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="system"){r.push({role:"system",content:s.content});return}if(s.role==="user"||s.role==="assistant"){if(typeof s.content=="string"){r.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let d={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};r.push(d)});let c=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);c.length&&r.push({role:"user",content:c.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?gp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},c=s.content.filter(f=>f.type==="text"&&f.text);c.length&&(a.content=c.map(f=>f.text).join(`
77
- `));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.signature}),r.push(a)}return}}});let o={messages:r,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:mp(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformRequestIn(e,r,n){if(!this.isAnthropicMessagesEndpoint(r.baseUrl))return e;n&&n.req&&(n.req.isTargetAnthropic=!0);let o=yp(e),s={};return this.useBearer?(s.authorization=`Bearer ${r.apiKey}`,s["x-api-key"]=void 0):(s["x-api-key"]=r.apiKey,s.authorization=void 0),s["anthropic-version"]="2023-06-01",s["content-type"]="application/json",{body:o,config:{headers:s}}}isAnthropicMessagesEndpoint(e){try{return new URL(e.trim()).pathname.replace(/\/+$/,"").endsWith("/messages")}catch{return!1}}async transformResponseIn(e,r){if(r?.req?.isTargetAnthropic)return e;if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema}}))}async convertOpenAIStreamToAnthropic(e,r){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,c=null,l="unknown",d=!1,f=!1,p=!1,g=new Map,A=new Map,w=0,y=0,_=0,m=!1,v=!1,b=0,S=-1,D=()=>{let B=b;return b++,B},O=B=>{if(!m)try{o.enqueue(B);let Y=new TextDecoder().decode(B);this.logger.debug({reqId:r.req.id,data:Y,type:"send data"})}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:Y instanceof Error?Y.message:String(Y),type:"send data error"}),Y}},q=()=>{if(!m)try{if(S>=0){let Y={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
78
- data: ${JSON.stringify(Y)}
76
+ `));break}let y=r.decode(b,{stream:!0});s+=y;let m=s.split(/\r?\n/);s=m.pop()||"";for(let k of m)if(k.trim())try{if(k.startsWith("event: "))continue;if(k.startsWith("data: ")){let w=k.slice(5).trim();if(w==="[DONE]"){a=!0,d.enqueue(o.encode(`data: [DONE]
79
77
 
80
- `)),S=-1}c?(O(s.encode(`event: message_delta
78
+ `));continue}try{let S=JSON.parse(w);if(S.type==="response.output_text.delta"){let T={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:_(S.type),delta:{content:S.delta||""},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(T)}
79
+
80
+ `))}else if(S.type==="response.output_item.added"&&S.item?.type==="function_call"){let T={id:S.item.call_id||S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:_(S.type),delta:{role:"assistant",tool_calls:[{index:0,id:S.item.call_id||S.item.id,function:{name:S.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(T)}
81
+
82
+ `))}else if(S.type==="response.output_item.added"&&S.item?.type==="message"){let T=[];(S.item.content||[]).forEach(U=>{U.type==="output_text"&&T.push({type:"text",text:U.text||""})});let R={role:"assistant"};if(T.length===1&&T[0].type==="text"?R.content=T[0].text:T.length>0&&(R.content=T),R.content){let U={id:S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:_(S.type),delta:R,finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(U)}
83
+
84
+ `))}}else if(S.type==="response.output_text.annotation.added"){let T={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex",choices:[{index:_(S.type),delta:{annotations:[{type:"url_citation",url_citation:{url:S.annotation?.url||"",title:S.annotation?.title||"",content:"",start_index:S.annotation?.start_index||0,end_index:S.annotation?.end_index||0}}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(T)}
85
+
86
+ `))}else if(S.type==="response.function_call_arguments.delta"){let T={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:_(S.type),delta:{tool_calls:[{index:0,function:{arguments:S.delta||""}}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(T)}
87
+
88
+ `))}else if(S.type==="response.completed"){let T=S.response?.output?.some(U=>U.type==="function_call")?"tool_calls":"stop",R={id:S.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:T}]};d.enqueue(o.encode(`data: ${JSON.stringify(R)}
89
+
90
+ `)),a=!0}else if(S.type==="response.reasoning_summary_text.delta"){let T={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:_(S.type),delta:{thinking:{content:S.delta||""}},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(T)}
91
+
92
+ `))}else if(S.type==="response.reasoning_summary_part.done"&&S.part){let T={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:p,delta:{thinking:{signature:S.item_id}},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(T)}
93
+
94
+ `))}}catch{d.enqueue(o.encode(k+`
95
+ `))}}else d.enqueue(o.encode(k+`
96
+ `))}catch(w){console.error("Error processing line:",k,w),d.enqueue(o.encode(k+`
97
+ `))}}s.trim()&&d.enqueue(o.encode(s+`
98
+ `)),a||d.enqueue(o.encode(`data: [DONE]
99
+
100
+ `))}catch(C){console.error("Stream error:",C),d.error(C)}finally{try{f.releaseLock()}catch(C){console.error("Error releasing reader lock:",C)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,n){let r={...e};if(delete r.cache_control,e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}async transformResponseIn(e,n){if(e.headers.get("Content-Type")?.includes("text/event-stream")&&e.body){let[o,s]=e.body.tee(),a=o.getReader(),c="";try{let{value:g,done:_}=await a.read();!_&&g&&(c=new TextDecoder().decode(g))}finally{a.releaseLock()}o.cancel().catch(()=>{});let l=c.includes("message_start")||c.includes("content_block_start");if(c.includes("chat.completion.chunk")&&!l){let g=this.prependToStream(c,s),_=this.convertOpenAIChatStreamToResponsesAPI(g,n);return new Response(_,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}let f=this.prependToStream(c,s),p=this.convertAnthropicStreamToResponsesAPI(f,n);return new Response(p,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}try{let o=await e.json();return new Response(JSON.stringify(this.wrapChatInResponses(o)),{headers:{"Content-Type":"application/json"}})}catch{return e}}prependToStream(e,n){let o=new TextEncoder().encode(e),s=n.getReader(),a=!1;return new ReadableStream({async pull(c){a||(a=!0,c.enqueue(o));try{let{done:l,value:d}=await s.read();l?c.close():c.enqueue(d)}catch(l){c.error(l)}},cancel(){s.cancel().catch(()=>{})}})}convertOpenAIChatStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,c=0,l=!1,d=!1,f="",p=-1,g=[];return new ReadableStream({async start(_){try{let C=e.getReader(),b="";for(;;){let{done:y,value:m}=await C.read();if(y)break;b+=r.decode(m,{stream:!0});let k=b.split(`
101
+ `);b=k.pop()||"";for(let w of k){let S=w.trim();if(!S||S.startsWith("event:")||!S.startsWith("data:"))continue;let T=S.slice(5).trim();if(T==="[DONE]"){_.enqueue(o.encode(`data: [DONE]
102
+
103
+ `));continue}let R;try{R=JSON.parse(T)}catch{continue}l||(l=!0,_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.created",response:{id:a,model:s}})}
104
+
105
+ `)),_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.in_progress",response:{id:a,model:s}})}
106
+
107
+ `)));let U=R.choices?.[0];if(!U)continue;let J=U.delta;if(J?.content){if(!d){d=!0;let F=c++,V={id:`${a}-text`,type:"message",role:"assistant",content:[]};g.push(V),_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_item.added",response_id:a,output_index:F,item:V})}
108
+
109
+ `))}_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_text.delta",item_id:`${a}-text`,output_index:c-1,content_index:0,delta:J.content})}
110
+
111
+ `))}if(Array.isArray(J?.tool_calls))for(let F of J.tool_calls){if(F.id){f=F.id,p=c++;let V={id:F.id,type:"function_call",call_id:F.id,name:F.function?.name||"",arguments:""};g.push(V),_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_item.added",response_id:a,output_index:p,item:V})}
112
+
113
+ `))}if(F.function?.arguments){_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.function_call_arguments.delta",item_id:f,output_index:p,delta:F.function.arguments})}
114
+
115
+ `));let V=g.find(Y=>Y.call_id===f);V&&(V.arguments+=F.function.arguments)}}if(U.finish_reason){let F=g.map(V=>V);_.enqueue(o.encode(`data: ${JSON.stringify({type:"response.completed",response:{id:a,model:R.model||s,output:F,usage:R.usage?{input_tokens:R.usage.prompt_tokens||0,output_tokens:R.usage.completion_tokens||0,total_tokens:R.usage.total_tokens||0}:void 0}})}
116
+
117
+ `))}}}_.close()}catch(C){_.error(C)}}})}convertAnthropicStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,c="",l="",d="",f="",p="",g=0,_=!1,C=!1,b=null,y=[];return new ReadableStream({async start(m){try{let k=e.getReader(),w="";for(;;){let{done:S,value:T}=await k.read();if(S)break;w+=r.decode(T,{stream:!0});let R=w.split(`
118
+ `);w=R.pop()||"";for(let U of R){let J=U.trim();if(!J||J.startsWith("event:")||!J.startsWith("data:"))continue;let F=J.slice(5).trim();if(F==="[DONE]")continue;let V;try{V=JSON.parse(F)}catch{continue}if(V.type==="message_start"&&(a=V.message?.id||a,m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.created",response:{id:a,model:s}})}
119
+
120
+ `)),m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.in_progress",response:{id:a,model:s}})}
121
+
122
+ `))),V.type==="content_block_start"){let Y=V.content_block;if(b=Y?.type||null,Y?.type==="tool_use"){l=Y.id||"",d=Y.name||"",f="";let X=g++,ee={id:l,type:"function_call",call_id:l,name:d,arguments:""};y.push(ee),m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_item.added",response_id:a,output_index:X,item:ee})}
123
+
124
+ `))}if(Y?.type==="thinking"&&(p=Y.thinking||"",!C)){C=!0;let X=g++,ee={id:`${a}-reasoning`,type:"reasoning_summary",summary:p};y.push(ee),m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_item.added",response_id:a,output_index:X,item:ee})}
125
+
126
+ `))}if(Y?.type==="text"&&(c=Y?.text||"",!_&&Y?.text!==void 0)){_=!0;let X=g++,ee={id:`${a}-text`,type:"message",role:"assistant",content:[]};y.push(ee),m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_item.added",response_id:a,output_index:X,item:ee})}
127
+
128
+ `))}}if(V.type==="content_block_delta"){let Y=V.delta;if(Y?.type==="text_delta"){if(c+=Y.text||"",!_){_=!0;let X=g++,ee={id:`${a}-text`,type:"message",role:"assistant",content:[]};y.push(ee),m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_item.added",response_id:a,output_index:X,item:ee})}
129
+
130
+ `))}m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.output_text.delta",item_id:`${a}-text`,output_index:g-1,content_index:0,delta:Y.text||""})}
131
+
132
+ `))}Y?.type==="thinking_delta"&&(p+=Y.thinking||"",m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.reasoning_summary_text.delta",item_id:`${a}-reasoning`,output_index:g-1,content_index:0,delta:Y.thinking||""})}
133
+
134
+ `))),Y?.type==="input_json_delta"&&(f+=Y.partial_json||"",m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.function_call_arguments.delta",item_id:l||`${a}-tool`,output_index:g-1,delta:Y.partial_json||""})}
135
+
136
+ `)))}if(V.type==="content_block_stop"){if(b==="tool_use"&&l){m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.function_call_arguments.done",item_id:l,output_index:g-1,delta:f})}
137
+
138
+ `));let Y=y.find(X=>X.call_id===l);Y&&(Y.arguments=f)}b=null}if(V.type==="message_delta"){let Y=V.usage,X=y.map(ee=>ee.type==="message"&&ee.role==="assistant"?{...ee,content:[{type:"output_text",text:c}]}:ee);m.enqueue(o.encode(`data: ${JSON.stringify({type:"response.completed",response:{id:a,model:s,output:X,usage:Y?{input_tokens:Y.input_tokens||0,output_tokens:Y.output_tokens||0,total_tokens:(Y.input_tokens||0)+(Y.output_tokens||0)}:void 0}})}
139
+
140
+ `))}V.type==="message_stop"&&m.enqueue(o.encode(`data: [DONE]
141
+
142
+ `))}}w="",m.close()}catch(k){m.error(k)}}})}wrapChatInResponses(e){let n=e?.choices?.[0],r=[],o=[];if(n?.message?.content&&o.push({type:"output_text",text:n.message.content}),r.push({type:"message",role:"assistant",content:o}),Array.isArray(n?.message?.tool_calls))for(let s of n.message.tool_calls)r.push({type:"function_call",id:s.id,call_id:s.id,name:s.function?.name||"",arguments:s.function?.arguments||"{}"});return{id:e.id||`resp_${Date.now()}`,object:"response",model:e.model,output:r,usage:e.usage?{input_tokens:e.usage.prompt_tokens||0,output_tokens:e.usage.completion_tokens||0,total_tokens:e.usage.total_tokens||0}:void 0}}convertResponseToChat(e){let n=e.output?.find(d=>d.type==="message"),r=e.output?.find(d=>d.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,c=null;if(n&&n.reasoning&&(c={content:n.reasoning}),n&&n.content){let d=[],f=[];if(n.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let g=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});g&&f.push(g)}else if(p.type==="output_image_base64"){let g=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});g&&f.push(g)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.join("")}return r&&(a=[{id:r.call_id||r.id,function:{name:r.name,arguments:r.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:c,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};async function $C(t,e,n,r){let o=t.body,s=t.provider;if(!s&&o?.model){let d=o.model.split(",");d.length>1&&(s=d[0],o.model=d.slice(1).join(","))}let a=s?n.providerService.getProvider(s):void 0;if(!a&&o?.model){let d=n.providerService.resolveModelRoute(o.model);d&&(a=d.provider,o.model=d.targetModel)}if(!a&&o?.model){let f=n.configService.get("Router")?.default;if(f&&f.includes(",")){let[p,...g]=f.split(","),_=n.providerService.getProvider(p);_&&(a=_,o.model=g.join(","))}}if(t.originalModel||(t.originalModel=o?.model),!a)throw He(`Provider '${s}' not found`,404,"provider_not_found");t.provider=a.name||s;let c=HC(t),l=r.endPoint==="/v1/messages"&&c;c&&e.header("X-Codex-Detected","true"),l&&e.header("X-Codex-On-Messages","true");try{if(r.endPoint==="/v1/responses"&&o.input&&!o.messages){let b=[],y=Array.isArray(o.input)?o.input:[o.input];for(let m of y)if(m.type==="function_call")b.push({role:"assistant",tool_calls:[{id:m.call_id,type:"function",function:{name:m.name,arguments:m.arguments||"{}"}}]});else if(m.type==="function_call_output")b.push({role:"tool",tool_call_id:m.call_id,content:typeof m.output=="string"?m.output:JSON.stringify(m.output)});else if(m.role){let k=m.content;Array.isArray(k)&&(k=k.map(w=>w.type==="input_text"?{type:"text",text:w.text}:w.type==="output_text"?{type:"text",text:w.text}:w.type==="input_image"?{type:"image_url",image_url:{url:w.image_url},media_type:w.mime_type}:w)),b.push({role:m.role,content:k})}o.messages=b,delete o.input,o.instructions&&typeof o.instructions=="string"&&(o.system=o.instructions,delete o.instructions),Array.isArray(o.tools)&&(o.tools=o.tools.filter(m=>m&&typeof m=="object").map(m=>m.type==="function"&&m.name&&!m.function?{type:"function",function:{name:m.name,description:m.description||"",parameters:m.parameters||{type:"object",properties:{}}}}:m.function?.name?m:m.type==="web_search"?{type:"function",function:{name:"web_search",description:"Search the web",parameters:{type:"object",properties:{query:{type:"string"}}}}}:null).filter(Boolean)),o.reasoning&&typeof o.reasoning=="object"&&(o.reasoning={enabled:!0,effort:o.reasoning.effort})}let{requestBody:d,config:f,bypass:p}=await _p(o,a,r,t.headers,{req:t});if(d?.messages&&!p&&!t.isTargetAnthropic){let b=d.messages,y=new Set,m=[],k=[];for(let w of b){if(w?.role!=="system"){k.push(w);continue}let S=JSON.stringify(w.content??"");y.has(S)||(y.add(S),m.push(w))}m.length>0&&k.length>0&&(d.messages=[...k,...m])}let g=await bp(d,f,a,n,p,r,{req:t});try{a?.baseUrl&&g?.headers&&Uo(s,a.baseUrl,g.headers)}catch{}let _=await Cp(d,g,a,r,p,{req:t,isCodexOnMessagesEndpoint:l});if(o.stream&&_?.body){let b=_.body.getReader(),y=await b.read();if(y.done)throw b.releaseLock(),He(`Provider returned empty streaming response from ${s}`,400,"provider_response_error");let m=new TextDecoder().decode(y.value);if(m.includes("event: error")){b.releaseLock();let S=m.length<500?m:m.slice(0,500);throw He(`Provider ${s} returned error in SSE stream: ${S}`,400,"provider_response_error")}if(m.split(`
143
+ `).filter(S=>S.startsWith("data:")&&S.trim().length>5).length===0){b.releaseLock();let S=m.length<500?m:m.slice(0,500);throw He(`Provider ${s} returned streaming response with no SSE data lines: ${S}`,400,"provider_response_error")}let w=new ReadableStream({start:S=>{S.enqueue(y.value);let T=()=>{b.read().then(({done:R,value:U})=>{R?S.close():(S.enqueue(U),T())}).catch(R=>S.error(R))};T()},cancel:()=>{b.cancel()}});_=new Response(w,{headers:_.headers,status:_.status,statusText:_.statusText})}let C=wp(_,e,o,n);try{let b=o.model||t.originalModel;s&&b&&Ge().recordSuccess(s,b)}catch{}return C}catch(d){let f=await UC(t,e,n,r,d);if(f)return f;throw d}}async function UC(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,c=t.modelFamily,l=n.configService.get("fallback"),d=Ge(),f=t.provider||"",p=t.body.model||"",g=new Set,_=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&yi(o.rawBody)||o?.message&&yi(o.message);if(f&&p&&(_?(d.markRateLimited(f,p,120,o?.message),t.log.warn(`Primary model ${f},${p} rate-limited, will try fallbacks`)):d.recordFailure(f,p,o?.message),g.add(`${f},${p}`),n.recordUsage?.({provider:f,model:p,originalModel:t.originalModel||p,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})),!n.configService.get("Router")?.enableFallback)return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let b=k=>{let[w,...S]=k.split(","),T=w?.trim(),R=S.join(",").trim();return!T||!R?null:{provider:T,model:R,key:`${T},${R}`}},y=[];if(c){let k=a?.[s];Array.isArray(k)&&k.length>0?y.push({name:`${c}/${s}`,models:k}):t.log.warn(`No ${c} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&y.push({name:`global/${s}`,models:l[s]}),y.length===0&&s!=="image"&&t.body?.messages?.some(S=>S.role==="user"&&Array.isArray(S.content)&&S.content.some(T=>T.type==="image"||T.type==="image_url"||Array.isArray(T?.content)&&T.content.some(R=>R.type==="image"||R.type==="image_url")))&&Array.isArray(l?.image)&&l.image.length>0&&(t.log.info(`No fallback for scenario '${s}', but request has images \u2014 trying fallback.image`),y.push({name:"global/image (auto-detected)",models:l.image})),y.length===0)return null;let m=y.reduce((k,w)=>k+w.models.length,0);t.log.warn(`Request failed for ${s}, trying ${m} fallback models across ${y.length} fallback stage(s)`);for(let k of y){t.log.info(`Trying ${k.name} fallback stage with ${k.models.length} models`);for(let w of k.models){let S=b(w);if(!S){t.log.warn(`Fallback model '${w}' is invalid, skipping`);continue}if(g.has(S.key))continue;g.add(S.key);let T=S.provider,R=S.model;try{if(!d.isAvailable(T,R)){t.log.warn(`Fallback model ${w} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${w}`);let U={...t.body};U.model=R;let J={...t,provider:T,body:U},F=n.providerService.getProvider(T);if(!F){t.log.warn(`Fallback provider '${T}' not found, skipping`);continue}if(F.enabled===!1){t.log.warn(`Fallback provider '${T}' is disabled, skipping`);continue}let{requestBody:V,config:Y,bypass:X}=await _p(U,F,r,t.headers,{req:J}),ee=await bp(V,Y,F,n,X,r,{req:J});try{F?.baseUrl&&ee?.headers&&Uo(T,F.baseUrl,ee.headers)}catch{}let de=await Cp(V,ee,F,r,X,{req:J});return t.log.info(`Fallback model ${w} succeeded`),d.recordSuccess(T,R),f&&p&&(jo().promote(f,p,s,T,R),t.log.info(`Promoted fallback model ${T},${R} for ${f},${p}:${s}`),_?t.log.info(`Rate-limited original model ${f},${p} already marked unavailable with cooldown`):(d.forceOpen(f,p,o?.message),t.log.info(`Marked original model ${f},${p} as unavailable`))),t.provider=T,t.body=U,wp(de,e,U,n)}catch(U){d.recordFailure(T,R,U.message),t.log.warn(`Fallback model ${S.key} failed: ${U.message}`),n.recordUsage?.({provider:T,model:R,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:U.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream,req:t});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function _p(t,e,n,r,o){let s=JSON.parse(JSON.stringify(t)),a=s?.system;if(typeof a=="string"&&a.includes("cch="))s.system=a.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");else if(Array.isArray(a))for(let d=0;d<a.length;d++){let f=a[d],p=typeof f=="string"?f:f?.text??"";if(p.includes("cch=")){let g=p.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof f=="string"?a[d]=g:typeof f?.text=="string"&&(f.text=g)}}let c={},l=!1;if(l=qC(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],c.headers=r),!l&&typeof n.transformRequestOut=="function"){let d=await n.transformRequestOut(s);d.body?(s=d.body,c=d.config||{}):s=d}if(!l&&e.transformer?.use?.length)for(let d of e.transformer.use){if(!d||typeof d.transformRequestIn!="function")continue;let f=await d.transformRequestIn(s,e,o);f.body?(s=f.body,c={...c,...f.config}):s=f}if(!l&&e.transformer?.[t.model]?.use?.length)for(let d of e.transformer[t.model].use)!d||typeof d.transformRequestIn!="function"||(s=await d.transformRequestIn(s,e,o));return{requestBody:s,config:c,bypass:l}}function qC(t,e,n){return e.endPoint==="/v1/chat/completions"&&Array.isArray(n?.system)?!1:t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[n.model]?.use.length||t.transformer?.[n.model]?.use.length===1&&t.transformer?.[n.model]?.use[0].name===e.name)}function HC(t){let n=(t.headers||{})["user-agent"]||"";if(typeof n=="string"&&/codex/i.test(n))return!0;let r=t.body?.model||"";return!!(typeof r=="string"&&/gpt-5\.\d+-(xhigh|mini|fast|codex)/i.test(r))}async function bp(t,e,n,r,o,s,a){let c=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let f=r.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,n);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];hi(r.configService)&&op(r.log,a.req.id,{url:String(c),headers:l,body:t});let d=await Qh(c,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!d.ok){let f=await d.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${d.status}): ${f}`);let p=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.isRateLimit=d.status===429||yi(f),p.rawBody=f,p}if(d.ok){let f=d.headers.get("content-type")||"",p=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${p} contentType=${f} ok=${d.ok} status=${d.status} hasBody=${!!d.body}`),!p||f.includes("application/json")){let g=d.clone(),_="";try{if(_=await g.text(),!_||_.trim()==="")throw new SyntaxError("Empty JSON body");let C=JSON.parse(_);if(C&&typeof C=="object"&&C.error&&(typeof C.error=="string"||typeof C.error=="object"&&Object.keys(C.error).length>0)){r.log.error(`[provider_response_error] Hidden error from provider(${n.name},${t.model}: ${d.status}): ${_}`);let y=yi(_),m=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${_}`,400,"provider_response_error");throw m.isRateLimit=y,m.rawBody=_,m}}catch(C){if(C instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${_}"`);let b=He(`API returned an empty or malformed response (HTTP 200) from ${n.name} \u2014 check for a proxy or gateway intercepting the request`,400,"provider_response_error");throw b.rawBody=_,b}throw C}}}if(!t.stream&&hi(r.configService)){let p=await d.clone().text();sp(r.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function Cp(t,e,n,r,o,s){let a=e;if(!o&&n.transformer?.use?.length)for(let c of Array.from(n.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&n.transformer?.[t.model]?.use?.length)for(let c of Array.from(n.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformResponseIn&&(s.provider||(s.provider=n),a=await r.transformResponseIn(a,s)),s?.isCodexOnMessagesEndpoint)try{a=await new Jr().transformResponseIn(a,{...s,provider:n})}catch(c){console.error("Failed to apply Responses API conversion for codex client:",c)}return a}function wp(t,e,n,r){if(t.ok||e.code(t.status),n.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&hi(r.configService)){let[s,a]=t.body.tee(),c=np(r.configService);return ip(s,r.log,e.request.id,c),e.send(a)}return e.send(t.body)}else return t.json()}var bc=async t=>{t.get("/",async()=>({message:"LLMs API",version:ap})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Ge().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError,rateLimitUntil:o.rateLimitUntil??null})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:n}of e)n.endPoint&&t.post(n.endPoint,async(r,o)=>$C(r,o,t,n));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(n,r)=>{let{name:o,baseUrl:s,apiKey:a,models:c}=n.body;if(!o?.trim())throw He("Provider name is required",400,"invalid_request");if(!s||!zC(s))throw He("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw He("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw He("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(n.body.name))throw He(`Provider with name '${n.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(n.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{let r=t.providerService.getProvider(n.params.id);if(!r)throw He("Provider not found",404,"provider_not_found");return r}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(n,r)=>{let o=t.providerService.updateProvider(n.params.id,n.body);if(!o)throw He("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{if(!t.providerService.deleteProvider(n.params.id))throw He("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(n,r)=>{if(!t.providerService.toggleProvider(n.params.id,n.body.enabled))throw He("Provider not found",404,"provider_not_found");return{message:`Provider ${n.body.enabled?"enabled":"disabled"} successfully`}})};function yi(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("rate_limit")||e.includes("rate_limit_error")||e.includes("too many requests")||e.includes("too many")||e.includes("quota exhausted")||e.includes("qps_limit")||e.includes("token_limit")||e.includes("\u9650\u6D41")||e.includes("\u9891\u7387\u9650\u5236")}function zC(t){try{return new URL(t),!0}catch{return!1}}var gr=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],quotaToken:n.quota_token,transformer:n.transformer?r:void 0,cacheMode:n.cache_mode||"exclusive",enabled:n.enabled!==!1,wakeupEnabled:n.wakeup_enabled===!0,wakeupTime:n.wakeup_time||"06:00",wakeupModel:n.wakeup_model||""}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}registerProvider(e){let n={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let a=`${r.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let a=`${r.name},${s}`,c={provider:r.name,model:s,fullModel:a};this.modelRoutes.set(a,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){let r=this.providers.get(e);if(!r)return!1;r.enabled=n;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=n)}return!0}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var Ye=[];for(let t=0;t<256;++t)Ye.push((t+256).toString(16).slice(1));function Ep(t,e=0){return(Ye[t[e+0]]+Ye[t[e+1]]+Ye[t[e+2]]+Ye[t[e+3]]+"-"+Ye[t[e+4]]+Ye[t[e+5]]+"-"+Ye[t[e+6]]+Ye[t[e+7]]+"-"+Ye[t[e+8]]+Ye[t[e+9]]+"-"+Ye[t[e+10]]+Ye[t[e+11]]+Ye[t[e+12]]+Ye[t[e+13]]+Ye[t[e+14]]+Ye[t[e+15]]).toLowerCase()}var Sp=require("crypto"),bi=new Uint8Array(256),_i=bi.length;function Cc(){return _i>bi.length-16&&((0,Sp.randomFillSync)(bi),_i=0),bi.slice(_i,_i+=16)}var Ap=require("crypto"),wc={randomUUID:Ap.randomUUID};function WC(t,e,n){if(wc.randomUUID&&!e&&!t)return wc.randomUUID();t=t||{};let r=t.random??t.rng?.()??Cc();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return Ep(r)}var Ut=WC;var kp=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var vp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function GC(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function Tp(t){let e=[],n=[],r=g=>{if(typeof g=="string"){n.push({type:"text",text:g});return}Array.isArray(g)&&g.forEach(_=>{if(typeof _=="string"){n.push({type:"text",text:_});return}_&&typeof _=="object"&&_.type==="text"&&_.text&&n.push({..._})})},o=()=>{let g=new Map;for(let _=0;_<n.length;_++){let C=n[_],b=C?.text??JSON.stringify(C),y=g.get(b);if(y===void 0){g.set(b,_);continue}!n[y]?.cache_control&&C?.cache_control&&(n[y]=C),n.splice(_,1),_--}};t.messages.forEach(g=>{g.role==="system"?r(g.content):e.push(g)}),o();let s=[];for(let g=0;g<e.length;g++){let _=e[g];if(_.role==="tool"){let C=_.content;try{typeof _.content=="string"&&(C=JSON.parse(_.content))}catch{}C!=null&&typeof C!="object"&&typeof C!="string"&&(C=String(C));let b={type:"tool_result",tool_use_id:_.tool_call_id,content:C};_.cache_control&&(b.cache_control=_.cache_control);let y=s[s.length-1];y&&y.role==="user"&&Array.isArray(y.content)?y.content.push(b):s.push({role:"user",content:[b]})}else if(_.role==="user"){let C=[];typeof _.content=="string"?C.push({type:"text",text:_.content}):Array.isArray(_.content)&&_.content.forEach(y=>{y&&typeof y=="object"&&y.type==="image_url"&&y.image_url?.url?C.push({type:"image",source:{type:"base64",media_type:y.media_type||"image/jpeg",data:y.image_url.url.split(",")[1]||y.image_url.url}}):C.push(y)});let b=s[s.length-1];b&&b.role==="user"&&Array.isArray(b.content)?b.content.push(...C):s.push({role:"user",content:C.length>0?C:[{type:"text",text:" "}]})}else if(_.role==="assistant"){let C=[];_.content&&(typeof _.content=="string"?C.push({type:"text",text:_.content}):Array.isArray(_.content)&&C.push(..._.content)),_.tool_calls&&_.tool_calls.length>0&&_.tool_calls.forEach(y=>{let m={};try{m=JSON.parse(y.function.arguments)}catch{m=y.function.arguments}C.push({type:"tool_use",id:y.id,name:y.function.name,input:m})}),_.thinking&&C.unshift({type:"thinking",thinking:_.thinking.content,signature:_.thinking.signature});let b=s[s.length-1];b&&b.role==="assistant"&&Array.isArray(b.content)?b.content.push(...C):s.push({role:"assistant",content:C.length>0?C:[{type:"text",text:" "}]})}}let a=()=>{let g=n.filter(_=>_?.cache_control).length;for(let _ of s)Array.isArray(_.content)&&(g+=_.content.filter(C=>C?.cache_control).length);return g},c=g=>g&&typeof g=="object"?{...g}:{type:"ephemeral"},l=()=>{for(let g=s.length-1;g>=0;g--){let _=s[g]?.content;if(!Array.isArray(_))continue;let C=_.find(b=>b?.cache_control);if(C?.cache_control)return C.cache_control}for(let g=n.length-1;g>=0;g--)if(n[g]?.cache_control)return n[g].cache_control;return{type:"ephemeral"}},d=(g,_)=>{if(!Array.isArray(g?.content)||g.content.some(b=>b?.cache_control))return!1;let C=g.content.find(b=>b&&typeof b=="object"&&!b.cache_control);return C?(C.cache_control=c(_),!0):!1};(()=>{let g=4-a();if(g<=0||s.length===0)return;let _=s,C=l(),b=[];for(let y=_.length-1;y>=0;y--)_[y]?.role!=="user"||!Array.isArray(_[y].content)||b.push(y);for(let y of b){if(g<=0)break;d(_[y],C)&&g--}})();let p={messages:s,model:t.model,max_tokens:t.max_tokens||4096,temperature:t.temperature,stream:t.stream};if(n.length>0){let g=n.some(_=>_?.cache_control);p.system=g?n:n.map(_=>_.text||"").join(`
144
+
145
+ `)}return t.tools&&t.tools.length>0&&(p.tools=GC(t.tools),t.tool_choice&&(t.tool_choice==="auto"?p.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?p.tool_choice={type:"any"}:typeof t.tool_choice=="string"?p.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(p.tool_choice={type:"tool",name:t.tool_choice.function.name}))),p}var Ci=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,n){let r={};return this.useBearer?(r.authorization=`Bearer ${n.apiKey}`,r["x-api-key"]=void 0):(r["x-api-key"]=n.apiKey,r.authorization=void 0),{body:e,config:{headers:r}}}async transformRequestOut(e){let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));n.push({role:"system",content:s})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="system"){n.push({role:"system",content:s.content});return}if(s.role==="user"||s.role==="assistant"){if(typeof s.content=="string"){n.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let d={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};n.push(d)});let c=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);c.length&&n.push({role:"user",content:c.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?vp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},c=s.content.filter(f=>f.type==="text"&&f.text);c.length&&(a.content=c.map(f=>f.text).join(`
146
+ `));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.signature}),n.push(a)}return}}});let o={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:kp(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformRequestIn(e,n,r){if(!this.isAnthropicMessagesEndpoint(n.baseUrl))return e;r&&r.req&&(r.req.isTargetAnthropic=!0);let o=Tp(e),s={};return this.useBearer?(s.authorization=`Bearer ${n.apiKey}`,s["x-api-key"]=void 0):(s["x-api-key"]=n.apiKey,s.authorization=void 0),s["anthropic-version"]="2023-06-01",s["content-type"]="application/json",{body:o,config:{headers:s}}}isAnthropicMessagesEndpoint(e){try{return new URL(e.trim()).pathname.replace(/\/+$/,"").endsWith("/messages")}catch{return!1}}async transformResponseIn(e,n){if(n?.req?.isTargetAnthropic)return e;if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,n);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,n);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(n=>({type:"function",function:{name:n.name,description:n.description||"",parameters:n.input_schema}}))}async convertOpenAIStreamToAnthropic(e,n){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,c=null,l="unknown",d=!1,f=!1,p=!1,g=new Map,_=new Map,C=0,b=0,y=0,m=!1,k=!1,w=0,S=-1,T=()=>{let F=w;return w++,F},R=F=>{if(!m)try{o.enqueue(F);let V=new TextDecoder().decode(F);this.logger.debug({reqId:n.req.id,data:V,type:"send data"})}catch(V){if(V instanceof TypeError&&V.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:n.req.id,error:V instanceof Error?V.message:String(V),type:"send data error"}),V}},U=()=>{if(!m)try{if(!d){this.logger?.warn("[empty_stream] Upstream produced no data, closing silently"),o.close(),m=!0;return}if(S>=0){let V={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
147
+ data: ${JSON.stringify(V)}
148
+
149
+ `)),S=-1}if(c)R(s.encode(`event: message_delta
81
150
  data: ${JSON.stringify(c)}
82
151
 
83
- `)),c=null):O(s.encode(`event: message_delta
84
- data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:0,output_tokens:0,cache_read_input_tokens:0}})}
152
+ `)),c=null;else{let V=n?.req?.tokenCount||0;R(s.encode(`event: message_delta
153
+ data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:V,output_tokens:0,cache_read_input_tokens:0}})}
85
154
 
86
- `));let B={type:"message_stop"};O(s.encode(`event: message_stop
87
- data: ${JSON.stringify(B)}
155
+ `))}let F={type:"message_stop"};R(s.encode(`event: message_stop
156
+ data: ${JSON.stringify(F)}
88
157
 
89
- `)),o.close(),m=!0}catch(B){if(B instanceof TypeError&&B.message.includes("Controller is already closed"))m=!0;else throw B}},J=null;try{J=e.getReader();let B=new TextDecoder,Y="";for(;!m;){let{done:te,value:Z}=await J.read();if(te)break;Y+=B.decode(Z,{stream:!0});let ae=Y.split(`
90
- `);Y=ae.pop()||"";for(let de of ae){if(m||p)break;if(!de.startsWith("data:"))continue;let Ae=de.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:Ae}),Ae!=="[DONE]")try{let oe=JSON.parse(Ae);if(w++,this.logger.debug({reqId:r.req.id,response:oe,tppe:"Original Response"}),oe.error){r?.req&&(r.req.sseError=oe.error);let G={type:"error",message:{type:"api_error",message:JSON.stringify(oe.error)}};O(s.encode(`event: error
91
- data: ${JSON.stringify(G)}
158
+ `)),o.close(),m=!0}catch(F){if(F instanceof TypeError&&F.message.includes("Controller is already closed"))m=!0;else throw F}},J=null;try{J=e.getReader();let F=new TextDecoder,V="";for(;!m;){let{done:Y,value:X}=await J.read();if(Y)break;V+=F.decode(X,{stream:!0});let ee=V.split(`
159
+ `);V=ee.pop()||"";for(let de of ee){if(m||p)break;if(!de.startsWith("data:"))continue;let Se=de.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:Se}),Se!=="[DONE]")try{let ue=JSON.parse(Se);if(C++,this.logger.debug({reqId:n.req.id,response:ue,tppe:"Original Response"}),ue.error){n?.req&&(n.req.sseError=ue.error);let W={type:"error",message:{type:"api_error",message:JSON.stringify(ue.error)}};R(s.encode(`event: error
160
+ data: ${JSON.stringify(W)}
92
161
 
93
- `));continue}if(l=oe.model||l,!d&&!m&&!p){d=!0;let G={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}};O(s.encode(`event: message_start
94
- data: ${JSON.stringify(G)}
162
+ `));continue}if(l=ue.model||l,!d&&!m&&!p){d=!0;let W=n?.req?.tokenCount||0,Q={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:W,output_tokens:0}}};R(s.encode(`event: message_start
163
+ data: ${JSON.stringify(Q)}
95
164
 
96
- `))}let pe=oe.choices?.[0];if(oe.usage&&(c?c.usage={input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}:c={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}}),!pe)continue;if(pe?.delta?.thinking&&!m&&!p&&!f){if(!v){let G=D(),K={type:"content_block_start",index:G,content_block:{type:"thinking",thinking:""}};O(s.encode(`event: content_block_start
97
- data: ${JSON.stringify(K)}
165
+ `))}let pe=ue.choices?.[0];if(ue.usage){let W=ue.usage?.prompt_tokens_details?.cached_tokens||0,re=(ue.usage?.prompt_tokens||0)-W;c?c.usage={input_tokens:re,output_tokens:ue.usage?.completion_tokens||0,cache_read_input_tokens:W}:c={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:re,output_tokens:ue.usage?.completion_tokens||0,cache_read_input_tokens:W}}}if(!pe)continue;if(pe?.delta?.thinking&&!m&&!p&&!f){if(!k){let W=T(),Q={type:"content_block_start",index:W,content_block:{type:"thinking",thinking:""}};R(s.encode(`event: content_block_start
166
+ data: ${JSON.stringify(Q)}
98
167
 
99
- `)),S=G,v=!0}if(pe.delta.thinking.signature){let G={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:pe.delta.thinking.signature}};O(s.encode(`event: content_block_delta
100
- data: ${JSON.stringify(G)}
168
+ `)),S=W,k=!0}if(pe.delta.thinking.signature){let W={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:pe.delta.thinking.signature}};R(s.encode(`event: content_block_delta
169
+ data: ${JSON.stringify(W)}
101
170
 
102
- `));let K={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
103
- data: ${JSON.stringify(K)}
171
+ `));let Q={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
172
+ data: ${JSON.stringify(Q)}
104
173
 
105
- `)),S=-1}else if(pe.delta.thinking.content){let G={type:"content_block_delta",index:S,delta:{type:"thinking_delta",thinking:pe.delta.thinking.content||""}};O(s.encode(`event: content_block_delta
106
- data: ${JSON.stringify(G)}
174
+ `)),S=-1}else if(pe.delta.thinking.content){let W={type:"content_block_delta",index:S,delta:{type:"thinking_delta",thinking:pe.delta.thinking.content||""}};R(s.encode(`event: content_block_delta
175
+ data: ${JSON.stringify(W)}
107
176
 
108
- `))}}if(pe?.delta?.content&&!m&&!p){if(y++,S>=0&&!f){let K={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
109
- data: ${JSON.stringify(K)}
177
+ `))}}if(pe?.delta?.content&&!m&&!p){if(b++,S>=0&&!f){let Q={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
178
+ data: ${JSON.stringify(Q)}
110
179
 
111
- `)),S=-1}if(!f&&!p){f=!0;let G=D(),K={type:"content_block_start",index:G,content_block:{type:"text",text:""}};O(s.encode(`event: content_block_start
112
- data: ${JSON.stringify(K)}
180
+ `)),S=-1}if(!f&&!p){f=!0;let W=T(),Q={type:"content_block_start",index:W,content_block:{type:"text",text:""}};R(s.encode(`event: content_block_start
181
+ data: ${JSON.stringify(Q)}
113
182
 
114
- `)),S=G}if(!m&&!p){let G={type:"content_block_delta",index:S,delta:{type:"text_delta",text:pe.delta.content}};O(s.encode(`event: content_block_delta
115
- data: ${JSON.stringify(G)}
183
+ `)),S=W}if(!m&&!p){let W={type:"content_block_delta",index:S,delta:{type:"text_delta",text:pe.delta.content}};R(s.encode(`event: content_block_delta
184
+ data: ${JSON.stringify(W)}
116
185
 
117
- `))}}if(pe?.delta?.annotations?.length&&!m&&!p){if(S>=0&&f){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
118
- data: ${JSON.stringify(G)}
186
+ `))}}if(pe?.delta?.annotations?.length&&!m&&!p){if(S>=0&&f){let W={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
187
+ data: ${JSON.stringify(W)}
119
188
 
120
- `)),S=-1,f=!1}pe?.delta?.annotations.forEach(G=>{let K=D(),ue={type:"content_block_start",index:K,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Xt()}`,content:[{type:"web_search_result",title:G.url_citation.title,url:G.url_citation.url}]}};O(s.encode(`event: content_block_start
121
- data: ${JSON.stringify(ue)}
189
+ `)),S=-1,f=!1}pe?.delta?.annotations.forEach(W=>{let Q=T(),re={type:"content_block_start",index:Q,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Ut()}`,content:[{type:"web_search_result",title:W.url_citation.title,url:W.url_citation.url}]}};R(s.encode(`event: content_block_start
190
+ data: ${JSON.stringify(re)}
122
191
 
123
- `));let qe={type:"content_block_stop",index:K};O(s.encode(`event: content_block_stop
124
- data: ${JSON.stringify(qe)}
192
+ `));let $e={type:"content_block_stop",index:Q};R(s.encode(`event: content_block_stop
193
+ data: ${JSON.stringify($e)}
125
194
 
126
- `)),S=-1})}if(pe?.delta?.tool_calls&&!m&&!p){_++;let G=new Set;for(let K of pe.delta.tool_calls){if(m)break;let ue=K.index??0;if(G.has(ue))continue;if(G.add(ue),!A.has(ue)){if(S>=0){let Re={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
195
+ `)),S=-1})}if(pe?.delta?.tool_calls&&!m&&!p){y++;let W=new Set;for(let Q of pe.delta.tool_calls){if(m)break;let re=Q.index??0;if(W.has(re))continue;if(W.add(re),!_.has(re)){if(S>=0){let Re={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
127
196
  data: ${JSON.stringify(Re)}
128
197
 
129
- `)),S=-1}let Te=D();A.set(ue,Te);let W=K.id||`call_${Date.now()}_${ue}`,le=K.function?.name||`tool_${ue}`,ye={type:"content_block_start",index:Te,content_block:{type:"tool_use",id:W,name:le,input:{}}};O(s.encode(`event: content_block_start
130
- data: ${JSON.stringify(ye)}
198
+ `)),S=-1}let ke=T();_.set(re,ke);let G=Q.id||`call_ccr_${re}`,le=Q.function?.name||`tool_${re}`,_e={type:"content_block_start",index:ke,content_block:{type:"tool_use",id:G,name:le,input:{}}};R(s.encode(`event: content_block_start
199
+ data: ${JSON.stringify(_e)}
131
200
 
132
- `)),S=Te;let Nt={id:W,name:le,arguments:"",contentBlockIndex:Te};g.set(ue,Nt)}else if(K.id&&K.function?.name){let Te=g.get(ue);Te.id.startsWith("call_")&&Te.name.startsWith("tool_")&&(Te.id=K.id,Te.name=K.function.name)}if(K.function?.arguments&&!m&&!p){let Te=A.get(ue);if(Te===void 0)continue;let W=g.get(ue);W&&(W.arguments+=K.function.arguments);try{let le={type:"content_block_delta",index:Te,delta:{type:"input_json_delta",partial_json:K.function.arguments}};O(s.encode(`event: content_block_delta
201
+ `)),S=ke;let Bt={id:G,name:le,arguments:"",contentBlockIndex:ke};g.set(re,Bt)}else if(Q.id&&Q.function?.name){let ke=g.get(re);ke.id.startsWith("call_")&&ke.name.startsWith("tool_")&&(ke.id=Q.id,ke.name=Q.function.name)}if(Q.function?.arguments&&!m&&!p){let ke=_.get(re);if(ke===void 0)continue;let G=g.get(re);G&&(G.arguments+=Q.function.arguments);try{let le={type:"content_block_delta",index:ke,delta:{type:"input_json_delta",partial_json:Q.function.arguments}};R(s.encode(`event: content_block_delta
133
202
  data: ${JSON.stringify(le)}
134
203
 
135
- `))}catch{try{let le=K.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),ye={type:"content_block_delta",index:Te,delta:{type:"input_json_delta",partial_json:le}};O(s.encode(`event: content_block_delta
136
- data: ${JSON.stringify(ye)}
204
+ `))}catch{try{let le=Q.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),_e={type:"content_block_delta",index:ke,delta:{type:"input_json_delta",partial_json:le}};R(s.encode(`event: content_block_delta
205
+ data: ${JSON.stringify(_e)}
137
206
 
138
- `))}catch(le){console.error(le)}}}}}if(pe?.finish_reason&&!m&&!p){if(y===0&&_===0&&console.error("Warning: No content in the stream response!"),S>=0){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
139
- data: ${JSON.stringify(G)}
207
+ `))}catch(le){console.error(le)}}}}}if(pe?.finish_reason&&!m&&!p){if(b===0&&y===0&&console.error("Warning: No content in the stream response!"),S>=0){let W={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
208
+ data: ${JSON.stringify(W)}
140
209
 
141
- `)),S=-1}m||(c={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(oe.usage?.prompt_tokens||0)-(oe.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:oe.usage?.completion_tokens||0,cache_read_input_tokens:oe.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(oe){this.logger?.error(`parseError: ${oe.name} message: ${oe.message} stack: ${oe.stack} data: ${Ae}`)}}}q()}catch(B){if(!m)try{o.error(B)}catch(Y){console.error(Y)}}finally{if(J)try{J.releaseLock()}catch(B){console.error(B)}}},cancel:o=>{this.logger.debug({reqId:r.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,r){this.logger.debug({reqId:r.req.id,response:e},"Original OpenAI response");try{let n=e.choices[0];if(!n)throw new Error("No choices found in OpenAI response");let o=[];if(n.message.annotations){let a=`srvtoolu_${Xt()}`;o.push({type:"server_tool_use",id:a,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:a,content:n.message.annotations.map(c=>({type:"web_search_result",url:c.url_citation.url,title:c.url_citation.title}))})}n.message.content&&o.push({type:"text",text:n.message.content}),n.message.tool_calls&&n.message.tool_calls.length>0&&n.message.tool_calls.forEach(a=>{let c={};try{let l=a.function.arguments||"{}";typeof l=="object"?c=l:typeof l=="string"&&(c=JSON.parse(l))}catch{c={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:c})}),n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature});let s={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":n.finish_reason==="length"?"max_tokens":n.finish_reason==="tool_calls"?"tool_use":n.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:(e.usage?.prompt_tokens||0)-(e.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:e.usage?.completion_tokens||0,cache_read_input_tokens:e.usage?.prompt_tokens_details?.cached_tokens||0}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw rt(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Gn={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function IC(t,e){t.includes("null")&&(e.nullable=!0);let r=t.filter(n=>n!=="null");if(r.length===1){let n=r[0].toUpperCase();e.type=Object.values(Gn).includes(n)?n:Gn.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Gn).includes(o)?o:Gn.TYPE_UNSPECIFIED})}}}function Uo(t){let e={},r=["items"],n=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&IC(t.type,e);for(let[a,c]of Object.entries(t))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(c))continue;let l=c.toUpperCase();e.type=Object.values(Gn).includes(l)?l:Gn.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Uo(c);else if(n.includes(a)){let l=[];for(let d of c){if(d.type=="null"){e.nullable=!0;continue}l.push(Uo(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(c))l[d]=Uo(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=c}return e}function BC(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Uo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Uo(e.response));return t}function gi(t){let e=[],r=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));r?.length&&e.push(BC({functionDeclarations:r})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let g={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(g.thoughtSignature=l.thinking.signature),g})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(g=>{let A=s.find(w=>w.tool_call_id===g.id);return{functionResponse:{name:g?.function?.name,response:{result:A?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}let c={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),c.toolConfig=l}return c}function yi(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,c=t.tool_choice,l={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:c};return Array.isArray(e)&&e.forEach(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(r)&&(l.tools=[],r.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function _i(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();r?.debug({response:n},`${e} response:`);let o="",s="",a=n.candidates[0]?.content?.parts||[],c=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:c.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=c?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=c?.filter(p=>p.text)?.map(p=>p.text)?.join(`
142
- `)||"",f={id:n.responseId,choices:[{finish_reason:n.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.modelVersion,object:"chat.completion",usage:{completion_tokens:n.usageMetadata?.candidatesTokenCount||0,prompt_tokens:n.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:n.usageMetadata?.cachedContentTokenCount||0},total_tokens:n.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:n.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(f),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=!1,a=!1,c=!1,l="",d=0,f=-1,p=new ReadableStream({async start(g){let A=async(_,m)=>{if(_.startsWith("data: ")){let v=_.slice(6).trim();if(v){r?.debug({chunkStr:v},`${e} chunk:`);try{let b=JSON.parse(v);if(!b.candidates||!b.candidates[0]){r?.debug({chunkStr:v},"Invalid chunk structure");return}let S=b.candidates[0],D=S.content?.parts||[];D.filter(B=>B.text&&B.thought===!0).forEach(B=>{c||(c=!0);let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:B.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
210
+ `)),S=-1}if(!m){let Q={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn",re=ue.usage?.prompt_tokens_details?.cached_tokens||0,ke=(ue.usage?.prompt_tokens||0)-re;c={type:"message_delta",delta:{stop_reason:Q,stop_sequence:null},usage:{input_tokens:ke,output_tokens:ue.usage?.completion_tokens||0,cache_read_input_tokens:re}}}break}}catch(ue){this.logger?.error(`parseError: ${ue.name} message: ${ue.message} stack: ${ue.stack} data: ${Se}`)}}}U()}catch(F){if(!m)try{o.error(F)}catch(V){console.error(V)}}finally{if(J)try{J.releaseLock()}catch(F){console.error(F)}}},cancel:o=>{this.logger.debug({reqId:n.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,n){this.logger.debug({reqId:n.req.id,response:e},"Original OpenAI response");try{let r=e.choices[0];if(!r)throw new Error("No choices found in OpenAI response");let o=[];if(r.message.annotations){let l=`srvtoolu_${Ut()}`;o.push({type:"server_tool_use",id:l,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:l,content:r.message.annotations.map(d=>({type:"web_search_result",url:d.url_citation.url,title:d.url_citation.title}))})}r.message.content&&o.push({type:"text",text:r.message.content}),r.message.tool_calls&&r.message.tool_calls.length>0&&r.message.tool_calls.forEach(l=>{let d={};try{let f=l.function.arguments||"{}";typeof f=="object"?d=f:typeof f=="string"&&(d=JSON.parse(f))}catch{d={text:l.function.arguments||""}}o.push({type:"tool_use",id:l.id,name:l.function.name,input:d})}),r.message?.thinking?.content&&o.push({type:"thinking",thinking:r.message.thinking.content,signature:r.message.thinking.signature});let s=e.usage?.prompt_tokens_details?.cached_tokens||0,a=(e.usage?.prompt_tokens||0)-s,c={id:e.id?.startsWith("msg_")?e.id:`msg_${Ut().replace(/-/g,"")}`,type:"message",role:"assistant",model:e.model,content:o,stop_reason:r.finish_reason==="stop"?"end_turn":r.finish_reason==="length"?"max_tokens":r.finish_reason==="tool_calls"?"tool_use":r.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:a,cache_creation_input_tokens:0,cache_read_input_tokens:s,output_tokens:e.usage?.completion_tokens||0,server_tool_use:{web_search_requests:0,web_fetch_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0},inference_geo:"",iterations:[],speed:"standard"},stop_details:null,context_management:null};return this.logger.debug({reqId:n.req.id,result:c},"Conversion complete, final Anthropic response"),c}catch{throw He(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Vr={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function JC(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(r=>r!=="null");if(n.length===1){let r=n[0].toUpperCase();e.type=Object.values(Vr).includes(r)?r:Vr.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(Vr).includes(o)?o:Vr.TYPE_UNSPECIFIED})}}}function qo(t){let e={},n=["items"],r=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&JC(t.type,e);for(let[a,c]of Object.entries(t))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(c))continue;let l=c.toUpperCase();e.type=Object.values(Vr).includes(l)?l:Vr.TYPE_UNSPECIFIED}else if(n.includes(a))e[a]=qo(c);else if(r.includes(a)){let l=[];for(let d of c){if(d.type=="null"){e.nullable=!0;continue}l.push(qo(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(c))l[d]=qo(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=c}return e}function VC(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=qo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=qo(e.response));return t}function wi(t){let e=[],n=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));n?.length&&e.push(VC({functionDeclarations:n})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let g={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(g.thoughtSignature=l.thinking.signature),g})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(g=>{let _=s.find(C=>C.tool_call_id===g.id);return{functionResponse:{name:g?.function?.name,response:{result:_?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}let c={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),c.toolConfig=l}return c}function Ei(t){let e=t.contents,n=t.tools,r=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,c=t.tool_choice,l={messages:[],model:r,max_tokens:o,temperature:s,stream:a,tool_choice:c};return Array.isArray(e)&&e.forEach(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(n)&&(l.tools=[],n.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function Si(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json();n?.debug({response:r},`${e} response:`);let o="",s="",a=r.candidates[0]?.content?.parts||[],c=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:c.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=c?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=c?.filter(p=>p.text)?.map(p=>p.text)?.join(`
211
+ `)||"",f={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.modelVersion,object:"chat.completion",usage:{completion_tokens:r.usageMetadata?.candidatesTokenCount||0,prompt_tokens:r.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:r.usageMetadata?.cachedContentTokenCount||0},total_tokens:r.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:r.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(f),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=!1,a=!1,c=!1,l="",d=0,f=-1,p=new ReadableStream({async start(g){let _=async(y,m)=>{if(y.startsWith("data: ")){let k=y.slice(6).trim();if(k){n?.debug({chunkStr:k},`${e} chunk:`);try{let w=JSON.parse(k);if(!w.candidates||!w.candidates[0]){n?.debug({chunkStr:k},"Invalid chunk structure");return}let S=w.candidates[0],T=S.content?.parts||[];T.filter(F=>F.text&&F.thought===!0).forEach(F=>{c||(c=!0);let V={choices:[{delta:{role:"assistant",content:null,thinking:{content:F.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(V)}
143
212
 
144
- `))});let O=D.find(B=>B.thoughtSignature)?.thoughtSignature;if(O&&!s){if(!c){let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
213
+ `))});let R=T.find(F=>F.thoughtSignature)?.thoughtSignature;if(R&&!s){if(!c){let V={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(V)}
145
214
 
146
- `))}let B={choices:[{delta:{role:"assistant",content:null,thinking:{signature:O}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m.enqueue(o.encode(`data: ${JSON.stringify(B)}
215
+ `))}let F={choices:[{delta:{role:"assistant",content:null,thinking:{signature:R}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m.enqueue(o.encode(`data: ${JSON.stringify(F)}
147
216
 
148
- `)),s=!0,d++,l){let Y={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
217
+ `)),s=!0,d++,l){let V={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(V)}
149
218
 
150
- `)),l="",a||(a=!0)}}let q=D.filter(B=>B.functionCall).map(B=>({id:B.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:B.functionCall?.name,arguments:JSON.stringify(B.functionCall?.args||{})}})),J=D.filter(B=>B.text&&B.thought!==!0).map(B=>B.text).join(`
151
- `);if(!J&&s&&!a){let B={choices:[{delta:{role:"assistant",content:"(no content)"},index:d,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(B)}
219
+ `)),l="",a||(a=!0)}}let U=T.filter(F=>F.functionCall).map(F=>({id:F.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:F.functionCall?.name,arguments:JSON.stringify(F.functionCall?.args||{})}})),J=T.filter(F=>F.text&&F.thought!==!0).map(F=>F.text).join(`
220
+ `);if(!J&&s&&!a){let F={choices:[{delta:{role:"assistant",content:"(no content)"},index:d,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(F)}
152
221
 
153
- `)),a||(a=!0)}if(c&&J&&!s)if(b.modelVersion.includes("3")){l+=J;return}else{let B={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(B)}
222
+ `)),a||(a=!0)}if(c&&J&&!s)if(w.modelVersion.includes("3")){l+=J;return}else{let F={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(F)}
154
223
 
155
- `)),s=!0}if(J){l||d++;let B={choices:[{delta:{role:"assistant",content:J},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(B.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Y,te)=>{let Z=S?.groundingMetadata?.groundingSupports?.filter(ae=>ae.groundingChunkIndices?.includes(te));return{type:"url_citation",url_citation:{url:Y?.web?.uri||"",title:Y?.web?.title||"",content:Z?.[0]?.segment?.text||"",start_index:Z?.[0]?.segment?.startIndex||0,end_index:Z?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(B)}
224
+ `)),s=!0}if(J){l||d++;let F={choices:[{delta:{role:"assistant",content:J},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:w.usageMetadata?.candidatesTokenCount||0,prompt_tokens:w.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:w.usageMetadata?.cachedContentTokenCount||0},total_tokens:w.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:w.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(F.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((V,Y)=>{let X=S?.groundingMetadata?.groundingSupports?.filter(ee=>ee.groundingChunkIndices?.includes(Y));return{type:"url_citation",url_citation:{url:V?.web?.uri||"",title:V?.web?.title||"",content:X?.[0]?.segment?.text||"",start_index:X?.[0]?.segment?.startIndex||0,end_index:X?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(F)}
156
225
 
157
- `)),!a&&J&&(a=!0)}q.length>0&&(q.forEach(B=>{d++,f++;let Y={choices:[{delta:{role:"assistant",tool_calls:[{...B,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Y.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((te,Z)=>{let ae=S?.groundingMetadata?.groundingSupports?.filter(de=>de.groundingChunkIndices?.includes(Z));return{type:"url_citation",url_citation:{url:te?.web?.uri||"",title:te?.web?.title||"",content:ae?.[0]?.segment?.text||"",start_index:ae?.[0]?.segment?.startIndex||0,end_index:ae?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
226
+ `)),!a&&J&&(a=!0)}U.length>0&&(U.forEach(F=>{d++,f++;let V={choices:[{delta:{role:"assistant",tool_calls:[{...F,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:w.responseId||"",model:w.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:w.usageMetadata?.candidatesTokenCount||0,prompt_tokens:w.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:w.usageMetadata?.cachedContentTokenCount||0},total_tokens:w.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:w.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(V.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Y,X)=>{let ee=S?.groundingMetadata?.groundingSupports?.filter(de=>de.groundingChunkIndices?.includes(X));return{type:"url_citation",url_citation:{url:Y?.web?.uri||"",title:Y?.web?.title||"",content:ee?.[0]?.segment?.text||"",start_index:ee?.[0]?.segment?.startIndex||0,end_index:ee?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(V)}
158
227
 
159
- `))}),!a&&J&&(a=!0))}catch(b){r?.error(`Error parsing ${e} stream chunk`,v,b.message)}}}},w=t.body.getReader(),y="";try{for(;;){let{done:_,value:m}=await w.read();if(_){y&&await A(y,g);break}y+=n.decode(m,{stream:!0});let v=y.split(`
160
- `);y=v.pop()||"";for(let b of v)await A(b,g)}}catch(_){g.error(_)}finally{g.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var bi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r){return{body:gi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=yi;async transformResponseOut(e){return _i(e,this.name,this.logger)}};async function ov(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Oe(Pd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
228
+ `))}),!a&&J&&(a=!0))}catch(w){n?.error(`Error parsing ${e} stream chunk`,k,w.message)}}}},C=t.body.getReader(),b="";try{for(;;){let{done:y,value:m}=await C.read();if(y){b&&await _(b,g);break}b+=r.decode(m,{stream:!0});let k=b.split(`
229
+ `);b=k.pop()||"";for(let w of k)await _(w,g)}}catch(y){g.error(y)}finally{g.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var Ai=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:wi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0}}}}transformRequestOut=Ei;async transformResponseOut(e){return Si(e,this.name,this.logger)}};async function yv(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Oe($d(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
161
230
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
162
231
  2. Run "gcloud auth application-default login"
163
- 3. Use Google Cloud environment with default service account`)}}var Na=class{name="vertex-gemini";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await ov();return{body:gi(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return yi(e)}async transformResponseOut(e){return _i(e,this.name)}};var Ma=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let r=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),n=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||r;return e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,c="";if(typeof o.content=="string"){let d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(c=d[1].trim(),o.content=o.content.replace(d[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):c&&(o.reasoning_content=c),n&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,A,w)=>{let y=g.split(`
164
- `);for(let _ of y)_.trim()&&A.enqueue(w.encode(_+`
165
- `))},p=(g,A)=>{let{controller:w,encoder:y}=A;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let _=JSON.parse(g.slice(6));if(_.choices?.[0]?.delta?.reasoning_content){A.appendReasoningContent(_.choices[0].delta.reasoning_content);let m={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,thinking:{content:_.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
232
+ 3. Use Google Cloud environment with default service account`)}}var Ua=class{name="vertex-gemini";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await yv();return{body:wi(e),config:{url:new URL(`./v1beta1/projects/${r}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,n.baseUrl.endsWith("/")?n.baseUrl:n.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return Ei(e)}async transformResponseOut(e){return Si(e,this.name)}};var qa=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let n=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),r=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||n;return r&&e.tool_choice&&delete e.tool_choice,e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,c="";if(typeof o.content=="string"){let d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(c=d[1].trim(),o.content=o.content.replace(d[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):c&&(o.reasoning_content=c),r&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,_,C)=>{let b=g.split(`
233
+ `);for(let y of b)y.trim()&&_.enqueue(C.encode(y+`
234
+ `))},p=(g,_)=>{let{controller:C,encoder:b}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let y=JSON.parse(g.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){_.appendReasoningContent(y.choices[0].delta.reasoning_content);let m={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let k=`data: ${JSON.stringify(m)}
166
235
 
167
- `;w.enqueue(y.encode(v));return}if(_.choices?.[0]?.delta?.content&&A.reasoningContent()&&!A.isReasoningComplete()){A.setReasoningComplete(!0);let m=Date.now().toString(),v=_.choices[0].delta.content,b={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,content:null,thinking:{content:A.reasoningContent(),signature:m}}}]};delete b.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(b)}
236
+ `;C.enqueue(b.encode(k));return}if(y.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let m="ccr_think_signature",k=y.choices[0].delta.content,w={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:m}}}]};delete w.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(w)}
168
237
 
169
- `;w.enqueue(y.encode(S));let D={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,content:v}}]};delete D.choices[0].delta.reasoning_content;let O=`data: ${JSON.stringify(D)}
238
+ `;C.enqueue(b.encode(S));let T={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:k}}]};delete T.choices[0].delta.reasoning_content;let R=`data: ${JSON.stringify(T)}
170
239
 
171
- `;w.enqueue(y.encode(O));return}if(_.choices[0]?.delta?.reasoning_content&&delete _.choices[0].delta.reasoning_content,_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0){let m=`data: ${JSON.stringify(_)}
240
+ `;C.enqueue(b.encode(R));return}if(y.choices[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0){let m=`data: ${JSON.stringify(y)}
172
241
 
173
- `;w.enqueue(y.encode(m))}}catch{w.enqueue(y.encode(g+`
174
- `))}else w.enqueue(y.encode(g+`
175
- `))};try{for(;;){let{done:g,value:A}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(A,{stream:!0});a+=w;let y=a.split(`
176
- `);a=y.pop()||"";for(let _ of y)if(_.trim())try{p(_,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",_,m),l.enqueue(n.encode(_+`
177
- `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ja=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
242
+ `;C.enqueue(b.encode(m))}}catch{C.enqueue(b.encode(g+`
243
+ `))}else C.enqueue(b.encode(g+`
244
+ `))};try{for(;;){let{done:g,value:_}=await d.read();if(g){a.trim()&&f(a,l,r);break}let C=n.decode(_,{stream:!0});a+=C;let b=a.split(`
245
+ `);a=b.pop()||"";for(let y of b)if(y.trim())try{p(y,{controller:l,encoder:r,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(r.encode(y+`
246
+ `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ha=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
178
247
  IMPORTANT: Before using this tool, ensure that none of the available tools are applicable to the current task. You must evaluate all available options \u2014 only if no suitable tool can help you complete the task should you use ExitTool to terminate tool mode.
179
248
  Examples:
180
249
  1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
181
- 2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,A,w)=>{let y=g.split(`
182
- `);for(let _ of y)_.trim()&&A.enqueue(w.encode(_+`
183
- `))},p=(g,A)=>{let{controller:w,encoder:y,exitToolIndex:_,setExitToolIndex:m,appendExitToolResponse:v}=A;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let b=JSON.parse(g.slice(6));if(b.choices[0]?.delta?.tool_calls?.length){let S=b.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){m(S.index);return}else if(_()>-1&&S.index===_()&&S.function.arguments){v(S.function.arguments);try{let D=JSON.parse(A.exitToolResponse());b.choices=[{delta:{role:"assistant",content:D.response||""}}];let O=`data: ${JSON.stringify(b)}
250
+ 2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message.tool_calls?.length&&n?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let r=n?.choices[0]?.message.tool_calls[0],o=JSON.parse(r.function.arguments||"{}");n.choices[0].message.content=o.response||"",delete n.choices[0].message.tool_calls}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=-1,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,_,C)=>{let b=g.split(`
251
+ `);for(let y of b)y.trim()&&_.enqueue(C.encode(y+`
252
+ `))},p=(g,_)=>{let{controller:C,encoder:b,exitToolIndex:y,setExitToolIndex:m,appendExitToolResponse:k}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let w=JSON.parse(g.slice(6));if(w.choices[0]?.delta?.tool_calls?.length){let S=w.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){m(S.index);return}else if(y()>-1&&S.index===y()&&S.function.arguments){k(S.function.arguments);try{let T=JSON.parse(_.exitToolResponse());w.choices=[{delta:{role:"assistant",content:T.response||""}}];let R=`data: ${JSON.stringify(w)}
184
253
 
185
- `;w.enqueue(y.encode(O))}catch{}return}}if(b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0){let S=`data: ${JSON.stringify(b)}
254
+ `;C.enqueue(b.encode(R))}catch{}return}}if(w.choices?.[0]?.delta&&Object.keys(w.choices[0].delta).length>0){let S=`data: ${JSON.stringify(w)}
186
255
 
187
- `;w.enqueue(y.encode(S))}}catch{w.enqueue(y.encode(g+`
188
- `))}else w.enqueue(y.encode(g+`
189
- `))};try{for(;;){let{done:g,value:A}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(A,{stream:!0});a+=w;let y=a.split(`
190
- `);a=y.pop()||"";for(let _ of y)if(_.trim())try{p(_,{controller:l,encoder:n,exitToolIndex:()=>o,setExitToolIndex:m=>o=m,exitToolResponse:()=>s,appendExitToolResponse:m=>s+=m})}catch(m){console.error("Error processing line:",_,m),l.enqueue(n.encode(_+`
191
- `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var La=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(w,y,_)=>{let m=w.split(`
192
- `);for(let v of m)v.trim()&&y.enqueue(_.encode(v+`
193
- `))},A=(w,y)=>{let{controller:_,encoder:m}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let v=w.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"){_.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
256
+ `;C.enqueue(b.encode(S))}}catch{C.enqueue(b.encode(g+`
257
+ `))}else C.enqueue(b.encode(g+`
258
+ `))};try{for(;;){let{done:g,value:_}=await d.read();if(g){a.trim()&&f(a,l,r);break}let C=n.decode(_,{stream:!0});a+=C;let b=a.split(`
259
+ `);a=b.pop()||"";for(let y of b)if(y.trim())try{p(y,{controller:l,encoder:r,exitToolIndex:()=>o,setExitToolIndex:m=>o=m,exitToolResponse:()=>s,appendExitToolResponse:m=>s+=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(r.encode(y+`
260
+ `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var za=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(C,b,y)=>{let m=C.split(`
261
+ `);for(let k of m)k.trim()&&b.enqueue(y.encode(k+`
262
+ `))},_=(C,b)=>{let{controller:y,encoder:m}=b;if(C.startsWith("data: ")&&C.trim()!=="data: [DONE]"){let k=C.slice(6);try{let w=JSON.parse(k);if(w.usage&&(this.logger?.debug({usage:w.usage,hasToolCall:c},"usage"),w.choices[0].finish_reason=c?"tool_calls":"stop"),w.choices?.[0]?.finish_reason==="error"){y.enqueue(m.encode(`data: ${JSON.stringify({error:w.choices?.[0].error})}
194
263
 
195
- `));return}b.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0);let S=b.choices?.[0]?.delta?.reasoning||b.choices?.[0]?.delta?.reasoning_content;if(S){y.appendReasoningContent(S);let B={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:S}}}]};B.choices?.[0]?.delta&&(delete B.choices[0].delta.reasoning,delete B.choices[0].delta.reasoning_content);let Y=`data: ${JSON.stringify(B)}
264
+ `));return}w.choices?.[0]?.delta?.content&&!b.hasTextContent()&&b.setHasTextContent(!0);let S=w.choices?.[0]?.delta?.reasoning||w.choices?.[0]?.delta?.reasoning_content;if(S){b.appendReasoningContent(S);let F={...w,choices:[{...w.choices?.[0],delta:{...w.choices[0].delta,thinking:{content:S}}}]};F.choices?.[0]?.delta&&(delete F.choices[0].delta.reasoning,delete F.choices[0].delta.reasoning_content);let V=`data: ${JSON.stringify(F)}
196
265
 
197
- `;_.enqueue(m.encode(Y));return}if(b.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let B=Date.now().toString(),Y=b.choices[0].delta.content,te={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:B}}}]};te.choices?.[0]?.delta&&delete te.choices[0].delta.reasoning;let Z=`data: ${JSON.stringify(te)}
266
+ `;y.enqueue(m.encode(V));return}if(w.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let F="ccr_think_signature",V=w.choices[0].delta.content,Y={...w,choices:[{...w.choices?.[0],delta:{...w.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:F}}}]};Y.choices?.[0]?.delta&&delete Y.choices[0].delta.reasoning;let X=`data: ${JSON.stringify(Y)}
198
267
 
199
- `;_.enqueue(m.encode(Z));let ae={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:Y}}]};ae.choices?.[0]?.delta&&(delete ae.choices[0].delta.reasoning,delete ae.choices[0].delta.reasoning_content);let de=`data: ${JSON.stringify(ae)}
268
+ `;y.enqueue(m.encode(X));let ee={...w,choices:[{...w.choices?.[0],delta:{...w.choices[0].delta,content:V}}]};ee.choices?.[0]?.delta&&(delete ee.choices[0].delta.reasoning,delete ee.choices[0].delta.reasoning_content);let de=`data: ${JSON.stringify(ee)}
200
269
 
201
- `;_.enqueue(m.encode(de));return}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(B=>{B.id=`call_${Xt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0);let D=b.choices?.[0]?.delta,O=D&&Object.keys(D).length>0,q=b.choices?.[0]?.finish_reason,J=b.usage;if(O||q||J){let B=`data: ${JSON.stringify(b)}
270
+ `;y.enqueue(m.encode(de));return}w.choices?.[0]?.delta?.reasoning&&delete w.choices[0].delta.reasoning,w.choices?.[0]?.delta?.reasoning_content&&delete w.choices[0].delta.reasoning_content,w.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(w.choices?.[0]?.delta?.tool_calls[0].id,10))&&w.choices?.[0]?.delta?.tool_calls.forEach(F=>{F.id=`call_${Ut()}`}),w.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0);let T=w.choices?.[0]?.delta,R=T&&Object.keys(T).length>0,U=w.choices?.[0]?.finish_reason,J=w.usage;if(R||U||J){let F=`data: ${JSON.stringify(w)}
202
271
 
203
- `;_.enqueue(m.encode(B))}}catch{_.enqueue(m.encode(w+`
204
- `))}}else _.enqueue(m.encode(w+`
205
- `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&g(l,f,n);break}if(!y||y.length===0)continue;let _;try{_=r.decode(y,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(_.length===0)continue;if(l+=_,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
206
- `);l=v.pop()||"";for(let b of v)if(b.trim())try{A(b,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),f.enqueue(n.encode(b+`
272
+ `;y.enqueue(m.encode(F))}}catch{y.enqueue(m.encode(C+`
273
+ `))}}else y.enqueue(m.encode(C+`
274
+ `))};try{for(;;){let{done:C,value:b}=await p.read();if(C){l.trim()&&g(l,f,r);break}if(!b||b.length===0)continue;let y;try{y=n.decode(b,{stream:!0})}catch(k){console.warn("Failed to decode chunk",k);continue}if(y.length===0)continue;if(l+=y,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let k=l.split(`
275
+ `);l=k.pop()||"";for(let w of k)if(w.trim())try{_(w,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",w,S),f.enqueue(r.encode(w+`
207
276
  `))}continue}let m=l.split(`
208
- `);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
209
- `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var $a=class{name="groq";async transformRequestIn(e){return e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(r=>{delete r.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(A,w,y)=>{let _=A.split(`
210
- `);for(let m of _)m.trim()&&w.enqueue(y.encode(m+`
211
- `))},g=(A,w)=>{let{controller:y,encoder:_}=w;if(A.startsWith("data: ")&&A.trim()!=="data: [DONE]"){let m=A.slice(6);try{let v=JSON.parse(m);if(v.error)throw new Error(JSON.stringify(v));v.choices?.[0]?.delta?.content&&!w.hasTextContent()&&w.setHasTextContent(!0),v.choices?.[0]?.delta?.tool_calls?.length&&v.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Xt()}`}),v.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof v.choices[0].index=="number"?v.choices[0].index+=1:v.choices[0].index=1);let b=`data: ${JSON.stringify(v)}
212
-
213
- `;y.enqueue(_.encode(b))}catch{y.enqueue(_.encode(A+`
214
- `))}}else y.enqueue(_.encode(A+`
215
- `))};try{for(;;){let{done:A,value:w}=await f.read();if(A){c.trim()&&p(c,d,n);break}if(!w||w.length===0)continue;let y;try{y=r.decode(w,{stream:!0})}catch(m){console.warn("Failed to decode chunk",m);continue}if(y.length===0)continue;if(c+=y,c.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let m=c.split(`
216
- `);c=m.pop()||"";for(let v of m)if(v.trim())try{g(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),d.enqueue(n.encode(v+`
217
- `))}continue}let _=c.split(`
218
- `);c=_.pop()||"";for(let m of _)if(m.trim())try{g(m,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:v=>o=v,reasoningContent:()=>s,appendReasoningContent:v=>s+=v,isReasoningComplete:()=>a,setReasoningComplete:v=>a=v})}catch(v){console.error("Error processing line:",m,v),d.enqueue(n.encode(m+`
219
- `))}}}catch(A){console.error("Stream error:",A),d.error(A)}finally{try{f.releaseLock()}catch(A){console.error("Error releasing reader lock:",A)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var qa=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),e}};var x0=Oe(tc());var Rr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function A0(t){return/^[0-9A-Fa-f]$/.test(t)}function Zr(t){return t>="0"&&t<="9"}function S0(t){return t>=" "}function ys(t){return`,:[]/{}()
220
- +`.includes(t)}function Fd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Id(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Bd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Nd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Md(t){return`,[]/{}
221
- +`.includes(t)}function jd(t){return _s(t)||sv.test(t)}var sv=/^[[{\w-]$/;function k0(t){return t===`
222
- `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Xr(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function v0(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function T0(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function _s(t){return Ld(t)||za(t)}function Ld(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Ud(t){return t==='"'}function za(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function $d(t){return t==="'"}function Co(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=t.lastIndexOf(e);return n!==-1?t.substring(0,n)+(r?"":t.substring(n+1)):t}function It(t,e){let r=t.length;if(!Xr(t,r-1))return t+e;for(;Xr(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function D0(t,e,r){return t.substring(0,e)+t.substring(e+r)}function R0(t){return/[,\n][ \t\r]*$/.test(t)}var iv={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},av={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
223
- `,r:"\r",t:" "};function qd(t){let e=0,r="";d(["```","[```","{```"]),s()||de(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),jd(t[e])&&R0(r)?(o||(r=It(r,",")),m()):o&&(r=Co(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;ae();function s(){a();let G=y()||_()||v()||S()||D()||q(!1)||J();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,ue=c(G);do ue=l(),ue&&(ue=c(G));while(ue);return e>K}function c(G){let K=G?Xr:v0,ue="";for(;;)if(K(t,e))ue+=t[e],e++;else if(T0(t,e))ue+=" ",e++;else break;return ue.length>0?(r+=ue,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!uv(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
224
- `;)e++;return!0}return!1}function d(G){if(f(G)){if(Fd(t[e]))for(;e<t.length&&Id(t[e]);)e++;return a(),!0}return!1}function f(G){c(!0);for(let K of G){let ue=e+K.length;if(t.slice(e,ue)===K)return e=ue,!0}return!1}function p(G){return t[e]===G?(r+=t[e],e++,!0):!1}function g(G){return t[e]===G?(e++,!0):!1}function A(){return g("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),g(","),!0):!1}function y(){if(t[e]==="{"){r+="{",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="}";){let K;if(G?(K=!0,G=!1):(K=p(","),K||(r=It(r,",")),a()),w(),!(v()||q(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=Co(r,","):Ae();break}a();let qe=p(":"),Te=e>=t.length;qe||(jd(t[e])||Te?r=It(r,":"):oe()),s()||(qe||Te?r+="null":oe())}return t[e]==="}"?(r+="}",e++):r=It(r,"}"),!0}return!1}function _(){if(t[e]==="["){r+="[",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(r=It(r,",")),w(),!s()){r=Co(r,",");break}return t[e]==="]"?(r+="]",e++):r=It(r,"]"),!0}return!1}function m(){let G=!0,K=!0;for(;K;)G?G=!1:p(",")||(r=It(r,",")),K=s();K||(r=Co(r,",")),r=`[
225
- ${r}
226
- ]`}function v(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ue=t[e]==="\\";if(ue&&(e++,ue=!0),_s(t[e])){let qe=Ud(t[e])?Ud:$d(t[e])?$d:za(t[e])?za:Ld,Te=e,W=r.length,le='"';for(e++;;){if(e>=t.length){let ye=B(e-1);return!G&&ys(t.charAt(ye))?(e=Te,r=r.substring(0,W),v(!0)):(le=It(le,'"'),r+=le,!0)}if(e===K)return le=It(le,'"'),r+=le,!0;if(qe(t[e])){let ye=e,Nt=le.length;if(le+='"',e++,r+=le,a(!1),G||e>=t.length||ys(t[e])||_s(t[e])||Zr(t[e]))return b(),!0;let Re=B(ye-1),je=t.charAt(Re);if(je===",")return e=Te,r=r.substring(0,W),v(!1,Re);if(ys(je))return e=Te,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=ye+1,le=`${le.substring(0,Nt)}\\${le.substring(Nt)}`}else if(G&&Md(t[e])){if(t[e-1]===":"&&Bd.test(t.substring(Te+1,e+2)))for(;e<t.length&&Nd.test(t[e]);)le+=t[e],e++;return le=It(le,'"'),r+=le,b(),!0}else if(t[e]==="\\"){let ye=t.charAt(e+1);if(av[ye]!==void 0)le+=t.slice(e,e+2),e+=2;else if(ye==="u"){let Re=2;for(;Re<6&&A0(t[e+Re]);)Re++;Re===6?(le+=t.slice(e,e+6),e+=6):e+Re>=t.length?e=t.length:pe()}else le+=ye,e+=2}else{let ye=t.charAt(e);ye==='"'&&t[e-1]!=="\\"?(le+=`\\${ye}`,e++):k0(ye)?(le+=iv[ye],e++):(S0(ye)||Z(ye),le+=ye,e++)}ue&&A()}}return!1}function b(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),r=Co(r,'"',!0);let K=r.length;v()?r=D0(r,K,1):r=It(r,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1}for(;Zr(t[e]);)e++;if(t[e]==="."){if(e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1;for(;Zr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return te(G),!0;if(!Zr(t[e]))return e=G,!1;for(;Zr(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let K=t.slice(G,e),ue=/^0\d/.test(K);return r+=ue?`"${K}"`:K,!0}return!1}function D(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(G,K){return t.slice(e,e+G.length)===G?(r+=K,e+=G.length,!0):!1}function q(G){let K=e;if(Fd(t[e])){for(;e<t.length&&Id(t[e]);)e++;let ue=e;for(;Xr(t,ue);)ue++;if(t[ue]==="(")return e=ue+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Md(t[e])&&!_s(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&Bd.test(t.substring(K,e+2)))for(;e<t.length&&Nd.test(t[e]);)e++;if(e>K){for(;Xr(t,e-1)&&e>0;)e--;let ue=t.slice(K,e);return r+=ue==="undefined"?"null":JSON.stringify(ue),t[e]==='"'&&e++,!0}}function J(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(G,e)}"`,!0}}function B(G){let K=G;for(;K>0&&Xr(t,K);)K--;return K}function Y(){return e>=t.length||ys(t[e])||Xr(t,e)}function te(G){r+=`${t.slice(G,e)}0`}function Z(G){throw new Rr(`Invalid character ${JSON.stringify(G)}`,e)}function ae(){throw new Rr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function de(){throw new Rr("Unexpected end of json string",t.length)}function Ae(){throw new Rr("Object key expected",e)}function oe(){throw new Rr("Colon expected",e)}function pe(){let G=t.slice(e,e+6);throw new Rr(`Invalid unicode character "${G}"`,e)}}function uv(t,e){return t[e]==="*"&&t[e+1]==="/"}function zd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=x0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=qd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${r.message}. JSON5 parsing failed: ${n.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var Ha=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message?.tool_calls?.length)for(let n of r.choices[0].message.tool_calls)n.function?.arguments&&(n.function.arguments=zd(n.function.arguments,this.logger));return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o={},s=!1,a="",c=!1,l=!1,d="",f=new ReadableStream({async start(p){let g=e.body.getReader(),A=(_,m,v)=>{let b=_.split(`
227
- `);for(let S of b)S.trim()&&m.enqueue(v.encode(S+`
228
- `))},w=(_,m,v)=>{let b="";try{b=zd(o.arguments||"",this.logger)}catch(q){console.error(`${q.message} ${q.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),b=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:b},id:o.id,index:o.index,type:"function"}]},D={..._,choices:[{..._.choices[0],delta:S}]};D.choices[0].delta.content!==void 0&&delete D.choices[0].delta.content;let O=`data: ${JSON.stringify(D)}
229
-
230
- `;m.enqueue(v.encode(O))},y=(_,m)=>{let{controller:v,encoder:b}=m;if(_.startsWith("data: ")&&_.trim()!=="data: [DONE]"){let S=_.slice(6);try{let D=JSON.parse(S);if(D.choices?.[0]?.delta?.tool_calls?.length){let q=D.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""},q.function?.arguments&&(q.function.arguments="");let J=`data: ${JSON.stringify(D)}
231
-
232
- `;v.enqueue(b.encode(J));return}else if(o.index===q.index){q.function?.arguments&&(o.arguments+=q.function.arguments);return}else{w(D,v,b),o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""};return}}if(D.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(D,v,b),o={};return}D.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof D.choices[0].index=="number"?D.choices[0].index+=1:D.choices[0].index=1);let O=`data: ${JSON.stringify(D)}
233
-
234
- `;v.enqueue(b.encode(O))}catch{v.enqueue(b.encode(_+`
235
- `))}}else v.enqueue(b.encode(_+`
236
- `))};try{for(;;){let{done:_,value:m}=await g.read();if(_){d.trim()&&A(d,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(v.length===0)continue;if(d+=v,d.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=d.split(`
237
- `);d=S.pop()||"";for(let D of S)if(D.trim())try{y(D,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>c,setReasoningComplete:O=>c=O})}catch(O){console.error("Error processing line:",D,O),p.enqueue(n.encode(D+`
238
- `))}continue}let b=d.split(`
239
- `);d=b.pop()||"";for(let S of b)if(S.trim())try{y(S,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:D=>s=D,reasoningContent:()=>a,appendReasoningContent:D=>a+=D,isReasoningComplete:()=>c,setReasoningComplete:D=>c=D})}catch(D){console.error("Error processing line:",S,D),p.enqueue(n.encode(S+`
240
- `))}}}catch(_){console.error("Stream error:",_),p.error(_)}finally{try{g.releaseLock()}catch(_){console.error("Error releasing reader lock:",_)}p.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Wa=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return r.choices[0]?.message.reasoning_content&&(r.thinking={content:r.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,A,w)=>{let y=g.split(`
241
- `);for(let _ of y)_.trim()&&A.enqueue(w.encode(_+`
242
- `))},p=(g,A)=>{let{controller:w,encoder:y}=A;if(this.logger?.debug({line:g},"Processing reason line"),g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let _=JSON.parse(g.slice(6));if(console.log(JSON.stringify(_)),_.choices?.[0]?.delta?.reasoning_content){A.appendReasoningContent(_.choices[0].delta.reasoning_content);let m={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,thinking:{content:_.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
243
-
244
- `;w.enqueue(y.encode(v));return}if((_.choices?.[0]?.delta?.content||_.choices?.[0]?.delta?.tool_calls)&&A.reasoningContent()&&!A.isReasoningComplete()){A.setReasoningComplete(!0);let m=Date.now().toString(),v={..._,choices:[{..._.choices[0],delta:{..._.choices[0].delta,content:null,thinking:{content:A.reasoningContent(),signature:m}}}]};delete v.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(v)}
245
-
246
- `;w.enqueue(y.encode(b))}if(_.choices?.[0]?.delta?.reasoning_content&&delete _.choices[0].delta.reasoning_content,_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0){A.isReasoningComplete()&&_.choices[0].index++;let m=`data: ${JSON.stringify(_)}
247
-
248
- `;w.enqueue(y.encode(m))}}catch{w.enqueue(y.encode(g+`
249
- `))}else w.enqueue(y.encode(g+`
250
- `))};try{for(;;){let{done:g,value:A}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(A,{stream:!0});a+=w;let y=a.split(`
251
- `);a=y.pop()||"";for(let _ of y)if(_.trim())try{p(_,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",_,m),l.enqueue(n.encode(_+`
252
- `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ga=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Ja=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function O0(t){let e=[];for(let n=0;n<t.messages.length;n++){let o=t.messages[n],s=n===t.messages.length-1,a=o.role==="assistant",c=[];typeof o.content=="string"?c.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?c.push({type:"text",text:l.text||""}):l.type==="image_url"&&c.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&c.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&c.length===0&&o.tool_calls&&c.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:c}))}let r={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(r.tools=t.tools.map(n=>({name:n.function.name,description:n.function.description,input_schema:n.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?r.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(r.tool_choice={type:"tool",name:t.tool_choice})),r}function P0(t){let e=t,n={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(n.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?n.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(n.tool_choice=e.tool_choice.name)),n}async function F0(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json(),o;n.tool_use&&n.tool_use.length>0&&(o=n.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:n.id,choices:[{finish_reason:n.stop_reason||null,index:0,message:{content:n.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.model,object:"chat.completion",usage:{completion_tokens:n.usage.output_tokens,prompt_tokens:n.usage.input_tokens,total_tokens:n.usage.input_tokens+n.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=(c,l)=>{if(c.startsWith("data: ")){let d=c.slice(6).trim();if(d){r?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
277
+ `);l=m.pop()||"";for(let k of m)if(k.trim())try{_(k,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:w=>o=w,reasoningContent:()=>s,appendReasoningContent:w=>s+=w,isReasoningComplete:()=>a,setReasoningComplete:w=>a=w})}catch(w){console.error("Error processing line:",k,w),f.enqueue(r.encode(k+`
278
+ `))}}}catch(C){console.error("Stream error:",C),f.error(C)}finally{try{p.releaseLock()}catch(C){console.error("Error releasing reader lock:",C)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Wa=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var Ga=class{name="groq";async transformRequestIn(e){return e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(n=>{delete n.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,c="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(_,C,b)=>{let y=_.split(`
279
+ `);for(let m of y)m.trim()&&C.enqueue(b.encode(m+`
280
+ `))},g=(_,C)=>{let{controller:b,encoder:y}=C;if(_.startsWith("data: ")&&_.trim()!=="data: [DONE]"){let m=_.slice(6);try{let k=JSON.parse(m);if(k.error)throw new Error(JSON.stringify(k));k.choices?.[0]?.delta?.content&&!C.hasTextContent()&&C.setHasTextContent(!0),k.choices?.[0]?.delta?.tool_calls?.length&&k.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Ut()}`}),k.choices?.[0]?.delta?.tool_calls?.length&&C.hasTextContent()&&(typeof k.choices[0].index=="number"?k.choices[0].index+=1:k.choices[0].index=1);let w=`data: ${JSON.stringify(k)}
281
+
282
+ `;b.enqueue(y.encode(w))}catch{b.enqueue(y.encode(_+`
283
+ `))}}else b.enqueue(y.encode(_+`
284
+ `))};try{for(;;){let{done:_,value:C}=await f.read();if(_){c.trim()&&p(c,d,r);break}if(!C||C.length===0)continue;let b;try{b=n.decode(C,{stream:!0})}catch(m){console.warn("Failed to decode chunk",m);continue}if(b.length===0)continue;if(c+=b,c.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let m=c.split(`
285
+ `);c=m.pop()||"";for(let k of m)if(k.trim())try{g(k,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:w=>o=w,reasoningContent:()=>s,appendReasoningContent:w=>s+=w,isReasoningComplete:()=>a,setReasoningComplete:w=>a=w})}catch(w){console.error("Error processing line:",k,w),d.enqueue(r.encode(k+`
286
+ `))}continue}let y=c.split(`
287
+ `);c=y.pop()||"";for(let m of y)if(m.trim())try{g(m,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:k=>o=k,reasoningContent:()=>s,appendReasoningContent:k=>s+=k,isReasoningComplete:()=>a,setReasoningComplete:k=>a=k})}catch(k){console.error("Error processing line:",m,k),d.enqueue(r.encode(m+`
288
+ `))}}}catch(_){console.error("Stream error:",_),d.error(_)}finally{try{f.releaseLock()}catch(_){console.error("Error releasing reader lock:",_)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ja=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),e}};var $0=Oe(ic());var On=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function F0(t){return/^[0-9A-Fa-f]$/.test(t)}function nr(t){return t>="0"&&t<="9"}function I0(t){return t>=" "}function bs(t){return`,:[]/{}()
289
+ +`.includes(t)}function Ud(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function qd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Hd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,zd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Wd(t){return`,[]/{}
290
+ +`.includes(t)}function Gd(t){return Cs(t)||_v.test(t)}var _v=/^[[{\w-]$/;function N0(t){return t===`
291
+ `||t==="\r"||t===" "||t==="\b"||t==="\f"}function tr(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function B0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function M0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function Cs(t){return Jd(t)||Va(t)}function Jd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Vd(t){return t==='"'}function Va(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function Kd(t){return t==="'"}function Eo(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=t.lastIndexOf(e);return r!==-1?t.substring(0,r)+(n?"":t.substring(r+1)):t}function It(t,e){let n=t.length;if(!tr(t,n-1))return t+e;for(;tr(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function L0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function j0(t){return/[,\n][ \t\r]*$/.test(t)}var bv={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},Cv={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
292
+ `,r:"\r",t:" "};function Yd(t){let e=0,n="";d(["```","[```","{```"]),s()||de(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),Gd(t[e])&&j0(n)?(o||(n=It(n,",")),m()):o&&(n=Eo(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;ee();function s(){a();let W=b()||y()||k()||S()||T()||U(!1)||J();return a(),W}function a(){let W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Q=e,re=c(W);do re=l(),re&&(re=c(W));while(re);return e>Q}function c(W){let Q=W?tr:B0,re="";for(;;)if(Q(t,e))re+=t[e],e++;else if(M0(t,e))re+=" ",e++;else break;return re.length>0?(n+=re,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!wv(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
293
+ `;)e++;return!0}return!1}function d(W){if(f(W)){if(Ud(t[e]))for(;e<t.length&&qd(t[e]);)e++;return a(),!0}return!1}function f(W){c(!0);for(let Q of W){let re=e+Q.length;if(t.slice(e,re)===Q)return e=re,!0}return!1}function p(W){return t[e]===W?(n+=t[e],e++,!0):!1}function g(W){return t[e]===W?(e++,!0):!1}function _(){return g("\\")}function C(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),g(","),!0):!1}function b(){if(t[e]==="{"){n+="{",e++,a(),g(",")&&a();let W=!0;for(;e<t.length&&t[e]!=="}";){let Q;if(W?(Q=!0,W=!1):(Q=p(","),Q||(n=It(n,",")),a()),C(),!(k()||U(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=Eo(n,","):Se();break}a();let $e=p(":"),ke=e>=t.length;$e||(Gd(t[e])||ke?n=It(n,":"):ue()),s()||($e||ke?n+="null":ue())}return t[e]==="}"?(n+="}",e++):n=It(n,"}"),!0}return!1}function y(){if(t[e]==="["){n+="[",e++,a(),g(",")&&a();let W=!0;for(;e<t.length&&t[e]!=="]";)if(W?W=!1:p(",")||(n=It(n,",")),C(),!s()){n=Eo(n,",");break}return t[e]==="]"?(n+="]",e++):n=It(n,"]"),!0}return!1}function m(){let W=!0,Q=!0;for(;Q;)W?W=!1:p(",")||(n=It(n,",")),Q=s();Q||(n=Eo(n,",")),n=`[
294
+ ${n}
295
+ ]`}function k(){let W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,re=t[e]==="\\";if(re&&(e++,re=!0),Cs(t[e])){let $e=Vd(t[e])?Vd:Kd(t[e])?Kd:Va(t[e])?Va:Jd,ke=e,G=n.length,le='"';for(e++;;){if(e>=t.length){let _e=F(e-1);return!W&&bs(t.charAt(_e))?(e=ke,n=n.substring(0,G),k(!0)):(le=It(le,'"'),n+=le,!0)}if(e===Q)return le=It(le,'"'),n+=le,!0;if($e(t[e])){let _e=e,Bt=le.length;if(le+='"',e++,n+=le,a(!1),W||e>=t.length||bs(t[e])||Cs(t[e])||nr(t[e]))return w(),!0;let Re=F(_e-1),Le=t.charAt(Re);if(Le===",")return e=ke,n=n.substring(0,G),k(!1,Re);if(bs(Le))return e=ke,n=n.substring(0,G),k(!0);n=n.substring(0,G),e=_e+1,le=`${le.substring(0,Bt)}\\${le.substring(Bt)}`}else if(W&&Wd(t[e])){if(t[e-1]===":"&&Hd.test(t.substring(ke+1,e+2)))for(;e<t.length&&zd.test(t[e]);)le+=t[e],e++;return le=It(le,'"'),n+=le,w(),!0}else if(t[e]==="\\"){let _e=t.charAt(e+1);if(Cv[_e]!==void 0)le+=t.slice(e,e+2),e+=2;else if(_e==="u"){let Re=2;for(;Re<6&&F0(t[e+Re]);)Re++;Re===6?(le+=t.slice(e,e+6),e+=6):e+Re>=t.length?e=t.length:pe()}else le+=_e,e+=2}else{let _e=t.charAt(e);_e==='"'&&t[e-1]!=="\\"?(le+=`\\${_e}`,e++):N0(_e)?(le+=bv[_e],e++):(I0(_e)||X(_e),le+=_e,e++)}re&&_()}}return!1}function w(){let W=!1;for(a();t[e]==="+";){W=!0,e++,a(),n=Eo(n,'"',!0);let Q=n.length;k()?n=L0(n,Q,1):n=It(n,'"')}return W}function S(){let W=e;if(t[e]==="-"){if(e++,V())return Y(W),!0;if(!nr(t[e]))return e=W,!1}for(;nr(t[e]);)e++;if(t[e]==="."){if(e++,V())return Y(W),!0;if(!nr(t[e]))return e=W,!1;for(;nr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,V())return Y(W),!0;if(!nr(t[e]))return e=W,!1;for(;nr(t[e]);)e++}if(!V())return e=W,!1;if(e>W){let Q=t.slice(W,e),re=/^0\d/.test(Q);return n+=re?`"${Q}"`:Q,!0}return!1}function T(){return R("true","true")||R("false","false")||R("null","null")||R("True","true")||R("False","false")||R("None","null")}function R(W,Q){return t.slice(e,e+W.length)===W?(n+=Q,e+=W.length,!0):!1}function U(W){let Q=e;if(Ud(t[e])){for(;e<t.length&&qd(t[e]);)e++;let re=e;for(;tr(t,re);)re++;if(t[re]==="(")return e=re+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Wd(t[e])&&!Cs(t[e])&&(!W||t[e]!==":");)e++;if(t[e-1]===":"&&Hd.test(t.substring(Q,e+2)))for(;e<t.length&&zd.test(t[e]);)e++;if(e>Q){for(;tr(t,e-1)&&e>0;)e--;let re=t.slice(Q,e);return n+=re==="undefined"?"null":JSON.stringify(re),t[e]==='"'&&e++,!0}}function J(){if(t[e]==="/"){let W=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(W,e)}"`,!0}}function F(W){let Q=W;for(;Q>0&&tr(t,Q);)Q--;return Q}function V(){return e>=t.length||bs(t[e])||tr(t,e)}function Y(W){n+=`${t.slice(W,e)}0`}function X(W){throw new On(`Invalid character ${JSON.stringify(W)}`,e)}function ee(){throw new On(`Unexpected character ${JSON.stringify(t[e])}`,e)}function de(){throw new On("Unexpected end of json string",t.length)}function Se(){throw new On("Object key expected",e)}function ue(){throw new On("Colon expected",e)}function pe(){let W=t.slice(e,e+6);throw new On(`Invalid unicode character "${W}"`,e)}}function wv(t,e){return t[e]==="*"&&t[e+1]==="/"}function Qd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(n){try{let r=$0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=Yd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${n.message}. JSON5 parsing failed: ${r.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var Ka=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message?.tool_calls?.length)for(let r of n.choices[0].message.tool_calls)r.function?.arguments&&(r.function.arguments=Qd(r.function.arguments,this.logger));return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o={},s=!1,a="",c=!1,l=!1,d="",f=new ReadableStream({async start(p){let g=e.body.getReader(),_=(y,m,k)=>{let w=y.split(`
296
+ `);for(let S of w)S.trim()&&m.enqueue(k.encode(S+`
297
+ `))},C=(y,m,k)=>{let w="";try{w=Qd(o.arguments||"",this.logger)}catch(U){console.error(`${U.message} ${U.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),w=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:w},id:o.id,index:o.index,type:"function"}]},T={...y,choices:[{...y.choices[0],delta:S}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let R=`data: ${JSON.stringify(T)}
298
+
299
+ `;m.enqueue(k.encode(R))},b=(y,m)=>{let{controller:k,encoder:w}=m;if(y.startsWith("data: ")&&y.trim()!=="data: [DONE]"){let S=y.slice(6);try{let T=JSON.parse(S);if(T.choices?.[0]?.delta?.tool_calls?.length){let U=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:U.index,name:U.function?.name||"",id:U.id||"",arguments:U.function?.arguments||""},U.function?.arguments&&(U.function.arguments="");let J=`data: ${JSON.stringify(T)}
300
+
301
+ `;k.enqueue(w.encode(J));return}else if(o.index===U.index){U.function?.arguments&&(o.arguments+=U.function.arguments);return}else{C(T,k,w),o={index:U.index,name:U.function?.name||"",id:U.id||"",arguments:U.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){C(T,k,w),o={};return}T.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof T.choices[0].index=="number"?T.choices[0].index+=1:T.choices[0].index=1);let R=`data: ${JSON.stringify(T)}
302
+
303
+ `;k.enqueue(w.encode(R))}catch{k.enqueue(w.encode(y+`
304
+ `))}}else k.enqueue(w.encode(y+`
305
+ `))};try{for(;;){let{done:y,value:m}=await g.read();if(y){d.trim()&&_(d,p,r);break}if(!m||m.length===0)continue;let k;try{k=n.decode(m,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(k.length===0)continue;if(d+=k,d.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=d.split(`
306
+ `);d=S.pop()||"";for(let T of S)if(T.trim())try{b(T,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:R=>s=R,reasoningContent:()=>a,appendReasoningContent:R=>a+=R,isReasoningComplete:()=>c,setReasoningComplete:R=>c=R})}catch(R){console.error("Error processing line:",T,R),p.enqueue(r.encode(T+`
307
+ `))}continue}let w=d.split(`
308
+ `);d=w.pop()||"";for(let S of w)if(S.trim())try{b(S,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>c,setReasoningComplete:T=>c=T})}catch(T){console.error("Error processing line:",S,T),p.enqueue(r.encode(S+`
309
+ `))}}}catch(y){console.error("Stream error:",y),p.error(y)}finally{try{g.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}p.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ya=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return n.choices[0]?.message.reasoning_content&&(n.thinking={content:n.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,_,C)=>{let b=g.split(`
310
+ `);for(let y of b)y.trim()&&_.enqueue(C.encode(y+`
311
+ `))},p=(g,_)=>{let{controller:C,encoder:b}=_;if(this.logger?.debug({line:g},"Processing reason line"),g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let y=JSON.parse(g.slice(6));if(console.log(JSON.stringify(y)),y.choices?.[0]?.delta?.reasoning_content){_.appendReasoningContent(y.choices[0].delta.reasoning_content);let m={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let k=`data: ${JSON.stringify(m)}
312
+
313
+ `;C.enqueue(b.encode(k));return}if(y.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let m="ccr_think_signature",k=y.choices[0].delta.content,w={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:m}}}]};delete w.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(w)}
314
+
315
+ `;C.enqueue(b.encode(S))}if(y.choices?.[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0){_.isReasoningComplete()&&y.choices[0].index++;let m=`data: ${JSON.stringify(y)}
316
+
317
+ `;C.enqueue(b.encode(m))}}catch{C.enqueue(b.encode(g+`
318
+ `))}else C.enqueue(b.encode(g+`
319
+ `))};try{for(;;){let{done:g,value:_}=await d.read();if(g){a.trim()&&f(a,l,r);break}let C=n.decode(_,{stream:!0});a+=C;let b=a.split(`
320
+ `);a=b.pop()||"";for(let y of b)if(y.trim())try{p(y,{controller:l,encoder:r,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(r.encode(y+`
321
+ `))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Qa=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Xa=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function U0(t){let e=[];for(let r=0;r<t.messages.length;r++){let o=t.messages[r],s=r===t.messages.length-1,a=o.role==="assistant",c=[];typeof o.content=="string"?c.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?c.push({type:"text",text:l.text||""}):l.type==="image_url"&&c.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&c.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&c.length===0&&o.tool_calls&&c.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:c}))}let n={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(n.tools=t.tools.map(r=>({name:r.function.name,description:r.function.description,input_schema:r.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?n.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(n.tool_choice={type:"tool",name:t.tool_choice})),n}function q0(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(r.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function H0(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o;r.tool_use&&r.tool_use.length>0&&(o=r.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:r.id,choices:[{finish_reason:r.stop_reason||null,index:0,message:{content:r.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:{completion_tokens:r.usage.output_tokens,prompt_tokens:r.usage.input_tokens,total_tokens:r.usage.input_tokens+r.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=(c,l)=>{if(c.startsWith("data: ")){let d=c.slice(6).trim();if(d){n?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
253
322
 
254
323
  `))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,function:{arguments:f.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
255
324
 
@@ -261,98 +330,72 @@ ${r}
261
330
 
262
331
  `));else{let p={choices:[{delta:{role:"assistant",content:f.content?.[0]?.text||""},finish_reason:f.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
263
332
 
264
- `))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(c){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,c);break}d+=n.decode(p,{stream:!0});let g=d.split(`
265
- `);d=g.pop()||"";for(let A of g)s(A,c)}}catch(f){c.error(f)}finally{c.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function cv(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Oe(Pd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
333
+ `))}}catch(f){n?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(c){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,c);break}d+=r.decode(p,{stream:!0});let g=d.split(`
334
+ `);d=g.pop()||"";for(let _ of g)s(_,c)}}catch(f){c.error(f)}finally{c.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function Ev(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Oe($d(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
266
335
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
267
336
  2. Run "gcloud auth application-default login"
268
- 3. Use Google Cloud environment with default service account`)}}var Va=class{name="vertex-claude";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await cv();return{body:O0(e),config:{url:new URL(`/v1/projects/${n}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return P0(e)}async transformResponseOut(e){return F0(e,this.name,this.logger)}};var Ka=class{name="cerebras";async transformRequestIn(e,r){let n=JSON.parse(JSON.stringify(e));return n.reasoning?delete n.reasoning:n.disable_reasoning=!1,{body:n,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Ya=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Qa=class{name="OpenAI";endPoint="/v1/chat/completions"};var Xa=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let r={...e},n=Object.entries(this.options);for(let[o,s]of n)if(o in r)if(typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null)r[o]=this.deepMergeObjects(r[o],s);else continue;else r[o]=this.cloneValue(s);return r}async transformResponseOut(e){return e}deepMergeObjects(e,r){let n={...e};for(let[o,s]of Object.entries(r))o in n&&typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null?n[o]=this.deepMergeObjects(n[o],s):n[o]=this.cloneValue(s);return n}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.cloneValue(n));let r={};for(let[n,o]of Object.entries(e))r[n]=this.cloneValue(o);return r}};var Za=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(w,y,_)=>{let m=w.split(`
269
- `);for(let v of m)v.trim()&&y.enqueue(_.encode(v+`
270
- `))},A=(w,y)=>{let{controller:_,encoder:m}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let v=w.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"&&_.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
337
+ 3. Use Google Cloud environment with default service account`)}}var Za=class{name="vertex-claude";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await Ev();return{body:U0(e),config:{url:new URL(`/v1/projects/${r}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return q0(e)}async transformResponseOut(e){return H0(e,this.name,this.logger)}};var eu=class{name="cerebras";async transformRequestIn(e,n){let r=JSON.parse(JSON.stringify(e));return r.reasoning?delete r.reasoning:r.disable_reasoning=!1,{body:r,config:{headers:{Authorization:`Bearer ${n.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var tu=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var nu=class{name="OpenAI";endPoint="/v1/chat/completions"};var ru=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let n={...e},r=Object.entries(this.options);for(let[o,s]of r)if(o in n)if(typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null)n[o]=this.deepMergeObjects(n[o],s);else continue;else n[o]=this.cloneValue(s);return n}async transformResponseOut(e){return e}deepMergeObjects(e,n){let r={...e};for(let[o,s]of Object.entries(n))o in r&&typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null?r[o]=this.deepMergeObjects(r[o],s):r[o]=this.cloneValue(s);return r}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>this.cloneValue(r));let n={};for(let[r,o]of Object.entries(e))n[r]=this.cloneValue(o);return n}};var ou=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(C,b,y)=>{let m=C.split(`
338
+ `);for(let k of m)k.trim()&&b.enqueue(y.encode(k+`
339
+ `))},_=(C,b)=>{let{controller:y,encoder:m}=b;if(C.startsWith("data: ")&&C.trim()!=="data: [DONE]"){let k=C.slice(6);try{let w=JSON.parse(k);if(w.usage&&(this.logger?.debug({usage:w.usage,hasToolCall:c},"usage"),w.choices[0].finish_reason=c?"tool_calls":"stop"),w.choices?.[0]?.finish_reason==="error"&&y.enqueue(m.encode(`data: ${JSON.stringify({error:w.choices?.[0].error})}
271
340
 
272
- `)),b.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0),b.choices?.[0]?.delta?.reasoning){y.appendReasoningContent(b.choices[0].delta.reasoning);let D={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:b.choices[0].delta.reasoning}}}]};D.choices?.[0]?.delta&&delete D.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(D)}
341
+ `)),w.choices?.[0]?.delta?.content&&!b.hasTextContent()&&b.setHasTextContent(!0),w.choices?.[0]?.delta?.reasoning){b.appendReasoningContent(w.choices[0].delta.reasoning);let T={...w,choices:[{...w.choices?.[0],delta:{...w.choices[0].delta,thinking:{content:w.choices[0].delta.reasoning}}}]};T.choices?.[0]?.delta&&delete T.choices[0].delta.reasoning;let R=`data: ${JSON.stringify(T)}
273
342
 
274
- `;_.enqueue(m.encode(O));return}if(b.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let D=Date.now().toString(),O={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:D}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let q=`data: ${JSON.stringify(O)}
343
+ `;y.enqueue(m.encode(R));return}if(w.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let R={...w,choices:[{...w.choices?.[0],delta:{...w.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:"ccr_think_signature"}}}]};R.choices?.[0]?.delta&&delete R.choices[0].delta.reasoning;let U=`data: ${JSON.stringify(R)}
275
344
 
276
- `;_.enqueue(m.encode(q))}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(D=>{D.id=`call_${Xt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0),b.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof b.choices[0].index=="number"?b.choices[0].index+=1:b.choices[0].index=1);let S=`data: ${JSON.stringify(b)}
345
+ `;y.enqueue(m.encode(U))}w.choices?.[0]?.delta?.reasoning&&delete w.choices[0].delta.reasoning,w.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(w.choices?.[0]?.delta?.tool_calls[0].id,10))&&w.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${Ut()}`}),w.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0),w.choices?.[0]?.delta?.tool_calls?.length&&b.hasTextContent()&&(typeof w.choices[0].index=="number"?w.choices[0].index+=1:w.choices[0].index=1);let S=`data: ${JSON.stringify(w)}
277
346
 
278
- `;_.enqueue(m.encode(S))}catch{_.enqueue(m.encode(w+`
279
- `))}}else _.enqueue(m.encode(w+`
280
- `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&g(l,f,n);break}if(!y||y.length===0)continue;let _;try{_=r.decode(y,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(_.length===0)continue;if(l+=_,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
281
- `);l=v.pop()||"";for(let b of v)if(b.trim())try{A(b,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),f.enqueue(n.encode(b+`
347
+ `;y.enqueue(m.encode(S))}catch{y.enqueue(m.encode(C+`
348
+ `))}}else y.enqueue(m.encode(C+`
349
+ `))};try{for(;;){let{done:C,value:b}=await p.read();if(C){l.trim()&&g(l,f,r);break}if(!b||b.length===0)continue;let y;try{y=n.decode(b,{stream:!0})}catch(k){console.warn("Failed to decode chunk",k);continue}if(y.length===0)continue;if(l+=y,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let k=l.split(`
350
+ `);l=k.pop()||"";for(let w of k)if(w.trim())try{_(w,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",w,S),f.enqueue(r.encode(w+`
282
351
  `))}continue}let m=l.split(`
283
- `);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
284
- `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var eu=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let r=[],n=e.messages.filter(o=>o.role==="system");if(n.length>0){let o=n[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),r.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,r.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{r.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}r.push(o)}}),e.input=r,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a=!1,c=this,l=new ReadableStream({async start(d){let f=e.body.getReader(),p=-1,g="",A=w=>(w!==g&&(p++,g=w),p);try{for(;;){let{done:w,value:y}=await f.read();if(w){a||d.enqueue(o.encode(`data: [DONE]
285
-
286
- `));break}let _=n.decode(y,{stream:!0});s+=_;let m=s.split(/\r?\n/);s=m.pop()||"";for(let v of m)if(v.trim())try{if(v.startsWith("event: "))continue;if(v.startsWith("data: ")){let b=v.slice(5).trim();if(b==="[DONE]"){a=!0,d.enqueue(o.encode(`data: [DONE]
287
-
288
- `));continue}try{let S=JSON.parse(b);if(S.type==="response.output_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:{content:S.delta||""},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
289
-
290
- `))}else if(S.type==="response.output_item.added"&&S.item?.type==="function_call"){let D={id:S.item.call_id||S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:A(S.type),delta:{role:"assistant",tool_calls:[{index:0,id:S.item.call_id||S.item.id,function:{name:S.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
291
-
292
- `))}else if(S.type==="response.output_item.added"&&S.item?.type==="message"){let D=[];(S.item.content||[]).forEach(q=>{q.type==="output_text"&&D.push({type:"text",text:q.text||""})});let O={role:"assistant"};if(D.length===1&&D[0].type==="text"?O.content=D[0].text:D.length>0&&(O.content=D),O.content){let q={id:S.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:O,finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(q)}
293
-
294
- `))}}else if(S.type==="response.output_text.annotation.added"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex",choices:[{index:A(S.type),delta:{annotations:[{type:"url_citation",url_citation:{url:S.annotation?.url||"",title:S.annotation?.title||"",content:"",start_index:S.annotation?.start_index||0,end_index:S.annotation?.end_index||0}}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
295
-
296
- `))}else if(S.type==="response.function_call_arguments.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:A(S.type),delta:{tool_calls:[{index:0,function:{arguments:S.delta||""}}]},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
297
-
298
- `))}else if(S.type==="response.completed"){let D=S.response?.output?.some(q=>q.type==="function_call")?"tool_calls":"stop",O={id:S.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:D}]};d.enqueue(o.encode(`data: ${JSON.stringify(O)}
299
-
300
- `)),a=!0}else if(S.type==="response.reasoning_summary_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:{thinking:{content:S.delta||""}},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
301
-
302
- `))}else if(S.type==="response.reasoning_summary_part.done"&&S.part){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:p,delta:{thinking:{signature:S.item_id}},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
303
-
304
- `))}}catch{d.enqueue(o.encode(v+`
305
- `))}}else d.enqueue(o.encode(v+`
306
- `))}catch(b){console.error("Error processing line:",v,b),d.enqueue(o.encode(v+`
307
- `))}}s.trim()&&d.enqueue(o.encode(s+`
308
- `)),a||d.enqueue(o.encode(`data: [DONE]
309
-
310
- `))}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{f.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,r){let n={...e};if(delete n.cache_control,e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}convertResponseToChat(e){let r=e.output?.find(d=>d.type==="message"),n=e.output?.find(d=>d.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let d=[],f=[];if(r.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let g=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});g&&f.push(g)}else if(p.type==="output_image_base64"){let g=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});g&&f.push(g)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.join("")}return n&&(a=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:c,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var Hd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
352
+ `);l=m.pop()||"";for(let k of m)if(k.trim())try{_(k,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:w=>o=w,reasoningContent:()=>s,appendReasoningContent:w=>s+=w,isReasoningComplete:()=>a,setReasoningComplete:w=>a=w})}catch(w){console.error("Error processing line:",k,w),f.enqueue(r.encode(k+`
353
+ `))}}}catch(C){console.error("Stream error:",C),f.error(C)}finally{try{p.releaseLock()}catch(C){console.error("Error releasing reader lock:",C)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Xd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
311
354
 
312
355
  Output format:
313
356
  <reasoning_content>
314
357
  Your detailed thinking process goes here
315
358
  </reasoning_content>
316
- Your final answer must follow after the closing tag above.`,lv=10,tu=class{name="forcereasoning";async transformRequestIn(e){let r=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||r<lv)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
317
- ${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:Hd}):n.content=[{type:"text",text:Hd},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Hd}]}),e}async transformResponseOut(e){let r="<reasoning_content>",n="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,c=new ReadableStream({async start(l){let d=e.body.getReader(),f="",p="SEARCHING",g="",A="",w=(y,_)=>{if(typeof _!="string"){y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&!y.choices[0].delta.content&&(y.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(y)}
359
+ Your final answer must follow after the closing tag above.`,Sv=10,su=class{name="forcereasoning";async transformRequestIn(e){let n=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||n<Sv)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
360
+ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return r.role==="user"&&(Array.isArray(r.content)?r.content.push({type:"text",text:Xd}):r.content=[{type:"text",text:Xd},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Xd}]}),e}async transformResponseOut(e){let n="<reasoning_content>",r="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,c=new ReadableStream({async start(l){let d=e.body.getReader(),f="",p="SEARCHING",g="",_="",C=(b,y)=>{if(typeof y!="string"){b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0&&!b.choices[0].delta.content&&(b.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(b)}
318
361
 
319
- `)));return}let m=g+_;for(g="";m.length>0;)if(p==="SEARCHING"){let v=m.indexOf(r);if(v!==-1)m=m.substring(v+r.length),p="REASONING";else{for(let b=r.length-1;b>0;b--)if(m.endsWith(r.substring(0,b))){g=m.substring(m.length-b);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let b=m.substring(0,v);if(b.length>0){let O={...y.choices[0].delta,thinking:{content:b}};delete O.content;let q={...y,choices:[{...y.choices[0],delta:O,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(q)}
362
+ `)));return}let m=g+y;for(g="";m.length>0;)if(p==="SEARCHING"){let k=m.indexOf(n);if(k!==-1)m=m.substring(k+n.length),p="REASONING";else{for(let w=n.length-1;w>0;w--)if(m.endsWith(n.substring(0,w))){g=m.substring(m.length-w);break}m=""}}else if(p==="REASONING"){let k=m.indexOf(r);if(k!==-1){let w=m.substring(0,k);if(w.length>0){let R={...b.choices[0].delta,thinking:{content:w}};delete R.content;let U={...b,choices:[{...b.choices[0],delta:R,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(U)}
320
363
 
321
- `))}let S={...y.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete S.content;let D={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
364
+ `))}let S={...b.choices[0].delta,thinking:{signature:"ccr_think_signature"}};delete S.content;let T={...b,choices:[{...b.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
322
365
 
323
- `)),o++,m=m.substring(v+n.length),p="FINAL"}else{let b=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){g=m.substring(m.length-S),b=m.substring(0,m.length-S);break}if(b.length>0){let S={...y.choices[0].delta,thinking:{content:b}};delete S.content;let D={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
366
+ `)),o++,m=m.substring(k+r.length),p="FINAL"}else{let w=m;for(let S=r.length-1;S>0;S--)if(m.endsWith(r.substring(0,S))){g=m.substring(m.length-S),w=m.substring(0,m.length-S);break}if(w.length>0){let S={...b.choices[0].delta,thinking:{content:w}};delete S.content;let T={...b,choices:[{...b.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
324
367
 
325
- `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let b=A+m,S={...y.choices[0].delta,content:b};S.thinking&&delete S.thinking;let D={...y,choices:[{...y.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
368
+ `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))_+=m;else{let w=_+m,S={...b.choices[0].delta,content:w};S.thinking&&delete S.thinking;let T={...b,choices:[{...b.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
326
369
 
327
- `)),A=""}o++,m=""}};try{for(;;){let{done:y,value:_}=await d.read();if(y)break;let m=s.decode(_,{stream:!0});f+=m;let v=f.split(`
328
- `);f=v.pop()||"";for(let b of v)if(b.trim()){if(b.trim()==="data: [DONE]"){l.enqueue(a.encode(b+`
370
+ `)),_=""}o++,m=""}};try{for(;;){let{done:b,value:y}=await d.read();if(b)break;let m=s.decode(y,{stream:!0});f+=m;let k=f.split(`
371
+ `);f=k.pop()||"";for(let w of k)if(w.trim()){if(w.trim()==="data: [DONE]"){l.enqueue(a.encode(w+`
329
372
 
330
- `));break}if(b.startsWith("data:"))try{let S=JSON.parse(b.slice(5));w(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(b+`
331
- `))}else l.enqueue(a.encode(b+`
332
- `))}}}catch(y){console.error("Stream error:",y),l.error(y)}finally{try{d.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}if(p==="REASONING"){let _={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(_)}
373
+ `));break}if(w.startsWith("data:"))try{let S=JSON.parse(w.slice(5));C(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(w+`
374
+ `))}else l.enqueue(a.encode(w+`
375
+ `))}}}catch(b){console.error("Stream error:",b),l.error(b)}finally{try{d.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}if(p==="REASONING"){let y={choices:[{delta:{thinking:{signature:"ccr_think_signature"}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(y)}
333
376
 
334
- `))}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ru=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(n=>n.thinking?.content))&&e.messages.forEach(n=>{if(n.role==="assistant"){let o=n.thinking?.content,s=n.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(n.reasoning_content=o,s&&(n.reasoning_content_signature=s)),n.tool_calls&&n.tool_calls.length>0&&(n.reasoning_content||(n.reasoning_content="")),n.thinking&&delete n.thinking}}),e}async transformResponseOut(e){let r=e.headers.get("Content-Type");if(r?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
335
- `));break}let g=n.decode(p,{stream:!0});a+=g;let A=a.split(`
336
- `);a=A.pop()||"";for(let w of A)if(w.trim())if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]")try{let y=JSON.parse(w.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){s+=y.choices[0].delta.reasoning_content;let _={...y,choices:[{...y.choices[0],delta:{thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(_)}
377
+ `))}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var iu=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(r=>r.thinking?.content))&&e.messages.forEach(r=>{if(r.role==="assistant"){let o=r.thinking?.content,s=r.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(r.reasoning_content=o,s&&(r.reasoning_content_signature=s)),r.tool_calls&&r.tool_calls.length>0&&(r.reasoning_content||(r.reasoning_content="")),r.thinking&&delete r.thinking}}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type");if(n?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,o=new TextEncoder,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
378
+ `));break}let g=r.decode(p,{stream:!0});a+=g;let _=a.split(`
379
+ `);a=_.pop()||"";for(let C of _)if(C.trim())if(C.startsWith("data: ")&&C.trim()!=="data: [DONE]")try{let b=JSON.parse(C.slice(6));if(b.choices?.[0]?.delta?.reasoning_content){s+=b.choices[0].delta.reasoning_content;let y={...b,choices:[{...b.choices[0],delta:{thinking:{content:b.choices[0].delta.reasoning_content}}}]};delete y.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(y)}
337
380
 
338
- `));continue}if(y.choices?.[0]?.delta?.content&&s&&!y.choices[0]?.delta?.reasoning_content){let _=Date.now().toString(),m={...y,choices:[{...y.choices[0],delta:{content:null,thinking:{content:s,signature:_}}}]};l.enqueue(o.encode(`data: ${JSON.stringify(m)}
381
+ `));continue}if(b.choices?.[0]?.delta?.content&&s&&!b.choices[0]?.delta?.reasoning_content){let y=Date.now().toString(),m={...b,choices:[{...b.choices[0],delta:{content:null,thinking:{content:s,signature:y}}}]};l.enqueue(o.encode(`data: ${JSON.stringify(m)}
339
382
 
340
- `)),s=""}y.choices?.[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&l.enqueue(o.encode(`data: ${JSON.stringify(y)}
383
+ `)),s=""}b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0&&l.enqueue(o.encode(`data: ${JSON.stringify(b)}
341
384
 
342
- `))}catch{l.enqueue(o.encode(w+`
343
- `))}else l.enqueue(o.encode(w+`
344
- `))}}catch(f){l.error(f)}finally{try{d.releaseLock()}catch{}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":r||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(r?.includes("application/json")){let n=await e.json();return n.choices?.[0]?.message?.reasoning_content&&(n.choices[0].message.thinking={content:n.choices[0].message.reasoning_content},delete n.choices[0].message.reasoning_content),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var I0={AnthropicTransformer:mi,GeminiTransformer:bi,VertexGeminiTransformer:Na,VertexClaudeTransformer:Va,DeepseekTransformer:Ma,TooluseTransformer:ja,OpenrouterTransformer:La,OpenAITransformer:Qa,MaxTokenTransformer:Ua,GroqTransformer:$a,CleancacheTransformer:qa,EnhanceToolTransformer:Ha,ReasoningTransformer:Wa,SamplingTransformer:Ga,MaxCompletionTokens:Ja,CerebrasTransformer:Ka,StreamOptionsTransformer:Ya,CustomParamsTransformer:Xa,VercelTransformer:Za,OpenAIResponsesTransformer:eu,ForceReasoningTransformer:tu,KimiTransformer:ru};var vn=class{constructor(e,r){this.configService=e;this.logger=r}transformers=new Map;registerTransformer(e,r){this.transformers.set(e,r),this.logger.info(`register transformer: ${e}${r.endPoint?` (endpoint: ${r.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&r.endPoint&&e.push({name:n,transformer:r})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((r,n)=>{typeof r=="object"&&!r.endPoint&&e.push({name:n,transformer:r})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let r=require(require.resolve(e.path));if(r){let n=new r(e.options);if(n&&typeof n=="object"&&(n.logger=this.logger),!n.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(n.name,n),!0}}return!1}catch(r){return this.logger.error(`load transformer (${e.path})
345
- error: ${r.message}
346
- stack: ${r.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
347
- Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(I0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let r=new e;r&&typeof r=="object"&&(r.logger=this.logger),this.registerTransformer(r.name,r)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let r of e)await this.registerTransformerFromConfig(r)}};var B0=require("tiktoken"),bs=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,B0.get_encoding)(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");let n=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(c=>{typeof c.content=="string"?n+=r.encode(c.content).length:Array.isArray(c.content)&&c.content.forEach(l=>{if(l.type==="text")n+=r.encode(l.text).length;else if(l.type==="tool_use")n+=r.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let d=typeof l.content=="string"?l.content:JSON.stringify(l.content);n+=r.encode(d).length}})}),typeof s=="string"?n+=r.encode(s).length:Array.isArray(s)&&s.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?n+=r.encode(c.text).length:Array.isArray(c.text)&&c.text.forEach(l=>{n+=r.encode(l||"").length}))}),a&&a.forEach(c=>{c.description&&(n+=r.encode(c.name+c.description).length),c.input_schema&&(n+=r.encode(JSON.stringify(c.input_schema)).length)}),n}isInitialized(){return this.encoding!==void 0}encodeText(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");return Array.from(r.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var As=require("path"),Q0=require("os"),wo=require("fs"),Ss=require("fs");var dv=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let r of t){let n=e;for(let o=0;o<r.length;++o){let s=r[o];n=n[s]??=Object.create(null)}n.end=r}return e}split(t){let e=[],r=t.length,n=0,o=0;for(;o<r;){let s=this.trie,a=null,c=o;for(;c<r&&(s=s[t[c]]);)s.end&&(a=s.end),++c;a?(o>n&&e.push(t.slice(n,o)),e.push(a),o+=a.length,n=o):++o}return n<r&&e.push(t.slice(n)),e}},fv=dv,hv=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},pv=hv,q0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),r=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+r),r+=1);let n=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,n[s]]))})(),mv=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),gv=mv(q0),N0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",yv=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${N0}])]+`,` ?[^\\s${N0}]+`]]),Cs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",gP=new RegExp(`^[${Cs}]+$`,"gu"),Gd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),nu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of yv)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=_v(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},_v=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),bv=(t,e,r)=>{let n=[],o=0;for(;o<t.length;){if(n.push(t[o]),(e.get(t[o])??r)!==r){++o;continue}for(;++o<t.length&&(e.get(t[o])??r)===r;)e.get(n.at(-1))!==r&&(n[n.length-1]+=t[o])}return n},Cv=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,wv=t=>Number.isInteger(t)||typeof t=="bigint",Ev=t=>{let e=0;for(let r of t)++e;return e},Av=t=>z0(t.toLowerCase()),Bt=(...t)=>Array.prototype.concat.apply([],t),Jd=t=>new Map(Object.entries(t)),Sv=(t,e)=>{let r=[],n=0;for(let o of t.matchAll(e)){let s=o[0];n<o.index&&r.push(t.slice(n,o.index)),s.length>0&&r.push(s),n=o.index+s.length}return n<t.length&&r.push(t.slice(n)),r},z0=t=>t.replace(new RegExp("\\p{M}","gu"),""),M0=(t,e,r=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let n of r)if(!(n in t))return`${e} must contain a "${n}" property`;return null},kv=t=>t.match(/\S+/g)||[],vv=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ws=vv,Tv=class extends ws{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},xr=Tv,Dv=class extends xr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);Cv(o)?(e.push(" "),e.push(n),e.push(" ")):e.push(n)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
348
- `:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},Rv=Dv,xv=class extends xr{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},Ov=xv,Pv=class extends xr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>H0(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},Fv=Pv,Iv=class extends xr{normalize(t){let e=nu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Bv=Iv,Nv=class extends xr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},ou=Nv,Mv=class extends ou{constructor(){super(...arguments),this.form="NFC"}},jv=Mv,Lv=class extends ou{constructor(){super(...arguments),this.form="NFD"}},Uv=Lv,$v=class extends ou{constructor(){super(...arguments),this.form="NFKC"}},qv=$v,zv=class extends ou{constructor(){super(...arguments),this.form="NFKD"}},Hv=zv,Wv=class extends xr{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},Gv=Wv,Jv=class extends xr{normalize(t){return z0(t)}},Vv=Jv,Kv=class extends xr{normalize(t){return t.toLowerCase()}},Yv=Kv,Qv=class extends xr{normalize(t){return t=this.config.prepend+t,t}},Xv=Qv;function Zv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new Rv(t);case"Precompiled":return new Ov(t);case"Sequence":return new Fv(t);case"Replace":return new Bv(t);case"NFC":return new jv(t);case"NFD":return new Uv(t);case"NFKC":return new qv(t);case"NFKD":return new Hv(t);case"Strip":return new Gv(t);case"StripAccents":return new Vv(t);case"Lowercase":return new Yv(t);case"Prepend":return new Xv(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var H0=Zv,eT=class extends ws{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},lr=eT,tT=class extends lr{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=q0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},rT=tT,nT=class extends lr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},oT=nT,sT=class extends lr{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},iT=sT,aT=class extends lr{constructor(t){super(),this.config=t,this.pattern=nu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):Sv(t,this.pattern)}},uT=aT,cT=class extends lr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Cs}]+|[${Cs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},lT=cT,dT=class extends lr{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},fT=dT,hT=class extends lr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Cs}]+|[${Cs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},pT=hT,mT=class extends lr{constructor(t){super(),this.config=t,this.pattern=nu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},gT=mT,yT=class extends lr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>W0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},_T=yT,bT=class extends lr{pre_tokenize_text(t){return kv(t)}},CT=bT;function wT(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new pT;case"Sequence":return new _T(t);case"Whitespace":return new oT;case"WhitespaceSplit":return new CT;case"Metaspace":return new iT(t);case"ByteLevel":return new rT(t);case"Split":return new uT(t);case"Punctuation":return new lT(t);case"Digits":return new fT(t);case"Replace":return new gT(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var W0=wT,ET=class extends ws{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=bv(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},su=ET,AT=class extends su{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<n.length;){let c=n.length,l=null;for(;s<c;){let d=n.slice(s,c).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--c}if(l===null){o=!0;break}a.push(l),s=c}o?e.push(this.unk_token):e.push(...a)}return e}},j0=AT,L0=class G0{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new G0(!1,new Map)}},ST=class{constructor(){this.root=L0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=L0.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},kT=ST,Wd=class J0{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new J0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},vT=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Wd(this.bos_token_id??0,0,0,0,0),o=new Wd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Wd(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,c=null;for(let l of this.end_nodes[e]){let d=l.backtrace_score+s.score;(c===null||d>a)&&(c=l.clone(),a=d)}if(c!==null)s.prev=c,s.backtrace_score=a;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},TT=vT;function DT(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var RT=class extends su{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=DT(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new kT,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],a=e.slice(n).join(""),c=this.trie.common_prefix_search(a);for(let l of c){s.push(l);let d=this.tokens_to_ids.get(l),f=this.scores[d],p=Ev(l);t.insert(n,p,f,d),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new TT(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},U0=RT,xT=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},OT=xT,PT=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},FT=PT,IT=class extends su{constructor(t){super(t),this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new FT(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new OT((c,l)=>c.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let c=1;c<r.length;++c){let l={bias:c/r.length,token:r[c],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let d={...c.prev};c.prev.deleted=!0,c.prev=d,d.prev?d.prev.next=d:s=d}let l={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let c=s;c!==null;c=c.next)n.push(c.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},$0=IT,BT=class extends su{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=Jd(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},NT=BT;function MT(t,e){switch(t.type){case"WordPiece":return new j0(t);case"Unigram":return new U0(t,e.eos_token);case"BPE":return new $0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new U0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new $0(t):new j0(t):new NT(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var jT=MT,LT=class extends ws{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Es=LT,UT=class extends Es{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of n)"SpecialToken"in a?r&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Bt(o,t),s=Bt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Bt(o,e),s=Bt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},$T=UT,qT=class extends Es{post_process(t,e=null){return{tokens:e?Bt(t,e):t}}},zT=qT,HT=class extends Es{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Bt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},WT=HT,GT=class extends Es{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Bt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Bt(t,o,e,s),n=Bt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},JT=GT,VT=class extends Es{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>V0(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},KT=VT;function YT(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new $T(t);case"ByteLevel":return new zT(t);case"BertProcessing":return new WT(t);case"RobertaProcessing":return new JT(t);case"Sequence":return new KT(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var V0=YT,QT=class extends ws{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},dr=QT,XT=class extends dr{constructor(t){super(t),this.byte_decoder=gv,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},ZT=XT,eD=class extends dr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Gd(e)),e})}},tD=eD,rD=class extends dr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},nD=rD,oD=class extends dr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},sD=oD,iD=class extends dr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Gd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},aD=iD,uD=class extends dr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>K0(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},cD=uD,lD=class extends dr{decode_chain(t){let e=nu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},dD=lD,fD=class extends dr{decode_chain(t){return[t.join("")]}},hD=fD,pD=class extends dr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},mD=pD,gD=class extends dr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},yD=gD;function _D(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new ZT(t);case"WordPiece":return new tD(t);case"Metaspace":return new nD(t);case"BPEDecoder":return new sD(t);case"CTC":return new aD(t);case"Sequence":return new cD(t);case"Replace":return new dD(t);case"Fuse":return new hD(t);case"Strip":return new mD(t);case"ByteFallback":return new yD(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var K0=_D,bD=class{constructor(t,e){let r=M0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=M0(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=H0(this.tokenizer.normalizer),this.pre_tokenizer=W0(this.tokenizer.pre_tokenizer),this.model=jT(this.tokenizer.model,this.config),this.post_processor=V0(this.tokenizer.post_processor),this.decoder=K0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new pv(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new fv(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),a=this.model.convert_tokens_to_ids(o),c={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!wv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Gd(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=Av(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Bt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},Y0=bD;var iu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||(0,As.join)((0,Q0.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,As.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,As.join)(e,"tokenizer.json"),tokenizerConfig:(0,As.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,wo.existsSync)(e)||(0,wo.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,wo.existsSync)(e.tokenizerJson)||!(0,wo.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ss.promises.readFile(e.tokenizerJson,"utf-8"),Ss.promises.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ss.promises.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),Ss.promises.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:c,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new Y0(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let a of n)if(typeof a.content=="string")r.push(a.content);else if(Array.isArray(a.content))for(let c of a.content)c.type==="text"&&c.text?r.push(c.text):c.type==="tool_use"&&c.input?r.push(JSON.stringify(c.input)):c.type==="tool_result"&&r.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")r.push(a.text);else if(Array.isArray(a.text))for(let c of a.text)c&&r.push(c)}}if(s)for(let a of s)a.name&&r.push(a.name),a.description&&r.push(a.description),a.input_schema&&r.push(JSON.stringify(a.input_schema));return r.join(" ")}};var au=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let c=await a.json();return this.extractTokenCount(c)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var Tn=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new bs("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new bs(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new iu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new au(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};var s_=require("tiktoken");var Vd=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},uu=new Vd(100);var du=require("fs/promises"),pu=require("fs/promises"),fu=require("path"),Ao=require("@wengine-ai/claude-code-router-shared");Hn();var Or=require("fs"),Qd=require("path"),e_=require("@wengine-ai/claude-code-router-shared"),Kd=(0,Qd.join)(e_.HOME_DIR,"runtime"),Yd=(0,Qd.join)(Kd,"quota-store.json"),Eo=new Map,X0=!1,CD=null;function cu(t,e){t&&Eo.set(t,{...e,provider:t,capturedAt:Date.now()})}function lu(t){let e=Eo.get(t);return e?{...e}:void 0}function t_(){return Array.from(Eo.values()).map(t=>({...t}))}function wD(){try{if(!(0,Or.existsSync)(Yd))return;let t=JSON.parse((0,Or.readFileSync)(Yd,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let r of t)if(r&&r.provider){if(r.capturedAt&&e-r.capturedAt>1440*60*1e3)continue;Eo.set(r.provider,r)}}catch{}}function Z0(){try{if(Eo.size===0)return;(0,Or.existsSync)(Kd)||(0,Or.mkdirSync)(Kd,{recursive:!0}),(0,Or.writeFileSync)(Yd,JSON.stringify(Array.from(Eo.values()),null,2),"utf-8")}catch{}}function r_(){X0||(X0=!0,wD(),CD=setInterval(Z0,6e4),process.on("exit",Z0))}fi();var Pr=(0,s_.get_encoding)("cl100k_base"),Zd=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Pr.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Pr.encode(s.text).length:s.type==="tool_use"?n+=Pr.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Pr.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Pr.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Pr.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Pr.encode(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Pr.encode(o.name+o.description).length),o.input_schema&&(n+=Pr.encode(JSON.stringify(o.input_schema)).length)}),n},i_=async(t,e)=>{if(t.sessionId){let r=await ef(t.sessionId);if(r){let n=(0,fu.join)(Ao.HOME_DIR,r,"config.json"),o=(0,fu.join)(Ao.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,du.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,du.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}};function hu(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function a_(t){let e=hu(t),r=e.includes("[1m]")||e.endsWith("[1m"),n=e.replace(/\[1m\]|\[1m$/g,""),o=n.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:r};let s=n.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||n.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:r}:{family:null,extended:r}}function ED(t,e){if(!e||!t)return null;let r=hu(t);if(e[t])return e[t];if(e[r])return e[r];let{family:n}=a_(t);if(n&&e[n])return e[n];for(let[o,s]of Object.entries(e)){let a=hu(o);if(a&&r.includes(a))return s}return null}function u_(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function n_(t){if(!t?.includes(","))return null;let[e,...r]=t.split(","),n=e.trim(),o=r.join(",").trim();return!n||!o?null:{providerName:n,routeModel:o}}function st(t,e,r,n){let o=n_(t);if(!o)return t;let{providerName:s,routeModel:a}=o,c=e.find(f=>f.name.toLowerCase()===s.toLowerCase());if(c&&c.enabled===!1)return null;if(n&&!r){let f=Mo(),p=f.getPromotion(s,a,n,e);if(p){let g=n_(p);if(g){let A=e.find(y=>y.name.toLowerCase()===g.providerName.toLowerCase()),w=A?.models?.find(y=>String(y).toLowerCase()===g.routeModel.toLowerCase());if(A&&w)return`${A.name},${w}`}f.clear(s,a,n)}}if(!r&&!Xe().isAvailable(s,a))return null;let l=lu(s);if(l){let f=l.limitDaily!==void 0&&l.usedDailyBalance!==void 0&&l.usedDailyBalance>=l.limitDaily,p=l.totalBalance!==void 0&&l.usedBalance!==void 0&&l.usedBalance>=l.totalBalance;if(f||p)return null}let d=c?.models?.find(f=>String(f).toLowerCase()===a.toLowerCase());return c&&d?`${c.name},${d}`:t}function Yt(t,e,r,n,o){let s=Xe(),a=[r?.[t],n?.[t]];for(let c of a)if(!(!Array.isArray(c)||c.length===0))for(let l of c){let d=st(l,e);if(d)return d}return null}function AD(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(r=>r.type==="image"||r.type==="image_url"||Array.isArray(r?.content)&&r.content.some(n=>n.type==="image"||n.type==="image_url")))}function SD(t){let e=hu(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(n=>n.test(e))}function kD(t,e,r,n,o,s,a){let c=r.longContextThreshold||6e4,l=Math.max(e,u_(o)),d=t.modelFamily;if((s||l>2e5)&&r.extendedContext){let A=st(r.extendedContext,n,!1,"extendedContext");if(A)return t.log.info(`Family: using extended context model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:A,scenarioType:"extendedContext",isFallback:!1};let w=Yt("extendedContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(l>c&&(r.longContext||r.fallback?.longContext?.length||a?.longContext?.length)){let A=r.longContext?st(r.longContext,n,!1,"longContext"):null;if(A)return t.log.info(`Family: using long context model, tokens: ${l}, estimated: ${e}`),{model:A,scenarioType:"longContext",isFallback:!1};let w=Yt("longContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using long context fallback model, tokens: ${l}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&r.webSearch){let A=st(r.webSearch,n,!1,"webSearch");if(A)return{model:A,scenarioType:"webSearch",isFallback:!1};let w=Yt("webSearch",n,r.fallback,a,d);if(w)return t.log.info("Family: using webSearch fallback model"),{model:w,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking&&r.think){let A=st(r.think,n,!1,"think");if(A)return{model:A,scenarioType:"think",isFallback:!1};let w=Yt("think",n,r.fallback,a,d);if(w)return t.log.info("Family: using think fallback model"),{model:w,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(r.default){let A=st(r.default,n,!1,"default");if(A)return{model:A,scenarioType:"default",isFallback:!1};let w=Yt("default",n,r.fallback,a,d);if(w)return t.log.info("Family: using default fallback model"),{model:w,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var vD=async(t,e,r,n)=>{let o=await i_(t,r),s=r.get("providers")||[],a=o||r.get("Router"),c=r.get("fallback");if(t.body.model.includes(",")){let m=st(t.body.model,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let v=Yt("default",s,void 0,c);if(v)return t.log.info(`Using fallback for explicit model: ${v}`),{model:v,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:l,extended:d}=a_(t.body.model),f=a?.families?.[l||""];if(f&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${l}${d?" (1M)":""}`),t.modelFamily=l,t.familyFallback=f.fallback;let m=kD(t,e,f,s,n,d,c);if(m)return{model:m.model,scenarioType:m.scenarioType}}let p=ED(t.body.model,a?.models);if(p){let m=st(p,s,!1,"modelMapping");if(m)return t.log.info(`Using mapped model for ${t.body.model}: ${p}`),{model:m,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${p} unavailable (fail pool), skipping`)}let g=Math.max(e,u_(n)),A=a?.extendedContextThreshold||2e5;if(g>A&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${g}, estimated: ${e}, threshold: ${A}`);let m=st(a.extendedContext,s,!1,"extendedContext");if(m)return{model:m,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let v=Yt("extendedContext",s,void 0,c);if(v)return{model:v,scenarioType:"extendedContext"}}let w=a?.longContextThreshold||6e4;if(g>w&&a?.longContext){t.log.info(`Using long context model due to token count: ${g}, estimated: ${e}, threshold: ${w}`);let m=st(a.longContext,s,!1,"longContext");if(m)return{model:m,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let v=Yt("longContext",s,void 0,c);if(v)return{model:v,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let m=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(m)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${m[1]}</CCR-SUBAGENT-MODEL>`,""),{model:m[1],scenarioType:"default"}}let _=r.get("Router");if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&_?.background){t.log.info(`Using background model for ${t.body.model}`);let m=st(_.background,s,!1,"background");if(m)return{model:m,scenarioType:"background"};t.log.warn(`Background model ${_.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(m=>m.type?.startsWith("web_search"))&&a?.webSearch){let m=st(a.webSearch,s,!1,"webSearch");if(m)return{model:m,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let v=Yt("webSearch",s,void 0,c);if(v)return{model:v,scenarioType:"webSearch"}}if(t.body.thinking&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let m=st(a.think,s,!1,"think");if(m)return{model:m,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let v=Yt("think",s,void 0,c);if(v)return{model:v,scenarioType:"think"}}if(a?.default){let m=st(a.default,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let v=Yt("default",s,void 0,c);if(v)return{model:v,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},mu=async(t,e,r)=>{let{configService:n,event:o}=r;if(t.originalModel=t.body.model,t.body.metadata?.user_id){let A=t.body.metadata.user_id.split("_session_");A.length>1&&(t.sessionId=A[1])}let a=await i_(t,n)||n.get("Router"),c=n.get("providers")||[],l=uu.get(t.sessionId),{messages:d,system:f=[],tools:p}=t.body,g=n.get("REWRITE_SYSTEM_PROMPT");if(g&&f.length>1&&f[1]?.text?.includes("<env>")){let A=await(0,du.readFile)(g,"utf-8");f[1].text=`${A}<env>${f[1].text.split("<env>").pop()}`}try{let[A,w]=t.body.model.split(","),y=r.tokenizerService?.getTokenizerConfigForModel(A,w),_;r.tokenizerService?_=(await r.tokenizerService.countTokens({messages:d,system:f,tools:p},y)).tokenCount:_=Zd(d,f,p),t.tokenCount=_;let m,v=n.get("CUSTOM_ROUTER_PATH");if(v)try{m=await require(v)(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(m)t.scenarioType="default";else{let b=await vD(t,_,n,l);m=b.model,t.scenarioType=b.scenarioType}if(a?.image&&m!==a.image&&AD(t)&&!SD(m)){let b=st(a.image,c,!1,"image");b?(t.log.info(`Using image model fallback for ${m}`),m=b,t.scenarioType="image"):t.log.warn(`Image model ${a.image} unavailable (fail pool), keeping ${m}`)}t.body.model=m}catch(A){t.log.error(`Error in router middleware: ${A.message}`),t.body.model=a?.default,t.scenarioType="default"}},Fr=new Map,o_=1e3;function Xd(){if(Fr.size<=o_)return;let t=[...Fr.keys()].slice(0,Fr.size-o_);for(let e of t)Fr.delete(e)}var ef=async t=>{if(Fr.has(t)){let e=Fr.get(t);return!e||e===""?null:e}try{let e=await(0,pu.opendir)(Ao.CLAUDE_PROJECTS_DIR),r=[];for await(let s of e)s.isDirectory()&&r.push(s.name);let n=r.map(async s=>{let a=(0,fu.join)(Ao.CLAUDE_PROJECTS_DIR,s,`${t}.jsonl`);try{return(await(0,pu.stat)(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(n);for(let s of o)if(s)return Fr.set(t,s),Xd(),s;return Fr.set(t,""),Xd(),null}catch(e){return console.error("Error searching for project by session:",e),Fr.set(t,""),Xd(),null}};Hn();var Ir=class{async fetchJson(e,r,n,o){if(!r.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${r.apiKey}`},signal:AbortSignal.timeout(n)};if(o)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(o).toString())}catch{}try{let a=await fetch(e,s);return a.ok?await a.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},tf=class extends Ir{async queryQuota(e,r,n){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,r,n),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>we(l?.total_balance)!==void 0);if(!a)return null;let c=we(a.total_balance);return c===void 0?null:{totalBalance:c,currency:typeof a.currency=="string"?a.currency:void 0}}},rf=class extends Ir{async queryQuota(e,r,n){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,r,n))?.data;if(!s||typeof s!="object")return null;let a={},c=we(s.limit),l=we(s.limit_remaining),d=we(s.usage),f=we(s.usage_daily);return c!==void 0&&(a.totalBalance=c),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},nf=class extends Ir{async queryQuota(e,r,n){let o=ID(e.baseUrl),a=(await this.fetchJson(o,e,r,n))?.data;if(!a||typeof a!="object")return null;let c={},l=we(a.totalBalance),d=we(a.balance);return l!==void 0&&(c.totalBalance=l),d!==void 0&&(c.remainingBalance=d),l!==void 0&&d!==void 0&&(c.usedBalance=Math.max(0,l-d)),this.hasQuotaData(c)?c:null}},of=class extends Ir{async queryQuota(e,r,n){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let c=await a.json(),l=Array.isArray(c?.data?.limits)?c.data.limits:[],d=null,f=null,p=null;for(let A of l)A.type==="TOKENS_LIMIT"?A.unit===3?d=A:A.unit===6?f=A:d||(d=A):A.type==="TIME_LIMIT"&&(p=A);let g={};if(d){let A=we(d.currentValue),w=we(d.usage),y=we(d.remaining),_=we(d.percentage);A!==void 0?g.usedDailyBalance=A:_!==void 0&&(g.usedDailyBalance=_,g.limitDaily=100),w!==void 0?g.limitDaily=w:A!==void 0&&y!==void 0&&(g.limitDaily=A+y),d.nextResetTime&&(g.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let A=we(f.currentValue),w=we(f.usage),y=we(f.remaining),_=we(f.percentage);A!==void 0?g.usedBalance=A:_!==void 0&&(g.usedBalance=_,g.totalBalance=100),w!==void 0?g.totalBalance=w:A!==void 0&&y!==void 0&&(g.totalBalance=A+y),f.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(g.usedDailyBalance===void 0){let A=we(p.currentValue);A!==void 0&&(g.usedDailyBalance=A)}if(g.limitDaily===void 0){let A=we(p.usage),w=we(p.currentValue),y=we(p.remaining);A!==void 0?g.limitDaily=A:w!==void 0&&y!==void 0&&(g.limitDaily=w+y)}p.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(g)?g:null}catch{return null}}},sf=class extends Ir{async queryQuota(e,r,n){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(n).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let c=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!c.ok)return null;let d=(await c.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},g=we(f.per5HourUsedQuota),A=we(f.per5HourTotalQuota);g!==void 0&&(p.usedDailyBalance=g),A!==void 0&&(p.limitDaily=A);let w=we(f.perWeekUsedQuota),y=we(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),y!==void 0&&(p.totalBalance=y),this.hasQuotaData(p)?p:null}catch{return null}}},af=class extends Ir{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let c=await a.json(),l={},d=Array.isArray(c?.limits)?c.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,g=we(p.limit),A=we(p.remaining),w=p.resetTime;g!==void 0&&A!==void 0&&(l.usedDailyBalance=Math.max(0,g-A),l.limitDaily=g),w&&(l.resetTime=new Date(w).toISOString())}let f=c?.usage;if(f){let p=we(f.limit),g=we(f.remaining),A=we(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,A!==void 0?l.usedBalance=A:g!==void 0&&(l.usedBalance=Math.max(0,p-g),l.remainingBalance=g)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},uf=class extends Ir{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=cf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com",c={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:l}=await import("undici");c.dispatcher=new l(new URL(n).toString())}catch{}try{let l=await fetch(`https://${a}/v1/api/openplatform/coding_plan/remains`,c);if(!l.ok)return null;let d=await l.json();if(d?.base_resp){let b=d.base_resp.status_code;if(b!==void 0&&b!==0)return null}let f=Array.isArray(d?.model_remains)?d.model_remains:[];if(f.length===0)return null;let p=f[0],g={},A=we(p.current_interval_total_count),w=we(p.current_interval_usage_count),y=we(p.end_time);A!==void 0&&w!==void 0&&(g.usedDailyBalance=Math.max(0,A-w),g.limitDaily=A),y&&(g.resetTime=new Date(y).toISOString());let _=we(p.current_weekly_total_count),m=we(p.current_weekly_usage_count),v=we(p.weekly_end_time);return _!==void 0&&m!==void 0&&(g.usedBalance=Math.max(0,_-m),g.remainingBalance=m,g.totalBalance=_),v&&!g.resetTime&&(g.resetTime=new Date(v).toISOString()),this.hasQuotaData(g)?g:null}catch{return null}}},TD=new tf,DD=new rf,RD=new nf,xD=new of,OD=new sf,PD=new af,FD=new uf;function gu(t){let e=cf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?PD:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?FD:e==="deepseek.com"||e.endsWith(".deepseek.com")?TD:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?DD:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?RD:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?xD:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?OD:null:null}function ID(t){let e=cf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function cf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function we(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let r=Number(e);return Number.isFinite(r)?r:void 0}var BD={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function ND(t){try{let e=new URL(t),r=e.pathname;return r.endsWith("/v1/messages")?r=r.slice(0,-12):r.endsWith("/messages")?r=r.slice(0,-9):r.endsWith("/v1/chat/completions")?r=r.slice(0,-20):r.endsWith("/chat/completions")&&(r=r.slice(0,-17)),r.endsWith("/v1")||(r=r.endsWith("/")?`${r}v1`:`${r}/v1`),e.pathname=`${r}/models`,e.toString()}catch{return null}}function MD(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function lf(t,e,r){let n=ND(t.baseUrl);if(!n)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(r).toString())}catch{}let s=await fetch(n,o);if(s.headers&&Lo(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function jD(t,e,r,n){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl.includes("anthropic")||o.includes("claude"),a=s?t.baseUrl.includes("/messages")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/v1/messages`:t.baseUrl.includes("/chat/completions")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/chat/completions`;try{let c={"Content-Type":"application/json"};s?(c["x-api-key"]=t.apiKey,c["anthropic-version"]="2023-06-01"):c.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:c,body:JSON.stringify({model:o,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}n?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let d=await fetch(a,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(c){return{success:!1,error:c?.message||c?.toString()||"Unknown wake-up error"}}}var ks=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,r,n,o,s){this.config={...BD,...r},this.getProviders=e,this.getHttpsProxy=n,this.logger=o,this.getConfig=s}start(){!this.config.enabled||this.running||(this.running=!0,setTimeout(()=>{this.running&&(this.runQuotaProbe(),this.runHealthProbe(),this.runScheduledWakeup())},this.config.initialDelayMs),this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),r=this.getHttpsProxy?.(),n=Xe();if(e.length===0)return;let o=[];for(let a of e){let c=gu(a.baseUrl),l=Array.isArray(a.models)?a.models:[];c&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:c.queryQuota(a,this.config.probeTimeoutMs,r).then(d=>{if(d){cu(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let g=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let A of l)n.forceOpen(a.name,A,g);this.logger?.warn?.(`${g} for ${a.name}, marked as unhealthy`)}else for(let g of l){let A=n.getState(a.name,g);A&&A.status==="open"&&A.lastError?.includes("Quota exhausted")&&(n.recover(a.name,g),this.logger?.info?.(`Quota recovered for ${a.name} (${g}), marked as healthy`))}}})}),MD(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:lf(a,this.config.probeTimeoutMs,r).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let c=s[a];if(c.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${c.reason}`)}}}async runHealthProbe(){let e=Xe(),r=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),n=this.getHttpsProxy?.();if(r.length===0)return;this.logger?.debug?.(`Running health probe for ${r.length} providers`);let o=await Promise.allSettled(r.map(s=>lf(s,this.config.probeTimeoutMs,n)));for(let s=0;s<r.length;s++){let a=r[s],c=o[s],l=Array.isArray(a.models)?a.models:[];if(c.status==="fulfilled"){let d=c.value;if(d.success){let f=0;for(let p of l){let g=e.getState(a.name,p);if(g&&g.status==="open"&&g.lastError?.includes("Quota exhausted")){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,c.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${c.reason}`)}}}async runScheduledWakeup(){if(!(this.getConfig?this.getConfig("WAKEUP_ENABLED")===!0:!1))return;let r=this.getProviders().filter(d=>d?.name&&d.enabled!==!1&&d.wakeupEnabled===!0);if(r.length===0)return;let n=new Date,o=n.getHours(),s=n.getMinutes(),a=n.toISOString().split("T")[0],c=this.getHttpsProxy?.(),l=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let d of r){let f=d.wakeupTime||l,[p,g]=f.split(":"),A=parseInt(p,10),w=parseInt(g,10);isNaN(A)||isNaN(w)||o===A&&s===w&&this.lastWakeupDate.get(d.name)!==a&&(this.lastWakeupDate.set(d.name,a),this.logger?.info?.(`Scheduled wake-up triggered for provider ${d.name} at ${f}`),jD(d,3e4,c,this.logger).then(y=>{y.success?this.logger?.info?.(`Successfully woke up provider ${d.name}`):this.logger?.error?.(`Failed to wake up provider ${d.name}: ${y.error}`)}).catch(y=>{this.logger?.error?.(`Error in wake-up task for ${d.name}: ${y}`)}))}}async probeProviderManually(e){let n=this.getProviders().find(c=>c.name===e);if(!n)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(n.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await lf(n,this.config.probeTimeoutMs,o),a=Array.isArray(n.models)?n.models:[];if(s.success)for(let c of a)Xe().recordSuccess(n.name,c);else for(let c of a)Xe().recordFailure(n.name,c,s.error);return s.success}},en=null;function df(t,e,r,n,o){return en||(en=new ks(t,e,r,n,o)),en}function yu(t,e,r,n,o){let s=df(t,e,r,n,o);return s.start(),s}function _u(){en&&en.stop()}function c_(){en&&(en.stop(),en=null)}var ff=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},hf=new ff;var b_=Oe(p_(),1);var Dn=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
349
- `);this.buffer=n.pop()||"";for(let o of n){let s=this.processLine(o);s&&r.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let r=[];this.processLine(this.buffer.trim(),r),r.forEach(n=>e.enqueue(n))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,r){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let n={...this.currentEvent};return this.currentEvent={},r?(r.push(n),null):n}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let n=e.slice(5).trim();if(n==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(n)}catch{this.currentEvent.data={raw:n,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var vs=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
350
- `),e.id&&(n+=`id: ${e.id}
351
- `),e.retry&&(n+=`retry: ${e.retry}
352
- `),e.data&&(e.data.type==="done"?n+=`data: [DONE]
353
- `:n+=`data: ${JSON.stringify(e.data)}
354
- `),n+=`
355
- `,r.enqueue(n)}})}};var gf=(t,e)=>{let r=t.getReader();return new ReadableStream({async start(n){try{for(;;){let{done:o,value:s}=await r.read();if(o){n.close();break}let a=await e(s,n);a!==void 0&&n.enqueue(a)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};yf();_f();Cf();g_();var xs=new Map,Ef=new Map,HD=1,Af={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,b_.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)ko.registerHandlers(r.outputHandlers);else{let s=[];for(let a of n)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&ko.registerHandlers(s)}r.outputOptions&&ko.setDefaultOptions(r.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,l=s.model,d=`${c}:${l}`;if(Ef.has(d))return Ef.get(d);let f=a.getTokenizerConfigForModel(c,l);if(!f)return t.log?.debug(`No tokenizer config for ${c}:${l}, using fallback`),null;try{let p=await a.getTokenizer(f);return Ef.set(d,p),t.log?.info(`Created tokenizer for ${c}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${l}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,c)=>{let l=s.requestStartTime;if(!l)return;let d=s.id||Date.now().toString(),f;try{let y=s.body?.metadata?.user_id;if(y&&typeof y=="string")try{let _=JSON.parse(y);_.session_id&&(f=_.session_id)}catch{let _=y.match(/_session_([a-f0-9-]+)/i);f=_?_[1]:void 0}}catch{}if(!f)return;let p=await o(s);if(c instanceof ReadableStream){xs.set(d,{requestId:d,sessionId:f,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[y,_]=c.tee();return(async()=>{let v=null,b=async S=>{let D=xs.get(d);if(!D)return;let O=performance.now();if(S){let q=D.firstTokenTime?D.firstTokenTime-D.startTime:0,J=D.lastTokenTime-D.startTime;D.tokensPerSecond=y_(D.tokenCount,J,q)}else{let q=O-1e3;D.tokenTimestamps=D.tokenTimestamps.filter(J=>J>q),D.tokensPerSecond=D.tokenTimestamps.length}await __(D,n,r.outputOptions,S).catch(q=>{t.log?.warn(`Failed to output streaming stats: ${q.message}`)})};try{let D=_.pipeThrough(new TextDecoderStream).pipeThrough(new Dn).getReader();for(v=setInterval(async()=>{xs.get(d)&&await b(!1)},1e3);;){let{done:O,value:q}=await D.read();if(O)break;let J=q,B=xs.get(d);if(!B)continue;let Y=performance.now();if(!B.firstTokenTime&&(J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="text_block"||J.event==="content_block")&&(B.firstTokenTime=Y,B.timeToFirstToken=Math.round(Y-B.startTime)),J.event==="content_block_delta"&&J.data?.delta){let te=J.data.delta.type,Z="";if(te==="text_delta"?Z=J.data.delta.text||"":te==="input_json_delta"?Z=J.data.delta.partial_json||"":te==="thinking_delta"&&(Z=J.data.delta.thinking||""),Z){let ae=p&&p.encodeText?p.encodeText(Z).length:Os(Z);B.tokenCount+=ae,B.lastTokenTime=Y;for(let de=0;de<ae;de++)B.tokenTimestamps.push(Y)}}J.event==="message_stop"&&(v&&(clearInterval(v),v=null),await b(!0),xs.delete(d))}}catch(S){v&&clearInterval(v),S.name!=="AbortError"&&S.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${S.message}`)}})().catch(v=>{console.log(v),t.log?.warn(`Background stats processing failed: ${v.message}`)}),y}let g=performance.now(),A=0,w=!1;if(c&&typeof c=="string")try{let y=JSON.parse(c);if(typeof y.usage?.output_tokens=="number")A=y.usage.output_tokens,w=!0;else{let _=y.content??y.message?.content;if(_!==void 0)if(w=!0,p)Array.isArray(_)?A=_.reduce((m,v)=>{if(v.type==="text"){let b=v.text||"";return m+(p.encodeText?p.encodeText(b).length:Os(b))}return m},0):typeof _=="string"&&(A=p.encodeText?p.encodeText(_).length:Os(_));else{let m=Array.isArray(_)?_.map(v=>v.text).join(""):typeof _=="string"?_:"";A=Os(m)}}}catch{}if(w){let y=Math.round(g-l),_=g-l,m={requestId:d,sessionId:f,startTime:l,lastTokenTime:g,tokenCount:A,tokensPerSecond:y_(A,_),timeToFirstToken:y,stream:!1,tokenTimestamps:[]};await __(m,n,r.outputOptions,!0)}return c})})};function y_(t,e,r=0){if(t<=0)return 0;let n=Math.max((e-r)/1e3,HD);return Math.round(t/n)}function Os(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function __(t,e,r,n=!1){let o=n?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...r};for(let c of e)try{await ko.outputToType(c,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${c}:`,l)}}Hn();function WD(t={}){let e=(0,C_.default)({bodyLimit:52428800,...t});return e.setErrorHandler($h),e.register(w_.default),e}var Sf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:r,...n}=e;this.app=WD({...n,logger:n.logger??!0}),this.configService=new fn(e),this.transformerService=new vn(this.configService,this.app.log),this.tokenizerService=new Tn(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new pn(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,r){await this.app.register(e,r)}addHook(e,r){this.app.addHook(e,r)}async registerNamespace(e,r){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async c=>{c.decorate("configService",this.configService),c.decorate("transformerService",this.transformerService),c.decorate("providerService",this.providerService),c.decorate("tokenizerService",this.tokenizerService),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await mu(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await dc(c)});return}if(!r)throw new Error("options is required");let n=new fn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new vn(n,this.app.log);await o.initialize();let s=new pn(n,o,this.app.log),a=new Tn(n,this.app.log);await a.initialize(),await this.app.register(async c=>{c.decorate("configService",n),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",a),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await mu(l,d,{configService:n,tokenizerService:a})}),await dc(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(n,o,s)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body){let c=n.body;n.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(n,o)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body)try{let a=n.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let[c,...l]=a.model.split(",");a.model=l.join(","),n.provider=c,n.model=l;return}catch(a){return n.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{let n={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=yu(()=>this.providerService.getProviders(),n,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(n){this.app.log.warn?.(`Failed to start active probe service: ${n.message}`)}let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`);try{_u()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>r("SIGINT")),process.on("SIGTERM",()=>r("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},GD=Sf;0&&(module.exports={ActiveProbeService,ConfigService,ProviderHealthStore,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,getActiveProbeService,getAllQuotaResults,getAllRateLimitInfo,getHealthStore,getQuotaAdapter,getQuotaResult,getRateLimitInfo,getRuntimeDebugLog,initQuotaStorePersistence,initRateLimitPersistence,pluginManager,resetActiveProbeService,rewriteStream,router,searchProjectBySession,sessionUsageCache,setRuntimeDebugLog,startActiveProbe,stopActiveProbe,storeQuotaResult,tokenSpeedPlugin});
385
+ `))}catch{l.enqueue(o.encode(C+`
386
+ `))}else l.enqueue(o.encode(C+`
387
+ `))}}catch(f){l.error(f)}finally{try{d.releaseLock()}catch{}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":n||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(n?.includes("application/json")){let r=await e.json();return r.choices?.[0]?.message?.reasoning_content&&(r.choices[0].message.thinking={content:r.choices[0].message.reasoning_content},delete r.choices[0].message.reasoning_content),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var z0={AnthropicTransformer:Ci,GeminiTransformer:Ai,VertexGeminiTransformer:Ua,VertexClaudeTransformer:Za,DeepseekTransformer:qa,TooluseTransformer:Ha,OpenrouterTransformer:za,OpenAITransformer:nu,MaxTokenTransformer:Wa,GroqTransformer:Ga,CleancacheTransformer:Ja,EnhanceToolTransformer:Ka,ReasoningTransformer:Ya,SamplingTransformer:Qa,MaxCompletionTokens:Xa,CerebrasTransformer:eu,StreamOptionsTransformer:tu,CustomParamsTransformer:ru,VercelTransformer:ou,OpenAIResponsesTransformer:Jr,ForceReasoningTransformer:su,KimiTransformer:iu};var Dr=class{constructor(e,n){this.configService=e;this.logger=n}transformers=new Map;registerTransformer(e,n){this.transformers.set(e,n),this.logger.info(`register transformer: ${e}${n.endPoint?` (endpoint: ${n.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&n.endPoint&&e.push({name:r,transformer:n})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&!n.endPoint&&e.push({name:r,transformer:n})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let n=require(require.resolve(e.path));if(n){let r=new n(e.options);if(r&&typeof r=="object"&&(r.logger=this.logger),!r.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(r.name,r),!0}}return!1}catch(n){return this.logger.error(`load transformer (${e.path})
388
+ error: ${n.message}
389
+ stack: ${n.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
390
+ Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(z0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let n=new e;n&&typeof n=="object"&&(n.logger=this.logger),this.registerTransformer(n.name,n)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let n of e)await this.registerTransformerFromConfig(n)}};var W0=require("tiktoken"),ws=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,W0.get_encoding)(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");let r=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(c=>{typeof c.content=="string"?r+=n.encode(c.content).length:Array.isArray(c.content)&&c.content.forEach(l=>{if(l.type==="text")r+=n.encode(l.text).length;else if(l.type==="tool_use")r+=n.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let d=typeof l.content=="string"?l.content:JSON.stringify(l.content);r+=n.encode(d).length}})}),typeof s=="string"?r+=n.encode(s).length:Array.isArray(s)&&s.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?r+=n.encode(c.text).length:Array.isArray(c.text)&&c.text.forEach(l=>{r+=n.encode(l||"").length}))}),a&&a.forEach(c=>{c.description&&(r+=n.encode(c.name+c.description).length),c.input_schema&&(r+=n.encode(JSON.stringify(c.input_schema)).length)}),r}isInitialized(){return this.encoding!==void 0}encodeText(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");return Array.from(n.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var ks=require("path"),a_=require("os"),So=require("fs"),vs=require("fs");var Av=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let n of t){let r=e;for(let o=0;o<n.length;++o){let s=n[o];r=r[s]??=Object.create(null)}r.end=n}return e}split(t){let e=[],n=t.length,r=0,o=0;for(;o<n;){let s=this.trie,a=null,c=o;for(;c<n&&(s=s[t[c]]);)s.end&&(a=s.end),++c;a?(o>r&&e.push(t.slice(r,o)),e.push(a),o+=a.length,r=o):++o}return r<n&&e.push(t.slice(r)),e}},kv=Av,vv=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},Tv=vv,X0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),n=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+n),n+=1);let r=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,r[s]]))})(),Dv=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),Rv=Dv(X0),G0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",xv=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${G0}])]+`,` ?[^\\s${G0}]+`]]),Es="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",FP=new RegExp(`^[${Es}]+$`,"gu"),ef=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),au=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");for(let[r,o]of xv)n=n.replaceAll(r,o);return new RegExp(n,"gu")}else if(t.String!==void 0){let n=Ov(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},Ov=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Pv=(t,e,n)=>{let r=[],o=0;for(;o<t.length;){if(r.push(t[o]),(e.get(t[o])??n)!==n){++o;continue}for(;++o<t.length&&(e.get(t[o])??n)===n;)e.get(r.at(-1))!==n&&(r[r.length-1]+=t[o])}return r},Fv=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,Iv=t=>Number.isInteger(t)||typeof t=="bigint",Nv=t=>{let e=0;for(let n of t)++e;return e},Bv=t=>Z0(t.toLowerCase()),Nt=(...t)=>Array.prototype.concat.apply([],t),tf=t=>new Map(Object.entries(t)),Mv=(t,e)=>{let n=[],r=0;for(let o of t.matchAll(e)){let s=o[0];r<o.index&&n.push(t.slice(r,o.index)),s.length>0&&n.push(s),r=o.index+s.length}return r<t.length&&n.push(t.slice(r)),n},Z0=t=>t.replace(new RegExp("\\p{M}","gu"),""),J0=(t,e,n=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let r of n)if(!(r in t))return`${e} must contain a "${r}" property`;return null},Lv=t=>t.match(/\S+/g)||[],jv=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},Ss=jv,$v=class extends Ss{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Pn=$v,Uv=class extends Pn{tokenize_chinese_chars(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n],o=r.charCodeAt(0);Fv(o)?(e.push(" "),e.push(r),e.push(" ")):e.push(r)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
391
+ `:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},qv=Uv,Hv=class extends Pn{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},zv=Hv,Wv=class extends Pn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>e_(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},Gv=Wv,Jv=class extends Pn{normalize(t){let e=au(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Vv=Jv,Kv=class extends Pn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},uu=Kv,Yv=class extends uu{constructor(){super(...arguments),this.form="NFC"}},Qv=Yv,Xv=class extends uu{constructor(){super(...arguments),this.form="NFD"}},Zv=Xv,eT=class extends uu{constructor(){super(...arguments),this.form="NFKC"}},tT=eT,nT=class extends uu{constructor(){super(...arguments),this.form="NFKD"}},rT=nT,oT=class extends Pn{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},sT=oT,iT=class extends Pn{normalize(t){return Z0(t)}},aT=iT,uT=class extends Pn{normalize(t){return t.toLowerCase()}},cT=uT,lT=class extends Pn{normalize(t){return t=this.config.prepend+t,t}},dT=lT;function fT(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new qv(t);case"Precompiled":return new zv(t);case"Sequence":return new Gv(t);case"Replace":return new Vv(t);case"NFC":return new Qv(t);case"NFD":return new Zv(t);case"NFKC":return new tT(t);case"NFKD":return new rT(t);case"Strip":return new sT(t);case"StripAccents":return new aT(t);case"Lowercase":return new cT(t);case"Prepend":return new dT(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var e_=fT,hT=class extends Ss{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},dn=hT,pT=class extends dn{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=X0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(n=>Array.from(this.text_encoder.encode(n),r=>this.byte_encoder[r]).join(""))}},mT=pT,gT=class extends dn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},yT=gT,_T=class extends dn{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},bT=_T,CT=class extends dn{constructor(t){super(),this.config=t,this.pattern=au(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):Mv(t,this.pattern)}},wT=CT,ET=class extends dn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Es}]+|[${Es}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},ST=ET,AT=class extends dn{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},kT=AT,vT=class extends dn{constructor(){super(),this.pattern=new RegExp(`[^\\s${Es}]+|[${Es}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},TT=vT,DT=class extends dn{constructor(t){super(),this.config=t,this.pattern=au(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},RT=DT,xT=class extends dn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>t_(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},OT=xT,PT=class extends dn{pre_tokenize_text(t){return Lv(t)}},FT=PT;function IT(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new TT;case"Sequence":return new OT(t);case"Whitespace":return new yT;case"WhitespaceSplit":return new FT;case"Metaspace":return new bT(t);case"ByteLevel":return new mT(t);case"Split":return new wT(t);case"Punctuation":return new ST(t);case"Digits":return new kT(t);case"Replace":return new RT(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var t_=IT,NT=class extends Ss{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=Pv(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},cu=NT,BT=class extends cu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=tf(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<r.length;){let c=r.length,l=null;for(;s<c;){let d=r.slice(s,c).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--c}if(l===null){o=!0;break}a.push(l),s=c}o?e.push(this.unk_token):e.push(...a)}return e}},V0=BT,K0=class n_{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new n_(!1,new Map)}},MT=class{constructor(){this.root=K0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=K0.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},LT=MT,Zd=class r_{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new r_(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},jT=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Zd(this.bos_token_id??0,0,0,0,0),o=new Zd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new Zd(r,o,t,e,n);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,c=null;for(let l of this.end_nodes[e]){let d=l.backtrace_score+s.score;(c===null||d>a)&&(c=l.clone(),a=d)}if(c!==null)s.prev=c,s.backtrace_score=a;else return[]}++e}let n=[],r=this.begin_nodes[t][0].prev;if(r===null)return[];let o=r.clone();for(;o.prev!==null;)n.push(o.clone()),o=o.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},$T=jT;function UT(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var qT=class extends cu{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=UT(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new LT,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],a=e.slice(r).join(""),c=this.trie.common_prefix_search(a);for(let l of c){s.push(l);let d=this.tokens_to_ids.get(l),f=this.scores[d],p=Nv(l);t.insert(r,p,f,d),!o&&p===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new $T(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},Y0=qT,HT=class{constructor(t=(n,r)=>n>r,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},zT=HT,WT=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},GT=WT,JT=class extends cu{constructor(t){super(t),this.tokens_to_ids=tf(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new GT(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new zT((c,l)=>c.score<l.score),s={token:n[0],bias:0,prev:null,next:null},a=s;for(let c=1;c<n.length;++c){let l={bias:c/n.length,token:n[c],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let d={...c.prev};c.prev.deleted=!0,c.prev=d,d.prev?d.prev.next=d:s=d}let l={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let c=s;c!==null;c=c.next)r.push(c.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},Q0=JT,VT=class extends cu{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=tf(e.target_lang?n[e.target_lang]:n),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},KT=VT;function YT(t,e){switch(t.type){case"WordPiece":return new V0(t);case"Unigram":return new Y0(t,e.eos_token);case"BPE":return new Q0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new Y0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new Q0(t):new V0(t):new KT(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var QT=YT,XT=class extends Ss{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},As=XT,ZT=class extends As{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of r)"SpecialToken"in a?n&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Nt(o,t),s=Nt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Nt(o,e),s=Nt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},eD=ZT,tD=class extends As{post_process(t,e=null){return{tokens:e?Nt(t,e):t}}},nD=tD,rD=class extends As{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=Nt([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=Nt(t,o,e,s),r=Nt(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},oD=rD,sD=class extends As{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=Nt([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=Nt(t,o,e,s),r=Nt(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},iD=sD,aD=class extends As{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>o_(e))}post_process(t,e=null,n=!0){let r={tokens:t};for(let o of this.processors)r=o.post_process(r.tokens,e,n);return r}},uD=aD;function cD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new eD(t);case"ByteLevel":return new nD(t);case"BertProcessing":return new oD(t);case"RobertaProcessing":return new iD(t);case"Sequence":return new uD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var o_=cD,lD=class extends Ss{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},fn=lD,dD=class extends fn{constructor(t){super(t),this.byte_decoder=Rv,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},fD=dD,hD=class extends fn{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=ef(e)),e})}},pD=hD,mD=class extends fn{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},gD=mD,yD=class extends fn{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},_D=yD,bD=class extends fn{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let r=1;r<t.length;++r)t[r]!==e.at(-1)&&e.push(t[r]);let n=e.filter(r=>r!==this.pad_token).join("");return this.cleanup&&(n=ef(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},CD=bD,wD=class extends fn{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>s_(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},ED=wD,SD=class extends fn{decode_chain(t){let e=au(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},AD=SD,kD=class extends fn{decode_chain(t){return[t.join("")]}},vD=kD,TD=class extends fn{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let n=0;for(let o=0;o<this.start&&e[o]===this.content;++o)n=o+1;let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},DD=TD,RD=class extends fn{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},xD=RD;function OD(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new fD(t);case"WordPiece":return new pD(t);case"Metaspace":return new gD(t);case"BPEDecoder":return new _D(t);case"CTC":return new CD(t);case"Sequence":return new ED(t);case"Replace":return new AD(t);case"Fuse":return new vD(t);case"Strip":return new DD(t);case"ByteFallback":return new xD(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var s_=OD,PD=class{constructor(t,e){let n=J0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=J0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=e_(this.tokenizer.normalizer),this.pre_tokenizer=t_(this.tokenizer.pre_tokenizer),this.model=QT(this.tokenizer.model,this.config),this.post_processor=o_(this.tokenizer.post_processor),this.decoder=s_(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new Tv(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new kv(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),a=this.model.convert_tokens_to_ids(o),c={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return r&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!Iv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=ef(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=Bv(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(n,{section_index:r}):[n];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:Nt(r??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},i_=PD;var lu=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||(0,ks.join)((0,a_.homedir)(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=(0,ks.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,ks.join)(e,"tokenizer.json"),tokenizerConfig:(0,ks.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,So.existsSync)(e)||(0,So.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,So.existsSync)(e.tokenizerJson)||!(0,So.existsSync)(e.tokenizerConfig))return null;let[n,r]=await Promise.all([vs.promises.readFile(e.tokenizerJson,"utf-8"),vs.promises.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([vs.promises.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),vs.promises.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:c,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let n=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new i_(n.tokenizerJson,n.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let a of r)if(typeof a.content=="string")n.push(a.content);else if(Array.isArray(a.content))for(let c of a.content)c.type==="text"&&c.text?n.push(c.text):c.type==="tool_use"&&c.input?n.push(JSON.stringify(c.input)):c.type==="tool_result"&&n.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")n.push(a.text);else if(Array.isArray(a.text))for(let c of a.text)c&&n.push(c)}}if(s)for(let a of s)a.name&&n.push(a.name),a.description&&n.push(a.description),a.input_schema&&n.push(JSON.stringify(a.input_schema));return n.join(" ")}};var du=class{type="api";name;config;logger;options;constructor(e,n,r={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=n,this.options=r;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let c=await a.json();return this.extractTokenCount(c)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out"):n}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`)}}};var Rr=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new ws("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new ws(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new lu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new du(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};var p_=require("tiktoken");var nf=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},fu=new nf(100);var gu=require("fs/promises"),bu=require("fs/promises"),yu=require("path"),ko=require("@wengine-ai/claude-code-router-shared");Gn();var Fn=require("fs"),sf=require("path"),l_=require("@wengine-ai/claude-code-router-shared"),rf=(0,sf.join)(l_.HOME_DIR,"runtime"),of=(0,sf.join)(rf,"quota-store.json"),Ao=new Map,u_=!1,FD=null;function hu(t,e){t&&Ao.set(t,{...e,provider:t,capturedAt:Date.now()})}function pu(t){let e=Ao.get(t);return e?{...e}:void 0}function d_(){return Array.from(Ao.values()).map(t=>({...t}))}function ID(){try{if(!(0,Fn.existsSync)(of))return;let t=JSON.parse((0,Fn.readFileSync)(of,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>1440*60*1e3)continue;Ao.set(n.provider,n)}}catch{}}function c_(){try{if(Ao.size===0)return;(0,Fn.existsSync)(rf)||(0,Fn.mkdirSync)(rf,{recursive:!0}),(0,Fn.writeFileSync)(of,JSON.stringify(Array.from(Ao.values()),null,2),"utf-8")}catch{}}function mu(){u_||(u_=!0,ID(),FD=setInterval(c_,6e4),process.on("exit",c_))}pi();var In=(0,p_.get_encoding)("cl100k_base"),uf=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=In.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=In.encode(s.text).length:s.type==="tool_use"?r+=In.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=In.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=In.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=In.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=In.encode(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=In.encode(o.name+o.description).length),o.input_schema&&(r+=In.encode(JSON.stringify(o.input_schema)).length)}),r},m_=async(t,e)=>{if(t.sessionId){let n=await cf(t.sessionId);if(n){let r=(0,yu.join)(ko.HOME_DIR,n,"config.json"),o=(0,yu.join)(ko.HOME_DIR,n,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,gu.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,gu.readFile)(r,"utf8"));if(s&&s.Router)return s.Router}catch{}}}};function _u(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function g_(t){let e=_u(t),n=e.includes("[1m]")||e.endsWith("[1m"),r=e.replace(/\[1m\]|\[1m$/g,""),o=r.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:n};let s=r.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||r.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:n}:{family:null,extended:n}}function ND(t,e){if(!e||!t)return null;let n=_u(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=g_(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=_u(o);if(a&&n.includes(a))return s}return null}function y_(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function f_(t){if(!t?.includes(","))return null;let[e,...n]=t.split(","),r=e.trim(),o=n.join(",").trim();return!r||!o?null:{providerName:r,routeModel:o}}function st(t,e,n,r){let o=f_(t);if(!o)return t;let{providerName:s,routeModel:a}=o,c=e.find(f=>f.name.toLowerCase()===s.toLowerCase());if(c&&c.enabled===!1)return null;if(r&&!n){let f=jo(),p=f.getPromotion(s,a,r,e);if(p){let g=f_(p);if(g){let _=e.find(b=>b.name.toLowerCase()===g.providerName.toLowerCase()),C=_?.models?.find(b=>String(b).toLowerCase()===g.routeModel.toLowerCase());if(_&&C)return`${_.name},${C}`}f.clear(s,a,r)}}if(!n&&!Ge().isAvailable(s,a))return null;let l=pu(s);if(l){let f=l.limitDaily!==void 0&&l.usedDailyBalance!==void 0&&l.usedDailyBalance>=l.limitDaily,p=l.totalBalance!==void 0&&l.usedBalance!==void 0&&l.usedBalance>=l.totalBalance;if(f||p)return null}let d=c?.models?.find(f=>String(f).toLowerCase()===a.toLowerCase());return c&&d?`${c.name},${d}`:t}function Qt(t,e,n,r,o){let s=Ge(),a=[n?.[t],r?.[t]];for(let c of a)if(!(!Array.isArray(c)||c.length===0))for(let l of c){let d=st(l,e);if(d)return d}return null}function BD(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(n=>n.type==="image"||n.type==="image_url"||Array.isArray(n?.content)&&n.content.some(r=>r.type==="image"||r.type==="image_url")))}function MD(t){let e=_u(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(r=>r.test(e))}function LD(t,e,n,r,o,s,a){let c=n.longContextThreshold||6e4,l=Math.max(e,y_(o)),d=t.modelFamily;if((s||l>2e5)&&n.extendedContext){let _=st(n.extendedContext,r,!1,"extendedContext");if(_)return t.log.info(`Family: using extended context model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:_,scenarioType:"extendedContext",isFallback:!1};let C=Qt("extendedContext",r,n.fallback,a,d);if(C)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:C,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(l>c&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let _=n.longContext?st(n.longContext,r,!1,"longContext"):null;if(_)return t.log.info(`Family: using long context model, tokens: ${l}, estimated: ${e}`),{model:_,scenarioType:"longContext",isFallback:!1};let C=Qt("longContext",r,n.fallback,a,d);if(C)return t.log.info(`Family: using long context fallback model, tokens: ${l}, estimated: ${e}`),{model:C,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(_=>_.type?.startsWith("web_search"))&&n.webSearch){let _=st(n.webSearch,r,!1,"webSearch");if(_)return{model:_,scenarioType:"webSearch",isFallback:!1};let C=Qt("webSearch",r,n.fallback,a,d);if(C)return t.log.info("Family: using webSearch fallback model"),{model:C,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking&&n.think){let _=st(n.think,r,!1,"think");if(_)return{model:_,scenarioType:"think",isFallback:!1};let C=Qt("think",r,n.fallback,a,d);if(C)return t.log.info("Family: using think fallback model"),{model:C,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let _=st(n.default,r,!1,"default");if(_)return{model:_,scenarioType:"default",isFallback:!1};let C=Qt("default",r,n.fallback,a,d);if(C)return t.log.info("Family: using default fallback model"),{model:C,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var jD=async(t,e,n,r)=>{let o=await m_(t,n),s=n.get("providers")||[],a=o||n.get("Router"),c=n.get("fallback");if(t.body.model.includes(",")){let m=st(t.body.model,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let k=Qt("default",s,void 0,c);if(k)return t.log.info(`Using fallback for explicit model: ${k}`),{model:k,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:l,extended:d}=g_(t.body.model),f=a?.families?.[l||""];if(f&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${l}${d?" (1M)":""}`),t.modelFamily=l,t.familyFallback=f.fallback;let m=LD(t,e,f,s,r,d,c);if(m)return{model:m.model,scenarioType:m.scenarioType}}let p=ND(t.body.model,a?.models);if(p){let m=st(p,s,!1,"modelMapping");if(m)return t.log.info(`Using mapped model for ${t.body.model}: ${p}`),{model:m,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${p} unavailable (fail pool), skipping`)}let g=Math.max(e,y_(r)),_=a?.extendedContextThreshold||2e5;if(g>_&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${g}, estimated: ${e}, threshold: ${_}`);let m=st(a.extendedContext,s,!1,"extendedContext");if(m)return{model:m,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let k=Qt("extendedContext",s,void 0,c);if(k)return{model:k,scenarioType:"extendedContext"}}let C=a?.longContextThreshold||6e4;if(g>C&&a?.longContext){t.log.info(`Using long context model due to token count: ${g}, estimated: ${e}, threshold: ${C}`);let m=st(a.longContext,s,!1,"longContext");if(m)return{model:m,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let k=Qt("longContext",s,void 0,c);if(k)return{model:k,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let m=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(m)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${m[1]}</CCR-SUBAGENT-MODEL>`,""),{model:m[1],scenarioType:"default"}}let y=n.get("Router");if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&y?.background){t.log.info(`Using background model for ${t.body.model}`);let m=st(y.background,s,!1,"background");if(m)return{model:m,scenarioType:"background"};t.log.warn(`Background model ${y.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(m=>m.type?.startsWith("web_search"))&&a?.webSearch){let m=st(a.webSearch,s,!1,"webSearch");if(m)return{model:m,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let k=Qt("webSearch",s,void 0,c);if(k)return{model:k,scenarioType:"webSearch"}}if(t.body.thinking&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let m=st(a.think,s,!1,"think");if(m)return{model:m,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let k=Qt("think",s,void 0,c);if(k)return{model:k,scenarioType:"think"}}if(a?.default){let m=st(a.default,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let k=Qt("default",s,void 0,c);if(k)return{model:k,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Cu=async(t,e,n)=>{let{configService:r,event:o}=n;if(t.originalModel=t.body.model,t.body.metadata?.user_id){let _=t.body.metadata.user_id.split("_session_");_.length>1&&(t.sessionId=_[1])}let a=await m_(t,r)||r.get("Router"),c=r.get("providers")||[],l=fu.get(t.sessionId),{messages:d,system:f=[],tools:p}=t.body,g=r.get("REWRITE_SYSTEM_PROMPT");if(g&&f.length>1&&f[1]?.text?.includes("<env>")){let _=await(0,gu.readFile)(g,"utf-8");f[1].text=`${_}<env>${f[1].text.split("<env>").pop()}`}try{let[_,C]=t.body.model.split(","),b=n.tokenizerService?.getTokenizerConfigForModel(_,C),y;n.tokenizerService?y=(await n.tokenizerService.countTokens({messages:d,system:f,tools:p},b)).tokenCount:y=uf(d,f,p),t.tokenCount=y;let m,k=r.get("CUSTOM_ROUTER_PATH");if(k)try{m=await require(k)(t,r.getAll(),{event:o})}catch(w){t.log.error(`failed to load custom router: ${w.message}`)}if(m)t.scenarioType="default";else{let w=await jD(t,y,r,l);m=w.model,t.scenarioType=w.scenarioType}if(a?.image&&m!==a.image&&BD(t)&&!MD(m)){let w=st(a.image,c,!1,"image");w?(t.log.info(`Using image model fallback for ${m}`),m=w,t.scenarioType="image"):(t.log.warn(`Image model ${a.image} unavailable (fail pool), keeping ${m}`),t.scenarioType="image")}t.body.model=m}catch(_){t.log.error(`Error in router middleware: ${_.message}`),t.body.model=a?.default,t.scenarioType="default"}},Nn=new Map,h_=1e3;function af(){if(Nn.size<=h_)return;let t=[...Nn.keys()].slice(0,Nn.size-h_);for(let e of t)Nn.delete(e)}var cf=async t=>{if(Nn.has(t)){let e=Nn.get(t);return!e||e===""?null:e}try{let e=await(0,bu.opendir)(ko.CLAUDE_PROJECTS_DIR),n=[];for await(let s of e)s.isDirectory()&&n.push(s.name);let r=n.map(async s=>{let a=(0,yu.join)(ko.CLAUDE_PROJECTS_DIR,s,`${t}.jsonl`);try{return(await(0,bu.stat)(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(r);for(let s of o)if(s)return Nn.set(t,s),af(),s;return Nn.set(t,""),af(),null}catch(e){return console.error("Error searching for project by session:",e),Nn.set(t,""),af(),null}};Gn();var Bn=class{async fetchJson(e,n,r,o,s){let a=s||n.apiKey;if(!a)return null;let c={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`},signal:AbortSignal.timeout(r)};if(o)try{let{ProxyAgent:l}=await import("undici");c.dispatcher=new l(new URL(o).toString())}catch{}try{let l=await fetch(e,c);return l.ok?await l.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},lf=class extends Bn{async queryQuota(e,n,r){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,n,r),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>ye(l?.total_balance)!==void 0);if(!a)return null;let c=ye(a.total_balance);return c===void 0?null:{totalBalance:c,currency:typeof a.currency=="string"?a.currency:void 0}}},df=class extends Bn{async queryQuota(e,n,r){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,n,r))?.data;if(!s||typeof s!="object")return null;let a={},c=ye(s.limit),l=ye(s.limit_remaining),d=ye(s.usage),f=ye(s.usage_daily);return c!==void 0&&(a.totalBalance=c),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},ff=class extends Bn{async queryQuota(e,n,r){let o=JD(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let c={},l=ye(a.totalBalance),d=ye(a.balance);return l!==void 0&&(c.totalBalance=l),d!==void 0&&(c.remainingBalance=d),l!==void 0&&d!==void 0&&(c.usedBalance=Math.max(0,l-d)),this.hasQuotaData(c)?c:null}},hf=class extends Bn{async queryQuota(e,n,r){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let c=await a.json(),l=Array.isArray(c?.data?.limits)?c.data.limits:[],d=null,f=null,p=null;for(let _ of l)_.type==="TOKENS_LIMIT"?_.unit===3?d=_:_.unit===6?f=_:d||(d=_):_.type==="TIME_LIMIT"&&(p=_);let g={};if(d){let _=ye(d.currentValue),C=ye(d.usage),b=ye(d.remaining),y=ye(d.percentage);_!==void 0?g.usedDailyBalance=_:y!==void 0&&(g.usedDailyBalance=y,g.limitDaily=100),C!==void 0?g.limitDaily=C:_!==void 0&&b!==void 0&&(g.limitDaily=_+b),d.nextResetTime&&(g.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let _=ye(f.currentValue),C=ye(f.usage),b=ye(f.remaining),y=ye(f.percentage);_!==void 0?g.usedBalance=_:y!==void 0&&(g.usedBalance=y,g.totalBalance=100),C!==void 0?g.totalBalance=C:_!==void 0&&b!==void 0&&(g.totalBalance=_+b),f.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(g.usedDailyBalance===void 0){let _=ye(p.currentValue);_!==void 0&&(g.usedDailyBalance=_)}if(g.limitDaily===void 0){let _=ye(p.usage),C=ye(p.currentValue),b=ye(p.remaining);_!==void 0?g.limitDaily=_:C!==void 0&&b!==void 0&&(g.limitDaily=C+b)}p.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(g)?g:null}catch{return null}}},pf=class extends Bn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(r).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let c=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!c.ok)return null;let d=(await c.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},g=ye(f.per5HourUsedQuota),_=ye(f.per5HourTotalQuota);g!==void 0&&(p.usedDailyBalance=g),_!==void 0&&(p.limitDaily=_);let C=ye(f.perWeekUsedQuota),b=ye(f.perWeekTotalQuota);return C!==void 0&&(p.usedBalance=C),b!==void 0&&(p.totalBalance=b),this.hasQuotaData(p)?p:null}catch{return null}}},mf=class extends Bn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let c=await a.json(),l={},d=Array.isArray(c?.limits)?c.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,g=ye(p.limit),_=ye(p.remaining),C=p.resetTime;g!==void 0&&_!==void 0&&(l.usedDailyBalance=Math.max(0,g-_),l.limitDaily=g),C&&(l.resetTime=new Date(C).toISOString())}let f=c?.usage;if(f){let p=ye(f.limit),g=ye(f.remaining),_=ye(f.used),C=f.resetTime;p!==void 0&&(l.totalBalance=p,_!==void 0?l.usedBalance=_:g!==void 0&&(l.usedBalance=Math.max(0,p-g),l.remainingBalance=g)),C&&(l.resetTime7d=new Date(C).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},gf=class extends Bn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=yf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com";try{let c=[`https://${a}/v1/token_plan/remains`,`https://${a}/v1/api/openplatform/coding_plan/remains`],l=null;for(let S of c)if(l=await this.fetchJson(S,e,n,r,o.trim()),l)break;if(!l)return null;if(l?.base_resp){let S=l.base_resp.status_code;if(S!==void 0&&S!==0)return null}let d=Array.isArray(l?.model_remains)?l.model_remains:[];if(d.length===0)return null;let f=d[0],p={},g=ye(f.current_interval_total_count),_=ye(f.current_interval_usage_count),C=ye(f.current_interval_remaining_percent),b=ye(f.end_time);g!==void 0&&_!==void 0&&g>0?(p.usedDailyBalance=Math.max(0,g-_),p.limitDaily=g):C!==void 0&&(p.limitDaily=100,p.usedDailyBalance=Math.max(0,100-C)),b&&(p.resetTime=new Date(b).toISOString());let y=ye(f.current_weekly_total_count),m=ye(f.current_weekly_usage_count),k=ye(f.current_weekly_remaining_percent),w=ye(f.weekly_end_time);return y!==void 0&&m!==void 0&&y>0?(p.usedBalance=Math.max(0,y-m),p.remainingBalance=m,p.totalBalance=y):k!==void 0&&(p.totalBalance=100,p.usedBalance=Math.max(0,100-k),p.remainingBalance=k),w&&!p.resetTime&&(p.resetTime=new Date(w).toISOString()),this.hasQuotaData(p)?p:null}catch{return null}}},$D=new lf,UD=new df,qD=new ff,HD=new hf,zD=new pf,WD=new mf,GD=new gf;function wu(t){let e=yf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?WD:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?GD:e==="deepseek.com"||e.endsWith(".deepseek.com")?$D:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?UD:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?qD:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?HD:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?zD:null:null}function JD(t){let e=yf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function yf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function ye(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let n=Number(e);return Number.isFinite(n)?n:void 0}var VD={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function KD(t){return t===!0||t==="true"||t===1||t==="1"}function YD(t){let e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${r}`}function QD(t){try{let e=new URL(t),n=e.pathname;return n.endsWith("/v1/messages")?n=n.slice(0,-12):n.endsWith("/messages")?n=n.slice(0,-9):n.endsWith("/v1/chat/completions")?n=n.slice(0,-20):n.endsWith("/chat/completions")&&(n=n.slice(0,-17)),n.endsWith("/v1")||(n=n.endsWith("/")?`${n}v1`:`${n}/v1`),e.pathname=`${n}/models`,e.toString()}catch{return null}}function XD(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function _f(t,e,n){let r=QD(t.baseUrl);if(!r)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(n).toString())}catch{}let s=await fetch(r,o);if(s.headers&&Uo(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function ZD(t,e,n,r){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl.includes("anthropic")||o.includes("claude"),a=s?t.baseUrl.includes("/messages")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/v1/messages`:t.baseUrl.includes("/chat/completions")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/chat/completions`;try{let c={"Content-Type":"application/json"};s?(c["x-api-key"]=t.apiKey,c["anthropic-version"]="2023-06-01"):c.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:c,body:JSON.stringify({model:o,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let d=await fetch(a,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(c){return{success:!1,error:c?.message||c?.toString()||"Unknown wake-up error"}}}async function eR(t,e,n,r,o){let s=t.baseUrl.includes("anthropic")||e.includes("claude"),a=s?t.baseUrl.includes("/messages")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/v1/messages`:t.baseUrl.includes("/chat/completions")?t.baseUrl:`${t.baseUrl.replace(/\/$/,"")}/chat/completions`;try{let c={"Content-Type":"application/json"};s?(c["x-api-key"]=t.apiKey,c["anthropic-version"]="2023-06-01"):c.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:c,body:JSON.stringify({model:e,messages:[{role:"user",content:"ping"}],max_tokens:1}),signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let d=await fetch(a,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(c){return{success:!1,error:c?.message||c?.toString()||"Unknown ping error"}}}var Ts=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...VD,...n},this.getProviders=e,this.getHttpsProxy=r,this.logger=o,this.getConfig=s}start(){if(this.running)return;let e=this.isWakeupGloballyEnabled();!this.config.enabled&&!e||(this.running=!0,setTimeout(()=>{this.running&&(this.config.enabled&&(this.runQuotaProbe(),this.runHealthProbe(),this.runRateLimitProbe()),this.runScheduledWakeup())},this.config.initialDelayMs),this.config.enabled&&(this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.rateLimitProbeTimer=setInterval(()=>this.runRateLimitProbe(),120*1e3)),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.rateLimitProbeTimer&&(clearInterval(this.rateLimitProbeTimer),this.rateLimitProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),n=this.getHttpsProxy?.(),r=Ge();if(e.length===0)return;let o=[];for(let a of e){let c=wu(a.baseUrl),l=Array.isArray(a.models)?a.models:[];c&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:c.queryQuota(a,this.config.probeTimeoutMs,n).then(d=>{if(d){hu(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let g=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let _ of l){if(r.getState(a.name,_)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${_}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,_,g)}this.logger?.warn?.(`${g} for ${a.name}, marked as unhealthy`)}else for(let g of l){let _=r.getState(a.name,g);_&&_.status==="open"&&_.lastError?.includes("Quota exhausted")&&(r.recover(a.name,g),this.logger?.info?.(`Quota recovered for ${a.name} (${g}), marked as healthy`))}}})}),XD(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:_f(a,this.config.probeTimeoutMs,n).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let c=s[a];if(c.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${c.reason}`)}}}async runHealthProbe(){let e=Ge(),n=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),r=this.getHttpsProxy?.();if(n.length===0)return;this.logger?.debug?.(`Running health probe for ${n.length} providers`);let o=await Promise.allSettled(n.map(s=>_f(s,this.config.probeTimeoutMs,r)));for(let s=0;s<n.length;s++){let a=n[s],c=o[s],l=Array.isArray(a.models)?a.models:[];if(c.status==="fulfilled"){let d=c.value;if(d.success){let f=0;for(let p of l){let g=e.getState(a.name,p);if(g&&g.status==="open"){let _=g.lastError?.includes("Quota exhausted"),C=g.rateLimitUntil||g.lastError&&(g.lastError.includes("429")||g.lastError.toLowerCase().includes("rate limit")||g.lastError.toLowerCase().includes("rate_limit")||g.lastError.toLowerCase().includes("too many requests")||g.lastError.toLowerCase().includes("\u9650\u6D41"));if(_){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}if(C||g.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${p})`);continue}}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,c.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${c.reason}`)}}}async runRateLimitProbe(){let e=Ge(),n=e.getRateLimitedModels();if(n.length===0)return;let r=this.getProviders(),o=this.getHttpsProxy?.(),s=this.config.probeTimeoutMs;this.logger?.debug?.(`Running rate-limit recovery probe for ${n.length} model(s)`);for(let a of n){let[c,...l]=a.split(","),d=l.join(",");if(!c||!d)continue;let f=e.getState(c,d);if(!f||!f.rateLimitUntil)continue;if(Date.now()>=f.rateLimitUntil){e.recover(c,d),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let p=r.find(g=>g?.name===c&&g.enabled!==!1);if(!p){this.logger?.warn?.(`Provider ${c} not found or disabled for rate-limit probe`);continue}try{let g=await eR(p,d,s,o,this.logger);if(g.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(c,d);else if(g.error&&(g.error.includes("429")||g.error.toLowerCase().includes("rate limit")||g.error.toLowerCase().includes("rate_limit")||g.error.toLowerCase().includes("too many requests")||g.error.toLowerCase().includes("\u9650\u6D41"))){let _=Date.now();f.rateLimitUntil&&f.rateLimitUntil>_?f.rateLimitUntil+=120*1e3:f.rateLimitUntil=_+120*1e3,this.logger?.debug?.(`Rate-limit probe for ${a} confirmed still limited, extending cooldown`)}else this.logger?.debug?.(`Rate-limit probe for ${a} returned non-rate-limit error: ${g.error?.slice(0,100)}`)}catch(g){this.logger?.warn?.(`Rate-limit probe exception for ${a}: ${g?.message||g}`)}}}async runScheduledWakeup(){if(!this.isWakeupGloballyEnabled())return;let e=this.getProviders().filter(l=>l?.name&&l.enabled!==!1&&l.wakeupEnabled===!0);if(e.length===0)return;let n=new Date,r=n.getHours(),o=n.getMinutes(),s=YD(n),a=this.getHttpsProxy?.(),c=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let d=l.wakeupTime||c,[f,p]=d.split(":"),g=parseInt(f,10),_=parseInt(p,10);isNaN(g)||isNaN(_)||r===g&&o===_&&this.lastWakeupDate.get(l.name)!==s&&(this.lastWakeupDate.set(l.name,s),this.logger?.info?.(`Scheduled wake-up triggered for provider ${l.name} at ${d}`),ZD(l,3e4,a,this.logger).then(C=>{C.success?this.logger?.info?.(`Successfully woke up provider ${l.name}`):this.logger?.error?.(`Failed to wake up provider ${l.name}: ${C.error}`)}).catch(C=>{this.logger?.error?.(`Error in wake-up task for ${l.name}: ${C}`)}))}}isWakeupGloballyEnabled(){return this.getConfig?KD(this.getConfig("WAKEUP_ENABLED")):!1}async probeProviderManually(e){let r=this.getProviders().find(c=>c.name===e);if(!r)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(r.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await _f(r,this.config.probeTimeoutMs,o),a=Array.isArray(r.models)?r.models:[];if(s.success)for(let c of a)Ge().recordSuccess(r.name,c);else for(let c of a)Ge().recordFailure(r.name,c,s.error);return s.success}},rr=null;function bf(t,e,n,r,o){return rr||(rr=new Ts(t,e,n,r,o)),rr}function Eu(t,e,n,r,o){let s=bf(t,e,n,r,o);return s.start(),s}function Su(){rr&&rr.stop()}function __(){rr&&(rr.stop(),rr=null)}Gn();var Cf=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},wf=new Cf;var D_=Oe(S_(),1);var xr=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
392
+ `);this.buffer=r.pop()||"";for(let o of r){let s=this.processLine(o);s&&n.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let n=[];this.processLine(this.buffer.trim(),n),n.forEach(r=>e.enqueue(r))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,n){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let r={...this.currentEvent};return this.currentEvent={},n?(n.push(r),null):r}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let r=e.slice(5).trim();if(r==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(r)}catch{this.currentEvent.data={raw:r,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var Ds=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
393
+ `),e.id&&(r+=`id: ${e.id}
394
+ `),e.retry&&(r+=`retry: ${e.retry}
395
+ `),e.data&&(e.data.type==="done"?r+=`data: [DONE]
396
+ `:r+=`data: ${JSON.stringify(e.data)}
397
+ `),r+=`
398
+ `,n.enqueue(r)}})}};var Af=(t,e)=>{let n=t.getReader();return new ReadableStream({async start(r){try{for(;;){let{done:o,value:s}=await n.read();if(o){r.close();break}let a=await e(s,r);a!==void 0&&r.enqueue(a)}}catch(o){r.error(o)}finally{n.releaseLock()}}})};kf();vf();Df();k_();var Ps=new Map,xf=new Map,iR=1,Of={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,D_.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)To.registerHandlers(n.outputHandlers);else{let s=[];for(let a of r)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&To.registerHandlers(s)}n.outputOptions&&To.setDefaultOptions(n.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,l=s.model,d=`${c}:${l}`;if(xf.has(d))return xf.get(d);let f=a.getTokenizerConfigForModel(c,l);if(!f)return t.log?.debug(`No tokenizer config for ${c}:${l}, using fallback`),null;try{let p=await a.getTokenizer(f);return xf.set(d,p),t.log?.info(`Created tokenizer for ${c}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${l}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,c)=>{let l=s.requestStartTime;if(!l)return;let d=s.id||Date.now().toString(),f;try{let b=s.body?.metadata?.user_id;if(b&&typeof b=="string")try{let y=JSON.parse(b);y.session_id&&(f=y.session_id)}catch{let y=b.match(/_session_([a-f0-9-]+)/i);f=y?y[1]:void 0}}catch{}if(!f)return;let p=await o(s);if(c instanceof ReadableStream){Ps.set(d,{requestId:d,sessionId:f,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[b,y]=c.tee();return(async()=>{let k=null,w=async S=>{let T=Ps.get(d);if(!T)return;let R=performance.now();if(S){let U=T.firstTokenTime?T.firstTokenTime-T.startTime:0,J=T.lastTokenTime-T.startTime;T.tokensPerSecond=v_(T.tokenCount,J,U)}else{let U=R-1e3;T.tokenTimestamps=T.tokenTimestamps.filter(J=>J>U),T.tokensPerSecond=T.tokenTimestamps.length}await T_(T,r,n.outputOptions,S).catch(U=>{t.log?.warn(`Failed to output streaming stats: ${U.message}`)})};try{let T=y.pipeThrough(new TextDecoderStream).pipeThrough(new xr).getReader();for(k=setInterval(async()=>{Ps.get(d)&&await w(!1)},1e3);;){let{done:R,value:U}=await T.read();if(R)break;let J=U,F=Ps.get(d);if(!F)continue;let V=performance.now();if(!F.firstTokenTime&&(J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="text_block"||J.event==="content_block")&&(F.firstTokenTime=V,F.timeToFirstToken=Math.round(V-F.startTime)),J.event==="content_block_delta"&&J.data?.delta){let Y=J.data.delta.type,X="";if(Y==="text_delta"?X=J.data.delta.text||"":Y==="input_json_delta"?X=J.data.delta.partial_json||"":Y==="thinking_delta"&&(X=J.data.delta.thinking||""),X){let ee=p&&p.encodeText?p.encodeText(X).length:Fs(X);F.tokenCount+=ee,F.lastTokenTime=V;for(let de=0;de<ee;de++)F.tokenTimestamps.push(V)}}J.event==="message_stop"&&(k&&(clearInterval(k),k=null),await w(!0),Ps.delete(d))}}catch(S){k&&clearInterval(k),S.name!=="AbortError"&&S.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${S.message}`)}})().catch(k=>{console.log(k),t.log?.warn(`Background stats processing failed: ${k.message}`)}),b}let g=performance.now(),_=0,C=!1;if(c&&typeof c=="string")try{let b=JSON.parse(c);if(typeof b.usage?.output_tokens=="number")_=b.usage.output_tokens,C=!0;else{let y=b.content??b.message?.content;if(y!==void 0)if(C=!0,p)Array.isArray(y)?_=y.reduce((m,k)=>{if(k.type==="text"){let w=k.text||"";return m+(p.encodeText?p.encodeText(w).length:Fs(w))}return m},0):typeof y=="string"&&(_=p.encodeText?p.encodeText(y).length:Fs(y));else{let m=Array.isArray(y)?y.map(k=>k.text).join(""):typeof y=="string"?y:"";_=Fs(m)}}}catch{}if(C){let b=Math.round(g-l),y=g-l,m={requestId:d,sessionId:f,startTime:l,lastTokenTime:g,tokenCount:_,tokensPerSecond:v_(_,y),timeToFirstToken:b,stream:!1,tokenTimestamps:[]};await T_(m,r,n.outputOptions,!0)}return c})})};function v_(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,iR);return Math.round(t/r)}function Fs(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function T_(t,e,n,r=!1){let o=r?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...n};for(let c of e)try{await To.outputToType(c,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${c}:`,l)}}Gn();Gn();function aR(t={}){let e=(0,R_.default)({bodyLimit:52428800,...t});return e.setErrorHandler(Kh),e.register(x_.default),e}var Pf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=aR({...r,logger:r.logger??!0}),this.configService=new pr(e),this.transformerService=new Dr(this.configService,this.app.log),this.tokenizerService=new Rr(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new gr(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async c=>{c.decorate("configService",this.configService),c.decorate("transformerService",this.transformerService),c.decorate("providerService",this.providerService),c.decorate("tokenizerService",this.tokenizerService),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Cu(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await bc(c)});return}if(!n)throw new Error("options is required");let r=new pr({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new Dr(r,this.app.log);await o.initialize();let s=new gr(r,o,this.app.log),a=new Rr(r,this.app.log);await a.initialize(),await this.app.register(async c=>{c.decorate("configService",r),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",a),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Cu(l,d,{configService:r,tokenizerService:a})}),await bc(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body){let c=r.body;r.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(r,o)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body)try{let a=r.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let c=a.model.split(","),l=a.model;if(c.length>1){let[d,...f]=c;l=f.join(","),a.model=l,r.provider=d}r.model=l;return}catch(a){return r.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{gi()}catch{}try{mu()}catch{}try{mi()}catch{}try{let r={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=Eu(()=>this.providerService.getProviders(),r,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(r){this.app.log.warn?.(`Failed to start active probe service: ${r.message}`)}let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`);try{Su()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},uR=Pf;0&&(module.exports={ActiveProbeService,ConfigService,ProviderHealthStore,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,getActiveProbeService,getAllQuotaResults,getAllRateLimitInfo,getHealthStore,getQuotaAdapter,getQuotaResult,getRateLimitInfo,getRuntimeDebugLog,initProviderHealthPersistence,initQuotaStorePersistence,initRateLimitPersistence,pluginManager,resetActiveProbeService,rewriteStream,router,searchProjectBySession,sessionUsageCache,setRuntimeDebugLog,startActiveProbe,stopActiveProbe,storeQuotaResult,tokenSpeedPlugin});
356
399
  /*! Bundled license information:
357
400
 
358
401
  web-streams-polyfill/dist/ponyfill.es2018.js: