@caeliq/llms 1.0.54 → 1.0.56

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,205 +1,206 @@
1
- "use strict";var fw=Object.create;var pi=Object.defineProperty;var dw=Object.getOwnPropertyDescriptor;var hw=Object.getOwnPropertyNames;var pw=Object.getPrototypeOf,gw=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),Dc=(t,e)=>{for(var r in e)pi(t,r,{get:e[r],enumerable:!0})},ip=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of hw(e))!gw.call(t,o)&&o!==r&&pi(t,o,{get:()=>e[o],enumerable:!(n=dw(e,o))||n.enumerable});return t};var Le=(t,e,r)=>(r=t!=null?fw(pw(t)):{},ip(e||!t||!t.__esModule?pi(r,"default",{value:t,enumerable:!0}):r,t)),mw=t=>ip(pi({},"__esModule",{value:!0}),t);var ap=V((Yx,gi)=>{gi.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;gi.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]/;gi.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 Rc=V((Xx,up)=>{var vc=ap();up.exports={isSpaceSeparator(t){return typeof t=="string"&&vc.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||vc.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"||vc.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 hp=V((Qx,dp)=>{var He=Rc(),Oc,rt,br,yi,$r,Lt,We,Ic,$o;dp.exports=function(e,r){Oc=String(e),rt="start",br=[],yi=0,$r=1,Lt=0,We=void 0,Ic=void 0,$o=void 0;do We=yw(),Cw[rt]();while(We.type!=="eof");return typeof r=="function"?Fc({"":$o},"",r):$o};function Fc(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=Fc(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=Fc(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,de,qo,_r,be;function yw(){for(me="default",de="",qo=!1,_r=1;;){be=Cr();let t=lp[me]();if(t)return t}}function Cr(){if(Oc[yi])return String.fromCodePoint(Oc.codePointAt(yi))}function W(){let t=Cr();return t===`
2
- `?($r++,Lt=0):t?Lt+=t.length:Lt++,t&&(yi+=t.length),t}var lp={default(){switch(be){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":W();return;case"/":W(),me="comment";return;case void 0:return W(),Pe("eof")}if(He.isSpaceSeparator(be)){W();return}return lp[rt]()},comment(){switch(be){case"*":W(),me="multiLineComment";return;case"/":W(),me="singleLineComment";return}throw Ie(W())},multiLineComment(){switch(be){case"*":W(),me="multiLineCommentAsterisk";return;case void 0:throw Ie(W())}W()},multiLineCommentAsterisk(){switch(be){case"*":W();return;case"/":W(),me="default";return;case void 0:throw Ie(W())}W(),me="multiLineComment"},singleLineComment(){switch(be){case`
4
- `:case"\r":case"\u2028":case"\u2029":W(),me="default";return;case void 0:return W(),Pe("eof")}W()},value(){switch(be){case"{":case"[":return Pe("punctuator",W());case"n":return W(),pn("ull"),Pe("null",null);case"t":return W(),pn("rue"),Pe("boolean",!0);case"f":return W(),pn("alse"),Pe("boolean",!1);case"-":case"+":W()==="-"&&(_r=-1),me="sign";return;case".":de=W(),me="decimalPointLeading";return;case"0":de=W(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":de=W(),me="decimalInteger";return;case"I":return W(),pn("nfinity"),Pe("numeric",1/0);case"N":return W(),pn("aN"),Pe("numeric",NaN);case'"':case"'":qo=W()==='"',de="",me="string";return}throw Ie(W())},identifierNameStartEscape(){if(be!=="u")throw Ie(W());W();let t=Pc();switch(t){case"$":case"_":break;default:if(!He.isIdStartChar(t))throw cp();break}de+=t,me="identifierName"},identifierName(){switch(be){case"$":case"_":case"\u200C":case"\u200D":de+=W();return;case"\\":W(),me="identifierNameEscape";return}if(He.isIdContinueChar(be)){de+=W();return}return Pe("identifier",de)},identifierNameEscape(){if(be!=="u")throw Ie(W());W();let t=Pc();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!He.isIdContinueChar(t))throw cp();break}de+=t,me="identifierName"},sign(){switch(be){case".":de=W(),me="decimalPointLeading";return;case"0":de=W(),me="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":de=W(),me="decimalInteger";return;case"I":return W(),pn("nfinity"),Pe("numeric",_r*(1/0));case"N":return W(),pn("aN"),Pe("numeric",NaN)}throw Ie(W())},zero(){switch(be){case".":de+=W(),me="decimalPoint";return;case"e":case"E":de+=W(),me="decimalExponent";return;case"x":case"X":de+=W(),me="hexadecimal";return}return Pe("numeric",_r*0)},decimalInteger(){switch(be){case".":de+=W(),me="decimalPoint";return;case"e":case"E":de+=W(),me="decimalExponent";return}if(He.isDigit(be)){de+=W();return}return Pe("numeric",_r*Number(de))},decimalPointLeading(){if(He.isDigit(be)){de+=W(),me="decimalFraction";return}throw Ie(W())},decimalPoint(){switch(be){case"e":case"E":de+=W(),me="decimalExponent";return}if(He.isDigit(be)){de+=W(),me="decimalFraction";return}return Pe("numeric",_r*Number(de))},decimalFraction(){switch(be){case"e":case"E":de+=W(),me="decimalExponent";return}if(He.isDigit(be)){de+=W();return}return Pe("numeric",_r*Number(de))},decimalExponent(){switch(be){case"+":case"-":de+=W(),me="decimalExponentSign";return}if(He.isDigit(be)){de+=W(),me="decimalExponentInteger";return}throw Ie(W())},decimalExponentSign(){if(He.isDigit(be)){de+=W(),me="decimalExponentInteger";return}throw Ie(W())},decimalExponentInteger(){if(He.isDigit(be)){de+=W();return}return Pe("numeric",_r*Number(de))},hexadecimal(){if(He.isHexDigit(be)){de+=W(),me="hexadecimalInteger";return}throw Ie(W())},hexadecimalInteger(){if(He.isHexDigit(be)){de+=W();return}return Pe("numeric",_r*Number(de))},string(){switch(be){case"\\":W(),de+=_w();return;case'"':if(qo)return W(),Pe("string",de);de+=W();return;case"'":if(!qo)return W(),Pe("string",de);de+=W();return;case`
5
- `:case"\r":throw Ie(W());case"\u2028":case"\u2029":ww(be);break;case void 0:throw Ie(W())}de+=W()},start(){switch(be){case"{":case"[":return Pe("punctuator",W())}me="value"},beforePropertyName(){switch(be){case"$":case"_":de=W(),me="identifierName";return;case"\\":W(),me="identifierNameStartEscape";return;case"}":return Pe("punctuator",W());case'"':case"'":qo=W()==='"',me="string";return}if(He.isIdStartChar(be)){de+=W(),me="identifierName";return}throw Ie(W())},afterPropertyName(){if(be===":")return Pe("punctuator",W());throw Ie(W())},beforePropertyValue(){me="value"},afterPropertyValue(){switch(be){case",":case"}":return Pe("punctuator",W())}throw Ie(W())},beforeArrayValue(){if(be==="]")return Pe("punctuator",W());me="value"},afterArrayValue(){switch(be){case",":case"]":return Pe("punctuator",W())}throw Ie(W())},end(){throw Ie(W())}};function Pe(t,e){return{type:t,value:e,line:$r,column:Lt}}function pn(t){for(let e of t){if(Cr()!==e)throw Ie(W());W()}}function _w(){switch(Cr()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),`
6
- `;case"r":return W(),"\r";case"t":return W()," ";case"v":return W(),"\v";case"0":if(W(),He.isDigit(Cr()))throw Ie(W());return"\0";case"x":return W(),bw();case"u":return W(),Pc();case`
7
- `:case"\u2028":case"\u2029":return W(),"";case"\r":return W(),Cr()===`
8
- `&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Ie(W());case void 0:throw Ie(W())}return W()}function bw(){let t="",e=Cr();if(!He.isHexDigit(e)||(t+=W(),e=Cr(),!He.isHexDigit(e)))throw Ie(W());return t+=W(),String.fromCodePoint(parseInt(t,16))}function Pc(){let t="",e=4;for(;e-- >0;){let r=Cr();if(!He.isHexDigit(r))throw Ie(W());t+=W()}return String.fromCodePoint(parseInt(t,16))}var Cw={start(){if(We.type==="eof")throw gn();xc()},beforePropertyName(){switch(We.type){case"identifier":case"string":Ic=We.value,rt="afterPropertyName";return;case"punctuator":mi();return;case"eof":throw gn()}},afterPropertyName(){if(We.type==="eof")throw gn();rt="beforePropertyValue"},beforePropertyValue(){if(We.type==="eof")throw gn();xc()},beforeArrayValue(){if(We.type==="eof")throw gn();if(We.type==="punctuator"&&We.value==="]"){mi();return}xc()},afterPropertyValue(){if(We.type==="eof")throw gn();switch(We.value){case",":rt="beforePropertyName";return;case"}":mi()}},afterArrayValue(){if(We.type==="eof")throw gn();switch(We.value){case",":rt="beforeArrayValue";return;case"]":mi()}},end(){}};function xc(){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($o===void 0)$o=t;else{let e=br[br.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Ic,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")br.push(t),Array.isArray(t)?rt="beforeArrayValue":rt="beforePropertyName";else{let e=br[br.length-1];e==null?rt="end":Array.isArray(e)?rt="afterArrayValue":rt="afterPropertyValue"}}function mi(){br.pop();let t=br[br.length-1];t==null?rt="end":Array.isArray(t)?rt="afterArrayValue":rt="afterPropertyValue"}function Ie(t){return _i(t===void 0?`JSON5: invalid end of input at ${$r}:${Lt}`:`JSON5: invalid character '${fp(t)}' at ${$r}:${Lt}`)}function gn(){return _i(`JSON5: invalid end of input at ${$r}:${Lt}`)}function cp(){return Lt-=5,_i(`JSON5: invalid identifier character at ${$r}:${Lt}`)}function ww(t){console.warn(`JSON5: '${fp(t)}' in strings is not valid ECMAScript; consider escaping`)}function fp(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 _i(t){let e=new SyntaxError(t);return e.lineNumber=$r,e.columnNumber=Lt,e}});var gp=V((Zx,pp)=>{var Nc=Rc();pp.exports=function(e,r,n){let o=[],s="",a,u,l="",f;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,f=r.quote,r=r.replacer),typeof r=="function")u=r;else if(Array.isArray(r)){a=[];for(let C of r){let b;typeof C=="string"?b=C:(typeof C=="number"||C instanceof String||C instanceof Number)&&(b=String(C)),b!==void 0&&a.indexOf(b)<0&&a.push(b)}}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)),d("",{"":e});function d(C,b){let m=b[C];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(C):typeof m.toJSON=="function"&&(m=m.toJSON(C))),u&&(m=u.call(b,C,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)?g(m):y(m)}function p(C){let b={"'":.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<C.length;S++){let T=C[S];switch(T){case"'":case'"':b[T]++,v+=T;continue;case"\0":if(Nc.isDigit(C[S+1])){v+="\\x00";continue}}if(m[T]){v+=m[T];continue}if(T<" "){let O=T.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=T}let k=f||Object.keys(b).reduce((S,T)=>b[S]<b[T]?S:T);return v=v.replace(new RegExp(k,"g"),m[k]),k+v+k}function y(C){if(o.indexOf(C)>=0)throw TypeError("Converting circular structure to JSON5");o.push(C);let b=s;s=s+l;let m=a||Object.keys(C),v=[];for(let S of m){let T=d(S,C);if(T!==void 0){let O=A(S)+":";l!==""&&(O+=" "),O+=T,v.push(O)}}let k;if(v.length===0)k="{}";else{let S;if(l==="")S=v.join(","),k="{"+S+"}";else{let T=`,
9
- `+s;S=v.join(T),k=`{
10
- `+s+S+`,
11
- `+b+"}"}}return o.pop(),s=b,k}function A(C){if(C.length===0)return p(C,!0);let b=String.fromCodePoint(C.codePointAt(0));if(!Nc.isIdStartChar(b))return p(C,!0);for(let m=b.length;m<C.length;m++)if(!Nc.isIdContinueChar(String.fromCodePoint(C.codePointAt(m))))return p(C,!0);return C}function g(C){if(o.indexOf(C)>=0)throw TypeError("Converting circular structure to JSON5");o.push(C);let b=s;s=s+l;let m=[];for(let k=0;k<C.length;k++){let S=d(String(k),C);m.push(S!==void 0?S:"null")}let v;if(m.length===0)v="[]";else if(l==="")v="["+m.join(",")+"]";else{let k=`,
12
- `+s,S=m.join(k);v=`[
13
- `+s+S+`,
14
- `+b+"]"}return o.pop(),s=b,v}}});var Bc=V((e1,mp)=>{var kw=hp(),Sw=gp(),Ew={parse:kw,stringify:Sw};mp.exports=Ew});var Fp=V((I1,Fw)=>{Fw.exports={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",i:"\u1D62",o:"\u2092",r:"\u1D63",u:"\u1D64",v:"\u1D65",x:"\u2093",\u03B2:"\u1D66",\u03B3:"\u1D67",\u03C1:"\u1D68",\u03C6:"\u1D69",\u03C7:"\u1D6A"}});var Pp=V((N1,Pw)=>{Pw.exports={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42",\u03B1:"\u1D45",\u03B2:"\u1D5D",\u03B3:"\u1D5E",\u03B4:"\u1D5F","\u220A":"\u1D4B",\u03B8:"\u1DBF",\u03B9:"\u1DA5",\u03A6:"\u1DB2",\u03C6:"\u1D60",\u03C7:"\u1D61"}});var Ip=V((B1,Iw)=>{Iw.exports={"\\texttrademark":"\u2122","\\trademark":"\u2122","\\textregistered":"\xAE","\\registered":"\xAE","\\copyright":"\xA9","\\pilcrow":"\xB6","\\pound":"\xA3","\\euro":"\u20AC","\\cents":"\xA2","\\section":"\xA7","\\space":"\u2423","\\degree":"\xB0","\\zeta":"\u03B6","\\Xi":"\u039E","\\xi":"\u03BE","\\wr":"\u2240","\\wp":"\u2118","\\wedge":"\u2227","\\Vvdash":"\u22AA","\\veebar":"\u22BB","\\vee":"\u2228","\\vdots":"\u22EE","\\Vdash":"\u22A9","\\vDash":"\u22A8","\\vdash":"\u22A2","\\vartriangleright":"\u22B3","\\vartriangleleft":"\u22B2","\\vartriangle":"\u25B3","\\vartheta":"\u03D1","\\varsigma":"\u03C2","\\varrho":"\u03F1","\\varpropto":"\u221D","\\varpi":"\u03D6","\\varphi":"\u03C6","\\varnothing":"\u2205","\\varkappa":"\u03F0","\\varepsilon":"\u03B5","\\upuparrows":"\u21C8","\\Upsilon":"\u03A5","\\upsilon":"\u03C5","\\uplus":"\u228E","\\upharpoonright":"\u21BE","\\upharpoonleft":"\u21BF","\\Updownarrow":"\u21D5","\\updownarrow":"\u2195","\\Uparrow":"\u21D1","\\uparrow":"\u2191","\\unrhd":"\u22B5","\\unlhd":"\u22B4","\\twoheadrightarrow":"\u21A0","\\twoheadleftarrow":"\u219E","\\trianglerighteq":"\u22B5","\\triangleright":"\u25B7","\\triangleq":"\u225C","\\trianglelefteq":"\u22B4","\\triangleleft":"\u25C1","\\triangledown":"\u25BD","\\triangle":"\u25B3","\\top":"\u22A4","\\times":"\xD7","\\thicksim":"\u223C","\\thickapprox":"\u2248","\\Theta":"\u0398","\\theta":"\u03B8","\\therefore":"\u2234","\\tau":"\u03C4","\\swarrow":"\u2199","\\surd":"\u221A","\\supseteq":"\u2287","\\Supset":"\u22D1","\\supset":"\u2283","\\sum":"\u2211","\\succsim":"\u227F","\\succeq":"\u227D","\\succcurlyeq":"\u227D","\\succ":"\u227B","\\subseteq":"\u2286","\\Subset":"\u22D0","\\subset":"\u2282","\\star":"\u22C6","\\square":"\u25A1","\\sqsupseteq":"\u2292","\\sqsupset":"\u2290","\\sqsubseteq":"\u2291","\\sqsubset":"\u228F","\\sqcup":"\u2294","\\sqcap":"\u2293","\\sphericalangle":"\u2222","\\spadesuit":"\u2660","\\smile":"\u2323","\\smallsmile":"\u2323","\\smallsetminus":"\u2216","\\smallfrown":"\u2322","\\simeq":"\u2243","\\sim":"\u223C","\\sigma":"\u03C3","\\shortparallel":"\u2225","\\sharp":"\u266F","\\setminus":"\u2216","\\searrow":"\u2198","\\rtimes":"\u22C8","\\Rsh":"\u21B1","\\Rrightarrow":"\u21DB","\\risingdotseq":"\u2253","\\rightthreetimes":"\u22CC","\\rightsquigarrow":"\u21DD","\\rightrightarrows":"\u21C9","\\rightleftharpoons":"\u21CC","\\rightleftarrows":"\u21C4","\\rightharpoonup":"\u21C0","\\rightharpoondown":"\u21C1","\\rightarrowtail":"\u21A3","\\Rightarrow":"\u21D2","\\rightarrow":"\u2192","\\rho":"\u03C1","\\rhd":"\u22B3","\\rfloor":"\u230B","\\Re":"\u211C","\\rceil":"\u2309","\\Psi":"\u03A8","\\psi":"\u03C8","\\propto":"\u221D","\\prod":"\u220F","\\prime":"\u2032","\\precsim":"\u227E","\\preceq":"\u227C","\\preccurlyeq":"\u227C","\\prec":"\u227A","\\pm":"\xB1","\\Pi":"\u03A0","\\pi":"\u03C0","\\pitchfork":"\u22D4","\\Phi":"\u03A6","\\phi":"\u03D5","\\perp":"\u22A5","\\partial":"\u2202","\\parallel":"\u2225","\\otimes":"\u2297","\\oslash":"\u2298","\\oplus":"\u2295","\\ominus":"\u2296","\\Omega":"\u03A9","\\omega":"\u03C9","\\oint":"\u222E","\\odot":"\u2299","\\nwarrow":"\u2196","\\nu":"\u03BD","\\notin":"\u2209","\\ni":"\u220B","\\nexists":"\u2204","\\neq":"\u2260","\\neg":"\xAC","\\nearrow":"\u2197","\\natural":"\u266E","\\nabla":"\u2207","\\mu":"\u03BC","\\multimap":"\u22B8","\\mp":"\u2213","\\models":"\u22A8","\\mid":"\u2223","\\mho":"\u2127","\\measuredangle":"\u2221","\\mapsto":"\u21A6","\\ltimes":"\u22C9","\\Lsh":"\u21B0","\\lozenge":"\u25CA","\\looparrowright":"\u21AC","\\looparrowleft":"\u21AB","\\Longrightarrow":"\u21D2","\\longrightarrow":"\u2192","\\longmapsto":"\u21D6","\\Longleftrightarrow":"\u21D4","\\longleftrightarrow":"\u2194","\\Longleftarrow":"\u21D0","\\longleftarrow":"\u2190","\\lll":"\u22D8","\\Lleftarrow":"\u21DA","\\ll":"\u226A","\\lhd":"\u22B2","\\lfloor":"\u230A","\\lesssim":"\u2272","\\lessgtr":"\u2276","\\lesseqgtr":"\u22DA","\\lessdot":"\u22D6","\\leqslant":"\u2264","\\leqq":"\u2266","\\leq":"\u2264","\\leftthreetimes":"\u22CB","\\leftrightsquigarrow":"\u21AD","\\leftrightharpoons":"\u21CB","\\leftrightarrows":"\u21C6","\\Leftrightarrow":"\u21D4","\\leftrightarrow":"\u2194","\\leftleftarrows":"\u21C7","\\leftharpoonup":"\u21BC","\\leftharpoondown":"\u21BD","\\leftarrowtail":"\u21A2","\\Leftarrow":"\u21D0","\\leftarrow":"\u2190","\\leadsto":"\u219D","\\le":"\u2264","\\lceil":"\u2308","\\Lambda":"\u039B","\\lambda":"\u03BB","\\kappa":"\u03BA","\\Join":"\u22C8","\\iota":"\u03B9","\\intercal":"\u22BA","\\int":"\u222B","\\infty":"\u221E","\\in":"\u2208","\\implies":"\u21D2","\\Im":"\u2111","\\hslash":"\u210F","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\heartsuit":"\u2661","\\hbar":"\u210F","\\gtrsim":"\u2273","\\gtrless":"\u2277","\\gtreqless":"\u22DB","\\gtrdot":"\u22D7","\\gimel":"\u05D2","\\ggg":"\u22D9","\\gg":"\u226B","\\geqq":"\u2267","\\geq":"\u2265","\\ge":"\u2265","\\Gamma":"\u0393","\\gamma":"\u03B3","\\frown":"\u2322","\\forall":"\u2200","\\flat":"\u266D","\\Finv":"\u2132","\\fallingdotseq":"\u2252","\\exists":"\u2203","\\eth":"\xF0","\\eta":"\u03B7","\\equiv":"\u2261","\\eqcirc":"\u2256","\\epsilon":"\u220A","\\emptyset":"\u2205","\\ell":"\u2113","\\downharpoonright":"\u21C2","\\downharpoonleft":"\u21C3","\\downdownarrows":"\u21CA","\\Downarrow":"\u21D3","\\downarrow":"\u2193","\\dots":"\u2026","\\dotplus":"\u2214","\\doteqdot":"\u2251","\\doteq":"\u2250","\\divideontimes":"\u22C7","\\div":"\xF7","\\digamma":"\u03DC","\\diamondsuit":"\u2662","\\Diamond":"\u25C7","\\diamond":"\u22C4","\\Delta":"\u0394","\\delta":"\u03B4","\\ddots":"\u22F1","\\ddagger":"\u2021","\\dashv":"\u22A3","\\dashrightarrow":"\u21E2","\\dashleftarrow":"\u21E0","\\daleth":"\u05D3","\\dagger":"\u2020","\\curvearrowright":"\u21B7","\\curvearrowleft":"\u21B6","\\curlywedge":"\u22CF","\\curlyvee":"\u22CE","\\curlyeqsucc":"\u22DF","\\curlyeqprec":"\u22DE","\\Cup":"\u22D3","\\cup":"\u222A","\\coprod":"\u2210","\\cong":"\u2245","\\complement":"\u2201","\\clubsuit":"\u2663","\\circledS":"\u24C8","\\circleddash":"\u229D","\\circledcirc":"\u229A","\\circledast":"\u229B","\\circlearrowright":"\u21BB","\\circlearrowleft":"\u21BA","\\circeq":"\u2257","\\circ":"\u2218","\\chi":"\u03C7","\\centerdot":"\u22C5","\\cdots":"\u22EF","\\cdot":"\u22C5","\\Cap":"\u22D2","\\cap":"\u2229","\\Bumpeq":"\u224E","\\bumpeq":"\u224F","\\bullet":"\u2219","\\boxtimes":"\u22A0","\\boxplus":"\u229E","\\boxminus":"\u229F","\\boxdot":"\u22A1","\\Box":"\u25A1","\\bowtie":"\u22C8","\\bot":"\u22A5","\\blacktriangleright":"\u25B7","\\blacktriangleleft":"\u25C0","\\blacktriangledown":"\u25BC","\\blacktriangle":"\u25B2","\\blacksquare":"\u25A0","\\blacklozenge":"\u25C6","\\bigwedge":"\u22C0","\\bigvee":"\u22C1","\\biguplus":"\u228E","\\bigtriangleup":"\u25B3","\\bigtriangledown":"\u25BD","\\bigstar":"\u2605","\\bigsqcup":"\u2294","\\bigotimes":"\u2297","\\bigoplus":"\u2295","\\bigodot":"\u2299","\\bigcup":"\u22C3","\\bigcirc":"\u25CB","\\bigcap":"\u22C2","\\between":"\u226C","\\beth":"\u05D1","\\beta":"\u03B2","\\because":"\u2235","\\barwedge":"\u22BC","\\backsim":"\u223D","\\backprime":"\u2035","\\backepsilon":"\u220D","\\asymp":"\u224D","\\ast":"\u2217","\\approxeq":"\u224A","\\approx":"\u2248","\\angle":"\u2220","\\alpha":"\u03B1","\\aleph":"\u05D0"}});var Np=V((j1,Nw)=>{Nw.exports={A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}","0":"\u{1D7D8}","1":"\u{1D7D9}","2":"\u{1D7DA}","3":"\u{1D7DB}","4":"\u{1D7DC}","5":"\u{1D7DD}","6":"\u{1D7DE}","7":"\u{1D7DF}","8":"\u{1D7E0}","9":"\u{1D7E1}"}});var Bp=V((M1,Bw)=>{Bw.exports={A:"\u{1D400}",B:"\u{1D401}",C:"\u{1D402}",D:"\u{1D403}",E:"\u{1D404}",F:"\u{1D405}",G:"\u{1D406}",H:"\u{1D407}",I:"\u{1D408}",J:"\u{1D409}",K:"\u{1D40A}",L:"\u{1D40B}",M:"\u{1D40C}",N:"\u{1D40D}",O:"\u{1D40E}",P:"\u{1D40F}",Q:"\u{1D410}",R:"\u{1D411}",S:"\u{1D412}",T:"\u{1D413}",U:"\u{1D414}",V:"\u{1D415}",W:"\u{1D416}",X:"\u{1D417}",Y:"\u{1D418}",Z:"\u{1D419}",a:"\u{1D41A}",b:"\u{1D41B}",c:"\u{1D41C}",d:"\u{1D41D}",e:"\u{1D41E}",f:"\u{1D41F}",g:"\u{1D420}",h:"\u{1D421}",i:"\u{1D422}",j:"\u{1D423}",k:"\u{1D424}",l:"\u{1D425}",m:"\u{1D426}",n:"\u{1D427}",o:"\u{1D428}",p:"\u{1D429}",q:"\u{1D42A}",r:"\u{1D42B}",s:"\u{1D42C}",t:"\u{1D42D}",u:"\u{1D42E}",v:"\u{1D42F}",w:"\u{1D430}",x:"\u{1D431}",y:"\u{1D432}",z:"\u{1D433}",\u0391:"\u{1D6A8}",\u0392:"\u{1D6A9}",\u0393:"\u{1D6AA}",\u0394:"\u{1D6AB}",\u0395:"\u{1D6AC}",\u0396:"\u{1D6AD}",\u0397:"\u{1D6AE}",\u0398:"\u{1D6AF}",\u0399:"\u{1D6B0}",\u039A:"\u{1D6B1}",\u039B:"\u{1D6B2}",\u039C:"\u{1D6B3}",\u039D:"\u{1D6B4}",\u039E:"\u{1D6B5}",\u039F:"\u{1D6B6}",\u03A0:"\u{1D6B7}",\u03A1:"\u{1D6B8}","\u03F4":"\u{1D6B9}",\u03A3:"\u{1D6BA}",\u03A4:"\u{1D6BB}",\u03A5:"\u{1D6BC}",\u03A6:"\u{1D6BD}",\u03A7:"\u{1D6BE}",\u03A8:"\u{1D6BF}",\u03A9:"\u{1D6C0}","\u2207":"\u{1D6C1}",\u03B1:"\u{1D6C2}",\u03B2:"\u{1D6C3}",\u03B3:"\u{1D6C4}",\u03B4:"\u{1D6C5}",\u03B5:"\u{1D6C6}",\u03B6:"\u{1D6C7}",\u03B7:"\u{1D6C8}",\u03B8:"\u{1D6C9}",\u03B9:"\u{1D6CA}",\u03BA:"\u{1D6CB}",\u03BB:"\u{1D6CC}",\u03BC:"\u{1D6CD}",\u03BD:"\u{1D6CE}",\u03BE:"\u{1D6CF}",\u03BF:"\u{1D6D0}",\u03C0:"\u{1D6D1}",\u03C1:"\u{1D6D2}",\u03C2:"\u{1D6D3}",\u03C3:"\u{1D6D4}",\u03C4:"\u{1D6D5}",\u03C5:"\u{1D6D6}",\u03C6:"\u{1D6D7}",\u03C7:"\u{1D6D8}",\u03C8:"\u{1D6D9}",\u03C9:"\u{1D6DA}","\u2202":"\u{1D6DB}","\u03F5":"\u{1D6DC}",\u03D1:"\u{1D6DD}",\u03F0:"\u{1D6DE}",\u03D5:"\u{1D6DF}",\u03F1:"\u{1D6E0}",\u03D6:"\u{1D6E1}","0":"\u{1D7CE}","1":"\u{1D7CF}","2":"\u{1D7D0}","3":"\u{1D7D1}","4":"\u{1D7D2}","5":"\u{1D7D3}","6":"\u{1D7D4}","7":"\u{1D7D5}","8":"\u{1D7D6}","9":"\u{1D7D7}"}});var jp=V((U1,jw)=>{jw.exports={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}",a:"\u{1D4EA}",b:"\u{1D4EB}",c:"\u{1D4EC}",d:"\u{1D4ED}",e:"\u{1D4EE}",f:"\u{1D4EF}",g:"\u{1D4F0}",h:"\u{1D4F1}",i:"\u{1D4F2}",j:"\u{1D4F3}",k:"\u{1D4F4}",l:"\u{1D4F5}",m:"\u{1D4F6}",n:"\u{1D4F7}",o:"\u{1D4F8}",p:"\u{1D4F9}",q:"\u{1D4FA}",r:"\u{1D4FB}",s:"\u{1D4FC}",t:"\u{1D4FD}",u:"\u{1D4FE}",v:"\u{1D4FF}",w:"\u{1D500}",x:"\u{1D501}",y:"\u{1D502}",z:"\u{1D503}"}});var Mp=V((L1,Mw)=>{Mw.exports={A:"\u{1D504}",B:"\u{1D505}",C:"\u212D",D:"\u{1D507}",E:"\u{1D508}",F:"\u{1D509}",G:"\u{1D50A}",H:"\u210C",I:"\u2111",J:"\u{1D50D}",K:"\u{1D50E}",L:"\u{1D50F}",M:"\u{1D510}",N:"\u{1D511}",O:"\u{1D512}",P:"\u{1D513}",Q:"\u{1D514}",R:"\u211C",S:"\u{1D516}",T:"\u{1D517}",U:"\u{1D518}",V:"\u{1D519}",W:"\u{1D51A}",X:"\u{1D51B}",Y:"\u{1D51C}",Z:"\u2128",a:"\u{1D51E}",b:"\u{1D51F}",c:"\u{1D520}",d:"\u{1D521}",e:"\u{1D522}",f:"\u{1D523}",g:"\u{1D524}",h:"\u{1D525}",i:"\u{1D526}",j:"\u{1D527}",k:"\u{1D528}",l:"\u{1D529}",m:"\u{1D52A}",n:"\u{1D52B}",o:"\u{1D52C}",p:"\u{1D52D}",q:"\u{1D52E}",r:"\u{1D52F}",s:"\u{1D530}",t:"\u{1D531}",u:"\u{1D532}",v:"\u{1D533}",w:"\u{1D534}",x:"\u{1D535}",y:"\u{1D536}",z:"\u{1D537}"}});var Up=V((q1,Uw)=>{Uw.exports={A:"\u{1D434}",B:"\u{1D435}",C:"\u{1D436}",D:"\u{1D437}",E:"\u{1D438}",F:"\u{1D439}",G:"\u{1D43A}",H:"\u{1D43B}",I:"\u{1D43C}",J:"\u{1D43D}",K:"\u{1D43E}",L:"\u{1D43F}",M:"\u{1D440}",N:"\u{1D441}",O:"\u{1D442}",P:"\u{1D443}",Q:"\u{1D444}",R:"\u{1D445}",S:"\u{1D446}",T:"\u{1D447}",U:"\u{1D448}",V:"\u{1D449}",W:"\u{1D44A}",X:"\u{1D44B}",Y:"\u{1D44C}",Z:"\u{1D44D}",a:"\u{1D44E}",b:"\u{1D44F}",c:"\u{1D450}",d:"\u{1D451}",e:"\u{1D452}",f:"\u{1D453}",g:"\u{1D454}",h:"\u210E",i:"\u{1D456}",j:"\u{1D457}",k:"\u{1D458}",l:"\u{1D459}",m:"\u{1D45A}",n:"\u{1D45B}",o:"\u{1D45C}",p:"\u{1D45D}",q:"\u{1D45E}",r:"\u{1D45F}",s:"\u{1D460}",t:"\u{1D461}",u:"\u{1D462}",v:"\u{1D463}",w:"\u{1D464}",x:"\u{1D465}",y:"\u{1D466}",z:"\u{1D467}",\u0391:"\u{1D6E2}",\u0392:"\u{1D6E3}",\u0393:"\u{1D6E4}",\u0394:"\u{1D6E5}",\u0395:"\u{1D6E6}",\u0396:"\u{1D6E7}",\u0397:"\u{1D6E8}",\u0398:"\u{1D6E9}",\u0399:"\u{1D6EA}",\u039A:"\u{1D6EB}",\u039B:"\u{1D6EC}",\u039C:"\u{1D6ED}",\u039D:"\u{1D6EE}",\u039E:"\u{1D6EF}",\u039F:"\u{1D6F0}",\u03A0:"\u{1D6F1}",\u03A1:"\u{1D6F2}","\u03F4":"\u{1D6F3}",\u03A3:"\u{1D6F4}",\u03A4:"\u{1D6F5}",\u03A5:"\u{1D6F6}",\u03A6:"\u{1D6F7}",\u03A7:"\u{1D6F8}",\u03A8:"\u{1D6F9}",\u03A9:"\u{1D6FA}","\u2207":"\u{1D6FB}",\u03B1:"\u{1D6FC}",\u03B2:"\u{1D6FD}",\u03B3:"\u{1D6FE}",\u03B4:"\u{1D6FF}",\u03B5:"\u{1D700}",\u03B6:"\u{1D701}",\u03B7:"\u{1D702}",\u03B8:"\u{1D703}",\u03B9:"\u{1D704}",\u03BA:"\u{1D705}",\u03BB:"\u{1D706}",\u03BC:"\u{1D707}",\u03BD:"\u{1D708}",\u03BE:"\u{1D709}",\u03BF:"\u{1D70A}",\u03C0:"\u{1D70B}",\u03C1:"\u{1D70C}",\u03C2:"\u{1D70D}",\u03C3:"\u{1D70E}",\u03C4:"\u{1D70F}",\u03C5:"\u{1D710}",\u03C6:"\u{1D711}",\u03C7:"\u{1D712}",\u03C8:"\u{1D713}",\u03C9:"\u{1D714}","\u2202":"\u{1D715}","\u03F5":"\u{1D716}",\u03D1:"\u{1D717}",\u03F0:"\u{1D718}",\u03D5:"\u{1D719}",\u03F1:"\u{1D71A}",\u03D6:"\u{1D71B}"}});var Lp=V(($1,Lw)=>{Lw.exports={A:"\u{1D670}",B:"\u{1D671}",C:"\u{1D672}",D:"\u{1D673}",E:"\u{1D674}",F:"\u{1D675}",G:"\u{1D676}",H:"\u{1D677}",I:"\u{1D678}",J:"\u{1D679}",K:"\u{1D67A}",L:"\u{1D67B}",M:"\u{1D67C}",N:"\u{1D67D}",O:"\u{1D67E}",P:"\u{1D67F}",Q:"\u{1D680}",R:"\u{1D681}",S:"\u{1D682}",T:"\u{1D683}",U:"\u{1D684}",V:"\u{1D685}",W:"\u{1D686}",X:"\u{1D687}",Y:"\u{1D688}",Z:"\u{1D689}",a:"\u{1D68A}",b:"\u{1D68B}",c:"\u{1D68C}",d:"\u{1D68D}",e:"\u{1D68E}",f:"\u{1D68F}",g:"\u{1D690}",h:"\u{1D691}",i:"\u{1D692}",j:"\u{1D693}",k:"\u{1D694}",l:"\u{1D695}",m:"\u{1D696}",n:"\u{1D697}",o:"\u{1D698}",p:"\u{1D699}",q:"\u{1D69A}",r:"\u{1D69B}",s:"\u{1D69C}",t:"\u{1D69D}",u:"\u{1D69E}",v:"\u{1D69F}",w:"\u{1D6A0}",x:"\u{1D6A1}",y:"\u{1D6A2}",z:"\u{1D6A3}","0":"\u{1D7F6}","1":"\u{1D7F7}","2":"\u{1D7F8}","3":"\u{1D7F9}","4":"\u{1D7FA}","5":"\u{1D7FB}","6":"\u{1D7FC}","7":"\u{1D7FD}","8":"\u{1D7FE}","9":"\u{1D7FF}"}});var Hp=V((z1,zp)=>{var qw=Fp(),$w=Pp(),qp=Ip(),zw=Np(),Hw=Bp(),Ww=jp(),Gw=Mp(),Jw=Up(),Vw=Lp(),$p=function(t,e){return t[e]!==void 0?t[e]:e};function Hr(t,e,r){t=t.replace(e,"^");var n="",o="normal",s,a;for(s=0;s<t.length;s++){if(a=t[s],o==="normal"&&a==="^"){o="modified";continue}else if(o==="modified"&&a==="{"){o="long";continue}else if(o==="modified"){n+=$p(r,a),o="normal";continue}else if(o==="long"&&a==="}"){o="normal";continue}o==="normal"?n+=a:n+=$p(r,a)}return n}zp.exports=function(t){return Object.keys(qp).forEach(function(e){var r=qp[e];t=t.replace(e,r)}),t=Hr(t,"^",$w),t=Hr(t,"_",qw),t=Hr(t,"\\bb",zw),t=Hr(t,"\\bf",Hw),t=Hr(t,"\\it",Jw),t=Hr(t,"\\cal",Ww),t=Hr(t,"\\frak",Gw),t=Hr(t,"\\mono",Vw),t}});var $c=V((Q1,Zp)=>{"use strict";var Fi=Object.prototype.hasOwnProperty,Qp=Object.prototype.toString,Gp=Object.defineProperty,Jp=Object.getOwnPropertyDescriptor,Vp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Qp.call(e)==="[object Array]"},Kp=function(e){if(!e||Qp.call(e)!=="[object Object]")return!1;var r=Fi.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Fi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Fi.call(e,o)},Yp=function(e,r){Gp&&r.name==="__proto__"?Gp(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Xp=function(e,r){if(r==="__proto__")if(Fi.call(e,r)){if(Jp)return Jp(e,r).value}else return;return e[r]};Zp.exports=function t(){var e,r,n,o,s,a,u=arguments[0],l=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<f;++l)if(e=arguments[l],e!=null)for(r in e)n=Xp(u,r),o=Xp(e,r),u!==o&&(d&&o&&(Kp(o)||(s=Vp(o)))?(s?(s=!1,a=n&&Vp(n)?n:[]):a=n&&Kp(n)?n:{},Yp(u,{name:r,newValue:t(d,a,o)})):typeof o<"u"&&Yp(u,{name:r,newValue:o}));return u}});var eg=V((Z1,Xw)=>{Xw.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 rg=V((eO,tg)=>{"use strict";var Qw=eg();tg.exports={pkg:Qw}});var Wc=V(Dt=>{"use strict";var og=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.GaxiosError=Dt.GAXIOS_ERROR_SYMBOL=void 0;Dt.defaultErrorRedactor=sg;var ng=og($c()),Zw=og(rg()),zc=Zw.default.pkg;Dt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${zc.name}-gaxios-error`);var Hc=class t extends Error{config;response;code;status;error;[Dt.GAXIOS_ERROR_SYMBOL]=zc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Dt.GAXIOS_ERROR_SYMBOL in e&&e[Dt.GAXIOS_ERROR_SYMBOL]===zc.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,ng.default)(!0,{},r),this.response&&(this.response.config=(0,ng.default)(!0,{},this.response.config)),this.response){try{this.response.data=ek(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 u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.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}}};Dt.GaxiosError=Hc;function ek(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 sg(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(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,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,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&&(sg({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var ag=V(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.getRetryConfig=tk;async function tk(t){let e=ig(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||rk)(t))return{shouldRetry:!1,config:t.config};let o=nk(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 rk(t){let e=ig(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 ig(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function nk(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 Vc=V(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.GaxiosInterceptorManager=void 0;var Jc=class extends Set{};Pi.GaxiosInterceptorManager=Jc});var cg=V((oO,ug)=>{var Xn=1e3,Qn=Xn*60,Zn=Qn*60,bn=Zn*24,ok=bn*7,sk=bn*365.25;ug.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return ik(t);if(r==="number"&&isFinite(t))return e.long?uk(t):ak(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function ik(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*sk;case"weeks":case"week":case"w":return r*ok;case"days":case"day":case"d":return r*bn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Zn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Qn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Xn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ak(t){var e=Math.abs(t);return e>=bn?Math.round(t/bn)+"d":e>=Zn?Math.round(t/Zn)+"h":e>=Qn?Math.round(t/Qn)+"m":e>=Xn?Math.round(t/Xn)+"s":t+"ms"}function uk(t){var e=Math.abs(t);return e>=bn?Ii(t,e,bn,"day"):e>=Zn?Ii(t,e,Zn,"hour"):e>=Qn?Ii(t,e,Qn,"minute"):e>=Xn?Ii(t,e,Xn,"second"):t+" ms"}function Ii(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Kc=V((sO,lg)=>{function ck(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=u,r.humanize=cg(),r.destroy=f,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let p=0;for(let y=0;y<d.length;y++)p=(p<<5)-p+d.charCodeAt(y),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(d){let p,y=null,A,g;function C(...b){if(!C.enabled)return;let m=C,v=Number(new Date),k=v-(p||v);m.diff=k,m.prev=p,m.curr=v,p=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let S=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(O,N)=>{if(O==="%%")return"%";S++;let q=r.formatters[N];if(typeof q=="function"){let z=b[S];O=q.call(m,z),b.splice(S,1),S--}return O}),r.formatArgs.call(m,b),(m.log||r.log).apply(m,b)}return C.namespace=d,C.useColors=r.useColors(),C.color=r.selectColor(d),C.extend=n,C.destroy=r.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(A!==r.namespaces&&(A=r.namespaces,g=r.enabled(d)),g),set:b=>{y=b}}),typeof r.init=="function"&&r.init(C),C}function n(d,p){let y=r(this.namespace+(typeof p>"u"?":":p)+d);return y.log=this.log,y}function o(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let p=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of p)y[0]==="-"?r.skips.push(y.slice(1)):r.names.push(y)}function s(d,p){let y=0,A=0,g=-1,C=0;for(;y<d.length;)if(A<p.length&&(p[A]===d[y]||p[A]==="*"))p[A]==="*"?(g=A,C=y,A++):(y++,A++);else if(g!==-1)A=g+1,C++,y=C;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let d=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),d}function u(d){for(let p of r.skips)if(s(d,p))return!1;for(let p of r.names)if(s(d,p))return!0;return!1}function l(d){return d instanceof Error?d.stack||d.message:d}function f(){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}lg.exports=ck});var fg=V((at,Ni)=>{at.formatArgs=fk;at.save=dk;at.load=hk;at.useColors=lk;at.storage=pk();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 lk(){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 fk(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ni.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 dk(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function hk(){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 pk(){try{return localStorage}catch{}}Ni.exports=Kc()(at);var{formatters:gk}=Ni.exports;gk.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var hg=V((iO,dg)=>{"use strict";dg.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 mg=V((aO,gg)=>{"use strict";var mk=require("os"),pg=require("tty"),vt=hg(),{env:Ge}=process,Wr;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?Wr=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&(Wr=1);"FORCE_COLOR"in Ge&&(Ge.FORCE_COLOR==="true"?Wr=1:Ge.FORCE_COLOR==="false"?Wr=0:Wr=Ge.FORCE_COLOR.length===0?1:Math.min(parseInt(Ge.FORCE_COLOR,10),3));function Yc(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Xc(t,e){if(Wr===0)return 0;if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2;if(t&&!e&&Wr===void 0)return 0;let r=Wr||0;if(Ge.TERM==="dumb")return r;if(process.platform==="win32"){let n=mk.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ge)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ge)||Ge.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ge)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ge.TEAMCITY_VERSION)?1:0;if(Ge.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ge){let n=parseInt((Ge.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ge.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ge.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ge.TERM)||"COLORTERM"in Ge?1:r}function yk(t){let e=Xc(t,t&&t.isTTY);return Yc(e)}gg.exports={supportsColor:yk,stdout:Yc(Xc(!0,pg.isatty(1))),stderr:Yc(Xc(!0,pg.isatty(2)))}});var _g=V((Je,ji)=>{var _k=require("tty"),Bi=require("util");Je.init=Ak;Je.log=kk;Je.formatArgs=Ck;Je.save=Sk;Je.load=Ek;Je.useColors=bk;Je.destroy=Bi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Je.colors=[6,2,3,4,5,1];try{let t=mg();t&&(t.stderr||t).level>=2&&(Je.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{}Je.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 bk(){return"colors"in Je.inspectOpts?!!Je.inspectOpts.colors:_k.isatty(process.stderr.fd)}function Ck(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(`
1
+ "use strict";var jw=Object.create;var Ci=Object.defineProperty;var Mw=Object.getOwnPropertyDescriptor;var Uw=Object.getOwnPropertyNames;var Lw=Object.getPrototypeOf,qw=Object.prototype.hasOwnProperty;var Le=(t,e)=>()=>(t&&(e=t(t=0)),e);var J=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ic=(t,e)=>{for(var r in e)Ci(t,r,{get:e[r],enumerable:!0})},_p=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Uw(e))!qw.call(t,o)&&o!==r&&Ci(t,o,{get:()=>e[o],enumerable:!(n=Mw(e,o))||n.enumerable});return t};var $e=(t,e,r)=>(r=t!=null?jw(Lw(t)):{},_p(e||!t||!t.__esModule?Ci(r,"default",{value:t,enumerable:!0}):r,t)),$w=t=>_p(Ci({},"__esModule",{value:!0}),t);var bp=J((q1,wi)=>{wi.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;wi.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]/;wi.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 Bc=J(($1,Cp)=>{var Nc=bp();Cp.exports={isSpaceSeparator(t){return typeof t=="string"&&Nc.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Nc.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"||Nc.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 Ap=J((z1,Sp)=>{var Ge=Bc(),Mc,st,wr,ki,Wr,$t,Je,qc,Vo;Sp.exports=function(e,r){Mc=String(e),st="start",wr=[],ki=0,Wr=1,$t=0,Je=void 0,qc=void 0,Vo=void 0;do Je=zw(),Gw[st]();while(Je.type!=="eof");return typeof r=="function"?Uc({"":Vo},"",r):Vo};function Uc(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=Uc(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=Uc(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 ge,he,Jo,Cr,Ce;function zw(){for(ge="default",he="",Jo=!1,Cr=1;;){Ce=Er();let t=Ep[ge]();if(t)return t}}function Er(){if(Mc[ki])return String.fromCodePoint(Mc.codePointAt(ki))}function H(){let t=Er();return t===`
2
+ `?(Wr++,$t=0):t?$t+=t.length:$t++,t&&(ki+=t.length),t}var Ep={default(){switch(Ce){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":H();return;case"/":H(),ge="comment";return;case void 0:return H(),Ie("eof")}if(Ge.isSpaceSeparator(Ce)){H();return}return Ep[st]()},comment(){switch(Ce){case"*":H(),ge="multiLineComment";return;case"/":H(),ge="singleLineComment";return}throw Ne(H())},multiLineComment(){switch(Ce){case"*":H(),ge="multiLineCommentAsterisk";return;case void 0:throw Ne(H())}H()},multiLineCommentAsterisk(){switch(Ce){case"*":H();return;case"/":H(),ge="default";return;case void 0:throw Ne(H())}H(),ge="multiLineComment"},singleLineComment(){switch(Ce){case`
4
+ `:case"\r":case"\u2028":case"\u2029":H(),ge="default";return;case void 0:return H(),Ie("eof")}H()},value(){switch(Ce){case"{":case"[":return Ie("punctuator",H());case"n":return H(),_n("ull"),Ie("null",null);case"t":return H(),_n("rue"),Ie("boolean",!0);case"f":return H(),_n("alse"),Ie("boolean",!1);case"-":case"+":H()==="-"&&(Cr=-1),ge="sign";return;case".":he=H(),ge="decimalPointLeading";return;case"0":he=H(),ge="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=H(),ge="decimalInteger";return;case"I":return H(),_n("nfinity"),Ie("numeric",1/0);case"N":return H(),_n("aN"),Ie("numeric",NaN);case'"':case"'":Jo=H()==='"',he="",ge="string";return}throw Ne(H())},identifierNameStartEscape(){if(Ce!=="u")throw Ne(H());H();let t=Lc();switch(t){case"$":case"_":break;default:if(!Ge.isIdStartChar(t))throw wp();break}he+=t,ge="identifierName"},identifierName(){switch(Ce){case"$":case"_":case"\u200C":case"\u200D":he+=H();return;case"\\":H(),ge="identifierNameEscape";return}if(Ge.isIdContinueChar(Ce)){he+=H();return}return Ie("identifier",he)},identifierNameEscape(){if(Ce!=="u")throw Ne(H());H();let t=Lc();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!Ge.isIdContinueChar(t))throw wp();break}he+=t,ge="identifierName"},sign(){switch(Ce){case".":he=H(),ge="decimalPointLeading";return;case"0":he=H(),ge="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":he=H(),ge="decimalInteger";return;case"I":return H(),_n("nfinity"),Ie("numeric",Cr*(1/0));case"N":return H(),_n("aN"),Ie("numeric",NaN)}throw Ne(H())},zero(){switch(Ce){case".":he+=H(),ge="decimalPoint";return;case"e":case"E":he+=H(),ge="decimalExponent";return;case"x":case"X":he+=H(),ge="hexadecimal";return}return Ie("numeric",Cr*0)},decimalInteger(){switch(Ce){case".":he+=H(),ge="decimalPoint";return;case"e":case"E":he+=H(),ge="decimalExponent";return}if(Ge.isDigit(Ce)){he+=H();return}return Ie("numeric",Cr*Number(he))},decimalPointLeading(){if(Ge.isDigit(Ce)){he+=H(),ge="decimalFraction";return}throw Ne(H())},decimalPoint(){switch(Ce){case"e":case"E":he+=H(),ge="decimalExponent";return}if(Ge.isDigit(Ce)){he+=H(),ge="decimalFraction";return}return Ie("numeric",Cr*Number(he))},decimalFraction(){switch(Ce){case"e":case"E":he+=H(),ge="decimalExponent";return}if(Ge.isDigit(Ce)){he+=H();return}return Ie("numeric",Cr*Number(he))},decimalExponent(){switch(Ce){case"+":case"-":he+=H(),ge="decimalExponentSign";return}if(Ge.isDigit(Ce)){he+=H(),ge="decimalExponentInteger";return}throw Ne(H())},decimalExponentSign(){if(Ge.isDigit(Ce)){he+=H(),ge="decimalExponentInteger";return}throw Ne(H())},decimalExponentInteger(){if(Ge.isDigit(Ce)){he+=H();return}return Ie("numeric",Cr*Number(he))},hexadecimal(){if(Ge.isHexDigit(Ce)){he+=H(),ge="hexadecimalInteger";return}throw Ne(H())},hexadecimalInteger(){if(Ge.isHexDigit(Ce)){he+=H();return}return Ie("numeric",Cr*Number(he))},string(){switch(Ce){case"\\":H(),he+=Hw();return;case'"':if(Jo)return H(),Ie("string",he);he+=H();return;case"'":if(!Jo)return H(),Ie("string",he);he+=H();return;case`
5
+ `:case"\r":throw Ne(H());case"\u2028":case"\u2029":Jw(Ce);break;case void 0:throw Ne(H())}he+=H()},start(){switch(Ce){case"{":case"[":return Ie("punctuator",H())}ge="value"},beforePropertyName(){switch(Ce){case"$":case"_":he=H(),ge="identifierName";return;case"\\":H(),ge="identifierNameStartEscape";return;case"}":return Ie("punctuator",H());case'"':case"'":Jo=H()==='"',ge="string";return}if(Ge.isIdStartChar(Ce)){he+=H(),ge="identifierName";return}throw Ne(H())},afterPropertyName(){if(Ce===":")return Ie("punctuator",H());throw Ne(H())},beforePropertyValue(){ge="value"},afterPropertyValue(){switch(Ce){case",":case"}":return Ie("punctuator",H())}throw Ne(H())},beforeArrayValue(){if(Ce==="]")return Ie("punctuator",H());ge="value"},afterArrayValue(){switch(Ce){case",":case"]":return Ie("punctuator",H())}throw Ne(H())},end(){throw Ne(H())}};function Ie(t,e){return{type:t,value:e,line:Wr,column:$t}}function _n(t){for(let e of t){if(Er()!==e)throw Ne(H());H()}}function Hw(){switch(Er()){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(),Ge.isDigit(Er()))throw Ne(H());return"\0";case"x":return H(),Ww();case"u":return H(),Lc();case`
7
+ `:case"\u2028":case"\u2029":return H(),"";case"\r":return H(),Er()===`
8
+ `&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Ne(H());case void 0:throw Ne(H())}return H()}function Ww(){let t="",e=Er();if(!Ge.isHexDigit(e)||(t+=H(),e=Er(),!Ge.isHexDigit(e)))throw Ne(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Lc(){let t="",e=4;for(;e-- >0;){let r=Er();if(!Ge.isHexDigit(r))throw Ne(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var Gw={start(){if(Je.type==="eof")throw bn();jc()},beforePropertyName(){switch(Je.type){case"identifier":case"string":qc=Je.value,st="afterPropertyName";return;case"punctuator":Ei();return;case"eof":throw bn()}},afterPropertyName(){if(Je.type==="eof")throw bn();st="beforePropertyValue"},beforePropertyValue(){if(Je.type==="eof")throw bn();jc()},beforeArrayValue(){if(Je.type==="eof")throw bn();if(Je.type==="punctuator"&&Je.value==="]"){Ei();return}jc()},afterPropertyValue(){if(Je.type==="eof")throw bn();switch(Je.value){case",":st="beforePropertyName";return;case"}":Ei()}},afterArrayValue(){if(Je.type==="eof")throw bn();switch(Je.value){case",":st="beforeArrayValue";return;case"]":Ei()}},end(){}};function jc(){let t;switch(Je.type){case"punctuator":switch(Je.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Je.value;break}if(Vo===void 0)Vo=t;else{let e=wr[wr.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,qc,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")wr.push(t),Array.isArray(t)?st="beforeArrayValue":st="beforePropertyName";else{let e=wr[wr.length-1];e==null?st="end":Array.isArray(e)?st="afterArrayValue":st="afterPropertyValue"}}function Ei(){wr.pop();let t=wr[wr.length-1];t==null?st="end":Array.isArray(t)?st="afterArrayValue":st="afterPropertyValue"}function Ne(t){return Si(t===void 0?`JSON5: invalid end of input at ${Wr}:${$t}`:`JSON5: invalid character '${kp(t)}' at ${Wr}:${$t}`)}function bn(){return Si(`JSON5: invalid end of input at ${Wr}:${$t}`)}function wp(){return $t-=5,Si(`JSON5: invalid identifier character at ${Wr}:${$t}`)}function Jw(t){console.warn(`JSON5: '${kp(t)}' in strings is not valid ECMAScript; consider escaping`)}function kp(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 Si(t){let e=new SyntaxError(t);return e.lineNumber=Wr,e.columnNumber=$t,e}});var Dp=J((H1,Tp)=>{var $c=Bc();Tp.exports=function(e,r,n){let o=[],s="",a,u,c="",f;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,f=r.quote,r=r.replacer),typeof r=="function")u=r;else if(Array.isArray(r)){a=[];for(let _ of r){let b;typeof _=="string"?b=_:(typeof _=="number"||_ instanceof String||_ instanceof Number)&&(b=String(_)),b!==void 0&&a.indexOf(b)<0&&a.push(b)}}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)),c=" ".substr(0,n)):typeof n=="string"&&(c=n.substr(0,10)),d("",{"":e});function d(_,b){let m=b[_];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(_):typeof m.toJSON=="function"&&(m=m.toJSON(_))),u&&(m=u.call(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)?g(m):y(m)}function p(_){let b={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},v="";for(let w=0;w<_.length;w++){let T=_[w];switch(T){case"'":case'"':b[T]++,v+=T;continue;case"\0":if($c.isDigit(_[w+1])){v+="\\x00";continue}}if(m[T]){v+=m[T];continue}if(T<" "){let O=T.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=T}let k=f||Object.keys(b).reduce((w,T)=>b[w]<b[T]?w:T);return v=v.replace(new RegExp(k,"g"),m[k]),k+v+k}function y(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let b=s;s=s+c;let m=a||Object.keys(_),v=[];for(let w of m){let T=d(w,_);if(T!==void 0){let O=A(w)+":";c!==""&&(O+=" "),O+=T,v.push(O)}}let k;if(v.length===0)k="{}";else{let w;if(c==="")w=v.join(","),k="{"+w+"}";else{let T=`,
9
+ `+s;w=v.join(T),k=`{
10
+ `+s+w+`,
11
+ `+b+"}"}}return o.pop(),s=b,k}function A(_){if(_.length===0)return p(_,!0);let b=String.fromCodePoint(_.codePointAt(0));if(!$c.isIdStartChar(b))return p(_,!0);for(let m=b.length;m<_.length;m++)if(!$c.isIdContinueChar(String.fromCodePoint(_.codePointAt(m))))return p(_,!0);return _}function g(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let b=s;s=s+c;let m=[];for(let k=0;k<_.length;k++){let w=d(String(k),_);m.push(w!==void 0?w:"null")}let v;if(m.length===0)v="[]";else if(c==="")v="["+m.join(",")+"]";else{let k=`,
12
+ `+s,w=m.join(k);v=`[
13
+ `+s+w+`,
14
+ `+b+"]"}return o.pop(),s=b,v}}});var zc=J((W1,vp)=>{var Vw=Ap(),Kw=Dp(),Yw={parse:Vw,stringify:Kw};vp.exports=Yw});var Qp=J((IO,hE)=>{hE.exports={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",i:"\u1D62",o:"\u2092",r:"\u1D63",u:"\u1D64",v:"\u1D65",x:"\u2093",\u03B2:"\u1D66",\u03B3:"\u1D67",\u03C1:"\u1D68",\u03C6:"\u1D69",\u03C7:"\u1D6A"}});var Zp=J((NO,pE)=>{pE.exports={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42",\u03B1:"\u1D45",\u03B2:"\u1D5D",\u03B3:"\u1D5E",\u03B4:"\u1D5F","\u220A":"\u1D4B",\u03B8:"\u1DBF",\u03B9:"\u1DA5",\u03A6:"\u1DB2",\u03C6:"\u1D60",\u03C7:"\u1D61"}});var eg=J((BO,gE)=>{gE.exports={"\\texttrademark":"\u2122","\\trademark":"\u2122","\\textregistered":"\xAE","\\registered":"\xAE","\\copyright":"\xA9","\\pilcrow":"\xB6","\\pound":"\xA3","\\euro":"\u20AC","\\cents":"\xA2","\\section":"\xA7","\\space":"\u2423","\\degree":"\xB0","\\zeta":"\u03B6","\\Xi":"\u039E","\\xi":"\u03BE","\\wr":"\u2240","\\wp":"\u2118","\\wedge":"\u2227","\\Vvdash":"\u22AA","\\veebar":"\u22BB","\\vee":"\u2228","\\vdots":"\u22EE","\\Vdash":"\u22A9","\\vDash":"\u22A8","\\vdash":"\u22A2","\\vartriangleright":"\u22B3","\\vartriangleleft":"\u22B2","\\vartriangle":"\u25B3","\\vartheta":"\u03D1","\\varsigma":"\u03C2","\\varrho":"\u03F1","\\varpropto":"\u221D","\\varpi":"\u03D6","\\varphi":"\u03C6","\\varnothing":"\u2205","\\varkappa":"\u03F0","\\varepsilon":"\u03B5","\\upuparrows":"\u21C8","\\Upsilon":"\u03A5","\\upsilon":"\u03C5","\\uplus":"\u228E","\\upharpoonright":"\u21BE","\\upharpoonleft":"\u21BF","\\Updownarrow":"\u21D5","\\updownarrow":"\u2195","\\Uparrow":"\u21D1","\\uparrow":"\u2191","\\unrhd":"\u22B5","\\unlhd":"\u22B4","\\twoheadrightarrow":"\u21A0","\\twoheadleftarrow":"\u219E","\\trianglerighteq":"\u22B5","\\triangleright":"\u25B7","\\triangleq":"\u225C","\\trianglelefteq":"\u22B4","\\triangleleft":"\u25C1","\\triangledown":"\u25BD","\\triangle":"\u25B3","\\top":"\u22A4","\\times":"\xD7","\\thicksim":"\u223C","\\thickapprox":"\u2248","\\Theta":"\u0398","\\theta":"\u03B8","\\therefore":"\u2234","\\tau":"\u03C4","\\swarrow":"\u2199","\\surd":"\u221A","\\supseteq":"\u2287","\\Supset":"\u22D1","\\supset":"\u2283","\\sum":"\u2211","\\succsim":"\u227F","\\succeq":"\u227D","\\succcurlyeq":"\u227D","\\succ":"\u227B","\\subseteq":"\u2286","\\Subset":"\u22D0","\\subset":"\u2282","\\star":"\u22C6","\\square":"\u25A1","\\sqsupseteq":"\u2292","\\sqsupset":"\u2290","\\sqsubseteq":"\u2291","\\sqsubset":"\u228F","\\sqcup":"\u2294","\\sqcap":"\u2293","\\sphericalangle":"\u2222","\\spadesuit":"\u2660","\\smile":"\u2323","\\smallsmile":"\u2323","\\smallsetminus":"\u2216","\\smallfrown":"\u2322","\\simeq":"\u2243","\\sim":"\u223C","\\sigma":"\u03C3","\\shortparallel":"\u2225","\\sharp":"\u266F","\\setminus":"\u2216","\\searrow":"\u2198","\\rtimes":"\u22C8","\\Rsh":"\u21B1","\\Rrightarrow":"\u21DB","\\risingdotseq":"\u2253","\\rightthreetimes":"\u22CC","\\rightsquigarrow":"\u21DD","\\rightrightarrows":"\u21C9","\\rightleftharpoons":"\u21CC","\\rightleftarrows":"\u21C4","\\rightharpoonup":"\u21C0","\\rightharpoondown":"\u21C1","\\rightarrowtail":"\u21A3","\\Rightarrow":"\u21D2","\\rightarrow":"\u2192","\\rho":"\u03C1","\\rhd":"\u22B3","\\rfloor":"\u230B","\\Re":"\u211C","\\rceil":"\u2309","\\Psi":"\u03A8","\\psi":"\u03C8","\\propto":"\u221D","\\prod":"\u220F","\\prime":"\u2032","\\precsim":"\u227E","\\preceq":"\u227C","\\preccurlyeq":"\u227C","\\prec":"\u227A","\\pm":"\xB1","\\Pi":"\u03A0","\\pi":"\u03C0","\\pitchfork":"\u22D4","\\Phi":"\u03A6","\\phi":"\u03D5","\\perp":"\u22A5","\\partial":"\u2202","\\parallel":"\u2225","\\otimes":"\u2297","\\oslash":"\u2298","\\oplus":"\u2295","\\ominus":"\u2296","\\Omega":"\u03A9","\\omega":"\u03C9","\\oint":"\u222E","\\odot":"\u2299","\\nwarrow":"\u2196","\\nu":"\u03BD","\\notin":"\u2209","\\ni":"\u220B","\\nexists":"\u2204","\\neq":"\u2260","\\neg":"\xAC","\\nearrow":"\u2197","\\natural":"\u266E","\\nabla":"\u2207","\\mu":"\u03BC","\\multimap":"\u22B8","\\mp":"\u2213","\\models":"\u22A8","\\mid":"\u2223","\\mho":"\u2127","\\measuredangle":"\u2221","\\mapsto":"\u21A6","\\ltimes":"\u22C9","\\Lsh":"\u21B0","\\lozenge":"\u25CA","\\looparrowright":"\u21AC","\\looparrowleft":"\u21AB","\\Longrightarrow":"\u21D2","\\longrightarrow":"\u2192","\\longmapsto":"\u21D6","\\Longleftrightarrow":"\u21D4","\\longleftrightarrow":"\u2194","\\Longleftarrow":"\u21D0","\\longleftarrow":"\u2190","\\lll":"\u22D8","\\Lleftarrow":"\u21DA","\\ll":"\u226A","\\lhd":"\u22B2","\\lfloor":"\u230A","\\lesssim":"\u2272","\\lessgtr":"\u2276","\\lesseqgtr":"\u22DA","\\lessdot":"\u22D6","\\leqslant":"\u2264","\\leqq":"\u2266","\\leq":"\u2264","\\leftthreetimes":"\u22CB","\\leftrightsquigarrow":"\u21AD","\\leftrightharpoons":"\u21CB","\\leftrightarrows":"\u21C6","\\Leftrightarrow":"\u21D4","\\leftrightarrow":"\u2194","\\leftleftarrows":"\u21C7","\\leftharpoonup":"\u21BC","\\leftharpoondown":"\u21BD","\\leftarrowtail":"\u21A2","\\Leftarrow":"\u21D0","\\leftarrow":"\u2190","\\leadsto":"\u219D","\\le":"\u2264","\\lceil":"\u2308","\\Lambda":"\u039B","\\lambda":"\u03BB","\\kappa":"\u03BA","\\Join":"\u22C8","\\iota":"\u03B9","\\intercal":"\u22BA","\\int":"\u222B","\\infty":"\u221E","\\in":"\u2208","\\implies":"\u21D2","\\Im":"\u2111","\\hslash":"\u210F","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\heartsuit":"\u2661","\\hbar":"\u210F","\\gtrsim":"\u2273","\\gtrless":"\u2277","\\gtreqless":"\u22DB","\\gtrdot":"\u22D7","\\gimel":"\u05D2","\\ggg":"\u22D9","\\gg":"\u226B","\\geqq":"\u2267","\\geq":"\u2265","\\ge":"\u2265","\\Gamma":"\u0393","\\gamma":"\u03B3","\\frown":"\u2322","\\forall":"\u2200","\\flat":"\u266D","\\Finv":"\u2132","\\fallingdotseq":"\u2252","\\exists":"\u2203","\\eth":"\xF0","\\eta":"\u03B7","\\equiv":"\u2261","\\eqcirc":"\u2256","\\epsilon":"\u220A","\\emptyset":"\u2205","\\ell":"\u2113","\\downharpoonright":"\u21C2","\\downharpoonleft":"\u21C3","\\downdownarrows":"\u21CA","\\Downarrow":"\u21D3","\\downarrow":"\u2193","\\dots":"\u2026","\\dotplus":"\u2214","\\doteqdot":"\u2251","\\doteq":"\u2250","\\divideontimes":"\u22C7","\\div":"\xF7","\\digamma":"\u03DC","\\diamondsuit":"\u2662","\\Diamond":"\u25C7","\\diamond":"\u22C4","\\Delta":"\u0394","\\delta":"\u03B4","\\ddots":"\u22F1","\\ddagger":"\u2021","\\dashv":"\u22A3","\\dashrightarrow":"\u21E2","\\dashleftarrow":"\u21E0","\\daleth":"\u05D3","\\dagger":"\u2020","\\curvearrowright":"\u21B7","\\curvearrowleft":"\u21B6","\\curlywedge":"\u22CF","\\curlyvee":"\u22CE","\\curlyeqsucc":"\u22DF","\\curlyeqprec":"\u22DE","\\Cup":"\u22D3","\\cup":"\u222A","\\coprod":"\u2210","\\cong":"\u2245","\\complement":"\u2201","\\clubsuit":"\u2663","\\circledS":"\u24C8","\\circleddash":"\u229D","\\circledcirc":"\u229A","\\circledast":"\u229B","\\circlearrowright":"\u21BB","\\circlearrowleft":"\u21BA","\\circeq":"\u2257","\\circ":"\u2218","\\chi":"\u03C7","\\centerdot":"\u22C5","\\cdots":"\u22EF","\\cdot":"\u22C5","\\Cap":"\u22D2","\\cap":"\u2229","\\Bumpeq":"\u224E","\\bumpeq":"\u224F","\\bullet":"\u2219","\\boxtimes":"\u22A0","\\boxplus":"\u229E","\\boxminus":"\u229F","\\boxdot":"\u22A1","\\Box":"\u25A1","\\bowtie":"\u22C8","\\bot":"\u22A5","\\blacktriangleright":"\u25B7","\\blacktriangleleft":"\u25C0","\\blacktriangledown":"\u25BC","\\blacktriangle":"\u25B2","\\blacksquare":"\u25A0","\\blacklozenge":"\u25C6","\\bigwedge":"\u22C0","\\bigvee":"\u22C1","\\biguplus":"\u228E","\\bigtriangleup":"\u25B3","\\bigtriangledown":"\u25BD","\\bigstar":"\u2605","\\bigsqcup":"\u2294","\\bigotimes":"\u2297","\\bigoplus":"\u2295","\\bigodot":"\u2299","\\bigcup":"\u22C3","\\bigcirc":"\u25CB","\\bigcap":"\u22C2","\\between":"\u226C","\\beth":"\u05D1","\\beta":"\u03B2","\\because":"\u2235","\\barwedge":"\u22BC","\\backsim":"\u223D","\\backprime":"\u2035","\\backepsilon":"\u220D","\\asymp":"\u224D","\\ast":"\u2217","\\approxeq":"\u224A","\\approx":"\u2248","\\angle":"\u2220","\\alpha":"\u03B1","\\aleph":"\u05D0"}});var tg=J((jO,mE)=>{mE.exports={A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}","0":"\u{1D7D8}","1":"\u{1D7D9}","2":"\u{1D7DA}","3":"\u{1D7DB}","4":"\u{1D7DC}","5":"\u{1D7DD}","6":"\u{1D7DE}","7":"\u{1D7DF}","8":"\u{1D7E0}","9":"\u{1D7E1}"}});var rg=J((MO,yE)=>{yE.exports={A:"\u{1D400}",B:"\u{1D401}",C:"\u{1D402}",D:"\u{1D403}",E:"\u{1D404}",F:"\u{1D405}",G:"\u{1D406}",H:"\u{1D407}",I:"\u{1D408}",J:"\u{1D409}",K:"\u{1D40A}",L:"\u{1D40B}",M:"\u{1D40C}",N:"\u{1D40D}",O:"\u{1D40E}",P:"\u{1D40F}",Q:"\u{1D410}",R:"\u{1D411}",S:"\u{1D412}",T:"\u{1D413}",U:"\u{1D414}",V:"\u{1D415}",W:"\u{1D416}",X:"\u{1D417}",Y:"\u{1D418}",Z:"\u{1D419}",a:"\u{1D41A}",b:"\u{1D41B}",c:"\u{1D41C}",d:"\u{1D41D}",e:"\u{1D41E}",f:"\u{1D41F}",g:"\u{1D420}",h:"\u{1D421}",i:"\u{1D422}",j:"\u{1D423}",k:"\u{1D424}",l:"\u{1D425}",m:"\u{1D426}",n:"\u{1D427}",o:"\u{1D428}",p:"\u{1D429}",q:"\u{1D42A}",r:"\u{1D42B}",s:"\u{1D42C}",t:"\u{1D42D}",u:"\u{1D42E}",v:"\u{1D42F}",w:"\u{1D430}",x:"\u{1D431}",y:"\u{1D432}",z:"\u{1D433}",\u0391:"\u{1D6A8}",\u0392:"\u{1D6A9}",\u0393:"\u{1D6AA}",\u0394:"\u{1D6AB}",\u0395:"\u{1D6AC}",\u0396:"\u{1D6AD}",\u0397:"\u{1D6AE}",\u0398:"\u{1D6AF}",\u0399:"\u{1D6B0}",\u039A:"\u{1D6B1}",\u039B:"\u{1D6B2}",\u039C:"\u{1D6B3}",\u039D:"\u{1D6B4}",\u039E:"\u{1D6B5}",\u039F:"\u{1D6B6}",\u03A0:"\u{1D6B7}",\u03A1:"\u{1D6B8}","\u03F4":"\u{1D6B9}",\u03A3:"\u{1D6BA}",\u03A4:"\u{1D6BB}",\u03A5:"\u{1D6BC}",\u03A6:"\u{1D6BD}",\u03A7:"\u{1D6BE}",\u03A8:"\u{1D6BF}",\u03A9:"\u{1D6C0}","\u2207":"\u{1D6C1}",\u03B1:"\u{1D6C2}",\u03B2:"\u{1D6C3}",\u03B3:"\u{1D6C4}",\u03B4:"\u{1D6C5}",\u03B5:"\u{1D6C6}",\u03B6:"\u{1D6C7}",\u03B7:"\u{1D6C8}",\u03B8:"\u{1D6C9}",\u03B9:"\u{1D6CA}",\u03BA:"\u{1D6CB}",\u03BB:"\u{1D6CC}",\u03BC:"\u{1D6CD}",\u03BD:"\u{1D6CE}",\u03BE:"\u{1D6CF}",\u03BF:"\u{1D6D0}",\u03C0:"\u{1D6D1}",\u03C1:"\u{1D6D2}",\u03C2:"\u{1D6D3}",\u03C3:"\u{1D6D4}",\u03C4:"\u{1D6D5}",\u03C5:"\u{1D6D6}",\u03C6:"\u{1D6D7}",\u03C7:"\u{1D6D8}",\u03C8:"\u{1D6D9}",\u03C9:"\u{1D6DA}","\u2202":"\u{1D6DB}","\u03F5":"\u{1D6DC}",\u03D1:"\u{1D6DD}",\u03F0:"\u{1D6DE}",\u03D5:"\u{1D6DF}",\u03F1:"\u{1D6E0}",\u03D6:"\u{1D6E1}","0":"\u{1D7CE}","1":"\u{1D7CF}","2":"\u{1D7D0}","3":"\u{1D7D1}","4":"\u{1D7D2}","5":"\u{1D7D3}","6":"\u{1D7D4}","7":"\u{1D7D5}","8":"\u{1D7D6}","9":"\u{1D7D7}"}});var ng=J((UO,_E)=>{_E.exports={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}",a:"\u{1D4EA}",b:"\u{1D4EB}",c:"\u{1D4EC}",d:"\u{1D4ED}",e:"\u{1D4EE}",f:"\u{1D4EF}",g:"\u{1D4F0}",h:"\u{1D4F1}",i:"\u{1D4F2}",j:"\u{1D4F3}",k:"\u{1D4F4}",l:"\u{1D4F5}",m:"\u{1D4F6}",n:"\u{1D4F7}",o:"\u{1D4F8}",p:"\u{1D4F9}",q:"\u{1D4FA}",r:"\u{1D4FB}",s:"\u{1D4FC}",t:"\u{1D4FD}",u:"\u{1D4FE}",v:"\u{1D4FF}",w:"\u{1D500}",x:"\u{1D501}",y:"\u{1D502}",z:"\u{1D503}"}});var og=J((LO,bE)=>{bE.exports={A:"\u{1D504}",B:"\u{1D505}",C:"\u212D",D:"\u{1D507}",E:"\u{1D508}",F:"\u{1D509}",G:"\u{1D50A}",H:"\u210C",I:"\u2111",J:"\u{1D50D}",K:"\u{1D50E}",L:"\u{1D50F}",M:"\u{1D510}",N:"\u{1D511}",O:"\u{1D512}",P:"\u{1D513}",Q:"\u{1D514}",R:"\u211C",S:"\u{1D516}",T:"\u{1D517}",U:"\u{1D518}",V:"\u{1D519}",W:"\u{1D51A}",X:"\u{1D51B}",Y:"\u{1D51C}",Z:"\u2128",a:"\u{1D51E}",b:"\u{1D51F}",c:"\u{1D520}",d:"\u{1D521}",e:"\u{1D522}",f:"\u{1D523}",g:"\u{1D524}",h:"\u{1D525}",i:"\u{1D526}",j:"\u{1D527}",k:"\u{1D528}",l:"\u{1D529}",m:"\u{1D52A}",n:"\u{1D52B}",o:"\u{1D52C}",p:"\u{1D52D}",q:"\u{1D52E}",r:"\u{1D52F}",s:"\u{1D530}",t:"\u{1D531}",u:"\u{1D532}",v:"\u{1D533}",w:"\u{1D534}",x:"\u{1D535}",y:"\u{1D536}",z:"\u{1D537}"}});var sg=J((qO,CE)=>{CE.exports={A:"\u{1D434}",B:"\u{1D435}",C:"\u{1D436}",D:"\u{1D437}",E:"\u{1D438}",F:"\u{1D439}",G:"\u{1D43A}",H:"\u{1D43B}",I:"\u{1D43C}",J:"\u{1D43D}",K:"\u{1D43E}",L:"\u{1D43F}",M:"\u{1D440}",N:"\u{1D441}",O:"\u{1D442}",P:"\u{1D443}",Q:"\u{1D444}",R:"\u{1D445}",S:"\u{1D446}",T:"\u{1D447}",U:"\u{1D448}",V:"\u{1D449}",W:"\u{1D44A}",X:"\u{1D44B}",Y:"\u{1D44C}",Z:"\u{1D44D}",a:"\u{1D44E}",b:"\u{1D44F}",c:"\u{1D450}",d:"\u{1D451}",e:"\u{1D452}",f:"\u{1D453}",g:"\u{1D454}",h:"\u210E",i:"\u{1D456}",j:"\u{1D457}",k:"\u{1D458}",l:"\u{1D459}",m:"\u{1D45A}",n:"\u{1D45B}",o:"\u{1D45C}",p:"\u{1D45D}",q:"\u{1D45E}",r:"\u{1D45F}",s:"\u{1D460}",t:"\u{1D461}",u:"\u{1D462}",v:"\u{1D463}",w:"\u{1D464}",x:"\u{1D465}",y:"\u{1D466}",z:"\u{1D467}",\u0391:"\u{1D6E2}",\u0392:"\u{1D6E3}",\u0393:"\u{1D6E4}",\u0394:"\u{1D6E5}",\u0395:"\u{1D6E6}",\u0396:"\u{1D6E7}",\u0397:"\u{1D6E8}",\u0398:"\u{1D6E9}",\u0399:"\u{1D6EA}",\u039A:"\u{1D6EB}",\u039B:"\u{1D6EC}",\u039C:"\u{1D6ED}",\u039D:"\u{1D6EE}",\u039E:"\u{1D6EF}",\u039F:"\u{1D6F0}",\u03A0:"\u{1D6F1}",\u03A1:"\u{1D6F2}","\u03F4":"\u{1D6F3}",\u03A3:"\u{1D6F4}",\u03A4:"\u{1D6F5}",\u03A5:"\u{1D6F6}",\u03A6:"\u{1D6F7}",\u03A7:"\u{1D6F8}",\u03A8:"\u{1D6F9}",\u03A9:"\u{1D6FA}","\u2207":"\u{1D6FB}",\u03B1:"\u{1D6FC}",\u03B2:"\u{1D6FD}",\u03B3:"\u{1D6FE}",\u03B4:"\u{1D6FF}",\u03B5:"\u{1D700}",\u03B6:"\u{1D701}",\u03B7:"\u{1D702}",\u03B8:"\u{1D703}",\u03B9:"\u{1D704}",\u03BA:"\u{1D705}",\u03BB:"\u{1D706}",\u03BC:"\u{1D707}",\u03BD:"\u{1D708}",\u03BE:"\u{1D709}",\u03BF:"\u{1D70A}",\u03C0:"\u{1D70B}",\u03C1:"\u{1D70C}",\u03C2:"\u{1D70D}",\u03C3:"\u{1D70E}",\u03C4:"\u{1D70F}",\u03C5:"\u{1D710}",\u03C6:"\u{1D711}",\u03C7:"\u{1D712}",\u03C8:"\u{1D713}",\u03C9:"\u{1D714}","\u2202":"\u{1D715}","\u03F5":"\u{1D716}",\u03D1:"\u{1D717}",\u03F0:"\u{1D718}",\u03D5:"\u{1D719}",\u03F1:"\u{1D71A}",\u03D6:"\u{1D71B}"}});var ig=J(($O,wE)=>{wE.exports={A:"\u{1D670}",B:"\u{1D671}",C:"\u{1D672}",D:"\u{1D673}",E:"\u{1D674}",F:"\u{1D675}",G:"\u{1D676}",H:"\u{1D677}",I:"\u{1D678}",J:"\u{1D679}",K:"\u{1D67A}",L:"\u{1D67B}",M:"\u{1D67C}",N:"\u{1D67D}",O:"\u{1D67E}",P:"\u{1D67F}",Q:"\u{1D680}",R:"\u{1D681}",S:"\u{1D682}",T:"\u{1D683}",U:"\u{1D684}",V:"\u{1D685}",W:"\u{1D686}",X:"\u{1D687}",Y:"\u{1D688}",Z:"\u{1D689}",a:"\u{1D68A}",b:"\u{1D68B}",c:"\u{1D68C}",d:"\u{1D68D}",e:"\u{1D68E}",f:"\u{1D68F}",g:"\u{1D690}",h:"\u{1D691}",i:"\u{1D692}",j:"\u{1D693}",k:"\u{1D694}",l:"\u{1D695}",m:"\u{1D696}",n:"\u{1D697}",o:"\u{1D698}",p:"\u{1D699}",q:"\u{1D69A}",r:"\u{1D69B}",s:"\u{1D69C}",t:"\u{1D69D}",u:"\u{1D69E}",v:"\u{1D69F}",w:"\u{1D6A0}",x:"\u{1D6A1}",y:"\u{1D6A2}",z:"\u{1D6A3}","0":"\u{1D7F6}","1":"\u{1D7F7}","2":"\u{1D7F8}","3":"\u{1D7F9}","4":"\u{1D7FA}","5":"\u{1D7FB}","6":"\u{1D7FC}","7":"\u{1D7FD}","8":"\u{1D7FE}","9":"\u{1D7FF}"}});var lg=J((zO,cg)=>{var EE=Qp(),kE=Zp(),ag=eg(),SE=tg(),AE=rg(),TE=ng(),DE=og(),vE=sg(),RE=ig(),ug=function(t,e){return t[e]!==void 0?t[e]:e};function Vr(t,e,r){t=t.replace(e,"^");var n="",o="normal",s,a;for(s=0;s<t.length;s++){if(a=t[s],o==="normal"&&a==="^"){o="modified";continue}else if(o==="modified"&&a==="{"){o="long";continue}else if(o==="modified"){n+=ug(r,a),o="normal";continue}else if(o==="long"&&a==="}"){o="normal";continue}o==="normal"?n+=a:n+=ug(r,a)}return n}cg.exports=function(t){return Object.keys(ag).forEach(function(e){var r=ag[e];t=t.replace(e,r)}),t=Vr(t,"^",kE),t=Vr(t,"_",EE),t=Vr(t,"\\bb",SE),t=Vr(t,"\\bf",AE),t=Vr(t,"\\it",vE),t=Vr(t,"\\cal",TE),t=Vr(t,"\\frak",DE),t=Vr(t,"\\mono",RE),t}});var Zc=J((QO,bg)=>{"use strict";var Mi=Object.prototype.hasOwnProperty,_g=Object.prototype.toString,dg=Object.defineProperty,hg=Object.getOwnPropertyDescriptor,pg=function(e){return typeof Array.isArray=="function"?Array.isArray(e):_g.call(e)==="[object Array]"},gg=function(e){if(!e||_g.call(e)!=="[object Object]")return!1;var r=Mi.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&Mi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||Mi.call(e,o)},mg=function(e,r){dg&&r.name==="__proto__"?dg(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},yg=function(e,r){if(r==="__proto__")if(Mi.call(e,r)){if(hg)return hg(e,r).value}else return;return e[r]};bg.exports=function t(){var e,r,n,o,s,a,u=arguments[0],c=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},c=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});c<f;++c)if(e=arguments[c],e!=null)for(r in e)n=yg(u,r),o=yg(e,r),u!==o&&(d&&o&&(gg(o)||(s=pg(o)))?(s?(s=!1,a=n&&pg(n)?n:[]):a=n&&gg(n)?n:{},mg(u,{name:r,newValue:t(d,a,o)})):typeof o<"u"&&mg(u,{name:r,newValue:o}));return u}});var Cg=J((ZO,FE)=>{FE.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 Eg=J((eF,wg)=>{"use strict";var PE=Cg();wg.exports={pkg:PE}});var rl=J(Rt=>{"use strict";var Sg=Rt&&Rt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rt,"__esModule",{value:!0});Rt.GaxiosError=Rt.GAXIOS_ERROR_SYMBOL=void 0;Rt.defaultErrorRedactor=Ag;var kg=Sg(Zc()),IE=Sg(Eg()),el=IE.default.pkg;Rt.GAXIOS_ERROR_SYMBOL=Symbol.for(`${el.name}-gaxios-error`);var tl=class t extends Error{config;response;code;status;error;[Rt.GAXIOS_ERROR_SYMBOL]=el.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Rt.GAXIOS_ERROR_SYMBOL in e&&e[Rt.GAXIOS_ERROR_SYMBOL]===el.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,kg.default)(!0,{},r),this.response&&(this.response.config=(0,kg.default)(!0,{},this.response.config)),this.response){try{this.response.data=NE(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 u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.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}}};Rt.GaxiosError=tl;function NE(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 Ag(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(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,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,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&&(Ag({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var Dg=J(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.getRetryConfig=BE;async function BE(t){let e=Tg(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||jE)(t))return{shouldRetry:!1,config:t.config};let o=ME(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 jE(t){let e=Tg(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 Tg(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function ME(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 sl=J(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.GaxiosInterceptorManager=void 0;var ol=class extends Set{};Ui.GaxiosInterceptorManager=ol});var Rg=J((oF,vg)=>{var ro=1e3,no=ro*60,oo=no*60,Sn=oo*24,UE=Sn*7,LE=Sn*365.25;vg.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return qE(t);if(r==="number"&&isFinite(t))return e.long?zE(t):$E(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function qE(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*LE;case"weeks":case"week":case"w":return r*UE;case"days":case"day":case"d":return r*Sn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*oo;case"minutes":case"minute":case"mins":case"min":case"m":return r*no;case"seconds":case"second":case"secs":case"sec":case"s":return r*ro;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $E(t){var e=Math.abs(t);return e>=Sn?Math.round(t/Sn)+"d":e>=oo?Math.round(t/oo)+"h":e>=no?Math.round(t/no)+"m":e>=ro?Math.round(t/ro)+"s":t+"ms"}function zE(t){var e=Math.abs(t);return e>=Sn?Li(t,e,Sn,"day"):e>=oo?Li(t,e,oo,"hour"):e>=no?Li(t,e,no,"minute"):e>=ro?Li(t,e,ro,"second"):t+" ms"}function Li(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var il=J((sF,xg)=>{function HE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=o,r.enabled=u,r.humanize=Rg(),r.destroy=f,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let p=0;for(let y=0;y<d.length;y++)p=(p<<5)-p+d.charCodeAt(y),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(d){let p,y=null,A,g;function _(...b){if(!_.enabled)return;let m=_,v=Number(new Date),k=v-(p||v);m.diff=k,m.prev=p,m.curr=v,p=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let w=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(O,N)=>{if(O==="%%")return"%";w++;let G=r.formatters[N];if(typeof G=="function"){let $=b[w];O=G.call(m,$),b.splice(w,1),w--}return O}),r.formatArgs.call(m,b),(m.log||r.log).apply(m,b)}return _.namespace=d,_.useColors=r.useColors(),_.color=r.selectColor(d),_.extend=n,_.destroy=r.destroy,Object.defineProperty(_,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(A!==r.namespaces&&(A=r.namespaces,g=r.enabled(d)),g),set:b=>{y=b}}),typeof r.init=="function"&&r.init(_),_}function n(d,p){let y=r(this.namespace+(typeof p>"u"?":":p)+d);return y.log=this.log,y}function o(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let p=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of p)y[0]==="-"?r.skips.push(y.slice(1)):r.names.push(y)}function s(d,p){let y=0,A=0,g=-1,_=0;for(;y<d.length;)if(A<p.length&&(p[A]===d[y]||p[A]==="*"))p[A]==="*"?(g=A,_=y,A++):(y++,A++);else if(g!==-1)A=g+1,_++,y=_;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let d=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),d}function u(d){for(let p of r.skips)if(s(d,p))return!1;for(let p of r.names)if(s(d,p))return!0;return!1}function c(d){return d instanceof Error?d.stack||d.message:d}function f(){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}xg.exports=HE});var Og=J((lt,qi)=>{lt.formatArgs=GE;lt.save=JE;lt.load=VE;lt.useColors=WE;lt.storage=KE();lt.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`."))}})();lt.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 WE(){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 GE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+qi.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)}lt.log=console.debug||console.log||(()=>{});function JE(t){try{t?lt.storage.setItem("debug",t):lt.storage.removeItem("debug")}catch{}}function VE(){let t;try{t=lt.storage.getItem("debug")||lt.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function KE(){try{return localStorage}catch{}}qi.exports=il()(lt);var{formatters:YE}=qi.exports;YE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Pg=J((iF,Fg)=>{"use strict";Fg.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 Bg=J((aF,Ng)=>{"use strict";var XE=require("os"),Ig=require("tty"),xt=Pg(),{env:Ke}=process,Kr;xt("no-color")||xt("no-colors")||xt("color=false")||xt("color=never")?Kr=0:(xt("color")||xt("colors")||xt("color=true")||xt("color=always"))&&(Kr=1);"FORCE_COLOR"in Ke&&(Ke.FORCE_COLOR==="true"?Kr=1:Ke.FORCE_COLOR==="false"?Kr=0:Kr=Ke.FORCE_COLOR.length===0?1:Math.min(parseInt(Ke.FORCE_COLOR,10),3));function al(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ul(t,e){if(Kr===0)return 0;if(xt("color=16m")||xt("color=full")||xt("color=truecolor"))return 3;if(xt("color=256"))return 2;if(t&&!e&&Kr===void 0)return 0;let r=Kr||0;if(Ke.TERM==="dumb")return r;if(process.platform==="win32"){let n=XE.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in Ke)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in Ke)||Ke.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ke)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ke.TEAMCITY_VERSION)?1:0;if(Ke.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ke){let n=parseInt((Ke.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ke.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ke.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ke.TERM)||"COLORTERM"in Ke?1:r}function QE(t){let e=ul(t,t&&t.isTTY);return al(e)}Ng.exports={supportsColor:QE,stdout:al(ul(!0,Ig.isatty(1))),stderr:al(ul(!0,Ig.isatty(2)))}});var Mg=J((Ye,zi)=>{var ZE=require("tty"),$i=require("util");Ye.init=ik;Ye.log=nk;Ye.formatArgs=tk;Ye.save=ok;Ye.load=sk;Ye.useColors=ek;Ye.destroy=$i.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ye.colors=[6,2,3,4,5,1];try{let t=Bg();t&&(t.stderr||t).level>=2&&(Ye.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{}Ye.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 ek(){return"colors"in Ye.inspectOpts?!!Ye.inspectOpts.colors:ZE.isatty(process.stderr.fd)}function tk(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(`
16
16
  `).join(`
17
- `+s),t.push(o+"m+"+ji.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=wk()+e+" "+t[0]}function wk(){return Je.inspectOpts.hideDate?"":new Date().toISOString()+" "}function kk(...t){return process.stderr.write(Bi.formatWithOptions(Je.inspectOpts,...t)+`
18
- `)}function Sk(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Ek(){return process.env.DEBUG}function Ak(t){t.inspectOpts={};let e=Object.keys(Je.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Je.inspectOpts[e[r]]}ji.exports=Kc()(Je);var{formatters:yg}=ji.exports;yg.o=function(t){return this.inspectOpts.colors=this.useColors,Bi.inspect(t,this.inspectOpts).split(`
19
- `).map(e=>e.trim()).join(" ")};yg.O=function(t){return this.inspectOpts.colors=this.useColors,Bi.inspect(t,this.inspectOpts)}});var Zc=V((uO,Qc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Qc.exports=fg():Qc.exports=_g()});var wg=V(ut=>{"use strict";var Tk=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]})),Dk=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),bg=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)&&Tk(e,t,r);return Dk(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var vk=bg(require("http")),Rk=bg(require("https"));async function Cg(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ut.toBuffer=Cg;async function xk(t){let r=(await Cg(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ut.json=xk;function Ok(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Rk:vk).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=Ok});var Ag=V(pt=>{"use strict";var Sg=pt&&pt.__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]})),Fk=pt&&pt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Eg=pt&&pt.__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)&&Sg(e,t,r);return Fk(e,t),e},Pk=pt&&pt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Sg(e,t,r)};Object.defineProperty(pt,"__esModule",{value:!0});pt.Agent=void 0;var Ik=Eg(require("net")),kg=Eg(require("http")),Nk=require("https");Pk(wg(),pt);var Qt=Symbol("AgentBaseInternalState"),el=class extends kg.Agent{constructor(e){super(e),this[Qt]={}}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 Ik.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)?Nk.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(u=>{if(this.decrementSockets(s,a),u instanceof kg.Agent)try{return u.addRequest(e,o)}catch(l){return n(l)}this[Qt].currentSocket=u,super.createSocket(e,r,n)},u=>{this.decrementSockets(s,a),n(u)})}createConnection(){let e=this[Qt].currentSocket;if(this[Qt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qt]&&(this[Qt].defaultPort=e)}get protocol(){return this[Qt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qt]&&(this[Qt].protocol=e)}};pt.Agent=el});var Tg=V(eo=>{"use strict";var Bk=eo&&eo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eo,"__esModule",{value:!0});eo.parseProxyResponse=void 0;var jk=Bk(Zc()),Mi=(0,jk.default)("https-proxy-agent:parse-proxy-response");function Mk(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",l),t.removeListener("readable",s)}function u(){a(),Mi("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(d){a(),Mi("onerror %o",d),r(d)}function f(d){o.push(d),n+=d.length;let p=Buffer.concat(o,n),y=p.indexOf(`\r
17
+ `+s),t.push(o+"m+"+zi.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=rk()+e+" "+t[0]}function rk(){return Ye.inspectOpts.hideDate?"":new Date().toISOString()+" "}function nk(...t){return process.stderr.write($i.formatWithOptions(Ye.inspectOpts,...t)+`
18
+ `)}function ok(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function sk(){return process.env.DEBUG}function ik(t){t.inspectOpts={};let e=Object.keys(Ye.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ye.inspectOpts[e[r]]}zi.exports=il()(Ye);var{formatters:jg}=zi.exports;jg.o=function(t){return this.inspectOpts.colors=this.useColors,$i.inspect(t,this.inspectOpts).split(`
19
+ `).map(e=>e.trim()).join(" ")};jg.O=function(t){return this.inspectOpts.colors=this.useColors,$i.inspect(t,this.inspectOpts)}});var ll=J((uF,cl)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?cl.exports=Og():cl.exports=Mg()});var qg=J(ft=>{"use strict";var ak=ft&&ft.__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]})),uk=ft&&ft.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ug=ft&&ft.__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)&&ak(e,t,r);return uk(e,t),e};Object.defineProperty(ft,"__esModule",{value:!0});ft.req=ft.json=ft.toBuffer=void 0;var ck=Ug(require("http")),lk=Ug(require("https"));async function Lg(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ft.toBuffer=Lg;async function fk(t){let r=(await Lg(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ft.json=fk;function dk(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?lk:ck).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ft.req=dk});var Wg=J(mt=>{"use strict";var zg=mt&&mt.__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]})),hk=mt&&mt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Hg=mt&&mt.__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)&&zg(e,t,r);return hk(e,t),e},pk=mt&&mt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zg(e,t,r)};Object.defineProperty(mt,"__esModule",{value:!0});mt.Agent=void 0;var gk=Hg(require("net")),$g=Hg(require("http")),mk=require("https");pk(qg(),mt);var er=Symbol("AgentBaseInternalState"),fl=class extends $g.Agent{constructor(e){super(e),this[er]={}}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 gk.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)?mk.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(u=>{if(this.decrementSockets(s,a),u instanceof $g.Agent)try{return u.addRequest(e,o)}catch(c){return n(c)}this[er].currentSocket=u,super.createSocket(e,r,n)},u=>{this.decrementSockets(s,a),n(u)})}createConnection(){let e=this[er].currentSocket;if(this[er].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[er].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[er]&&(this[er].defaultPort=e)}get protocol(){return this[er].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[er]&&(this[er].protocol=e)}};mt.Agent=fl});var Gg=J(so=>{"use strict";var yk=so&&so.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(so,"__esModule",{value:!0});so.parseProxyResponse=void 0;var _k=yk(ll()),Hi=(0,_k.default)("https-proxy-agent:parse-proxy-response");function bk(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",c),t.removeListener("readable",s)}function u(){a(),Hi("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function c(d){a(),Hi("onerror %o",d),r(d)}function f(d){o.push(d),n+=d.length;let p=Buffer.concat(o,n),y=p.indexOf(`\r
21
21
  \r
22
- `);if(y===-1){Mi("have not received end of HTTP headers yet..."),s();return}let A=p.slice(0,y).toString("ascii").split(`\r
23
- `),g=A.shift();if(!g)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let C=g.split(" "),b=+C[1],m=C.slice(2).join(" "),v={};for(let k of A){if(!k)continue;let S=k.indexOf(":");if(S===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${k}"`));let T=k.slice(0,S).toLowerCase(),O=k.slice(S+1).trimStart(),N=v[T];typeof N=="string"?v[T]=[N,O]:Array.isArray(N)?N.push(O):v[T]=O}Mi("got proxy server response: %o %o",g,v),a(),e({connect:{statusCode:b,statusText:m,headers:v},buffered:p})}t.on("error",l),t.on("end",u),s()})}eo.parseProxyResponse=Mk});var Fg=V(Rt=>{"use strict";var Uk=Rt&&Rt.__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]})),Lk=Rt&&Rt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xg=Rt&&Rt.__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)&&Uk(e,t,r);return Lk(e,t),e},Og=Rt&&Rt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rt,"__esModule",{value:!0});Rt.HttpsProxyAgent=void 0;var Ui=xg(require("net")),Dg=xg(require("tls")),qk=Og(require("assert")),$k=Og(Zc()),zk=Ag(),Hk=require("url"),Wk=Tg(),Go=(0,$k.default)("https-proxy-agent"),vg=t=>t.servername===void 0&&t.host&&!Ui.isIP(t.host)?{...t,servername:t.host}:t,Li=class extends zk.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Hk.URL(e):e,this.proxyHeaders=r?.headers??{},Go("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?Rg(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:"?(Go("Creating `tls.Socket`: %o",this.connectOpts),o=Dg.connect(vg(this.connectOpts))):(Go("Creating `net.Socket`: %o",this.connectOpts),o=Ui.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ui.isIPv6(r.host)?`[${r.host}]`:r.host,u=`CONNECT ${a}:${r.port} HTTP/1.1\r
22
+ `);if(y===-1){Hi("have not received end of HTTP headers yet..."),s();return}let A=p.slice(0,y).toString("ascii").split(`\r
23
+ `),g=A.shift();if(!g)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let _=g.split(" "),b=+_[1],m=_.slice(2).join(" "),v={};for(let k of A){if(!k)continue;let w=k.indexOf(":");if(w===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${k}"`));let T=k.slice(0,w).toLowerCase(),O=k.slice(w+1).trimStart(),N=v[T];typeof N=="string"?v[T]=[N,O]:Array.isArray(N)?N.push(O):v[T]=O}Hi("got proxy server response: %o %o",g,v),a(),e({connect:{statusCode:b,statusText:m,headers:v},buffered:p})}t.on("error",c),t.on("end",u),s()})}so.parseProxyResponse=bk});var Qg=J(Ot=>{"use strict";var Ck=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]})),wk=Ot&&Ot.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Yg=Ot&&Ot.__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)&&Ck(e,t,r);return wk(e,t),e},Xg=Ot&&Ot.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ot,"__esModule",{value:!0});Ot.HttpsProxyAgent=void 0;var Wi=Yg(require("net")),Jg=Yg(require("tls")),Ek=Xg(require("assert")),kk=Xg(ll()),Sk=Wg(),Ak=require("url"),Tk=Gg(),Qo=(0,kk.default)("https-proxy-agent"),Vg=t=>t.servername===void 0&&t.host&&!Wi.isIP(t.host)?{...t,servername:t.host}:t,Gi=class extends Sk.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Ak.URL(e):e,this.proxyHeaders=r?.headers??{},Qo("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?Kg(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:"?(Qo("Creating `tls.Socket`: %o",this.connectOpts),o=Jg.connect(Vg(this.connectOpts))):(Qo("Creating `net.Socket`: %o",this.connectOpts),o=Wi.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Wi.isIPv6(r.host)?`[${r.host}]`:r.host,u=`CONNECT ${a}:${r.port} HTTP/1.1\r
24
24
  `;if(n.username||n.password){let y=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(y).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let y of Object.keys(s))u+=`${y}: ${s[y]}\r
25
- `;let l=(0,Wk.parseProxyResponse)(o);o.write(`${u}\r
26
- `);let{connect:f,buffered:d}=await l;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",Gk),r.secureEndpoint?(Go("Upgrading socket connection to TLS"),Dg.connect({...Rg(vg(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Ui.Socket({writable:!1});return p.readable=!0,e.once("socket",y=>{Go("Replaying proxy buffer for failed request"),(0,qk.default)(y.listenerCount("data")>0),y.push(d),y.push(null)}),p}};Li.protocols=["http","https"];Rt.HttpsProxyAgent=Li;function Gk(t){t.resume()}function Rg(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function Jk(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 d=1;d<r.length;d++)r[d]==="base64"?o=!0:r[d]&&(a+=`;${r[d]}`,r[d].indexOf("charset=")===0&&(n=r[d].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),f=Buffer.from(l,u);return f.type=s,f.typeFull=a,f.charset=n,f}var Pg,Ig=Me(()=>{Pg=Jk});var Bg=V((qi,Ng)=>{(function(t,e){typeof qi=="object"&&typeof Ng<"u"?e(qi):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(qi,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,c){try{Object.defineProperty(i,"name",{value:c,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function l(i){return new s(i)}function f(i){return l(c=>c(i))}function d(i){return u(i)}function p(i,c,h){return a.call(i,c,h)}function y(i,c,h){p(p(i,c,h),void 0,n)}function A(i,c){y(i,c)}function g(i,c){y(i,void 0,c)}function C(i,c,h){return p(i,c,h)}function b(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let c=f(void 0);m=h=>p(c,h)}return m(i)};function v(i,c,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,h)}function k(i,c,h){try{return f(v(i,c,h))}catch(w){return d(w)}}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(c){let h=this._back,w=h;h._elements.length===S-1&&(w={_elements:[],_next:void 0}),h._elements.push(c),w!==h&&(this._back=w,h._next=w),++this._size}shift(){let c=this._front,h=c,w=this._cursor,R=w+1,U=c._elements,$=U[w];return R===S&&(h=c._next,R=0),--this._size,this._cursor=R,c!==h&&(this._front=h),U[w]=void 0,$}forEach(c){let h=this._cursor,w=this._front,R=w._elements;for(;(h!==R.length||w._next!==void 0)&&!(h===R.length&&(w=w._next,R=w._elements,h=0,R.length===0));)c(R[h]),++h}peek(){let c=this._front,h=this._cursor;return c._elements[h]}}let O=Symbol("[[AbortSteps]]"),N=Symbol("[[ErrorSteps]]"),q=Symbol("[[CancelSteps]]"),z=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function X(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?Ce(i):c._state==="closed"?Z(i):ge(i,c._storedError)}function ue(i,c){let h=i._ownerReadableStream;return Mt(h,c)}function ne(i){let c=i._ownerReadableStream;c._state==="readable"?J(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")),c._readableStreamController[Y](),c._reader=void 0,i._ownerReadableStream=void 0}function he(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function Ce(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h})}function ge(i,c){Ce(i),J(i,c)}function Z(i){Ce(i),te(i)}function J(i,c){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,c){ge(i,c)}function te(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Ae=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Xe=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,c){if(i!==void 0&&!G(i))throw new TypeError(`${c} is not an object.`)}function pe(i,c){if(typeof i!="function")throw new TypeError(`${c} is not a function.`)}function ft(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Re(i,c){if(!ft(i))throw new TypeError(`${c} is not an object.`)}function Ne(i,c,h){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${h}'.`)}function _(i,c,h){if(i===void 0)throw new TypeError(`${c} is required in '${h}'.`)}function E(i){return Number(i)}function D(i){return i===0?0:i}function j(i){return D(Xe(i))}function F(i,c){let w=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=D(R),!Ae(R))throw new TypeError(`${c} is not a finite number`);if(R=j(R),R<0||R>w)throw new TypeError(`${c} is outside the accepted range of 0 to ${w}, inclusive`);return!Ae(R)||R===0?0:R}function I(i,c){if(!Mr(i))throw new TypeError(`${c} is not a ReadableStream.`)}function L(i){return new H(i)}function x(i,c){i._reader._readRequests.push(c)}function P(i,c,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(c)}function M(i){return i._reader._readRequests.length}function B(i){let c=i._reader;return!(c===void 0||!ee(c))}class H{constructor(c){if(Ne(c,1,"ReadableStreamDefaultReader"),I(c,"First parameter"),Ur(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");X(this,c),this._readRequests=new T}get closed(){return ee(this)?this._closedPromise:d(Be("closed"))}cancel(c=void 0){return ee(this)?this._ownerReadableStream===void 0?d(he("cancel")):ue(this,c):d(Be("cancel"))}read(){if(!ee(this))return d(Be("read"));if(this._ownerReadableStream===void 0)return d(he("read from"));let c,h,w=l((U,$)=>{c=U,h=$});return re(this,{_chunkSteps:U=>c({value:U,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:U=>h(U)}),w}releaseLock(){if(!ee(this))throw Be("releaseLock");this._ownerReadableStream!==void 0&&ke(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 ee(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function re(i,c){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?c._closeSteps():h._state==="errored"?c._errorSteps(h._storedError):h._readableStreamController[z](c)}function ke(i){ne(i);let c=new TypeError("Reader was released");Fe(i,c)}function Fe(i,c){let h=i._readRequests;i._readRequests=new T,h.forEach(w=>{w._errorSteps(c)})}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 Se{constructor(c,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=h}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?C(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let h=()=>this._returnSteps(c);return this._ongoingPromise?C(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,h,w,R=l(($,Q)=>{h=$,w=Q});return re(c,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ne(c),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,ne(c),w($)}}),R}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let w=ue(h,c);return ne(h),C(w,()=>({value:c,done:!0}))}return ne(h),f({value:c,done:!0})}}let $e={next(){return Nn(this)?this._asyncIteratorImpl.next():d(Bn("next"))},return(i){return Nn(this)?this._asyncIteratorImpl.return(i):d(Bn("return"))}};Object.setPrototypeOf($e,we);function In(i,c){let h=L(i),w=new Se(h,c),R=Object.create($e);return R._asyncIteratorImpl=w,R}function Nn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Se}catch{return!1}}function Bn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var fr,Qe,ze;function Te(i){return i.slice()}function oh(i,c,h,w,R){new Uint8Array(i).set(new Uint8Array(h,w,R),c)}let dr=i=>(typeof i.transfer=="function"?dr=c=>c.transfer():typeof structuredClone=="function"?dr=c=>structuredClone(c,{transfer:[c]}):dr=c=>c,dr(i)),Ir=i=>(typeof i.detached=="boolean"?Ir=c=>c.detached:Ir=c=>c.byteLength===0,Ir(i));function sh(i,c,h){if(i.slice)return i.slice(c,h);let w=h-c,R=new ArrayBuffer(w);return oh(R,0,i,c,w),R}function qs(i,c){let h=i[c];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(c)} is not a function`);return h}}function xb(i){let c={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*c})(),w=h.next;return{iterator:h,nextMethod:w,done:!1}}let ec=(ze=(fr=Symbol.asyncIterator)!==null&&fr!==void 0?fr:(Qe=Symbol.for)===null||Qe===void 0?void 0:Qe.call(Symbol,"Symbol.asyncIterator"))!==null&&ze!==void 0?ze:"@@asyncIterator";function ih(i,c="sync",h){if(h===void 0)if(c==="async"){if(h=qs(i,ec),h===void 0){let U=qs(i,Symbol.iterator),$=ih(i,"sync",U);return xb($)}}else h=qs(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let w=v(h,i,[]);if(!r(w))throw new TypeError("The iterator method must return an object");let R=w.next;return{iterator:w,nextMethod:R,done:!1}}function Ob(i){let c=v(i.nextMethod,i.iterator,[]);if(!r(c))throw new TypeError("The iterator.next() method must return an object");return c}function Fb(i){return!!i.done}function Pb(i){return i.value}function Ib(i){return!(typeof i!="number"||dt(i)||i<0)}function ah(i){let c=sh(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function tc(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function rc(i,c,h){if(!Ib(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:h}),i._queueTotalSize+=h}function Nb(i){return i._queue.peek().value}function Nr(i){i._queue=new T,i._queueTotalSize=0}function uh(i){return i===DataView}function Bb(i){return uh(i.constructor)}function jb(i){return uh(i)?1:i.BYTES_PER_ELEMENT}class sn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!nc(this))throw uc("view");return this._view}respond(c){if(!nc(this))throw uc("respond");if(Ne(c,1,"respond"),c=F(c,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Ir(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ws(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!nc(this))throw uc("respondWithNewView");if(Ne(c,1,"respondWithNewView"),!ArrayBuffer.isView(c))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(Ir(c.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Gs(this._associatedReadableByteStreamController,c)}}Object.defineProperties(sn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(sn.prototype.respond,"respond"),o(sn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class hr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!an(this))throw Io("byobRequest");return ac(this)}get desiredSize(){if(!an(this))throw Io("desiredSize");return _h(this)}close(){if(!an(this))throw Io("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let c=this._controlledReadableByteStream._state;if(c!=="readable")throw new TypeError(`The stream (in ${c} state) is not in the readable state and cannot be closed`);Po(this)}enqueue(c){if(!an(this))throw Io("enqueue");if(Ne(c,1,"enqueue"),!ArrayBuffer.isView(c))throw new TypeError("chunk must be an array buffer view");if(c.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(c.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`);Hs(this,c)}error(c=void 0){if(!an(this))throw Io("error");At(this,c)}[q](c){ch(this),Nr(this);let h=this._cancelAlgorithm(c);return zs(this),h}[z](c){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){yh(this,c);return}let w=this._autoAllocateChunkSize;if(w!==void 0){let R;try{R=new ArrayBuffer(w)}catch($){c._errorSteps($);return}let U={buffer:R,bufferByteLength:w,byteOffset:0,byteLength:w,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(U)}x(h,c),un(this)}[Y](){if(this._pendingPullIntos.length>0){let c=this._pendingPullIntos.peek();c.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(c)}}}Object.defineProperties(hr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(hr.prototype.close,"close"),o(hr.prototype.enqueue,"enqueue"),o(hr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function an(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof hr}function nc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof sn}function un(i){if(!$b(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,un(i)),null),w=>(At(i,w),null))}function ch(i){sc(i),i._pendingPullIntos=new T}function oc(i,c){let h=!1;i._state==="closed"&&(h=!0);let w=lh(c);c.readerType==="default"?P(i,w,h):Vb(i,w,h)}function lh(i){let c=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/h)}function $s(i,c,h,w){i._queue.push({buffer:c,byteOffset:h,byteLength:w}),i._queueTotalSize+=w}function fh(i,c,h,w){let R;try{R=sh(c,h,h+w)}catch(U){throw At(i,U),U}$s(i,R,0,w)}function dh(i,c){c.bytesFilled>0&&fh(i,c.buffer,c.byteOffset,c.bytesFilled),jn(i)}function hh(i,c){let h=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),w=c.bytesFilled+h,R=h,U=!1,$=w%c.elementSize,Q=w-$;Q>=c.minimumFill&&(R=Q-c.bytesFilled,U=!0);let ce=i._queue;for(;R>0;){let se=ce.peek(),fe=Math.min(R,se.byteLength),ye=c.byteOffset+c.bytesFilled;oh(c.buffer,ye,se.buffer,se.byteOffset,fe),se.byteLength===fe?ce.shift():(se.byteOffset+=fe,se.byteLength-=fe),i._queueTotalSize-=fe,ph(i,fe,c),R-=fe}return U}function ph(i,c,h){h.bytesFilled+=c}function gh(i){i._queueTotalSize===0&&i._closeRequested?(zs(i),Lo(i._controlledReadableByteStream)):un(i)}function sc(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function ic(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();hh(i,c)&&(jn(i),oc(i._controlledReadableByteStream,c))}}function Mb(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=c._readRequests.shift();yh(i,h)}}function Ub(i,c,h,w){let R=i._controlledReadableByteStream,U=c.constructor,$=jb(U),{byteOffset:Q,byteLength:ce}=c,se=h*$,fe;try{fe=dr(c.buffer)}catch(ve){w._errorSteps(ve);return}let ye={buffer:fe,bufferByteLength:fe.byteLength,byteOffset:Q,byteLength:ce,bytesFilled:0,minimumFill:se,elementSize:$,viewConstructor:U,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ye),wh(R,w);return}if(R._state==="closed"){let ve=new U(ye.buffer,ye.byteOffset,0);w._closeSteps(ve);return}if(i._queueTotalSize>0){if(hh(i,ye)){let ve=lh(ye);gh(i),w._chunkSteps(ve);return}if(i._closeRequested){let ve=new TypeError("Insufficient bytes to fill elements in the given buffer");At(i,ve),w._errorSteps(ve);return}}i._pendingPullIntos.push(ye),wh(R,w),un(i)}function Lb(i,c){c.readerType==="none"&&jn(i);let h=i._controlledReadableByteStream;if(cc(h))for(;kh(h)>0;){let w=jn(i);oc(h,w)}}function qb(i,c,h){if(ph(i,c,h),h.readerType==="none"){dh(i,h),ic(i);return}if(h.bytesFilled<h.minimumFill)return;jn(i);let w=h.bytesFilled%h.elementSize;if(w>0){let R=h.byteOffset+h.bytesFilled;fh(i,h.buffer,R-w,w)}h.bytesFilled-=w,oc(i._controlledReadableByteStream,h),ic(i)}function mh(i,c){let h=i._pendingPullIntos.peek();sc(i),i._controlledReadableByteStream._state==="closed"?Lb(i,h):qb(i,c,h),un(i)}function jn(i){return i._pendingPullIntos.shift()}function $b(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&M(c)>0||cc(c)&&kh(c)>0||_h(i)>0)}function zs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Po(i){let c=i._controlledReadableByteStream;if(!(i._closeRequested||c._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 w=new TypeError("Insufficient bytes to fill elements in the given buffer");throw At(i,w),w}}zs(i),Lo(c)}}function Hs(i,c){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:w,byteOffset:R,byteLength:U}=c;if(Ir(w))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=dr(w);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(Ir(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");sc(i),Q.buffer=dr(Q.buffer),Q.readerType==="none"&&dh(i,Q)}if(B(h))if(Mb(i),M(h)===0)$s(i,$,R,U);else{i._pendingPullIntos.length>0&&jn(i);let Q=new Uint8Array($,R,U);P(h,Q,!1)}else cc(h)?($s(i,$,R,U),ic(i)):$s(i,$,R,U);un(i)}function At(i,c){let h=i._controlledReadableByteStream;h._state==="readable"&&(ch(i),Nr(i),zs(i),Gh(h,c))}function yh(i,c){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,gh(i);let w=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);c._chunkSteps(w)}function ac(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),h=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),w=Object.create(sn.prototype);Hb(w,i,h),i._byobRequest=w}return i._byobRequest}function _h(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ws(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(c===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+c>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=dr(h.buffer),mh(i,c)}function Gs(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(c.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!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+c.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=c.byteLength;h.buffer=dr(c.buffer),mh(i,R)}function bh(i,c,h,w,R,U,$){c._controlledReadableByteStream=i,c._pullAgain=!1,c._pulling=!1,c._byobRequest=null,c._queue=c._queueTotalSize=void 0,Nr(c),c._closeRequested=!1,c._started=!1,c._strategyHWM=U,c._pullAlgorithm=w,c._cancelAlgorithm=R,c._autoAllocateChunkSize=$,c._pendingPullIntos=new T,i._readableStreamController=c;let Q=h();y(f(Q),()=>(c._started=!0,un(c),null),ce=>(At(c,ce),null))}function zb(i,c,h){let w=Object.create(hr.prototype),R,U,$;c.start!==void 0?R=()=>c.start(w):R=()=>{},c.pull!==void 0?U=()=>c.pull(w):U=()=>f(void 0),c.cancel!==void 0?$=ce=>c.cancel(ce):$=()=>f(void 0);let Q=c.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");bh(i,w,R,U,$,h,Q)}function Hb(i,c,h){i._associatedReadableByteStreamController=c,i._view=h}function uc(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Io(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function Wb(i,c){le(i,c);let h=i?.mode;return{mode:h===void 0?void 0:Gb(h,`${c} has member 'mode' that`)}}function Gb(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function Jb(i,c){var h;le(i,c);let w=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(w,`${c} has member 'min' that`)}}function Ch(i){return new Br(i)}function wh(i,c){i._reader._readIntoRequests.push(c)}function Vb(i,c,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(c):R._chunkSteps(c)}function kh(i){return i._reader._readIntoRequests.length}function cc(i){let c=i._reader;return!(c===void 0||!cn(c))}class Br{constructor(c){if(Ne(c,1,"ReadableStreamBYOBReader"),I(c,"First parameter"),Ur(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!an(c._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");X(this,c),this._readIntoRequests=new T}get closed(){return cn(this)?this._closedPromise:d(Js("closed"))}cancel(c=void 0){return cn(this)?this._ownerReadableStream===void 0?d(he("cancel")):ue(this,c):d(Js("cancel"))}read(c,h={}){if(!cn(this))return d(Js("read"));if(!ArrayBuffer.isView(c))return d(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(Ir(c.buffer))return d(new TypeError("view's buffer has been detached"));let w;try{w=Jb(h,"options")}catch(se){return d(se)}let R=w.min;if(R===0)return d(new TypeError("options.min must be greater than 0"));if(Bb(c)){if(R>c.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>c.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(he("read from"));let U,$,Q=l((se,fe)=>{U=se,$=fe});return Sh(this,c,R,{_chunkSteps:se=>U({value:se,done:!1}),_closeSteps:se=>U({value:se,done:!0}),_errorSteps:se=>$(se)}),Q}releaseLock(){if(!cn(this))throw Js("releaseLock");this._ownerReadableStream!==void 0&&Kb(this)}}Object.defineProperties(Br.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Br.prototype.cancel,"cancel"),o(Br.prototype.read,"read"),o(Br.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Br.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function cn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Br}function Sh(i,c,h,w){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?w._errorSteps(R._storedError):Ub(R._readableStreamController,c,h,w)}function Kb(i){ne(i);let c=new TypeError("Reader was released");Eh(i,c)}function Eh(i,c){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(w=>{w._errorSteps(c)})}function Js(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function No(i,c){let{highWaterMark:h}=i;if(h===void 0)return c;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Vs(i){let{size:c}=i;return c||(()=>1)}function Ks(i,c){le(i,c);let h=i?.highWaterMark,w=i?.size;return{highWaterMark:h===void 0?void 0:E(h),size:w===void 0?void 0:Yb(w,`${c} has member 'size' that`)}}function Yb(i,c){return pe(i,c),h=>E(i(h))}function Xb(i,c){le(i,c);let h=i?.abort,w=i?.close,R=i?.start,U=i?.type,$=i?.write;return{abort:h===void 0?void 0:Qb(h,i,`${c} has member 'abort' that`),close:w===void 0?void 0:Zb(w,i,`${c} has member 'close' that`),start:R===void 0?void 0:eC(R,i,`${c} has member 'start' that`),write:$===void 0?void 0:tC($,i,`${c} has member 'write' that`),type:U}}function Qb(i,c,h){return pe(i,h),w=>k(i,c,[w])}function Zb(i,c,h){return pe(i,h),()=>k(i,c,[])}function eC(i,c,h){return pe(i,h),w=>v(i,c,[w])}function tC(i,c,h){return pe(i,h),(w,R)=>k(i,c,[w,R])}function Ah(i,c){if(!Mn(i))throw new TypeError(`${c} is not a WritableStream.`)}function rC(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let nC=typeof AbortController=="function";function oC(){if(nC)return new AbortController}class jr{constructor(c={},h={}){c===void 0?c=null:Re(c,"First parameter");let w=Ks(h,"Second parameter"),R=Xb(c,"First parameter");if(Dh(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=Vs(w),Q=No(w,1);_C(this,R,Q,$)}get locked(){if(!Mn(this))throw ei("locked");return Un(this)}abort(c=void 0){return Mn(this)?Un(this)?d(new TypeError("Cannot abort a stream that already has a writer")):Ys(this,c):d(ei("abort"))}close(){return Mn(this)?Un(this)?d(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?d(new TypeError("Cannot close an already-closing stream")):vh(this):d(ei("close"))}getWriter(){if(!Mn(this))throw ei("getWriter");return Th(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 Th(i){return new pr(i)}function sC(i,c,h,w,R=1,U=()=>1){let $=Object.create(jr.prototype);Dh($);let Q=Object.create(Ln.prototype);return Ih($,Q,i,c,h,w,R,U),$}function Dh(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 Mn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof jr}function Un(i){return i._writer!==void 0}function Ys(i,c){var h;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=c,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(c);let w=i._state;if(w==="closed"||w==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;w==="erroring"&&(R=!0,c=void 0);let U=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:c,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=U,R||fc(i,c),U}function vh(i){let c=i._state;if(c==="closed"||c==="errored")return d(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let h=l((R,U)=>{let $={_resolve:R,_reject:U};i._closeRequest=$}),w=i._writer;return w!==void 0&&i._backpressure&&c==="writable"&&bc(w),bC(i._writableStreamController),h}function iC(i){return l((h,w)=>{let R={_resolve:h,_reject:w};i._writeRequests.push(R)})}function lc(i,c){if(i._state==="writable"){fc(i,c);return}dc(i)}function fc(i,c){let h=i._writableStreamController;i._state="erroring",i._storedError=c;let w=i._writer;w!==void 0&&xh(w,c),!fC(i)&&h._started&&dc(i)}function dc(i){i._state="errored",i._writableStreamController[N]();let c=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(c)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){Xs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(c),Xs(i);return}let w=i._writableStreamController[O](h._reason);y(w,()=>(h._resolve(),Xs(i),null),R=>(h._reject(R),Xs(i),null))}function aC(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function uC(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,lc(i,c)}function cC(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&&Mh(h)}function lC(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),lc(i,c)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function fC(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function dC(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function hC(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Xs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&yc(c,i._storedError)}function hc(i,c){let h=i._writer;h!==void 0&&c!==i._backpressure&&(c?TC(h):bc(h)),i._backpressure=c}class pr{constructor(c){if(Ne(c,1,"WritableStreamDefaultWriter"),Ah(c,"First parameter"),Un(c))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=c,c._writer=this;let h=c._state;if(h==="writable")!Yt(c)&&c._backpressure?ri(this):Uh(this),ti(this);else if(h==="erroring")_c(this,c._storedError),ti(this);else if(h==="closed")Uh(this),EC(this);else{let w=c._storedError;_c(this,w),jh(this,w)}}get closed(){return ln(this)?this._closedPromise:d(fn("closed"))}get desiredSize(){if(!ln(this))throw fn("desiredSize");if(this._ownerWritableStream===void 0)throw jo("desiredSize");return yC(this)}get ready(){return ln(this)?this._readyPromise:d(fn("ready"))}abort(c=void 0){return ln(this)?this._ownerWritableStream===void 0?d(jo("abort")):pC(this,c):d(fn("abort"))}close(){if(!ln(this))return d(fn("close"));let c=this._ownerWritableStream;return c===void 0?d(jo("close")):Yt(c)?d(new TypeError("Cannot close an already-closing stream")):Rh(this)}releaseLock(){if(!ln(this))throw fn("releaseLock");this._ownerWritableStream!==void 0&&Oh(this)}write(c=void 0){return ln(this)?this._ownerWritableStream===void 0?d(jo("write to")):Fh(this,c):d(fn("write"))}}Object.defineProperties(pr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(pr.prototype.abort,"abort"),o(pr.prototype.close,"close"),o(pr.prototype.releaseLock,"releaseLock"),o(pr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function ln(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof pr}function pC(i,c){let h=i._ownerWritableStream;return Ys(h,c)}function Rh(i){let c=i._ownerWritableStream;return vh(c)}function gC(i){let c=i._ownerWritableStream,h=c._state;return Yt(c)||h==="closed"?f(void 0):h==="errored"?d(c._storedError):Rh(i)}function mC(i,c){i._closedPromiseState==="pending"?yc(i,c):AC(i,c)}function xh(i,c){i._readyPromiseState==="pending"?Lh(i,c):DC(i,c)}function yC(i){let c=i._ownerWritableStream,h=c._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Nh(c._writableStreamController)}function Oh(i){let c=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");xh(i,h),mC(i,h),c._writer=void 0,i._ownerWritableStream=void 0}function Fh(i,c){let h=i._ownerWritableStream,w=h._writableStreamController,R=CC(w,c);if(h!==i._ownerWritableStream)return d(jo("write to"));let U=h._state;if(U==="errored")return d(h._storedError);if(Yt(h)||U==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(U==="erroring")return d(h._storedError);let $=iC(h);return wC(w,c,R),$}let Ph={};class Ln{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pc(this))throw mc("abortReason");return this._abortReason}get signal(){if(!pc(this))throw mc("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!pc(this))throw mc("error");this._controlledWritableStream._state==="writable"&&Bh(this,c)}[O](c){let h=this._abortAlgorithm(c);return Qs(this),h}[N](){Nr(this)}}Object.defineProperties(Ln.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ln.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function pc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Ln}function Ih(i,c,h,w,R,U,$,Q){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,Nr(c),c._abortReason=void 0,c._abortController=oC(),c._started=!1,c._strategySizeAlgorithm=Q,c._strategyHWM=$,c._writeAlgorithm=w,c._closeAlgorithm=R,c._abortAlgorithm=U;let ce=gc(c);hc(i,ce);let se=h(),fe=f(se);y(fe,()=>(c._started=!0,Zs(c),null),ye=>(c._started=!0,lc(i,ye),null))}function _C(i,c,h,w){let R=Object.create(Ln.prototype),U,$,Q,ce;c.start!==void 0?U=()=>c.start(R):U=()=>{},c.write!==void 0?$=se=>c.write(se,R):$=()=>f(void 0),c.close!==void 0?Q=()=>c.close():Q=()=>f(void 0),c.abort!==void 0?ce=se=>c.abort(se):ce=()=>f(void 0),Ih(i,R,U,$,Q,ce,h,w)}function Qs(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function bC(i){rc(i,Ph,0),Zs(i)}function CC(i,c){try{return i._strategySizeAlgorithm(c)}catch(h){return Bo(i,h),1}}function Nh(i){return i._strategyHWM-i._queueTotalSize}function wC(i,c,h){try{rc(i,c,h)}catch(R){Bo(i,R);return}let w=i._controlledWritableStream;if(!Yt(w)&&w._state==="writable"){let R=gc(i);hc(w,R)}Zs(i)}function Zs(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){dc(c);return}if(i._queue.length===0)return;let w=Nb(i);w===Ph?kC(i):SC(i,w)}function Bo(i,c){i._controlledWritableStream._state==="writable"&&Bh(i,c)}function kC(i){let c=i._controlledWritableStream;dC(c),tc(i);let h=i._closeAlgorithm();Qs(i),y(h,()=>(cC(c),null),w=>(lC(c,w),null))}function SC(i,c){let h=i._controlledWritableStream;hC(h);let w=i._writeAlgorithm(c);y(w,()=>{aC(h);let R=h._state;if(tc(i),!Yt(h)&&R==="writable"){let U=gc(i);hc(h,U)}return Zs(i),null},R=>(h._state==="writable"&&Qs(i),uC(h,R),null))}function gc(i){return Nh(i)<=0}function Bh(i,c){let h=i._controlledWritableStream;Qs(i),fc(h,c)}function ei(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function mc(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function fn(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function jo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function ti(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function jh(i,c){ti(i),yc(i,c)}function EC(i){ti(i),Mh(i)}function yc(i,c){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function AC(i,c){jh(i,c)}function Mh(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 ri(i){i._readyPromise=l((c,h)=>{i._readyPromise_resolve=c,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function _c(i,c){ri(i),Lh(i,c)}function Uh(i){ri(i),bc(i)}function Lh(i,c){i._readyPromise_reject!==void 0&&(b(i._readyPromise),i._readyPromise_reject(c),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function TC(i){ri(i)}function DC(i,c){_c(i,c)}function bc(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 vC(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Cc=vC();function RC(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function xC(){let i=Cc?.DOMException;return RC(i)?i:void 0}function OC(){let i=function(h,w){this.message=h||"",this.name=w||"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 FC=xC()||OC();function qh(i,c,h,w,R,U){let $=L(i),Q=Th(c);i._disturbed=!0;let ce=!1,se=f(void 0);return l((fe,ye)=>{let ve;if(U!==void 0){if(ve=()=>{let ie=U.reason!==void 0?U.reason:new FC("Aborted","AbortError"),_e=[];w||_e.push(()=>c._state==="writable"?Ys(c,ie):f(void 0)),R||_e.push(()=>i._state==="readable"?Mt(i,ie):f(void 0)),st(()=>Promise.all(_e.map(xe=>xe())),!0,ie)},U.aborted){ve();return}U.addEventListener("abort",ve)}function Ut(){return l((ie,_e)=>{function xe(ht){ht?ie():p(Hn(),xe,_e)}xe(!1)})}function Hn(){return ce?f(!0):p(Q._readyPromise,()=>l((ie,_e)=>{re($,{_chunkSteps:xe=>{se=p(Fh(Q,xe),void 0,e),ie(!1)},_closeSteps:()=>ie(!0),_errorSteps:_e})}))}if(mr(i,$._closedPromise,ie=>(w?Tt(!0,ie):st(()=>Ys(c,ie),!0,ie),null)),mr(c,Q._closedPromise,ie=>(R?Tt(!0,ie):st(()=>Mt(i,ie),!0,ie),null)),tt(i,$._closedPromise,()=>(h?Tt():st(()=>gC(Q)),null)),Yt(c)||c._state==="closed"){let ie=new TypeError("the destination writable stream closed before all data could be piped to it");R?Tt(!0,ie):st(()=>Mt(i,ie),!0,ie)}b(Ut());function qr(){let ie=se;return p(se,()=>ie!==se?qr():void 0)}function mr(ie,_e,xe){ie._state==="errored"?xe(ie._storedError):g(_e,xe)}function tt(ie,_e,xe){ie._state==="closed"?xe():A(_e,xe)}function st(ie,_e,xe){if(ce)return;ce=!0,c._state==="writable"&&!Yt(c)?A(qr(),ht):ht();function ht(){return y(ie(),()=>yr(_e,xe),Wn=>yr(!0,Wn)),null}}function Tt(ie,_e){ce||(ce=!0,c._state==="writable"&&!Yt(c)?A(qr(),()=>yr(ie,_e)):yr(ie,_e))}function yr(ie,_e){return Oh(Q),ne($),U!==void 0&&U.removeEventListener("abort",ve),ie?ye(_e):fe(void 0),null}})}class gr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ni(this))throw si("desiredSize");return wc(this)}close(){if(!ni(this))throw si("close");if(!$n(this))throw new TypeError("The stream is not in a state that permits close");dn(this)}enqueue(c=void 0){if(!ni(this))throw si("enqueue");if(!$n(this))throw new TypeError("The stream is not in a state that permits enqueue");return qn(this,c)}error(c=void 0){if(!ni(this))throw si("error");jt(this,c)}[q](c){Nr(this);let h=this._cancelAlgorithm(c);return oi(this),h}[z](c){let h=this._controlledReadableStream;if(this._queue.length>0){let w=tc(this);this._closeRequested&&this._queue.length===0?(oi(this),Lo(h)):Mo(this),c._chunkSteps(w)}else x(h,c),Mo(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 ni(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gr}function Mo(i){if(!$h(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Mo(i)),null),w=>(jt(i,w),null))}function $h(i){let c=i._controlledReadableStream;return!$n(i)||!i._started?!1:!!(Ur(c)&&M(c)>0||wc(i)>0)}function oi(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function dn(i){if(!$n(i))return;let c=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(oi(i),Lo(c))}function qn(i,c){if(!$n(i))return;let h=i._controlledReadableStream;if(Ur(h)&&M(h)>0)P(h,c,!1);else{let w;try{w=i._strategySizeAlgorithm(c)}catch(R){throw jt(i,R),R}try{rc(i,c,w)}catch(R){throw jt(i,R),R}}Mo(i)}function jt(i,c){let h=i._controlledReadableStream;h._state==="readable"&&(Nr(i),oi(i),Gh(h,c))}function wc(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function PC(i){return!$h(i)}function $n(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function zh(i,c,h,w,R,U,$){c._controlledReadableStream=i,c._queue=void 0,c._queueTotalSize=void 0,Nr(c),c._started=!1,c._closeRequested=!1,c._pullAgain=!1,c._pulling=!1,c._strategySizeAlgorithm=$,c._strategyHWM=U,c._pullAlgorithm=w,c._cancelAlgorithm=R,i._readableStreamController=c;let Q=h();y(f(Q),()=>(c._started=!0,Mo(c),null),ce=>(jt(c,ce),null))}function IC(i,c,h,w){let R=Object.create(gr.prototype),U,$,Q;c.start!==void 0?U=()=>c.start(R):U=()=>{},c.pull!==void 0?$=()=>c.pull(R):$=()=>f(void 0),c.cancel!==void 0?Q=ce=>c.cancel(ce):Q=()=>f(void 0),zh(i,R,U,$,Q,h,w)}function si(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function NC(i,c){return an(i._readableStreamController)?jC(i):BC(i)}function BC(i,c){let h=L(i),w=!1,R=!1,U=!1,$=!1,Q,ce,se,fe,ye,ve=l(tt=>{ye=tt});function Ut(){return w?(R=!0,f(void 0)):(w=!0,re(h,{_chunkSteps:st=>{m(()=>{R=!1;let Tt=st,yr=st;U||qn(se._readableStreamController,Tt),$||qn(fe._readableStreamController,yr),w=!1,R&&Ut()})},_closeSteps:()=>{w=!1,U||dn(se._readableStreamController),$||dn(fe._readableStreamController),(!U||!$)&&ye(void 0)},_errorSteps:()=>{w=!1}}),f(void 0))}function Hn(tt){if(U=!0,Q=tt,$){let st=Te([Q,ce]),Tt=Mt(i,st);ye(Tt)}return ve}function qr(tt){if($=!0,ce=tt,U){let st=Te([Q,ce]),Tt=Mt(i,st);ye(Tt)}return ve}function mr(){}return se=Uo(mr,Ut,Hn),fe=Uo(mr,Ut,qr),g(h._closedPromise,tt=>(jt(se._readableStreamController,tt),jt(fe._readableStreamController,tt),(!U||!$)&&ye(void 0),null)),[se,fe]}function jC(i){let c=L(i),h=!1,w=!1,R=!1,U=!1,$=!1,Q,ce,se,fe,ye,ve=l(ie=>{ye=ie});function Ut(ie){g(ie._closedPromise,_e=>(ie!==c||(At(se._readableStreamController,_e),At(fe._readableStreamController,_e),(!U||!$)&&ye(void 0)),null))}function Hn(){cn(c)&&(ne(c),c=L(i),Ut(c)),re(c,{_chunkSteps:_e=>{m(()=>{w=!1,R=!1;let xe=_e,ht=_e;if(!U&&!$)try{ht=ah(_e)}catch(Wn){At(se._readableStreamController,Wn),At(fe._readableStreamController,Wn),ye(Mt(i,Wn));return}U||Hs(se._readableStreamController,xe),$||Hs(fe._readableStreamController,ht),h=!1,w?mr():R&&tt()})},_closeSteps:()=>{h=!1,U||Po(se._readableStreamController),$||Po(fe._readableStreamController),se._readableStreamController._pendingPullIntos.length>0&&Ws(se._readableStreamController,0),fe._readableStreamController._pendingPullIntos.length>0&&Ws(fe._readableStreamController,0),(!U||!$)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function qr(ie,_e){ee(c)&&(ne(c),c=Ch(i),Ut(c));let xe=_e?fe:se,ht=_e?se:fe;Sh(c,ie,1,{_chunkSteps:Gn=>{m(()=>{w=!1,R=!1;let Jn=_e?$:U;if(_e?U:$)Jn||Gs(xe._readableStreamController,Gn);else{let sp;try{sp=ah(Gn)}catch(Tc){At(xe._readableStreamController,Tc),At(ht._readableStreamController,Tc),ye(Mt(i,Tc));return}Jn||Gs(xe._readableStreamController,Gn),Hs(ht._readableStreamController,sp)}h=!1,w?mr():R&&tt()})},_closeSteps:Gn=>{h=!1;let Jn=_e?$:U,hi=_e?U:$;Jn||Po(xe._readableStreamController),hi||Po(ht._readableStreamController),Gn!==void 0&&(Jn||Gs(xe._readableStreamController,Gn),!hi&&ht._readableStreamController._pendingPullIntos.length>0&&Ws(ht._readableStreamController,0)),(!Jn||!hi)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function mr(){if(h)return w=!0,f(void 0);h=!0;let ie=ac(se._readableStreamController);return ie===null?Hn():qr(ie._view,!1),f(void 0)}function tt(){if(h)return R=!0,f(void 0);h=!0;let ie=ac(fe._readableStreamController);return ie===null?Hn():qr(ie._view,!0),f(void 0)}function st(ie){if(U=!0,Q=ie,$){let _e=Te([Q,ce]),xe=Mt(i,_e);ye(xe)}return ve}function Tt(ie){if($=!0,ce=ie,U){let _e=Te([Q,ce]),xe=Mt(i,_e);ye(xe)}return ve}function yr(){}return se=Wh(yr,mr,st),fe=Wh(yr,tt,Tt),Ut(c),[se,fe]}function MC(i){return r(i)&&typeof i.getReader<"u"}function UC(i){return MC(i)?qC(i.getReader()):LC(i)}function LC(i){let c,h=ih(i,"async"),w=e;function R(){let $;try{$=Ob(h)}catch(ce){return d(ce)}let Q=f($);return C(Q,ce=>{if(!r(ce))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(Fb(ce))dn(c._readableStreamController);else{let fe=Pb(ce);qn(c._readableStreamController,fe)}})}function U($){let Q=h.iterator,ce;try{ce=qs(Q,"return")}catch(ye){return d(ye)}if(ce===void 0)return f(void 0);let se;try{se=v(ce,Q,[$])}catch(ye){return d(ye)}let fe=f(se);return C(fe,ye=>{if(!r(ye))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return c=Uo(w,R,U,0),c}function qC(i){let c,h=e;function w(){let U;try{U=i.read()}catch($){return d($)}return C(U,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)dn(c._readableStreamController);else{let Q=$.value;qn(c._readableStreamController,Q)}})}function R(U){try{return f(i.cancel(U))}catch($){return d($)}}return c=Uo(h,w,R,0),c}function $C(i,c){le(i,c);let h=i,w=h?.autoAllocateChunkSize,R=h?.cancel,U=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:w===void 0?void 0:F(w,`${c} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:zC(R,h,`${c} has member 'cancel' that`),pull:U===void 0?void 0:HC(U,h,`${c} has member 'pull' that`),start:$===void 0?void 0:WC($,h,`${c} has member 'start' that`),type:Q===void 0?void 0:GC(Q,`${c} has member 'type' that`)}}function zC(i,c,h){return pe(i,h),w=>k(i,c,[w])}function HC(i,c,h){return pe(i,h),w=>k(i,c,[w])}function WC(i,c,h){return pe(i,h),w=>v(i,c,[w])}function GC(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function JC(i,c){return le(i,c),{preventCancel:!!i?.preventCancel}}function Hh(i,c){le(i,c);let h=i?.preventAbort,w=i?.preventCancel,R=i?.preventClose,U=i?.signal;return U!==void 0&&VC(U,`${c} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!w,preventClose:!!R,signal:U}}function VC(i,c){if(!rC(i))throw new TypeError(`${c} is not an AbortSignal.`)}function KC(i,c){le(i,c);let h=i?.readable;_(h,"readable","ReadableWritablePair"),I(h,`${c} has member 'readable' that`);let w=i?.writable;return _(w,"writable","ReadableWritablePair"),Ah(w,`${c} has member 'writable' that`),{readable:h,writable:w}}class Ze{constructor(c={},h={}){c===void 0?c=null:Re(c,"First parameter");let w=Ks(h,"Second parameter"),R=$C(c,"First parameter");if(kc(this),R.type==="bytes"){if(w.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let U=No(w,0);zb(this,R,U)}else{let U=Vs(w),$=No(w,1);IC(this,R,$,U)}}get locked(){if(!Mr(this))throw hn("locked");return Ur(this)}cancel(c=void 0){return Mr(this)?Ur(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Mt(this,c):d(hn("cancel"))}getReader(c=void 0){if(!Mr(this))throw hn("getReader");return Wb(c,"First parameter").mode===void 0?L(this):Ch(this)}pipeThrough(c,h={}){if(!Mr(this))throw hn("pipeThrough");Ne(c,1,"pipeThrough");let w=KC(c,"First parameter"),R=Hh(h,"Second parameter");if(Ur(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Un(w.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let U=qh(this,w.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return b(U),w.readable}pipeTo(c,h={}){if(!Mr(this))return d(hn("pipeTo"));if(c===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!Mn(c))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let w;try{w=Hh(h,"Second parameter")}catch(R){return d(R)}return Ur(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Un(c)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):qh(this,c,w.preventClose,w.preventAbort,w.preventCancel,w.signal)}tee(){if(!Mr(this))throw hn("tee");let c=NC(this);return Te(c)}values(c=void 0){if(!Mr(this))throw hn("values");let h=JC(c,"First parameter");return In(this,h.preventCancel)}[ec](c){return this.values(c)}static from(c){return UC(c)}}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,ec,{value:Ze.prototype.values,writable:!0,configurable:!0});function Uo(i,c,h,w=1,R=()=>1){let U=Object.create(Ze.prototype);kc(U);let $=Object.create(gr.prototype);return zh(U,$,i,c,h,w,R),U}function Wh(i,c,h){let w=Object.create(Ze.prototype);kc(w);let R=Object.create(hr.prototype);return bh(w,R,i,c,h,0,void 0),w}function kc(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Mr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Ze}function Ur(i){return i._reader!==void 0}function Mt(i,c){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Lo(i);let h=i._reader;if(h!==void 0&&cn(h)){let R=h._readIntoRequests;h._readIntoRequests=new T,R.forEach(U=>{U._closeSteps(void 0)})}let w=i._readableStreamController[q](c);return C(w,e)}function Lo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(te(c),ee(c))){let h=c._readRequests;c._readRequests=new T,h.forEach(w=>{w._closeSteps()})}}function Gh(i,c){i._state="errored",i._storedError=c;let h=i._reader;h!==void 0&&(J(h,c),ee(h)?Fe(h,c):Eh(h,c))}function hn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function Jh(i,c){le(i,c);let h=i?.highWaterMark;return _(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:E(h)}}let Vh=i=>i.byteLength;o(Vh,"size");class ii{constructor(c){Ne(c,1,"ByteLengthQueuingStrategy"),c=Jh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!Yh(this))throw Kh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Yh(this))throw Kh("size");return Vh}}Object.defineProperties(ii.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ii.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Kh(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 ii}let Xh=()=>1;o(Xh,"size");class ai{constructor(c){Ne(c,1,"CountQueuingStrategy"),c=Jh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!Zh(this))throw Qh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Zh(this))throw Qh("size");return Xh}}Object.defineProperties(ai.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ai.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Qh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Zh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof ai}function YC(i,c){le(i,c);let h=i?.cancel,w=i?.flush,R=i?.readableType,U=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:ew(h,i,`${c} has member 'cancel' that`),flush:w===void 0?void 0:XC(w,i,`${c} has member 'flush' that`),readableType:R,start:U===void 0?void 0:QC(U,i,`${c} has member 'start' that`),transform:$===void 0?void 0:ZC($,i,`${c} has member 'transform' that`),writableType:Q}}function XC(i,c,h){return pe(i,h),w=>k(i,c,[w])}function QC(i,c,h){return pe(i,h),w=>v(i,c,[w])}function ZC(i,c,h){return pe(i,h),(w,R)=>k(i,c,[w,R])}function ew(i,c,h){return pe(i,h),w=>k(i,c,[w])}class ui{constructor(c={},h={},w={}){c===void 0&&(c=null);let R=Ks(h,"Second parameter"),U=Ks(w,"Third parameter"),$=YC(c,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=No(U,0),ce=Vs(U),se=No(R,1),fe=Vs(R),ye,ve=l(Ut=>{ye=Ut});tw(this,ve,se,fe,Q,ce),nw(this,$),$.start!==void 0?ye($.start(this._transformStreamController)):ye(void 0)}get readable(){if(!ep(this))throw op("readable");return this._readable}get writable(){if(!ep(this))throw op("writable");return this._writable}}Object.defineProperties(ui.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ui.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function tw(i,c,h,w,R,U){function $(){return c}function Q(ve){return iw(i,ve)}function ce(ve){return aw(i,ve)}function se(){return uw(i)}i._writable=sC($,Q,se,ce,h,w);function fe(){return cw(i)}function ye(ve){return lw(i,ve)}i._readable=Uo($,fe,ye,R,U),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,ci(i,!0),i._transformStreamController=void 0}function ep(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof ui}function tp(i,c){jt(i._readable._readableStreamController,c),Sc(i,c)}function Sc(i,c){fi(i._transformStreamController),Bo(i._writable._writableStreamController,c),Ec(i)}function Ec(i){i._backpressure&&ci(i,!1)}function ci(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=c}class Lr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!li(this))throw di("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return wc(c)}enqueue(c=void 0){if(!li(this))throw di("enqueue");rp(this,c)}error(c=void 0){if(!li(this))throw di("error");ow(this,c)}terminate(){if(!li(this))throw di("terminate");sw(this)}}Object.defineProperties(Lr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Lr.prototype.enqueue,"enqueue"),o(Lr.prototype.error,"error"),o(Lr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function li(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Lr}function rw(i,c,h,w,R){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=h,c._flushAlgorithm=w,c._cancelAlgorithm=R,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function nw(i,c){let h=Object.create(Lr.prototype),w,R,U;c.transform!==void 0?w=$=>c.transform($,h):w=$=>{try{return rp(h,$),f(void 0)}catch(Q){return d(Q)}},c.flush!==void 0?R=()=>c.flush(h):R=()=>f(void 0),c.cancel!==void 0?U=$=>c.cancel($):U=()=>f(void 0),rw(i,h,w,R,U)}function fi(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function rp(i,c){let h=i._controlledTransformStream,w=h._readable._readableStreamController;if(!$n(w))throw new TypeError("Readable side is not in a state that permits enqueue");try{qn(w,c)}catch(U){throw Sc(h,U),h._readable._storedError}PC(w)!==h._backpressure&&ci(h,!0)}function ow(i,c){tp(i._controlledTransformStream,c)}function np(i,c){let h=i._transformAlgorithm(c);return C(h,void 0,w=>{throw tp(i._controlledTransformStream,w),w})}function sw(i){let c=i._controlledTransformStream,h=c._readable._readableStreamController;dn(h);let w=new TypeError("TransformStream terminated");Sc(c,w)}function iw(i,c){let h=i._transformStreamController;if(i._backpressure){let w=i._backpressureChangePromise;return C(w,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return np(h,c)})}return np(h,c)}function aw(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let w=i._readable;h._finishPromise=l((U,$)=>{h._finishPromise_resolve=U,h._finishPromise_reject=$});let R=h._cancelAlgorithm(c);return fi(h),y(R,()=>(w._state==="errored"?zn(h,w._storedError):(jt(w._readableStreamController,c),Ac(h)),null),U=>(jt(w._readableStreamController,U),zn(h,U),null)),h._finishPromise}function uw(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let h=i._readable;c._finishPromise=l((R,U)=>{c._finishPromise_resolve=R,c._finishPromise_reject=U});let w=c._flushAlgorithm();return fi(c),y(w,()=>(h._state==="errored"?zn(c,h._storedError):(dn(h._readableStreamController),Ac(c)),null),R=>(jt(h._readableStreamController,R),zn(c,R),null)),c._finishPromise}function cw(i){return ci(i,!1),i._backpressureChangePromise}function lw(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let w=i._writable;h._finishPromise=l((U,$)=>{h._finishPromise_resolve=U,h._finishPromise_reject=$});let R=h._cancelAlgorithm(c);return fi(h),y(R,()=>(w._state==="errored"?zn(h,w._storedError):(Bo(w._writableStreamController,c),Ec(i),Ac(h)),null),U=>(Bo(w._writableStreamController,U),Ec(i),zn(h,U),null)),h._finishPromise}function di(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Ac(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function zn(i,c){i._finishPromise_reject!==void 0&&(b(i._finishPromise),i._finishPromise_reject(c),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function op(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=ii,t.CountQueuingStrategy=ai,t.ReadableByteStreamController=hr,t.ReadableStream=Ze,t.ReadableStreamBYOBReader=Br,t.ReadableStreamBYOBRequest=sn,t.ReadableStreamDefaultController=gr,t.ReadableStreamDefaultReader=H,t.TransformStream=ui,t.TransformStreamDefaultController=Lr,t.WritableStream=jr,t.WritableStreamDefaultController=Ln,t.WritableStreamDefaultWriter=pr}))});var jg=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,Bg())}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 u=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=u.byteLength,s.enqueue(new Uint8Array(u)),n===o.size&&s.close()}})})}catch{}});async function*tl(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,Mg),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+Mg)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var mO,Mg,Ug,Vk,qt,Jo=Me(()=>{mO=Le(jg(),1);Mg=65536;Ug=class rl{#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 rl?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 tl(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 tl(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=tl(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),u=Math.max(a-s,0),l=this.#e,f=[],d=0;for(let y of l){if(d>=u)break;let A=ArrayBuffer.isView(y)?y.byteLength:y.size;if(s&&A<=s)s-=A,a-=A;else{let g;ArrayBuffer.isView(y)?(g=y.subarray(s,Math.min(A,a)),d+=g.byteLength):(g=y.slice(s,Math.min(A,a)),d+=g.size),a-=A,f.push(g),s=0}}let p=new rl([],{type:String(n).toLowerCase()});return p.#r=u,p.#e=f,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(Ug.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Vk=Ug,qt=Vk});var Kk,Yk,Gr,nl=Me(()=>{Jo();Kk=class extends qt{#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 qt&&/^(File)$/.test(e[Symbol.toStringTag])}},Yk=Kk,Gr=Yk});function $g(t,e=qt){var r=`${Lg()}${Lg()}`.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+ol(a)+`"\r
25
+ `;let c=(0,Tk.parseProxyResponse)(o);o.write(`${u}\r
26
+ `);let{connect:f,buffered:d}=await c;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",Dk),r.secureEndpoint?(Qo("Upgrading socket connection to TLS"),Jg.connect({...Kg(Vg(r),"host","path","port"),socket:o})):o;o.destroy();let p=new Wi.Socket({writable:!1});return p.readable=!0,e.once("socket",y=>{Qo("Replaying proxy buffer for failed request"),(0,Ek.default)(y.listenerCount("data")>0),y.push(d),y.push(null)}),p}};Gi.protocols=["http","https"];Ot.HttpsProxyAgent=Gi;function Dk(t){t.resume()}function Kg(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function vk(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 d=1;d<r.length;d++)r[d]==="base64"?o=!0:r[d]&&(a+=`;${r[d]}`,r[d].indexOf("charset=")===0&&(n=r[d].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let u=o?"base64":"ascii",c=unescape(t.substring(e+1)),f=Buffer.from(c,u);return f.type=s,f.typeFull=a,f.charset=n,f}var Zg,em=Le(()=>{Zg=vk});var rm=J((Ji,tm)=>{(function(t,e){typeof Ji=="object"&&typeof tm<"u"?e(Ji):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ji,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,l){try{Object.defineProperty(i,"name",{value:l,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function c(i){return new s(i)}function f(i){return c(l=>l(i))}function d(i){return u(i)}function p(i,l,h){return a.call(i,l,h)}function y(i,l,h){p(p(i,l,h),void 0,n)}function A(i,l){y(i,l)}function g(i,l){y(i,void 0,l)}function _(i,l,h){return p(i,l,h)}function b(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let l=f(void 0);m=h=>p(l,h)}return m(i)};function v(i,l,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,l,h)}function k(i,l,h){try{return f(v(i,l,h))}catch(E){return d(E)}}let w=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(l){let h=this._back,E=h;h._elements.length===w-1&&(E={_elements:[],_next:void 0}),h._elements.push(l),E!==h&&(this._back=E,h._next=E),++this._size}shift(){let l=this._front,h=l,E=this._cursor,R=E+1,U=l._elements,q=U[E];return R===w&&(h=l._next,R=0),--this._size,this._cursor=R,l!==h&&(this._front=h),U[E]=void 0,q}forEach(l){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));)l(R[h]),++h}peek(){let l=this._front,h=this._cursor;return l._elements[h]}}let O=Symbol("[[AbortSteps]]"),N=Symbol("[[ErrorSteps]]"),G=Symbol("[[CancelSteps]]"),$=Symbol("[[PullSteps]]"),X=Symbol("[[ReleaseSteps]]");function K(i,l){i._ownerReadableStream=l,l._reader=i,l._state==="readable"?le(i):l._state==="closed"?ie(i):pe(i,l._storedError)}function se(i,l){let h=i._ownerReadableStream;return Lt(h,l)}function _e(i){let l=i._ownerReadableStream;l._state==="readable"?V(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Y(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),l._readableStreamController[X](),l._reader=void 0,i._ownerReadableStream=void 0}function me(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function le(i){i._closedPromise=c((l,h)=>{i._closedPromise_resolve=l,i._closedPromise_reject=h})}function pe(i,l){le(i),V(i,l)}function ie(i){le(i),Z(i)}function V(i,l){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(l),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Y(i,l){pe(i,l)}function Z(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Se=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Ue=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function ue(i,l){if(i!==void 0&&!W(i))throw new TypeError(`${l} is not an object.`)}function re(i,l){if(typeof i!="function")throw new TypeError(`${l} is not a function.`)}function ke(i){return typeof i=="object"&&i!==null||typeof i=="function"}function xe(i,l){if(!ke(i))throw new TypeError(`${l} is not an object.`)}function Be(i,l,h){if(i===void 0)throw new TypeError(`Parameter ${l} is required in '${h}'.`)}function C(i,l,h){if(i===void 0)throw new TypeError(`${l} is required in '${h}'.`)}function S(i){return Number(i)}function D(i){return i===0?0:i}function j(i){return D(Ue(i))}function F(i,l){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=D(R),!Se(R))throw new TypeError(`${l} is not a finite number`);if(R=j(R),R<0||R>E)throw new TypeError(`${l} is outside the accepted range of 0 to ${E}, inclusive`);return!Se(R)||R===0?0:R}function I(i,l){if(!qr(i))throw new TypeError(`${l} is not a ReadableStream.`)}function L(i){return new z(i)}function x(i,l){i._reader._readRequests.push(l)}function P(i,l,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(l)}function M(i){return i._reader._readRequests.length}function B(i){let l=i._reader;return!(l===void 0||!ee(l))}class z{constructor(l){if(Be(l,1,"ReadableStreamDefaultReader"),I(l,"First parameter"),$r(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");K(this,l),this._readRequests=new T}get closed(){return ee(this)?this._closedPromise:d(je("closed"))}cancel(l=void 0){return ee(this)?this._ownerReadableStream===void 0?d(me("cancel")):se(this,l):d(je("cancel"))}read(){if(!ee(this))return d(je("read"));if(this._ownerReadableStream===void 0)return d(me("read from"));let l,h,E=c((U,q)=>{l=U,h=q});return te(this,{_chunkSteps:U=>l({value:U,done:!1}),_closeSteps:()=>l({value:void 0,done:!0}),_errorSteps:U=>h(U)}),E}releaseLock(){if(!ee(this))throw je("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 ee(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function te(i,l){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?l._closeSteps():h._state==="errored"?l._errorSteps(h._storedError):h._readableStreamController[$](l)}function Ee(i){_e(i);let l=new TypeError("Reader was released");Pe(i,l)}function Pe(i,l){let h=i._readRequests;i._readRequests=new T,h.forEach(E=>{E._errorSteps(l)})}function je(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(l,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=l,this._preventCancel=h}next(){let l=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,l,l):l(),this._ongoingPromise}return(l){let h=()=>this._returnSteps(l);return this._ongoingPromise?_(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let l=this._reader,h,E,R=c((q,Q)=>{h=q,E=Q});return te(l,{_chunkSteps:q=>{this._ongoingPromise=void 0,m(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,_e(l),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,_e(l),E(q)}}),R}_returnSteps(l){if(this._isFinished)return Promise.resolve({value:l,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let E=se(h,l);return _e(h),_(E,()=>({value:l,done:!0}))}return _e(h),f({value:l,done:!0})}}let He={next(){return Ln(this)?this._asyncIteratorImpl.next():d(qn("next"))},return(i){return Ln(this)?this._asyncIteratorImpl.return(i):d(qn("return"))}};Object.setPrototypeOf(He,we);function Un(i,l){let h=L(i),E=new Ae(h,l),R=Object.create(He);return R._asyncIteratorImpl=E,R}function Ln(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof Ae}catch{return!1}}function qn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let pt=Number.isNaN||function(i){return i!==i};var hr,tt,We;function De(i){return i.slice()}function mh(i,l,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),l)}let pr=i=>(typeof i.transfer=="function"?pr=l=>l.transfer():typeof structuredClone=="function"?pr=l=>structuredClone(l,{transfer:[l]}):pr=l=>l,pr(i)),jr=i=>(typeof i.detached=="boolean"?jr=l=>l.detached:jr=l=>l.byteLength===0,jr(i));function yh(i,l,h){if(i.slice)return i.slice(l,h);let E=h-l,R=new ArrayBuffer(E);return mh(R,0,i,l,E),R}function Js(i,l){let h=i[l];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(l)} is not a function`);return h}}function rC(i){let l={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*l})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let ac=(We=(hr=Symbol.asyncIterator)!==null&&hr!==void 0?hr:(tt=Symbol.for)===null||tt===void 0?void 0:tt.call(Symbol,"Symbol.asyncIterator"))!==null&&We!==void 0?We:"@@asyncIterator";function _h(i,l="sync",h){if(h===void 0)if(l==="async"){if(h=Js(i,ac),h===void 0){let U=Js(i,Symbol.iterator),q=_h(i,"sync",U);return rC(q)}}else h=Js(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 nC(i){let l=v(i.nextMethod,i.iterator,[]);if(!r(l))throw new TypeError("The iterator.next() method must return an object");return l}function oC(i){return!!i.done}function sC(i){return i.value}function iC(i){return!(typeof i!="number"||pt(i)||i<0)}function bh(i){let l=yh(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(l)}function uc(i){let l=i._queue.shift();return i._queueTotalSize-=l.size,i._queueTotalSize<0&&(i._queueTotalSize=0),l.value}function cc(i,l,h){if(!iC(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:l,size:h}),i._queueTotalSize+=h}function aC(i){return i._queue.peek().value}function Mr(i){i._queue=new T,i._queueTotalSize=0}function Ch(i){return i===DataView}function uC(i){return Ch(i.constructor)}function cC(i){return Ch(i)?1:i.BYTES_PER_ELEMENT}class ln{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lc(this))throw gc("view");return this._view}respond(l){if(!lc(this))throw gc("respond");if(Be(l,1,"respond"),l=F(l,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(jr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Xs(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!lc(this))throw gc("respondWithNewView");if(Be(l,1,"respondWithNewView"),!ArrayBuffer.isView(l))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(jr(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Qs(this._associatedReadableByteStreamController,l)}}Object.defineProperties(ln.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(ln.prototype.respond,"respond"),o(ln.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ln.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class gr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!fn(this))throw Lo("byobRequest");return pc(this)}get desiredSize(){if(!fn(this))throw Lo("desiredSize");return xh(this)}close(){if(!fn(this))throw Lo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let l=this._controlledReadableByteStream._state;if(l!=="readable")throw new TypeError(`The stream (in ${l} state) is not in the readable state and cannot be closed`);Uo(this)}enqueue(l){if(!fn(this))throw Lo("enqueue");if(Be(l,1,"enqueue"),!ArrayBuffer.isView(l))throw new TypeError("chunk must be an array buffer view");if(l.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(l.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`);Ys(this,l)}error(l=void 0){if(!fn(this))throw Lo("error");Dt(this,l)}[G](l){wh(this),Mr(this);let h=this._cancelAlgorithm(l);return Ks(this),h}[$](l){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Rh(this,l);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let R;try{R=new ArrayBuffer(E)}catch(q){l._errorSteps(q);return}let U={buffer:R,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(U)}x(h,l),dn(this)}[X](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(l)}}}Object.defineProperties(gr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{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:"ReadableByteStreamController",configurable:!0});function fn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof gr}function lc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof ln}function dn(i){if(!pC(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,dn(i)),null),E=>(Dt(i,E),null))}function wh(i){dc(i),i._pendingPullIntos=new T}function fc(i,l){let h=!1;i._state==="closed"&&(h=!0);let E=Eh(l);l.readerType==="default"?P(i,E,h):CC(i,E,h)}function Eh(i){let l=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,l/h)}function Vs(i,l,h,E){i._queue.push({buffer:l,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function kh(i,l,h,E){let R;try{R=yh(l,h,h+E)}catch(U){throw Dt(i,U),U}Vs(i,R,0,E)}function Sh(i,l){l.bytesFilled>0&&kh(i,l.buffer,l.byteOffset,l.bytesFilled),$n(i)}function Ah(i,l){let h=Math.min(i._queueTotalSize,l.byteLength-l.bytesFilled),E=l.bytesFilled+h,R=h,U=!1,q=E%l.elementSize,Q=E-q;Q>=l.minimumFill&&(R=Q-l.bytesFilled,U=!0);let fe=i._queue;for(;R>0;){let oe=fe.peek(),de=Math.min(R,oe.byteLength),ye=l.byteOffset+l.bytesFilled;mh(l.buffer,ye,oe.buffer,oe.byteOffset,de),oe.byteLength===de?fe.shift():(oe.byteOffset+=de,oe.byteLength-=de),i._queueTotalSize-=de,Th(i,de,l),R-=de}return U}function Th(i,l,h){h.bytesFilled+=l}function Dh(i){i._queueTotalSize===0&&i._closeRequested?(Ks(i),Go(i._controlledReadableByteStream)):dn(i)}function dc(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function hc(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let l=i._pendingPullIntos.peek();Ah(i,l)&&($n(i),fc(i._controlledReadableByteStream,l))}}function lC(i){let l=i._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=l._readRequests.shift();Rh(i,h)}}function fC(i,l,h,E){let R=i._controlledReadableByteStream,U=l.constructor,q=cC(U),{byteOffset:Q,byteLength:fe}=l,oe=h*q,de;try{de=pr(l.buffer)}catch(Re){E._errorSteps(Re);return}let ye={buffer:de,bufferByteLength:de.byteLength,byteOffset:Q,byteLength:fe,bytesFilled:0,minimumFill:oe,elementSize:q,viewConstructor:U,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ye),Ph(R,E);return}if(R._state==="closed"){let Re=new U(ye.buffer,ye.byteOffset,0);E._closeSteps(Re);return}if(i._queueTotalSize>0){if(Ah(i,ye)){let Re=Eh(ye);Dh(i),E._chunkSteps(Re);return}if(i._closeRequested){let Re=new TypeError("Insufficient bytes to fill elements in the given buffer");Dt(i,Re),E._errorSteps(Re);return}}i._pendingPullIntos.push(ye),Ph(R,E),dn(i)}function dC(i,l){l.readerType==="none"&&$n(i);let h=i._controlledReadableByteStream;if(mc(h))for(;Ih(h)>0;){let E=$n(i);fc(h,E)}}function hC(i,l,h){if(Th(i,l,h),h.readerType==="none"){Sh(i,h),hc(i);return}if(h.bytesFilled<h.minimumFill)return;$n(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;kh(i,h.buffer,R-E,E)}h.bytesFilled-=E,fc(i._controlledReadableByteStream,h),hc(i)}function vh(i,l){let h=i._pendingPullIntos.peek();dc(i),i._controlledReadableByteStream._state==="closed"?dC(i,h):hC(i,l,h),dn(i)}function $n(i){return i._pendingPullIntos.shift()}function pC(i){let l=i._controlledReadableByteStream;return l._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(l)&&M(l)>0||mc(l)&&Ih(l)>0||xh(i)>0)}function Ks(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Uo(i){let l=i._controlledReadableByteStream;if(!(i._closeRequested||l._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 Dt(i,E),E}}Ks(i),Go(l)}}function Ys(i,l){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:U}=l;if(jr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=pr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(jr(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");dc(i),Q.buffer=pr(Q.buffer),Q.readerType==="none"&&Sh(i,Q)}if(B(h))if(lC(i),M(h)===0)Vs(i,q,R,U);else{i._pendingPullIntos.length>0&&$n(i);let Q=new Uint8Array(q,R,U);P(h,Q,!1)}else mc(h)?(Vs(i,q,R,U),hc(i)):Vs(i,q,R,U);dn(i)}function Dt(i,l){let h=i._controlledReadableByteStream;h._state==="readable"&&(wh(i),Mr(i),Ks(i),op(h,l))}function Rh(i,l){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Dh(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);l._chunkSteps(E)}function pc(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let l=i._pendingPullIntos.peek(),h=new Uint8Array(l.buffer,l.byteOffset+l.bytesFilled,l.byteLength-l.bytesFilled),E=Object.create(ln.prototype);mC(E,i,h),i._byobRequest=E}return i._byobRequest}function xh(i){let l=i._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:i._strategyHWM-i._queueTotalSize}function Xs(i,l){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(l!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(l===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+l>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=pr(h.buffer),vh(i,l)}function Qs(i,l){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(l.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(l.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!==l.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==l.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+l.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=l.byteLength;h.buffer=pr(l.buffer),vh(i,R)}function Oh(i,l,h,E,R,U,q){l._controlledReadableByteStream=i,l._pullAgain=!1,l._pulling=!1,l._byobRequest=null,l._queue=l._queueTotalSize=void 0,Mr(l),l._closeRequested=!1,l._started=!1,l._strategyHWM=U,l._pullAlgorithm=E,l._cancelAlgorithm=R,l._autoAllocateChunkSize=q,l._pendingPullIntos=new T,i._readableStreamController=l;let Q=h();y(f(Q),()=>(l._started=!0,dn(l),null),fe=>(Dt(l,fe),null))}function gC(i,l,h){let E=Object.create(gr.prototype),R,U,q;l.start!==void 0?R=()=>l.start(E):R=()=>{},l.pull!==void 0?U=()=>l.pull(E):U=()=>f(void 0),l.cancel!==void 0?q=fe=>l.cancel(fe):q=()=>f(void 0);let Q=l.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Oh(i,E,R,U,q,h,Q)}function mC(i,l,h){i._associatedReadableByteStreamController=l,i._view=h}function gc(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Lo(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function yC(i,l){ue(i,l);let h=i?.mode;return{mode:h===void 0?void 0:_C(h,`${l} has member 'mode' that`)}}function _C(i,l){if(i=`${i}`,i!=="byob")throw new TypeError(`${l} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function bC(i,l){var h;ue(i,l);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(E,`${l} has member 'min' that`)}}function Fh(i){return new Ur(i)}function Ph(i,l){i._reader._readIntoRequests.push(l)}function CC(i,l,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(l):R._chunkSteps(l)}function Ih(i){return i._reader._readIntoRequests.length}function mc(i){let l=i._reader;return!(l===void 0||!hn(l))}class Ur{constructor(l){if(Be(l,1,"ReadableStreamBYOBReader"),I(l,"First parameter"),$r(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!fn(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");K(this,l),this._readIntoRequests=new T}get closed(){return hn(this)?this._closedPromise:d(Zs("closed"))}cancel(l=void 0){return hn(this)?this._ownerReadableStream===void 0?d(me("cancel")):se(this,l):d(Zs("cancel"))}read(l,h={}){if(!hn(this))return d(Zs("read"));if(!ArrayBuffer.isView(l))return d(new TypeError("view must be an array buffer view"));if(l.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(l.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(jr(l.buffer))return d(new TypeError("view's buffer has been detached"));let E;try{E=bC(h,"options")}catch(oe){return d(oe)}let R=E.min;if(R===0)return d(new TypeError("options.min must be greater than 0"));if(uC(l)){if(R>l.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>l.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(me("read from"));let U,q,Q=c((oe,de)=>{U=oe,q=de});return Nh(this,l,R,{_chunkSteps:oe=>U({value:oe,done:!1}),_closeSteps:oe=>U({value:oe,done:!0}),_errorSteps:oe=>q(oe)}),Q}releaseLock(){if(!hn(this))throw Zs("releaseLock");this._ownerReadableStream!==void 0&&wC(this)}}Object.defineProperties(Ur.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Ur.prototype.cancel,"cancel"),o(Ur.prototype.read,"read"),o(Ur.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ur.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function hn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Ur}function Nh(i,l,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):fC(R._readableStreamController,l,h,E)}function wC(i){_e(i);let l=new TypeError("Reader was released");Bh(i,l)}function Bh(i,l){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(E=>{E._errorSteps(l)})}function Zs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function qo(i,l){let{highWaterMark:h}=i;if(h===void 0)return l;if(pt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function ei(i){let{size:l}=i;return l||(()=>1)}function ti(i,l){ue(i,l);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:S(h),size:E===void 0?void 0:EC(E,`${l} has member 'size' that`)}}function EC(i,l){return re(i,l),h=>S(i(h))}function kC(i,l){ue(i,l);let h=i?.abort,E=i?.close,R=i?.start,U=i?.type,q=i?.write;return{abort:h===void 0?void 0:SC(h,i,`${l} has member 'abort' that`),close:E===void 0?void 0:AC(E,i,`${l} has member 'close' that`),start:R===void 0?void 0:TC(R,i,`${l} has member 'start' that`),write:q===void 0?void 0:DC(q,i,`${l} has member 'write' that`),type:U}}function SC(i,l,h){return re(i,h),E=>k(i,l,[E])}function AC(i,l,h){return re(i,h),()=>k(i,l,[])}function TC(i,l,h){return re(i,h),E=>v(i,l,[E])}function DC(i,l,h){return re(i,h),(E,R)=>k(i,l,[E,R])}function jh(i,l){if(!zn(i))throw new TypeError(`${l} is not a WritableStream.`)}function vC(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let RC=typeof AbortController=="function";function xC(){if(RC)return new AbortController}class Lr{constructor(l={},h={}){l===void 0?l=null:xe(l,"First parameter");let E=ti(h,"Second parameter"),R=kC(l,"First parameter");if(Uh(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let q=ei(E),Q=qo(E,1);HC(this,R,Q,q)}get locked(){if(!zn(this))throw ii("locked");return Hn(this)}abort(l=void 0){return zn(this)?Hn(this)?d(new TypeError("Cannot abort a stream that already has a writer")):ri(this,l):d(ii("abort"))}close(){return zn(this)?Hn(this)?d(new TypeError("Cannot close a stream that already has a writer")):Qt(this)?d(new TypeError("Cannot close an already-closing stream")):Lh(this):d(ii("close"))}getWriter(){if(!zn(this))throw ii("getWriter");return Mh(this)}}Object.defineProperties(Lr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Lr.prototype.abort,"abort"),o(Lr.prototype.close,"close"),o(Lr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Mh(i){return new mr(i)}function OC(i,l,h,E,R=1,U=()=>1){let q=Object.create(Lr.prototype);Uh(q);let Q=Object.create(Wn.prototype);return Gh(q,Q,i,l,h,E,R,U),q}function Uh(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 zn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Lr}function Hn(i){return i._writer!==void 0}function ri(i,l){var h;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=l,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(l);let E=i._state;if(E==="closed"||E==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;E==="erroring"&&(R=!0,l=void 0);let U=c((q,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:Q,_reason:l,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=U,R||_c(i,l),U}function Lh(i){let l=i._state;if(l==="closed"||l==="errored")return d(new TypeError(`The stream (in ${l} state) is not in the writable state and cannot be closed`));let h=c((R,U)=>{let q={_resolve:R,_reject:U};i._closeRequest=q}),E=i._writer;return E!==void 0&&i._backpressure&&l==="writable"&&Tc(E),WC(i._writableStreamController),h}function FC(i){return c((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function yc(i,l){if(i._state==="writable"){_c(i,l);return}bc(i)}function _c(i,l){let h=i._writableStreamController;i._state="erroring",i._storedError=l;let E=i._writer;E!==void 0&&$h(E,l),!jC(i)&&h._started&&bc(i)}function bc(i){i._state="errored",i._writableStreamController[N]();let l=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(l)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){ni(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(l),ni(i);return}let E=i._writableStreamController[O](h._reason);y(E,()=>(h._resolve(),ni(i),null),R=>(h._reject(R),ni(i),null))}function PC(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function IC(i,l){i._inFlightWriteRequest._reject(l),i._inFlightWriteRequest=void 0,yc(i,l)}function NC(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&&Yh(h)}function BC(i,l){i._inFlightCloseRequest._reject(l),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(l),i._pendingAbortRequest=void 0),yc(i,l)}function Qt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function jC(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function MC(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function UC(i){i._inFlightWriteRequest=i._writeRequests.shift()}function ni(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let l=i._writer;l!==void 0&&Sc(l,i._storedError)}function Cc(i,l){let h=i._writer;h!==void 0&&l!==i._backpressure&&(l?QC(h):Tc(h)),i._backpressure=l}class mr{constructor(l){if(Be(l,1,"WritableStreamDefaultWriter"),jh(l,"First parameter"),Hn(l))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=l,l._writer=this;let h=l._state;if(h==="writable")!Qt(l)&&l._backpressure?ui(this):Xh(this),ai(this);else if(h==="erroring")Ac(this,l._storedError),ai(this);else if(h==="closed")Xh(this),YC(this);else{let E=l._storedError;Ac(this,E),Kh(this,E)}}get closed(){return pn(this)?this._closedPromise:d(gn("closed"))}get desiredSize(){if(!pn(this))throw gn("desiredSize");if(this._ownerWritableStream===void 0)throw zo("desiredSize");return zC(this)}get ready(){return pn(this)?this._readyPromise:d(gn("ready"))}abort(l=void 0){return pn(this)?this._ownerWritableStream===void 0?d(zo("abort")):LC(this,l):d(gn("abort"))}close(){if(!pn(this))return d(gn("close"));let l=this._ownerWritableStream;return l===void 0?d(zo("close")):Qt(l)?d(new TypeError("Cannot close an already-closing stream")):qh(this)}releaseLock(){if(!pn(this))throw gn("releaseLock");this._ownerWritableStream!==void 0&&zh(this)}write(l=void 0){return pn(this)?this._ownerWritableStream===void 0?d(zo("write to")):Hh(this,l):d(gn("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 pn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mr}function LC(i,l){let h=i._ownerWritableStream;return ri(h,l)}function qh(i){let l=i._ownerWritableStream;return Lh(l)}function qC(i){let l=i._ownerWritableStream,h=l._state;return Qt(l)||h==="closed"?f(void 0):h==="errored"?d(l._storedError):qh(i)}function $C(i,l){i._closedPromiseState==="pending"?Sc(i,l):XC(i,l)}function $h(i,l){i._readyPromiseState==="pending"?Qh(i,l):ZC(i,l)}function zC(i){let l=i._ownerWritableStream,h=l._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Jh(l._writableStreamController)}function zh(i){let l=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");$h(i,h),$C(i,h),l._writer=void 0,i._ownerWritableStream=void 0}function Hh(i,l){let h=i._ownerWritableStream,E=h._writableStreamController,R=GC(E,l);if(h!==i._ownerWritableStream)return d(zo("write to"));let U=h._state;if(U==="errored")return d(h._storedError);if(Qt(h)||U==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(U==="erroring")return d(h._storedError);let q=FC(h);return JC(E,l,R),q}let Wh={};class Wn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!wc(this))throw kc("abortReason");return this._abortReason}get signal(){if(!wc(this))throw kc("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!wc(this))throw kc("error");this._controlledWritableStream._state==="writable"&&Vh(this,l)}[O](l){let h=this._abortAlgorithm(l);return oi(this),h}[N](){Mr(this)}}Object.defineProperties(Wn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function wc(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof Wn}function Gh(i,l,h,E,R,U,q,Q){l._controlledWritableStream=i,i._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,Mr(l),l._abortReason=void 0,l._abortController=xC(),l._started=!1,l._strategySizeAlgorithm=Q,l._strategyHWM=q,l._writeAlgorithm=E,l._closeAlgorithm=R,l._abortAlgorithm=U;let fe=Ec(l);Cc(i,fe);let oe=h(),de=f(oe);y(de,()=>(l._started=!0,si(l),null),ye=>(l._started=!0,yc(i,ye),null))}function HC(i,l,h,E){let R=Object.create(Wn.prototype),U,q,Q,fe;l.start!==void 0?U=()=>l.start(R):U=()=>{},l.write!==void 0?q=oe=>l.write(oe,R):q=()=>f(void 0),l.close!==void 0?Q=()=>l.close():Q=()=>f(void 0),l.abort!==void 0?fe=oe=>l.abort(oe):fe=()=>f(void 0),Gh(i,R,U,q,Q,fe,h,E)}function oi(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function WC(i){cc(i,Wh,0),si(i)}function GC(i,l){try{return i._strategySizeAlgorithm(l)}catch(h){return $o(i,h),1}}function Jh(i){return i._strategyHWM-i._queueTotalSize}function JC(i,l,h){try{cc(i,l,h)}catch(R){$o(i,R);return}let E=i._controlledWritableStream;if(!Qt(E)&&E._state==="writable"){let R=Ec(i);Cc(E,R)}si(i)}function si(i){let l=i._controlledWritableStream;if(!i._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){bc(l);return}if(i._queue.length===0)return;let E=aC(i);E===Wh?VC(i):KC(i,E)}function $o(i,l){i._controlledWritableStream._state==="writable"&&Vh(i,l)}function VC(i){let l=i._controlledWritableStream;MC(l),uc(i);let h=i._closeAlgorithm();oi(i),y(h,()=>(NC(l),null),E=>(BC(l,E),null))}function KC(i,l){let h=i._controlledWritableStream;UC(h);let E=i._writeAlgorithm(l);y(E,()=>{PC(h);let R=h._state;if(uc(i),!Qt(h)&&R==="writable"){let U=Ec(i);Cc(h,U)}return si(i),null},R=>(h._state==="writable"&&oi(i),IC(h,R),null))}function Ec(i){return Jh(i)<=0}function Vh(i,l){let h=i._controlledWritableStream;oi(i),_c(h,l)}function ii(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function kc(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function gn(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function zo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function ai(i){i._closedPromise=c((l,h)=>{i._closedPromise_resolve=l,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Kh(i,l){ai(i),Sc(i,l)}function YC(i){ai(i),Yh(i)}function Sc(i,l){i._closedPromise_reject!==void 0&&(b(i._closedPromise),i._closedPromise_reject(l),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function XC(i,l){Kh(i,l)}function Yh(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 ui(i){i._readyPromise=c((l,h)=>{i._readyPromise_resolve=l,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Ac(i,l){ui(i),Qh(i,l)}function Xh(i){ui(i),Tc(i)}function Qh(i,l){i._readyPromise_reject!==void 0&&(b(i._readyPromise),i._readyPromise_reject(l),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function QC(i){ui(i)}function ZC(i,l){Ac(i,l)}function Tc(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 ew(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Dc=ew();function tw(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function rw(){let i=Dc?.DOMException;return tw(i)?i:void 0}function nw(){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 ow=rw()||nw();function Zh(i,l,h,E,R,U){let q=L(i),Q=Mh(l);i._disturbed=!0;let fe=!1,oe=f(void 0);return c((de,ye)=>{let Re;if(U!==void 0){if(Re=()=>{let ae=U.reason!==void 0?U.reason:new ow("Aborted","AbortError"),be=[];E||be.push(()=>l._state==="writable"?ri(l,ae):f(void 0)),R||be.push(()=>i._state==="readable"?Lt(i,ae):f(void 0)),ut(()=>Promise.all(be.map(Oe=>Oe())),!0,ae)},U.aborted){Re();return}U.addEventListener("abort",Re)}function qt(){return c((ae,be)=>{function Oe(gt){gt?ae():p(Kn(),Oe,be)}Oe(!1)})}function Kn(){return fe?f(!0):p(Q._readyPromise,()=>c((ae,be)=>{te(q,{_chunkSteps:Oe=>{oe=p(Hh(Q,Oe),void 0,e),ae(!1)},_closeSteps:()=>ae(!0),_errorSteps:be})}))}if(_r(i,q._closedPromise,ae=>(E?vt(!0,ae):ut(()=>ri(l,ae),!0,ae),null)),_r(l,Q._closedPromise,ae=>(R?vt(!0,ae):ut(()=>Lt(i,ae),!0,ae),null)),ot(i,q._closedPromise,()=>(h?vt():ut(()=>qC(Q)),null)),Qt(l)||l._state==="closed"){let ae=new TypeError("the destination writable stream closed before all data could be piped to it");R?vt(!0,ae):ut(()=>Lt(i,ae),!0,ae)}b(qt());function Hr(){let ae=oe;return p(oe,()=>ae!==oe?Hr():void 0)}function _r(ae,be,Oe){ae._state==="errored"?Oe(ae._storedError):g(be,Oe)}function ot(ae,be,Oe){ae._state==="closed"?Oe():A(be,Oe)}function ut(ae,be,Oe){if(fe)return;fe=!0,l._state==="writable"&&!Qt(l)?A(Hr(),gt):gt();function gt(){return y(ae(),()=>br(be,Oe),Yn=>br(!0,Yn)),null}}function vt(ae,be){fe||(fe=!0,l._state==="writable"&&!Qt(l)?A(Hr(),()=>br(ae,be)):br(ae,be))}function br(ae,be){return zh(Q),_e(q),U!==void 0&&U.removeEventListener("abort",Re),ae?ye(be):de(void 0),null}})}class yr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ci(this))throw fi("desiredSize");return vc(this)}close(){if(!ci(this))throw fi("close");if(!Jn(this))throw new TypeError("The stream is not in a state that permits close");mn(this)}enqueue(l=void 0){if(!ci(this))throw fi("enqueue");if(!Jn(this))throw new TypeError("The stream is not in a state that permits enqueue");return Gn(this,l)}error(l=void 0){if(!ci(this))throw fi("error");Ut(this,l)}[G](l){Mr(this);let h=this._cancelAlgorithm(l);return li(this),h}[$](l){let h=this._controlledReadableStream;if(this._queue.length>0){let E=uc(this);this._closeRequested&&this._queue.length===0?(li(this),Go(h)):Ho(this),l._chunkSteps(E)}else x(h,l),Ho(this)}[X](){}}Object.defineProperties(yr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(yr.prototype.close,"close"),o(yr.prototype.enqueue,"enqueue"),o(yr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function ci(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof yr}function Ho(i){if(!ep(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ho(i)),null),E=>(Ut(i,E),null))}function ep(i){let l=i._controlledReadableStream;return!Jn(i)||!i._started?!1:!!($r(l)&&M(l)>0||vc(i)>0)}function li(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function mn(i){if(!Jn(i))return;let l=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(li(i),Go(l))}function Gn(i,l){if(!Jn(i))return;let h=i._controlledReadableStream;if($r(h)&&M(h)>0)P(h,l,!1);else{let E;try{E=i._strategySizeAlgorithm(l)}catch(R){throw Ut(i,R),R}try{cc(i,l,E)}catch(R){throw Ut(i,R),R}}Ho(i)}function Ut(i,l){let h=i._controlledReadableStream;h._state==="readable"&&(Mr(i),li(i),op(h,l))}function vc(i){let l=i._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:i._strategyHWM-i._queueTotalSize}function sw(i){return!ep(i)}function Jn(i){let l=i._controlledReadableStream._state;return!i._closeRequested&&l==="readable"}function tp(i,l,h,E,R,U,q){l._controlledReadableStream=i,l._queue=void 0,l._queueTotalSize=void 0,Mr(l),l._started=!1,l._closeRequested=!1,l._pullAgain=!1,l._pulling=!1,l._strategySizeAlgorithm=q,l._strategyHWM=U,l._pullAlgorithm=E,l._cancelAlgorithm=R,i._readableStreamController=l;let Q=h();y(f(Q),()=>(l._started=!0,Ho(l),null),fe=>(Ut(l,fe),null))}function iw(i,l,h,E){let R=Object.create(yr.prototype),U,q,Q;l.start!==void 0?U=()=>l.start(R):U=()=>{},l.pull!==void 0?q=()=>l.pull(R):q=()=>f(void 0),l.cancel!==void 0?Q=fe=>l.cancel(fe):Q=()=>f(void 0),tp(i,R,U,q,Q,h,E)}function fi(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function aw(i,l){return fn(i._readableStreamController)?cw(i):uw(i)}function uw(i,l){let h=L(i),E=!1,R=!1,U=!1,q=!1,Q,fe,oe,de,ye,Re=c(ot=>{ye=ot});function qt(){return E?(R=!0,f(void 0)):(E=!0,te(h,{_chunkSteps:ut=>{m(()=>{R=!1;let vt=ut,br=ut;U||Gn(oe._readableStreamController,vt),q||Gn(de._readableStreamController,br),E=!1,R&&qt()})},_closeSteps:()=>{E=!1,U||mn(oe._readableStreamController),q||mn(de._readableStreamController),(!U||!q)&&ye(void 0)},_errorSteps:()=>{E=!1}}),f(void 0))}function Kn(ot){if(U=!0,Q=ot,q){let ut=De([Q,fe]),vt=Lt(i,ut);ye(vt)}return Re}function Hr(ot){if(q=!0,fe=ot,U){let ut=De([Q,fe]),vt=Lt(i,ut);ye(vt)}return Re}function _r(){}return oe=Wo(_r,qt,Kn),de=Wo(_r,qt,Hr),g(h._closedPromise,ot=>(Ut(oe._readableStreamController,ot),Ut(de._readableStreamController,ot),(!U||!q)&&ye(void 0),null)),[oe,de]}function cw(i){let l=L(i),h=!1,E=!1,R=!1,U=!1,q=!1,Q,fe,oe,de,ye,Re=c(ae=>{ye=ae});function qt(ae){g(ae._closedPromise,be=>(ae!==l||(Dt(oe._readableStreamController,be),Dt(de._readableStreamController,be),(!U||!q)&&ye(void 0)),null))}function Kn(){hn(l)&&(_e(l),l=L(i),qt(l)),te(l,{_chunkSteps:be=>{m(()=>{E=!1,R=!1;let Oe=be,gt=be;if(!U&&!q)try{gt=bh(be)}catch(Yn){Dt(oe._readableStreamController,Yn),Dt(de._readableStreamController,Yn),ye(Lt(i,Yn));return}U||Ys(oe._readableStreamController,Oe),q||Ys(de._readableStreamController,gt),h=!1,E?_r():R&&ot()})},_closeSteps:()=>{h=!1,U||Uo(oe._readableStreamController),q||Uo(de._readableStreamController),oe._readableStreamController._pendingPullIntos.length>0&&Xs(oe._readableStreamController,0),de._readableStreamController._pendingPullIntos.length>0&&Xs(de._readableStreamController,0),(!U||!q)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function Hr(ae,be){ee(l)&&(_e(l),l=Fh(i),qt(l));let Oe=be?de:oe,gt=be?oe:de;Nh(l,ae,1,{_chunkSteps:Xn=>{m(()=>{E=!1,R=!1;let Qn=be?q:U;if(be?U:q)Qn||Qs(Oe._readableStreamController,Xn);else{let yp;try{yp=bh(Xn)}catch(Pc){Dt(Oe._readableStreamController,Pc),Dt(gt._readableStreamController,Pc),ye(Lt(i,Pc));return}Qn||Qs(Oe._readableStreamController,Xn),Ys(gt._readableStreamController,yp)}h=!1,E?_r():R&&ot()})},_closeSteps:Xn=>{h=!1;let Qn=be?q:U,bi=be?U:q;Qn||Uo(Oe._readableStreamController),bi||Uo(gt._readableStreamController),Xn!==void 0&&(Qn||Qs(Oe._readableStreamController,Xn),!bi&&gt._readableStreamController._pendingPullIntos.length>0&&Xs(gt._readableStreamController,0)),(!Qn||!bi)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function _r(){if(h)return E=!0,f(void 0);h=!0;let ae=pc(oe._readableStreamController);return ae===null?Kn():Hr(ae._view,!1),f(void 0)}function ot(){if(h)return R=!0,f(void 0);h=!0;let ae=pc(de._readableStreamController);return ae===null?Kn():Hr(ae._view,!0),f(void 0)}function ut(ae){if(U=!0,Q=ae,q){let be=De([Q,fe]),Oe=Lt(i,be);ye(Oe)}return Re}function vt(ae){if(q=!0,fe=ae,U){let be=De([Q,fe]),Oe=Lt(i,be);ye(Oe)}return Re}function br(){}return oe=np(br,_r,ut),de=np(br,ot,vt),qt(l),[oe,de]}function lw(i){return r(i)&&typeof i.getReader<"u"}function fw(i){return lw(i)?hw(i.getReader()):dw(i)}function dw(i){let l,h=_h(i,"async"),E=e;function R(){let q;try{q=nC(h)}catch(fe){return d(fe)}let Q=f(q);return _(Q,fe=>{if(!r(fe))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(oC(fe))mn(l._readableStreamController);else{let de=sC(fe);Gn(l._readableStreamController,de)}})}function U(q){let Q=h.iterator,fe;try{fe=Js(Q,"return")}catch(ye){return d(ye)}if(fe===void 0)return f(void 0);let oe;try{oe=v(fe,Q,[q])}catch(ye){return d(ye)}let de=f(oe);return _(de,ye=>{if(!r(ye))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return l=Wo(E,R,U,0),l}function hw(i){let l,h=e;function E(){let U;try{U=i.read()}catch(q){return d(q)}return _(U,q=>{if(!r(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)mn(l._readableStreamController);else{let Q=q.value;Gn(l._readableStreamController,Q)}})}function R(U){try{return f(i.cancel(U))}catch(q){return d(q)}}return l=Wo(h,E,R,0),l}function pw(i,l){ue(i,l);let h=i,E=h?.autoAllocateChunkSize,R=h?.cancel,U=h?.pull,q=h?.start,Q=h?.type;return{autoAllocateChunkSize:E===void 0?void 0:F(E,`${l} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:gw(R,h,`${l} has member 'cancel' that`),pull:U===void 0?void 0:mw(U,h,`${l} has member 'pull' that`),start:q===void 0?void 0:yw(q,h,`${l} has member 'start' that`),type:Q===void 0?void 0:_w(Q,`${l} has member 'type' that`)}}function gw(i,l,h){return re(i,h),E=>k(i,l,[E])}function mw(i,l,h){return re(i,h),E=>k(i,l,[E])}function yw(i,l,h){return re(i,h),E=>v(i,l,[E])}function _w(i,l){if(i=`${i}`,i!=="bytes")throw new TypeError(`${l} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function bw(i,l){return ue(i,l),{preventCancel:!!i?.preventCancel}}function rp(i,l){ue(i,l);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,U=i?.signal;return U!==void 0&&Cw(U,`${l} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:U}}function Cw(i,l){if(!vC(i))throw new TypeError(`${l} is not an AbortSignal.`)}function ww(i,l){ue(i,l);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${l} has member 'readable' that`);let E=i?.writable;return C(E,"writable","ReadableWritablePair"),jh(E,`${l} has member 'writable' that`),{readable:h,writable:E}}class rt{constructor(l={},h={}){l===void 0?l=null:xe(l,"First parameter");let E=ti(h,"Second parameter"),R=pw(l,"First parameter");if(Rc(this),R.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let U=qo(E,0);gC(this,R,U)}else{let U=ei(E),q=qo(E,1);iw(this,R,q,U)}}get locked(){if(!qr(this))throw yn("locked");return $r(this)}cancel(l=void 0){return qr(this)?$r(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Lt(this,l):d(yn("cancel"))}getReader(l=void 0){if(!qr(this))throw yn("getReader");return yC(l,"First parameter").mode===void 0?L(this):Fh(this)}pipeThrough(l,h={}){if(!qr(this))throw yn("pipeThrough");Be(l,1,"pipeThrough");let E=ww(l,"First parameter"),R=rp(h,"Second parameter");if($r(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Hn(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let U=Zh(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return b(U),E.readable}pipeTo(l,h={}){if(!qr(this))return d(yn("pipeTo"));if(l===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!zn(l))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=rp(h,"Second parameter")}catch(R){return d(R)}return $r(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Hn(l)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Zh(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!qr(this))throw yn("tee");let l=aw(this);return De(l)}values(l=void 0){if(!qr(this))throw yn("values");let h=bw(l,"First parameter");return Un(this,h.preventCancel)}[ac](l){return this.values(l)}static from(l){return fw(l)}}Object.defineProperties(rt,{from:{enumerable:!0}}),Object.defineProperties(rt.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(rt.from,"from"),o(rt.prototype.cancel,"cancel"),o(rt.prototype.getReader,"getReader"),o(rt.prototype.pipeThrough,"pipeThrough"),o(rt.prototype.pipeTo,"pipeTo"),o(rt.prototype.tee,"tee"),o(rt.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rt.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(rt.prototype,ac,{value:rt.prototype.values,writable:!0,configurable:!0});function Wo(i,l,h,E=1,R=()=>1){let U=Object.create(rt.prototype);Rc(U);let q=Object.create(yr.prototype);return tp(U,q,i,l,h,E,R),U}function np(i,l,h){let E=Object.create(rt.prototype);Rc(E);let R=Object.create(gr.prototype);return Oh(E,R,i,l,h,0,void 0),E}function Rc(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function qr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof rt}function $r(i){return i._reader!==void 0}function Lt(i,l){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Go(i);let h=i._reader;if(h!==void 0&&hn(h)){let R=h._readIntoRequests;h._readIntoRequests=new T,R.forEach(U=>{U._closeSteps(void 0)})}let E=i._readableStreamController[G](l);return _(E,e)}function Go(i){i._state="closed";let l=i._reader;if(l!==void 0&&(Z(l),ee(l))){let h=l._readRequests;l._readRequests=new T,h.forEach(E=>{E._closeSteps()})}}function op(i,l){i._state="errored",i._storedError=l;let h=i._reader;h!==void 0&&(V(h,l),ee(h)?Pe(h,l):Bh(h,l))}function yn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function sp(i,l){ue(i,l);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:S(h)}}let ip=i=>i.byteLength;o(ip,"size");class di{constructor(l){Be(l,1,"ByteLengthQueuingStrategy"),l=sp(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!up(this))throw ap("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!up(this))throw ap("size");return ip}}Object.defineProperties(di.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(di.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function ap(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function up(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof di}let cp=()=>1;o(cp,"size");class hi{constructor(l){Be(l,1,"CountQueuingStrategy"),l=sp(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!fp(this))throw lp("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!fp(this))throw lp("size");return cp}}Object.defineProperties(hi.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hi.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function lp(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function fp(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof hi}function Ew(i,l){ue(i,l);let h=i?.cancel,E=i?.flush,R=i?.readableType,U=i?.start,q=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:Tw(h,i,`${l} has member 'cancel' that`),flush:E===void 0?void 0:kw(E,i,`${l} has member 'flush' that`),readableType:R,start:U===void 0?void 0:Sw(U,i,`${l} has member 'start' that`),transform:q===void 0?void 0:Aw(q,i,`${l} has member 'transform' that`),writableType:Q}}function kw(i,l,h){return re(i,h),E=>k(i,l,[E])}function Sw(i,l,h){return re(i,h),E=>v(i,l,[E])}function Aw(i,l,h){return re(i,h),(E,R)=>k(i,l,[E,R])}function Tw(i,l,h){return re(i,h),E=>k(i,l,[E])}class pi{constructor(l={},h={},E={}){l===void 0&&(l=null);let R=ti(h,"Second parameter"),U=ti(E,"Third parameter"),q=Ew(l,"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 Q=qo(U,0),fe=ei(U),oe=qo(R,1),de=ei(R),ye,Re=c(qt=>{ye=qt});Dw(this,Re,oe,de,Q,fe),Rw(this,q),q.start!==void 0?ye(q.start(this._transformStreamController)):ye(void 0)}get readable(){if(!dp(this))throw mp("readable");return this._readable}get writable(){if(!dp(this))throw mp("writable");return this._writable}}Object.defineProperties(pi.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pi.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Dw(i,l,h,E,R,U){function q(){return l}function Q(Re){return Fw(i,Re)}function fe(Re){return Pw(i,Re)}function oe(){return Iw(i)}i._writable=OC(q,Q,oe,fe,h,E);function de(){return Nw(i)}function ye(Re){return Bw(i,Re)}i._readable=Wo(q,de,ye,R,U),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,gi(i,!0),i._transformStreamController=void 0}function dp(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof pi}function hp(i,l){Ut(i._readable._readableStreamController,l),xc(i,l)}function xc(i,l){yi(i._transformStreamController),$o(i._writable._writableStreamController,l),Oc(i)}function Oc(i){i._backpressure&&gi(i,!1)}function gi(i,l){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=c(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=l}class zr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!mi(this))throw _i("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return vc(l)}enqueue(l=void 0){if(!mi(this))throw _i("enqueue");pp(this,l)}error(l=void 0){if(!mi(this))throw _i("error");xw(this,l)}terminate(){if(!mi(this))throw _i("terminate");Ow(this)}}Object.defineProperties(zr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(zr.prototype.enqueue,"enqueue"),o(zr.prototype.error,"error"),o(zr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function mi(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof zr}function vw(i,l,h,E,R){l._controlledTransformStream=i,i._transformStreamController=l,l._transformAlgorithm=h,l._flushAlgorithm=E,l._cancelAlgorithm=R,l._finishPromise=void 0,l._finishPromise_resolve=void 0,l._finishPromise_reject=void 0}function Rw(i,l){let h=Object.create(zr.prototype),E,R,U;l.transform!==void 0?E=q=>l.transform(q,h):E=q=>{try{return pp(h,q),f(void 0)}catch(Q){return d(Q)}},l.flush!==void 0?R=()=>l.flush(h):R=()=>f(void 0),l.cancel!==void 0?U=q=>l.cancel(q):U=()=>f(void 0),vw(i,h,E,R,U)}function yi(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function pp(i,l){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!Jn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Gn(E,l)}catch(U){throw xc(h,U),h._readable._storedError}sw(E)!==h._backpressure&&gi(h,!0)}function xw(i,l){hp(i._controlledTransformStream,l)}function gp(i,l){let h=i._transformAlgorithm(l);return _(h,void 0,E=>{throw hp(i._controlledTransformStream,E),E})}function Ow(i){let l=i._controlledTransformStream,h=l._readable._readableStreamController;mn(h);let E=new TypeError("TransformStream terminated");xc(l,E)}function Fw(i,l){let h=i._transformStreamController;if(i._backpressure){let E=i._backpressureChangePromise;return _(E,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return gp(h,l)})}return gp(h,l)}function Pw(i,l){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._readable;h._finishPromise=c((U,q)=>{h._finishPromise_resolve=U,h._finishPromise_reject=q});let R=h._cancelAlgorithm(l);return yi(h),y(R,()=>(E._state==="errored"?Vn(h,E._storedError):(Ut(E._readableStreamController,l),Fc(h)),null),U=>(Ut(E._readableStreamController,U),Vn(h,U),null)),h._finishPromise}function Iw(i){let l=i._transformStreamController;if(l._finishPromise!==void 0)return l._finishPromise;let h=i._readable;l._finishPromise=c((R,U)=>{l._finishPromise_resolve=R,l._finishPromise_reject=U});let E=l._flushAlgorithm();return yi(l),y(E,()=>(h._state==="errored"?Vn(l,h._storedError):(mn(h._readableStreamController),Fc(l)),null),R=>(Ut(h._readableStreamController,R),Vn(l,R),null)),l._finishPromise}function Nw(i){return gi(i,!1),i._backpressureChangePromise}function Bw(i,l){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._writable;h._finishPromise=c((U,q)=>{h._finishPromise_resolve=U,h._finishPromise_reject=q});let R=h._cancelAlgorithm(l);return yi(h),y(R,()=>(E._state==="errored"?Vn(h,E._storedError):($o(E._writableStreamController,l),Oc(i),Fc(h)),null),U=>($o(E._writableStreamController,U),Oc(i),Vn(h,U),null)),h._finishPromise}function _i(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Fc(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Vn(i,l){i._finishPromise_reject!==void 0&&(b(i._finishPromise),i._finishPromise_reject(l),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function mp(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=di,t.CountQueuingStrategy=hi,t.ReadableByteStreamController=gr,t.ReadableStream=rt,t.ReadableStreamBYOBReader=Ur,t.ReadableStreamBYOBRequest=ln,t.ReadableStreamDefaultController=yr,t.ReadableStreamDefaultReader=z,t.TransformStream=pi,t.TransformStreamDefaultController=zr,t.WritableStream=Lr,t.WritableStreamDefaultController=Wn,t.WritableStreamDefaultWriter=mr}))});var nm=J(()=>{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,rm())}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 u=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=u.byteLength,s.enqueue(new Uint8Array(u)),n===o.size&&s.close()}})})}catch{}});async function*dl(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,om),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+om)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var mF,om,sm,Rk,zt,Zo=Le(()=>{mF=$e(nm(),1);om=65536;sm=class hl{#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 hl?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 dl(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 dl(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=dl(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),u=Math.max(a-s,0),c=this.#e,f=[],d=0;for(let y of c){if(d>=u)break;let A=ArrayBuffer.isView(y)?y.byteLength:y.size;if(s&&A<=s)s-=A,a-=A;else{let g;ArrayBuffer.isView(y)?(g=y.subarray(s,Math.min(A,a)),d+=g.byteLength):(g=y.slice(s,Math.min(A,a)),d+=g.size),a-=A,f.push(g),s=0}}let p=new hl([],{type:String(n).toLowerCase()});return p.#r=u,p.#e=f,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(sm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Rk=sm,zt=Rk});var xk,Ok,Yr,pl=Le(()=>{Zo();xk=class extends zt{#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 zt&&/^(File)$/.test(e[Symbol.toStringTag])}},Ok=xk,Yr=Ok});function um(t,e=zt){var r=`${im()}${im()}`.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+gl(a)+`"\r
28
28
  \r
29
29
  ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
30
30
  `)}\r
31
- `):n.push(o+ol(a)+`"; filename="${ol(s.name,1)}"\r
31
+ `):n.push(o+gl(a)+`"; filename="${gl(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 Vo,Xk,Qk,Lg,Zk,qg,ol,Cn,Jr,$i=Me(()=>{Jo();nl();({toStringTag:Vo,iterator:Xk,hasInstance:Qk}=Symbol),Lg=Math.random,Zk="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),qg=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[Vo])?[(r=r!==void 0?r+"":e[Vo]=="File"?e.name:"blob",t),e.name!==r||e[Vo]=="blob"?new Gr([e],r,e):e]:[t,e+""]),ol=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
- `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Cn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Jr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Vo](){return"FormData"}[Xk](){return this.entries()}static[Qk](e){return e&&typeof e=="object"&&e[Vo]==="FormData"&&!Zk.some(r=>typeof e[r]!="function")}append(...e){Cn("append",arguments,2),this.#e.push(qg(...e))}delete(e){Cn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){Cn("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 Cn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return Cn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){Cn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){Cn("set",arguments,2);var r=[],n=!0;e=qg(...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 kr,zi=Me(()=>{kr=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,sl=Me(()=>{zi();nt=class extends kr{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Hi,il,Ko,zg,Hg,Wg,Wi=Me(()=>{Hi=Symbol.toStringTag,il=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[Hi]==="URLSearchParams",Ko=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[Hi]),zg=t=>typeof t=="object"&&(t[Hi]==="AbortSignal"||t[Hi]==="EventTarget"),Hg=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},Wg=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var Jg=V((RO,Gg)=>{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)}Gg.exports=globalThis.DOMException});var wn,Vg,Kg,al,Yg,Xg,Qg,Zg,em,tm,Gi,ul=Me(()=>{wn=require("node:fs"),Vg=require("node:path"),Kg=Le(Jg(),1);nl();Jo();({stat:al}=wn.promises),Yg=(t,e)=>em((0,wn.statSync)(t),t,e),Xg=(t,e)=>al(t).then(r=>em(r,t,e)),Qg=(t,e)=>al(t).then(r=>tm(r,t,e)),Zg=(t,e)=>tm((0,wn.statSync)(t),t,e),em=(t,e,r="")=>new qt([new Gi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),tm=(t,e,r="")=>new Gr([new Gi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,Vg.basename)(e),{type:r,lastModified:t.mtimeMs}),Gi=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 al(this.#e);if(e>this.lastModified)throw new Kg.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,wn.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var nm={};Dc(nm,{toFormData:()=>iS});function sS(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 iS(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 cl(r[1]||r[2]),o,s,a,u,l,f,d=[],p=new Jr,y=m=>{a+=b.decode(m,{stream:!0})},A=m=>{d.push(m)},g=()=>{let m=new Gr(d,f,{type:l});p.append(u,m)},C=()=>{p.append(u,a)},b=new TextDecoder("utf-8");b.decode(),n.onPartBegin=function(){n.onPartData=y,n.onPartEnd=C,o="",s="",a="",u="",l="",f=null,d.length=0},n.onHeaderField=function(m){o+=b.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=b.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=b.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(u=m[2]||m[3]||""),f=sS(s),f&&(n.onPartData=A,n.onPartEnd=g)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var Zt,Oe,rm,Vr,Ji,Vi,eS,Yo,tS,rS,nS,oS,kn,cl,om=Me(()=>{ul();$i();Zt=0,Oe={START_BOUNDARY:Zt++,HEADER_FIELD_START:Zt++,HEADER_FIELD:Zt++,HEADER_VALUE_START:Zt++,HEADER_VALUE:Zt++,HEADER_VALUE_ALMOST_DONE:Zt++,HEADERS_ALMOST_DONE:Zt++,PART_DATA_START:Zt++,PART_DATA:Zt++,END:Zt++},rm=1,Vr={PART_BOUNDARY:rm,LAST_BOUNDARY:rm*=2},Ji=10,Vi=13,eS=32,Yo=45,tS=58,rS=97,nS=122,oS=t=>t|32,kn=()=>{},cl=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=kn,this.onHeaderField=kn,this.onHeadersEnd=kn,this.onHeaderValue=kn,this.onPartBegin=kn,this.onPartData=kn,this.onPartEnd=kn,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=Oe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:l,state:f,flags:d}=this,p=this.boundary.length,y=p-1,A=e.length,g,C,b=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,T,O,N)=>{(T===void 0||T!==O)&&this[S](N&&N.subarray(T,O))},k=(S,T)=>{let O=S+"Mark";O in this&&(T?(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(g=e[r],f){case Oe.START_BOUNDARY:if(l===a.length-2){if(g===Yo)d|=Vr.LAST_BOUNDARY;else if(g!==Vi)return;l++;break}else if(l-1===a.length-2){if(d&Vr.LAST_BOUNDARY&&g===Yo)f=Oe.END,d=0;else if(!(d&Vr.LAST_BOUNDARY)&&g===Ji)l=0,v("onPartBegin"),f=Oe.HEADER_FIELD_START;else return;break}g!==a[l+2]&&(l=-2),g===a[l+2]&&l++;break;case Oe.HEADER_FIELD_START:f=Oe.HEADER_FIELD,b("onHeaderField"),l=0;case Oe.HEADER_FIELD:if(g===Vi){m("onHeaderField"),f=Oe.HEADERS_ALMOST_DONE;break}if(l++,g===Yo)break;if(g===tS){if(l===1)return;k("onHeaderField",!0),f=Oe.HEADER_VALUE_START;break}if(C=oS(g),C<rS||C>nS)return;break;case Oe.HEADER_VALUE_START:if(g===eS)break;b("onHeaderValue"),f=Oe.HEADER_VALUE;case Oe.HEADER_VALUE:g===Vi&&(k("onHeaderValue",!0),v("onHeaderEnd"),f=Oe.HEADER_VALUE_ALMOST_DONE);break;case Oe.HEADER_VALUE_ALMOST_DONE:if(g!==Ji)return;f=Oe.HEADER_FIELD_START;break;case Oe.HEADERS_ALMOST_DONE:if(g!==Ji)return;v("onHeadersEnd"),f=Oe.PART_DATA_START;break;case Oe.PART_DATA_START:f=Oe.PART_DATA,b("onPartData");case Oe.PART_DATA:if(o=l,l===0){for(r+=y;r<A&&!(e[r]in u);)r+=p;r-=y,g=e[r]}if(l<a.length)a[l]===g?(l===0&&k("onPartData",!0),l++):l=0;else if(l===a.length)l++,g===Vi?d|=Vr.PART_BOUNDARY:g===Yo?d|=Vr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(d&Vr.PART_BOUNDARY){if(l=0,g===Ji){d&=~Vr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Oe.HEADER_FIELD_START;break}}else d&Vr.LAST_BOUNDARY&&g===Yo?(v("onPartEnd"),f=Oe.END,d=0):l=0;if(l>0)s[l-1]=g;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,b("onPartData"),r--}break;case Oe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}k("onHeaderField"),k("onHeaderValue"),k("onPartData"),this.index=l,this.state=f,this.flags=d}end(){if(this.state===Oe.HEADER_FIELD_START&&this.index===0||this.state===Oe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Oe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function ll(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 gt.Buffer.alloc(0);if(!(e instanceof xt.default))return gt.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 kr?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")?gt.Buffer.from(r.join("")):gt.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 xt,Sr,gt,aS,ct,er,to,uS,Ki,sm,im,Yi=Me(()=>{xt=Le(require("node:stream"),1),Sr=require("node:util"),gt=require("node:buffer");Jo();$i();sl();zi();Wi();aS=(0,Sr.promisify)(xt.default.pipeline),ct=Symbol("Body internals"),er=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:il(e)?e=gt.Buffer.from(e.toString()):Ko(e)||gt.Buffer.isBuffer(e)||(Sr.types.isAnyArrayBuffer(e)?e=gt.Buffer.from(e):ArrayBuffer.isView(e)?e=gt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof xt.default||(e instanceof Jr?(e=$g(e),n=e.type.split("=")[1]):e=gt.Buffer.from(String(e))));let o=e;gt.Buffer.isBuffer(e)?o=xt.default.Readable.from(e):Ko(e)&&(o=xt.default.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof xt.default&&e.on("error",s=>{let a=s instanceof kr?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 ll(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 Jr,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(()=>(om(),nm));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 qt([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await ll(this);return new TextDecoder().decode(e)}buffer(){return ll(this)}};er.prototype.buffer=(0,Sr.deprecate)(er.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(er.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)")}});to=(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 xt.default&&typeof o.getBoundary!="function"&&(r=new xt.PassThrough({highWaterMark:e}),n=new xt.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},uS=(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"),Ki=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":il(t)?"application/x-www-form-urlencoded;charset=UTF-8":Ko(t)?t.type||null:gt.Buffer.isBuffer(t)||Sr.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Jr?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${uS(t)}`:t instanceof xt.default?null:"text/plain;charset=UTF-8",sm=t=>{let{body:e}=t[ct];return e===null?0:Ko(e)?e.size:gt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},im=async(t,{body:e})=>{e===null?t.end():await aS(e,t)}});function am(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 Xi(e),dl(e,String(r)),!0}catch{return!1}}))}var fl,Xo,Xi,dl,lt,Qi=Me(()=>{fl=require("node:util"),Xo=Le(require("node:http"),1),Xi=typeof Xo.default.validateHeaderName=="function"?Xo.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}},dl=typeof Xo.default.validateHeaderValue=="function"?Xo.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"&&!fl.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"||fl.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])=>(Xi(n),dl(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,u)=>(Xi(a),dl(a,String(u)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Xi(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 cS,Qo,hl=Me(()=>{cS=new Set([301,302,303,307,308]),Qo=t=>cS.has(t)});var $t,mt,um=Me(()=>{Qi();Yi();hl();$t=Symbol("Response internals"),mt=class t extends er{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=Ki(e,this);s&&o.append("Content-Type",s)}this[$t]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[$t].type}get url(){return this[$t].url||""}get status(){return this[$t].status}get ok(){return this[$t].status>=200&&this[$t].status<300}get redirected(){return this[$t].counter>0}get statusText(){return this[$t].statusText}get headers(){return this[$t].headers}get highWaterMark(){return this[$t].highWaterMark}clone(){return new t(to(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(!Qo(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[$t].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 cm,lm=Me(()=>{cm=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 fm(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 gm(t){if(!hm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function lS(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,dm.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 ro(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:lS(t)}function mm(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=fm(o),a=fm(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let u=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 ro(s)&&!ro(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:ro(s)&&!ro(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return ro(s)&&!ro(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function ym(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&hm.has(n)&&(r=n);return r}var dm,hm,pm,pl=Me(()=>{dm=require("node:net");hm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),pm="strict-origin-when-cross-origin"});var _m,bm,Ve,Zo,fS,Kr,Cm,wm=Me(()=>{_m=require("node:url"),bm=require("node:util");Qi();Yi();Wi();lm();pl();Ve=Symbol("Request internals"),Zo=t=>typeof t=="object"&&typeof t[Ve]=="object",fS=(0,bm.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Kr=class t extends er{constructor(e,r={}){let n;if(Zo(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()),!Zo(r)&&"data"in r&&fS(),(r.body!=null||Zo(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:Zo(e)&&e.body!==null?to(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 f=Ki(s,this);f&&a.set("Content-Type",f)}let u=Zo(e)?e.signal:null;if("signal"in r&&(u=r.signal),u!=null&&!zg(u))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 f=new URL(l);l=/^about:(\/\/)?client$/.test(f)?"client":f}else l=void 0;this[Ve]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:u,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[Ve].method}get url(){return(0,_m.format)(this[Ve].parsedURL)}get headers(){return this[Ve].headers}get redirect(){return this[Ve].redirect}get signal(){return this[Ve].signal}get referrer(){if(this[Ve].referrer==="no-referrer")return"";if(this[Ve].referrer==="client")return"about:client";if(this[Ve].referrer)return this[Ve].referrer.toString()}get referrerPolicy(){return this[Ve].referrerPolicy}set referrerPolicy(e){this[Ve].referrerPolicy=gm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Kr.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}});Cm=t=>{let{parsedURL:e}=t[Ve],r=new lt(t[Ve].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 u=sm(t);typeof u=="number"&&!Number.isNaN(u)&&(n=String(u))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=pm),t.referrer&&t.referrer!=="no-referrer"?t[Ve].referrer=mm(t):t[Ve].referrer="no-referrer",t[Ve].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=cm(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 es,km=Me(()=>{zi();es=class extends kr{constructor(e,r="aborted"){super(e,r)}}});var Am={};Dc(Am,{AbortError:()=>es,Blob:()=>qt,FetchError:()=>nt,File:()=>Gr,FormData:()=>Jr,Headers:()=>lt,Request:()=>Kr,Response:()=>mt,blobFrom:()=>Xg,blobFromSync:()=>Yg,default:()=>gl,fileFrom:()=>Qg,fileFromSync:()=>Zg,isRedirect:()=>Qo});async function gl(t,e){return new Promise((r,n)=>{let o=new Kr(t,e),{parsedURL:s,options:a}=Cm(o);if(!dS.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let g=Pg(o.url),C=new mt(g,{headers:{"Content-Type":g.typeFull}});r(C);return}let u=(s.protocol==="https:"?Em.default:Sm.default).request,{signal:l}=o,f=null,d=()=>{let g=new es("The operation was aborted.");n(g),o.body&&o.body instanceof yt.default.Readable&&o.body.destroy(g),!(!f||!f.body)&&f.body.emit("error",g)};if(l&&l.aborted){d();return}let p=()=>{d(),A()},y=u(s.toString(),a);l&&l.addEventListener("abort",p);let A=()=>{y.abort(),l&&l.removeEventListener("abort",p)};y.on("error",g=>{n(new nt(`request to ${o.url} failed, reason: ${g.message}`,"system",g)),A()}),hS(y,g=>{f&&f.body&&f.body.destroy(g)}),process.version<"v14"&&y.on("socket",g=>{let C;g.prependListener("end",()=>{C=g._eventsCount}),g.prependListener("close",b=>{if(f&&C<g._eventsCount&&!b){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",m)}})}),y.on("response",g=>{y.setTimeout(0);let C=am(g.rawHeaders);if(Qo(g.statusCode)){let S=C.get("Location"),T=null;try{T=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(T===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:to(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!Hg(o.url,T)||!Wg(o.url,T))for(let q of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(q);if(g.statusCode!==303&&o.body&&e.body instanceof yt.default.Readable){n(new nt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(g.statusCode===303||(g.statusCode===301||g.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let N=ym(C);N&&(O.referrerPolicy=N),r(gl(new Kr(T,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&g.once("end",()=>{l.removeEventListener("abort",p)});let b=(0,yt.pipeline)(g,new yt.PassThrough,S=>{S&&n(S)});process.version<"v12.10"&&g.on("aborted",p);let m={url:o.url,status:g.statusCode,statusText:g.statusMessage,headers:C,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=C.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||g.statusCode===204||g.statusCode===304){f=new mt(b,m),r(f);return}let k={flush:Sn.default.Z_SYNC_FLUSH,finishFlush:Sn.default.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){b=(0,yt.pipeline)(b,Sn.default.createGunzip(k),S=>{S&&n(S)}),f=new mt(b,m),r(f);return}if(v==="deflate"||v==="x-deflate"){let S=(0,yt.pipeline)(g,new yt.PassThrough,T=>{T&&n(T)});S.once("data",T=>{(T[0]&15)===8?b=(0,yt.pipeline)(b,Sn.default.createInflate(),O=>{O&&n(O)}):b=(0,yt.pipeline)(b,Sn.default.createInflateRaw(),O=>{O&&n(O)}),f=new mt(b,m),r(f)}),S.once("end",()=>{f||(f=new mt(b,m),r(f))});return}if(v==="br"){b=(0,yt.pipeline)(b,Sn.default.createBrotliDecompress(),S=>{S&&n(S)}),f=new mt(b,m),r(f);return}f=new mt(b,m),r(f)}),im(y,o).catch(n)})}function hS(t,e){let r=ts.Buffer.from(`0\r
35
+ `)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var es,Fk,Pk,im,Ik,am,gl,An,Xr,Vi=Le(()=>{Zo();pl();({toStringTag:es,iterator:Fk,hasInstance:Pk}=Symbol),im=Math.random,Ik="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),am=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[es])?[(r=r!==void 0?r+"":e[es]=="File"?e.name:"blob",t),e.name!==r||e[es]=="blob"?new Yr([e],r,e):e]:[t,e+""]),gl=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
+ `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),An=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},Xr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[es](){return"FormData"}[Fk](){return this.entries()}static[Pk](e){return e&&typeof e=="object"&&e[es]==="FormData"&&!Ik.some(r=>typeof e[r]!="function")}append(...e){An("append",arguments,2),this.#e.push(am(...e))}delete(e){An("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){An("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 An("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return An("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){An("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){An("set",arguments,2);var r=[],n=!0;e=am(...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,Ki=Le(()=>{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 it,ml=Le(()=>{Ki();it=class extends Ar{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var Yi,yl,ts,cm,lm,fm,Xi=Le(()=>{Yi=Symbol.toStringTag,yl=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[Yi]==="URLSearchParams",ts=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[Yi]),cm=t=>typeof t=="object"&&(t[Yi]==="AbortSignal"||t[Yi]==="EventTarget"),lm=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},fm=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var hm=J((RF,dm)=>{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)}dm.exports=globalThis.DOMException});var Tn,pm,gm,_l,mm,ym,_m,bm,Cm,wm,Qi,bl=Le(()=>{Tn=require("node:fs"),pm=require("node:path"),gm=$e(hm(),1);pl();Zo();({stat:_l}=Tn.promises),mm=(t,e)=>Cm((0,Tn.statSync)(t),t,e),ym=(t,e)=>_l(t).then(r=>Cm(r,t,e)),_m=(t,e)=>_l(t).then(r=>wm(r,t,e)),bm=(t,e)=>wm((0,Tn.statSync)(t),t,e),Cm=(t,e,r="")=>new zt([new Qi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),wm=(t,e,r="")=>new Yr([new Qi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,pm.basename)(e),{type:r,lastModified:t.mtimeMs}),Qi=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 _l(this.#e);if(e>this.lastModified)throw new gm.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,Tn.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var km={};Ic(km,{toFormData:()=>qk});function Lk(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 qk(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 Cl(r[1]||r[2]),o,s,a,u,c,f,d=[],p=new Xr,y=m=>{a+=b.decode(m,{stream:!0})},A=m=>{d.push(m)},g=()=>{let m=new Yr(d,f,{type:c});p.append(u,m)},_=()=>{p.append(u,a)},b=new TextDecoder("utf-8");b.decode(),n.onPartBegin=function(){n.onPartData=y,n.onPartEnd=_,o="",s="",a="",u="",c="",f=null,d.length=0},n.onHeaderField=function(m){o+=b.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=b.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=b.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(u=m[2]||m[3]||""),f=Lk(s),f&&(n.onPartData=A,n.onPartEnd=g)}else o==="content-type"&&(c=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var tr,Fe,Em,Qr,Zi,ea,Nk,rs,Bk,jk,Mk,Uk,Dn,Cl,Sm=Le(()=>{bl();Vi();tr=0,Fe={START_BOUNDARY:tr++,HEADER_FIELD_START:tr++,HEADER_FIELD:tr++,HEADER_VALUE_START:tr++,HEADER_VALUE:tr++,HEADER_VALUE_ALMOST_DONE:tr++,HEADERS_ALMOST_DONE:tr++,PART_DATA_START:tr++,PART_DATA:tr++,END:tr++},Em=1,Qr={PART_BOUNDARY:Em,LAST_BOUNDARY:Em*=2},Zi=10,ea=13,Nk=32,rs=45,Bk=58,jk=97,Mk=122,Uk=t=>t|32,Dn=()=>{},Cl=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Dn,this.onHeaderField=Dn,this.onHeadersEnd=Dn,this.onHeaderValue=Dn,this.onPartBegin=Dn,this.onPartData=Dn,this.onPartEnd=Dn,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=Fe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:c,state:f,flags:d}=this,p=this.boundary.length,y=p-1,A=e.length,g,_,b=w=>{this[w+"Mark"]=r},m=w=>{delete this[w+"Mark"]},v=(w,T,O,N)=>{(T===void 0||T!==O)&&this[w](N&&N.subarray(T,O))},k=(w,T)=>{let O=w+"Mark";O in this&&(T?(v(w,this[O],r,e),delete this[O]):(v(w,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(g=e[r],f){case Fe.START_BOUNDARY:if(c===a.length-2){if(g===rs)d|=Qr.LAST_BOUNDARY;else if(g!==ea)return;c++;break}else if(c-1===a.length-2){if(d&Qr.LAST_BOUNDARY&&g===rs)f=Fe.END,d=0;else if(!(d&Qr.LAST_BOUNDARY)&&g===Zi)c=0,v("onPartBegin"),f=Fe.HEADER_FIELD_START;else return;break}g!==a[c+2]&&(c=-2),g===a[c+2]&&c++;break;case Fe.HEADER_FIELD_START:f=Fe.HEADER_FIELD,b("onHeaderField"),c=0;case Fe.HEADER_FIELD:if(g===ea){m("onHeaderField"),f=Fe.HEADERS_ALMOST_DONE;break}if(c++,g===rs)break;if(g===Bk){if(c===1)return;k("onHeaderField",!0),f=Fe.HEADER_VALUE_START;break}if(_=Uk(g),_<jk||_>Mk)return;break;case Fe.HEADER_VALUE_START:if(g===Nk)break;b("onHeaderValue"),f=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:g===ea&&(k("onHeaderValue",!0),v("onHeaderEnd"),f=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(g!==Zi)return;f=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(g!==Zi)return;v("onHeadersEnd"),f=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:f=Fe.PART_DATA,b("onPartData");case Fe.PART_DATA:if(o=c,c===0){for(r+=y;r<A&&!(e[r]in u);)r+=p;r-=y,g=e[r]}if(c<a.length)a[c]===g?(c===0&&k("onPartData",!0),c++):c=0;else if(c===a.length)c++,g===ea?d|=Qr.PART_BOUNDARY:g===rs?d|=Qr.LAST_BOUNDARY:c=0;else if(c-1===a.length)if(d&Qr.PART_BOUNDARY){if(c=0,g===Zi){d&=~Qr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Fe.HEADER_FIELD_START;break}}else d&Qr.LAST_BOUNDARY&&g===rs?(v("onPartEnd"),f=Fe.END,d=0):c=0;if(c>0)s[c-1]=g;else if(o>0){let w=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,w),o=0,b("onPartData"),r--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}k("onHeaderField"),k("onHeaderValue"),k("onPartData"),this.index=c,this.state=f,this.flags=d}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function wl(t){if(t[dt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[dt].disturbed=!0,t[dt].error)throw t[dt].error;let{body:e}=t;if(e===null)return yt.Buffer.alloc(0);if(!(e instanceof Ft.default))return yt.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 it(`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 it(`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")?yt.Buffer.from(r.join("")):yt.Buffer.concat(r,n)}catch(o){throw new it(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new it(`Premature close of server response while trying to fetch ${t.url}`)}var Ft,Tr,yt,$k,dt,rr,io,zk,ta,Am,Tm,ra=Le(()=>{Ft=$e(require("node:stream"),1),Tr=require("node:util"),yt=require("node:buffer");Zo();Vi();ml();Ki();Xi();$k=(0,Tr.promisify)(Ft.default.pipeline),dt=Symbol("Body internals"),rr=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:yl(e)?e=yt.Buffer.from(e.toString()):ts(e)||yt.Buffer.isBuffer(e)||(Tr.types.isAnyArrayBuffer(e)?e=yt.Buffer.from(e):ArrayBuffer.isView(e)?e=yt.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Ft.default||(e instanceof Xr?(e=um(e),n=e.type.split("=")[1]):e=yt.Buffer.from(String(e))));let o=e;yt.Buffer.isBuffer(e)?o=Ft.default.Readable.from(e):ts(e)&&(o=Ft.default.Readable.from(e.stream())),this[dt]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Ft.default&&e.on("error",s=>{let a=s instanceof Ar?s:new it(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[dt].error=a})}get body(){return this[dt].stream}get bodyUsed(){return this[dt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await wl(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 Xr,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(()=>(Sm(),km));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[dt].body&&this[dt].body.type||"",r=await this.arrayBuffer();return new zt([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await wl(this);return new TextDecoder().decode(e)}buffer(){return wl(this)}};rr.prototype.buffer=(0,Tr.deprecate)(rr.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(rr.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,Tr.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});io=(t,e)=>{let r,n,{body:o}=t[dt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Ft.default&&typeof o.getBoundary!="function"&&(r=new Ft.PassThrough({highWaterMark:e}),n=new Ft.PassThrough({highWaterMark:e}),o.pipe(r),o.pipe(n),t[dt].stream=r,o=n),o},zk=(0,Tr.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"),ta=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":yl(t)?"application/x-www-form-urlencoded;charset=UTF-8":ts(t)?t.type||null:yt.Buffer.isBuffer(t)||Tr.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Xr?`multipart/form-data; boundary=${e[dt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${zk(t)}`:t instanceof Ft.default?null:"text/plain;charset=UTF-8",Am=t=>{let{body:e}=t[dt];return e===null?0:ts(e)?e.size:yt.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Tm=async(t,{body:e})=>{e===null?t.end():await $k(e,t)}});function Dm(t=[]){return new ht(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return na(e),kl(e,String(r)),!0}catch{return!1}}))}var El,ns,na,kl,ht,oa=Le(()=>{El=require("node:util"),ns=$e(require("node:http"),1),na=typeof ns.default.validateHeaderName=="function"?ns.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}},kl=typeof ns.default.validateHeaderValue=="function"?ns.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}},ht=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"&&!El.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"||El.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])=>(na(n),kl(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,u)=>(na(a),kl(a,String(u)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(na(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(ht.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Hk,os,Sl=Le(()=>{Hk=new Set([301,302,303,307,308]),os=t=>Hk.has(t)});var Ht,_t,vm=Le(()=>{oa();ra();Sl();Ht=Symbol("Response internals"),_t=class t extends rr{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new ht(r.headers);if(e!==null&&!o.has("Content-Type")){let s=ta(e,this);s&&o.append("Content-Type",s)}this[Ht]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.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(io(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(!os(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[Ht].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 ht(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(_t.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 Rm,xm=Le(()=>{Rm=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 Om(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 Nm(t){if(!Pm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Wk(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,Fm.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 ao(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Wk(t)}function Bm(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=Om(o),a=Om(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let u=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 ao(s)&&!ao(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:ao(s)&&!ao(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return ao(s)&&!ao(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function jm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&Pm.has(n)&&(r=n);return r}var Fm,Pm,Im,Al=Le(()=>{Fm=require("node:net");Pm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Im="strict-origin-when-cross-origin"});var Mm,Um,Xe,ss,Gk,Zr,Lm,qm=Le(()=>{Mm=require("node:url"),Um=require("node:util");oa();ra();Xi();xm();Al();Xe=Symbol("Request internals"),ss=t=>typeof t=="object"&&typeof t[Xe]=="object",Gk=(0,Um.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Zr=class t extends rr{constructor(e,r={}){let n;if(ss(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()),!ss(r)&&"data"in r&&Gk(),(r.body!=null||ss(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:ss(e)&&e.body!==null?io(e):null;super(s,{size:r.size||e.size||0});let a=new ht(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=ta(s,this);f&&a.set("Content-Type",f)}let u=ss(e)?e.signal:null;if("signal"in r&&(u=r.signal),u!=null&&!cm(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let c=r.referrer==null?e.referrer:r.referrer;if(c==="")c="no-referrer";else if(c){let f=new URL(c);c=/^about:(\/\/)?client$/.test(f)?"client":f}else c=void 0;this[Xe]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:u,referrer:c},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[Xe].method}get url(){return(0,Mm.format)(this[Xe].parsedURL)}get headers(){return this[Xe].headers}get redirect(){return this[Xe].redirect}get signal(){return this[Xe].signal}get referrer(){if(this[Xe].referrer==="no-referrer")return"";if(this[Xe].referrer==="client")return"about:client";if(this[Xe].referrer)return this[Xe].referrer.toString()}get referrerPolicy(){return this[Xe].referrerPolicy}set referrerPolicy(e){this[Xe].referrerPolicy=Nm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Zr.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}});Lm=t=>{let{parsedURL:e}=t[Xe],r=new ht(t[Xe].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 u=Am(t);typeof u=="number"&&!Number.isNaN(u)&&(n=String(u))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=Im),t.referrer&&t.referrer!=="no-referrer"?t[Xe].referrer=Bm(t):t[Xe].referrer="no-referrer",t[Xe].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=Rm(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 is,$m=Le(()=>{Ki();is=class extends Ar{constructor(e,r="aborted"){super(e,r)}}});var Wm={};Ic(Wm,{AbortError:()=>is,Blob:()=>zt,FetchError:()=>it,File:()=>Yr,FormData:()=>Xr,Headers:()=>ht,Request:()=>Zr,Response:()=>_t,blobFrom:()=>ym,blobFromSync:()=>mm,default:()=>Tl,fileFrom:()=>_m,fileFromSync:()=>bm,isRedirect:()=>os});async function Tl(t,e){return new Promise((r,n)=>{let o=new Zr(t,e),{parsedURL:s,options:a}=Lm(o);if(!Jk.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let g=Zg(o.url),_=new _t(g,{headers:{"Content-Type":g.typeFull}});r(_);return}let u=(s.protocol==="https:"?Hm.default:zm.default).request,{signal:c}=o,f=null,d=()=>{let g=new is("The operation was aborted.");n(g),o.body&&o.body instanceof bt.default.Readable&&o.body.destroy(g),!(!f||!f.body)&&f.body.emit("error",g)};if(c&&c.aborted){d();return}let p=()=>{d(),A()},y=u(s.toString(),a);c&&c.addEventListener("abort",p);let A=()=>{y.abort(),c&&c.removeEventListener("abort",p)};y.on("error",g=>{n(new it(`request to ${o.url} failed, reason: ${g.message}`,"system",g)),A()}),Vk(y,g=>{f&&f.body&&f.body.destroy(g)}),process.version<"v14"&&y.on("socket",g=>{let _;g.prependListener("end",()=>{_=g._eventsCount}),g.prependListener("close",b=>{if(f&&_<g._eventsCount&&!b){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",m)}})}),y.on("response",g=>{y.setTimeout(0);let _=Dm(g.rawHeaders);if(os(g.statusCode)){let w=_.get("Location"),T=null;try{T=w===null?null:new URL(w,o.url)}catch{if(o.redirect!=="manual"){n(new it(`uri requested responds with an invalid redirect URL: ${w}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new it(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(T===null)break;if(o.counter>=o.follow){n(new it(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new ht(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:io(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!lm(o.url,T)||!fm(o.url,T))for(let G of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(G);if(g.statusCode!==303&&o.body&&e.body instanceof bt.default.Readable){n(new it("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(g.statusCode===303||(g.statusCode===301||g.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let N=jm(_);N&&(O.referrerPolicy=N),r(Tl(new Zr(T,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}c&&g.once("end",()=>{c.removeEventListener("abort",p)});let b=(0,bt.pipeline)(g,new bt.PassThrough,w=>{w&&n(w)});process.version<"v12.10"&&g.on("aborted",p);let m={url:o.url,status:g.statusCode,statusText:g.statusMessage,headers:_,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=_.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||g.statusCode===204||g.statusCode===304){f=new _t(b,m),r(f);return}let k={flush:vn.default.Z_SYNC_FLUSH,finishFlush:vn.default.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){b=(0,bt.pipeline)(b,vn.default.createGunzip(k),w=>{w&&n(w)}),f=new _t(b,m),r(f);return}if(v==="deflate"||v==="x-deflate"){let w=(0,bt.pipeline)(g,new bt.PassThrough,T=>{T&&n(T)});w.once("data",T=>{(T[0]&15)===8?b=(0,bt.pipeline)(b,vn.default.createInflate(),O=>{O&&n(O)}):b=(0,bt.pipeline)(b,vn.default.createInflateRaw(),O=>{O&&n(O)}),f=new _t(b,m),r(f)}),w.once("end",()=>{f||(f=new _t(b,m),r(f))});return}if(v==="br"){b=(0,bt.pipeline)(b,vn.default.createBrotliDecompress(),w=>{w&&n(w)}),f=new _t(b,m),r(f);return}f=new _t(b,m),r(f)}),Tm(y,o).catch(n)})}function Vk(t,e){let r=as.Buffer.from(`0\r
38
38
  \r
39
- `),n=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;n=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(n&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},l=f=>{o=ts.Buffer.compare(f.slice(-5),r)===0,!o&&s&&(o=ts.Buffer.compare(s.slice(-3),r.slice(0,3))===0&&ts.Buffer.compare(f.slice(-2),r.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var Sm,Em,Sn,yt,ts,dS,Tm=Me(()=>{Sm=Le(require("node:http"),1),Em=Le(require("node:https"),1),Sn=Le(require("node:zlib"),1),yt=Le(require("node:stream"),1),ts=require("node:buffer");Ig();Yi();um();Qi();wm();sl();km();hl();$i();Wi();pl();ul();dS=new Set(["data:","http:","https:"])});var Rm=V(oo=>{"use strict";var pS=oo&&oo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},no;Object.defineProperty(oo,"__esModule",{value:!0});oo.Gaxios=void 0;var gS=pS($c()),mS=require("https"),En=Wc(),yS=ag(),Dm=require("stream"),vm=Vc(),_S=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Zi=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new vm.GaxiosInterceptorManager,response:new vm.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&&no.mergeHeaders(s,r.headers),n&&no.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 no.#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=En.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new En.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof En.GaxiosError?n=r:r instanceof Error?n=new En.GaxiosError(r.message,e,void 0,r):n=new En.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,yS.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 En.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 u=a.replace(/^\*\./,".");if(n.hostname.endsWith(u))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);no.mergeHeaders(r,e.headers);let n=(0,gS.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 u=n.url.toString().includes("?")?"&":"?";n.url=n.url+u+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[u,l]of new URLSearchParams(n.params))a.searchParams.append(u,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 Dm.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 _S();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Dm.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 no.#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 mS.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=En.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
+ `),n=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;n=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(n&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},c=f=>{o=as.Buffer.compare(f.slice(-5),r)===0,!o&&s&&(o=as.Buffer.compare(s.slice(-3),r.slice(0,3))===0&&as.Buffer.compare(f.slice(-2),r.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",c),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",c)})})}var zm,Hm,vn,bt,as,Jk,Gm=Le(()=>{zm=$e(require("node:http"),1),Hm=$e(require("node:https"),1),vn=$e(require("node:zlib"),1),bt=$e(require("node:stream"),1),as=require("node:buffer");em();ra();vm();oa();qm();ml();$m();Sl();Vi();Xi();Al();bl();Jk=new Set(["data:","http:","https:"])});var Km=J(co=>{"use strict";var Kk=co&&co.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},uo;Object.defineProperty(co,"__esModule",{value:!0});co.Gaxios=void 0;var Yk=Kk(Zc()),Xk=require("https"),Rn=rl(),Qk=Dg(),Jm=require("stream"),Vm=sl(),Zk=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),sa=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Vm.GaxiosInterceptorManager,response:new Vm.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&&uo.mergeHeaders(s,r.headers),n&&uo.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 uo.#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=Rn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new Rn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof Rn.GaxiosError?n=r:r instanceof Error?n=new Rn.GaxiosError(r.message,e,void 0,r):n=new Rn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,Qk.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 Rn.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 u=a.replace(/^\*\./,".");if(n.hostname.endsWith(u))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);uo.mergeHeaders(r,e.headers);let n=(0,Yk.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 u=n.url.toString().includes("?")?"&":"?";n.url=n.url+u+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[u,c]of new URLSearchParams(n.params))a.searchParams.append(u,c);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 Jm.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 Zk();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Jm.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 uo.#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 Xk.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=Rn.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
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(()=>Le(Fg()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Tm(),Am))).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}};oo.Gaxios=Zi;no=Zi});var Ye=V(ot=>{"use strict";var bS=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]})),CS=ot&&ot.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&bS(e,t,r)};Object.defineProperty(ot,"__esModule",{value:!0});ot.instance=ot.Gaxios=ot.GaxiosError=void 0;ot.request=kS;var xm=Rm();Object.defineProperty(ot,"Gaxios",{enumerable:!0,get:function(){return xm.Gaxios}});var wS=Wc();Object.defineProperty(ot,"GaxiosError",{enumerable:!0,get:function(){return wS.GaxiosError}});CS(Vc(),ot);ot.instance=new xm.Gaxios;async function kS(t){return ot.instance.request(t)}});var ml=V((Om,ea)=>{(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: ",u=1e14,l=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,y=1e9;function A(T){var O,N,q,z=G.prototype={constructor:G,toString:null,valueOf:null},Y=new G(1),X=20,ue=4,ne=-7,he=21,Ce=-1e7,ge=1e7,Z=!1,J=1,K=0,te={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Ae="0123456789abcdefghijklmnopqrstuvwxyz",Xe=!0;function G(_,E){var D,j,F,I,L,x,P,M,B=this;if(!(B instanceof G))return new G(_,E);if(E==null){if(_&&_._isBigNumber===!0){B.s=_.s,!_.c||_.e>ge?B.c=B.e=null:_.e<Ce?B.c=[B.e=0]:(B.e=_.e,B.c=_.c.slice());return}if((x=typeof _=="number")&&_*0==0){if(B.s=1/_<0?(_=-_,-1):1,_===~~_){for(I=0,L=_;L>=10;L/=10,I++);I>ge?B.c=B.e=null:(B.e=I,B.c=[_]);return}M=String(_)}else{if(!r.test(M=String(_)))return q(B,M,x);B.s=M.charCodeAt(0)==45?(M=M.slice(1),-1):1}(I=M.indexOf("."))>-1&&(M=M.replace(".","")),(L=M.search(/e/i))>0?(I<0&&(I=L),I+=+M.slice(L+1),M=M.substring(0,L)):I<0&&(I=M.length)}else{if(m(E,2,Ae.length,"Base"),E==10&&Xe)return B=new G(_),Re(B,X+B.e+1,ue);if(M=String(_),x=typeof _=="number"){if(_*0!=0)return q(B,M,x,E);if(B.s=1/_<0?(M=M.slice(1),-1):1,G.DEBUG&&M.replace(/^0\.0*|\./,"").length>15)throw Error(a+_)}else B.s=M.charCodeAt(0)===45?(M=M.slice(1),-1):1;for(D=Ae.slice(0,E),I=L=0,P=M.length;L<P;L++)if(D.indexOf(j=M.charAt(L))<0){if(j=="."){if(L>I){I=P;continue}}else if(!F&&(M==M.toUpperCase()&&(M=M.toLowerCase())||M==M.toLowerCase()&&(M=M.toUpperCase()))){F=!0,L=-1,I=0;continue}return q(B,String(_),x,E)}x=!1,M=N(M,E,10,B.s),(I=M.indexOf("."))>-1?M=M.replace(".",""):I=M.length}for(L=0;M.charCodeAt(L)===48;L++);for(P=M.length;M.charCodeAt(--P)===48;);if(M=M.slice(L,++P)){if(P-=L,x&&G.DEBUG&&P>15&&(_>f||_!==o(_)))throw Error(a+B.s*_);if((I=I-L-1)>ge)B.c=B.e=null;else if(I<Ce)B.c=[B.e=0];else{if(B.e=I,B.c=[],L=(I+1)%l,I<0&&(L+=l),L<P){for(L&&B.c.push(+M.slice(0,L)),P-=l;L<P;)B.c.push(+M.slice(L,L+=l));L=l-(M=M.slice(L)).length}else L-=P;for(;L--;M+="0");B.c.push(+M)}}else B.c=[B.e=0]}G.clone=A,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(_){var E,D;if(_!=null)if(typeof _=="object"){if(_.hasOwnProperty(E="DECIMAL_PLACES")&&(D=_[E],m(D,0,y,E),X=D),_.hasOwnProperty(E="ROUNDING_MODE")&&(D=_[E],m(D,0,8,E),ue=D),_.hasOwnProperty(E="EXPONENTIAL_AT")&&(D=_[E],D&&D.pop?(m(D[0],-y,0,E),m(D[1],0,y,E),ne=D[0],he=D[1]):(m(D,-y,y,E),ne=-(he=D<0?-D:D))),_.hasOwnProperty(E="RANGE"))if(D=_[E],D&&D.pop)m(D[0],-y,-1,E),m(D[1],1,y,E),Ce=D[0],ge=D[1];else if(m(D,-y,y,E),D)Ce=-(ge=D<0?-D:D);else throw Error(s+E+" cannot be zero: "+D);if(_.hasOwnProperty(E="CRYPTO"))if(D=_[E],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))Z=D;else throw Z=!D,Error(s+"crypto unavailable");else Z=D;else throw Error(s+E+" not true or false: "+D);if(_.hasOwnProperty(E="MODULO_MODE")&&(D=_[E],m(D,0,9,E),J=D),_.hasOwnProperty(E="POW_PRECISION")&&(D=_[E],m(D,0,y,E),K=D),_.hasOwnProperty(E="FORMAT"))if(D=_[E],typeof D=="object")te=D;else throw Error(s+E+" not an object: "+D);if(_.hasOwnProperty(E="ALPHABET"))if(D=_[E],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Xe=D.slice(0,10)=="0123456789",Ae=D;else throw Error(s+E+" invalid: "+D)}else throw Error(s+"Object expected: "+_);return{DECIMAL_PLACES:X,ROUNDING_MODE:ue,EXPONENTIAL_AT:[ne,he],RANGE:[Ce,ge],CRYPTO:Z,MODULO_MODE:J,POW_PRECISION:K,FORMAT:te,ALPHABET:Ae}},G.isBigNumber=function(_){if(!_||_._isBigNumber!==!0)return!1;if(!G.DEBUG)return!0;var E,D,j=_.c,F=_.e,I=_.s;e:if({}.toString.call(j)=="[object Array]"){if((I===1||I===-1)&&F>=-y&&F<=y&&F===o(F)){if(j[0]===0){if(F===0&&j.length===1)return!0;break e}if(E=(F+1)%l,E<1&&(E+=l),String(j[0]).length==E){for(E=0;E<j.length;E++)if(D=j[E],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(j===null&&F===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+_)},G.maximum=G.max=function(){return pe(arguments,-1)},G.minimum=G.min=function(){return pe(arguments,1)},G.random=(function(){var _=9007199254740992,E=Math.random()*_&2097151?function(){return o(Math.random()*_)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var j,F,I,L,x,P=0,M=[],B=new G(Y);if(D==null?D=X:m(D,0,y),L=n(D/l),Z)if(crypto.getRandomValues){for(j=crypto.getRandomValues(new Uint32Array(L*=2));P<L;)x=j[P]*131072+(j[P+1]>>>11),x>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),j[P]=F[0],j[P+1]=F[1]):(M.push(x%1e14),P+=2);P=L/2}else if(crypto.randomBytes){for(j=crypto.randomBytes(L*=7);P<L;)x=(j[P]&31)*281474976710656+j[P+1]*1099511627776+j[P+2]*4294967296+j[P+3]*16777216+(j[P+4]<<16)+(j[P+5]<<8)+j[P+6],x>=9e15?crypto.randomBytes(7).copy(j,P):(M.push(x%1e14),P+=7);P=L/7}else throw Z=!1,Error(s+"crypto unavailable");if(!Z)for(;P<L;)x=E(),x<9e15&&(M[P++]=x%1e14);for(L=M[--P],D%=l,L&&D&&(x=d[l-D],M[P]=o(L/x)*x);M[P]===0;M.pop(),P--);if(P<0)M=[I=0];else{for(I=-1;M[0]===0;M.splice(0,1),I-=l);for(P=1,x=M[0];x>=10;x/=10,P++);P<l&&(I-=l-P)}return B.e=I,B.c=M,B}})(),G.sum=function(){for(var _=1,E=arguments,D=new G(E[0]);_<E.length;)D=D.plus(E[_++]);return D},N=(function(){var _="0123456789";function E(D,j,F,I){for(var L,x=[0],P,M=0,B=D.length;M<B;){for(P=x.length;P--;x[P]*=j);for(x[0]+=I.indexOf(D.charAt(M++)),L=0;L<x.length;L++)x[L]>F-1&&(x[L+1]==null&&(x[L+1]=0),x[L+1]+=x[L]/F|0,x[L]%=F)}return x.reverse()}return function(D,j,F,I,L){var x,P,M,B,H,ee,re,ke,Fe=D.indexOf("."),Be=X,we=ue;for(Fe>=0&&(B=K,K=0,D=D.replace(".",""),ke=new G(j),ee=ke.pow(D.length-Fe),K=B,ke.c=E(S(C(ee.c),ee.e,"0"),10,F,_),ke.e=ke.c.length),re=E(D,j,F,L?(x=Ae,_):(x=_,Ae)),M=B=re.length;re[--B]==0;re.pop());if(!re[0])return x.charAt(0);if(Fe<0?--M:(ee.c=re,ee.e=M,ee.s=I,ee=O(ee,ke,Be,we,F),re=ee.c,H=ee.r,M=ee.e),P=M+Be+1,Fe=re[P],B=F/2,H=H||P<0||re[P+1]!=null,H=we<4?(Fe!=null||H)&&(we==0||we==(ee.s<0?3:2)):Fe>B||Fe==B&&(we==4||H||we==6&&re[P-1]&1||we==(ee.s<0?8:7)),P<1||!re[0])D=H?S(x.charAt(1),-Be,x.charAt(0)):x.charAt(0);else{if(re.length=P,H)for(--F;++re[--P]>F;)re[P]=0,P||(++M,re=[1].concat(re));for(B=re.length;!re[--B];);for(Fe=0,D="";Fe<=B;D+=x.charAt(re[Fe++]));D=S(D,M,x.charAt(0))}return D}})(),O=(function(){function _(j,F,I){var L,x,P,M,B=0,H=j.length,ee=F%p,re=F/p|0;for(j=j.slice();H--;)P=j[H]%p,M=j[H]/p|0,L=re*P+M*ee,x=ee*P+L%p*p+B,B=(x/I|0)+(L/p|0)+re*M,j[H]=x%I;return B&&(j=[B].concat(j)),j}function E(j,F,I,L){var x,P;if(I!=L)P=I>L?1:-1;else for(x=P=0;x<I;x++)if(j[x]!=F[x]){P=j[x]>F[x]?1:-1;break}return P}function D(j,F,I,L){for(var x=0;I--;)j[I]-=x,x=j[I]<F[I]?1:0,j[I]=x*L+j[I]-F[I];for(;!j[0]&&j.length>1;j.splice(0,1));}return function(j,F,I,L,x){var P,M,B,H,ee,re,ke,Fe,Be,we,Se,$e,In,Nn,Bn,dt,fr,Qe=j.s==F.s?1:-1,ze=j.c,Te=F.c;if(!ze||!ze[0]||!Te||!Te[0])return new G(!j.s||!F.s||(ze?Te&&ze[0]==Te[0]:!Te)?NaN:ze&&ze[0]==0||!Te?Qe*0:Qe/0);for(Fe=new G(Qe),Be=Fe.c=[],M=j.e-F.e,Qe=I+M+1,x||(x=u,M=g(j.e/l)-g(F.e/l),Qe=Qe/l|0),B=0;Te[B]==(ze[B]||0);B++);if(Te[B]>(ze[B]||0)&&M--,Qe<0)Be.push(1),H=!0;else{for(Nn=ze.length,dt=Te.length,B=0,Qe+=2,ee=o(x/(Te[0]+1)),ee>1&&(Te=_(Te,ee,x),ze=_(ze,ee,x),dt=Te.length,Nn=ze.length),In=dt,we=ze.slice(0,dt),Se=we.length;Se<dt;we[Se++]=0);fr=Te.slice(),fr=[0].concat(fr),Bn=Te[0],Te[1]>=x/2&&Bn++;do{if(ee=0,P=E(Te,we,dt,Se),P<0){if($e=we[0],dt!=Se&&($e=$e*x+(we[1]||0)),ee=o($e/Bn),ee>1)for(ee>=x&&(ee=x-1),re=_(Te,ee,x),ke=re.length,Se=we.length;E(re,we,ke,Se)==1;)ee--,D(re,dt<ke?fr:Te,ke,x),ke=re.length,P=1;else ee==0&&(P=ee=1),re=Te.slice(),ke=re.length;if(ke<Se&&(re=[0].concat(re)),D(we,re,Se,x),Se=we.length,P==-1)for(;E(Te,we,dt,Se)<1;)ee++,D(we,dt<Se?fr:Te,Se,x),Se=we.length}else P===0&&(ee++,we=[0]);Be[B++]=ee,we[0]?we[Se++]=ze[In]||0:(we=[ze[In]],Se=1)}while((In++<Nn||we[0]!=null)&&Qe--);H=we[0]!=null,Be[0]||Be.splice(0,1)}if(x==u){for(B=1,Qe=Be[0];Qe>=10;Qe/=10,B++);Re(Fe,I+(Fe.e=B+M*l-1)+1,L,H)}else Fe.e=M,Fe.r=+H;return Fe}})();function le(_,E,D,j){var F,I,L,x,P;if(D==null?D=ue:m(D,0,8),!_.c)return _.toString();if(F=_.c[0],L=_.e,E==null)P=C(_.c),P=j==1||j==2&&(L<=ne||L>=he)?k(P,L):S(P,L,"0");else if(_=Re(new G(_),E,D),I=_.e,P=C(_.c),x=P.length,j==1||j==2&&(E<=I||I<=ne)){for(;x<E;P+="0",x++);P=k(P,I)}else if(E-=L+(j===2&&I>L),P=S(P,I,"0"),I+1>x){if(--E>0)for(P+=".";E--;P+="0");}else if(E+=I-x,E>0)for(I+1==x&&(P+=".");E--;P+="0");return _.s<0&&F?"-"+P:P}function pe(_,E){for(var D,j,F=1,I=new G(_[0]);F<_.length;F++)j=new G(_[F]),(!j.s||(D=b(I,j))===E||D===0&&I.s===E)&&(I=j);return I}function ft(_,E,D){for(var j=1,F=E.length;!E[--F];E.pop());for(F=E[0];F>=10;F/=10,j++);return(D=j+D*l-1)>ge?_.c=_.e=null:D<Ce?_.c=[_.e=0]:(_.e=D,_.c=E),_}q=(function(){var _=/^(-?)0([xbo])(?=\w[\w.]*$)/i,E=/^([^.]+)\.$/,D=/^\.([^.]+)$/,j=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,L,x,P){var M,B=x?L:L.replace(F,"");if(j.test(B))I.s=isNaN(B)?null:B<0?-1:1;else{if(!x&&(B=B.replace(_,function(H,ee,re){return M=(re=re.toLowerCase())=="x"?16:re=="b"?2:8,!P||P==M?ee:H}),P&&(M=P,B=B.replace(E,"$1").replace(D,"0.$1")),L!=B))return new G(B,M);if(G.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+L);I.s=null}I.c=I.e=null}})();function Re(_,E,D,j){var F,I,L,x,P,M,B,H=_.c,ee=d;if(H){e:{for(F=1,x=H[0];x>=10;x/=10,F++);if(I=E-F,I<0)I+=l,L=E,P=H[M=0],B=o(P/ee[F-L-1]%10);else if(M=n((I+1)/l),M>=H.length)if(j){for(;H.length<=M;H.push(0));P=B=0,F=1,I%=l,L=I-l+1}else break e;else{for(P=x=H[M],F=1;x>=10;x/=10,F++);I%=l,L=I-l+F,B=L<0?0:o(P/ee[F-L-1]%10)}if(j=j||E<0||H[M+1]!=null||(L<0?P:P%ee[F-L-1]),j=D<4?(B||j)&&(D==0||D==(_.s<0?3:2)):B>5||B==5&&(D==4||j||D==6&&(I>0?L>0?P/ee[F-L]:0:H[M-1])%10&1||D==(_.s<0?8:7)),E<1||!H[0])return H.length=0,j?(E-=_.e+1,H[0]=ee[(l-E%l)%l],_.e=-E||0):H[0]=_.e=0,_;if(I==0?(H.length=M,x=1,M--):(H.length=M+1,x=ee[l-I],H[M]=L>0?o(P/ee[F-L]%ee[L])*x:0),j)for(;;)if(M==0){for(I=1,L=H[0];L>=10;L/=10,I++);for(L=H[0]+=x,x=1;L>=10;L/=10,x++);I!=x&&(_.e++,H[0]==u&&(H[0]=1));break}else{if(H[M]+=x,H[M]!=u)break;H[M--]=0,x=1}for(I=H.length;H[--I]===0;H.pop());}_.e>ge?_.c=_.e=null:_.e<Ce&&(_.c=[_.e=0])}return _}function Ne(_){var E,D=_.e;return D===null?_.toString():(E=C(_.c),E=D<=ne||D>=he?k(E,D):S(E,D,"0"),_.s<0?"-"+E:E)}return z.absoluteValue=z.abs=function(){var _=new G(this);return _.s<0&&(_.s=1),_},z.comparedTo=function(_,E){return b(this,new G(_,E))},z.decimalPlaces=z.dp=function(_,E){var D,j,F,I=this;if(_!=null)return m(_,0,y),E==null?E=ue:m(E,0,8),Re(new G(I),_+I.e+1,E);if(!(D=I.c))return null;if(j=((F=D.length-1)-g(this.e/l))*l,F=D[F])for(;F%10==0;F/=10,j--);return j<0&&(j=0),j},z.dividedBy=z.div=function(_,E){return O(this,new G(_,E),X,ue)},z.dividedToIntegerBy=z.idiv=function(_,E){return O(this,new G(_,E),0,1)},z.exponentiatedBy=z.pow=function(_,E){var D,j,F,I,L,x,P,M,B,H=this;if(_=new G(_),_.c&&!_.isInteger())throw Error(s+"Exponent not an integer: "+Ne(_));if(E!=null&&(E=new G(E)),x=_.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!_.c||!_.c[0])return B=new G(Math.pow(+Ne(H),x?_.s*(2-v(_)):+Ne(_))),E?B.mod(E):B;if(P=_.s<0,E){if(E.c?!E.c[0]:!E.s)return new G(NaN);j=!P&&H.isInteger()&&E.isInteger(),j&&(H=H.mod(E))}else{if(_.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||x&&H.c[1]>=24e7:H.c[0]<8e13||x&&H.c[0]<=9999975e7)))return I=H.s<0&&v(_)?-0:0,H.e>-1&&(I=1/I),new G(P?1/I:I);K&&(I=n(K/l+2))}for(x?(D=new G(.5),P&&(_.s=1),M=v(_)):(F=Math.abs(+Ne(_)),M=F%2),B=new G(Y);;){if(M){if(B=B.times(H),!B.c)break;I?B.c.length>I&&(B.c.length=I):j&&(B=B.mod(E))}if(F){if(F=o(F/2),F===0)break;M=F%2}else if(_=_.times(D),Re(_,_.e+1,1),_.e>14)M=v(_);else{if(F=+Ne(_),F===0)break;M=F%2}H=H.times(H),I?H.c&&H.c.length>I&&(H.c.length=I):j&&(H=H.mod(E))}return j?B:(P&&(B=Y.div(B)),E?B.mod(E):I?Re(B,K,ue,L):B)},z.integerValue=function(_){var E=new G(this);return _==null?_=ue:m(_,0,8),Re(E,E.e+1,_)},z.isEqualTo=z.eq=function(_,E){return b(this,new G(_,E))===0},z.isFinite=function(){return!!this.c},z.isGreaterThan=z.gt=function(_,E){return b(this,new G(_,E))>0},z.isGreaterThanOrEqualTo=z.gte=function(_,E){return(E=b(this,new G(_,E)))===1||E===0},z.isInteger=function(){return!!this.c&&g(this.e/l)>this.c.length-2},z.isLessThan=z.lt=function(_,E){return b(this,new G(_,E))<0},z.isLessThanOrEqualTo=z.lte=function(_,E){return(E=b(this,new G(_,E)))===-1||E===0},z.isNaN=function(){return!this.s},z.isNegative=function(){return this.s<0},z.isPositive=function(){return this.s>0},z.isZero=function(){return!!this.c&&this.c[0]==0},z.minus=function(_,E){var D,j,F,I,L=this,x=L.s;if(_=new G(_,E),E=_.s,!x||!E)return new G(NaN);if(x!=E)return _.s=-E,L.plus(_);var P=L.e/l,M=_.e/l,B=L.c,H=_.c;if(!P||!M){if(!B||!H)return B?(_.s=-E,_):new G(H?L:NaN);if(!B[0]||!H[0])return H[0]?(_.s=-E,_):new G(B[0]?L:ue==3?-0:0)}if(P=g(P),M=g(M),B=B.slice(),x=P-M){for((I=x<0)?(x=-x,F=B):(M=P,F=H),F.reverse(),E=x;E--;F.push(0));F.reverse()}else for(j=(I=(x=B.length)<(E=H.length))?x:E,x=E=0;E<j;E++)if(B[E]!=H[E]){I=B[E]<H[E];break}if(I&&(F=B,B=H,H=F,_.s=-_.s),E=(j=H.length)-(D=B.length),E>0)for(;E--;B[D++]=0);for(E=u-1;j>x;){if(B[--j]<H[j]){for(D=j;D&&!B[--D];B[D]=E);--B[D],B[j]+=u}B[j]-=H[j]}for(;B[0]==0;B.splice(0,1),--M);return B[0]?ft(_,B,M):(_.s=ue==3?-1:1,_.c=[_.e=0],_)},z.modulo=z.mod=function(_,E){var D,j,F=this;return _=new G(_,E),!F.c||!_.s||_.c&&!_.c[0]?new G(NaN):!_.c||F.c&&!F.c[0]?new G(F):(J==9?(j=_.s,_.s=1,D=O(F,_,0,3),_.s=j,D.s*=j):D=O(F,_,0,J),_=F.minus(D.times(_)),!_.c[0]&&J==1&&(_.s=F.s),_)},z.multipliedBy=z.times=function(_,E){var D,j,F,I,L,x,P,M,B,H,ee,re,ke,Fe,Be,we=this,Se=we.c,$e=(_=new G(_,E)).c;if(!Se||!$e||!Se[0]||!$e[0])return!we.s||!_.s||Se&&!Se[0]&&!$e||$e&&!$e[0]&&!Se?_.c=_.e=_.s=null:(_.s*=we.s,!Se||!$e?_.c=_.e=null:(_.c=[0],_.e=0)),_;for(j=g(we.e/l)+g(_.e/l),_.s*=we.s,P=Se.length,H=$e.length,P<H&&(ke=Se,Se=$e,$e=ke,F=P,P=H,H=F),F=P+H,ke=[];F--;ke.push(0));for(Fe=u,Be=p,F=H;--F>=0;){for(D=0,ee=$e[F]%Be,re=$e[F]/Be|0,L=P,I=F+L;I>F;)M=Se[--L]%Be,B=Se[L]/Be|0,x=re*M+B*ee,M=ee*M+x%Be*Be+ke[I]+D,D=(M/Fe|0)+(x/Be|0)+re*B,ke[I--]=M%Fe;ke[I]=D}return D?++j:ke.splice(0,1),ft(_,ke,j)},z.negated=function(){var _=new G(this);return _.s=-_.s||null,_},z.plus=function(_,E){var D,j=this,F=j.s;if(_=new G(_,E),E=_.s,!F||!E)return new G(NaN);if(F!=E)return _.s=-E,j.minus(_);var I=j.e/l,L=_.e/l,x=j.c,P=_.c;if(!I||!L){if(!x||!P)return new G(F/0);if(!x[0]||!P[0])return P[0]?_:new G(x[0]?j:F*0)}if(I=g(I),L=g(L),x=x.slice(),F=I-L){for(F>0?(L=I,D=P):(F=-F,D=x),D.reverse();F--;D.push(0));D.reverse()}for(F=x.length,E=P.length,F-E<0&&(D=P,P=x,x=D,E=F),F=0;E;)F=(x[--E]=x[E]+P[E]+F)/u|0,x[E]=u===x[E]?0:x[E]%u;return F&&(x=[F].concat(x),++L),ft(_,x,L)},z.precision=z.sd=function(_,E){var D,j,F,I=this;if(_!=null&&_!==!!_)return m(_,1,y),E==null?E=ue:m(E,0,8),Re(new G(I),_,E);if(!(D=I.c))return null;if(F=D.length-1,j=F*l+1,F=D[F]){for(;F%10==0;F/=10,j--);for(F=D[0];F>=10;F/=10,j++);}return _&&I.e+1>j&&(j=I.e+1),j},z.shiftedBy=function(_){return m(_,-f,f),this.times("1e"+_)},z.squareRoot=z.sqrt=function(){var _,E,D,j,F,I=this,L=I.c,x=I.s,P=I.e,M=X+4,B=new G("0.5");if(x!==1||!L||!L[0])return new G(!x||x<0&&(!L||L[0])?NaN:L?I:1/0);if(x=Math.sqrt(+Ne(I)),x==0||x==1/0?(E=C(L),(E.length+P)%2==0&&(E+="0"),x=Math.sqrt(+E),P=g((P+1)/2)-(P<0||P%2),x==1/0?E="5e"+P:(E=x.toExponential(),E=E.slice(0,E.indexOf("e")+1)+P),D=new G(E)):D=new G(x+""),D.c[0]){for(P=D.e,x=P+M,x<3&&(x=0);;)if(F=D,D=B.times(F.plus(O(I,F,M,1))),C(F.c).slice(0,x)===(E=C(D.c)).slice(0,x))if(D.e<P&&--x,E=E.slice(x-3,x+1),E=="9999"||!j&&E=="4999"){if(!j&&(Re(F,F.e+X+2,0),F.times(F).eq(I))){D=F;break}M+=4,x+=4,j=1}else{(!+E||!+E.slice(1)&&E.charAt(0)=="5")&&(Re(D,D.e+X+2,1),_=!D.times(D).eq(I));break}}return Re(D,D.e+X+1,ue,_)},z.toExponential=function(_,E){return _!=null&&(m(_,0,y),_++),le(this,_,E,1)},z.toFixed=function(_,E){return _!=null&&(m(_,0,y),_=_+this.e+1),le(this,_,E)},z.toFormat=function(_,E,D){var j,F=this;if(D==null)_!=null&&E&&typeof E=="object"?(D=E,E=null):_&&typeof _=="object"?(D=_,_=E=null):D=te;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(j=F.toFixed(_,E),F.c){var I,L=j.split("."),x=+D.groupSize,P=+D.secondaryGroupSize,M=D.groupSeparator||"",B=L[0],H=L[1],ee=F.s<0,re=ee?B.slice(1):B,ke=re.length;if(P&&(I=x,x=P,P=I,ke-=I),x>0&&ke>0){for(I=ke%x||x,B=re.substr(0,I);I<ke;I+=x)B+=M+re.substr(I,x);P>0&&(B+=M+re.slice(I)),ee&&(B="-"+B)}j=H?B+(D.decimalSeparator||"")+((P=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):B}return(D.prefix||"")+j+(D.suffix||"")},z.toFraction=function(_){var E,D,j,F,I,L,x,P,M,B,H,ee,re=this,ke=re.c;if(_!=null&&(x=new G(_),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+Ne(x));if(!ke)return new G(re);for(E=new G(Y),M=D=new G(Y),j=P=new G(Y),ee=C(ke),I=E.e=ee.length-re.e-1,E.c[0]=d[(L=I%l)<0?l+L:L],_=!_||x.comparedTo(E)>0?I>0?E:M:x,L=ge,ge=1/0,x=new G(ee),P.c[0]=0;B=O(x,E,0,1),F=D.plus(B.times(j)),F.comparedTo(_)!=1;)D=j,j=F,M=P.plus(B.times(F=M)),P=F,E=x.minus(B.times(F=E)),x=F;return F=O(_.minus(D),j,0,1),P=P.plus(F.times(M)),D=D.plus(F.times(j)),P.s=M.s=re.s,I=I*2,H=O(M,j,I,ue).minus(re).abs().comparedTo(O(P,D,I,ue).minus(re).abs())<1?[M,j]:[P,D],ge=L,H},z.toNumber=function(){return+Ne(this)},z.toPrecision=function(_,E){return _!=null&&m(_,1,y),le(this,_,E,2)},z.toString=function(_){var E,D=this,j=D.s,F=D.e;return F===null?j?(E="Infinity",j<0&&(E="-"+E)):E="NaN":(_==null?E=F<=ne||F>=he?k(C(D.c),F):S(C(D.c),F,"0"):_===10&&Xe?(D=Re(new G(D),X+F+1,ue),E=S(C(D.c),D.e,"0")):(m(_,2,Ae.length,"Base"),E=N(S(C(D.c),F,"0"),10,_,j,!0)),j<0&&D.c[0]&&(E="-"+E)),E},z.valueOf=z.toJSON=function(){return Ne(this)},z._isBigNumber=!0,T!=null&&G.set(T),G}function g(T){var O=T|0;return T>0||T===O?O:O-1}function C(T){for(var O,N,q=1,z=T.length,Y=T[0]+"";q<z;){for(O=T[q++]+"",N=l-O.length;N--;O="0"+O);Y+=O}for(z=Y.length;Y.charCodeAt(--z)===48;);return Y.slice(0,z+1||1)}function b(T,O){var N,q,z=T.c,Y=O.c,X=T.s,ue=O.s,ne=T.e,he=O.e;if(!X||!ue)return null;if(N=z&&!z[0],q=Y&&!Y[0],N||q)return N?q?0:-ue:X;if(X!=ue)return X;if(N=X<0,q=ne==he,!z||!Y)return q?0:!z^N?1:-1;if(!q)return ne>he^N?1:-1;for(ue=(ne=z.length)<(he=Y.length)?ne:he,X=0;X<ue;X++)if(z[X]!=Y[X])return z[X]>Y[X]^N?1:-1;return ne==he?0:ne>he^N?1:-1}function m(T,O,N,q){if(T<O||T>N||T!==o(T))throw Error(s+(q||"Argument")+(typeof T=="number"?T<O||T>N?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function v(T){var O=T.c.length-1;return g(T.e/l)==O&&T.c[O]%2!=0}function k(T,O){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(O<0?"e":"e+")+O}function S(T,O,N){var q,z;if(O<0){for(z=N+".";++O;z+=N);T=z+T}else if(q=T.length,++O>q){for(z=N,O-=q;--O;z+=N);T+=z}else O<q&&(T=T.slice(0,O)+"."+T.slice(O));return T}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ea<"u"&&ea.exports?ea.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Om)});var Nm=V((yF,Im)=>{var Fm=ml(),Pm=Im.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}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 u(f){return r.lastIndex=0,r.test(f)?'"'+f.replace(r,function(d){var p=s[d];return typeof p=="string"?p:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function l(f,d){var p,y,A,g,C=n,b,m=d[f],v=m!=null&&(m instanceof Fm||Fm.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(f)),typeof a=="function"&&(m=a.call(d,f,m)),typeof m){case"string":return v?m:u(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,b=[],Object.prototype.toString.apply(m)==="[object Array]"){for(g=m.length,p=0;p<g;p+=1)b[p]=l(p,m)||"null";return A=b.length===0?"[]":n?`[
43
+ `}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>$e(Qg()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Gm(),Wm))).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}};co.Gaxios=sa;uo=sa});var et=J(at=>{"use strict";var eS=at&&at.__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]})),tS=at&&at.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&eS(e,t,r)};Object.defineProperty(at,"__esModule",{value:!0});at.instance=at.Gaxios=at.GaxiosError=void 0;at.request=nS;var Ym=Km();Object.defineProperty(at,"Gaxios",{enumerable:!0,get:function(){return Ym.Gaxios}});var rS=rl();Object.defineProperty(at,"GaxiosError",{enumerable:!0,get:function(){return rS.GaxiosError}});tS(sl(),at);at.instance=new Ym.Gaxios;async function nS(t){return at.instance.request(t)}});var Dl=J((Xm,ia)=>{(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: ",u=1e14,c=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,y=1e9;function A(T){var O,N,G,$=W.prototype={constructor:W,toString:null,valueOf:null},X=new W(1),K=20,se=4,_e=-7,me=21,le=-1e7,pe=1e7,ie=!1,V=1,Y=0,Z={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Se="0123456789abcdefghijklmnopqrstuvwxyz",Ue=!0;function W(C,S){var D,j,F,I,L,x,P,M,B=this;if(!(B instanceof W))return new W(C,S);if(S==null){if(C&&C._isBigNumber===!0){B.s=C.s,!C.c||C.e>pe?B.c=B.e=null:C.e<le?B.c=[B.e=0]:(B.e=C.e,B.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(B.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,L=C;L>=10;L/=10,I++);I>pe?B.c=B.e=null:(B.e=I,B.c=[C]);return}M=String(C)}else{if(!r.test(M=String(C)))return G(B,M,x);B.s=M.charCodeAt(0)==45?(M=M.slice(1),-1):1}(I=M.indexOf("."))>-1&&(M=M.replace(".","")),(L=M.search(/e/i))>0?(I<0&&(I=L),I+=+M.slice(L+1),M=M.substring(0,L)):I<0&&(I=M.length)}else{if(m(S,2,Se.length,"Base"),S==10&&Ue)return B=new W(C),xe(B,K+B.e+1,se);if(M=String(C),x=typeof C=="number"){if(C*0!=0)return G(B,M,x,S);if(B.s=1/C<0?(M=M.slice(1),-1):1,W.DEBUG&&M.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else B.s=M.charCodeAt(0)===45?(M=M.slice(1),-1):1;for(D=Se.slice(0,S),I=L=0,P=M.length;L<P;L++)if(D.indexOf(j=M.charAt(L))<0){if(j=="."){if(L>I){I=P;continue}}else if(!F&&(M==M.toUpperCase()&&(M=M.toLowerCase())||M==M.toLowerCase()&&(M=M.toUpperCase()))){F=!0,L=-1,I=0;continue}return G(B,String(C),x,S)}x=!1,M=N(M,S,10,B.s),(I=M.indexOf("."))>-1?M=M.replace(".",""):I=M.length}for(L=0;M.charCodeAt(L)===48;L++);for(P=M.length;M.charCodeAt(--P)===48;);if(M=M.slice(L,++P)){if(P-=L,x&&W.DEBUG&&P>15&&(C>f||C!==o(C)))throw Error(a+B.s*C);if((I=I-L-1)>pe)B.c=B.e=null;else if(I<le)B.c=[B.e=0];else{if(B.e=I,B.c=[],L=(I+1)%c,I<0&&(L+=c),L<P){for(L&&B.c.push(+M.slice(0,L)),P-=c;L<P;)B.c.push(+M.slice(L,L+=c));L=c-(M=M.slice(L)).length}else L-=P;for(;L--;M+="0");B.c.push(+M)}}else B.c=[B.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 S,D;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(S="DECIMAL_PLACES")&&(D=C[S],m(D,0,y,S),K=D),C.hasOwnProperty(S="ROUNDING_MODE")&&(D=C[S],m(D,0,8,S),se=D),C.hasOwnProperty(S="EXPONENTIAL_AT")&&(D=C[S],D&&D.pop?(m(D[0],-y,0,S),m(D[1],0,y,S),_e=D[0],me=D[1]):(m(D,-y,y,S),_e=-(me=D<0?-D:D))),C.hasOwnProperty(S="RANGE"))if(D=C[S],D&&D.pop)m(D[0],-y,-1,S),m(D[1],1,y,S),le=D[0],pe=D[1];else if(m(D,-y,y,S),D)le=-(pe=D<0?-D:D);else throw Error(s+S+" cannot be zero: "+D);if(C.hasOwnProperty(S="CRYPTO"))if(D=C[S],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ie=D;else throw ie=!D,Error(s+"crypto unavailable");else ie=D;else throw Error(s+S+" not true or false: "+D);if(C.hasOwnProperty(S="MODULO_MODE")&&(D=C[S],m(D,0,9,S),V=D),C.hasOwnProperty(S="POW_PRECISION")&&(D=C[S],m(D,0,y,S),Y=D),C.hasOwnProperty(S="FORMAT"))if(D=C[S],typeof D=="object")Z=D;else throw Error(s+S+" not an object: "+D);if(C.hasOwnProperty(S="ALPHABET"))if(D=C[S],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Ue=D.slice(0,10)=="0123456789",Se=D;else throw Error(s+S+" invalid: "+D)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:K,ROUNDING_MODE:se,EXPONENTIAL_AT:[_e,me],RANGE:[le,pe],CRYPTO:ie,MODULO_MODE:V,POW_PRECISION:Y,FORMAT:Z,ALPHABET:Se}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var S,D,j=C.c,F=C.e,I=C.s;e:if({}.toString.call(j)=="[object Array]"){if((I===1||I===-1)&&F>=-y&&F<=y&&F===o(F)){if(j[0]===0){if(F===0&&j.length===1)return!0;break e}if(S=(F+1)%c,S<1&&(S+=c),String(j[0]).length==S){for(S=0;S<j.length;S++)if(D=j[S],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(j===null&&F===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return re(arguments,-1)},W.minimum=W.min=function(){return re(arguments,1)},W.random=(function(){var C=9007199254740992,S=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var j,F,I,L,x,P=0,M=[],B=new W(X);if(D==null?D=K:m(D,0,y),L=n(D/c),ie)if(crypto.getRandomValues){for(j=crypto.getRandomValues(new Uint32Array(L*=2));P<L;)x=j[P]*131072+(j[P+1]>>>11),x>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),j[P]=F[0],j[P+1]=F[1]):(M.push(x%1e14),P+=2);P=L/2}else if(crypto.randomBytes){for(j=crypto.randomBytes(L*=7);P<L;)x=(j[P]&31)*281474976710656+j[P+1]*1099511627776+j[P+2]*4294967296+j[P+3]*16777216+(j[P+4]<<16)+(j[P+5]<<8)+j[P+6],x>=9e15?crypto.randomBytes(7).copy(j,P):(M.push(x%1e14),P+=7);P=L/7}else throw ie=!1,Error(s+"crypto unavailable");if(!ie)for(;P<L;)x=S(),x<9e15&&(M[P++]=x%1e14);for(L=M[--P],D%=c,L&&D&&(x=d[c-D],M[P]=o(L/x)*x);M[P]===0;M.pop(),P--);if(P<0)M=[I=0];else{for(I=-1;M[0]===0;M.splice(0,1),I-=c);for(P=1,x=M[0];x>=10;x/=10,P++);P<c&&(I-=c-P)}return B.e=I,B.c=M,B}})(),W.sum=function(){for(var C=1,S=arguments,D=new W(S[0]);C<S.length;)D=D.plus(S[C++]);return D},N=(function(){var C="0123456789";function S(D,j,F,I){for(var L,x=[0],P,M=0,B=D.length;M<B;){for(P=x.length;P--;x[P]*=j);for(x[0]+=I.indexOf(D.charAt(M++)),L=0;L<x.length;L++)x[L]>F-1&&(x[L+1]==null&&(x[L+1]=0),x[L+1]+=x[L]/F|0,x[L]%=F)}return x.reverse()}return function(D,j,F,I,L){var x,P,M,B,z,ee,te,Ee,Pe=D.indexOf("."),je=K,we=se;for(Pe>=0&&(B=Y,Y=0,D=D.replace(".",""),Ee=new W(j),ee=Ee.pow(D.length-Pe),Y=B,Ee.c=S(w(_(ee.c),ee.e,"0"),10,F,C),Ee.e=Ee.c.length),te=S(D,j,F,L?(x=Se,C):(x=C,Se)),M=B=te.length;te[--B]==0;te.pop());if(!te[0])return x.charAt(0);if(Pe<0?--M:(ee.c=te,ee.e=M,ee.s=I,ee=O(ee,Ee,je,we,F),te=ee.c,z=ee.r,M=ee.e),P=M+je+1,Pe=te[P],B=F/2,z=z||P<0||te[P+1]!=null,z=we<4?(Pe!=null||z)&&(we==0||we==(ee.s<0?3:2)):Pe>B||Pe==B&&(we==4||z||we==6&&te[P-1]&1||we==(ee.s<0?8:7)),P<1||!te[0])D=z?w(x.charAt(1),-je,x.charAt(0)):x.charAt(0);else{if(te.length=P,z)for(--F;++te[--P]>F;)te[P]=0,P||(++M,te=[1].concat(te));for(B=te.length;!te[--B];);for(Pe=0,D="";Pe<=B;D+=x.charAt(te[Pe++]));D=w(D,M,x.charAt(0))}return D}})(),O=(function(){function C(j,F,I){var L,x,P,M,B=0,z=j.length,ee=F%p,te=F/p|0;for(j=j.slice();z--;)P=j[z]%p,M=j[z]/p|0,L=te*P+M*ee,x=ee*P+L%p*p+B,B=(x/I|0)+(L/p|0)+te*M,j[z]=x%I;return B&&(j=[B].concat(j)),j}function S(j,F,I,L){var x,P;if(I!=L)P=I>L?1:-1;else for(x=P=0;x<I;x++)if(j[x]!=F[x]){P=j[x]>F[x]?1:-1;break}return P}function D(j,F,I,L){for(var x=0;I--;)j[I]-=x,x=j[I]<F[I]?1:0,j[I]=x*L+j[I]-F[I];for(;!j[0]&&j.length>1;j.splice(0,1));}return function(j,F,I,L,x){var P,M,B,z,ee,te,Ee,Pe,je,we,Ae,He,Un,Ln,qn,pt,hr,tt=j.s==F.s?1:-1,We=j.c,De=F.c;if(!We||!We[0]||!De||!De[0])return new W(!j.s||!F.s||(We?De&&We[0]==De[0]:!De)?NaN:We&&We[0]==0||!De?tt*0:tt/0);for(Pe=new W(tt),je=Pe.c=[],M=j.e-F.e,tt=I+M+1,x||(x=u,M=g(j.e/c)-g(F.e/c),tt=tt/c|0),B=0;De[B]==(We[B]||0);B++);if(De[B]>(We[B]||0)&&M--,tt<0)je.push(1),z=!0;else{for(Ln=We.length,pt=De.length,B=0,tt+=2,ee=o(x/(De[0]+1)),ee>1&&(De=C(De,ee,x),We=C(We,ee,x),pt=De.length,Ln=We.length),Un=pt,we=We.slice(0,pt),Ae=we.length;Ae<pt;we[Ae++]=0);hr=De.slice(),hr=[0].concat(hr),qn=De[0],De[1]>=x/2&&qn++;do{if(ee=0,P=S(De,we,pt,Ae),P<0){if(He=we[0],pt!=Ae&&(He=He*x+(we[1]||0)),ee=o(He/qn),ee>1)for(ee>=x&&(ee=x-1),te=C(De,ee,x),Ee=te.length,Ae=we.length;S(te,we,Ee,Ae)==1;)ee--,D(te,pt<Ee?hr:De,Ee,x),Ee=te.length,P=1;else ee==0&&(P=ee=1),te=De.slice(),Ee=te.length;if(Ee<Ae&&(te=[0].concat(te)),D(we,te,Ae,x),Ae=we.length,P==-1)for(;S(De,we,pt,Ae)<1;)ee++,D(we,pt<Ae?hr:De,Ae,x),Ae=we.length}else P===0&&(ee++,we=[0]);je[B++]=ee,we[0]?we[Ae++]=We[Un]||0:(we=[We[Un]],Ae=1)}while((Un++<Ln||we[0]!=null)&&tt--);z=we[0]!=null,je[0]||je.splice(0,1)}if(x==u){for(B=1,tt=je[0];tt>=10;tt/=10,B++);xe(Pe,I+(Pe.e=B+M*c-1)+1,L,z)}else Pe.e=M,Pe.r=+z;return Pe}})();function ue(C,S,D,j){var F,I,L,x,P;if(D==null?D=se:m(D,0,8),!C.c)return C.toString();if(F=C.c[0],L=C.e,S==null)P=_(C.c),P=j==1||j==2&&(L<=_e||L>=me)?k(P,L):w(P,L,"0");else if(C=xe(new W(C),S,D),I=C.e,P=_(C.c),x=P.length,j==1||j==2&&(S<=I||I<=_e)){for(;x<S;P+="0",x++);P=k(P,I)}else if(S-=L+(j===2&&I>L),P=w(P,I,"0"),I+1>x){if(--S>0)for(P+=".";S--;P+="0");}else if(S+=I-x,S>0)for(I+1==x&&(P+=".");S--;P+="0");return C.s<0&&F?"-"+P:P}function re(C,S){for(var D,j,F=1,I=new W(C[0]);F<C.length;F++)j=new W(C[F]),(!j.s||(D=b(I,j))===S||D===0&&I.s===S)&&(I=j);return I}function ke(C,S,D){for(var j=1,F=S.length;!S[--F];S.pop());for(F=S[0];F>=10;F/=10,j++);return(D=j+D*c-1)>pe?C.c=C.e=null:D<le?C.c=[C.e=0]:(C.e=D,C.c=S),C}G=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,S=/^([^.]+)\.$/,D=/^\.([^.]+)$/,j=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,L,x,P){var M,B=x?L:L.replace(F,"");if(j.test(B))I.s=isNaN(B)?null:B<0?-1:1;else{if(!x&&(B=B.replace(C,function(z,ee,te){return M=(te=te.toLowerCase())=="x"?16:te=="b"?2:8,!P||P==M?ee:z}),P&&(M=P,B=B.replace(S,"$1").replace(D,"0.$1")),L!=B))return new W(B,M);if(W.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+L);I.s=null}I.c=I.e=null}})();function xe(C,S,D,j){var F,I,L,x,P,M,B,z=C.c,ee=d;if(z){e:{for(F=1,x=z[0];x>=10;x/=10,F++);if(I=S-F,I<0)I+=c,L=S,P=z[M=0],B=o(P/ee[F-L-1]%10);else if(M=n((I+1)/c),M>=z.length)if(j){for(;z.length<=M;z.push(0));P=B=0,F=1,I%=c,L=I-c+1}else break e;else{for(P=x=z[M],F=1;x>=10;x/=10,F++);I%=c,L=I-c+F,B=L<0?0:o(P/ee[F-L-1]%10)}if(j=j||S<0||z[M+1]!=null||(L<0?P:P%ee[F-L-1]),j=D<4?(B||j)&&(D==0||D==(C.s<0?3:2)):B>5||B==5&&(D==4||j||D==6&&(I>0?L>0?P/ee[F-L]:0:z[M-1])%10&1||D==(C.s<0?8:7)),S<1||!z[0])return z.length=0,j?(S-=C.e+1,z[0]=ee[(c-S%c)%c],C.e=-S||0):z[0]=C.e=0,C;if(I==0?(z.length=M,x=1,M--):(z.length=M+1,x=ee[c-I],z[M]=L>0?o(P/ee[F-L]%ee[L])*x:0),j)for(;;)if(M==0){for(I=1,L=z[0];L>=10;L/=10,I++);for(L=z[0]+=x,x=1;L>=10;L/=10,x++);I!=x&&(C.e++,z[0]==u&&(z[0]=1));break}else{if(z[M]+=x,z[M]!=u)break;z[M--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>pe?C.c=C.e=null:C.e<le&&(C.c=[C.e=0])}return C}function Be(C){var S,D=C.e;return D===null?C.toString():(S=_(C.c),S=D<=_e||D>=me?k(S,D):w(S,D,"0"),C.s<0?"-"+S:S)}return $.absoluteValue=$.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},$.comparedTo=function(C,S){return b(this,new W(C,S))},$.decimalPlaces=$.dp=function(C,S){var D,j,F,I=this;if(C!=null)return m(C,0,y),S==null?S=se:m(S,0,8),xe(new W(I),C+I.e+1,S);if(!(D=I.c))return null;if(j=((F=D.length-1)-g(this.e/c))*c,F=D[F])for(;F%10==0;F/=10,j--);return j<0&&(j=0),j},$.dividedBy=$.div=function(C,S){return O(this,new W(C,S),K,se)},$.dividedToIntegerBy=$.idiv=function(C,S){return O(this,new W(C,S),0,1)},$.exponentiatedBy=$.pow=function(C,S){var D,j,F,I,L,x,P,M,B,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+Be(C));if(S!=null&&(S=new W(S)),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 B=new W(Math.pow(+Be(z),x?C.s*(2-v(C)):+Be(C))),S?B.mod(S):B;if(P=C.s<0,S){if(S.c?!S.c[0]:!S.s)return new W(NaN);j=!P&&z.isInteger()&&S.isInteger(),j&&(z=z.mod(S))}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(P?1/I:I);Y&&(I=n(Y/c+2))}for(x?(D=new W(.5),P&&(C.s=1),M=v(C)):(F=Math.abs(+Be(C)),M=F%2),B=new W(X);;){if(M){if(B=B.times(z),!B.c)break;I?B.c.length>I&&(B.c.length=I):j&&(B=B.mod(S))}if(F){if(F=o(F/2),F===0)break;M=F%2}else if(C=C.times(D),xe(C,C.e+1,1),C.e>14)M=v(C);else{if(F=+Be(C),F===0)break;M=F%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):j&&(z=z.mod(S))}return j?B:(P&&(B=X.div(B)),S?B.mod(S):I?xe(B,Y,se,L):B)},$.integerValue=function(C){var S=new W(this);return C==null?C=se:m(C,0,8),xe(S,S.e+1,C)},$.isEqualTo=$.eq=function(C,S){return b(this,new W(C,S))===0},$.isFinite=function(){return!!this.c},$.isGreaterThan=$.gt=function(C,S){return b(this,new W(C,S))>0},$.isGreaterThanOrEqualTo=$.gte=function(C,S){return(S=b(this,new W(C,S)))===1||S===0},$.isInteger=function(){return!!this.c&&g(this.e/c)>this.c.length-2},$.isLessThan=$.lt=function(C,S){return b(this,new W(C,S))<0},$.isLessThanOrEqualTo=$.lte=function(C,S){return(S=b(this,new W(C,S)))===-1||S===0},$.isNaN=function(){return!this.s},$.isNegative=function(){return this.s<0},$.isPositive=function(){return this.s>0},$.isZero=function(){return!!this.c&&this.c[0]==0},$.minus=function(C,S){var D,j,F,I,L=this,x=L.s;if(C=new W(C,S),S=C.s,!x||!S)return new W(NaN);if(x!=S)return C.s=-S,L.plus(C);var P=L.e/c,M=C.e/c,B=L.c,z=C.c;if(!P||!M){if(!B||!z)return B?(C.s=-S,C):new W(z?L:NaN);if(!B[0]||!z[0])return z[0]?(C.s=-S,C):new W(B[0]?L:se==3?-0:0)}if(P=g(P),M=g(M),B=B.slice(),x=P-M){for((I=x<0)?(x=-x,F=B):(M=P,F=z),F.reverse(),S=x;S--;F.push(0));F.reverse()}else for(j=(I=(x=B.length)<(S=z.length))?x:S,x=S=0;S<j;S++)if(B[S]!=z[S]){I=B[S]<z[S];break}if(I&&(F=B,B=z,z=F,C.s=-C.s),S=(j=z.length)-(D=B.length),S>0)for(;S--;B[D++]=0);for(S=u-1;j>x;){if(B[--j]<z[j]){for(D=j;D&&!B[--D];B[D]=S);--B[D],B[j]+=u}B[j]-=z[j]}for(;B[0]==0;B.splice(0,1),--M);return B[0]?ke(C,B,M):(C.s=se==3?-1:1,C.c=[C.e=0],C)},$.modulo=$.mod=function(C,S){var D,j,F=this;return C=new W(C,S),!F.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||F.c&&!F.c[0]?new W(F):(V==9?(j=C.s,C.s=1,D=O(F,C,0,3),C.s=j,D.s*=j):D=O(F,C,0,V),C=F.minus(D.times(C)),!C.c[0]&&V==1&&(C.s=F.s),C)},$.multipliedBy=$.times=function(C,S){var D,j,F,I,L,x,P,M,B,z,ee,te,Ee,Pe,je,we=this,Ae=we.c,He=(C=new W(C,S)).c;if(!Ae||!He||!Ae[0]||!He[0])return!we.s||!C.s||Ae&&!Ae[0]&&!He||He&&!He[0]&&!Ae?C.c=C.e=C.s=null:(C.s*=we.s,!Ae||!He?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(j=g(we.e/c)+g(C.e/c),C.s*=we.s,P=Ae.length,z=He.length,P<z&&(Ee=Ae,Ae=He,He=Ee,F=P,P=z,z=F),F=P+z,Ee=[];F--;Ee.push(0));for(Pe=u,je=p,F=z;--F>=0;){for(D=0,ee=He[F]%je,te=He[F]/je|0,L=P,I=F+L;I>F;)M=Ae[--L]%je,B=Ae[L]/je|0,x=te*M+B*ee,M=ee*M+x%je*je+Ee[I]+D,D=(M/Pe|0)+(x/je|0)+te*B,Ee[I--]=M%Pe;Ee[I]=D}return D?++j:Ee.splice(0,1),ke(C,Ee,j)},$.negated=function(){var C=new W(this);return C.s=-C.s||null,C},$.plus=function(C,S){var D,j=this,F=j.s;if(C=new W(C,S),S=C.s,!F||!S)return new W(NaN);if(F!=S)return C.s=-S,j.minus(C);var I=j.e/c,L=C.e/c,x=j.c,P=C.c;if(!I||!L){if(!x||!P)return new W(F/0);if(!x[0]||!P[0])return P[0]?C:new W(x[0]?j:F*0)}if(I=g(I),L=g(L),x=x.slice(),F=I-L){for(F>0?(L=I,D=P):(F=-F,D=x),D.reverse();F--;D.push(0));D.reverse()}for(F=x.length,S=P.length,F-S<0&&(D=P,P=x,x=D,S=F),F=0;S;)F=(x[--S]=x[S]+P[S]+F)/u|0,x[S]=u===x[S]?0:x[S]%u;return F&&(x=[F].concat(x),++L),ke(C,x,L)},$.precision=$.sd=function(C,S){var D,j,F,I=this;if(C!=null&&C!==!!C)return m(C,1,y),S==null?S=se:m(S,0,8),xe(new W(I),C,S);if(!(D=I.c))return null;if(F=D.length-1,j=F*c+1,F=D[F]){for(;F%10==0;F/=10,j--);for(F=D[0];F>=10;F/=10,j++);}return C&&I.e+1>j&&(j=I.e+1),j},$.shiftedBy=function(C){return m(C,-f,f),this.times("1e"+C)},$.squareRoot=$.sqrt=function(){var C,S,D,j,F,I=this,L=I.c,x=I.s,P=I.e,M=K+4,B=new W("0.5");if(x!==1||!L||!L[0])return new W(!x||x<0&&(!L||L[0])?NaN:L?I:1/0);if(x=Math.sqrt(+Be(I)),x==0||x==1/0?(S=_(L),(S.length+P)%2==0&&(S+="0"),x=Math.sqrt(+S),P=g((P+1)/2)-(P<0||P%2),x==1/0?S="5e"+P:(S=x.toExponential(),S=S.slice(0,S.indexOf("e")+1)+P),D=new W(S)):D=new W(x+""),D.c[0]){for(P=D.e,x=P+M,x<3&&(x=0);;)if(F=D,D=B.times(F.plus(O(I,F,M,1))),_(F.c).slice(0,x)===(S=_(D.c)).slice(0,x))if(D.e<P&&--x,S=S.slice(x-3,x+1),S=="9999"||!j&&S=="4999"){if(!j&&(xe(F,F.e+K+2,0),F.times(F).eq(I))){D=F;break}M+=4,x+=4,j=1}else{(!+S||!+S.slice(1)&&S.charAt(0)=="5")&&(xe(D,D.e+K+2,1),C=!D.times(D).eq(I));break}}return xe(D,D.e+K+1,se,C)},$.toExponential=function(C,S){return C!=null&&(m(C,0,y),C++),ue(this,C,S,1)},$.toFixed=function(C,S){return C!=null&&(m(C,0,y),C=C+this.e+1),ue(this,C,S)},$.toFormat=function(C,S,D){var j,F=this;if(D==null)C!=null&&S&&typeof S=="object"?(D=S,S=null):C&&typeof C=="object"?(D=C,C=S=null):D=Z;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(j=F.toFixed(C,S),F.c){var I,L=j.split("."),x=+D.groupSize,P=+D.secondaryGroupSize,M=D.groupSeparator||"",B=L[0],z=L[1],ee=F.s<0,te=ee?B.slice(1):B,Ee=te.length;if(P&&(I=x,x=P,P=I,Ee-=I),x>0&&Ee>0){for(I=Ee%x||x,B=te.substr(0,I);I<Ee;I+=x)B+=M+te.substr(I,x);P>0&&(B+=M+te.slice(I)),ee&&(B="-"+B)}j=z?B+(D.decimalSeparator||"")+((P=+D.fractionGroupSize)?z.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):z):B}return(D.prefix||"")+j+(D.suffix||"")},$.toFraction=function(C){var S,D,j,F,I,L,x,P,M,B,z,ee,te=this,Ee=te.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(X)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+Be(x));if(!Ee)return new W(te);for(S=new W(X),M=D=new W(X),j=P=new W(X),ee=_(Ee),I=S.e=ee.length-te.e-1,S.c[0]=d[(L=I%c)<0?c+L:L],C=!C||x.comparedTo(S)>0?I>0?S:M:x,L=pe,pe=1/0,x=new W(ee),P.c[0]=0;B=O(x,S,0,1),F=D.plus(B.times(j)),F.comparedTo(C)!=1;)D=j,j=F,M=P.plus(B.times(F=M)),P=F,S=x.minus(B.times(F=S)),x=F;return F=O(C.minus(D),j,0,1),P=P.plus(F.times(M)),D=D.plus(F.times(j)),P.s=M.s=te.s,I=I*2,z=O(M,j,I,se).minus(te).abs().comparedTo(O(P,D,I,se).minus(te).abs())<1?[M,j]:[P,D],pe=L,z},$.toNumber=function(){return+Be(this)},$.toPrecision=function(C,S){return C!=null&&m(C,1,y),ue(this,C,S,2)},$.toString=function(C){var S,D=this,j=D.s,F=D.e;return F===null?j?(S="Infinity",j<0&&(S="-"+S)):S="NaN":(C==null?S=F<=_e||F>=me?k(_(D.c),F):w(_(D.c),F,"0"):C===10&&Ue?(D=xe(new W(D),K+F+1,se),S=w(_(D.c),D.e,"0")):(m(C,2,Se.length,"Base"),S=N(w(_(D.c),F,"0"),10,C,j,!0)),j<0&&D.c[0]&&(S="-"+S)),S},$.valueOf=$.toJSON=function(){return Be(this)},$._isBigNumber=!0,T!=null&&W.set(T),W}function g(T){var O=T|0;return T>0||T===O?O:O-1}function _(T){for(var O,N,G=1,$=T.length,X=T[0]+"";G<$;){for(O=T[G++]+"",N=c-O.length;N--;O="0"+O);X+=O}for($=X.length;X.charCodeAt(--$)===48;);return X.slice(0,$+1||1)}function b(T,O){var N,G,$=T.c,X=O.c,K=T.s,se=O.s,_e=T.e,me=O.e;if(!K||!se)return null;if(N=$&&!$[0],G=X&&!X[0],N||G)return N?G?0:-se:K;if(K!=se)return K;if(N=K<0,G=_e==me,!$||!X)return G?0:!$^N?1:-1;if(!G)return _e>me^N?1:-1;for(se=(_e=$.length)<(me=X.length)?_e:me,K=0;K<se;K++)if($[K]!=X[K])return $[K]>X[K]^N?1:-1;return _e==me?0:_e>me^N?1:-1}function m(T,O,N,G){if(T<O||T>N||T!==o(T))throw Error(s+(G||"Argument")+(typeof T=="number"?T<O||T>N?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function v(T){var O=T.c.length-1;return g(T.e/c)==O&&T.c[O]%2!=0}function k(T,O){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(O<0?"e":"e+")+O}function w(T,O,N){var G,$;if(O<0){for($=N+".";++O;$+=N);T=$+T}else if(G=T.length,++O>G){for($=N,O-=G;--O;$+=N);T+=$}else O<G&&(T=T.slice(0,O)+"."+T.slice(O));return T}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ia<"u"&&ia.exports?ia.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Xm)});var ty=J((yP,ey)=>{var Qm=Dl(),Zm=ey.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}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 u(f){return r.lastIndex=0,r.test(f)?'"'+f.replace(r,function(d){var p=s[d];return typeof p=="string"?p:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function c(f,d){var p,y,A,g,_=n,b,m=d[f],v=m!=null&&(m instanceof Qm||Qm.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(f)),typeof a=="function"&&(m=a.call(d,f,m)),typeof m){case"string":return v?m:u(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,b=[],Object.prototype.toString.apply(m)==="[object Array]"){for(g=m.length,p=0;p<g;p+=1)b[p]=c(p,m)||"null";return A=b.length===0?"[]":n?`[
44
44
  `+n+b.join(`,
45
45
  `+n)+`
46
- `+C+"]":"["+b.join(",")+"]",n=C,A}if(a&&typeof a=="object")for(g=a.length,p=0;p<g;p+=1)typeof a[p]=="string"&&(y=a[p],A=l(y,m),A&&b.push(u(y)+(n?": ":":")+A));else Object.keys(m).forEach(function(k){var S=l(k,m);S&&b.push(u(k)+(n?": ":":")+S)});return A=b.length===0?"{}":n?`{
46
+ `+_+"]":"["+b.join(",")+"]",n=_,A}if(a&&typeof a=="object")for(g=a.length,p=0;p<g;p+=1)typeof a[p]=="string"&&(y=a[p],A=c(y,m),A&&b.push(u(y)+(n?": ":":")+A));else Object.keys(m).forEach(function(k){var w=c(k,m);w&&b.push(u(k)+(n?": ":":")+w)});return A=b.length===0?"{}":n?`{
47
47
  `+n+b.join(`,
48
48
  `+n)+`
49
- `+C+"}":"{"+b.join(",")+"}",n=C,A}}typeof Pm.stringify!="function"&&(Pm.stringify=function(f,d,p){var y;if(n="",o="",typeof p=="number")for(y=0;y<p;y+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return l("",{"":f})})})()});var jm=V((_F,Bm)=>{var ta=null,SS=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,ES=/(?: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)/,AS=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(C){throw{name:"SyntaxError",message:C,at:r,text:s}},u=function(C){return C&&C!==n&&a("Expected '"+C+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var C,b="";for(n==="-"&&(b="-",u("-"));n>="0"&&n<="9";)b+=n,u();if(n===".")for(b+=".";u()&&n>="0"&&n<="9";)b+=n;if(n==="e"||n==="E")for(b+=n,u(),(n==="-"||n==="+")&&(b+=n,u());n>="0"&&n<="9";)b+=n,u();if(C=+b,!isFinite(C))a("Bad number");else return ta==null&&(ta=ml()),b.length>15?e.storeAsString?b:e.useNativeBigInt?BigInt(b):new ta(b):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(C):new ta(C):C},f=function(){var C,b,m="",v;if(n==='"')for(var k=r;u();){if(n==='"')return r-1>k&&(m+=s.substring(k,r-1)),u(),m;if(n==="\\"){if(r-1>k&&(m+=s.substring(k,r-1)),u(),n==="u"){for(v=0,b=0;b<4&&(C=parseInt(u(),16),!!isFinite(C));b+=1)v=v*16+C;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;k=r}}a("Bad string")},d=function(){for(;n&&n<=" ";)u()},p=function(){switch(n){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+n+"'")},y,A=function(){var C=[];if(n==="["){if(u("["),d(),n==="]")return u("]"),C;for(;n;){if(C.push(y()),d(),n==="]")return u("]"),C;u(","),d()}}a("Bad array")},g=function(){var C,b=Object.create(null);if(n==="{"){if(u("{"),d(),n==="}")return u("}"),b;for(;n;){if(C=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(b,C)&&a('Duplicate key "'+C+'"'),SS.test(C)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?y():b[C]=y():ES.test(C)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?y():b[C]=y():b[C]=y(),d(),n==="}")return u("}"),b;u(","),d()}}a("Bad object")};return y=function(){switch(d(),n){case"{":return g();case"[":return A();case'"':return f();case"-":return l();default:return n>="0"&&n<="9"?l():p()}},function(C,b){var m;return s=C+"",r=0,n=" ",m=y(),d(),n&&a("Syntax error"),typeof b=="function"?(function v(k,S){var T,O,N=k[S];return N&&typeof N=="object"&&Object.keys(N).forEach(function(q){O=v(N,q),O!==void 0?N[q]=O:delete N[q]}),b.call(k,S,N)})({"":m},""):m}};Bm.exports=AS});var Lm=V((bF,ra)=>{var Mm=Nm().stringify,Um=jm();ra.exports=function(t){return{parse:Um(t),stringify:Mm}};ra.exports.parse=Um();ra.exports.stringify=Mm});var yl=V(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=zm;zt.isGoogleComputeEngineLinux=Hm;zt.isGoogleComputeEngineMACAddress=Wm;zt.isGoogleComputeEngine=Gm;zt.detectGCPResidency=DS;var qm=require("fs"),$m=require("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var TS=/^42:01/;function zm(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Hm(){if((0,$m.platform)()!=="linux")return!1;try{(0,qm.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,qm.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Wm(){let t=(0,$m.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(TS.test(r))return!0}return!1}function Gm(){return Hm()||Wm()}function DS(){return zm()||Gm()}});var Jm=V(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.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="")}};na.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 Xm=V(De=>{"use strict";var vS=De&&De.__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]})),RS=De&&De.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Vm=De&&De.__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"&&vS(r,e,n[o]);return RS(r,e),r}})();Object.defineProperty(De,"__esModule",{value:!0});De.env=De.DebugLogBackendBase=De.placeholder=De.AdhocDebugLogger=De.LogSeverity=void 0;De.getNodeBackend=bl;De.getDebugBackend=OS;De.getStructuredBackend=FS;De.setBackend=PS;De.log=Ym;var xS=require("events"),rs=Vm(require("process")),Km=Vm(require("util")),_t=Jm(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(De.LogSeverity=Ht={}));var ns=class extends xS.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=>Ym(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)}};De.AdhocDebugLogger=ns;De.placeholder=new ns("",()=>{}).func;var so=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=rs.env[De.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)}}};De.DebugLogBackendBase=so;var _l=class extends so{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=`${_t.Colours.green}${e}${_t.Colours.reset}`,a=`${_t.Colours.yellow}${rs.pid}${_t.Colours.reset}`,u;switch(r.severity){case Ht.ERROR:u=`${_t.Colours.red}${r.severity}${_t.Colours.reset}`;break;case Ht.INFO:u=`${_t.Colours.magenta}${r.severity}${_t.Colours.reset}`;break;case Ht.WARNING:u=`${_t.Colours.yellow}${r.severity}${_t.Colours.reset}`;break;default:u=(o=r.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Km.formatWithOptions({colors:_t.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${_t.Colours.grey}${d}${_t.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,d?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function bl(){return new _l}var Cl=class extends so{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=rs.env.NODE_DEBUG)!==null&&e!==void 0?e:"";rs.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function OS(t){return new Cl(t)}var wl=class extends so{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 u=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:u,message:Km.format(...s)},o),f=JSON.stringify(l);n?n(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function FS(t){return new wl(t)}De.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var kl=new Map,bt;function PS(t){bt=t,kl.clear()}function Ym(t,e){if(!bt&&!rs.env[De.env.nodeEnables]||!t)return De.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=kl.get(t);if(r)return r.func;if(bt===null)return De.placeholder;bt===void 0&&(bt=bl());let n=(()=>{let o;return new ns(t,(a,...u)=>{if(o!==bt){if(bt===null)return;bt===void 0&&(bt=bl()),o=bt}bt?.log(t,a,...u)})})();return kl.set(t,n),n.func}});var Sl=V(An=>{"use strict";var IS=An&&An.__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]})),NS=An&&An.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&IS(e,t,r)};Object.defineProperty(An,"__esModule",{value:!0});NS(Xm(),An)});var ss=V(ae=>{"use strict";var Zm=ae&&ae.__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]})),BS=ae&&ae.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),jS=ae&&ae.__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"&&Zm(r,e,n[o]);return BS(r,e),r}})(),MS=ae&&ae.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Zm(e,t,r)};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=HS;ae.project=WS;ae.universe=GS;ae.bulk=JS;ae.isAvailable=KS;ae.resetIsAvailableCache=YS;ae.getGCPResidency=Tl;ae.setGCPResidency=ey;ae.requestTimeout=ty;var El=Ye(),US=Lm(),LS=yl(),qS=jS(Sl());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 Qm=qS.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 Al(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 $S(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 os(t,e={},r=3,n=!1){let o=new Headers(ae.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((y,A)=>o.set(A,y)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:($S(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,y)=>o.set(y,p)),a=e.params||a);let u=n?zS:El.request,l={url:`${Al()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:ty()};Qm.info("instance request %j",l);let f=await u(l);Qm.info("instance metadata is %s",f.data);let d=f.headers.get(ae.HEADER_NAME);if(d!==ae.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ae.HEADER_NAME} header. Expected '${ae.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return US.parse(f.data)}catch{}return f.data}async function zS(t){let e={...t,url:t.url?.toString().replace(Al(),Al(ae.SECONDARY_HOST_ADDRESS))},r=(0,El.request)(t),n=(0,El.request)(e);return Promise.any([r,n])}function HS(t){return os("instance",t)}function WS(t){return os("project",t)}function GS(t){return os("universe",t)}async function JS(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await os(r),o=r.metadataKey;e[o]=n})())),e}function VS(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var oa;async function KS(){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 Tl();case"ping-only":}}try{return oa===void 0&&(oa=os("instance",void 0,VS(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await oa,!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 YS(){oa=void 0}ae.gcpResidencyCache=null;function Tl(){return ae.gcpResidencyCache===null&&ey(),ae.gcpResidencyCache}function ey(t=null){ae.gcpResidencyCache=t!==null?t:(0,LS.detectGCPResidency)()}function ty(){return Tl()?0:3e3}MS(yl(),ae)});var oy=V(sa=>{"use strict";sa.byteLength=QS;sa.toByteArray=eE;sa.fromByteArray=nE;var tr=[],Ot=[],XS=typeof Uint8Array<"u"?Uint8Array:Array,Dl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Tn=0,ry=Dl.length;Tn<ry;++Tn)tr[Tn]=Dl[Tn],Ot[Dl.charCodeAt(Tn)]=Tn;var Tn,ry;Ot[45]=62;Ot[95]=63;function ny(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 QS(t){var e=ny(t),r=e[0],n=e[1];return(r+n)*3/4-n}function ZS(t,e,r){return(e+r)*3/4-r}function eE(t){var e,r=ny(t),n=r[0],o=r[1],s=new XS(ZS(t,n,o)),a=0,u=o>0?n-4:n,l;for(l=0;l<u;l+=4)e=Ot[t.charCodeAt(l)]<<18|Ot[t.charCodeAt(l+1)]<<12|Ot[t.charCodeAt(l+2)]<<6|Ot[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Ot[t.charCodeAt(l)]<<2|Ot[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Ot[t.charCodeAt(l)]<<10|Ot[t.charCodeAt(l+1)]<<4|Ot[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function tE(t){return tr[t>>18&63]+tr[t>>12&63]+tr[t>>6&63]+tr[t&63]}function rE(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(tE(n));return o.join("")}function nE(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(rE(t,a,a+s>u?u:a+s));return n===1?(e=t[r-1],o.push(tr[e>>2]+tr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(tr[e>>10]+tr[e>>4&63]+tr[e<<2&63]+"=")),o.join("")}});var Rl=V(vl=>{"use strict";Object.defineProperty(vl,"__esModule",{value:!0});vl.fromArrayBufferToHex=oE;function oE(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var sy=V(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.BrowserCrypto=void 0;var io=oy(),sE=Rl(),xl=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 io.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),io.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=io.toByteArray(t.padBase64(n)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,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 io.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=io.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return io.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,sE.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))}};ia.BrowserCrypto=xl});var iy=V(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.NodeCrypto=void 0;var ao=require("crypto"),Ol=class{async sha256DigestBase64(e){return ao.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return ao.randomBytes(e).toString("base64")}async verify(e,r,n){let o=ao.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=ao.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 ao.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:aE(e);return iE(ao.createHmac("sha256",n).update(r).digest())}};aa.NodeCrypto=Ol;function iE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function aE(t){return Buffer.from(t)}});var is=V(Er=>{"use strict";var uE=Er&&Er.__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=Er&&Er.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&uE(e,t,r)};Object.defineProperty(Er,"__esModule",{value:!0});Er.createCrypto=dE;Er.hasBrowserCrypto=ay;var lE=sy(),fE=iy();cE(Rl(),Er);function dE(){return ay()?new lE.BrowserCrypto:new fE.NodeCrypto}function ay(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var uo=V((Fl,cy)=>{var ua=require("buffer"),rr=ua.Buffer;function uy(t,e){for(var r in t)e[r]=t[r]}rr.from&&rr.alloc&&rr.allocUnsafe&&rr.allocUnsafeSlow?cy.exports=ua:(uy(ua,Fl),Fl.Buffer=Dn);function Dn(t,e,r){return rr(t,e,r)}Dn.prototype=Object.create(rr.prototype);uy(rr,Dn);Dn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return rr(t,e,r)};Dn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=rr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};Dn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return rr(t)};Dn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ua.SlowBuffer(t)}});var fy=V((xF,ly)=>{"use strict";function Pl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var hE={ES256:Pl(256),ES384:Pl(384),ES512:Pl(521)};function pE(t){var e=hE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}ly.exports=pE});var Il=V((OF,yy)=>{"use strict";var ca=uo().Buffer,hy=fy(),la=128,py=0,gE=32,mE=16,yE=2,gy=mE|gE|py<<6,fa=yE|py<<6;function _E(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function my(t){if(ca.isBuffer(t))return t;if(typeof t=="string")return ca.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function bE(t,e){t=my(t);var r=hy(e),n=r+1,o=t.length,s=0;if(t[s++]!==gy)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(la|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==fa)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(n<u)throw new Error('"r" specified length of "'+u+'", max of "'+n+'" is acceptable');var l=s;if(s+=u,t[s++]!==fa)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(n<f)throw new Error('"s" specified length of "'+f+'", max of "'+n+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-u,y=r-f,A=ca.allocUnsafe(p+u+y+f);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,l+Math.max(-p,0),l+u),s=r;for(var g=s;s<g+y;++s)A[s]=0;return t.copy(A,s,d+Math.max(-y,0),d+f),A=A.toString("base64"),A=_E(A),A}function dy(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=la;return o&&--n,n}function CE(t,e){t=my(t);var r=hy(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=dy(t,0,r),s=dy(t,r,t.length),a=r-o,u=r-s,l=2+a+1+1+u,f=l<la,d=ca.allocUnsafe((f?2:3)+l),p=0;return d[p++]=gy,f?d[p++]=l:(d[p++]=la|1,d[p++]=l&255),d[p++]=fa,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,r)):p+=t.copy(d,p,o,r),d[p++]=fa,d[p++]=u,s<0?(d[p++]=0,t.copy(d,p,r)):t.copy(d,p,r+s),d}yy.exports={derToJose:bE,joseToDer:CE}});var Wt=V(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.LRUCache=void 0;Ar.snakeToCamel=by;Ar.originalOrCamelOptions=EE;Ar.removeUndefinedValuesInObject=AE;Ar.isValidFile=TE;Ar.getWellKnownCertificateConfigFileLocation=DE;var wE=require("fs"),kE=require("os"),Nl=require("path"),SE="certificate_config.json",_y="gcloud";function by(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function EE(t){function e(r){let n=t||{};return n[r]??n[by(r)]}return{get:e}}var Bl=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()}};Ar.LRUCache=Bl;function AE(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function TE(t){try{return(await wE.promises.lstat(t)).isFile()}catch{return!1}}function DE(){let t=process.env.CLOUDSDK_CONFIG||(vE()?Nl.join(process.env.APPDATA||"",_y):Nl.join(process.env.HOME||"",".config",_y));return Nl.join(t,SE)}function vE(){return kE.platform().startsWith("win")}});var Cy=V((PF,RE)=>{RE.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 jl=V(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.USER_AGENT=Yr.PRODUCT_NAME=Yr.pkg=void 0;var wy=Cy();Yr.pkg=wy;var ky="google-api-nodejs-client";Yr.PRODUCT_NAME=ky;var xE=`${ky}/${wy.version}`;Yr.USER_AGENT=xE});var Ct=V(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var OE=require("events"),Ml=Ye(),FE=Wt(),PE=Sl(),Ul=jl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Ll=class t extends OE.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,FE.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 Ml.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&&Ml.Gaxios.mergeHeaders(s,r.headers),n&&Ml.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,PE.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(`${Ul.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${Ul.USER_AGENT}`):e.headers.set("User-Agent",Ul.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=Ll});var $l=V(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.LoginTicket=void 0;var ql=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()}}};da.LoginTicket=ql});var vn=V(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.OAuth2Client=nr.ClientAuthentication=nr.CertificateFormat=nr.CodeChallengeMethod=void 0;var Sy=Ye(),IE=require("querystring"),NE=require("stream"),BE=Il(),Ey=Wt(),zl=is(),co=Ct(),jE=$l(),Ay;(function(t){t.Plain="plain",t.S256="S256"})(Ay||(nr.CodeChallengeMethod=Ay={}));var Tr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Tr||(nr.CertificateFormat=Tr={}));var as;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(as||(nr.ClientAuthentication=as={}));var Hl=class t extends co.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||as.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()+"?"+IE.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,zl.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===as.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===as.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Ey.removeUndefinedValuesInObject)(o)),headers:n};co.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,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,Ey.removeUndefinedValuesInObject)(n))};co.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(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 u=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);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(u){let l=u;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(co.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=Sy.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),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof NE.Readable,f=s===401||s===403;if(!r&&f&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&f&&!l&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),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,zl.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 f={...t.RETRY_CONFIG,url:o};co.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),n=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=n?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let u={};switch(r){case Tr.PEM:u=n.data;break;case Tr.JWK:for(let f of n.data.keys)u[f.kid]=f;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=u,this.certificateCacheFormat=r,{certs:u,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};co.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,zl.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=u[0]+"."+u[1],f=u[2],d,p;try{d=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token envelope: ${u[0]}': ${k.message}`),k}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token payload '${u[0]}`),k}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(r,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let y=r[d.kid];if(d.alg==="ES256"&&(f=BE.joseToDer(f,"ES256").toString("base64")),!await a.verify(y,l,f))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 g=Number(p.iat);if(isNaN(g))throw new Error("iat field using invalid format");let C=Number(p.exp);if(isNaN(C))throw new Error("exp field using invalid format");let b=new Date().getTime()/1e3;if(C>=b+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=g-t.CLOCK_SKEW_SECS_,v=C+t.CLOCK_SKEW_SECS_;if(b<m)throw new Error("Token used too early, "+b+" < "+m+": "+JSON.stringify(p));if(b>v)throw new Error("Token used too late, "+b+" > "+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 k=p.aud,S=!1;if(n.constructor===Array?S=n.indexOf(k)>-1:S=k===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new jE.LoginTicket(d,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}};nr.OAuth2Client=Hl});var Gl=V(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.Compute=void 0;var ME=Ye(),Ty=ss(),UE=vn(),Wl=class extends UE.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 Ty.instance(o)}catch(o){throw o instanceof ME.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 Ty.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))}};ha.Compute=Wl});var Vl=V(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.IdTokenClient=void 0;var LE=vn(),Jl=class extends LE.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}};pa.IdTokenClient=Jl});var Kl=V(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.GCPEnv=void 0;lo.clear=qE;lo.getEnv=$E;var Dy=ss(),or;(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"})(or||(lo.GCPEnv=or={}));var us;function qE(){us=void 0}async function $E(){return us||(us=zE(),us)}async function zE(){let t=or.NONE;return HE()?t=or.APP_ENGINE:WE()?t=or.CLOUD_FUNCTIONS:await KE()?await VE()?t=or.KUBERNETES_ENGINE:GE()?t=or.CLOUD_RUN:JE()?t=or.CLOUD_RUN_JOBS:t=or.COMPUTE_ENGINE:t=or.NONE,t}function HE(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function WE(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function GE(){return!!process.env.K_CONFIGURATION}function JE(){return!!process.env.CLOUD_RUN_JOB}async function VE(){try{return await Dy.instance("attributes/cluster-name"),!0}catch{return!1}}async function KE(){return Dy.isAvailable()}});var Yl=V((qF,vy)=>{var ga=uo().Buffer,YE=require("stream"),XE=require("util");function ma(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ga.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ga.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+")")}XE.inherits(ma,YE);ma.prototype.write=function(e){this.buffer=ga.concat([this.buffer,ga.from(e)]),this.emit("data",e)};ma.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};vy.exports=ma});var xy=V(($F,Ry)=>{"use strict";var cs=require("buffer").Buffer,Xl=require("buffer").SlowBuffer;Ry.exports=ya;function ya(t,e){if(!cs.isBuffer(t)||!cs.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}ya.install=function(){cs.prototype.equal=Xl.prototype.equal=function(e){return ya(this,e)}};var QE=cs.prototype.equal,ZE=Xl.prototype.equal;ya.restore=function(){cs.prototype.equal=QE,Xl.prototype.equal=ZE}});var tf=V((zF,Uy)=>{var ho=uo().Buffer,Ft=require("crypto"),Fy=Il(),Oy=require("util"),eA=`"%s" is not a valid algorithm.
49
+ `+_+"}":"{"+b.join(",")+"}",n=_,A}}typeof Zm.stringify!="function"&&(Zm.stringify=function(f,d,p){var y;if(n="",o="",typeof p=="number")for(y=0;y<p;y+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return c("",{"":f})})})()});var ny=J((_P,ry)=>{var aa=null,oS=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,sS=/(?: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)/,iS=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(_){throw{name:"SyntaxError",message:_,at:r,text:s}},u=function(_){return _&&_!==n&&a("Expected '"+_+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},c=function(){var _,b="";for(n==="-"&&(b="-",u("-"));n>="0"&&n<="9";)b+=n,u();if(n===".")for(b+=".";u()&&n>="0"&&n<="9";)b+=n;if(n==="e"||n==="E")for(b+=n,u(),(n==="-"||n==="+")&&(b+=n,u());n>="0"&&n<="9";)b+=n,u();if(_=+b,!isFinite(_))a("Bad number");else return aa==null&&(aa=Dl()),b.length>15?e.storeAsString?b:e.useNativeBigInt?BigInt(b):new aa(b):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(_):new aa(_):_},f=function(){var _,b,m="",v;if(n==='"')for(var k=r;u();){if(n==='"')return r-1>k&&(m+=s.substring(k,r-1)),u(),m;if(n==="\\"){if(r-1>k&&(m+=s.substring(k,r-1)),u(),n==="u"){for(v=0,b=0;b<4&&(_=parseInt(u(),16),!!isFinite(_));b+=1)v=v*16+_;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;k=r}}a("Bad string")},d=function(){for(;n&&n<=" ";)u()},p=function(){switch(n){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+n+"'")},y,A=function(){var _=[];if(n==="["){if(u("["),d(),n==="]")return u("]"),_;for(;n;){if(_.push(y()),d(),n==="]")return u("]"),_;u(","),d()}}a("Bad array")},g=function(){var _,b=Object.create(null);if(n==="{"){if(u("{"),d(),n==="}")return u("}"),b;for(;n;){if(_=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(b,_)&&a('Duplicate key "'+_+'"'),oS.test(_)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?y():b[_]=y():sS.test(_)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?y():b[_]=y():b[_]=y(),d(),n==="}")return u("}"),b;u(","),d()}}a("Bad object")};return y=function(){switch(d(),n){case"{":return g();case"[":return A();case'"':return f();case"-":return c();default:return n>="0"&&n<="9"?c():p()}},function(_,b){var m;return s=_+"",r=0,n=" ",m=y(),d(),n&&a("Syntax error"),typeof b=="function"?(function v(k,w){var T,O,N=k[w];return N&&typeof N=="object"&&Object.keys(N).forEach(function(G){O=v(N,G),O!==void 0?N[G]=O:delete N[G]}),b.call(k,w,N)})({"":m},""):m}};ry.exports=iS});var iy=J((bP,ua)=>{var oy=ty().stringify,sy=ny();ua.exports=function(t){return{parse:sy(t),stringify:oy}};ua.exports.parse=sy();ua.exports.stringify=oy});var vl=J(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.GCE_LINUX_BIOS_PATHS=void 0;Wt.isGoogleCloudServerless=cy;Wt.isGoogleComputeEngineLinux=ly;Wt.isGoogleComputeEngineMACAddress=fy;Wt.isGoogleComputeEngine=dy;Wt.detectGCPResidency=uS;var ay=require("fs"),uy=require("os");Wt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var aS=/^42:01/;function cy(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function ly(){if((0,uy.platform)()!=="linux")return!1;try{(0,ay.statSync)(Wt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,ay.readFileSync)(Wt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function fy(){let t=(0,uy.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(aS.test(r))return!0}return!1}function dy(){return ly()||fy()}function uS(){return cy()||dy()}});var hy=J(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.Colours=void 0;var nt=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="")}};ca.Colours=nt;nt.enabled=!1;nt.reset="";nt.bright="";nt.dim="";nt.red="";nt.green="";nt.yellow="";nt.blue="";nt.magenta="";nt.cyan="";nt.white="";nt.grey="";nt.refresh()});var yy=J(ve=>{"use strict";var cS=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]})),lS=ve&&ve.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),py=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"&&cS(r,e,n[o]);return lS(r,e),r}})();Object.defineProperty(ve,"__esModule",{value:!0});ve.env=ve.DebugLogBackendBase=ve.placeholder=ve.AdhocDebugLogger=ve.LogSeverity=void 0;ve.getNodeBackend=xl;ve.getDebugBackend=dS;ve.getStructuredBackend=hS;ve.setBackend=pS;ve.log=my;var fS=require("events"),us=py(require("process")),gy=py(require("util")),Ct=hy(),Gt;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Gt||(ve.LogSeverity=Gt={}));var cs=class extends fS.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(Gt.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(Gt.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(Gt.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(Gt.ERROR,...n),this.func.sublog=n=>my(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=cs;ve.placeholder=new cs("",()=>{}).func;var lo=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=us.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=lo;var Rl=class extends lo{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=`${Ct.Colours.green}${e}${Ct.Colours.reset}`,a=`${Ct.Colours.yellow}${us.pid}${Ct.Colours.reset}`,u;switch(r.severity){case Gt.ERROR:u=`${Ct.Colours.red}${r.severity}${Ct.Colours.reset}`;break;case Gt.INFO:u=`${Ct.Colours.magenta}${r.severity}${Ct.Colours.reset}`;break;case Gt.WARNING:u=`${Ct.Colours.yellow}${r.severity}${Ct.Colours.reset}`;break;default:u=(o=r.severity)!==null&&o!==void 0?o:Gt.DEFAULT;break}let c=gy.formatWithOptions({colors:Ct.Colours.enabled},...n),f=Object.assign({},r);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${Ct.Colours.grey}${d}${Ct.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,c,d?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function xl(){return new Rl}var Ol=class extends lo{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=us.env.NODE_DEBUG)!==null&&e!==void 0?e:"";us.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function dS(t){return new Ol(t)}var Fl=class extends lo{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 u=(a=o.severity)!==null&&a!==void 0?a:Gt.INFO,c=Object.assign({severity:u,message:gy.format(...s)},o),f=JSON.stringify(c);n?n(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function hS(t){return new Fl(t)}ve.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Pl=new Map,wt;function pS(t){wt=t,Pl.clear()}function my(t,e){if(!wt&&!us.env[ve.env.nodeEnables]||!t)return ve.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=Pl.get(t);if(r)return r.func;if(wt===null)return ve.placeholder;wt===void 0&&(wt=xl());let n=(()=>{let o;return new cs(t,(a,...u)=>{if(o!==wt){if(wt===null)return;wt===void 0&&(wt=xl()),o=wt}wt?.log(t,a,...u)})})();return Pl.set(t,n),n.func}});var Il=J(xn=>{"use strict";var gS=xn&&xn.__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]})),mS=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&gS(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});mS(yy(),xn)});var fs=J(ce=>{"use strict";var by=ce&&ce.__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]})),yS=ce&&ce.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_S=ce&&ce.__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"&&by(r,e,n[o]);return yS(r,e),r}})(),bS=ce&&ce.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&by(e,t,r)};Object.defineProperty(ce,"__esModule",{value:!0});ce.gcpResidencyCache=ce.METADATA_SERVER_DETECTION=ce.HEADERS=ce.HEADER_VALUE=ce.HEADER_NAME=ce.SECONDARY_HOST_ADDRESS=ce.HOST_ADDRESS=ce.BASE_PATH=void 0;ce.instance=AS;ce.project=TS;ce.universe=DS;ce.bulk=vS;ce.isAvailable=xS;ce.resetIsAvailableCache=OS;ce.getGCPResidency=jl;ce.setGCPResidency=Cy;ce.requestTimeout=wy;var Nl=et(),CS=iy(),wS=vl(),ES=_S(Il());ce.BASE_PATH="/computeMetadata/v1";ce.HOST_ADDRESS="http://169.254.169.254";ce.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ce.HEADER_NAME="Metadata-Flavor";ce.HEADER_VALUE="Google";ce.HEADERS=Object.freeze({[ce.HEADER_NAME]:ce.HEADER_VALUE});var _y=ES.log("gcp-metadata");ce.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 Bl(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ce.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ce.BASE_PATH,t).href}function kS(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 ls(t,e={},r=3,n=!1){let o=new Headers(ce.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((y,A)=>o.set(A,y)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(kS(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,y)=>o.set(y,p)),a=e.params||a);let u=n?SS:Nl.request,c={url:`${Bl()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:wy()};_y.info("instance request %j",c);let f=await u(c);_y.info("instance metadata is %s",f.data);let d=f.headers.get(ce.HEADER_NAME);if(d!==ce.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ce.HEADER_NAME} header. Expected '${ce.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return CS.parse(f.data)}catch{}return f.data}async function SS(t){let e={...t,url:t.url?.toString().replace(Bl(),Bl(ce.SECONDARY_HOST_ADDRESS))},r=(0,Nl.request)(t),n=(0,Nl.request)(e);return Promise.any([r,n])}function AS(t){return ls("instance",t)}function TS(t){return ls("project",t)}function DS(t){return ls("universe",t)}async function vS(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await ls(r),o=r.metadataKey;e[o]=n})())),e}function RS(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var la;async function xS(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ce.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ce.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return jl();case"ping-only":}}try{return la===void 0&&(la=ls("instance",void 0,RS(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await la,!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 OS(){la=void 0}ce.gcpResidencyCache=null;function jl(){return ce.gcpResidencyCache===null&&Cy(),ce.gcpResidencyCache}function Cy(t=null){ce.gcpResidencyCache=t!==null?t:(0,wS.detectGCPResidency)()}function wy(){return jl()?0:3e3}bS(vl(),ce)});var Sy=J(fa=>{"use strict";fa.byteLength=PS;fa.toByteArray=NS;fa.fromByteArray=MS;var nr=[],Pt=[],FS=typeof Uint8Array<"u"?Uint8Array:Array,Ml="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(On=0,Ey=Ml.length;On<Ey;++On)nr[On]=Ml[On],Pt[Ml.charCodeAt(On)]=On;var On,Ey;Pt[45]=62;Pt[95]=63;function ky(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 PS(t){var e=ky(t),r=e[0],n=e[1];return(r+n)*3/4-n}function IS(t,e,r){return(e+r)*3/4-r}function NS(t){var e,r=ky(t),n=r[0],o=r[1],s=new FS(IS(t,n,o)),a=0,u=o>0?n-4:n,c;for(c=0;c<u;c+=4)e=Pt[t.charCodeAt(c)]<<18|Pt[t.charCodeAt(c+1)]<<12|Pt[t.charCodeAt(c+2)]<<6|Pt[t.charCodeAt(c+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Pt[t.charCodeAt(c)]<<2|Pt[t.charCodeAt(c+1)]>>4,s[a++]=e&255),o===1&&(e=Pt[t.charCodeAt(c)]<<10|Pt[t.charCodeAt(c+1)]<<4|Pt[t.charCodeAt(c+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function BS(t){return nr[t>>18&63]+nr[t>>12&63]+nr[t>>6&63]+nr[t&63]}function jS(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(BS(n));return o.join("")}function MS(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(jS(t,a,a+s>u?u:a+s));return n===1?(e=t[r-1],o.push(nr[e>>2]+nr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(nr[e>>10]+nr[e>>4&63]+nr[e<<2&63]+"=")),o.join("")}});var Ll=J(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.fromArrayBufferToHex=US;function US(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Ay=J(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.BrowserCrypto=void 0;var fo=Sy(),LS=Ll(),ql=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 fo.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),fo.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=fo.toByteArray(t.padBase64(n)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,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 fo.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=fo.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return fo.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,LS.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))}};da.BrowserCrypto=ql});var Ty=J(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.NodeCrypto=void 0;var ho=require("crypto"),$l=class{async sha256DigestBase64(e){return ho.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return ho.randomBytes(e).toString("base64")}async verify(e,r,n){let o=ho.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=ho.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 ho.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:$S(e);return qS(ho.createHmac("sha256",n).update(r).digest())}};ha.NodeCrypto=$l;function qS(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function $S(t){return Buffer.from(t)}});var ds=J(Dr=>{"use strict";var zS=Dr&&Dr.__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]})),HS=Dr&&Dr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zS(e,t,r)};Object.defineProperty(Dr,"__esModule",{value:!0});Dr.createCrypto=JS;Dr.hasBrowserCrypto=Dy;var WS=Ay(),GS=Ty();HS(Ll(),Dr);function JS(){return Dy()?new WS.BrowserCrypto:new GS.NodeCrypto}function Dy(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var po=J((zl,Ry)=>{var pa=require("buffer"),or=pa.Buffer;function vy(t,e){for(var r in t)e[r]=t[r]}or.from&&or.alloc&&or.allocUnsafe&&or.allocUnsafeSlow?Ry.exports=pa:(vy(pa,zl),zl.Buffer=Fn);function Fn(t,e,r){return or(t,e,r)}Fn.prototype=Object.create(or.prototype);vy(or,Fn);Fn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return or(t,e,r)};Fn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=or(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};Fn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return or(t)};Fn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return pa.SlowBuffer(t)}});var Oy=J((xP,xy)=>{"use strict";function Hl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var VS={ES256:Hl(256),ES384:Hl(384),ES512:Hl(521)};function KS(t){var e=VS[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}xy.exports=KS});var Wl=J((OP,jy)=>{"use strict";var ga=po().Buffer,Py=Oy(),ma=128,Iy=0,YS=32,XS=16,QS=2,Ny=XS|YS|Iy<<6,ya=QS|Iy<<6;function ZS(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function By(t){if(ga.isBuffer(t))return t;if(typeof t=="string")return ga.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function eA(t,e){t=By(t);var r=Py(e),n=r+1,o=t.length,s=0;if(t[s++]!==Ny)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(ma|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==ya)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(n<u)throw new Error('"r" specified length of "'+u+'", max of "'+n+'" is acceptable');var c=s;if(s+=u,t[s++]!==ya)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(n<f)throw new Error('"s" specified length of "'+f+'", max of "'+n+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-u,y=r-f,A=ga.allocUnsafe(p+u+y+f);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,c+Math.max(-p,0),c+u),s=r;for(var g=s;s<g+y;++s)A[s]=0;return t.copy(A,s,d+Math.max(-y,0),d+f),A=A.toString("base64"),A=ZS(A),A}function Fy(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=ma;return o&&--n,n}function tA(t,e){t=By(t);var r=Py(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=Fy(t,0,r),s=Fy(t,r,t.length),a=r-o,u=r-s,c=2+a+1+1+u,f=c<ma,d=ga.allocUnsafe((f?2:3)+c),p=0;return d[p++]=Ny,f?d[p++]=c:(d[p++]=ma|1,d[p++]=c&255),d[p++]=ya,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,r)):p+=t.copy(d,p,o,r),d[p++]=ya,d[p++]=u,s<0?(d[p++]=0,t.copy(d,p,r)):t.copy(d,p,r+s),d}jy.exports={derToJose:eA,joseToDer:tA}});var Jt=J(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.LRUCache=void 0;vr.snakeToCamel=Uy;vr.originalOrCamelOptions=sA;vr.removeUndefinedValuesInObject=iA;vr.isValidFile=aA;vr.getWellKnownCertificateConfigFileLocation=uA;var rA=require("fs"),nA=require("os"),Gl=require("path"),oA="certificate_config.json",My="gcloud";function Uy(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function sA(t){function e(r){let n=t||{};return n[r]??n[Uy(r)]}return{get:e}}var Jl=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=Jl;function iA(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function aA(t){try{return(await rA.promises.lstat(t)).isFile()}catch{return!1}}function uA(){let t=process.env.CLOUDSDK_CONFIG||(cA()?Gl.join(process.env.APPDATA||"",My):Gl.join(process.env.HOME||"",".config",My));return Gl.join(t,oA)}function cA(){return nA.platform().startsWith("win")}});var Ly=J((PP,lA)=>{lA.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 Vl=J(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.USER_AGENT=en.PRODUCT_NAME=en.pkg=void 0;var qy=Ly();en.pkg=qy;var $y="google-api-nodejs-client";en.PRODUCT_NAME=$y;var fA=`${$y}/${qy.version}`;en.USER_AGENT=fA});var Et=J(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.AuthClient=Vt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Vt.DEFAULT_UNIVERSE=void 0;var dA=require("events"),Kl=et(),hA=Jt(),pA=Il(),Yl=Vl();Vt.DEFAULT_UNIVERSE="googleapis.com";Vt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Xl=class t extends dA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Vt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Vt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,hA.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")??Vt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Kl.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&&Kl.Gaxios.mergeHeaders(s,r.headers),n&&Kl.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,pA.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(`${Yl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${Yl.USER_AGENT}`):e.headers.set("User-Agent",Yl.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"]}}}};Vt.AuthClient=Xl});var Zl=J(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.LoginTicket=void 0;var Ql=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()}}};_a.LoginTicket=Ql});var Pn=J(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.OAuth2Client=sr.ClientAuthentication=sr.CertificateFormat=sr.CodeChallengeMethod=void 0;var zy=et(),gA=require("querystring"),mA=require("stream"),yA=Wl(),Hy=Jt(),ef=ds(),go=Et(),_A=Zl(),Wy;(function(t){t.Plain="plain",t.S256="S256"})(Wy||(sr.CodeChallengeMethod=Wy={}));var Rr;(function(t){t.PEM="PEM",t.JWK="JWK"})(Rr||(sr.CertificateFormat=Rr={}));var hs;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(hs||(sr.ClientAuthentication=hs={}));var tf=class t extends go.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Rr.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||hs.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()+"?"+gA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ef.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===hs.ClientSecretBasic){let c=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${c.toString("base64")}`)}this.clientAuthentication===hs.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,Hy.removeUndefinedValuesInObject)(o)),headers:n};go.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,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,Hy.removeUndefinedValuesInObject)(n))};go.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof zy.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 u=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let c=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(c)}}}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(u){let c=u;throw c.response&&(c.response.status===403||c.response.status===404)&&(c.message=`Could not refresh access token: ${c.message}`),c}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(go.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=zy.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),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,c=o.config.data instanceof mA.Readable,f=s===401||s===403;if(!r&&f&&!c&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&f&&!c&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),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,ef.hasBrowserCrypto)()?Rr.JWK:Rr.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Rr.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Rr.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let f={...t.RETRY_CONFIG,url:o};go.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),n=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=n?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let u={};switch(r){case Rr.PEM:u=n.data;break;case Rr.JWK:for(let f of n.data.keys)u[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${r}`)}let c=new Date;return this.certificateExpiry=a===-1?null:new Date(c.getTime()+a),this.certificateCache=u,this.certificateCacheFormat=r,{certs:u,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};go.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,ef.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let c=u[0]+"."+u[1],f=u[2],d,p;try{d=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token envelope: ${u[0]}': ${k.message}`),k}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(k){throw k instanceof Error&&(k.message=`Can't parse token payload '${u[0]}`),k}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(r,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let y=r[d.kid];if(d.alg==="ES256"&&(f=yA.joseToDer(f,"ES256").toString("base64")),!await a.verify(y,c,f))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 g=Number(p.iat);if(isNaN(g))throw new Error("iat field using invalid format");let _=Number(p.exp);if(isNaN(_))throw new Error("exp field using invalid format");let b=new Date().getTime()/1e3;if(_>=b+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=g-t.CLOCK_SKEW_SECS_,v=_+t.CLOCK_SKEW_SECS_;if(b<m)throw new Error("Token used too early, "+b+" < "+m+": "+JSON.stringify(p));if(b>v)throw new Error("Token used too late, "+b+" > "+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 k=p.aud,w=!1;if(n.constructor===Array?w=n.indexOf(k)>-1:w=k===n,!w)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new _A.LoginTicket(d,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}};sr.OAuth2Client=tf});var nf=J(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.Compute=void 0;var bA=et(),Gy=fs(),CA=Pn(),rf=class extends CA.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 Gy.instance(o)}catch(o){throw o instanceof bA.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 Gy.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))}};ba.Compute=rf});var sf=J(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.IdTokenClient=void 0;var wA=Pn(),of=class extends wA.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}};Ca.IdTokenClient=of});var af=J(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.GCPEnv=void 0;mo.clear=EA;mo.getEnv=kA;var Jy=fs(),ir;(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"})(ir||(mo.GCPEnv=ir={}));var ps;function EA(){ps=void 0}async function kA(){return ps||(ps=SA(),ps)}async function SA(){let t=ir.NONE;return AA()?t=ir.APP_ENGINE:TA()?t=ir.CLOUD_FUNCTIONS:await xA()?await RA()?t=ir.KUBERNETES_ENGINE:DA()?t=ir.CLOUD_RUN:vA()?t=ir.CLOUD_RUN_JOBS:t=ir.COMPUTE_ENGINE:t=ir.NONE,t}function AA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function TA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function DA(){return!!process.env.K_CONFIGURATION}function vA(){return!!process.env.CLOUD_RUN_JOB}async function RA(){try{return await Jy.instance("attributes/cluster-name"),!0}catch{return!1}}async function xA(){return Jy.isAvailable()}});var uf=J((qP,Vy)=>{var wa=po().Buffer,OA=require("stream"),FA=require("util");function Ea(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=wa.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=wa.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+")")}FA.inherits(Ea,OA);Ea.prototype.write=function(e){this.buffer=wa.concat([this.buffer,wa.from(e)]),this.emit("data",e)};Ea.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Vy.exports=Ea});var Yy=J(($P,Ky)=>{"use strict";var gs=require("buffer").Buffer,cf=require("buffer").SlowBuffer;Ky.exports=ka;function ka(t,e){if(!gs.isBuffer(t)||!gs.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}ka.install=function(){gs.prototype.equal=cf.prototype.equal=function(e){return ka(this,e)}};var PA=gs.prototype.equal,IA=cf.prototype.equal;ka.restore=function(){gs.prototype.equal=PA,cf.prototype.equal=IA}});var hf=J((zP,s_)=>{var _o=po().Buffer,It=require("crypto"),Qy=Wl(),Xy=require("util"),NA=`"%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".`,ls="secret must be a string or buffer",fo="key must be a string or a buffer",tA="key must be a string, a buffer or an object",Zl=typeof Ft.createPublicKey=="function";Zl&&(fo+=" or a KeyObject",ls+="or a KeyObject");function Py(t){if(!ho.isBuffer(t)&&typeof t!="string"&&(!Zl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(fo)}function Iy(t){if(!ho.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(tA)}function rA(t){if(!ho.isBuffer(t)){if(typeof t=="string")return t;if(!Zl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ls)}}function ef(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Ny(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=Oy.format.bind(Oy,t).apply(null,e);return new TypeError(r)}function nA(t){return ho.isBuffer(t)||typeof t=="string"}function fs(t){return nA(t)||(t=JSON.stringify(t)),t}function By(t){return function(r,n){rA(n),r=fs(r);var o=Ft.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return ef(s)}}var Ql,oA="timingSafeEqual"in Ft?function(e,r){return e.byteLength!==r.byteLength?!1:Ft.timingSafeEqual(e,r)}:function(e,r){return Ql||(Ql=xy()),Ql(e,r)};function sA(t){return function(r,n,o){var s=By(t)(r,o);return oA(ho.from(n),ho.from(s))}}function jy(t){return function(r,n){Iy(n),r=fs(r);var o=Ft.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return ef(s)}}function My(t){return function(r,n,o){Py(o),r=fs(r),n=Ny(n);var s=Ft.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function iA(t){return function(r,n){Iy(n),r=fs(r);var o=Ft.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Ft.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ft.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return ef(s)}}function aA(t){return function(r,n,o){Py(o),r=fs(r),n=Ny(n);var s=Ft.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Ft.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ft.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function uA(t){var e=jy(t);return function(){var n=e.apply(null,arguments);return n=Fy.derToJose(n,"ES"+t),n}}function cA(t){var e=My(t);return function(n,o,s){o=Fy.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function lA(){return function(){return""}}function fA(){return function(e,r){return r===""}}Uy.exports=function(e){var r={hs:By,rs:jy,ps:iA,es:uA,none:lA},n={hs:sA,rs:My,ps:aA,es:cA,none:fA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(eA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var rf=V((HF,Ly)=>{var dA=require("buffer").Buffer;Ly.exports=function(e){return typeof e=="string"?e:typeof e=="number"||dA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Gy=V((WF,Wy)=>{var hA=uo().Buffer,qy=Yl(),pA=tf(),gA=require("stream"),$y=rf(),nf=require("util");function zy(t,e){return hA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function mA(t,e,r){r=r||"utf8";var n=zy($y(t),"binary"),o=zy($y(e),r);return nf.format("%s.%s",n,o)}function Hy(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=pA(e.alg),a=mA(e,r,o),u=s.sign(a,n);return nf.format("%s.%s",a,u)}function _a(t){var e=t.secret||t.privateKey||t.key,r=new qy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new qy(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))}nf.inherits(_a,gA);_a.prototype.sign=function(){try{var e=Hy({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")}};_a.sign=Hy;Wy.exports=_a});var r_=V((GF,t_)=>{var Vy=uo().Buffer,Jy=Yl(),yA=tf(),_A=require("stream"),Ky=rf(),bA=require("util"),CA=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function wA(t){return Object.prototype.toString.call(t)==="[object Object]"}function kA(t){if(wA(t))return t;try{return JSON.parse(t)}catch{return}}function Yy(t){var e=t.split(".",1)[0];return kA(Vy.from(e,"base64").toString("binary"))}function SA(t){return t.split(".",2).join(".")}function Xy(t){return t.split(".")[2]}function EA(t,e){e=e||"utf8";var r=t.split(".")[1];return Vy.from(r,"base64").toString(e)}function Qy(t){return CA.test(t)&&!!Yy(t)}function Zy(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=Ky(t);var o=Xy(t),s=SA(t),a=yA(e);return a.verify(s,o,r)}function e_(t,e){if(e=e||{},t=Ky(t),!Qy(t))return null;var r=Yy(t);if(!r)return null;var n=EA(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Xy(t)}}function po(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new Jy(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Jy(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))}bA.inherits(po,_A);po.prototype.verify=function(){try{var e=Zy(this.signature.buffer,this.algorithm,this.key.buffer),r=e_(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")}};po.decode=e_;po.isValid=Qy;po.verify=Zy;t_.exports=po});var of=V(Xr=>{var n_=Gy(),ba=r_(),AA=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Xr.ALGORITHMS=AA;Xr.sign=n_.sign;Xr.verify=ba.verify;Xr.decode=ba.decode;Xr.isValid=ba.isValid;Xr.createSign=function(e){return new n_(e)};Xr.createVerify=function(e){return new ba(e)}});var __=V(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.GoogleToken=void 0;var o_=Ca(require("fs")),TA=Ye(),DA=Ca(of()),vA=Ca(require("path")),RA=require("util");function Ca(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Ca=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,f={__proto__:null,default:s};if(s===null||Dr(s)!="object"&&typeof s!="function")return f;if(u=a?n:r){if(u.has(s))return u.get(s);u.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(l.get||l.set)?u(f,d,l):f[d]=s[d]);return f})(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 xA(t,e){h_(t,e),e.add(t)}function OA(t,e,r){h_(t,e),e.set(t,r)}function h_(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function s_(t,e,r){return t.set(Vt(t,e),r),r}function i_(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 a_(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,m_(n.key),n)}}function p_(t,e,r){return e&&a_(t.prototype,e),r&&a_(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function g_(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function FA(t,e,r){return e=gs(e),PA(t,ff()?Reflect.construct(e,r||[],gs(t).constructor):e.apply(t,r))}function PA(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 IA(t)}function IA(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function NA(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&&ps(t,e)}function sf(t){var e=typeof Map=="function"?new Map:void 0;return sf=function(n){if(n===null||!jA(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 BA(n,arguments,gs(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),ps(o,n)},sf(t)}function BA(t,e,r){if(ff())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&ps(o,r.prototype),o}function ff(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ff=function(){return!!t})()}function jA(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function ps(t,e){return ps=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ps(t,e)}function gs(t){return gs=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},gs(t)}function wt(t,e,r){return(e=m_(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function m_(t){var e=MA(t,"string");return Dr(e)=="symbol"?e:e+""}function MA(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 St(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,g,C,b){var m=g&&g.prototype instanceof u?g:u,v=Object.create(m.prototype);return kt(v,"_invoke",(function(k,S,T){var O,N,q,z=0,Y=T||[],X=!1,ue={p:0,n:0,v:t,a:ne,f:ne.bind(t,4),d:function(Ce,ge){return O=Ce,N=0,q=t,ue.n=ge,a}};function ne(he,Ce){for(N=he,q=Ce,e=0;!X&&z&&!ge&&e<Y.length;e++){var ge,Z=Y[e],J=ue.p,K=Z[2];he>3?(ge=K===Ce)&&(q=Z[(N=Z[4])?5:(N=3,3)],Z[4]=Z[5]=t):Z[0]<=J&&((ge=he<2&&J<Z[1])?(N=0,ue.v=Ce,ue.n=Z[1]):J<K&&(ge=he<3||Z[0]>Ce||Ce>K)&&(Z[4]=he,Z[5]=Ce,ue.n=K,N=0))}if(ge||he>1)return a;throw X=!0,Ce}return function(he,Ce,ge){if(z>1)throw TypeError("Generator is already running");for(X&&Ce===1&&ne(Ce,ge),N=Ce,q=ge;(e=N<2?t:q)||!X;){O||(N?N<3?(N>1&&(ue.n=-1),ne(N,q)):ue.n=q:ue.v=q);try{if(z=2,O){if(N||(he="next"),e=O[he]){if(!(e=e.call(O,q)))throw TypeError("iterator result is not an object");if(!e.done)return e;q=e.value,N<2&&(N=0)}else N===1&&(e=O.return)&&e.call(O),N<2&&(q=TypeError("The iterator does not provide a '"+he+"' method"),N=1);O=t}else if((e=(X=ue.n<0)?q:k.call(S,ue))!==a)break}catch(Z){O=t,N=1,q=Z}finally{z=1}}return{value:e,done:X}}})(A,C,b),!0),v}var a={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][n]?e(e([][n]())):(kt(e={},n,function(){return this}),e),p=f.prototype=u.prototype=Object.create(d);function y(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,f):(A.__proto__=f,kt(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return l.prototype=f,kt(p,"constructor",f),kt(f,"constructor",l),l.displayName="GeneratorFunction",kt(f,o,"GeneratorFunction"),kt(p),kt(p,o,"Generator"),kt(p,n,function(){return this}),kt(p,"toString",function(){return"[object Generator]"}),(St=function(){return{w:s,m:y}})()}function kt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}kt=function(a,u,l,f){if(u)o?o(a,u,{value:l,enumerable:!f,configurable:!f,writable:!f}):a[u]=l;else{var d=function(y,A){kt(a,y,function(g){return this._invoke(y,A,g)})};d("next",0),d("throw",1),d("return",2)}},kt(t,e,r,n)}function u_(t,e,r,n,o,s,a){try{var u=t[s](a),l=u.value}catch(f){return void r(f)}u.done?e(l):Promise.resolve(l).then(n,o)}function go(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){u_(s,n,o,a,u,"next",l)}function u(l){u_(s,n,o,a,u,"throw",l)}a(void 0)})}}var c_=o_.readFile?(0,RA.promisify)(o_.readFile):go(St().m(function t(){return St().w(function(e){for(;;)switch(e.n){case 0:throw new hs("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),l_="https://oauth2.googleapis.com/token",UA="https://oauth2.googleapis.com/revoke?token=",hs=(function(t){function e(r,n){var o;return g_(this,e),o=FA(this,e,[r]),wt(o,"code",void 0),o.code=n,o}return NA(e,t),p_(e)})(sf(Error)),ds=new WeakMap,sr=new WeakSet,VF=wa.GoogleToken=(function(){function t(e){g_(this,t),xA(this,sr),wt(this,"expiresAt",void 0),wt(this,"key",void 0),wt(this,"keyFile",void 0),wt(this,"iss",void 0),wt(this,"sub",void 0),wt(this,"scope",void 0),wt(this,"rawToken",void 0),wt(this,"tokenExpires",void 0),wt(this,"email",void 0),wt(this,"additionalClaims",void 0),wt(this,"eagerRefreshThresholdMillis",void 0),wt(this,"transporter",{request:function(n){return(0,TA.request)(n)}}),OA(this,ds,void 0),Vt(sr,this,y_).call(this,e)}return p_(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(sr,this,f_).call(this,n).then(function(s){return o(null,s)},r);return}return Vt(sr,this,f_).call(this,n)}},{key:"getCredentials",value:(function(){var e=go(St().m(function n(o){var s,a,u,l,f,d,p;return St().w(function(y){for(;;)switch(y.n){case 0:s=vA.extname(o),p=s,y.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return y.n=2,c_(o,"utf8");case 2:if(a=y.v,u=JSON.parse(a),l=u.private_key,f=u.client_email,!(!l||!f)){y.n=3;break}throw new hs("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return y.a(2,{privateKey:l,clientEmail:f});case 4:return y.n=5,c_(o,"utf8");case 5:return d=y.v,y.a(2,{privateKey:d});case 6:throw new hs("*.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 hs("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return y.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Vt(sr,this,d_).call(this).then(function(){return r()},r);return}return Vt(sr,this,d_).call(this)}}])})();function f_(t){return af.apply(this,arguments)}function af(){return af=go(St().m(function t(e){return St().w(function(r){for(;;)switch(r.n){case 0:if(!(i_(ds,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,i_(ds,this));case 1:return r.p=1,r.n=2,s_(ds,this,Vt(sr,this,LA).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,s_(ds,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),af.apply(this,arguments)}function LA(t){return uf.apply(this,arguments)}function uf(){return uf=go(St().m(function t(e){var r;return St().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(sr,this,qA).call(this);case 4:return n.a(2,Vt(sr,this,$A).call(this))}},t,this)})),uf.apply(this,arguments)}function qA(){if(!this.iss)throw new hs("email is required.","MISSING_CREDENTIALS")}function d_(){return cf.apply(this,arguments)}function cf(){return cf=go(St().m(function t(){var e;return St().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=UA+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(sr,this,y_).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)})),cf.apply(this,arguments)}function y_(){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 $A(){return lf.apply(this,arguments)}function lf(){return lf=go(St().m(function t(){var e,r,n,o,s,a,u,l,f,d;return St().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:l_,exp:e+3600,iat:e,sub:this.sub},r),o=DA.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:l_,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,d=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},l.error&&(f=l.error_description?": ".concat(l.error_description):"",d.message="".concat(l.error).concat(f)),d;case 4:return p.a(2)}},t,this,[[1,3]])})),lf.apply(this,arguments)}});var hf=V(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.JWTAccess=void 0;var zA=of(),HA=Wt(),b_={alg:"RS256",typ:"JWT"},df=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new HA.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 u=Math.floor(Date.now()/1e3),l=t.getExpirationTime(u),f;if(Array.isArray(n)&&(n=n.join(" ")),n?f={iss:this.email,sub:this.email,scope:n,exp:l,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},r){for(let g in f)if(r[g])throw new Error(`The '${g}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...b_,kid:this.keyId}:b_,p=Object.assign(f,r),y=zA.sign({header:d,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${y}`});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)}})})}};ka.JWTAccess=df});var gf=V(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.JWT=void 0;var C_=__(),WA=hf(),GA=vn(),Sa=Ct(),pf=class t extends GA.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!==Sa.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Sa.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Sa.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 WA.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!==Sa.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 C_.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 C_.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.")}};Ea.JWT=pf});var yf=V(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.UserRefreshClient=mo.USER_REFRESH_ACCOUNT_TYPE=void 0;var JA=vn(),VA=Ct();mo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var mf=class t extends JA.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 VA.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}};mo.UserRefreshClient=mf});var bf=V(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.Impersonated=yo.IMPERSONATED_ACCOUNT_TYPE=void 0;var w_=vn(),KA=Ye(),YA=Wt();yo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var _f=class t extends w_.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 w_.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,YA.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 KA.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}};yo.Impersonated=_f});var wf=V(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.OAuthClientAuthHandler=void 0;ms.getErrorFromOAuthErrorResponse=ZA;var _o=Ye(),XA=is(),QA=["PUT","POST","PATCH"],Cf=class{#e=(0,XA.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new _o.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new _o.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=_o.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=_o.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=_o.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);_o.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!QA.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"]}}}};ms.OAuthClientAuthHandler=Cf;function ZA(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 u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var Ta=V(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.StsCredentials=void 0;var eT=Ye(),tT=Ct(),k_=wf(),rT=Wt(),kf=class t extends k_.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,rT.removeUndefinedValuesInObject)(o))};tT.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof eT.GaxiosError&&a.response?(0,k_.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};Aa.StsCredentials=kf});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 nT=Ye(),oT=require("stream"),Sf=Ct(),sT=Ta(),S_=Wt(),iT=jl(),aT="urn:ietf:params:oauth:grant-type:token-exchange",uT="urn:ietf:params:oauth:token-type:access_token",Ef="https://www.googleapis.com/auth/cloud-platform",cT=3600;Pt.EXPIRATION_TIME_OFFSET=300*1e3;Pt.EXTERNAL_ACCOUNT_TYPE="external_account";Pt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var lT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",fT="https://sts.{universeDomain}/v1/token",Af=class t extends Sf.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,S_.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")??fT.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),u=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),f=r.get("service_account_impersonation"),d=(0,S_.originalOrCamelOptions)(f).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 sT.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Ef],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(lT);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=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=cT),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}`};Sf.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=nT.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,u=s.config.data instanceof oT.Readable;if(!r&&(a===401||a===403)&&!u&&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:aT,audience:this.audience,requestedTokenType:uT,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Ef]: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"}};Sf.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||[Ef]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${iT.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Pt.BaseExternalAccountClient=Af});var E_=V(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.FileSubjectTokenSupplier=void 0;var Df=require("util"),vf=require("fs"),dT=(0,Df.promisify)(vf.readFile??(()=>{})),hT=(0,Df.promisify)(vf.realpath??(()=>{})),pT=(0,Df.promisify)(vf.lstat??(()=>{})),Tf=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 hT(e),!(await pT(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 dT(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}};Da.FileSubjectTokenSupplier=Tf});var A_=V(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.UrlSubjectTokenSupplier=void 0;var gT=Ct(),Rf=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};gT.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}};va.UrlSubjectTokenSupplier=Rf});var T_=V(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.CertificateSubjectTokenSupplier=Et.InvalidConfigurationError=Et.CertificateSourceUnavailableError=Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Ra=Wt(),xa=require("fs"),Oa=require("crypto"),mT=require("https");Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ir=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Et.CertificateSourceUnavailableError=ir;var It=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Et.InvalidConfigurationError=It;var xf=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new It("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new It("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new It("Cannot create mTLS Agent with missing certificate or key");return new mT.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,Ra.isValidFile)(e))return e;throw new ir(`Provided certificate config path is invalid: ${e}`)}let r=process.env[Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,Ra.isValidFile)(r))return r;throw new ir(`Path from environment variable "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,Ra.getWellKnownCertificateConfigFileLocation)();if(await(0,Ra.isValidFile)(n))return n;throw new ir(`Could not find certificate configuration file. Searched override path, the "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await xa.promises.readFile(e,"utf8")}catch{throw new ir(`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 It(`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 It?n:new It(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await xa.promises.readFile(e),new Oa.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ir(`Failed to read certificate file at ${e}: ${a}`)}try{o=await xa.promises.readFile(r),(0,Oa.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ir(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new Oa.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await xa.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,f)=>{try{return new Oa.X509Certificate(l)}catch(d){let p=d instanceof Error?d.message:String(d);throw new It(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),u;if(a===-1)u=[r,...s];else if(a===0)u=s;else throw new It(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof It)throw n;let o=n instanceof Error?n.message:String(n);throw new ir(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Et.CertificateSubjectTokenSupplier=xf});var Pf=V(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.IdentityPoolClient=void 0;var yT=Qr(),Of=Wt(),_T=E_(),bT=A_(),D_=T_(),CT=Ta(),v_=Ye(),Ff=class t extends yT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,Of.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,Of.originalOrCamelOptions)(n),a=(0,Of.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",l=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),p=s.get("certificate"),y=s.get("headers");if(f&&d||d&&p||f&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new _T.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:l});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new bT.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:l,headers:y,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new D_.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 D_.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new CT.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new v_.Gaxios({agent:r})}),this.transporter=new v_.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Fa.IdentityPoolClient=Ff});var Nf=V(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.AwsRequestSigner=void 0;var Pa=Ye(),x_=is(),R_="AWS4-HMAC-SHA256",wT="aws4_request",If=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,x_.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,u=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 f=await ST({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=Pa.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:l.host},a||{});u.token&&Pa.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let p={url:n,method:o,headers:d};return s!==void 0&&(p.body=s),p}};Ia.AwsRequestSigner=If;async function ys(t,e,r){return await t.signWithHmacSha256(e,r)}async function kT(t,e,r,n,o){let s=await ys(t,`AWS4${e}`,r),a=await ys(t,s,n),u=await ys(t,a,o);return await ys(t,u,"aws4_request")}async function ST(t){let e=Pa.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 u=Pa.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",f=[...u.keys()].sort();f.forEach(v=>{l+=`${v}:${u.get(v)}
52
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ms="secret must be a string or buffer",yo="key must be a string or a buffer",BA="key must be a string, a buffer or an object",ff=typeof It.createPublicKey=="function";ff&&(yo+=" or a KeyObject",ms+="or a KeyObject");function Zy(t){if(!_o.isBuffer(t)&&typeof t!="string"&&(!ff||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Kt(yo)}function e_(t){if(!_o.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Kt(BA)}function jA(t){if(!_o.isBuffer(t)){if(typeof t=="string")return t;if(!ff||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Kt(ms)}}function df(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function t_(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 Kt(t){var e=[].slice.call(arguments,1),r=Xy.format.bind(Xy,t).apply(null,e);return new TypeError(r)}function MA(t){return _o.isBuffer(t)||typeof t=="string"}function ys(t){return MA(t)||(t=JSON.stringify(t)),t}function r_(t){return function(r,n){jA(n),r=ys(r);var o=It.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return df(s)}}var lf,UA="timingSafeEqual"in It?function(e,r){return e.byteLength!==r.byteLength?!1:It.timingSafeEqual(e,r)}:function(e,r){return lf||(lf=Yy()),lf(e,r)};function LA(t){return function(r,n,o){var s=r_(t)(r,o);return UA(_o.from(n),_o.from(s))}}function n_(t){return function(r,n){e_(n),r=ys(r);var o=It.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return df(s)}}function o_(t){return function(r,n,o){Zy(o),r=ys(r),n=t_(n);var s=It.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function qA(t){return function(r,n){e_(n),r=ys(r);var o=It.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:It.constants.RSA_PKCS1_PSS_PADDING,saltLength:It.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return df(s)}}function $A(t){return function(r,n,o){Zy(o),r=ys(r),n=t_(n);var s=It.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:It.constants.RSA_PKCS1_PSS_PADDING,saltLength:It.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function zA(t){var e=n_(t);return function(){var n=e.apply(null,arguments);return n=Qy.derToJose(n,"ES"+t),n}}function HA(t){var e=o_(t);return function(n,o,s){o=Qy.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function WA(){return function(){return""}}function GA(){return function(e,r){return r===""}}s_.exports=function(e){var r={hs:r_,rs:n_,ps:qA,es:zA,none:WA},n={hs:LA,rs:o_,ps:$A,es:HA,none:GA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Kt(NA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var pf=J((HP,i_)=>{var JA=require("buffer").Buffer;i_.exports=function(e){return typeof e=="string"?e:typeof e=="number"||JA.isBuffer(e)?e.toString():JSON.stringify(e)}});var d_=J((WP,f_)=>{var VA=po().Buffer,a_=uf(),KA=hf(),YA=require("stream"),u_=pf(),gf=require("util");function c_(t,e){return VA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function XA(t,e,r){r=r||"utf8";var n=c_(u_(t),"binary"),o=c_(u_(e),r);return gf.format("%s.%s",n,o)}function l_(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=KA(e.alg),a=XA(e,r,o),u=s.sign(a,n);return gf.format("%s.%s",a,u)}function Sa(t){var e=t.secret||t.privateKey||t.key,r=new a_(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new a_(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))}gf.inherits(Sa,YA);Sa.prototype.sign=function(){try{var e=l_({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")}};Sa.sign=l_;f_.exports=Sa});var E_=J((GP,w_)=>{var p_=po().Buffer,h_=uf(),QA=hf(),ZA=require("stream"),g_=pf(),eT=require("util"),tT=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function rT(t){return Object.prototype.toString.call(t)==="[object Object]"}function nT(t){if(rT(t))return t;try{return JSON.parse(t)}catch{return}}function m_(t){var e=t.split(".",1)[0];return nT(p_.from(e,"base64").toString("binary"))}function oT(t){return t.split(".",2).join(".")}function y_(t){return t.split(".")[2]}function sT(t,e){e=e||"utf8";var r=t.split(".")[1];return p_.from(r,"base64").toString(e)}function __(t){return tT.test(t)&&!!m_(t)}function b_(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=g_(t);var o=y_(t),s=oT(t),a=QA(e);return a.verify(s,o,r)}function C_(t,e){if(e=e||{},t=g_(t),!__(t))return null;var r=m_(t);if(!r)return null;var n=sT(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:y_(t)}}function bo(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new h_(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new h_(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))}eT.inherits(bo,ZA);bo.prototype.verify=function(){try{var e=b_(this.signature.buffer,this.algorithm,this.key.buffer),r=C_(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")}};bo.decode=C_;bo.isValid=__;bo.verify=b_;w_.exports=bo});var mf=J(tn=>{var k_=d_(),Aa=E_(),iT=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];tn.ALGORITHMS=iT;tn.sign=k_.sign;tn.verify=Aa.verify;tn.decode=Aa.decode;tn.isValid=Aa.isValid;tn.createSign=function(e){return new k_(e)};tn.createVerify=function(e){return new Aa(e)}});var M_=J(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.GoogleToken=void 0;var S_=Ta(require("fs")),aT=et(),uT=Ta(mf()),cT=Ta(require("path")),lT=require("util");function Ta(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Ta=function(s,a){if(!a&&s&&s.__esModule)return s;var u,c,f={__proto__:null,default:s};if(s===null||xr(s)!="object"&&typeof s!="function")return f;if(u=a?n:r){if(u.has(s))return u.get(s);u.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((c=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(c.get||c.set)?u(f,d,c):f[d]=s[d]);return f})(t,e)}function xr(t){"@babel/helpers - typeof";return xr=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},xr(t)}function fT(t,e){P_(t,e),e.add(t)}function dT(t,e,r){P_(t,e),e.set(t,r)}function P_(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function A_(t,e,r){return t.set(Yt(t,e),r),r}function T_(t,e){return t.get(Yt(t,e))}function Yt(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 D_(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,B_(n.key),n)}}function I_(t,e,r){return e&&D_(t.prototype,e),r&&D_(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function N_(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hT(t,e,r){return e=ws(e),pT(t,Ef()?Reflect.construct(e,r||[],ws(t).constructor):e.apply(t,r))}function pT(t,e){if(e&&(xr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return gT(t)}function gT(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function mT(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 yf(t){var e=typeof Map=="function"?new Map:void 0;return yf=function(n){if(n===null||!_T(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 yT(n,arguments,ws(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Cs(o,n)},yf(t)}function yT(t,e,r){if(Ef())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 Ef(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ef=function(){return!!t})()}function _T(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 ws(t){return ws=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ws(t)}function kt(t,e,r){return(e=B_(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function B_(t){var e=bT(t,"string");return xr(e)=="symbol"?e:e+""}function bT(t,e){if(xr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(xr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function At(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,g,_,b){var m=g&&g.prototype instanceof u?g:u,v=Object.create(m.prototype);return St(v,"_invoke",(function(k,w,T){var O,N,G,$=0,X=T||[],K=!1,se={p:0,n:0,v:t,a:_e,f:_e.bind(t,4),d:function(le,pe){return O=le,N=0,G=t,se.n=pe,a}};function _e(me,le){for(N=me,G=le,e=0;!K&&$&&!pe&&e<X.length;e++){var pe,ie=X[e],V=se.p,Y=ie[2];me>3?(pe=Y===le)&&(G=ie[(N=ie[4])?5:(N=3,3)],ie[4]=ie[5]=t):ie[0]<=V&&((pe=me<2&&V<ie[1])?(N=0,se.v=le,se.n=ie[1]):V<Y&&(pe=me<3||ie[0]>le||le>Y)&&(ie[4]=me,ie[5]=le,se.n=Y,N=0))}if(pe||me>1)return a;throw K=!0,le}return function(me,le,pe){if($>1)throw TypeError("Generator is already running");for(K&&le===1&&_e(le,pe),N=le,G=pe;(e=N<2?t:G)||!K;){O||(N?N<3?(N>1&&(se.n=-1),_e(N,G)):se.n=G:se.v=G);try{if($=2,O){if(N||(me="next"),e=O[me]){if(!(e=e.call(O,G)))throw TypeError("iterator result is not an object");if(!e.done)return e;G=e.value,N<2&&(N=0)}else N===1&&(e=O.return)&&e.call(O),N<2&&(G=TypeError("The iterator does not provide a '"+me+"' method"),N=1);O=t}else if((e=(K=se.n<0)?G:k.call(w,se))!==a)break}catch(ie){O=t,N=1,G=ie}finally{$=1}}return{value:e,done:K}}})(A,_,b),!0),v}var a={};function u(){}function c(){}function f(){}e=Object.getPrototypeOf;var d=[][n]?e(e([][n]())):(St(e={},n,function(){return this}),e),p=f.prototype=u.prototype=Object.create(d);function y(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,f):(A.__proto__=f,St(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return c.prototype=f,St(p,"constructor",f),St(f,"constructor",c),c.displayName="GeneratorFunction",St(f,o,"GeneratorFunction"),St(p),St(p,o,"Generator"),St(p,n,function(){return this}),St(p,"toString",function(){return"[object Generator]"}),(At=function(){return{w:s,m:y}})()}function St(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}St=function(a,u,c,f){if(u)o?o(a,u,{value:c,enumerable:!f,configurable:!f,writable:!f}):a[u]=c;else{var d=function(y,A){St(a,y,function(g){return this._invoke(y,A,g)})};d("next",0),d("throw",1),d("return",2)}},St(t,e,r,n)}function v_(t,e,r,n,o,s,a){try{var u=t[s](a),c=u.value}catch(f){return void r(f)}u.done?e(c):Promise.resolve(c).then(n,o)}function Co(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(c){v_(s,n,o,a,u,"next",c)}function u(c){v_(s,n,o,a,u,"throw",c)}a(void 0)})}}var R_=S_.readFile?(0,lT.promisify)(S_.readFile):Co(At().m(function t(){return At().w(function(e){for(;;)switch(e.n){case 0:throw new bs("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),x_="https://oauth2.googleapis.com/token",CT="https://oauth2.googleapis.com/revoke?token=",bs=(function(t){function e(r,n){var o;return N_(this,e),o=hT(this,e,[r]),kt(o,"code",void 0),o.code=n,o}return mT(e,t),I_(e)})(yf(Error)),_s=new WeakMap,ar=new WeakSet,VP=Da.GoogleToken=(function(){function t(e){N_(this,t),fT(this,ar),kt(this,"expiresAt",void 0),kt(this,"key",void 0),kt(this,"keyFile",void 0),kt(this,"iss",void 0),kt(this,"sub",void 0),kt(this,"scope",void 0),kt(this,"rawToken",void 0),kt(this,"tokenExpires",void 0),kt(this,"email",void 0),kt(this,"additionalClaims",void 0),kt(this,"eagerRefreshThresholdMillis",void 0),kt(this,"transporter",{request:function(n){return(0,aT.request)(n)}}),dT(this,_s,void 0),Yt(ar,this,j_).call(this,e)}return I_(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(xr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Yt(ar,this,O_).call(this,n).then(function(s){return o(null,s)},r);return}return Yt(ar,this,O_).call(this,n)}},{key:"getCredentials",value:(function(){var e=Co(At().m(function n(o){var s,a,u,c,f,d,p;return At().w(function(y){for(;;)switch(y.n){case 0:s=cT.extname(o),p=s,y.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return y.n=2,R_(o,"utf8");case 2:if(a=y.v,u=JSON.parse(a),c=u.private_key,f=u.client_email,!(!c||!f)){y.n=3;break}throw new bs("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return y.a(2,{privateKey:c,clientEmail:f});case 4:return y.n=5,R_(o,"utf8");case 5:return d=y.v,y.a(2,{privateKey:d});case 6:throw new bs("*.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 bs("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return y.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Yt(ar,this,F_).call(this).then(function(){return r()},r);return}return Yt(ar,this,F_).call(this)}}])})();function O_(t){return _f.apply(this,arguments)}function _f(){return _f=Co(At().m(function t(e){return At().w(function(r){for(;;)switch(r.n){case 0:if(!(T_(_s,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,T_(_s,this));case 1:return r.p=1,r.n=2,A_(_s,this,Yt(ar,this,wT).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,A_(_s,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),_f.apply(this,arguments)}function wT(t){return bf.apply(this,arguments)}function bf(){return bf=Co(At().m(function t(e){var r;return At().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||Yt(ar,this,ET).call(this);case 4:return n.a(2,Yt(ar,this,kT).call(this))}},t,this)})),bf.apply(this,arguments)}function ET(){if(!this.iss)throw new bs("email is required.","MISSING_CREDENTIALS")}function F_(){return Cf.apply(this,arguments)}function Cf(){return Cf=Co(At().m(function t(){var e;return At().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=CT+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Yt(ar,this,j_).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)})),Cf.apply(this,arguments)}function j_(){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,xr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function kT(){return wf.apply(this,arguments)}function wf(){return wf=Co(At().m(function t(){var e,r,n,o,s,a,u,c,f,d;return At().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:x_,exp:e+3600,iat:e,sub:this.sub},r),o=uT.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:x_,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,d=p.v,this.rawToken=void 0,this.tokenExpires=void 0,c=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},c.error&&(f=c.error_description?": ".concat(c.error_description):"",d.message="".concat(c.error).concat(f)),d;case 4:return p.a(2)}},t,this,[[1,3]])})),wf.apply(this,arguments)}});var Sf=J(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.JWTAccess=void 0;var ST=mf(),AT=Jt(),U_={alg:"RS256",typ:"JWT"},kf=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new AT.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 u=Math.floor(Date.now()/1e3),c=t.getExpirationTime(u),f;if(Array.isArray(n)&&(n=n.join(" ")),n?f={iss:this.email,sub:this.email,scope:n,exp:c,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:c,iat:u},r){for(let g in f)if(r[g])throw new Error(`The '${g}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...U_,kid:this.keyId}:U_,p=Object.assign(f,r),y=ST.sign({header:d,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${y}`});return this.cache.set(o,{expiration:c*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)}})})}};va.JWTAccess=kf});var Tf=J(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.JWT=void 0;var L_=M_(),TT=Sf(),DT=Pn(),Ra=Et(),Af=class t extends DT.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!==Ra.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Ra.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Ra.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 TT.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!==Ra.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 L_.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 L_.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.")}};xa.JWT=Af});var vf=J(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.UserRefreshClient=wo.USER_REFRESH_ACCOUNT_TYPE=void 0;var vT=Pn(),RT=Et();wo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Df=class t extends vT.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 RT.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}};wo.UserRefreshClient=Df});var xf=J(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.Impersonated=Eo.IMPERSONATED_ACCOUNT_TYPE=void 0;var q_=Pn(),xT=et(),OT=Jt();Eo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Rf=class t extends q_.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 q_.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,OT.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 xT.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}};Eo.Impersonated=Rf});var Ff=J(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.OAuthClientAuthHandler=void 0;Es.getErrorFromOAuthErrorResponse=IT;var ko=et(),FT=ds(),PT=["PUT","POST","PATCH"],Of=class{#e=(0,FT.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ko.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ko.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=ko.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=ko.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ko.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);ko.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!PT.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"]}}}};Es.OAuthClientAuthHandler=Of;function IT(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 u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(c=>{c!=="message"&&Object.defineProperty(a,c,{value:e[c],writable:!1,enumerable:!0})})}return a}});var Fa=J(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.StsCredentials=void 0;var NT=et(),BT=Et(),$_=Ff(),jT=Jt(),Pf=class t extends $_.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,jT.removeUndefinedValuesInObject)(o))};BT.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof NT.GaxiosError&&a.response?(0,$_.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};Oa.StsCredentials=Pf});var rn=J(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.BaseExternalAccountClient=Nt.CLOUD_RESOURCE_MANAGER=Nt.EXTERNAL_ACCOUNT_TYPE=Nt.EXPIRATION_TIME_OFFSET=void 0;var MT=et(),UT=require("stream"),If=Et(),LT=Fa(),z_=Jt(),qT=Vl(),$T="urn:ietf:params:oauth:grant-type:token-exchange",zT="urn:ietf:params:oauth:token-type:access_token",Nf="https://www.googleapis.com/auth/cloud-platform",HT=3600;Nt.EXPIRATION_TIME_OFFSET=300*1e3;Nt.EXTERNAL_ACCOUNT_TYPE="external_account";Nt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var WT="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",GT="https://sts.{universeDomain}/v1/token",Bf=class t extends If.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,z_.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==Nt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Nt.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")??GT.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),u=r.get("workforce_pool_user_project"),c=r.get("service_account_impersonation_url"),f=r.get("service_account_impersonation"),d=(0,z_.originalOrCamelOptions)(f).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 LT.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Nf],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(WT);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=c,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=HT),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}`};If.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=MT.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,u=s.config.data instanceof UT.Readable;if(!r&&(a===401||a===403)&&!u&&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:$T,audience:this.audience,requestedTokenType:zT,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Nf]: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"}};If.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||[Nf]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${qT.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Nt.BaseExternalAccountClient=Bf});var H_=J(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.FileSubjectTokenSupplier=void 0;var Mf=require("util"),Uf=require("fs"),JT=(0,Mf.promisify)(Uf.readFile??(()=>{})),VT=(0,Mf.promisify)(Uf.realpath??(()=>{})),KT=(0,Mf.promisify)(Uf.lstat??(()=>{})),jf=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 VT(e),!(await KT(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 JT(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}};Pa.FileSubjectTokenSupplier=jf});var W_=J(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.UrlSubjectTokenSupplier=void 0;var YT=Et(),Lf=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};YT.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}};Ia.UrlSubjectTokenSupplier=Lf});var G_=J(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.CertificateSubjectTokenSupplier=Tt.InvalidConfigurationError=Tt.CertificateSourceUnavailableError=Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Na=Jt(),Ba=require("fs"),ja=require("crypto"),XT=require("https");Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ur=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Tt.CertificateSourceUnavailableError=ur;var Bt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Tt.InvalidConfigurationError=Bt;var qf=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Bt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Bt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Bt("Cannot create mTLS Agent with missing certificate or key");return new XT.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,Na.isValidFile)(e))return e;throw new ur(`Provided certificate config path is invalid: ${e}`)}let r=process.env[Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,Na.isValidFile)(r))return r;throw new ur(`Path from environment variable "${Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,Na.getWellKnownCertificateConfigFileLocation)();if(await(0,Na.isValidFile)(n))return n;throw new ur(`Could not find certificate configuration file. Searched override path, the "${Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await Ba.promises.readFile(e,"utf8")}catch{throw new ur(`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 Bt(`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 Bt?n:new Bt(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await Ba.promises.readFile(e),new ja.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ur(`Failed to read certificate file at ${e}: ${a}`)}try{o=await Ba.promises.readFile(r),(0,ja.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new ur(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new ja.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await Ba.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((c,f)=>{try{return new ja.X509Certificate(c)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Bt(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(c=>r.raw.equals(c.raw)),u;if(a===-1)u=[r,...s];else if(a===0)u=s;else throw new Bt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(c=>c.raw.toString("base64")))}catch(n){if(n instanceof Bt)throw n;let o=n instanceof Error?n.message:String(n);throw new ur(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Tt.CertificateSubjectTokenSupplier=qf});var Hf=J(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.IdentityPoolClient=void 0;var QT=rn(),$f=Jt(),ZT=H_(),eD=W_(),J_=G_(),tD=Fa(),V_=et(),zf=class t extends QT.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,$f.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,$f.originalOrCamelOptions)(n),a=(0,$f.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",c=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!c)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),p=s.get("certificate"),y=s.get("headers");if(f&&d||d&&p||f&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new ZT.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:c});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new eD.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:c,headers:y,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new J_.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 J_.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new tD.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new V_.Gaxios({agent:r})}),this.transporter=new V_.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};Ma.IdentityPoolClient=zf});var Gf=J(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.AwsRequestSigner=void 0;var Ua=et(),Y_=ds(),K_="AWS4-HMAC-SHA256",rD="aws4_request",Wf=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,Y_.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,u=await this.getCredentials(),c=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 f=await oD({crypto:this.crypto,host:c.host,canonicalUri:c.pathname,canonicalQuerystring:c.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=Ua.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:c.host},a||{});u.token&&Ua.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let p={url:n,method:o,headers:d};return s!==void 0&&(p.body=s),p}};La.AwsRequestSigner=Wf;async function ks(t,e,r){return await t.signWithHmacSha256(e,r)}async function nD(t,e,r,n,o){let s=await ks(t,`AWS4${e}`,r),a=await ks(t,s,n),u=await ks(t,a,o);return await ks(t,u,"aws4_request")}async function oD(t){let e=Ua.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 u=Ua.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),c="",f=[...u.keys()].sort();f.forEach(v=>{c+=`${v}:${u.get(v)}
53
53
  `});let d=f.join(";"),p=await t.crypto.sha256DigestHex(r),y=`${t.method.toUpperCase()}
54
54
  ${t.canonicalUri}
55
55
  ${t.canonicalQuerystring}
56
- ${l}
56
+ ${c}
57
57
  ${d}
58
- ${p}`,A=`${a}/${t.region}/${n}/${wT}`,g=`${R_}
58
+ ${p}`,A=`${a}/${t.region}/${n}/${rD}`,g=`${K_}
59
59
  ${s}
60
60
  ${A}
61
- `+await t.crypto.sha256DigestHex(y),C=await kT(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),b=await ys(t.crypto,C,g),m=`${R_} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${d}, Signature=${(0,x_.fromArrayBufferToHex)(b)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var O_=V(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.DefaultAwsSecurityCredentialsSupplier=void 0;var Na=Ct(),Bf=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};Na.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 Na.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 Na.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 Na.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}};Ba.DefaultAwsSecurityCredentialsSupplier=Bf});var Mf=V(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.AwsClient=void 0;var ET=Nf(),AT=Qr(),TT=O_(),F_=Wt(),DT=Ye(),jf=class t extends AT.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,F_.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,F_.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new TT.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,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 ET.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 DT.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}))}};ja.AwsClient=jf});var zf=V(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.InvalidSubjectTokenError=qe.InvalidMessageFieldError=qe.InvalidCodeFieldError=qe.InvalidTokenTypeFieldError=qe.InvalidExpirationTimeFieldError=qe.InvalidSuccessFieldError=qe.InvalidVersionFieldError=qe.ExecutableResponseError=qe.ExecutableResponse=void 0;var Ma="urn:ietf:params:oauth:token-type:saml2",Uf="urn:ietf:params:oauth:token-type:id_token",Lf="urn:ietf:params:oauth:token-type:jwt",qf=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Ua("Executable response must contain a 'version' field.");if(e.success===void 0)throw new La("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!==Ma&&this.tokenType!==Uf&&this.tokenType!==Lf)throw new qa(`Executable response must contain a 'token_type' field when successful and it must be one of ${Uf}, ${Lf}, or ${Ma}.`);if(this.tokenType===Ma){if(!e.saml_response)throw new _s(`Executable response must contain a 'saml_response' field when token_type=${Ma}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new _s(`Executable response must contain a 'id_token' field when token_type=${Uf} or ${Lf}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new $a("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new za("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)}};qe.ExecutableResponse=qf;var ar=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};qe.ExecutableResponseError=ar;var Ua=class extends ar{};qe.InvalidVersionFieldError=Ua;var La=class extends ar{};qe.InvalidSuccessFieldError=La;var $f=class extends ar{};qe.InvalidExpirationTimeFieldError=$f;var qa=class extends ar{};qe.InvalidTokenTypeFieldError=qa;var $a=class extends ar{};qe.InvalidCodeFieldError=$a;var za=class extends ar{};qe.InvalidMessageFieldError=za;var _s=class extends ar{};qe.InvalidSubjectTokenError=_s});var Gf=V(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.PluggableAuthHandler=bo.ExecutableError=void 0;var Rn=zf(),vT=require("child_process"),Hf=require("fs"),Ha=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)}};bo.ExecutableError=Ha;var Wf=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=vT.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let l=JSON.parse(s),f=new Rn.ExecutableResponse(l);return r(f)}catch(l){return l instanceof Rn.ExecutableResponseError?n(l):n(new Rn.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Ha(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Hf.promises.realpath(this.outputFile)}catch{return}if(!(await Hf.promises.lstat(e)).isFile())return;let r=await Hf.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new Rn.ExecutableResponse(n).isValid()?new Rn.ExecutableResponse(n):void 0}catch(n){throw n instanceof Rn.ExecutableResponseError?n:new Rn.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}};bo.PluggableAuthHandler=Wf});var Vf=V(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.PluggableAuthClient=Co.ExecutableError=void 0;var RT=Qr(),xT=zf(),P_=Gf(),OT=Gf();Object.defineProperty(Co,"ExecutableError",{enumerable:!0,get:function(){return OT.ExecutableError}});var FT=30*1e3,I_=5*1e3,N_=120*1e3,PT="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",B_=1,Jf=class extends RT.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=FT;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<I_||this.timeoutMillis>N_)throw new Error(`Timeout must be between ${I_} and ${N_} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new P_.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[PT]!=="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>B_)throw new Error(`Version of executable is not currently supported, maximum supported version is ${B_}.`);if(!e.success)throw new P_.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new xT.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}};Co.PluggableAuthClient=Jf});var Yf=V(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.ExternalAccountClient=void 0;var IT=Qr(),NT=Pf(),BT=Mf(),jT=Vf(),Kf=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===IT.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new BT.AwsClient(e):e.credential_source?.executable?new jT.PluggableAuthClient(e):new NT.IdentityPoolClient(e):null}};Wa.ExternalAccountClient=Kf});var L_=V(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.ExternalAccountAuthorizedUserClient=wo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var M_=Ct(),j_=wf(),U_=Ye(),MT=require("stream"),UT=Qr();wo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var LT="https://sts.{universeDomain}/v1/oauthtoken",Xf=class t extends j_.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})};M_.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 U_.GaxiosError&&o.response?(0,j_.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Qf=class extends M_.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 Xf({tokenRefreshEndpoint:e.token_url??LT.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=UT.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=U_.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,u=s.config.data instanceof MT.Readable;if(!r&&(a===401||a===403)&&!u&&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}};wo.ExternalAccountAuthorizedUserClient=Qf});var H_=V(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var qT=require("child_process"),bs=require("fs"),$T=Ye(),Cs=ss(),zT=require("os"),Zf=require("path"),HT=is(),WT=Gl(),GT=Vl(),JT=Kl(),ko=gf(),q_=yf(),So=bf(),VT=Yf(),ws=Qr(),ed=Ct(),$_=L_(),z_=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.
61
+ `+await t.crypto.sha256DigestHex(y),_=await nD(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),b=await ks(t.crypto,_,g),m=`${K_} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${d}, Signature=${(0,Y_.fromArrayBufferToHex)(b)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var X_=J($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.DefaultAwsSecurityCredentialsSupplier=void 0;var qa=Et(),Jf=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};qa.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 qa.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 qa.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 qa.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}};$a.DefaultAwsSecurityCredentialsSupplier=Jf});var Kf=J(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.AwsClient=void 0;var sD=Gf(),iD=rn(),aD=X_(),Q_=Jt(),uD=et(),Vf=class t extends iD.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,Q_.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,Q_.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),c=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new aD.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:c}),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 sD.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 uD.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}))}};za.AwsClient=Vf});var ed=J(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.InvalidSubjectTokenError=ze.InvalidMessageFieldError=ze.InvalidCodeFieldError=ze.InvalidTokenTypeFieldError=ze.InvalidExpirationTimeFieldError=ze.InvalidSuccessFieldError=ze.InvalidVersionFieldError=ze.ExecutableResponseError=ze.ExecutableResponse=void 0;var Ha="urn:ietf:params:oauth:token-type:saml2",Yf="urn:ietf:params:oauth:token-type:id_token",Xf="urn:ietf:params:oauth:token-type:jwt",Qf=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Wa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Ga("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!==Ha&&this.tokenType!==Yf&&this.tokenType!==Xf)throw new Ja(`Executable response must contain a 'token_type' field when successful and it must be one of ${Yf}, ${Xf}, or ${Ha}.`);if(this.tokenType===Ha){if(!e.saml_response)throw new Ss(`Executable response must contain a 'saml_response' field when token_type=${Ha}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Ss(`Executable response must contain a 'id_token' field when token_type=${Yf} or ${Xf}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Va("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ka("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)}};ze.ExecutableResponse=Qf;var cr=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};ze.ExecutableResponseError=cr;var Wa=class extends cr{};ze.InvalidVersionFieldError=Wa;var Ga=class extends cr{};ze.InvalidSuccessFieldError=Ga;var Zf=class extends cr{};ze.InvalidExpirationTimeFieldError=Zf;var Ja=class extends cr{};ze.InvalidTokenTypeFieldError=Ja;var Va=class extends cr{};ze.InvalidCodeFieldError=Va;var Ka=class extends cr{};ze.InvalidMessageFieldError=Ka;var Ss=class extends cr{};ze.InvalidSubjectTokenError=Ss});var nd=J(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.PluggableAuthHandler=So.ExecutableError=void 0;var In=ed(),cD=require("child_process"),td=require("fs"),Ya=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)}};So.ExecutableError=Ya;var rd=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=cD.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let c=JSON.parse(s),f=new In.ExecutableResponse(c);return r(f)}catch(c){return c instanceof In.ExecutableResponseError?n(c):n(new In.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new Ya(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await td.promises.realpath(this.outputFile)}catch{return}if(!(await td.promises.lstat(e)).isFile())return;let r=await td.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new In.ExecutableResponse(n).isValid()?new In.ExecutableResponse(n):void 0}catch(n){throw n instanceof In.ExecutableResponseError?n:new In.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}};So.PluggableAuthHandler=rd});var sd=J(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.PluggableAuthClient=Ao.ExecutableError=void 0;var lD=rn(),fD=ed(),Z_=nd(),dD=nd();Object.defineProperty(Ao,"ExecutableError",{enumerable:!0,get:function(){return dD.ExecutableError}});var hD=30*1e3,e0=5*1e3,t0=120*1e3,pD="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",r0=1,od=class extends lD.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=hD;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<e0||this.timeoutMillis>t0)throw new Error(`Timeout must be between ${e0} and ${t0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new Z_.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[pD]!=="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>r0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${r0}.`);if(!e.success)throw new Z_.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new fD.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}};Ao.PluggableAuthClient=od});var ad=J(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ExternalAccountClient=void 0;var gD=rn(),mD=Hf(),yD=Kf(),_D=sd(),id=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===gD.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new yD.AwsClient(e):e.credential_source?.executable?new _D.PluggableAuthClient(e):new mD.IdentityPoolClient(e):null}};Xa.ExternalAccountClient=id});var i0=J(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.ExternalAccountAuthorizedUserClient=To.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var o0=Et(),n0=Ff(),s0=et(),bD=require("stream"),CD=rn();To.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var wD="https://sts.{universeDomain}/v1/oauthtoken",ud=class t extends n0.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})};o0.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 s0.GaxiosError&&o.response?(0,n0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},cd=class extends o0.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 ud({tokenRefreshEndpoint:e.token_url??wD.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=CD.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=s0.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,u=s.config.data instanceof bD.Readable;if(!r&&(a===401||a===403)&&!u&&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}};To.ExternalAccountAuthorizedUserClient=cd});var l0=J(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.GoogleAuth=Xt.GoogleAuthExceptionMessages=void 0;var ED=require("child_process"),As=require("fs"),kD=et(),Ts=fs(),SD=require("os"),ld=require("path"),AD=ds(),TD=nf(),DD=sf(),vD=af(),Do=Tf(),a0=vf(),vo=xf(),RD=ad(),Ds=rn(),fd=Et(),u0=i0(),c0=Jt();Xt.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 td=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 Cs.universe("universe-domain"),e||=ed.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=ed.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,z_.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=ed.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 ko.JWT?r.scopes=this.scopes:r instanceof ws.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof ko.JWT?r.scopes=this.scopes:r instanceof ws.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new WT.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=Cs.getGCPResidency()||await Cs.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=Zf.join(o,".config"))}return r&&(r=Zf.join(r,"gcloud","application_default_credentials.json"),bs.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=bs.realpathSync(e),!bs.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=bs.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!==So.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${So.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 So.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,z_.originalOrCamelOptions)(r).get("universe_domain");return e.type===q_.USER_REFRESH_ACCOUNT_TYPE?(n=new q_.UserRefreshClient(r),n.fromJSON(e)):e.type===So.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===ws.EXTERNAL_ACCOUNT_TYPE?(n=VT.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===$_.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new $_.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new ko.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("")),u=this._cacheClientFromJSON(a,r);return n(u)}catch(a){if(!this.keyFilename)throw a;let u=new ko.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),n(u)}}catch(a){return o(a)}})})}fromAPIKey(e,r={}){return new ko.JWT({...r,apiKey:e})}_isWindows(){let e=zT.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,qT.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!==ws.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Cs.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 So.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof ws.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([Cs.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=Zf.resolve(this.keyFilename),r=bs.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 GT.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=$T.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,JT.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 So.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,HT.createCrypto)();if(n instanceof ko.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=td});var W_=V(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.IAMAuth=void 0;var rd=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}}};Ga.IAMAuth=rd});var G_=V(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DownscopedClient=ur.EXPIRATION_TIME_OFFSET=ur.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var KT=Ye(),YT=require("stream"),nd=Ct(),XT=Ta(),QT="urn:ietf:params:oauth:grant-type:token-exchange",ZT="urn:ietf:params:oauth:token-type:access_token",eD="urn:ietf:params:oauth:token-type:access_token";ur.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;ur.EXPIRATION_TIME_OFFSET=300*1e3;var od=class extends nd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof nd.AuthClient?{}:e),e instanceof nd.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>ur.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${ur.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 XT.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=KT.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,u=s.config.data instanceof YT.Readable;if(!r&&(a===401||a===403)&&!u&&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:QT,requestedTokenType:ZT,subjectToken:e,subjectTokenType:eD},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}};ur.DownscopedClient=od});var J_=V(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.PassThroughClient=void 0;var tD=Ct(),sd=class extends tD.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Ja.PassThroughClient=sd});var Va=V(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 V_=H_();Object.defineProperty(oe,"GoogleAuth",{enumerable:!0,get:function(){return V_.GoogleAuth}});oe.gcpMetadata=ss();oe.gaxios=Ye();var K_=Ct();Object.defineProperty(oe,"AuthClient",{enumerable:!0,get:function(){return K_.AuthClient}});Object.defineProperty(oe,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return K_.DEFAULT_UNIVERSE}});var rD=Gl();Object.defineProperty(oe,"Compute",{enumerable:!0,get:function(){return rD.Compute}});var nD=Kl();Object.defineProperty(oe,"GCPEnv",{enumerable:!0,get:function(){return nD.GCPEnv}});var oD=W_();Object.defineProperty(oe,"IAMAuth",{enumerable:!0,get:function(){return oD.IAMAuth}});var sD=Vl();Object.defineProperty(oe,"IdTokenClient",{enumerable:!0,get:function(){return sD.IdTokenClient}});var iD=hf();Object.defineProperty(oe,"JWTAccess",{enumerable:!0,get:function(){return iD.JWTAccess}});var aD=gf();Object.defineProperty(oe,"JWT",{enumerable:!0,get:function(){return aD.JWT}});var uD=bf();Object.defineProperty(oe,"Impersonated",{enumerable:!0,get:function(){return uD.Impersonated}});var id=vn();Object.defineProperty(oe,"CodeChallengeMethod",{enumerable:!0,get:function(){return id.CodeChallengeMethod}});Object.defineProperty(oe,"OAuth2Client",{enumerable:!0,get:function(){return id.OAuth2Client}});Object.defineProperty(oe,"ClientAuthentication",{enumerable:!0,get:function(){return id.ClientAuthentication}});var cD=$l();Object.defineProperty(oe,"LoginTicket",{enumerable:!0,get:function(){return cD.LoginTicket}});var lD=yf();Object.defineProperty(oe,"UserRefreshClient",{enumerable:!0,get:function(){return lD.UserRefreshClient}});var fD=Mf();Object.defineProperty(oe,"AwsClient",{enumerable:!0,get:function(){return fD.AwsClient}});var dD=Nf();Object.defineProperty(oe,"AwsRequestSigner",{enumerable:!0,get:function(){return dD.AwsRequestSigner}});var hD=Pf();Object.defineProperty(oe,"IdentityPoolClient",{enumerable:!0,get:function(){return hD.IdentityPoolClient}});var pD=Yf();Object.defineProperty(oe,"ExternalAccountClient",{enumerable:!0,get:function(){return pD.ExternalAccountClient}});var gD=Qr();Object.defineProperty(oe,"BaseExternalAccountClient",{enumerable:!0,get:function(){return gD.BaseExternalAccountClient}});var mD=G_();Object.defineProperty(oe,"DownscopedClient",{enumerable:!0,get:function(){return mD.DownscopedClient}});var Y_=Vf();Object.defineProperty(oe,"PluggableAuthClient",{enumerable:!0,get:function(){return Y_.PluggableAuthClient}});Object.defineProperty(oe,"ExecutableError",{enumerable:!0,get:function(){return Y_.ExecutableError}});var yD=J_();Object.defineProperty(oe,"PassThroughClient",{enumerable:!0,get:function(){return yD.PassThroughClient}});var _D=new V_.GoogleAuth;oe.auth=_D});var Cb=V((Ej,Vd)=>{"use strict";var qx=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,$x=/(\w*(\.\w*)*)\..*/;Vd.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,bb(n.stack)}};function bb(t){let e=t.match(qx);return e?e[1].split(/[/\\]/).slice(-1)[0].match($x)[1]:"anonymous"}Vd.exports.extractPluginName=bb});var kb=V((Aj,wb)=>{"use strict";wb.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var Sb=V((Tj,Zu)=>{"use strict";var zx=Cb(),Hx=kb(),Wx=0;function Kd(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=zx(t)+"-auto-"+Wx++),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=Hx(e.name);return!r&&!t[n]&&(t[n]=t),t}Zu.exports=Kd;Zu.exports.default=Kd;Zu.exports.fastifyPlugin=Kd});var Bs,Yd=Me(()=>{"use strict";Bs=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||{},u="";if(o){let l=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
67
+ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var dd=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(Xt.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===Xt.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(Xt.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 Ts.universe("universe-domain"),e||=fd.DEFAULT_UNIVERSE}catch(r){if(r&&r?.response?.status===404)e=fd.DEFAULT_UNIVERSE;else throw r}return e}async getUniverseDomain(){let e=(0,c0.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={},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 Do.JWT?r.scopes=this.scopes:r instanceof Ds.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(r=await this._tryGetApplicationCredentialsFromWellKnownFile(e),r)return r instanceof Do.JWT?r.scopes=this.scopes:r instanceof Ds.BaseExternalAccountClient&&(r.scopes=this.getAnyScopes()),await this.#t(r);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new TD.Compute(e));throw new Error(Xt.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=Ts.getGCPResidency()||await Ts.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=ld.join(o,".config"))}return r&&(r=ld.join(r,"gcloud","application_default_credentials.json"),As.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=As.realpathSync(e),!As.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=As.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!==vo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${vo.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 vo.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,c0.originalOrCamelOptions)(r).get("universe_domain");return e.type===a0.USER_REFRESH_ACCOUNT_TYPE?(n=new a0.UserRefreshClient(r),n.fromJSON(e)):e.type===vo.IMPERSONATED_ACCOUNT_TYPE?n=this.fromImpersonatedJSON(e):e.type===Ds.EXTERNAL_ACCOUNT_TYPE?(n=RD.ExternalAccountClient.fromJSON({...e,...r}),n.scopes=this.getAnyScopes()):e.type===u0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?n=new u0.ExternalAccountAuthorizedUserClient({...e,...r}):(r.scopes=this.scopes,n=new Do.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("")),u=this._cacheClientFromJSON(a,r);return n(u)}catch(a){if(!this.keyFilename)throw a;let u=new Do.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),n(u)}}catch(a){return o(a)}})})}fromAPIKey(e,r={}){return new Do.JWT({...r,apiKey:e})}_isWindows(){let e=SD.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,ED.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!==Ds.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Ts.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 vo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Ds.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([Ts.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:r,universe_domain:n}}throw new Error(Xt.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=ld.resolve(this.keyFilename),r=As.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 DD.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=kD.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,vD.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 vo.Impersonated)return(await n.sign(e)).signedBlob;let s=(0,AD.createCrypto)();if(n instanceof Do.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}};Xt.GoogleAuth=dd});var f0=J(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.IAMAuth=void 0;var hd=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}}};Qa.IAMAuth=hd});var d0=J(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.DownscopedClient=lr.EXPIRATION_TIME_OFFSET=lr.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var xD=et(),OD=require("stream"),pd=Et(),FD=Fa(),PD="urn:ietf:params:oauth:grant-type:token-exchange",ID="urn:ietf:params:oauth:token-type:access_token",ND="urn:ietf:params:oauth:token-type:access_token";lr.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;lr.EXPIRATION_TIME_OFFSET=300*1e3;var gd=class extends pd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,r={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof pd.AuthClient?{}:e),e instanceof pd.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>lr.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${lr.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 FD.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=xD.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,u=s.config.data instanceof OD.Readable;if(!r&&(a===401||a===403)&&!u&&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:PD,requestedTokenType:ID,subjectToken:e,subjectTokenType:ND},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}};lr.DownscopedClient=gd});var h0=J(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.PassThroughClient=void 0;var BD=Et(),md=class extends BD.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Za.PassThroughClient=md});var eu=J(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.GoogleAuth=ne.auth=ne.PassThroughClient=ne.ExecutableError=ne.PluggableAuthClient=ne.DownscopedClient=ne.BaseExternalAccountClient=ne.ExternalAccountClient=ne.IdentityPoolClient=ne.AwsRequestSigner=ne.AwsClient=ne.UserRefreshClient=ne.LoginTicket=ne.ClientAuthentication=ne.OAuth2Client=ne.CodeChallengeMethod=ne.Impersonated=ne.JWT=ne.JWTAccess=ne.IdTokenClient=ne.IAMAuth=ne.GCPEnv=ne.Compute=ne.DEFAULT_UNIVERSE=ne.AuthClient=ne.gaxios=ne.gcpMetadata=void 0;var p0=l0();Object.defineProperty(ne,"GoogleAuth",{enumerable:!0,get:function(){return p0.GoogleAuth}});ne.gcpMetadata=fs();ne.gaxios=et();var g0=Et();Object.defineProperty(ne,"AuthClient",{enumerable:!0,get:function(){return g0.AuthClient}});Object.defineProperty(ne,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return g0.DEFAULT_UNIVERSE}});var jD=nf();Object.defineProperty(ne,"Compute",{enumerable:!0,get:function(){return jD.Compute}});var MD=af();Object.defineProperty(ne,"GCPEnv",{enumerable:!0,get:function(){return MD.GCPEnv}});var UD=f0();Object.defineProperty(ne,"IAMAuth",{enumerable:!0,get:function(){return UD.IAMAuth}});var LD=sf();Object.defineProperty(ne,"IdTokenClient",{enumerable:!0,get:function(){return LD.IdTokenClient}});var qD=Sf();Object.defineProperty(ne,"JWTAccess",{enumerable:!0,get:function(){return qD.JWTAccess}});var $D=Tf();Object.defineProperty(ne,"JWT",{enumerable:!0,get:function(){return $D.JWT}});var zD=xf();Object.defineProperty(ne,"Impersonated",{enumerable:!0,get:function(){return zD.Impersonated}});var yd=Pn();Object.defineProperty(ne,"CodeChallengeMethod",{enumerable:!0,get:function(){return yd.CodeChallengeMethod}});Object.defineProperty(ne,"OAuth2Client",{enumerable:!0,get:function(){return yd.OAuth2Client}});Object.defineProperty(ne,"ClientAuthentication",{enumerable:!0,get:function(){return yd.ClientAuthentication}});var HD=Zl();Object.defineProperty(ne,"LoginTicket",{enumerable:!0,get:function(){return HD.LoginTicket}});var WD=vf();Object.defineProperty(ne,"UserRefreshClient",{enumerable:!0,get:function(){return WD.UserRefreshClient}});var GD=Kf();Object.defineProperty(ne,"AwsClient",{enumerable:!0,get:function(){return GD.AwsClient}});var JD=Gf();Object.defineProperty(ne,"AwsRequestSigner",{enumerable:!0,get:function(){return JD.AwsRequestSigner}});var VD=Hf();Object.defineProperty(ne,"IdentityPoolClient",{enumerable:!0,get:function(){return VD.IdentityPoolClient}});var KD=ad();Object.defineProperty(ne,"ExternalAccountClient",{enumerable:!0,get:function(){return KD.ExternalAccountClient}});var YD=rn();Object.defineProperty(ne,"BaseExternalAccountClient",{enumerable:!0,get:function(){return YD.BaseExternalAccountClient}});var XD=d0();Object.defineProperty(ne,"DownscopedClient",{enumerable:!0,get:function(){return XD.DownscopedClient}});var m0=sd();Object.defineProperty(ne,"PluggableAuthClient",{enumerable:!0,get:function(){return m0.PluggableAuthClient}});Object.defineProperty(ne,"ExecutableError",{enumerable:!0,get:function(){return m0.ExecutableError}});var QD=h0();Object.defineProperty(ne,"PassThroughClient",{enumerable:!0,get:function(){return QD.PassThroughClient}});var ZD=new p0.GoogleAuth;ne.auth=ZD});var Gb=J((SM,ih)=>{"use strict";var F1=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,P1=/(\w*(\.\w*)*)\..*/;ih.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,Wb(n.stack)}};function Wb(t){let e=t.match(F1);return e?e[1].split(/[/\\]/).slice(-1)[0].match(P1)[1]:"anonymous"}ih.exports.extractPluginName=Wb});var Vb=J((AM,Jb)=>{"use strict";Jb.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}});var Kb=J((TM,ic)=>{"use strict";var I1=Gb(),N1=Vb(),B1=0;function ah(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=I1(t)+"-auto-"+B1++),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=N1(e.name);return!r&&!t[n]&&(t[n]=t),t}ic.exports=ah;ic.exports.default=ah;ic.exports.fastifyPlugin=ah});var $s,uh=Le(()=>{"use strict";$s=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||{},u="";if(o){let c=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${c}]${this.colors.reset} `:`[${c}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),n){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
68
68
  `+(this.config.colors?`${this.colors.dim}`:""),u+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(u+=this.colors.reset)),u}toMarkdown(e,r=0){let n=" ".repeat(r);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${n}-
69
69
  ${this.toMarkdown(o,r+1)}`:`${n}- ${o}`).join(`
70
70
  `):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${n}${o}:
71
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 js,Xd=Me(()=>{"use strict";js=class{type="webhook";config;defaultTimeout=3e4;logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}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||{},u={data:e};return o&&(u.timestamp=new Date().toISOString()),s&&(u.prefix=s),a&&Object.keys(a).length>0&&(u.metadata=a),u}async sendRequest(e,r,n,o,s){let a=new AbortController,u=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(u),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let u=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(f){if(u=f,l===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,l-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw u}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(this.logger?.error??console.error)(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var Oo,Qd,Eb,Ms,Zd=Me(()=>{"use strict";Oo=require("fs"),Qd=require("path"),Eb=require("os"),Ms=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,Eb.tmpdir)();this.baseDir=(0,Qd.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,Oo.existsSync)(this.baseDir)||(0,Oo.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,Qd.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,Oo.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var eh,Fo,Ab=Me(()=>{"use strict";Yd();Xd();Zd();eh=class{handlers=new Map;defaultOptions={};logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}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){(this.logger?.error??console.error)(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){let r;switch(e.type){case"console":r=new Bs(e.config);break;case"webhook":r=new js(e.config);break;case"temp-file":r=new Ms(e.config);break;default:throw new Error(`Unknown output handler type: ${e.type}`)}return this.logger&&typeof r.setLogger=="function"&&r.setLogger(this.logger),r}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,u])=>{try{await u.output(e,n)?o.success.push(a):o.failed.push(a)}catch(l){(this.logger?.error??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 u=>{let l=this.handlers.get(u);if(!l){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await l.output(r,o)?s.success.push(u):s.failed.push(u)}catch(f){(this.logger?.error??console.error)(`[OutputManager] Handler ${u} failed:`,f),s.failed.push(u)}});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)}},Fo=new eh});var Vx={};Dc(Vx,{ConfigService:()=>mn,ProviderService:()=>yn,SSEParserTransform:()=>wr,SSESerializerTransform:()=>_n,TokenizerService:()=>Fn,TransformerService:()=>On,calculateTokenCount:()=>Hd,default:()=>Jx,pluginManager:()=>Jd,rewriteStream:()=>qc,router:()=>Qu,searchProjectBySession:()=>Wd,sessionUsageCache:()=>Ku,tokenSpeedPlugin:()=>rh});module.exports=mw(Vx);var vb=Le(require("fastify"),1),Rb=Le(require("@fastify/cors"),1);var zo=require("fs"),jc=require("path"),yp=require("dotenv"),_p=Le(Bc(),1),mn=class{config={};options;logger;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.logger=e.logger,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger))),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,jc.join)(process.cwd(),this.options.jsonPath);if((0,zo.existsSync)(e))try{let r=(0,zo.readFileSync)(e,"utf-8"),n=_p.default.parse(r);this.config={...this.config,...n},(this.logger?.info??console.log)(`Loaded JSON config from: ${e}`)}catch(r){(this.logger?.warn??console.warn)(`Failed to load JSON config from ${e}:`,r)}else(this.logger?.warn??console.warn)(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,jc.join)(process.cwd(),this.options.envPath);if((0,zo.existsSync)(e))try{let r=(0,yp.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){(this.logger?.warn??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 it(t,e=500,r="internal_error",n="api_error",o){let s=new Error(t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function bp(t,e,r){e.log.error(t);let n=t.statusCode||500,o={error:{message:t.message+(t.stack?`
73
- `+t.stack:""),type:t.type||"api_error",code:t.code||"internal_error"}};return t.headers&&r.headers(t.headers),r.header("Content-Type","application/json"),r.code(n).send(o)}var Sp=require("stream");var Cp=require("undici");function wp(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([f,d])=>{d&&s.set(f,d)});let a,u=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let f=new AbortController,d=()=>f.abort();r.signal.addEventListener("abort",d),u.addEventListener("abort",d),a=f.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new Cp.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 kp="1.0.54";async function Tw(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw it(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:u,config:l,bypass:f}=await Ep(o,a,n,t.headers,{req:t,provider:a}),d=await Ap(u,l,a,r,f,n,{req:t}),p=await Tp(u,d,a,n,f,{req:t});return await Dp(p,e,o)}catch(u){if(u.code==="provider_response_error"){let l=await Dw(t,e,r,n,u);if(l)return l}throw u}}async function Dw(t,e,r,n,o){let s=t.scenarioType||"default",a=r.configService.get("fallback");if(!a||!a[s])return null;let u=a[s];if(!Array.isArray(u)||u.length===0)return null;t.log.warn(`Request failed for ${t.scenarioType}, trying ${u.length} fallback models`);for(let l of u)try{t.log.info(`Trying fallback model: ${l}`);let f={...t.body},[d,...p]=l.split(",");f.model=p.join(",");let y={...t,provider:d,body:f},A=r.providerService.getProvider(d);if(!A){t.log.warn(`Fallback provider '${d}' not found, skipping`);continue}let{requestBody:g,config:C,bypass:b}=await Ep(f,A,n,t.headers,{req:y,provider:A}),m=await Ap(g,C,A,r,b,n,{req:y}),v=await Tp(g,m,A,n,b,{req:y});return t.log.info(`Fallback model ${l} succeeded`),await Dp(v,e,f)}catch(f){t.log.warn(`Fallback model ${l} failed: ${f.message}`);continue}return t.log.error(`All fallback models failed for yichu ${s}`),null}async function Ep(t,e,r,n,o){let s=t,a={},u=!1;u=vw(e,r,t);let l=u||e.transformer?.passthrough;if(u&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!l&&typeof r.transformRequestOut=="function"){let f=await r.transformRequestOut(s,o);f.body?(s=f.body,a=f.config||{}):s=f}if(!u&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!u&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}return{requestBody:s,config:a,bypass:u}}function vw(t,e,r){return 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 Ap(t,e,r,n,o,s,a){if(e?.__providerResponse)return e.__providerResponse;let u=e.url||new URL(r.baseUrl);if((o||r.transformer?.passthrough)&&typeof s.auth=="function"){let d=await s.auth(t,r);if(d.body){t=d.body;let p=e.headers||{};d.config?.headers&&(p={...p,...d.config.headers},delete p.host,delete d.config.headers),e={...e,...d.config,headers:p}}else t=d}let l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};l["x-api-key"]&&delete l.Authorization;for(let d in l)(l[d]==="undefined"||["authorization","Authorization"].includes(d)&&l[d]?.includes("undefined"))&&delete l[d];let f=await wp(u,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!f.ok){let d=await f.text(),p,y=f.headers.get("retry-after");if(y)p={"Retry-After":y};else if(f.status===429)try{let A=JSON.parse(d),g=A?.error?.details||A?.details;if(Array.isArray(g)){let C=g.find(b=>b["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(C?.retryDelay){let b=parseInt(C.retryDelay,10);isNaN(b)||(p={"Retry-After":b.toString()})}}}catch{}try{let A=JSON.parse(d);n.log.error({error:A,status:f.status,provider:r.name,model:t.model},`[provider_response_error] ${r.name},${t.model}: ${A?.error?.message||d}`)}catch{n.log.error({errorText:d,status:f.status,provider:r.name,model:t.model},`[provider_response_error] ${r.name},${t.model}: ${d}`)}throw it(`Error from provider(${r.name},${t.model}: ${f.status}): ${d}`,f.status,"provider_response_error","api_error",p)}return f}async function Tp(t,e,r,n,o,s){let a=e,u=o||r.transformer?.passthrough;if(!o&&r.transformer?.use?.length)for(let l of Array.from(r.transformer.use).reverse())!l||typeof l.transformResponseOut!="function"||(a=await l.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let l of Array.from(r.transformer[t.model].use).reverse())!l||typeof l.transformResponseOut!="function"||(a=await l.transformResponseOut(a,s));return!u&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}async function Dp(t,e,r){if(t.ok||e.code(t.status),r.stream===!0&&t.ok)return e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.getReader=="function"?e.send(Sp.Readable.fromWeb(t.body)):e.send(t.body);{let o=await t.json();return e.send(o)}}var Mc=async t=>{t.get("/",async()=>({message:"LLMs API",version:kp})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>Tw(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:u}=r.body;if(!o?.trim())throw it("Provider name is required",400,"invalid_request");if(!s||!Rw(s))throw it("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw it("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw it("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw it(`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 it("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 it("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 it("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 it("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function Rw(t){try{return new URL(t),!0}catch{return!1}}var yn=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 this.attachTransformerLogger(new a(s[1]))}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?this.attachTransformerLogger(new a):this.attachTransformerLogger(a)}}).filter(s=>typeof s<"u")):o==="passthrough"?n.passthrough=r.transformer.passthrough: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 this.attachTransformerLogger(new a(s[1]))}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?this.attachTransformerLogger(new a):this.attachTransformerLogger(a)}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],transformer:r.transformer?n:void 0}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}attachTransformerLogger(e){return e&&typeof e=="object"&&(e.logger=this.logger),e}registerProvider(e){let r={...e};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}`,u={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),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){return!!this.providers.get(e)}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.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.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 Ke=[];for(let t=0;t<256;++t)Ke.push((t+256).toString(16).slice(1));function vp(t,e=0){return(Ke[t[e+0]]+Ke[t[e+1]]+Ke[t[e+2]]+Ke[t[e+3]]+"-"+Ke[t[e+4]]+Ke[t[e+5]]+"-"+Ke[t[e+6]]+Ke[t[e+7]]+"-"+Ke[t[e+8]]+Ke[t[e+9]]+"-"+Ke[t[e+10]]+Ke[t[e+11]]+Ke[t[e+12]]+Ke[t[e+13]]+Ke[t[e+14]]+Ke[t[e+15]]).toLowerCase()}var Rp=require("crypto"),Ci=new Uint8Array(256),bi=Ci.length;function Uc(){return bi>Ci.length-16&&((0,Rp.randomFillSync)(Ci),bi=0),Ci.slice(bi,bi+=16)}var xp=require("crypto"),Lc={randomUUID:xp.randomUUID};function xw(t,e,r){if(Lc.randomUUID&&!e&&!t)return Lc.randomUUID();t=t||{};let n=t.random??t.rng?.()??Uc();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 vp(n)}var Xt=xw;var Op=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Vn=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,r){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 u=e.system.filter(l=>l.type==="text"&&l.text).map(l=>({type:"text",text:l.text,cache_control:l.cache_control}));n.push({role:"system",content:u})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(u=>{if(u.role==="user"||u.role==="assistant"){if(typeof u.content=="string"){n.push({role:u.role,content:u.content});return}if(Array.isArray(u.content)){if(u.role==="user"){let l=u.content.filter(d=>d.type==="tool_result"&&d.tool_use_id);l.length&&l.forEach(d=>{let p={role:"tool",content:typeof d.content=="string"?d.content:Array.isArray(d.content)&&d.content.filter(y=>y.type==="text"&&y.text).map(y=>y.text).join(`
74
- `)||JSON.stringify(d.content),tool_call_id:d.tool_use_id,cache_control:d.cache_control};n.push(p)});let f=u.content.filter(d=>d.type==="text"&&d.text||d.type==="image"&&d.source);f.length&&n.push({role:"user",content:f.map(d=>d?.type==="image"?{type:"image_url",image_url:{url:d.source?.type==="base64"?Op(d.source.data,d.source.media_type):d.source.url},media_type:d.source.media_type}:d)})}else if(u.role==="assistant"){let l={role:"assistant",content:""},f=u.content.filter(y=>y.type==="text"&&y.text);f.length&&(l.content=f.map(y=>y.text).join(`
75
- `));let d=u.content.filter(y=>y.type==="tool_use"&&y.id);d.length&&(l.tool_calls=d.map(y=>({id:y.id,type:"function",function:{name:y.name,arguments:JSON.stringify(y.input||{})}})));let p=u.content.find(y=>y.type==="thinking"&&y.signature);p&&(l.thinking={content:p.thinking,signature:p.signature}),n.push(l)}return}}});let s={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&&(s.reasoning={effort:e.output_config?.effort||e.effort,enabled:e.thinking.type==="enabled"||e.thinking.type==="adaptive"}),Array.isArray(r?.provider?.transformer?.use)&&r.provider.transformer.use.some(u=>u?.name==="claude-auth")&&(e.thinking&&(s.anthropic_thinking=e.thinking),e.output_config&&(s.anthropic_output_config=e.output_config),e.metadata&&(s.anthropic_metadata=e.metadata),e.stop_sequences&&(s.anthropic_stop_sequences=e.stop_sequences)),e.tool_choice&&(e.tool_choice.type==="tool"?s.tool_choice={type:"function",function:{name:e.tool_choice.name}}:s.tool_choice=e.tool_choice.type),s}async transformResponseIn(e,r){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"}})}}static buildAnthropicBody(e,r){let n;e.system&&(typeof e.system=="string"?n=e.system:Array.isArray(e.system)&&e.system.length&&(n=e.system.map(l=>({type:"text",text:l.text,...l.cache_control?{cache_control:l.cache_control}:{}}))));let o=[];for(let l of e.messages){if(l.role==="system"){if(!n){if(typeof l.content=="string")n=l.content;else if(Array.isArray(l.content)){let f=l.content.filter(d=>d.type==="text"&&d.text);f.length===1&&!f[0].cache_control?n=f[0].text:f.length>0&&(n=f.map(d=>({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}})))}}continue}if(l.role==="tool"){let f={type:"tool_result",tool_use_id:l.tool_call_id,content:typeof l.content=="string"?l.content:JSON.stringify(l.content)},d=o[o.length-1];d?.role==="user"&&Array.isArray(d.content)?d.content.push(f):o.push({role:"user",content:[f]});continue}if(l.role==="assistant"){let f=[];if(l.thinking&&f.push({type:"thinking",thinking:l.thinking.content,signature:l.thinking.signature}),typeof l.content=="string"&&l.content&&f.push({type:"text",text:l.content}),l.tool_calls?.length)for(let d of l.tool_calls){let p={};try{p=JSON.parse(d.function.arguments||"{}")}catch(y){(r?.error??console.error)("Failed to parse tool_call arguments for tool '%s': %s",d.function.name,y)}f.push({type:"tool_use",id:d.id,name:d.function.name,input:p})}f.length>0&&o.push({role:"assistant",content:f});continue}if(l.role==="user"){let f=[];if(typeof l.content=="string")f.push({type:"text",text:l.content});else if(Array.isArray(l.content)){for(let d of l.content)if(d.type==="text"&&d.text)f.push({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}});else if(d.type==="image_url"&&d.image_url?.url){let p=d.image_url.url;if(p.startsWith("data:")){let[y,A]=p.split(","),g=y.split(":")[1]?.split(";")[0]??"image/jpeg";f.push({type:"image",source:{type:"base64",media_type:g,data:A}})}else f.push({type:"image",source:{type:"url",url:p}})}}f.length>0&&o.push({role:"user",content:f});continue}}let s;e.tools?.length&&(s=e.tools.map(l=>({name:l.function.name,description:l.function.description||"",input_schema:l.function.parameters})));let a;if(e.tool_choice){let l=e.tool_choice;l==="auto"?a={type:"auto"}:l==="required"?a={type:"any"}:typeof l=="string"?a={type:"tool",name:l}:l.type==="function"&&(a={type:"tool",name:l.function?.name})}let u={model:e.model,max_tokens:e.max_tokens??8192,messages:o,stream:e.stream??!0};return n!==void 0&&(u.system=n),e.temperature!==void 0&&(u.temperature=e.temperature),e.tool_choice!=="none"&&s?.length&&(u.tools=s),e.tool_choice!=="none"&&a&&(u.tool_choice=a),e.anthropic_thinking&&(u.thinking=e.anthropic_thinking),e.anthropic_output_config&&(u.output_config=e.anthropic_output_config),e.anthropic_metadata&&(u.metadata=e.anthropic_metadata),e.anthropic_stop_sequences&&(u.stop_sequences=e.anthropic_stop_sequences),u}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()}`,u=null,l="unknown",f=!1,d=!1,p=!1,y=new Map,A=new Map,g=0,C=0,b=0,m=!1,v=!1,k=0,S=-1,T=0,O=()=>{let Y=k;return k++,Y},N=Y=>{if(!m)try{o.enqueue(Y);let X=new TextDecoder().decode(Y);this.logger.debug({reqId:r.req.id,data:X,type:"send data"})}catch(X){if(X instanceof TypeError&&X.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:X instanceof Error?X.message:String(X),type:"send data error"}),X}},q=()=>{if(!m)try{if(S>=0){let X={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
76
- data: ${JSON.stringify(X)}
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 zs,ch=Le(()=>{"use strict";zs=class{type="webhook";config;defaultTimeout=3e4;logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}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||{},u={data:e};return o&&(u.timestamp=new Date().toISOString()),s&&(u.prefix=s),a&&Object.keys(a).length>0&&(u.metadata=a),u}async sendRequest(e,r,n,o,s){let a=new AbortController,u=setTimeout(()=>a.abort(),s);try{let c=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(c){throw clearTimeout(u),c}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let u=null;for(let c=1;c<=a.maxAttempts;c++)try{return await this.sendRequest(e,r,n,o,s)}catch(f){if(u=f,c===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,c-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${c}/${a.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw u}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(this.logger?.error??console.error)(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});var jo,lh,Yb,Hs,fh=Le(()=>{"use strict";jo=require("fs"),lh=require("path"),Yb=require("os"),Hs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=(0,Yb.tmpdir)();this.baseDir=(0,lh.join)(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{(0,jo.existsSync)(this.baseDir)||(0,jo.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,lh.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,jo.writeFileSync)(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var dh,Mo,Xb=Le(()=>{"use strict";uh();ch();fh();dh=class{handlers=new Map;defaultOptions={};logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}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){(this.logger?.error??console.error)(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){let r;switch(e.type){case"console":r=new $s(e.config);break;case"webhook":r=new zs(e.config);break;case"temp-file":r=new Hs(e.config);break;default:throw new Error(`Unknown output handler type: ${e.type}`)}return this.logger&&typeof r.setLogger=="function"&&r.setLogger(this.logger),r}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,u])=>{try{await u.output(e,n)?o.success.push(a):o.failed.push(a)}catch(c){(this.logger?.error??console.error)(`[OutputManager] Handler ${a} failed:`,c),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 u=>{let c=this.handlers.get(u);if(!c){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await c.output(r,o)?s.success.push(u):s.failed.push(u)}catch(f){(this.logger?.error??console.error)(`[OutputManager] Handler ${u} failed:`,f),s.failed.push(u)}});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)}},Mo=new dh});var U1={};Ic(U1,{ConfigService:()=>Cn,ProviderService:()=>En,SSEParserTransform:()=>Sr,SSESerializerTransform:()=>kn,TokenizerService:()=>jn,TransformerService:()=>Bn,calculateTokenCount:()=>rh,default:()=>M1,isClientAbortError:()=>Ve,pluginManager:()=>sh,rewriteStream:()=>Qc,router:()=>sc,searchProjectBySession:()=>nh,sessionUsageCache:()=>tc,tokenSpeedPlugin:()=>ph});module.exports=$w(U1);var eC=$e(require("fastify"),1),tC=$e(require("@fastify/cors"),1);var Ko=require("fs"),Hc=require("path"),Rp=require("dotenv"),xp=$e(zc(),1),Cn=class{config={};options;logger;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.logger=e.logger,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger))),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,Hc.join)(process.cwd(),this.options.jsonPath);if((0,Ko.existsSync)(e))try{let r=(0,Ko.readFileSync)(e,"utf-8"),n=xp.default.parse(r);this.config={...this.config,...n},(this.logger?.info??console.log)(`Loaded JSON config from: ${e}`)}catch(r){(this.logger?.warn??console.warn)(`Failed to load JSON config from ${e}:`,r)}else(this.logger?.warn??console.warn)(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:(0,Hc.join)(process.cwd(),this.options.envPath);if((0,Ko.existsSync)(e))try{let r=(0,Rp.config)({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){(this.logger?.warn??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(", ")}`}};var Xw="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function kr(t){return t.replace(/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi,"[redacted-url]").replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${Xw})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"').replace(/\b(?:authorization|x-api-key|api-key|api_key|access_token|token)\s*[:=]\s*["']?[^\s,;"']+/gi,e=>`${e.split(/\s*[:=]/,1)[0]}=[redacted]`).replace(/\[[0-9a-f:]+\](?::\d+)?/gi,"[redacted-address]").replace(/\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?\b/g,"[redacted-address]").replace(/\b(connect(?:ing)?(?:\s+to)?|from|to)\s+(?:localhost|(?:[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\.)+[a-z]{2,63})(?::\d+)?\b/gi,"$1 [redacted-address]").replace(/([?&](?:api_?key|key|token|access_token|auth)=)[^&\s]+/gi,"$1[redacted]").replace(/\s+/g," ").trim().slice(0,240)}function Qw(t,e){return t.split(`
73
+ `).map(r=>kr(r)).filter(Boolean).join(`
74
+ `).slice(0,e)}function wn(t){let e=t,r=typeof e?.message=="string"?e.message:typeof t=="string"?t:String(t),n=typeof e?.cause?.message=="string"?e.cause.message:typeof e?.cause=="string"?e.cause:void 0;return{message:kr(r)||"Unknown error",code:typeof e?.code=="string"?e.code:void 0,name:typeof e?.name=="string"?e.name:void 0,statusCode:typeof e?.statusCode=="number"?e.statusCode:void 0,stack:typeof e?.stack=="string"?Qw(e.stack,4e3):void 0,cause:n?kr(n):void 0}}function Op(t){let e={};if(!t)return e;let r=typeof t.forEach=="function"&&typeof t.entries=="function"?Array.from(t.entries()):Object.entries(t);for(let[n,o]of r){if(o==null)continue;let s=n.toLowerCase();if(s==="authorization"||s==="x-api-key"||s==="api-key"||s==="cookie"||s==="set-cookie"||s.includes("token")||s.includes("secret")){e[n]="[redacted]";continue}e[n]=String(o)}return e}var ct="client disconnected";function Gc(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"})):new Promise((r,n)=>{let o=setTimeout(()=>{e&&e.removeEventListener("abort",s),r()},t),s=()=>{clearTimeout(o),n(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"}))};e&&e.addEventListener("abort",s,{once:!0})})}function Pp(t,e){let r=new AbortController,n=e?.raw,o=!1,s=(u=ct)=>{r.signal.aborted||r.abort(u)},a=()=>{if(!o&&(o=!0,!!n)){if(Wc(n)){s(`${ct} (already destroyed)`);return}n.on("close",()=>{!n.writableEnded&&Wc(n)&&s(`${ct} (response close)`)}),n.on("error",u=>{(u?.code==="EPIPE"||u?.code==="ECONNRESET"||u?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ve(u))&&s(`${ct} (response error)`)})}};return{signal:r.signal,arm:a}}function Zw(t){let e=t?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r)&&r>=0)return Math.min(r*1e3,6e4);let n=Date.parse(e);if(Number.isFinite(n))return Math.min(Math.max(0,n-Date.now()),6e4)}function eE(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function Jc(t,e){let r=Zw(e);return r!==void 0&&r>0?r:eE(t)}function Ip(t,e){if(!t)return;let r=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(r)?r:void 0}var Fp=new Set(["ECONNRESET","ECONNREFUSED","ENOTFOUND","EAI_AGAIN","ETIMEDOUT","EPIPE","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET","UND_ERR_CONNECT"]);function Np(t){let e=t;if(!e)return!1;if(e.name==="TimeoutError"||e.code==="TIMEOUT_ERR"||e.code===23||e.cause&&(e.cause.name==="TimeoutError"||e.cause.code==="TIMEOUT_ERR"||e.cause.code===23))return!0;let r=String(e.message||"");return/aborted due to timeout|operation was aborted due to timeout/i.test(r)}function Gr(t=ct){let e=typeof t=="string"&&t?t:t instanceof Error&&t.message?t.message:ct;return Object.assign(new Error(e),{name:"AbortError",code:"ABORT_ERR",reason:t})}function Ve(t){if(t==null||t===!1)return!1;if(typeof t=="string")return t.startsWith(ct)||/client.*(closed|disconnect)|socket hang up/i.test(t);let e=t;if(Np(e))return!1;let r=e.reason??e.cause;if(typeof r=="string"&&r.startsWith(ct)||typeof e.message=="string"&&e.message.startsWith(ct)||e.name==="AbortError"||e.code==="ABORT_ERR"||e.code==="ERR_STREAM_PREMATURE_CLOSE")return!0;let n=String(e.message||"");return/client.*(closed|disconnect)|socket hang up/i.test(n)}function Wc(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function Bp(t){return Wc(t.raw)}function Vc(t){if(!t||Ve(t))return!1;if(Np(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&Fp.has(e.code)||e.cause?.code&&Fp.has(String(e.cause.code)))return!0;let r=String(e.message||"");return/fetch failed|network|socket|ECONNRESET|ENOTFOUND|ETIMEDOUT|other side closed/i.test(r)}function jp(t){let e=t;return!e||Ve(e)?!1:e.code==="provider_response_error"||e.code==="provider_network_error"||Vc(e)}function Qe(t,e=500,r="internal_error",n="api_error",o){let s=new Error(kr(t)||t);return s.statusCode=e,s.code=r,s.type=n,o&&(s.headers=o),s}async function Mp(t,e,r){if(Ve(t)||r.raw.destroyed||r.sent)return e.log.debug(wn(t),"request aborted or already closed"),!r.sent&&!r.raw.destroyed&&!r.raw.headersSent?(r.type("application/json"),r.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):void 0;e.log.error(wn(t),"request error");let n=t.statusCode||500,o={error:{message:kr(t.message||"Internal error")||"Internal error",type:t.type||"api_error",code:t.code||"internal_error"}};return t.headers&&r.headers(t.headers),r.type("application/json"),r.code(n).send(o)}var zp=require("stream");var Lp=require("undici");function tE(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function rE(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function Up(t){let e=t.split(".");if(e.length!==4)return null;let r=0;for(let n of e){let o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>255)return null;r=r<<8|o}return r>>>0}function nE(t,e){let[r,n]=e.split("/"),o=parseInt(n,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=Up(t),a=Up(r);if(s===null||a===null)return!1;let u=o===0?0:-1<<32-o>>>0;return(s&u)===(a&u)}function oE(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let r=tE(e.hostname);if(r==="localhost"||r==="127.0.0.1"||r.startsWith("127.")||r==="0.0.0.0"||r==="::1"||r==="0:0:0:0:0:0:0:1")return!0;let n=process.env.NO_PROXY||process.env.no_proxy;if(!n)return!1;let o=n.split(",").map(s=>s.trim()).filter(Boolean);for(let s of o){let a=s.toLowerCase();if(a==="*")return!0;let u=sE(a);if(u.startsWith(".")){if(r.endsWith(u)||r===u.slice(1))return!0;continue}if(u.includes("/")&&rE(r)){if(nE(r,u))return!0;continue}if(r===u)return!0;if(u.startsWith("*.")){let c=u.slice(1);if(r.endsWith(c)||r===c.slice(1))return!0}}return!1}function sE(t){if(t.startsWith("[")&&t.includes("]"))return t.slice(1,t.indexOf("]"));if(t.split(":").length-1===1){let[r,n]=t.split(":");if(/^\d+$/.test(n))return r}return t}async function qp(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([p,y])=>{y&&s.set(p,y)});let a=AbortSignal.timeout(r.TIMEOUT??60*1e3*60),u=r.signal?AbortSignal.any([r.signal,a]):a,c={method:"POST",headers:s,body:JSON.stringify(e),signal:u},f=typeof t=="string"?t:t.toString(),d=!!r.httpsProxy&&!oE(f);d&&(c.dispatcher=new Lp.ProxyAgent(new URL(r.httpsProxy).toString())),o?.debug({reqId:n?.req?.id,method:c.method,headers:Op(s),requestUrl:f,useProxy:d},"final request");try{return await fetch(f,c)}catch(p){if(Ve(p))throw typeof p=="string"?Gr(p):p;if(r.signal?.aborted&&Ve(r.signal.reason??ct))throw Gr(r.signal.reason??p);if(Vc(p)){let y=Qe(p?.message||"Provider network error",502,"provider_network_error");throw y.cause=p,y}throw p}}var $p="1.0.56";async function aE(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s),u=Pp(t,e),c=u.signal;if(u.arm(),!a)throw Qe(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:f,config:d,bypass:p}=await Hp(o,a,n,t.headers,{req:t,provider:a,signal:c}),y=await Wp(f,d,a,r,p,n,{req:t,signal:c}),A=await Gp(f,y,a,n,p,{req:t,signal:c});return await Jp(A,e,o,c)}catch(f){if(Ve(f))throw typeof f=="string"?Gr(f):f;if(c.aborted)throw Gr(c.reason??f);if(jp(f)){let d=await uE(t,e,r,n,f,c);if(d)return d;if(c.aborted)throw Gr(c.reason??ct)}throw f}}async function uE(t,e,r,n,o,s){let a=t.scenarioType||"default",u=r.configService.get("fallback"),c=Ip(u,a);if(!c?.length||s?.aborted||Ve(o))return null;t.log.warn({scenarioType:a,fallbackCount:c.length,error:wn(o)},`Request failed for ${a}, trying ${c.length} fallback models`);let f=0,d=Jc(f,o?.headers?.["Retry-After"]??o?.headers?.["retry-after"]);if(f+=1,d>0){t.log.info(`Waiting ${d}ms before first fallback attempt`);try{await Gc(d,s)}catch(p){if(Ve(p)||s?.aborted)return null;throw p}}for(let p=0;p<c.length;p+=1){if(s?.aborted)return null;let y=c[p];try{t.log.info(`Trying fallback model: ${y}`);let A={...t.body},[g,..._]=y.split(",");A.model=_.join(",");let b={...t,provider:g,body:A},m=r.providerService.getProvider(g);if(!m){t.log.warn(`Fallback provider '${g}' not found, skipping`);continue}let{requestBody:v,config:k,bypass:w}=await Hp(A,m,n,t.headers,{req:b,provider:m,signal:s}),T=await Wp(v,k,m,r,w,n,{req:b,signal:s}),O=await Gp(v,T,m,n,w,{req:b,signal:s});return t.log.info(`Fallback model ${y} succeeded`),await Jp(O,e,A,s)}catch(A){if(Ve(A))throw A;if(s?.aborted)throw Gr(s.reason??ct);if(t.log.warn({fallbackModel:y,error:wn(A)},`Fallback model ${y} failed`),p<c.length-1){let _=Jc(f,A?.headers?.["Retry-After"]??A?.headers?.["retry-after"]);if(f+=1,_>0){t.log.info(`Waiting ${_}ms before next fallback attempt`);try{await Gc(_,s)}catch(b){if(Ve(b)||s?.aborted)return null;throw b}}}continue}}return t.log.error(`All fallback models failed for ${a}`),null}async function Hp(t,e,r,n,o){let s=t,a={},u=!1;u=cE(e,r,t);let c=u||e.transformer?.passthrough;if(u&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let f=await r.transformRequestOut(s,o);f.body?(s=f.body,a=f.config||{}):s=f}if(!u&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!u&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}return{requestBody:s,config:a,bypass:u}}function cE(t,e,r){return 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 Wp(t,e,r,n,o,s,a){if(e?.__providerResponse)return e.__providerResponse;let u=e.url||new URL(r.baseUrl);if((o||r.transformer?.passthrough)&&typeof s.auth=="function"){let d=await s.auth(t,r);if(d.body){t=d.body;let p=e.headers||{};d.config?.headers&&(p={...p,...d.config.headers},delete p.host,delete d.config.headers),e={...e,...d.config,headers:p}}else t=d}let c={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};c["x-api-key"]&&delete c.Authorization;for(let d in c)(c[d]==="undefined"||["authorization","Authorization"].includes(d)&&c[d]?.includes("undefined"))&&delete c[d];let f=await qp(u,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(c)),signal:a?.signal??e.signal},a,n.log);if(!f.ok){let d=await f.text(),p=kr(d)||d.slice(0,240),y,A=f.headers.get("retry-after");if(A)y={"Retry-After":A};else if(f.status===429)try{let g=JSON.parse(d),_=g?.error?.details||g?.details;if(Array.isArray(_)){let b=_.find(m=>m["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(b?.retryDelay){let m=parseInt(b.retryDelay,10);isNaN(m)||(y={"Retry-After":m.toString()})}}}catch{}try{let g=JSON.parse(d),_=kr(String(g?.error?.message||d))||p;n.log.error({status:f.status,provider:r.name,model:t.model,errorMessage:_},`[provider_response_error] ${r.name},${t.model}: ${_}`)}catch{n.log.error({status:f.status,provider:r.name,model:t.model,errorText:p},`[provider_response_error] ${r.name},${t.model}: ${p}`)}throw Qe(`Error from provider(${r.name},${t.model}: ${f.status}): ${p}`,f.status,"provider_response_error","api_error",y)}return f}async function Gp(t,e,r,n,o,s){let a=e,u=o||r.transformer?.passthrough;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!u&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}async function Jp(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0&&t.ok){if(t.body&&typeof t.body.getReader=="function"){let s=zp.Readable.fromWeb(t.body),a=!1,u=()=>{if(!a){a=!0;try{s.destroyed||s.destroy()}catch{}}},c=()=>{n&&n.removeEventListener("abort",u)};return Bp(e)?(u(),!e.sent&&!e.raw.destroyed?(e.type("application/json"),e.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):e):(n?.aborted&&e.log?.warn?.({reason:String(n.reason??""),headersSent:e.raw.headersSent,writableEnded:e.raw.writableEnded},"disconnect signal fired but socket still open; continuing SSE"),e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&n.addEventListener("abort",u,{once:!0}),e.raw.on("error",d=>{(d?.code==="EPIPE"||d?.code==="ECONNRESET"||d?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ve(d))&&u()}),e.raw.on("close",()=>{e.raw.writableEnded||u()}),s.on("error",d=>{d?.code==="ERR_STREAM_PREMATURE_CLOSE"||d?.code==="ABORT_ERR"||Ve(d)||e.log?.error?.(wn(d),"upstream stream error")}),s.once("end",c),s.once("close",c),e.send(s))}if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.pipe=="function")return e.send(t.body);throw Qe("Streaming response body is not a readable stream",502,"provider_response_error")}else{let s=await t.json();return e.send(s)}}var Kc=async t=>{t.get("/",async()=>({message:"LLMs API",version:$p})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>aE(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:u}=r.body;if(!o?.trim())throw Qe("Provider name is required",400,"invalid_request");if(!s||!lE(s))throw Qe("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw Qe("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw Qe("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw Qe(`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 Qe("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 Qe("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 Qe("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 Qe("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function lE(t){try{return new URL(t),!0}catch{return!1}}var En=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 this.attachTransformerLogger(new a(s[1]))}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?this.attachTransformerLogger(new a):this.attachTransformerLogger(a)}}).filter(s=>typeof s<"u")):o==="passthrough"?n.passthrough=r.transformer.passthrough: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 this.attachTransformerLogger(new a(s[1]))}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?this.attachTransformerLogger(new a):this.attachTransformerLogger(a)}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],transformer:r.transformer?n:void 0}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}attachTransformerLogger(e){return e&&typeof e=="object"&&(e.logger=this.logger),e}registerProvider(e){let r={...e};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}`,u={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),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){return!!this.providers.get(e)}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.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.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 Ze=[];for(let t=0;t<256;++t)Ze.push((t+256).toString(16).slice(1));function Vp(t,e=0){return(Ze[t[e+0]]+Ze[t[e+1]]+Ze[t[e+2]]+Ze[t[e+3]]+"-"+Ze[t[e+4]]+Ze[t[e+5]]+"-"+Ze[t[e+6]]+Ze[t[e+7]]+"-"+Ze[t[e+8]]+Ze[t[e+9]]+"-"+Ze[t[e+10]]+Ze[t[e+11]]+Ze[t[e+12]]+Ze[t[e+13]]+Ze[t[e+14]]+Ze[t[e+15]]).toLowerCase()}var Kp=require("crypto"),Ti=new Uint8Array(256),Ai=Ti.length;function Yc(){return Ai>Ti.length-16&&((0,Kp.randomFillSync)(Ti),Ai=0),Ti.slice(Ai,Ai+=16)}var Yp=require("crypto"),Xc={randomUUID:Yp.randomUUID};function fE(t,e,r){if(Xc.randomUUID&&!e&&!t)return Xc.randomUUID();t=t||{};let n=t.random??t.rng?.()??Yc();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 Vp(n)}var Zt=fE;var Xp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Zn=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,r){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 u=e.system.filter(c=>c.type==="text"&&c.text).map(c=>({type:"text",text:c.text,cache_control:c.cache_control}));n.push({role:"system",content:u})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(u=>{if(u.role==="user"||u.role==="assistant"){if(typeof u.content=="string"){n.push({role:u.role,content:u.content});return}if(Array.isArray(u.content)){if(u.role==="user"){let c=u.content.filter(d=>d.type==="tool_result"&&d.tool_use_id);c.length&&c.forEach(d=>{let p={role:"tool",content:typeof d.content=="string"?d.content:Array.isArray(d.content)&&d.content.filter(y=>y.type==="text"&&y.text).map(y=>y.text).join(`
75
+ `)||JSON.stringify(d.content),tool_call_id:d.tool_use_id,cache_control:d.cache_control};n.push(p)});let f=u.content.filter(d=>d.type==="text"&&d.text||d.type==="image"&&d.source);f.length&&n.push({role:"user",content:f.map(d=>d?.type==="image"?{type:"image_url",image_url:{url:d.source?.type==="base64"?Xp(d.source.data,d.source.media_type):d.source.url},media_type:d.source.media_type}:d)})}else if(u.role==="assistant"){let c={role:"assistant",content:""},f=u.content.filter(y=>y.type==="text"&&y.text);f.length&&(c.content=f.map(y=>y.text).join(`
76
+ `));let d=u.content.filter(y=>y.type==="tool_use"&&y.id);d.length&&(c.tool_calls=d.map(y=>({id:y.id,type:"function",function:{name:y.name,arguments:JSON.stringify(y.input||{})}})));let p=u.content.find(y=>y.type==="thinking"&&y.signature);p&&(c.thinking={content:p.thinking,signature:p.signature}),n.push(c)}return}}});let s={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&&(s.reasoning={effort:e.output_config?.effort||e.effort,enabled:e.thinking.type==="enabled"||e.thinking.type==="adaptive"}),Array.isArray(r?.provider?.transformer?.use)&&r.provider.transformer.use.some(u=>u?.name==="claude-auth")&&(e.thinking&&(s.anthropic_thinking=e.thinking),e.output_config&&(s.anthropic_output_config=e.output_config),e.metadata&&(s.anthropic_metadata=e.metadata),e.stop_sequences&&(s.anthropic_stop_sequences=e.stop_sequences)),e.tool_choice&&(e.tool_choice.type==="tool"?s.tool_choice={type:"function",function:{name:e.tool_choice.name}}:s.tool_choice=e.tool_choice.type),s}async transformResponseIn(e,r){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"}})}}static buildAnthropicBody(e,r){let n;e.system&&(typeof e.system=="string"?n=e.system:Array.isArray(e.system)&&e.system.length&&(n=e.system.map(c=>({type:"text",text:c.text,...c.cache_control?{cache_control:c.cache_control}:{}}))));let o=[];for(let c of e.messages){if(c.role==="system"){if(!n){if(typeof c.content=="string")n=c.content;else if(Array.isArray(c.content)){let f=c.content.filter(d=>d.type==="text"&&d.text);f.length===1&&!f[0].cache_control?n=f[0].text:f.length>0&&(n=f.map(d=>({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}})))}}continue}if(c.role==="tool"){let f={type:"tool_result",tool_use_id:c.tool_call_id,content:typeof c.content=="string"?c.content:JSON.stringify(c.content)},d=o[o.length-1];d?.role==="user"&&Array.isArray(d.content)?d.content.push(f):o.push({role:"user",content:[f]});continue}if(c.role==="assistant"){let f=[];if(c.thinking&&f.push({type:"thinking",thinking:c.thinking.content,signature:c.thinking.signature}),typeof c.content=="string"&&c.content&&f.push({type:"text",text:c.content}),c.tool_calls?.length)for(let d of c.tool_calls){let p={};try{p=JSON.parse(d.function.arguments||"{}")}catch(y){(r?.error??console.error)("Failed to parse tool_call arguments for tool '%s': %s",d.function.name,y)}f.push({type:"tool_use",id:d.id,name:d.function.name,input:p})}f.length>0&&o.push({role:"assistant",content:f});continue}if(c.role==="user"){let f=[];if(typeof c.content=="string")f.push({type:"text",text:c.content});else if(Array.isArray(c.content)){for(let d of c.content)if(d.type==="text"&&d.text)f.push({type:"text",text:d.text,...d.cache_control?{cache_control:d.cache_control}:{}});else if(d.type==="image_url"&&d.image_url?.url){let p=d.image_url.url;if(p.startsWith("data:")){let[y,A]=p.split(","),g=y.split(":")[1]?.split(";")[0]??"image/jpeg";f.push({type:"image",source:{type:"base64",media_type:g,data:A}})}else f.push({type:"image",source:{type:"url",url:p}})}}f.length>0&&o.push({role:"user",content:f});continue}}let s;e.tools?.length&&(s=e.tools.map(c=>({name:c.function.name,description:c.function.description||"",input_schema:c.function.parameters})));let a;if(e.tool_choice){let c=e.tool_choice;c==="auto"?a={type:"auto"}:c==="required"?a={type:"any"}:typeof c=="string"?a={type:"tool",name:c}:c.type==="function"&&(a={type:"tool",name:c.function?.name})}let u={model:e.model,max_tokens:e.max_tokens??8192,messages:o,stream:e.stream??!0};return n!==void 0&&(u.system=n),e.temperature!==void 0&&(u.temperature=e.temperature),e.tool_choice!=="none"&&s?.length&&(u.tools=s),e.tool_choice!=="none"&&a&&(u.tool_choice=a),e.anthropic_thinking&&(u.thinking=e.anthropic_thinking),e.anthropic_output_config&&(u.output_config=e.anthropic_output_config),e.anthropic_metadata&&(u.metadata=e.anthropic_metadata),e.anthropic_stop_sequences&&(u.stop_sequences=e.anthropic_stop_sequences),u}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()}`,u=null,c="unknown",f=!1,d=!1,p=!1,y=new Map,A=new Map,g=0,_=0,b=0,m=!1,v=!1,k=0,w=-1,T=0,O=()=>{let X=k;return k++,X},N=X=>{if(!m)try{o.enqueue(X);let K=new TextDecoder().decode(X);this.logger.debug({reqId:r.req.id,data:K,type:"send data"})}catch(K){if(K instanceof TypeError&&K.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:K instanceof Error?K.message:String(K),type:"send data error"}),K}},G=()=>{if(!m)try{if(w>=0){let K={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
77
+ data: ${JSON.stringify(K)}
77
78
 
78
- `)),S=-1}if(u)T>0&&(u.usage.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
79
+ `)),w=-1}if(u)T>0&&(u.usage.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
79
80
  data: ${JSON.stringify(u)}
80
81
 
81
- `)),u=null;else{let X={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};T>0&&(X.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
82
- data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:X})}
82
+ `)),u=null;else{let K={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};T>0&&(K.server_tool_use={web_search_requests:T}),N(s.encode(`event: message_delta
83
+ data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:K})}
83
84
 
84
- `))}let Y={type:"message_stop"};N(s.encode(`event: message_stop
85
- data: ${JSON.stringify(Y)}
85
+ `))}let X={type:"message_stop"};N(s.encode(`event: message_stop
86
+ data: ${JSON.stringify(X)}
86
87
 
87
- `)),o.close(),m=!0}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))m=!0;else throw Y}},z=null;try{z=e.getReader();let Y=new TextDecoder,X="";for(;!m;){let{done:ue,value:ne}=await z.read();if(ue)break;X+=Y.decode(ne,{stream:!0});let he=X.split(`
88
- `);X=he.pop()||"";for(let Ce of he){if(m||p)break;if(!Ce.startsWith("data:"))continue;let ge=Ce.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:ge}),ge!=="[DONE]")try{let Z=JSON.parse(ge);if(g++,this.logger.debug({reqId:r.req.id,response:Z,tppe:"Original Response"}),Z.error){let K={type:"error",message:{type:"api_error",message:JSON.stringify(Z.error)}};N(s.encode(`event: error
89
- data: ${JSON.stringify(K)}
88
+ `)),o.close(),m=!0}catch(X){if(X instanceof TypeError&&X.message.includes("Controller is already closed"))m=!0;else throw X}},$=null;try{$=e.getReader();let X=new TextDecoder,K="";for(;!m;){let{done:se,value:_e}=await $.read();if(se)break;K+=X.decode(_e,{stream:!0});let me=K.split(`
89
+ `);K=me.pop()||"";for(let le of me){if(m||p)break;if(!le.startsWith("data:"))continue;let pe=le.slice(5).trim();if(this.logger.debug({reqId:r.req.id,type:"recieved data",data:pe}),pe!=="[DONE]")try{let ie=JSON.parse(pe);if(g++,this.logger.debug({reqId:r.req.id,response:ie,tppe:"Original Response"}),ie.error){let Y={type:"error",message:{type:"api_error",message:JSON.stringify(ie.error)}};N(s.encode(`event: error
90
+ data: ${JSON.stringify(Y)}
90
91
 
91
- `));continue}if(l=Z.model||l,!f&&!m&&!p){f=!0;let K={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,cache_creation_input_tokens:0,cache_read_input_tokens:0}}};N(s.encode(`event: message_start
92
- data: ${JSON.stringify(K)}
92
+ `));continue}if(c=ie.model||c,!f&&!m&&!p){f=!0;let Y={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:c,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0}}};N(s.encode(`event: message_start
93
+ data: ${JSON.stringify(Y)}
93
94
 
94
- `))}let J=Z.choices?.[0];if(Z.usage&&(u?u.usage={input_tokens:(Z.usage?.prompt_tokens||0)-(Z.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:Z.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:Z.usage?.prompt_tokens_details?.cached_tokens||0}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(Z.usage?.prompt_tokens||0)-(Z.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:Z.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:Z.usage?.prompt_tokens_details?.cached_tokens||0}}),!J)continue;if(J?.delta?.thinking&&!m&&!p){if(!v){let K=O(),te={type:"content_block_start",index:K,content_block:{type:"thinking",thinking:""}};N(s.encode(`event: content_block_start
95
- data: ${JSON.stringify(te)}
95
+ `))}let V=ie.choices?.[0];if(ie.usage&&(u?u.usage={input_tokens:(ie.usage?.prompt_tokens||0)-(ie.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:ie.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:ie.usage?.prompt_tokens_details?.cached_tokens||0}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:(ie.usage?.prompt_tokens||0)-(ie.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:ie.usage?.completion_tokens||0,cache_creation_input_tokens:0,cache_read_input_tokens:ie.usage?.prompt_tokens_details?.cached_tokens||0}}),!V)continue;if(V?.delta?.thinking&&!m&&!p){if(!v){let Y=O(),Z={type:"content_block_start",index:Y,content_block:{type:"thinking",thinking:""}};N(s.encode(`event: content_block_start
96
+ data: ${JSON.stringify(Z)}
96
97
 
97
- `)),S=K,v=!0}if(J.delta.thinking.signature){let K={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:J.delta.thinking.signature}};N(s.encode(`event: content_block_delta
98
- data: ${JSON.stringify(K)}
98
+ `)),w=Y,v=!0}if(V.delta.thinking.signature){let Y={type:"content_block_delta",index:w,delta:{type:"signature_delta",signature:V.delta.thinking.signature}};N(s.encode(`event: content_block_delta
99
+ data: ${JSON.stringify(Y)}
99
100
 
100
- `));let te={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
101
- data: ${JSON.stringify(te)}
101
+ `));let Z={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
102
+ data: ${JSON.stringify(Z)}
102
103
 
103
- `)),S=-1,v=!1}else if(J.delta.thinking.content){let K={type:"content_block_delta",index:S,delta:{type:"thinking_delta",thinking:J.delta.thinking.content||""}};N(s.encode(`event: content_block_delta
104
- data: ${JSON.stringify(K)}
104
+ `)),w=-1,v=!1}else if(V.delta.thinking.content){let Y={type:"content_block_delta",index:w,delta:{type:"thinking_delta",thinking:V.delta.thinking.content||""}};N(s.encode(`event: content_block_delta
105
+ data: ${JSON.stringify(Y)}
105
106
 
106
- `))}}if(J?.delta?.content&&!m&&!p){if(C++,S>=0&&!d){let te={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
107
- data: ${JSON.stringify(te)}
107
+ `))}}if(V?.delta?.content&&!m&&!p){if(_++,w>=0&&!d){let Z={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
108
+ data: ${JSON.stringify(Z)}
108
109
 
109
- `)),S=-1}if(!d&&!p){d=!0;let K=O(),te={type:"content_block_start",index:K,content_block:{type:"text",text:""}};N(s.encode(`event: content_block_start
110
- data: ${JSON.stringify(te)}
110
+ `)),w=-1}if(!d&&!p){d=!0;let Y=O(),Z={type:"content_block_start",index:Y,content_block:{type:"text",text:""}};N(s.encode(`event: content_block_start
111
+ data: ${JSON.stringify(Z)}
111
112
 
112
- `)),S=K}if(!m&&!p){let K={type:"content_block_delta",index:S,delta:{type:"text_delta",text:J.delta.content}};N(s.encode(`event: content_block_delta
113
- data: ${JSON.stringify(K)}
113
+ `)),w=Y}if(!m&&!p){let Y={type:"content_block_delta",index:w,delta:{type:"text_delta",text:V.delta.content}};N(s.encode(`event: content_block_delta
114
+ data: ${JSON.stringify(Y)}
114
115
 
115
- `))}}if(J?.delta?.annotations?.length&&!m&&!p){if(T+=J.delta.annotations.length,S>=0&&d){let K={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
116
- data: ${JSON.stringify(K)}
116
+ `))}}if(V?.delta?.annotations?.length&&!m&&!p){if(T+=V.delta.annotations.length,w>=0&&d){let Y={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
117
+ data: ${JSON.stringify(Y)}
117
118
 
118
- `)),S=-1,d=!1}J?.delta?.annotations.forEach(K=>{let te=O(),Ae={type:"content_block_start",index:te,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Xt()}`,content:[{type:"web_search_result",title:K.url_citation.title,url:K.url_citation.url}]}};N(s.encode(`event: content_block_start
119
- data: ${JSON.stringify(Ae)}
119
+ `)),w=-1,d=!1}V?.delta?.annotations.forEach(Y=>{let Z=O(),Se={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Zt()}`,content:[{type:"web_search_result",title:Y.url_citation.title,url:Y.url_citation.url}]}};N(s.encode(`event: content_block_start
120
+ data: ${JSON.stringify(Se)}
120
121
 
121
- `));let Xe={type:"content_block_stop",index:te};N(s.encode(`event: content_block_stop
122
- data: ${JSON.stringify(Xe)}
122
+ `));let Ue={type:"content_block_stop",index:Z};N(s.encode(`event: content_block_stop
123
+ data: ${JSON.stringify(Ue)}
123
124
 
124
- `)),S=-1})}if(J?.delta?.tool_calls&&!m&&!p){b++;let K=new Set;for(let te of J.delta.tool_calls){if(m)break;let Ae=te.index??0;if(K.has(Ae))continue;if(K.add(Ae),!A.has(Ae)){if(S>=0){let Ne={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
125
- data: ${JSON.stringify(Ne)}
125
+ `)),w=-1})}if(V?.delta?.tool_calls&&!m&&!p){b++;let Y=new Set;for(let Z of V.delta.tool_calls){if(m)break;let Se=Z.index??0;if(Y.has(Se))continue;if(Y.add(Se),!A.has(Se)){if(w>=0){let Be={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
126
+ data: ${JSON.stringify(Be)}
126
127
 
127
- `)),S=-1}let G=O();A.set(Ae,G);let le=te.id||`call_${Date.now()}_${Ae}`,pe=te.function?.name||`tool_${Ae}`,ft={type:"content_block_start",index:G,content_block:{type:"tool_use",id:le,name:pe,input:{}}};N(s.encode(`event: content_block_start
128
- data: ${JSON.stringify(ft)}
128
+ `)),w=-1}let W=O();A.set(Se,W);let ue=Z.id||`call_${Date.now()}_${Se}`,re=Z.function?.name||`tool_${Se}`,ke={type:"content_block_start",index:W,content_block:{type:"tool_use",id:ue,name:re,input:{}}};N(s.encode(`event: content_block_start
129
+ data: ${JSON.stringify(ke)}
129
130
 
130
- `)),S=G;let Re={id:le,name:pe,arguments:"",contentBlockIndex:G};y.set(Ae,Re)}else if(te.id&&te.function?.name){let G=y.get(Ae);G.id.startsWith("call_")&&G.name.startsWith("tool_")&&(G.id=te.id,G.name=te.function.name)}if(te.function?.arguments&&!m&&!p){let G=A.get(Ae);if(G===void 0)continue;let le=y.get(Ae);le&&(le.arguments+=te.function.arguments);try{let pe={type:"content_block_delta",index:G,delta:{type:"input_json_delta",partial_json:te.function.arguments}};N(s.encode(`event: content_block_delta
131
- data: ${JSON.stringify(pe)}
131
+ `)),w=W;let xe={id:ue,name:re,arguments:"",contentBlockIndex:W};y.set(Se,xe)}else if(Z.id&&Z.function?.name){let W=y.get(Se);W.id.startsWith("call_")&&W.name.startsWith("tool_")&&(W.id=Z.id,W.name=Z.function.name)}if(Z.function?.arguments&&!m&&!p){let W=A.get(Se);if(W===void 0)continue;let ue=y.get(Se);ue&&(ue.arguments+=Z.function.arguments);try{let re={type:"content_block_delta",index:W,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};N(s.encode(`event: content_block_delta
132
+ data: ${JSON.stringify(re)}
132
133
 
133
- `))}catch{try{let pe=te.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),ft={type:"content_block_delta",index:G,delta:{type:"input_json_delta",partial_json:pe}};N(s.encode(`event: content_block_delta
134
- data: ${JSON.stringify(ft)}
134
+ `))}catch{try{let re=Z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),ke={type:"content_block_delta",index:W,delta:{type:"input_json_delta",partial_json:re}};N(s.encode(`event: content_block_delta
135
+ data: ${JSON.stringify(ke)}
135
136
 
136
- `))}catch(pe){this.logger?.error(pe)}}}}}if(J?.finish_reason&&!m&&!p){if(C===0&&b===0&&this.logger?.warn("No content in the stream response!"),S>=0){let K={type:"content_block_stop",index:S};N(s.encode(`event: content_block_stop
137
- data: ${JSON.stringify(K)}
137
+ `))}catch(re){this.logger?.error(re)}}}}}if(V?.finish_reason&&!m&&!p){if(_===0&&b===0&&this.logger?.warn("No content in the stream response!"),w>=0){let Y={type:"content_block_stop",index:w};N(s.encode(`event: content_block_stop
138
+ data: ${JSON.stringify(Y)}
138
139
 
139
- `)),S=-1}m||(u={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[J.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(Z.usage?.prompt_tokens||0)-(Z.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:Z.usage?.completion_tokens||0,cache_read_input_tokens:Z.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(Z){this.logger?.error(`parseError: ${Z.name} message: ${Z.message} stack: ${Z.stack} data: ${ge}`)}}}q()}catch(Y){if(q(),!m)try{o.error(Y)}catch(X){this.logger?.error(X)}}finally{if(z)try{z.releaseLock()}catch(Y){this.logger?.error(Y)}}},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(u=>({type:"web_search_result",url:u.url_citation.url,title:u.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 u={};try{let l=a.function.arguments||"{}";typeof l=="object"?u=l:typeof l=="string"&&(u=JSON.parse(l))}catch{u={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:u})}),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":n.finish_reason==="model_context_window_exceeded"?"model_context_window_exceeded":"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,...n.message.annotations?.length?{server_tool_use:{web_search_requests:n.message.annotations.length}}:{}}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw it(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Ow=new Set(["type","format","title","description","nullable","enum","maxItems","minItems","properties","required","minProperties","maxProperties","minLength","maxLength","pattern","example","anyOf","propertyOrdering","default","items","minimum","maximum","additionalProperties","allOf","oneOf"]);function zr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>zr(n,e));let r={};for(let n in t){if(e!=="properties"&&!Ow.has(n))continue;let o=t[n];if(!(n==="enum"&&t.type&&t.type!=="string")&&!(n==="format"&&t.type==="string"&&o&&!["enum","date-time"].includes(o))&&!(n==="format"&&o==="uri")&&n!=="$schema")if(n==="properties"&&typeof o=="object"&&!Array.isArray(o)){let s={};for(let a in o)s[a]=zr(o[a]);r[n]=s}else n==="items"?r[n]=zr(o,n):["anyOf","allOf","oneOf"].includes(n)&&Array.isArray(o)?r[n]=o.map(s=>zr(s,n)):r[n]=o}return r}function wi(t){return!t||typeof t!="object"?t:zr(t)}var wr=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
140
- `);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 _n=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
140
+ `)),w=-1}m||(u={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[V.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(ie.usage?.prompt_tokens||0)-(ie.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:ie.usage?.completion_tokens||0,cache_read_input_tokens:ie.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(ie){this.logger?.error(`parseError: ${ie.name} message: ${ie.message} stack: ${ie.stack} data: ${pe}`)}}}G()}catch(X){if(G(),!m)try{o.error(X)}catch(K){this.logger?.error(K)}}finally{if($)try{$.releaseLock()}catch(X){this.logger?.error(X)}}},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_${Zt()}`;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(u=>({type:"web_search_result",url:u.url_citation.url,title:u.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 u={};try{let c=a.function.arguments||"{}";typeof c=="object"?u=c:typeof c=="string"&&(u=JSON.parse(c))}catch{u={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:u})}),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":n.finish_reason==="model_context_window_exceeded"?"model_context_window_exceeded":"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,...n.message.annotations?.length?{server_tool_use:{web_search_requests:n.message.annotations.length}}:{}}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw Qe(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var dE=new Set(["type","format","title","description","nullable","enum","maxItems","minItems","properties","required","minProperties","maxProperties","minLength","maxLength","pattern","example","anyOf","propertyOrdering","default","items","minimum","maximum","additionalProperties","allOf","oneOf"]);function Jr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>Jr(n,e));let r={};for(let n in t){if(e!=="properties"&&!dE.has(n))continue;let o=t[n];if(!(n==="enum"&&t.type&&t.type!=="string")&&!(n==="format"&&t.type==="string"&&o&&!["enum","date-time"].includes(o))&&!(n==="format"&&o==="uri")&&n!=="$schema")if(n==="properties"&&typeof o=="object"&&!Array.isArray(o)){let s={};for(let a in o)s[a]=Jr(o[a]);r[n]=s}else n==="items"?r[n]=Jr(o,n):["anyOf","allOf","oneOf"].includes(n)&&Array.isArray(o)?r[n]=o.map(s=>Jr(s,n)):r[n]=o}return r}function Di(t){return!t||typeof t!="object"?t:Jr(t)}var Sr=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
141
+ `);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 kn=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
141
142
  `),e.id&&(n+=`id: ${e.id}
142
143
  `),e.retry&&(n+=`retry: ${e.retry}
143
144
  `),e.data&&(e.data.type==="done"?n+=`data: [DONE]
144
145
  `:n+=`data: ${JSON.stringify(e.data)}
145
146
  `),n+=`
146
- `,r.enqueue(n)}})}};var qc=(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()}}})};function Ue(t,e,r){let n=new TextEncoder,o=!1,s=new ReadableStream({async start(a){if(!t.body){a.close();return}let u={controller:a,encoder:n};try{let l=t.body.pipeThrough(new TextDecoderStream).pipeThrough(new wr).pipeThrough(new _n).getReader();for(;;){let{done:f,value:d}=await l.read();if(f)break;if(!d)continue;let p=d.split(`
147
+ `,r.enqueue(n)}})}};var Qc=(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()}}})};function qe(t,e,r){let n=new TextEncoder,o=!1,s=new ReadableStream({async start(a){if(!t.body){a.close();return}let u={controller:a,encoder:n};try{let c=t.body.pipeThrough(new TextDecoderStream).pipeThrough(new Sr).pipeThrough(new kn).getReader();for(;;){let{done:f,value:d}=await c.read();if(f)break;if(!d)continue;let p=d.split(`
147
148
  `);for(let y of p)if(y.trim())try{e(y,u)}catch(A){(r?.logger?.error??console.error)("Error processing line:",y,A),a.enqueue(n.encode(y+`
148
- `))}}}catch(l){(r?.logger?.error??console.error)("Stream error:",l),o=!0,a.error(l)}finally{try{r?.onComplete?.(u)}catch(l){(r?.logger?.error??console.error)("Stream completion error:",l),o||(o=!0,a.error(l))}o||a.close()}}});return new Response(s,{status:t.status,statusText:t.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function je(t,e){return e.encode(`data: ${t}
149
+ `))}}}catch(c){(r?.logger?.error??console.error)("Stream error:",c),o=!0,a.error(c)}finally{try{r?.onComplete?.(u)}catch(c){(r?.logger?.error??console.error)("Stream completion error:",c),o||(o=!0,a.error(c))}o||a.close()}}});return new Response(s,{status:t.status,statusText:t.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function Me(t,e){return e.encode(`data: ${t}
149
150
 
150
- `)}function Ee(t,e){return e.encode(t+`
151
- `)}var ki=Le(Hp(),1),Si=class{constructor(e){this.emit=e}_hasThinking=!1;_sigSent=!1;_contentSent=!1;_buffer="";processThinking(e,r){this._hasThinking=!0,this.emit.thinking(e,r)}processSignature(e,r){this.processSignatureWithMeta(e,r)}processSignatureWithMeta(e,r,n){this._sigSent||(this._hasThinking||(this._hasThinking=!0,this.emit.thinking("(no content)",r)),this._sigSent=!0,this.emit.signature(e,r),n?.beforeFlush?.(),this.flushBufferedContent(n?.flushMeta))}processContent(e,r,n){this._sigSent||!this._hasThinking?(this._contentSent=!0,this.emit.content(e,{chunk:r,candidate:n,mode:"direct"})):this._buffer+=e}emitContentPlaceholder(e,r){this._contentSent=!0,this.emit.content(e,{chunk:r?.chunk,candidate:r?.candidate,mode:"placeholder",finishReason:r?.finishReason})}bufferContent(e){this._buffer+=e}finalize(e,r,n){if(this._hasThinking&&!this._sigSent){this.processSignatureWithMeta(`ccr_${Date.now()}`,e,{beforeFlush:n?.beforeFlush,flushMeta:{chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:r?.finishReason?.toLowerCase()||null}});return}this.flushBufferedContent({chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:r?.finishReason?.toLowerCase()||null})}flushBufferedContent(e){this._buffer&&(this._contentSent=!0,this.emit.content(this._buffer,{chunk:e?.chunk,candidate:e?.candidate,mode:e?.mode||"buffered",finishReason:e?.finishReason}),this._buffer="")}shouldDeferContent(e,r){return this._hasThinking&&!this._sigSent&&!e&&!r}get hasBufferedContent(){return this._buffer.length>0}get hasThinkingContent(){return this._hasThinking}get signatureSent(){return this._sigSent}get contentSent(){return this._contentSent}get needsContentPlaceholder(){return this._sigSent&&!this._contentSent}};function Ei(t,e){return e[t]||t}function Ai(t){return!t||typeof t=="string"?[]:t.filter(e=>e.type==="image_url").map(e=>({url:e.image_url.url,mediaType:e.media_type||"image/jpeg",isBase64:e.image_url.url.startsWith("data:")}))}function Ti(t,e){if(t.length===0)return[];let r=[];for(let n of t){let o=r[r.length-1];if(o&&o.role===n.role){let s=o[e],a=n[e];Array.isArray(s)&&Array.isArray(a)&&s.push(...a)}else r.push({...n})}return r}function Kn(t){return t.function?.name?{name:t.function.name,description:t.function.description,parameters:t.function.parameters}:{name:t.name,description:t.description,parameters:t.input_schema}}function Di(t,e){if(e==="gemini")return t.isBase64?{inlineData:{mime_type:t.mediaType,data:t.url.split(",").pop()||t.url}}:{file_data:{mime_type:t.mediaType,file_uri:t.url}};if(e==="claude")return{type:"image",source:{type:"base64",media_type:t.mediaType,data:t.url.startsWith("data:")&&t.url.split(",").pop()||t.url}};throw new Error(`Unsupported provider for image processing: ${e}`)}function Ho(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof ki.default=="function"?ki.default:ki.default.default;if(typeof e!="function")return t;let r=/(\$\$?[\s\S]+?\$\$?|\\\(?:[\s\S]+?\\\)|\\\[[\s\S]+?\\\]|\\(?:[a-zA-Z]+))/g;return t.replace(r,n=>{let o=n,s;do s=o,o=e(o);while(o!==s);return o.replace(/\$([^\$]+)\$/g,"$1")})}catch{return t}}function Wp(t){if(!t)return"unnamed_function";let e=t.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[^a-zA-Z_]/.test(e)&&(e="_"+e),e.substring(0,128)}var Yn={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function Kw(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(Yn).includes(n)?n:Yn.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Yn).includes(o)?o:Yn.TYPE_UNSPECIFIED})}}}function Wo(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)&&Kw(t.type,e);for(let[a,u]of Object.entries(t))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(u))continue;let l=u.toUpperCase();e.type=Object.values(Yn).includes(l)?l:Yn.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Wo(u);else if(n.includes(a)){let l=[];for(let f of u){if(f.type=="null"){e.nullable=!0;continue}l.push(Wo(f))}e[a]=l}else if(o.includes(a)){let l={};for(let[f,d]of Object.entries(u))l[f]=Wo(d);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Yw(t){if(t.functionDeclarations)for(let e of t.functionDeclarations){if(e.parameters){let r=zr(e.parameters);e.parameters=Wo(r)}if(e.response){let r=zr(e.response);e.response=Wo(r)}}return t}function vi(t){let e=[],r=t.tools||[],n=r.filter(g=>Kn(g).name!=="web_search").map(g=>{let{name:C,description:b,parameters:m}=Kn(g);return{name:Wp(C),description:b,parameters:m}});n?.length&&e.push(Yw({functionDeclarations:n})),r.find(g=>Kn(g).name==="web_search")&&e.push({googleSearch:{}});let s=[],a=t.messages||[],u=[],l=g=>{if(typeof g=="string")g&&u.push(g);else if(Array.isArray(g))for(let C of g)C?.type==="text"&&C.text?u.push(C.text):typeof C=="string"&&C&&u.push(C)};t.system&&l(t.system);for(let g of a)g.role==="system"&&l(g.content);let f=a.filter(g=>g.role==="tool");a.filter(g=>g.role!=="tool"&&g.role!=="system").forEach(g=>{let C=Ei(g.role,{assistant:"model"}),b=[],m=g.thinking?.signature&&!g.thinking.signature.startsWith("ccr_")?g.thinking.signature:void 0;if(m&&C==="model"&&b.push({thought:!0,text:g.thinking?.content||"",thought_signature:m}),typeof g.content=="string"?b.push({text:g.content}):Array.isArray(g.content)?(g.content.forEach(k=>{k.type==="text"&&b.push({text:k.text||""})}),Ai(g.content).forEach(k=>{b.push(Di(k,"gemini"))})):g.content&&typeof g.content=="object"&&(g.content.text?b.push({text:g.content.text}):b.push({text:JSON.stringify(g.content)})),Array.isArray(g.tool_calls)&&b.push(...g.tool_calls.map(v=>{let k=v.thought_signature||m;return{functionCall:{id:v.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:v.function.name,args:JSON.parse(v.function.arguments||"{}")},...k&&{thought_signature:k}}})),b.length===0&&b.push({text:""}),s.push({role:C,parts:b}),C==="model"&&g.tool_calls){let v=g.tool_calls.map(k=>{let T=f.find(O=>O.tool_call_id===k.id)?.content;return Array.isArray(T)?T=T.filter(O=>O.type==="text").map(O=>O.text).join(`
152
- `):typeof T=="object"&&T!==null&&(T=JSON.stringify(T)),{functionResponse:{name:k?.function?.name,response:{result:T}}}});s.push({role:"user",parts:v})}});let p=Ti(s,"parts"),y={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(y.thinking_config={include_thoughts:!0},t.model.includes("gemini-3"))y.thinking_config.thinking_level=t.reasoning.effort;else{let g=t.model.includes("pro")?[128,32768]:[0,24576],C,b=t.reasoning.max_tokens;typeof b<"u"&&(b>=g[0]&&b<=g[1]?C=b:b<g[0]?C=g[0]:b>g[1]&&(C=g[1]),y.thinking_config.thinking_budget=C)}t.max_tokens&&(y.max_output_tokens=t.max_tokens),t.temperature!==void 0&&(y.temperature=t.temperature);let A={contents:p.length?p:[{role:"user",parts:[{text:""}]}],tools:e.length?e:void 0,generation_config:y};if(u.length&&(A.systemInstruction={parts:[{text:u.join(`
151
+ `)}function Te(t,e){return e.encode(t+`
152
+ `)}var vi=$e(lg(),1),Ri=class{constructor(e){this.emit=e}_hasThinking=!1;_sigSent=!1;_contentSent=!1;_buffer="";processThinking(e,r){this._hasThinking=!0,this.emit.thinking(e,r)}processSignature(e,r){this.processSignatureWithMeta(e,r)}processSignatureWithMeta(e,r,n){this._sigSent||(this._hasThinking||(this._hasThinking=!0,this.emit.thinking("(no content)",r)),this._sigSent=!0,this.emit.signature(e,r),n?.beforeFlush?.(),this.flushBufferedContent(n?.flushMeta))}processContent(e,r,n){this._sigSent||!this._hasThinking?(this._contentSent=!0,this.emit.content(e,{chunk:r,candidate:n,mode:"direct"})):this._buffer+=e}emitContentPlaceholder(e,r){this._contentSent=!0,this.emit.content(e,{chunk:r?.chunk,candidate:r?.candidate,mode:"placeholder",finishReason:r?.finishReason})}bufferContent(e){this._buffer+=e}finalize(e,r,n){if(this._hasThinking&&!this._sigSent){this.processSignatureWithMeta(`ccr_${Date.now()}`,e,{beforeFlush:n?.beforeFlush,flushMeta:{chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:r?.finishReason?.toLowerCase()||null}});return}this.flushBufferedContent({chunk:e,candidate:r,mode:r?.finishReason?"finish":"buffered",finishReason:r?.finishReason?.toLowerCase()||null})}flushBufferedContent(e){this._buffer&&(this._contentSent=!0,this.emit.content(this._buffer,{chunk:e?.chunk,candidate:e?.candidate,mode:e?.mode||"buffered",finishReason:e?.finishReason}),this._buffer="")}shouldDeferContent(e,r){return this._hasThinking&&!this._sigSent&&!e&&!r}get hasBufferedContent(){return this._buffer.length>0}get hasThinkingContent(){return this._hasThinking}get signatureSent(){return this._sigSent}get contentSent(){return this._contentSent}get needsContentPlaceholder(){return this._sigSent&&!this._contentSent}};function xi(t,e){return e[t]||t}function Oi(t){return!t||typeof t=="string"?[]:t.filter(e=>e.type==="image_url").map(e=>({url:e.image_url.url,mediaType:e.media_type||"image/jpeg",isBase64:e.image_url.url.startsWith("data:")}))}function Fi(t,e){if(t.length===0)return[];let r=[];for(let n of t){let o=r[r.length-1];if(o&&o.role===n.role){let s=o[e],a=n[e];Array.isArray(s)&&Array.isArray(a)&&s.push(...a)}else r.push({...n})}return r}function eo(t){return t.function?.name?{name:t.function.name,description:t.function.description,parameters:t.function.parameters}:{name:t.name,description:t.description,parameters:t.input_schema}}function Pi(t,e){if(e==="gemini")return t.isBase64?{inlineData:{mime_type:t.mediaType,data:t.url.split(",").pop()||t.url}}:{file_data:{mime_type:t.mediaType,file_uri:t.url}};if(e==="claude")return{type:"image",source:{type:"base64",media_type:t.mediaType,data:t.url.startsWith("data:")&&t.url.split(",").pop()||t.url}};throw new Error(`Unsupported provider for image processing: ${e}`)}function Yo(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof vi.default=="function"?vi.default:vi.default.default;if(typeof e!="function")return t;let r=/(\$\$?[\s\S]+?\$\$?|\\\(?:[\s\S]+?\\\)|\\\[[\s\S]+?\\\]|\\(?:[a-zA-Z]+))/g;return t.replace(r,n=>{let o=n,s;do s=o,o=e(o);while(o!==s);return o.replace(/\$([^\$]+)\$/g,"$1")})}catch{return t}}function fg(t){if(!t)return"unnamed_function";let e=t.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[^a-zA-Z_]/.test(e)&&(e="_"+e),e.substring(0,128)}var to={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function xE(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(to).includes(n)?n:to.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(to).includes(o)?o:to.TYPE_UNSPECIFIED})}}}function Xo(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)&&xE(t.type,e);for(let[a,u]of Object.entries(t))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(u))continue;let c=u.toUpperCase();e.type=Object.values(to).includes(c)?c:to.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=Xo(u);else if(n.includes(a)){let c=[];for(let f of u){if(f.type=="null"){e.nullable=!0;continue}c.push(Xo(f))}e[a]=c}else if(o.includes(a)){let c={};for(let[f,d]of Object.entries(u))c[f]=Xo(d);e[a]=c}else{if(a==="additionalProperties")continue;e[a]=u}return e}function OE(t){if(t.functionDeclarations)for(let e of t.functionDeclarations){if(e.parameters){let r=Jr(e.parameters);e.parameters=Xo(r)}if(e.response){let r=Jr(e.response);e.response=Xo(r)}}return t}function Ii(t){let e=[],r=t.tools||[],n=r.filter(g=>eo(g).name!=="web_search").map(g=>{let{name:_,description:b,parameters:m}=eo(g);return{name:fg(_),description:b,parameters:m}});n?.length&&e.push(OE({functionDeclarations:n})),r.find(g=>eo(g).name==="web_search")&&e.push({googleSearch:{}});let s=[],a=t.messages||[],u=[],c=g=>{if(typeof g=="string")g&&u.push(g);else if(Array.isArray(g))for(let _ of g)_?.type==="text"&&_.text?u.push(_.text):typeof _=="string"&&_&&u.push(_)};t.system&&c(t.system);for(let g of a)g.role==="system"&&c(g.content);let f=a.filter(g=>g.role==="tool");a.filter(g=>g.role!=="tool"&&g.role!=="system").forEach(g=>{let _=xi(g.role,{assistant:"model"}),b=[],m=g.thinking?.signature&&!g.thinking.signature.startsWith("ccr_")?g.thinking.signature:void 0;if(m&&_==="model"&&b.push({thought:!0,text:g.thinking?.content||"",thought_signature:m}),typeof g.content=="string"?b.push({text:g.content}):Array.isArray(g.content)?(g.content.forEach(k=>{k.type==="text"&&b.push({text:k.text||""})}),Oi(g.content).forEach(k=>{b.push(Pi(k,"gemini"))})):g.content&&typeof g.content=="object"&&(g.content.text?b.push({text:g.content.text}):b.push({text:JSON.stringify(g.content)})),Array.isArray(g.tool_calls)&&b.push(...g.tool_calls.map(v=>{let k=v.thought_signature||m;return{functionCall:{id:v.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:v.function.name,args:JSON.parse(v.function.arguments||"{}")},...k&&{thought_signature:k}}})),b.length===0&&b.push({text:""}),s.push({role:_,parts:b}),_==="model"&&g.tool_calls){let v=g.tool_calls.map(k=>{let T=f.find(O=>O.tool_call_id===k.id)?.content;return Array.isArray(T)?T=T.filter(O=>O.type==="text").map(O=>O.text).join(`
153
+ `):typeof T=="object"&&T!==null&&(T=JSON.stringify(T)),{functionResponse:{name:k?.function?.name,response:{result:T}}}});s.push({role:"user",parts:v})}});let p=Fi(s,"parts"),y={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(y.thinking_config={include_thoughts:!0},t.model.includes("gemini-3"))y.thinking_config.thinking_level=t.reasoning.effort;else{let g=t.model.includes("pro")?[128,32768]:[0,24576],_,b=t.reasoning.max_tokens;typeof b<"u"&&(b>=g[0]&&b<=g[1]?_=b:b<g[0]?_=g[0]:b>g[1]&&(_=g[1]),y.thinking_config.thinking_budget=_)}t.max_tokens&&(y.max_output_tokens=t.max_tokens),t.temperature!==void 0&&(y.temperature=t.temperature);let A={contents:p.length?p:[{role:"user",parts:[{text:""}]}],tools:e.length?e:void 0,generation_config:y};if(u.length&&(A.systemInstruction={parts:[{text:u.join(`
153
154
 
154
- `)}]}),t.tool_choice){let g={functionCallingConfig:{}};t.tool_choice==="auto"?g.functionCallingConfig.mode="auto":t.tool_choice==="none"?g.functionCallingConfig.mode="none":t.tool_choice==="required"?g.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(g.functionCallingConfig.mode="any",g.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),A.toolConfig=g}return A}function Ri(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,u=t.tool_choice,l={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?l.messages.push({role:"user",content:f}):typeof f.text=="string"?l.messages.push({role:"user",content:f.text||null}):f.role==="user"?l.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&l.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(r)&&(l.tools=[],r.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{l.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),l}async function xi(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();if(r?.debug({response:n},`${e} response:`),t.status>=400){let y=(n.error?.message||"").toLowerCase();if(["user input too long","input too long","prompt is too long","exceeds the token limit","request payload size exceeds","context_length_exceeded"].some(g=>y.includes(g))){let g={id:`ctxexceeded_${Date.now()}`,choices:[{finish_reason:"model_context_window_exceeded",index:0,message:{content:"",role:"assistant"}}],created:Math.floor(Date.now()/1e3),model:"",object:"chat.completion",usage:{completion_tokens:0,prompt_tokens:0,total_tokens:0}};return new Response(JSON.stringify(g),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(JSON.stringify(n),{status:t.status,statusText:t.statusText,headers:t.headers})}if(!n.candidates||n.candidates.length===0)return new Response(JSON.stringify(n),{status:t.status,statusText:t.statusText,headers:t.headers});let o="",s="",a=n.candidates[0]?.content?.parts||[],u=[];for(let p of a)p.text&&p.thought===!0?o+=Ho(p.text):u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature,o&&!s&&(s=`ccr_${+new Date}`);let l=u?.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||{})},thought_signature:p.thoughtSignature||p.thought_signature}))||[],f=u?.filter(p=>p.text)?.map(p=>Ho(p.text))?.join(`
155
- `)||"",d={id:n.responseId,choices:[{finish_reason:n.candidates[0]?.finishReason?.toLowerCase()||null,index:0,message:{content:f,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(d),{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=0,o=-1,s=null,a=null,u=null,l=(g,C)=>{g.controller.enqueue(g.encoder.encode(`data: ${JSON.stringify(C)}
155
+ `)}]}),t.tool_choice){let g={functionCallingConfig:{}};t.tool_choice==="auto"?g.functionCallingConfig.mode="auto":t.tool_choice==="none"?g.functionCallingConfig.mode="none":t.tool_choice==="required"?g.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(g.functionCallingConfig.mode="any",g.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),A.toolConfig=g}return A}function Ni(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,u=t.tool_choice,c={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?c.messages.push({role:"user",content:f}):typeof f.text=="string"?c.messages.push({role:"user",content:f.text||null}):f.role==="user"?c.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&c.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(r)&&(c.tools=[],r.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{c.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),c}async function Bi(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();if(r?.debug({response:n},`${e} response:`),t.status>=400){let y=(n.error?.message||"").toLowerCase();if(["user input too long","input too long","prompt is too long","exceeds the token limit","request payload size exceeds","context_length_exceeded"].some(g=>y.includes(g))){let g={id:`ctxexceeded_${Date.now()}`,choices:[{finish_reason:"model_context_window_exceeded",index:0,message:{content:"",role:"assistant"}}],created:Math.floor(Date.now()/1e3),model:"",object:"chat.completion",usage:{completion_tokens:0,prompt_tokens:0,total_tokens:0}};return new Response(JSON.stringify(g),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(JSON.stringify(n),{status:t.status,statusText:t.statusText,headers:t.headers})}if(!n.candidates||n.candidates.length===0)return new Response(JSON.stringify(n),{status:t.status,statusText:t.statusText,headers:t.headers});let o="",s="",a=n.candidates[0]?.content?.parts||[],u=[];for(let p of a)p.text&&p.thought===!0?o+=Yo(p.text):u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature,o&&!s&&(s=`ccr_${+new Date}`);let c=u?.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||{})},thought_signature:p.thoughtSignature||p.thought_signature}))||[],f=u?.filter(p=>p.text)?.map(p=>Yo(p.text))?.join(`
156
+ `)||"",d={id:n.responseId,choices:[{finish_reason:n.candidates[0]?.finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:c.length>0?c: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(d),{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=0,o=-1,s=null,a=null,u=null,c=(g,_)=>{g.controller.enqueue(g.encoder.encode(`data: ${JSON.stringify(_)}
156
157
 
157
- `))},f=g=>({completion_tokens:g?.usageMetadata?.candidatesTokenCount||0,prompt_tokens:g?.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:g?.usageMetadata?.cachedContentTokenCount||0},total_tokens:g?.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:g?.usageMetadata?.thoughtsTokenCount||0}}),d=g=>g?.groundingMetadata?.groundingChunks?.map((C,b)=>{let m=g?.groundingMetadata?.groundingSupports?.filter(v=>v.groundingChunkIndices?.includes(b));return{type:"url_citation",url_citation:{url:C?.web?.uri||"",title:C?.web?.title||"",content:m?.[0]?.segment?.text||"",start_index:m?.[0]?.segment?.startIndex||0,end_index:m?.[0]?.segment?.endIndex||0}}})||[],p=(g,C,b)=>{let m=b?.mode||"direct";m==="direct"&&n++;let v={choices:[{delta:{role:"assistant",content:C},finish_reason:b?.finishReason??((m==="direct"||m==="finish")&&b?.candidate?.finishReason?.toLowerCase()||null),index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b?.chunk?.responseId||"",model:b?.chunk?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m==="direct"||m==="finish"){v.usage=f(b?.chunk);let k=d(b?.candidate);k.length>0&&(v.choices[0].delta.annotations=k)}l(g,v)},y=new Si({thinking:(g,C)=>{s&&l(s,{choices:[{delta:{role:"assistant",content:null,thinking:{content:g}},finish_reason:null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C?.responseId||"",model:C?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},signature:(g,C)=>{s&&l(s,{choices:[{delta:{role:"assistant",content:null,thinking:{signature:g}},finish_reason:null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C?.responseId||"",model:C?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},content:(g,C)=>{s&&p(s,g,C)}});return Ue(t,(g,C)=>{if(s=C,g.startsWith("data: ")){let b=g.slice(6).trim();if(b){r?.debug({chunkStr:b},`${e} chunk:`);try{let m=JSON.parse(b);if(!m.candidates||!m.candidates[0]){r?.debug({chunkStr:b},"Invalid chunk structure");return}let v=m.candidates[0];a=m,u=v;let k=v.content?.parts||[];k.filter(q=>q.text&&q.thought===!0).forEach(q=>{y.processThinking(Ho(q.text),m)});let S=k.find(q=>q.thoughtSignature)?.thoughtSignature;S&&y.processSignatureWithMeta(S,m,{beforeFlush:()=>{n++},flushMeta:{chunk:m,candidate:v,mode:"buffered"}});let T=k.filter(q=>q.functionCall).map(q=>({id:q.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:q.functionCall?.name,arguments:JSON.stringify(q.functionCall?.args||{})},thought_signature:q.thoughtSignature||q.thought_signature})),O=k.filter(q=>q.text&&q.thought!==!0).map(q=>Ho(q.text)).join(`
158
- `);!O&&y.needsContentPlaceholder&&y.emitContentPlaceholder("(no content)",{chunk:m,candidate:v});let N=!!O||T.length>0||!!v.finishReason;if(O&&m.modelVersion?.includes("3")&&y.shouldDeferContent(!!v.finishReason,T.length>0)){y.bufferContent(O);return}if(y.hasThinkingContent&&!y.signatureSent&&N){let q=y.hasBufferedContent;y.processSignatureWithMeta(`ccr_${+new Date}`,m,{beforeFlush:q?()=>{n++}:void 0,flushMeta:q?{chunk:m,candidate:v,mode:"buffered",finishReason:null}:void 0})}O&&y.processContent(O,m,v),T.length>0&&T.forEach(q=>{n++,o++;let z={choices:[{delta:{role:"assistant",tool_calls:[{...q,index:o}]},finish_reason:v.finishReason?.toLowerCase()||null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:m.responseId||"",model:m.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:f(m)},Y=d(v);Y.length>0&&(z.choices[0].delta.annotations=Y),l(C,z)}),v.finishReason&&(y.hasBufferedContent?y.finalize(m,v,{beforeFlush:()=>{y.signatureSent||n++}}):!O&&T.length===0&&(n++,p(C,"",{chunk:m,candidate:v,mode:"finish"})))}catch(m){r?.error(`Error parsing ${e} stream chunk`,b,m.message)}}}},{onComplete:g=>{s=g,(y.hasBufferedContent||y.hasThinkingContent&&!y.signatureSent)&&y.finalize(a||void 0,u||void 0,{beforeFlush:()=>{y.signatureSent||n++}})}})}}var Oi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r,n){let o=n?.req?.model||e.model||r.model||"";return{body:vi(e),config:{url:new URL(`./${o}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=Ri;async transformResponseOut(e){return xi(e,this.name,this.logger)}};async function bD(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Le(Va(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
158
+ `))},f=g=>({completion_tokens:g?.usageMetadata?.candidatesTokenCount||0,prompt_tokens:g?.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:g?.usageMetadata?.cachedContentTokenCount||0},total_tokens:g?.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:g?.usageMetadata?.thoughtsTokenCount||0}}),d=g=>g?.groundingMetadata?.groundingChunks?.map((_,b)=>{let m=g?.groundingMetadata?.groundingSupports?.filter(v=>v.groundingChunkIndices?.includes(b));return{type:"url_citation",url_citation:{url:_?.web?.uri||"",title:_?.web?.title||"",content:m?.[0]?.segment?.text||"",start_index:m?.[0]?.segment?.startIndex||0,end_index:m?.[0]?.segment?.endIndex||0}}})||[],p=(g,_,b)=>{let m=b?.mode||"direct";m==="direct"&&n++;let v={choices:[{delta:{role:"assistant",content:_},finish_reason:b?.finishReason??((m==="direct"||m==="finish")&&b?.candidate?.finishReason?.toLowerCase()||null),index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b?.chunk?.responseId||"",model:b?.chunk?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(m==="direct"||m==="finish"){v.usage=f(b?.chunk);let k=d(b?.candidate);k.length>0&&(v.choices[0].delta.annotations=k)}c(g,v)},y=new Ri({thinking:(g,_)=>{s&&c(s,{choices:[{delta:{role:"assistant",content:null,thinking:{content:g}},finish_reason:null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},signature:(g,_)=>{s&&c(s,{choices:[{delta:{role:"assistant",content:null,thinking:{signature:g}},finish_reason:null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},content:(g,_)=>{s&&p(s,g,_)}});return qe(t,(g,_)=>{if(s=_,g.startsWith("data: ")){let b=g.slice(6).trim();if(b){r?.debug({chunkStr:b},`${e} chunk:`);try{let m=JSON.parse(b);if(!m.candidates||!m.candidates[0]){r?.debug({chunkStr:b},"Invalid chunk structure");return}let v=m.candidates[0];a=m,u=v;let k=v.content?.parts||[];k.filter(G=>G.text&&G.thought===!0).forEach(G=>{y.processThinking(Yo(G.text),m)});let w=k.find(G=>G.thoughtSignature)?.thoughtSignature;w&&y.processSignatureWithMeta(w,m,{beforeFlush:()=>{n++},flushMeta:{chunk:m,candidate:v,mode:"buffered"}});let T=k.filter(G=>G.functionCall).map(G=>({id:G.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:G.functionCall?.name,arguments:JSON.stringify(G.functionCall?.args||{})},thought_signature:G.thoughtSignature||G.thought_signature})),O=k.filter(G=>G.text&&G.thought!==!0).map(G=>Yo(G.text)).join(`
159
+ `);!O&&y.needsContentPlaceholder&&y.emitContentPlaceholder("(no content)",{chunk:m,candidate:v});let N=!!O||T.length>0||!!v.finishReason;if(O&&m.modelVersion?.includes("3")&&y.shouldDeferContent(!!v.finishReason,T.length>0)){y.bufferContent(O);return}if(y.hasThinkingContent&&!y.signatureSent&&N){let G=y.hasBufferedContent;y.processSignatureWithMeta(`ccr_${+new Date}`,m,{beforeFlush:G?()=>{n++}:void 0,flushMeta:G?{chunk:m,candidate:v,mode:"buffered",finishReason:null}:void 0})}O&&y.processContent(O,m,v),T.length>0&&T.forEach(G=>{n++,o++;let $={choices:[{delta:{role:"assistant",tool_calls:[{...G,index:o}]},finish_reason:v.finishReason?.toLowerCase()||null,index:n,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:m.responseId||"",model:m.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:f(m)},X=d(v);X.length>0&&($.choices[0].delta.annotations=X),c(_,$)}),v.finishReason&&(y.hasBufferedContent?y.finalize(m,v,{beforeFlush:()=>{y.signatureSent||n++}}):!O&&T.length===0&&(n++,p(_,"",{chunk:m,candidate:v,mode:"finish"})))}catch(m){r?.error(`Error parsing ${e} stream chunk`,b,m.message)}}}},{onComplete:g=>{s=g,(y.hasBufferedContent||y.hasThinkingContent&&!y.signatureSent)&&y.finalize(a||void 0,u||void 0,{beforeFlush:()=>{y.signatureSent||n++}})}})}}var ji=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r,n){let o=n?.req?.model||e.model||r.model||"";return{body:Ii(e),config:{url:new URL(`./${o}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=Ni;async transformResponseOut(e){return Bi(e,this.name,this.logger)}};async function ev(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>$e(eu(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
159
160
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
160
161
  2. Run "gcloud auth application-default login"
161
- 3. Use Google Cloud environment with default service account`)}}var Ka=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 u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(n=l.project_id)}catch(a){this.logger?.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 bD(this.logger);return{body:vi(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model||r.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 Ri(e)}async transformResponseOut(e){return xi(e,this.name)}};function Ya(){return{content:"",isComplete:!1,hasContent:!1}}function Xa(t,e){t.content+=e,t.hasContent=!0}function Qa(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function Zr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function Eo(t){if(t.reasoning_content){let e=t.reasoning_content;return typeof e=="string"?e:typeof e?.text=="string"?e.text:null}if(t.reasoning){let e=t.reasoning;return typeof e=="string"?e:null}return null}function en(t){delete t.reasoning_content,delete t.reasoning}var Z_=require("node:crypto"),X_=360*60*1e3,CD=4096,ad="__ccrDeepseekReasoning",ud=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>X_){this.cache.delete(e);return}return this.cache.delete(e),this.cache.set(e,r),r.reasoning}}put(e,r){r&&(this.cache.delete(e),this.cache.set(e,{reasoning:r,createdAt:Date.now()}),this.prune())}prune(){for(let[e,r]of this.cache)Date.now()-r.createdAt>X_&&this.cache.delete(e);for(;this.cache.size>CD;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},Za=new ud;function cd(t){return Array.isArray(t)?t.map(cd):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=cd(t[r]),e),{}):t}function xn(t){return JSON.stringify(cd(t))}function eu(t){return(0,Z_.createHash)("sha256").update(t).digest("hex")}function e0(t){return typeof t=="string"?t:t==null?"":Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):xn(e)).join(""):xn(t)}function ld(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:xn(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function t0(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function r0(t){let e=ld(t);return eu(xn({...e,id:void 0}))}function n0(t){return eu(xn({content:e0(t.content),tool_calls:(t.tool_calls||[]).map(e=>ld(e))}))}function wD(t){let e={role:t.role,content:e0(t.content)};return t.name&&(e.name=t.name),t.tool_call_id&&(e.tool_call_id=t.tool_call_id),t.tool_calls?.length&&(e.tool_calls=t.tool_calls.map(r=>ld(r))),e}function Q_(t,e){let r=t.filter(n=>n.role!=="system").map(n=>wD(n));return eu(xn({namespace:e,messages:r}))}function kD(t){if(typeof t.reasoning_content=="string"&&t.reasoning_content.length>0)return t.reasoning_content;if(typeof t.thinking?.content=="string"&&t.thinking.content.length>0)return t.thinking.content}function o0(t,e){if(t.role!=="assistant")return 0;let r=kD(t);if(!r)return 0;let n=[`scope:${e}:signature:${n0(t)}`];return n.push(...t0(t).map(o=>`scope:${e}:tool_call:${o}`)),n.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${r0(o)}`)),n.forEach(o=>Za.put(o,r)),n.length}function SD(t,e){let r=Za.get(`scope:${e}:signature:${n0(t)}`);if(r)return r;for(let n of t0(t)){let o=Za.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=Za.get(`scope:${e}:tool_call_signature:${r0(n)}`);if(o)return o}}function ED(t,e){if(t.tool_calls?.length)return!0;for(let r=e.length-1;r>=0;r--){let n=e[r];if(n.role==="tool")return!0;if(n.role==="user"||n.role==="system")return!1}return!1}function AD(t,e){let r=String(t.model||"").toLowerCase(),n=String(e?.name||"").toLowerCase(),o=String(e?.baseUrl||"").toLowerCase(),s=r.includes("deepseek")||n.includes("deepseek")||o.includes("deepseek"),a=t.enable_thinking===!0||t.thinking?.type==="enabled"||t.reasoning?.enabled===!0||typeof t.reasoning?.effort=="string"||typeof t.reasoning?.max_tokens=="number";return s&&a}function TD(t,e){return eu(xn({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function tu(t,e,r){if(!AD(t,e))return r?.req&&delete r.req[ad],{restoredFromCache:0,restoredFromThinking:0};let n=TD(t,e),o=[],s=0,a=0;for(let u of t.messages){if(u.role==="assistant"){let l=Q_(o,n);if(ED(u,o)&&!(typeof u.reasoning_content=="string"&&u.reasoning_content.length>0?u.reasoning_content:void 0)){let p=typeof u.thinking?.content=="string"&&u.thinking.content.length>0?u.thinking.content:void 0;if(p)u.reasoning_content=p,a++;else{let y=SD(u,l);y&&(u.reasoning_content=y,s++)}}o0(u,l)}o.push(u)}return r?.req&&(r.req[ad]={enabled:!0,namespace:n,requestScope:Q_(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:a}}function s0(t){return t?.req?.[ad]}function ru(t){return s0(t)?.enabled===!0}function Ao(t,e){if(!t)return 0;let r=s0(e);return r?o0(t,r.requestScope):0}function nu(){return{content:"",reasoning:"",toolCalls:new Map}}function To(t,e){e&&(typeof e.reasoning_content=="string"&&(t.reasoning+=e.reasoning_content),typeof e.content=="string"&&(t.content+=e.content),Array.isArray(e.tool_calls)&&e.tool_calls.forEach((r,n)=>{let o=typeof r.index=="number"?r.index:n,s=t.toolCalls.get(o)||{id:"",type:"function",function:{name:"",arguments:""}};typeof r.id=="string"&&r.id.length>0&&(s.id=r.id),typeof r.type=="string"&&r.type.length>0&&(s.type=r.type);let a=r.function||{};typeof a.name=="string"&&a.name.length>0&&(s.function.name+=a.name),typeof a.arguments=="string"&&a.arguments.length>0&&(s.function.arguments+=a.arguments),t.toolCalls.set(o,s)}))}function ou(t){if(!t.reasoning)return null;let e=Array.from(t.toolCalls.entries()).sort(([r],[n])=>r-n).map(([,r])=>r).filter(r=>typeof r.id=="string"&&r.id.length>0&&typeof r.function?.name=="string"&&r.function.name.length>0);return!t.content&&e.length===0?null:{role:"assistant",content:t.content||null,tool_calls:e.length>0?e:void 0,reasoning_content:t.reasoning}}var su=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),tu(e,r,n),e}async transformResponseOut(e,r){let n=ru(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return n&&Ao({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),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=Ya(),s=n?nu():null;return Ue(e,(a,u)=>{if(!a.trim()){u.controller.enqueue(Ee(a,u.encoder));return}if(!a.startsWith("data:")||a.trim()==="data: [DONE]"){u.controller.enqueue(Ee(a,u.encoder));return}try{let l=a.slice(5).trim(),f=JSON.parse(l),d=f.choices?.[0]?.delta;if(!d){u.controller.enqueue(Ee(a,u.encoder));return}let p=Eo(d);if(p){s&&To(s,d),Xa(o,p);let y=Zr(f,{content:p});en(y.choices[0].delta),u.controller.enqueue(je(JSON.stringify(y),u.encoder));return}if(s&&To(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:y,signature:A}=Qa(o),g=Zr(f,{content:y,signature:A});en(g.choices[0].delta),g.choices[0].delta.content=null,u.controller.enqueue(je(JSON.stringify(g),u.encoder))}d.reasoning_content&&delete d.reasoning_content,f.choices?.[0]?.delta&&Object.keys(f.choices[0].delta).length>0&&(o.isComplete&&f.choices[0].index++,u.controller.enqueue(je(JSON.stringify(f),u.encoder)))}catch{u.controller.enqueue(Ee(a,u.encoder))}},{onComplete:()=>{s&&Ao(ou(s),r)}})}return e}};var iu=class{name="tooluse";async transformRequestIn(e,r,n){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=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.
162
+ 3. Use Google Cloud environment with default service account`)}}var tu=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 u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),c=JSON.parse(u);c&&c.project_id&&(n=c.project_id)}catch(a){this.logger?.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 ev(this.logger);return{body:Ii(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model||r.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 Ni(e)}async transformResponseOut(e){return Bi(e,this.name)}};function ru(){return{content:"",isComplete:!1,hasContent:!1}}function nu(t,e){t.content+=e,t.hasContent=!0}function ou(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function nn(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function Ro(t){if(t.reasoning_content){let e=t.reasoning_content;return typeof e=="string"?e:typeof e?.text=="string"?e.text:null}if(t.reasoning){let e=t.reasoning;return typeof e=="string"?e:null}return null}function on(t){delete t.reasoning_content,delete t.reasoning}var b0=require("node:crypto"),y0=360*60*1e3,tv=4096,_d="__ccrDeepseekReasoning",bd=class{cache=new Map;get(e){let r=this.cache.get(e);if(r){if(Date.now()-r.createdAt>y0){this.cache.delete(e);return}return this.cache.delete(e),this.cache.set(e,r),r.reasoning}}put(e,r){r&&(this.cache.delete(e),this.cache.set(e,{reasoning:r,createdAt:Date.now()}),this.prune())}prune(){for(let[e,r]of this.cache)Date.now()-r.createdAt>y0&&this.cache.delete(e);for(;this.cache.size>tv;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},su=new bd;function Cd(t){return Array.isArray(t)?t.map(Cd):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,r)=>(e[r]=Cd(t[r]),e),{}):t}function Nn(t){return JSON.stringify(Cd(t))}function iu(t){return(0,b0.createHash)("sha256").update(t).digest("hex")}function C0(t){return typeof t=="string"?t:t==null?"":Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):Nn(e)).join(""):Nn(t)}function wd(t){let e=t.function??{},r=typeof e.arguments=="string"?e.arguments:Nn(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:r}}}function w0(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function E0(t){let e=wd(t);return iu(Nn({...e,id:void 0}))}function k0(t){return iu(Nn({content:C0(t.content),tool_calls:(t.tool_calls||[]).map(e=>wd(e))}))}function rv(t){let e={role:t.role,content:C0(t.content)};return t.name&&(e.name=t.name),t.tool_call_id&&(e.tool_call_id=t.tool_call_id),t.tool_calls?.length&&(e.tool_calls=t.tool_calls.map(r=>wd(r))),e}function _0(t,e){let r=t.filter(n=>n.role!=="system").map(n=>rv(n));return iu(Nn({namespace:e,messages:r}))}function nv(t){if(typeof t.reasoning_content=="string"&&t.reasoning_content.length>0)return t.reasoning_content;if(typeof t.thinking?.content=="string"&&t.thinking.content.length>0)return t.thinking.content}function S0(t,e){if(t.role!=="assistant")return 0;let r=nv(t);if(!r)return 0;let n=[`scope:${e}:signature:${k0(t)}`];return n.push(...w0(t).map(o=>`scope:${e}:tool_call:${o}`)),n.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${E0(o)}`)),n.forEach(o=>su.put(o,r)),n.length}function ov(t,e){let r=su.get(`scope:${e}:signature:${k0(t)}`);if(r)return r;for(let n of w0(t)){let o=su.get(`scope:${e}:tool_call:${n}`);if(o)return o}for(let n of t.tool_calls||[]){let o=su.get(`scope:${e}:tool_call_signature:${E0(n)}`);if(o)return o}}function sv(t,e){if(t.tool_calls?.length)return!0;for(let r=e.length-1;r>=0;r--){let n=e[r];if(n.role==="tool")return!0;if(n.role==="user"||n.role==="system")return!1}return!1}function iv(t,e){let r=String(t.model||"").toLowerCase(),n=String(e?.name||"").toLowerCase(),o=String(e?.baseUrl||"").toLowerCase(),s=r.includes("deepseek")||n.includes("deepseek")||o.includes("deepseek"),a=t.enable_thinking===!0||t.thinking?.type==="enabled"||t.reasoning?.enabled===!0||typeof t.reasoning?.effort=="string"||typeof t.reasoning?.max_tokens=="number";return s&&a}function av(t,e){return iu(Nn({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function au(t,e,r){if(!iv(t,e))return r?.req&&delete r.req[_d],{restoredFromCache:0,restoredFromThinking:0};let n=av(t,e),o=[],s=0,a=0;for(let u of t.messages){if(u.role==="assistant"){let c=_0(o,n);if(sv(u,o)&&!(typeof u.reasoning_content=="string"&&u.reasoning_content.length>0?u.reasoning_content:void 0)){let p=typeof u.thinking?.content=="string"&&u.thinking.content.length>0?u.thinking.content:void 0;if(p)u.reasoning_content=p,a++;else{let y=ov(u,c);y&&(u.reasoning_content=y,s++)}}S0(u,c)}o.push(u)}return r?.req&&(r.req[_d]={enabled:!0,namespace:n,requestScope:_0(t.messages,n)}),{restoredFromCache:s,restoredFromThinking:a}}function A0(t){return t?.req?.[_d]}function uu(t){return A0(t)?.enabled===!0}function xo(t,e){if(!t)return 0;let r=A0(e);return r?S0(t,r.requestScope):0}function cu(){return{content:"",reasoning:"",toolCalls:new Map}}function Oo(t,e){e&&(typeof e.reasoning_content=="string"&&(t.reasoning+=e.reasoning_content),typeof e.content=="string"&&(t.content+=e.content),Array.isArray(e.tool_calls)&&e.tool_calls.forEach((r,n)=>{let o=typeof r.index=="number"?r.index:n,s=t.toolCalls.get(o)||{id:"",type:"function",function:{name:"",arguments:""}};typeof r.id=="string"&&r.id.length>0&&(s.id=r.id),typeof r.type=="string"&&r.type.length>0&&(s.type=r.type);let a=r.function||{};typeof a.name=="string"&&a.name.length>0&&(s.function.name+=a.name),typeof a.arguments=="string"&&a.arguments.length>0&&(s.function.arguments+=a.arguments),t.toolCalls.set(o,s)}))}function lu(t){if(!t.reasoning)return null;let e=Array.from(t.toolCalls.entries()).sort(([r],[n])=>r-n).map(([,r])=>r).filter(r=>typeof r.id=="string"&&r.id.length>0&&typeof r.function?.name=="string"&&r.function.name.length>0);return!t.content&&e.length===0?null:{role:"assistant",content:t.content||null,tool_calls:e.length>0?e:void 0,reasoning_content:t.reasoning}}var fu=class{name="deepseek";async transformRequestIn(e,r,n){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),au(e,r,n),e}async transformResponseOut(e,r){let n=uu(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return n&&xo({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),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=ru(),s=n?cu():null;return qe(e,(a,u)=>{if(!a.trim()){u.controller.enqueue(Te(a,u.encoder));return}if(!a.startsWith("data:")||a.trim()==="data: [DONE]"){u.controller.enqueue(Te(a,u.encoder));return}try{let c=a.slice(5).trim(),f=JSON.parse(c),d=f.choices?.[0]?.delta;if(!d){u.controller.enqueue(Te(a,u.encoder));return}let p=Ro(d);if(p){s&&Oo(s,d),nu(o,p);let y=nn(f,{content:p});on(y.choices[0].delta),u.controller.enqueue(Me(JSON.stringify(y),u.encoder));return}if(s&&Oo(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:y,signature:A}=ou(o),g=nn(f,{content:y,signature:A});on(g.choices[0].delta),g.choices[0].delta.content=null,u.controller.enqueue(Me(JSON.stringify(g),u.encoder))}d.reasoning_content&&delete d.reasoning_content,f.choices?.[0]?.delta&&Object.keys(f.choices[0].delta).length>0&&(o.isComplete&&f.choices[0].index++,u.controller.enqueue(Me(JSON.stringify(f),u.encoder)))}catch{u.controller.enqueue(Te(a,u.encoder))}},{onComplete:()=>{s&&xo(lu(s),r)}})}return e}};var du=class{name="tooluse";async transformRequestIn(e,r,n){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=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.
162
163
  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.
163
164
  Examples:
164
165
  1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
165
- 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="";return Ue(e,(u,l)=>{let{controller:f,encoder:d}=l;if(u.startsWith("data: ")&&u.trim()!=="data: [DONE]")try{let p=JSON.parse(u.slice(6));if(p.choices[0]?.delta?.tool_calls?.length){let y=p.choices[0].delta.tool_calls[0];if(y.function?.name==="ExitTool"){o=y.index;return}else if(o>-1&&y.index===o&&y.function.arguments){s+=y.function.arguments;try{let A=JSON.parse(s);p.choices=[{delta:{role:"assistant",content:A.response||""}}];let g=`data: ${JSON.stringify(p)}
166
+ 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="";return qe(e,(u,c)=>{let{controller:f,encoder:d}=c;if(u.startsWith("data: ")&&u.trim()!=="data: [DONE]")try{let p=JSON.parse(u.slice(6));if(p.choices[0]?.delta?.tool_calls?.length){let y=p.choices[0].delta.tool_calls[0];if(y.function?.name==="ExitTool"){o=y.index;return}else if(o>-1&&y.index===o&&y.function.arguments){s+=y.function.arguments;try{let A=JSON.parse(s);p.choices=[{delta:{role:"assistant",content:A.response||""}}];let g=`data: ${JSON.stringify(p)}
166
167
 
167
168
  `;f.enqueue(d.encode(g))}catch{}return}}if(p.choices?.[0]?.delta&&Object.keys(p.choices[0].delta).length>0){let y=`data: ${JSON.stringify(p)}
168
169
 
169
170
  `;f.enqueue(d.encode(y))}}catch{f.enqueue(d.encode(u+`
170
171
  `))}else f.enqueue(d.encode(u+`
171
- `))})}return e}};function au(t){let e={...t};return"cache_control"in e&&delete e.cache_control,e}function uu(t){return t.map(e=>{let r={...e};return Array.isArray(r.content)&&(r.content=r.content.map(n=>{if(n.cache_control){let{cache_control:o,...s}=n;return s}return n})),r.cache_control&&delete r.cache_control,r})}var cu=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=uu(e.messages),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=`${n.image_url.url}`),delete n.media_type)})})),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=Ya(),n=!1,o=!1;return Ue(e,(s,a)=>{if(!s.trim()){a.controller.enqueue(Ee(s,a.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){a.controller.enqueue(Ee(s,a.encoder));return}try{let u=s.slice(6),l=JSON.parse(u);l.usage&&(this.logger?.debug({usage:l.usage,hasToolCall:o},"usage"),l.choices[0].finish_reason=o?"tool_calls":"stop"),l.choices?.[0]?.finish_reason==="error"&&a.controller.enqueue(je(JSON.stringify({error:l.choices?.[0]?.error}),a.encoder)),l.choices?.[0]?.delta?.content&&!n&&(n=!0);let f=l.choices?.[0]?.delta,d=f?Eo(f):null;if(d){Xa(r,d);let p=Zr(l,{content:d});en(p.choices[0].delta),a.controller.enqueue(je(JSON.stringify(p),a.encoder));return}if(f?.content&&r.hasContent&&!r.isComplete){let{content:p,signature:y}=Qa(r),A=Zr(l,{content:p,signature:y});en(A.choices[0].delta),A.choices[0].delta.content=null,a.controller.enqueue(je(JSON.stringify(A),a.encoder))}f?.reasoning&&delete f.reasoning,f?.tool_calls?.length&&!Number.isNaN(parseInt(f.tool_calls[0].id,10))&&f.tool_calls.forEach(p=>{p.id=`call_${Xt()}`}),f?.tool_calls?.length&&!o&&(o=!0),f?.tool_calls?.length&&n&&(typeof l.choices[0].index=="number"?l.choices[0].index+=1:l.choices[0].index=1),a.controller.enqueue(je(JSON.stringify(l),a.encoder))}catch{a.controller.enqueue(Ee(s,a.encoder))}})}return e}};var lu=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 fu=class{name="groq";async transformRequestIn(e){return e.messages=uu(e.messages),Array.isArray(e.tools)&&e.tools.forEach(r=>{r?.function?.parameters&&(r.function.parameters=wi(r.function.parameters))}),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=!1;return Ue(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Ee(n,o.encoder));return}if(!n.startsWith("data:")||n.trim()==="data: [DONE]"){o.controller.enqueue(Ee(n,o.encoder));return}try{let s=n.slice(5).trim(),a=JSON.parse(s);if(a.error)throw new Error(JSON.stringify(a));a.choices?.[0]?.delta?.content&&!r&&(r=!0),a.choices?.[0]?.delta?.tool_calls?.length&&a.choices[0].delta.tool_calls.forEach(u=>{u.id=`call_${Xt()}`}),a.choices?.[0]?.delta?.tool_calls?.length&&r&&(typeof a.choices[0].index=="number"?a.choices[0].index+=1:a.choices[0].index=1),o.controller.enqueue(je(JSON.stringify(a),o.encoder))}catch{o.controller.enqueue(Ee(n,o.encoder))}})}return e}};var du=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 h0=Le(Bc());var vr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function i0(t){return/^[0-9A-Fa-f]$/.test(t)}function rn(t){return t>="0"&&t<="9"}function a0(t){return t>=" "}function ks(t){return`,:[]/{}()
172
- +`.includes(t)}function fd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function dd(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):\/\/$/,pd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function gd(t){return`,[]/{}
173
- +`.includes(t)}function md(t){return Ss(t)||DD.test(t)}var DD=/^[[{\w-]$/;function u0(t){return t===`
174
- `||t==="\r"||t===" "||t==="\b"||t==="\f"}function tn(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function c0(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function l0(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function Ss(t){return yd(t)||hu(t)}function yd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function _d(t){return t==='"'}function hu(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function bd(t){return t==="'"}function Do(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 Nt(t,e){let r=t.length;if(!tn(t,r-1))return t+e;for(;tn(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function f0(t,e,r){return t.substring(0,e)+t.substring(e+r)}function d0(t){return/[,\n][ \t\r]*$/.test(t)}var vD={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},RD={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
175
- `,r:"\r",t:" "};function Cd(t){let e=0,r="";f(["```","[```","{```"]),s()||he(),f(["```","```]","```}"]);let o=p(",");for(o&&a(),md(t[e])&&d0(r)?(o||(r=Nt(r,",")),m()):o&&(r=Do(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;ne();function s(){a();let J=C()||b()||v()||S()||T()||N(!1)||q();return a(),J}function a(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,te=u(J);do te=l(),te&&(te=u(J));while(te);return e>K}function u(J){let K=J?tn:c0,te="";for(;;)if(K(t,e))te+=t[e],e++;else if(l0(t,e))te+=" ",e++;else break;return te.length>0?(r+=te,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!xD(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
176
- `;)e++;return!0}return!1}function f(J){if(d(J)){if(fd(t[e]))for(;e<t.length&&dd(t[e]);)e++;return a(),!0}return!1}function d(J){u(!0);for(let K of J){let te=e+K.length;if(t.slice(e,te)===K)return e=te,!0}return!1}function p(J){return t[e]===J?(r+=t[e],e++,!0):!1}function y(J){return t[e]===J?(e++,!0):!1}function A(){return y("\\")}function g(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),y(","),!0):!1}function C(){if(t[e]==="{"){r+="{",e++,a(),y(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="}";){let K;if(J?(K=!0,J=!1):(K=p(","),K||(r=Nt(r,",")),a()),g(),!(v()||N(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=Do(r,","):Ce();break}a();let Ae=p(":"),Xe=e>=t.length;Ae||(md(t[e])||Xe?r=Nt(r,":"):ge()),s()||(Ae||Xe?r+="null":ge())}return t[e]==="}"?(r+="}",e++):r=Nt(r,"}"),!0}return!1}function b(){if(t[e]==="["){r+="[",e++,a(),y(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="]";)if(J?J=!1:p(",")||(r=Nt(r,",")),g(),!s()){r=Do(r,",");break}return t[e]==="]"?(r+="]",e++):r=Nt(r,"]"),!0}return!1}function m(){let J=!0,K=!0;for(;K;)J?J=!1:p(",")||(r=Nt(r,",")),K=s();K||(r=Do(r,",")),r=`[
172
+ `))})}return e}};function hu(t){let e={...t};return"cache_control"in e&&delete e.cache_control,e}function pu(t){return t.map(e=>{let r={...e};return Array.isArray(r.content)&&(r.content=r.content.map(n=>{if(n.cache_control){let{cache_control:o,...s}=n;return s}return n})),r.cache_control&&delete r.cache_control,r})}var gu=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=pu(e.messages),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=`${n.image_url.url}`),delete n.media_type)})})),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=ru(),n=!1,o=!1;return qe(e,(s,a)=>{if(!s.trim()){a.controller.enqueue(Te(s,a.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){a.controller.enqueue(Te(s,a.encoder));return}try{let u=s.slice(6),c=JSON.parse(u);c.usage&&(this.logger?.debug({usage:c.usage,hasToolCall:o},"usage"),c.choices[0].finish_reason=o?"tool_calls":"stop"),c.choices?.[0]?.finish_reason==="error"&&a.controller.enqueue(Me(JSON.stringify({error:c.choices?.[0]?.error}),a.encoder)),c.choices?.[0]?.delta?.content&&!n&&(n=!0);let f=c.choices?.[0]?.delta,d=f?Ro(f):null;if(d){nu(r,d);let p=nn(c,{content:d});on(p.choices[0].delta),a.controller.enqueue(Me(JSON.stringify(p),a.encoder));return}if(f?.content&&r.hasContent&&!r.isComplete){let{content:p,signature:y}=ou(r),A=nn(c,{content:p,signature:y});on(A.choices[0].delta),A.choices[0].delta.content=null,a.controller.enqueue(Me(JSON.stringify(A),a.encoder))}f?.reasoning&&delete f.reasoning,f?.tool_calls?.length&&!Number.isNaN(parseInt(f.tool_calls[0].id,10))&&f.tool_calls.forEach(p=>{p.id=`call_${Zt()}`}),f?.tool_calls?.length&&!o&&(o=!0),f?.tool_calls?.length&&n&&(typeof c.choices[0].index=="number"?c.choices[0].index+=1:c.choices[0].index=1),a.controller.enqueue(Me(JSON.stringify(c),a.encoder))}catch{a.controller.enqueue(Te(s,a.encoder))}})}return e}};var mu=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 yu=class{name="groq";async transformRequestIn(e){return e.messages=pu(e.messages),Array.isArray(e.tools)&&e.tools.forEach(r=>{r?.function?.parameters&&(r.function.parameters=Di(r.function.parameters))}),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=!1;return qe(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Te(n,o.encoder));return}if(!n.startsWith("data:")||n.trim()==="data: [DONE]"){o.controller.enqueue(Te(n,o.encoder));return}try{let s=n.slice(5).trim(),a=JSON.parse(s);if(a.error)throw new Error(JSON.stringify(a));a.choices?.[0]?.delta?.content&&!r&&(r=!0),a.choices?.[0]?.delta?.tool_calls?.length&&a.choices[0].delta.tool_calls.forEach(u=>{u.id=`call_${Zt()}`}),a.choices?.[0]?.delta?.tool_calls?.length&&r&&(typeof a.choices[0].index=="number"?a.choices[0].index+=1:a.choices[0].index=1),o.controller.enqueue(Me(JSON.stringify(a),o.encoder))}catch{o.controller.enqueue(Te(n,o.encoder))}})}return e}};var _u=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 P0=$e(zc());var Or=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function T0(t){return/^[0-9A-Fa-f]$/.test(t)}function an(t){return t>="0"&&t<="9"}function D0(t){return t>=" "}function vs(t){return`,:[]/{}()
173
+ +`.includes(t)}function Ed(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function kd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Sd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Ad=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Td(t){return`,[]/{}
174
+ +`.includes(t)}function Dd(t){return Rs(t)||uv.test(t)}var uv=/^[[{\w-]$/;function v0(t){return t===`
175
+ `||t==="\r"||t===" "||t==="\b"||t==="\f"}function sn(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function R0(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function x0(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function Rs(t){return vd(t)||bu(t)}function vd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Rd(t){return t==='"'}function bu(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function xd(t){return t==="'"}function Fo(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 jt(t,e){let r=t.length;if(!sn(t,r-1))return t+e;for(;sn(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function O0(t,e,r){return t.substring(0,e)+t.substring(e+r)}function F0(t){return/[,\n][ \t\r]*$/.test(t)}var cv={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},lv={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
176
+ `,r:"\r",t:" "};function Od(t){let e=0,r="";f(["```","[```","{```"]),s()||me(),f(["```","```]","```}"]);let o=p(",");for(o&&a(),Dd(t[e])&&F0(r)?(o||(r=jt(r,",")),m()):o&&(r=Fo(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;_e();function s(){a();let V=_()||b()||v()||w()||T()||N(!1)||G();return a(),V}function a(){let V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Y=e,Z=u(V);do Z=c(),Z&&(Z=u(V));while(Z);return e>Y}function u(V){let Y=V?sn:R0,Z="";for(;;)if(Y(t,e))Z+=t[e],e++;else if(x0(t,e))Z+=" ",e++;else break;return Z.length>0?(r+=Z,!0):!1}function c(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!fv(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
177
+ `;)e++;return!0}return!1}function f(V){if(d(V)){if(Ed(t[e]))for(;e<t.length&&kd(t[e]);)e++;return a(),!0}return!1}function d(V){u(!0);for(let Y of V){let Z=e+Y.length;if(t.slice(e,Z)===Y)return e=Z,!0}return!1}function p(V){return t[e]===V?(r+=t[e],e++,!0):!1}function y(V){return t[e]===V?(e++,!0):!1}function A(){return y("\\")}function g(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),y(","),!0):!1}function _(){if(t[e]==="{"){r+="{",e++,a(),y(",")&&a();let V=!0;for(;e<t.length&&t[e]!=="}";){let Y;if(V?(Y=!0,V=!1):(Y=p(","),Y||(r=jt(r,",")),a()),g(),!(v()||N(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=Fo(r,","):le();break}a();let Se=p(":"),Ue=e>=t.length;Se||(Dd(t[e])||Ue?r=jt(r,":"):pe()),s()||(Se||Ue?r+="null":pe())}return t[e]==="}"?(r+="}",e++):r=jt(r,"}"),!0}return!1}function b(){if(t[e]==="["){r+="[",e++,a(),y(",")&&a();let V=!0;for(;e<t.length&&t[e]!=="]";)if(V?V=!1:p(",")||(r=jt(r,",")),g(),!s()){r=Fo(r,",");break}return t[e]==="]"?(r+="]",e++):r=jt(r,"]"),!0}return!1}function m(){let V=!0,Y=!0;for(;Y;)V?V=!1:p(",")||(r=jt(r,",")),Y=s();Y||(r=Fo(r,",")),r=`[
177
178
  ${r}
178
- ]`}function v(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,te=t[e]==="\\";if(te&&(e++,te=!0),Ss(t[e])){let Ae=_d(t[e])?_d:bd(t[e])?bd:hu(t[e])?hu:yd,Xe=e,G=r.length,le='"';for(e++;;){if(e>=t.length){let pe=z(e-1);return!J&&ks(t.charAt(pe))?(e=Xe,r=r.substring(0,G),v(!0)):(le=Nt(le,'"'),r+=le,!0)}if(e===K)return le=Nt(le,'"'),r+=le,!0;if(Ae(t[e])){let pe=e,ft=le.length;if(le+='"',e++,r+=le,a(!1),J||e>=t.length||ks(t[e])||Ss(t[e])||rn(t[e]))return k(),!0;let Re=z(pe-1),Ne=t.charAt(Re);if(Ne===",")return e=Xe,r=r.substring(0,G),v(!1,Re);if(ks(Ne))return e=Xe,r=r.substring(0,G),v(!0);r=r.substring(0,G),e=pe+1,le=`${le.substring(0,ft)}\\${le.substring(ft)}`}else if(J&&gd(t[e])){if(t[e-1]===":"&&hd.test(t.substring(Xe+1,e+2)))for(;e<t.length&&pd.test(t[e]);)le+=t[e],e++;return le=Nt(le,'"'),r+=le,k(),!0}else if(t[e]==="\\"){let pe=t.charAt(e+1);if(RD[pe]!==void 0)le+=t.slice(e,e+2),e+=2;else if(pe==="u"){let Re=2;for(;Re<6&&i0(t[e+Re]);)Re++;Re===6?(le+=t.slice(e,e+6),e+=6):e+Re>=t.length?e=t.length:Z()}else le+=pe,e+=2}else{let pe=t.charAt(e);pe==='"'&&t[e-1]!=="\\"?(le+=`\\${pe}`,e++):u0(pe)?(le+=vD[pe],e++):(a0(pe)||ue(pe),le+=pe,e++)}te&&A()}}return!1}function k(){let J=!1;for(a();t[e]==="+";){J=!0,e++,a(),r=Do(r,'"',!0);let K=r.length;v()?r=f0(r,K,1):r=Nt(r,'"')}return J}function S(){let J=e;if(t[e]==="-"){if(e++,Y())return X(J),!0;if(!rn(t[e]))return e=J,!1}for(;rn(t[e]);)e++;if(t[e]==="."){if(e++,Y())return X(J),!0;if(!rn(t[e]))return e=J,!1;for(;rn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return X(J),!0;if(!rn(t[e]))return e=J,!1;for(;rn(t[e]);)e++}if(!Y())return e=J,!1;if(e>J){let K=t.slice(J,e),te=/^0\d/.test(K);return r+=te?`"${K}"`:K,!0}return!1}function T(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(J,K){return t.slice(e,e+J.length)===J?(r+=K,e+=J.length,!0):!1}function N(J){let K=e;if(fd(t[e])){for(;e<t.length&&dd(t[e]);)e++;let te=e;for(;tn(t,te);)te++;if(t[te]==="(")return e=te+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!gd(t[e])&&!Ss(t[e])&&(!J||t[e]!==":");)e++;if(t[e-1]===":"&&hd.test(t.substring(K,e+2)))for(;e<t.length&&pd.test(t[e]);)e++;if(e>K){for(;tn(t,e-1)&&e>0;)e--;let te=t.slice(K,e);return r+=te==="undefined"?"null":JSON.stringify(te),t[e]==='"'&&e++,!0}}function q(){if(t[e]==="/"){let J=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(J,e)}"`,!0}}function z(J){let K=J;for(;K>0&&tn(t,K);)K--;return K}function Y(){return e>=t.length||ks(t[e])||tn(t,e)}function X(J){r+=`${t.slice(J,e)}0`}function ue(J){throw new vr(`Invalid character ${JSON.stringify(J)}`,e)}function ne(){throw new vr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function he(){throw new vr("Unexpected end of json string",t.length)}function Ce(){throw new vr("Object key expected",e)}function ge(){throw new vr("Colon expected",e)}function Z(){let J=t.slice(e,e+6);throw new vr(`Invalid unicode character "${J}"`,e)}}function xD(t,e){return t[e]==="*"&&t[e+1]==="/"}function wd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=h0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=Cd(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 pu=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=wd(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="",u=!1,l=!1,f="",d=new ReadableStream({async start(p){let y=e.body.getReader(),A=(b,m,v)=>{let k=b.split(`
179
- `);for(let S of k)S.trim()&&m.enqueue(v.encode(S+`
180
- `))},g=(b,m,v)=>{let k="";try{k=wd(o.arguments||"",this.logger)}catch(N){this.logger?.error(`${N.message} ${N.stack} Tool call argument parsing failed: ${JSON.stringify(o)}`),k=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:k},id:o.id,index:o.index,type:"function"}]},T={...b,choices:[{...b.choices[0],delta:S}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let O=`data: ${JSON.stringify(T)}
179
+ ]`}function v(){let V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,Z=t[e]==="\\";if(Z&&(e++,Z=!0),Rs(t[e])){let Se=Rd(t[e])?Rd:xd(t[e])?xd:bu(t[e])?bu:vd,Ue=e,W=r.length,ue='"';for(e++;;){if(e>=t.length){let re=$(e-1);return!V&&vs(t.charAt(re))?(e=Ue,r=r.substring(0,W),v(!0)):(ue=jt(ue,'"'),r+=ue,!0)}if(e===Y)return ue=jt(ue,'"'),r+=ue,!0;if(Se(t[e])){let re=e,ke=ue.length;if(ue+='"',e++,r+=ue,a(!1),V||e>=t.length||vs(t[e])||Rs(t[e])||an(t[e]))return k(),!0;let xe=$(re-1),Be=t.charAt(xe);if(Be===",")return e=Ue,r=r.substring(0,W),v(!1,xe);if(vs(Be))return e=Ue,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=re+1,ue=`${ue.substring(0,ke)}\\${ue.substring(ke)}`}else if(V&&Td(t[e])){if(t[e-1]===":"&&Sd.test(t.substring(Ue+1,e+2)))for(;e<t.length&&Ad.test(t[e]);)ue+=t[e],e++;return ue=jt(ue,'"'),r+=ue,k(),!0}else if(t[e]==="\\"){let re=t.charAt(e+1);if(lv[re]!==void 0)ue+=t.slice(e,e+2),e+=2;else if(re==="u"){let xe=2;for(;xe<6&&T0(t[e+xe]);)xe++;xe===6?(ue+=t.slice(e,e+6),e+=6):e+xe>=t.length?e=t.length:ie()}else ue+=re,e+=2}else{let re=t.charAt(e);re==='"'&&t[e-1]!=="\\"?(ue+=`\\${re}`,e++):v0(re)?(ue+=cv[re],e++):(D0(re)||se(re),ue+=re,e++)}Z&&A()}}return!1}function k(){let V=!1;for(a();t[e]==="+";){V=!0,e++,a(),r=Fo(r,'"',!0);let Y=r.length;v()?r=O0(r,Y,1):r=jt(r,'"')}return V}function w(){let V=e;if(t[e]==="-"){if(e++,X())return K(V),!0;if(!an(t[e]))return e=V,!1}for(;an(t[e]);)e++;if(t[e]==="."){if(e++,X())return K(V),!0;if(!an(t[e]))return e=V,!1;for(;an(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,X())return K(V),!0;if(!an(t[e]))return e=V,!1;for(;an(t[e]);)e++}if(!X())return e=V,!1;if(e>V){let Y=t.slice(V,e),Z=/^0\d/.test(Y);return r+=Z?`"${Y}"`:Y,!0}return!1}function T(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(V,Y){return t.slice(e,e+V.length)===V?(r+=Y,e+=V.length,!0):!1}function N(V){let Y=e;if(Ed(t[e])){for(;e<t.length&&kd(t[e]);)e++;let Z=e;for(;sn(t,Z);)Z++;if(t[Z]==="(")return e=Z+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Td(t[e])&&!Rs(t[e])&&(!V||t[e]!==":");)e++;if(t[e-1]===":"&&Sd.test(t.substring(Y,e+2)))for(;e<t.length&&Ad.test(t[e]);)e++;if(e>Y){for(;sn(t,e-1)&&e>0;)e--;let Z=t.slice(Y,e);return r+=Z==="undefined"?"null":JSON.stringify(Z),t[e]==='"'&&e++,!0}}function G(){if(t[e]==="/"){let V=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(V,e)}"`,!0}}function $(V){let Y=V;for(;Y>0&&sn(t,Y);)Y--;return Y}function X(){return e>=t.length||vs(t[e])||sn(t,e)}function K(V){r+=`${t.slice(V,e)}0`}function se(V){throw new Or(`Invalid character ${JSON.stringify(V)}`,e)}function _e(){throw new Or(`Unexpected character ${JSON.stringify(t[e])}`,e)}function me(){throw new Or("Unexpected end of json string",t.length)}function le(){throw new Or("Object key expected",e)}function pe(){throw new Or("Colon expected",e)}function ie(){let V=t.slice(e,e+6);throw new Or(`Invalid unicode character "${V}"`,e)}}function fv(t,e){return t[e]==="*"&&t[e+1]==="/"}function Fd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=P0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=Od(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 Cu=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=Fd(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="",u=!1,c=!1,f="",d=new ReadableStream({async start(p){let y=e.body.getReader(),A=(b,m,v)=>{let k=b.split(`
180
+ `);for(let w of k)w.trim()&&m.enqueue(v.encode(w+`
181
+ `))},g=(b,m,v)=>{let k="";try{k=Fd(o.arguments||"",this.logger)}catch(N){this.logger?.error(`${N.message} ${N.stack} Tool call argument parsing failed: ${JSON.stringify(o)}`),k=o.arguments||""}let w={role:"assistant",tool_calls:[{function:{name:o.name,arguments:k},id:o.id,index:o.index,type:"function"}]},T={...b,choices:[{...b.choices[0],delta:w}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let O=`data: ${JSON.stringify(T)}
181
182
 
182
- `;m.enqueue(v.encode(O))},C=(b,m)=>{let{controller:v,encoder:k}=m;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let S=b.slice(6);try{let T=JSON.parse(S);if(T.choices?.[0]?.delta?.tool_calls?.length){let N=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:N.index,name:N.function?.name||"",id:N.id||"",arguments:N.function?.arguments||""},N.function?.arguments&&(N.function.arguments="");let q=`data: ${JSON.stringify(T)}
183
+ `;m.enqueue(v.encode(O))},_=(b,m)=>{let{controller:v,encoder:k}=m;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let w=b.slice(6);try{let T=JSON.parse(w);if(T.choices?.[0]?.delta?.tool_calls?.length){let N=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:N.index,name:N.function?.name||"",id:N.id||"",arguments:N.function?.arguments||""},N.function?.arguments&&(N.function.arguments="");let G=`data: ${JSON.stringify(T)}
183
184
 
184
- `;v.enqueue(k.encode(q));return}else if(o.index===N.index){N.function?.arguments&&(o.arguments+=N.function.arguments);return}else{g(T,v,k),o={index:N.index,name:N.function?.name||"",id:N.id||"",arguments:N.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){g(T,v,k),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 O=`data: ${JSON.stringify(T)}
185
+ `;v.enqueue(k.encode(G));return}else if(o.index===N.index){N.function?.arguments&&(o.arguments+=N.function.arguments);return}else{g(T,v,k),o={index:N.index,name:N.function?.name||"",id:N.id||"",arguments:N.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){g(T,v,k),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 O=`data: ${JSON.stringify(T)}
185
186
 
186
187
  `;v.enqueue(k.encode(O))}catch{v.enqueue(k.encode(b+`
187
188
  `))}}else v.enqueue(k.encode(b+`
188
- `))};try{for(;;){let{done:b,value:m}=await y.read();if(b){f.trim()&&A(f,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(S){this.logger?.warn("Failed to decode chunk",S);continue}if(v.length===0)continue;if(f+=v,f.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let S=f.split(`
189
- `);f=S.pop()||"";for(let T of S)if(T.trim())try{C(T,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>u,setReasoningComplete:O=>u=O})}catch(O){this.logger?.error("Error processing line:",T,O),p.enqueue(n.encode(T+`
189
+ `))};try{for(;;){let{done:b,value:m}=await y.read();if(b){f.trim()&&A(f,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(w){this.logger?.warn("Failed to decode chunk",w);continue}if(v.length===0)continue;if(f+=v,f.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let w=f.split(`
190
+ `);f=w.pop()||"";for(let T of w)if(T.trim())try{_(T,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>u,setReasoningComplete:O=>u=O})}catch(O){this.logger?.error("Error processing line:",T,O),p.enqueue(n.encode(T+`
190
191
  `))}continue}let k=f.split(`
191
- `);f=k.pop()||"";for(let S of k)if(S.trim())try{C(S,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>u,setReasoningComplete:T=>u=T})}catch(T){this.logger?.error("Error processing line:",S,T),p.enqueue(n.encode(S+`
192
- `))}}}catch(b){this.logger?.error("Stream error:",b),p.error(b)}finally{try{y.releaseLock()}catch(b){this.logger?.error("Error releasing reader lock:",b)}p.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 gu=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e,r,n){return this.enable?(e.reasoning?(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0):e.model&&String(e.model).startsWith("deepseek")&&(e.enable_thinking=!0),tu(e,r,n),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e,r){if(!this.enable)return e;let n=ru(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return o.choices[0]?.message.reasoning_content&&(o.thinking={content:o.choices[0]?.message.reasoning_content}),n&&Ao({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),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=new TextEncoder,s="",a=!1,u=n?nu():null;return Ue(e,(f,d)=>{let{controller:p,encoder:y}=d;if(f.startsWith("data: ")&&f.trim()!=="data: [DONE]")try{let A=JSON.parse(f.slice(6)),g=A.choices?.[0]?.delta;if(!g){p.enqueue(y.encode(f+`
193
- `));return}if(g.reasoning_content){s+=typeof g.reasoning_content=="string"?g.reasoning_content:JSON.stringify(g.reasoning_content),u&&To(u,g);let C={...A,choices:[{...A.choices[0],delta:{...g,thinking:{content:g.reasoning_content}}}]};delete C.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(C)}
192
+ `);f=k.pop()||"";for(let w of k)if(w.trim())try{_(w,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>u,setReasoningComplete:T=>u=T})}catch(T){this.logger?.error("Error processing line:",w,T),p.enqueue(n.encode(w+`
193
+ `))}}}catch(b){this.logger?.error("Stream error:",b),p.error(b)}finally{try{y.releaseLock()}catch(b){this.logger?.error("Error releasing reader lock:",b)}p.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 wu=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e,r,n){return this.enable?(e.reasoning?(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0):e.model&&String(e.model).startsWith("deepseek")&&(e.enable_thinking=!0),au(e,r,n),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e,r){if(!this.enable)return e;let n=uu(r);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return o.choices[0]?.message.reasoning_content&&(o.thinking={content:o.choices[0]?.message.reasoning_content}),n&&xo({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},r),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=new TextEncoder,s="",a=!1,u=n?cu():null;return qe(e,(f,d)=>{let{controller:p,encoder:y}=d;if(f.startsWith("data: ")&&f.trim()!=="data: [DONE]")try{let A=JSON.parse(f.slice(6)),g=A.choices?.[0]?.delta;if(!g){p.enqueue(y.encode(f+`
194
+ `));return}if(g.reasoning_content){s+=typeof g.reasoning_content=="string"?g.reasoning_content:JSON.stringify(g.reasoning_content),u&&Oo(u,g);let _={...A,choices:[{...A.choices[0],delta:{...g,thinking:{content:g.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(_)}
194
195
 
195
- `;p.enqueue(y.encode(b));return}if(u&&To(u,g),(g.content||g.tool_calls)&&s&&!a){a=!0;let C=Date.now().toString(),b={...A,choices:[{...A.choices[0],delta:{...A.choices[0].delta,content:null,thinking:{content:s,signature:C}}}]};delete b.choices[0].delta.reasoning_content;let m=`data: ${JSON.stringify(b)}
196
+ `;p.enqueue(y.encode(b));return}if(u&&Oo(u,g),(g.content||g.tool_calls)&&s&&!a){a=!0;let _=Date.now().toString(),b={...A,choices:[{...A.choices[0],delta:{...A.choices[0].delta,content:null,thinking:{content:s,signature:_}}}]};delete b.choices[0].delta.reasoning_content;let m=`data: ${JSON.stringify(b)}
196
197
 
197
- `;p.enqueue(y.encode(m))}if(g.reasoning_content&&delete A.choices[0].delta.reasoning_content,A.choices?.[0]?.delta&&Object.keys(A.choices[0].delta).length>0){a&&A.choices[0].index++;let C=`data: ${JSON.stringify(A)}
198
+ `;p.enqueue(y.encode(m))}if(g.reasoning_content&&delete A.choices[0].delta.reasoning_content,A.choices?.[0]?.delta&&Object.keys(A.choices[0].delta).length>0){a&&A.choices[0].index++;let _=`data: ${JSON.stringify(A)}
198
199
 
199
- `;p.enqueue(y.encode(C))}}catch{p.enqueue(y.encode(f+`
200
+ `;p.enqueue(y.encode(_))}}catch{p.enqueue(y.encode(f+`
200
201
  `))}else p.enqueue(y.encode(f+`
201
- `))},{onComplete:()=>{u&&Ao(ou(u),r)}})}return e}};var mu=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 yu=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function p0(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],a=Ei(s.role,{assistant:"assistant"}),u=[];if(s.role==="tool"){let l=s.content;Array.isArray(l)?l=l.filter(f=>f.type==="text").map(f=>f.text).join(`
202
- `):typeof l=="object"&&l!==null&&(l=JSON.stringify(l)),u.push({type:"tool_result",tool_use_id:s.tool_call_id,content:l})}else typeof s.content=="string"?u.push({type:"text",text:s.content}):Array.isArray(s.content)&&(s.content.forEach(f=>{f.type==="text"&&u.push({type:"text",text:f.text||""})}),Ai(s.content).forEach(f=>{u.push(Di(f,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(l=>{u.push({type:"tool_use",id:l.id,name:l.function.name,input:JSON.parse(l.function.arguments||"{}")})});u.length>0&&e.push({role:a,content:u})}let n={anthropic_version:"vertex-2023-10-16",messages:Ti(e,"content"),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(o=>{let s=Kn(o);return{name:s.name,description:s.description,input_schema:s.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 g0(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 _u(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??0,prompt_tokens:n.usage?.input_tokens??0,total_tokens:(n.usage?.input_tokens??0)+(n.usage?.output_tokens??0)}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream"))return t.body?Ue(t,(o,s)=>{let{controller:a,encoder:u}=s;if(o.startsWith("data: ")){let l=o.slice(6).trim();if(l){r?.debug({chunkStr:l},`${e} chunk:`);try{let f=JSON.parse(l);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let d={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)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
202
+ `))},{onComplete:()=>{u&&xo(lu(u),r)}})}return e}};var Eu=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 ku=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function I0(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],a=xi(s.role,{assistant:"assistant"}),u=[];if(s.role==="tool"){let c=s.content;Array.isArray(c)?c=c.filter(f=>f.type==="text").map(f=>f.text).join(`
203
+ `):typeof c=="object"&&c!==null&&(c=JSON.stringify(c)),u.push({type:"tool_result",tool_use_id:s.tool_call_id,content:c})}else typeof s.content=="string"?u.push({type:"text",text:s.content}):Array.isArray(s.content)&&(s.content.forEach(f=>{f.type==="text"&&u.push({type:"text",text:f.text||""})}),Oi(s.content).forEach(f=>{u.push(Pi(f,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(c=>{u.push({type:"tool_use",id:c.id,name:c.function.name,input:JSON.parse(c.function.arguments||"{}")})});u.length>0&&e.push({role:a,content:u})}let n={anthropic_version:"vertex-2023-10-16",messages:Fi(e,"content"),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(o=>{let s=eo(o);return{name:s.name,description:s.description,input_schema:s.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 N0(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 Su(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??0,prompt_tokens:n.usage?.input_tokens??0,total_tokens:(n.usage?.input_tokens??0)+(n.usage?.output_tokens??0)}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream"))return t.body?qe(t,(o,s)=>{let{controller:a,encoder:u}=s;if(o.startsWith("data: ")){let c=o.slice(6).trim();if(c){r?.debug({chunkStr:c},`${e} chunk:`);try{let f=JSON.parse(c);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let d={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)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
203
204
 
204
205
  `))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let d={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)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
205
206
 
@@ -215,80 +216,80 @@ ${r}
215
216
 
216
217
  `));else{let d={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)}};a.enqueue(u.encode(`data: ${JSON.stringify(d)}
217
218
 
218
- `))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,l,f.message)}}}}):t;return t}async function OD(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Le(Va(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
219
+ `))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,c,f.message)}}}}):t;return t}async function dv(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>$e(eu(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
219
220
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
220
221
  2. Run "gcloud auth application-default login"
221
- 3. Use Google Cloud environment with default service account`)}}var bu=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 u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(n=l.project_id)}catch(a){this.logger?.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 OD(this.logger);return{body:p0(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 g0(e)}async transformResponseOut(e){return _u(e,this.name,this.logger)}};var m0=Le(Va(),1),Cu=class{static TransformerName="vertex-openai";client;client_email;private_key;constructor(e={}){this.client_email=e.client_email,this.private_key=e.private_key?.replace(/\\n/g,`
222
- `)}async getClient(){if(this.client)return this.client;if(!this.client_email||!this.private_key)throw new Error("vertex-openai requires client_email and private_key in transformer options");let e=new m0.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],credentials:{client_email:this.client_email,private_key:this.private_key}});return this.client=await e.getClient(),this.client}async transformRequestIn(e){let r=await this.getClient(),{token:n}=await r.getAccessToken();if(!n)throw new Error("Failed to get access token");return{body:e,config:{headers:{Authorization:`Bearer ${n}`}}}}};var wu=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 ku=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Su=class{name="OpenAI";endPoint="/v1/chat/completions"};var Eu=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 Au=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,u=!1,l="",f=new ReadableStream({async start(d){let p=e.body.getReader(),y=(g,C,b)=>{let m=g.split(`
223
- `);for(let v of m)v.trim()&&C.enqueue(b.encode(v+`
224
- `))},A=(g,C)=>{let{controller:b,encoder:m}=C;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let v=g.slice(6);try{let k=JSON.parse(v);if(k.usage&&(this.logger?.debug({usage:k.usage,hasToolCall:u},"usage"),k.choices[0].finish_reason=u?"tool_calls":"stop"),k.choices?.[0]?.finish_reason==="error"&&b.enqueue(m.encode(`data: ${JSON.stringify({error:k.choices?.[0].error})}
222
+ 3. Use Google Cloud environment with default service account`)}}var Au=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 u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),c=JSON.parse(u);c&&c.project_id&&(n=c.project_id)}catch(a){this.logger?.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 dv(this.logger);return{body:I0(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 N0(e)}async transformResponseOut(e){return Su(e,this.name,this.logger)}};var B0=$e(eu(),1),Tu=class{static TransformerName="vertex-openai";client;client_email;private_key;constructor(e={}){this.client_email=e.client_email,this.private_key=e.private_key?.replace(/\\n/g,`
223
+ `)}async getClient(){if(this.client)return this.client;if(!this.client_email||!this.private_key)throw new Error("vertex-openai requires client_email and private_key in transformer options");let e=new B0.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],credentials:{client_email:this.client_email,private_key:this.private_key}});return this.client=await e.getClient(),this.client}async transformRequestIn(e){let r=await this.getClient(),{token:n}=await r.getAccessToken();if(!n)throw new Error("Failed to get access token");return{body:e,config:{headers:{Authorization:`Bearer ${n}`}}}}};var Du=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 vu=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ru=class{name="OpenAI";endPoint="/v1/chat/completions"};var xu=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 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(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,u=!1,c="",f=new ReadableStream({async start(d){let p=e.body.getReader(),y=(g,_,b)=>{let m=g.split(`
224
+ `);for(let v of m)v.trim()&&_.enqueue(b.encode(v+`
225
+ `))},A=(g,_)=>{let{controller:b,encoder:m}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let v=g.slice(6);try{let k=JSON.parse(v);if(k.usage&&(this.logger?.debug({usage:k.usage,hasToolCall:u},"usage"),k.choices[0].finish_reason=u?"tool_calls":"stop"),k.choices?.[0]?.finish_reason==="error"&&b.enqueue(m.encode(`data: ${JSON.stringify({error:k.choices?.[0].error})}
225
226
 
226
- `)),k.choices?.[0]?.delta?.content&&!C.hasTextContent()&&C.setHasTextContent(!0),k.choices?.[0]?.delta?.reasoning){C.appendReasoningContent(k.choices[0].delta.reasoning);let T={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,thinking:{content:k.choices[0].delta.reasoning}}}]};T.choices?.[0]?.delta&&delete T.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(T)}
227
+ `)),k.choices?.[0]?.delta?.content&&!_.hasTextContent()&&_.setHasTextContent(!0),k.choices?.[0]?.delta?.reasoning){_.appendReasoningContent(k.choices[0].delta.reasoning);let T={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,thinking:{content:k.choices[0].delta.reasoning}}}]};T.choices?.[0]?.delta&&delete T.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(T)}
227
228
 
228
- `;b.enqueue(m.encode(O));return}if(k.choices?.[0]?.delta?.content&&C.reasoningContent()&&!C.isReasoningComplete()){C.setReasoningComplete(!0);let T=Date.now().toString(),O={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,content:null,thinking:{content:C.reasoningContent(),signature:T}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let N=`data: ${JSON.stringify(O)}
229
+ `;b.enqueue(m.encode(O));return}if(k.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let T=Date.now().toString(),O={...k,choices:[{...k.choices?.[0],delta:{...k.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:T}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let N=`data: ${JSON.stringify(O)}
229
230
 
230
- `;b.enqueue(m.encode(N))}k.choices?.[0]?.delta?.reasoning&&delete k.choices[0].delta.reasoning,k.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(k.choices?.[0]?.delta?.tool_calls[0].id,10))&&k.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${Xt()}`}),k.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),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 S=`data: ${JSON.stringify(k)}
231
+ `;b.enqueue(m.encode(N))}k.choices?.[0]?.delta?.reasoning&&delete k.choices[0].delta.reasoning,k.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(k.choices?.[0]?.delta?.tool_calls[0].id,10))&&k.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${Zt()}`}),k.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),k.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof k.choices[0].index=="number"?k.choices[0].index+=1:k.choices[0].index=1);let w=`data: ${JSON.stringify(k)}
231
232
 
232
- `;b.enqueue(m.encode(S))}catch{b.enqueue(m.encode(g+`
233
+ `;b.enqueue(m.encode(w))}catch{b.enqueue(m.encode(g+`
233
234
  `))}}else b.enqueue(m.encode(g+`
234
- `))};try{for(;;){let{done:g,value:C}=await p.read();if(g){l.trim()&&y(l,d,n);break}if(!C||C.length===0)continue;let b;try{b=r.decode(C,{stream:!0})}catch(v){this.logger?.warn("Failed to decode chunk",v);continue}if(b.length===0)continue;if(l+=b,l.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
235
- `);l=v.pop()||"";for(let k of v)if(k.trim())try{A(k,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){this.logger?.error("Error processing line:",k,S),d.enqueue(n.encode(k+`
236
- `))}continue}let m=l.split(`
237
- `);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:k=>o=k,reasoningContent:()=>s,appendReasoningContent:k=>s+=k,isReasoningComplete:()=>a,setReasoningComplete:k=>a=k})}catch(k){this.logger?.error("Error processing line:",v,k),d.enqueue(n.encode(v+`
238
- `))}}}catch(g){this.logger?.error("Stream error:",g),d.error(g)}finally{try{p.releaseLock()}catch(g){this.logger?.error("Error releasing reader lock:",g)}d.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}};function Tu(t){let e=[];for(let r=0;r<t.length;r++){let n={...t[r]};if(n.role==="assistant"&&n.tool_calls){let o=[],s=[],a=[],u=r+1;for(;u<t.length&&t[u].role==="tool";)a.push(t[u]),u++;n.tool_calls.forEach(l=>{a.some(d=>d.tool_call_id===l.id)?o.push(l):s.push(l.id)}),o.length>0?n.tool_calls=o:delete n.tool_calls,(n.content||n.tool_calls)&&e.push(n)}else if(n.role==="tool"){let o=!1;if(r>0){let s=t[r-1];if(s.role==="assistant"&&s.tool_calls)o=s.tool_calls.some(a=>a.id===n.tool_call_id);else if(s.role==="tool"){for(let a=r-1;a>=0;a--)if(t[a].role!=="tool"){t[a].role==="assistant"&&t[a].tool_calls&&(o=t[a].tool_calls.some(u=>u.id===n.tool_call_id));break}}}o&&e.push(n)}else e.push(n)}return e}function Du(t,e){return t.map(r=>r.role==="system"&&e.includes("claude")&&Array.isArray(r.content)?{...r,content:r.content.map(n=>({...n,cache_control:{type:"ephemeral"}}))}:r)}var vu=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=e.model||"",n=Tu(e.messages);n=Du(n,r),e.messages=n;let o=[],s=!1,a=e.messages.filter(u=>u.role==="system");if(a.length>0){let u=a[0];Array.isArray(u.content)?u.content.forEach(l=>{let f="";typeof l=="string"?f=l:l&&typeof l=="object"&&"text"in l&&(f=l.text),o.push({role:"system",content:f})}):e.instructions=u.content}if(e.messages.forEach(u=>{if(u.role!=="system"){if(Array.isArray(u.content)){let l=u.content.map(f=>this.normalizeRequestContent(f,u.role)).filter(f=>f!==null);l.length>0?u.content=l:delete u.content}if(u.role==="tool"){let l={...u};l.type="function_call_output",l.call_id=u.tool_call_id,l.output=u.content,delete l.cache_control,delete l.role,delete l.tool_call_id,delete l.content,o.push(l),s=!0;return}if(u.role==="assistant"&&Array.isArray(u.tool_calls)){let l=u.content&&(typeof u.content=="string"||Array.isArray(u.content)&&u.content.length>0);s=!1,u.tool_calls.forEach(f=>{o.push({type:"function_call",arguments:f.function.arguments,name:f.function.name,call_id:f.id})});return}s&&u.role==="user"&&o.push({role:"assistant",content:""}),s=!1,o.push(u)}}),e.input=o,delete e.messages,Array.isArray(e.tools)){let u=e.tools.find(l=>l.function.name==="web_search");e.tools=e.tools.filter(l=>l.function.name!=="web_search").map(l=>(l.function.name==="WebSearch"&&delete l.function.parameters.properties.allowed_domains,l.function.name==="Edit"?{type:l.type,name:l.function.name,description:l.function.description,parameters:{...l.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:l.type,name:l.function.name,description:l.function.description,parameters:l.function.parameters})),u&&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=!1,o=-1,s="",a=l=>(l!==s&&(o++,s=l),o),u=this;return Ue(e,(l,f)=>{if(l.trim()&&!l.startsWith("event: "))if(l.startsWith("data: ")){let d=l.slice(5).trim();if(d==="[DONE]"){n=!0,f.controller.enqueue(je("[DONE]",f.encoder));return}try{let p=JSON.parse(d),y=u.convertStreamEvent(p,a);y&&f.controller.enqueue(je(JSON.stringify(y),f.encoder))}catch{f.controller.enqueue(Ee(l,f.encoder))}}else f.controller.enqueue(Ee(l,f.encoder))})}return e}convertStreamEvent(e,r){if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let n=[];(e.item.content||[]).forEach(s=>{s.type==="output_text"&&n.push({type:"text",text:s.text||""})});let o={role:"assistant"};return n.length===1&&n[0].type==="text"?o.content=n[0].text:n.length>0&&(o.content=n),o.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:o,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex",choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let n=e.response?.output?.some(s=>s.type==="function_call")?"tool_calls":"stop",o={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:n}]};return e.response?.usage&&(o.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0}),o}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_part.done"&&e.part?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:null}normalizeRequestContent(e,r){let n=au(e);if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(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(l=>l.type==="message"),n=e.output?.find(l=>l.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(l=>({type:"url_citation",url_citation:{url:l.url||"",title:l.title||"",content:"",start_index:l.start_index||0,end_index:l.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(r&&r.reasoning&&(u={content:r.reasoning}),r&&r.content){let l=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")l.push(d.text||"");else if(d.type==="output_image"){let p=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});p&&f.push(p)}else if(d.type==="output_image_base64"){let p=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});p&&f.push(p)}}),f.length>0){let d=[];l.length>0&&d.push({type:"text",text:l.join("")}),d.push(...f),s=d}else s=l.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:u,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 b0=require("crypto");var Rr=require("fs"),Sd=require("path"),Ed=require("os"),kd=(0,Sd.join)((0,Ed.homedir)(),".claude-code-router","codex_auth.json"),y0={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"};function FD(){try{if(!(0,Rr.existsSync)(kd))return null;let t=(0,Rr.readFileSync)(kd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function PD(t){let e=(0,Sd.join)((0,Ed.homedir)(),".claude-code-router");(0,Rr.existsSync)(e)||(0,Rr.mkdirSync)(e,{recursive:!0}),(0,Rr.writeFileSync)(kd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function ID(t,e=30){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function ND(t){let e=await fetch(y0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:y0.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),account_id:r.account_id,last_refresh:Date.now()/1e3}}async function Ad(){let t=FD();if(!t)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");if(ID(t)){if(!t.refresh_token)throw new Error("Codex OAuth token expired and no refresh token available. Run `ccr codex-auth` to re-authenticate.");t=await ND(t.refresh_token),PD(t)}return t}var _0=new Map,C0="x-codex-turn-metadata",BD="x-codex-window-id",jD="x-codex-parent-thread-id",MD="session_id",UD="thread_id",LD="turn_id",qD="window_id";function $D(t){return{session_id:t,thread_id:t,turn_id:(0,b0.randomUUID)(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function zD(t){return{[MD]:t.session_id,[UD]:t.thread_id,[LD]:t.turn_id,[qD]:t.window_id,[C0]:JSON.stringify(t)}}function HD(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function WD(t){return{[BD]:t.window_id,[C0]:JSON.stringify(t),[jD]:t.thread_id}}function GD(t){let e=t?.metadata?.user_id;if(typeof e!="string"||!e)return;let r=e.split("_session_");if(r.length>1&&r[1])return r[1];try{let n=JSON.parse(e);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}}function JD(t,e){return t?.req?.sessionId||GD(e)}function VD(t,e,r){if(!r)return;let n=$D(r);t.client_metadata=HD(t.client_metadata,zD(n)),Object.assign(e,WD(n))}var Ru=class{name="codex";logger;streamIntent=new Map;async transformRequestIn(e,r,n){let o=n?.req?.id;o&&this.streamIntent.set(o,e.stream===!0);let s=typeof r?.apiKey=="string"?r.apiKey.trim():r?.apiKey,a=typeof s=="string"&&s.startsWith("at-"),u,l,f=!1;if(a){u=s;let k=await this.resolvePatAuth(s);l=k.accountId,f=k.isFedramp}else{let k=await Ad();u=k.access_token,l=k.account_id}delete e.temperature,delete e.max_tokens;let d=e.reasoning?.effort||r?.reasoningEffort;if(d){let k={effort:d},S=["auto","detailed","none"],T=r?.reasoningSummary;T&&S.includes(T)?T!=="none"&&(k.summary=T):k.summary="detailed",e.reasoning=k}else delete e.reasoning;let p=["low","medium","high"];r?.verbosity&&p.includes(r.verbosity)&&(e.verbosity=r.verbosity);let y=e.model||"",A=Tu(e.messages);A=Du(A,y),e.messages=A;let g=[],C=!1,b=e.messages.filter(k=>k.role==="system");if(b.length>0){let k=b[0],S="";Array.isArray(k.content)?S=k.content.map(T=>typeof T=="string"?T:T&&typeof T=="object"&&"text"in T?T.text:"").filter(Boolean).join(`
239
- `):S=k.content,S&&(e.instructions=S)}if(e.instructions||(e.instructions=""),e.messages.forEach(k=>{if(k.role!=="system"){if(Array.isArray(k.content)){let S=k.content.map(T=>this.normalizeRequestContent(T,k.role)).filter(T=>T!==null);S.length>0?k.content=S:delete k.content}if(k.role==="tool"){let S={...k};S.type="function_call_output",S.call_id=k.tool_call_id,S.output=k.content,delete S.cache_control,delete S.role,delete S.tool_call_id,delete S.content,g.push(S),C=!0;return}if(k.role==="assistant"&&Array.isArray(k.tool_calls)){C=!1,k.tool_calls.forEach(S=>{g.push({type:"function_call",arguments:S.function.arguments,name:S.function.name,call_id:S.id})});return}C&&k.role==="user"&&g.push({type:"message",role:"assistant",content:[{type:"output_text",text:""}]}),C=!1,typeof k.content=="string"?g.push({type:"message",role:k.role,content:[{type:k.role==="assistant"?"output_text":"input_text",text:k.content}]}):g.push({type:"message",role:k.role,content:k.content})}}),e.input=g,delete e.messages,e.store=!1,Array.isArray(e.tools)){let k=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})),k&&e.tools.push({type:"web_search"})}e.parallel_tool_calls=r?.parallelToolCalls===!0,e.stream=!0;let m={Authorization:`Bearer ${u}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"};l&&(m["ChatGPT-Account-ID"]=l),f&&(m["X-OpenAI-Fedramp"]="true"),VD(e,m,JD(n,e));let v=r?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:`${v}/responses`,headers:m}}}async auth(e,r){let n=typeof r?.apiKey=="string"?r.apiKey.trim():r?.apiKey,o=typeof n=="string"&&n.startsWith("at-"),s,a,u=!1;if(o){s=n;let d=await this.resolvePatAuth(n);a=d.accountId,u=d.isFedramp}else{let d=await Ad();s=d.access_token,a=d.account_id}let l={Authorization:`Bearer ${s}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"};return a&&(l["ChatGPT-Account-ID"]=a),u&&(l["X-OpenAI-Fedramp"]="true"),{config:{url:`${r?.baseUrl||"https://chatgpt.com/backend-api/codex"}/responses`,headers:l}}}async resolvePatAuth(e){let r=_0.get(e);if(r)return r;let n=await fetch("https://auth.openai.com/api/accounts/v1/user-auth-credential/whoami",{headers:{Authorization:`Bearer ${e}`}});if(!n.ok){let a=await n.text().catch(()=>"");throw new Error(`Codex PAT whoami failed (${n.status}): ${a}. Verify the api_key contains a valid PAT, or remove it to use OAuth authentication.`)}let o=await n.json();if(!o.chatgpt_account_id)throw new Error("Codex PAT whoami response missing chatgpt_account_id. The PAT may not have Codex access. Run `ccr codex-auth` for OAuth as a fallback.");let s={accountId:o.chatgpt_account_id,isFedramp:o.chatgpt_account_is_fedramp===!0};return _0.set(e,s),s}async transformResponseOut(e,r){let n=e.headers.get("Content-Type")||"",o=this,s=r?.req?.id,a=s?this.streamIntent.get(s):void 0;try{return await this.transformResponseOutInner(e,n,o,s,a)}finally{s&&this.streamIntent.delete(s)}}async transformResponseOutInner(e,r,n,o,s){let a=o?s!==!1:!0,u,l=f=>f?(u=f,f):u;if(!r||r.includes("text/event-stream")){if(!e.body)return e;let f=await this.readBodyAndPeek(e.clone().body);if(f&&(f.firstChar==="{"||f.firstChar==="[")){let k;try{k=JSON.parse(f.text)}catch{return a?new Response(this.jsonToSseStream(f.text),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(f.text,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}let S=k?.object==="response"&&k.output?this.convertResponseToChat(k):k,T=JSON.stringify(S);return a?new Response(this.jsonToSseStream(T),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(T,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}if(!a)try{let k=await this.collectSseIntoChatCompletion(e,l);return new Response(JSON.stringify(k),{status:e.status,statusText:e.statusText,headers:{"Content-Type":"application/json"}})}catch(k){throw k}let d=!1,p=-1,y="",A=k=>(k!==y&&(p++,y=k),p),C=Ue(e,(k,S)=>{if(k.trim()&&!k.startsWith("event: "))if(k.startsWith("data: ")){let T=k.slice(5).trim();if(T==="[DONE]"){d=!0,S.controller.enqueue(je("[DONE]",S.encoder));return}try{let O=JSON.parse(T);O.response?.model&&(u=O.response.model);let N=n.convertStreamEvent(O,A,l);N&&S.controller.enqueue(je(JSON.stringify(N),S.encoder))}catch{S.controller.enqueue(Ee(k,S.encoder))}}else S.controller.enqueue(Ee(k,S.encoder))}).body,b=!1,m=null,v=new ReadableStream({start(k){m=C.getReader();let S=q=>{if(!b)try{k.enqueue(q)}catch{b=!0}},T=()=>{if(!b)try{k.close()}catch{}},O=q=>{if(!b)try{k.error(q)}catch{}},N=()=>{b||!m||m.read().then(({done:q,value:z})=>{if(q){T();return}z&&S(z),N()}).catch(q=>{b||O(q)})};N()},cancel(){if(b=!0,m)try{m.cancel().catch(()=>{})}catch{}}});return new Response(v,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else if(r.includes("application/json")){let f=await e.json();if(Array.isArray(f)){let d=new TextEncoder,p=-1,y="",A=C=>(C!==y&&(p++,y=C),p),g=new ReadableStream({start(C){for(let b of f){b?.response?.model&&(u=b.response.model);let m=n.convertStreamEvent(b,A,l);m&&C.enqueue(d.encode(`data: ${JSON.stringify(m)}
235
+ `))};try{for(;;){let{done:g,value:_}=await p.read();if(g){c.trim()&&y(c,d,n);break}if(!_||_.length===0)continue;let b;try{b=r.decode(_,{stream:!0})}catch(v){this.logger?.warn("Failed to decode chunk",v);continue}if(b.length===0)continue;if(c+=b,c.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let v=c.split(`
236
+ `);c=v.pop()||"";for(let k of v)if(k.trim())try{A(k,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:w=>o=w,reasoningContent:()=>s,appendReasoningContent:w=>s+=w,isReasoningComplete:()=>a,setReasoningComplete:w=>a=w})}catch(w){this.logger?.error("Error processing line:",k,w),d.enqueue(n.encode(k+`
237
+ `))}continue}let m=c.split(`
238
+ `);c=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:k=>o=k,reasoningContent:()=>s,appendReasoningContent:k=>s+=k,isReasoningComplete:()=>a,setReasoningComplete:k=>a=k})}catch(k){this.logger?.error("Error processing line:",v,k),d.enqueue(n.encode(v+`
239
+ `))}}}catch(g){this.logger?.error("Stream error:",g),d.error(g)}finally{try{p.releaseLock()}catch(g){this.logger?.error("Error releasing reader lock:",g)}d.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}};function Fu(t){let e=[];for(let r=0;r<t.length;r++){let n={...t[r]};if(n.role==="assistant"&&n.tool_calls){let o=[],s=[],a=[],u=r+1;for(;u<t.length&&t[u].role==="tool";)a.push(t[u]),u++;n.tool_calls.forEach(c=>{a.some(d=>d.tool_call_id===c.id)?o.push(c):s.push(c.id)}),o.length>0?n.tool_calls=o:delete n.tool_calls,(n.content||n.tool_calls)&&e.push(n)}else if(n.role==="tool"){let o=!1;if(r>0){let s=t[r-1];if(s.role==="assistant"&&s.tool_calls)o=s.tool_calls.some(a=>a.id===n.tool_call_id);else if(s.role==="tool"){for(let a=r-1;a>=0;a--)if(t[a].role!=="tool"){t[a].role==="assistant"&&t[a].tool_calls&&(o=t[a].tool_calls.some(u=>u.id===n.tool_call_id));break}}}o&&e.push(n)}else e.push(n)}return e}function Pu(t,e){return t.map(r=>r.role==="system"&&e.includes("claude")&&Array.isArray(r.content)?{...r,content:r.content.map(n=>({...n,cache_control:{type:"ephemeral"}}))}:r)}var Iu=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=e.model||"",n=Fu(e.messages);n=Pu(n,r),e.messages=n;let o=[],s=!1,a=e.messages.filter(u=>u.role==="system");if(a.length>0){let u=a[0];Array.isArray(u.content)?u.content.forEach(c=>{let f="";typeof c=="string"?f=c:c&&typeof c=="object"&&"text"in c&&(f=c.text),o.push({role:"system",content:f})}):e.instructions=u.content}if(e.messages.forEach(u=>{if(u.role!=="system"){if(Array.isArray(u.content)){let c=u.content.map(f=>this.normalizeRequestContent(f,u.role)).filter(f=>f!==null);c.length>0?u.content=c:delete u.content}if(u.role==="tool"){let c={...u};c.type="function_call_output",c.call_id=u.tool_call_id,c.output=u.content,delete c.cache_control,delete c.role,delete c.tool_call_id,delete c.content,o.push(c),s=!0;return}if(u.role==="assistant"&&Array.isArray(u.tool_calls)){let c=u.content&&(typeof u.content=="string"||Array.isArray(u.content)&&u.content.length>0);s=!1,u.tool_calls.forEach(f=>{o.push({type:"function_call",arguments:f.function.arguments,name:f.function.name,call_id:f.id})});return}s&&u.role==="user"&&o.push({role:"assistant",content:""}),s=!1,o.push(u)}}),e.input=o,delete e.messages,Array.isArray(e.tools)){let u=e.tools.find(c=>c.function.name==="web_search");e.tools=e.tools.filter(c=>c.function.name!=="web_search").map(c=>(c.function.name==="WebSearch"&&delete c.function.parameters.properties.allowed_domains,c.function.name==="Edit"?{type:c.type,name:c.function.name,description:c.function.description,parameters:{...c.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:c.type,name:c.function.name,description:c.function.description,parameters:c.function.parameters})),u&&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=!1,o=-1,s="",a=c=>(c!==s&&(o++,s=c),o),u=this;return qe(e,(c,f)=>{if(c.trim()&&!c.startsWith("event: "))if(c.startsWith("data: ")){let d=c.slice(5).trim();if(d==="[DONE]"){n=!0,f.controller.enqueue(Me("[DONE]",f.encoder));return}try{let p=JSON.parse(d),y=u.convertStreamEvent(p,a);y&&f.controller.enqueue(Me(JSON.stringify(y),f.encoder))}catch{f.controller.enqueue(Te(c,f.encoder))}}else f.controller.enqueue(Te(c,f.encoder))})}return e}convertStreamEvent(e,r){if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let n=[];(e.item.content||[]).forEach(s=>{s.type==="output_text"&&n.push({type:"text",text:s.text||""})});let o={role:"assistant"};return n.length===1&&n[0].type==="text"?o.content=n[0].text:n.length>0&&(o.content=n),o.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:o,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex",choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let n=e.response?.output?.some(s=>s.type==="function_call")?"tool_calls":"stop",o={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:n}]};return e.response?.usage&&(o.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0}),o}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_part.done"&&e.part?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:null}normalizeRequestContent(e,r){let n=hu(e);if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(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(c=>c.type==="message"),n=e.output?.find(c=>c.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(c=>({type:"url_citation",url_citation:{url:c.url||"",title:c.title||"",content:"",start_index:c.start_index||0,end_index:c.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(r&&r.reasoning&&(u={content:r.reasoning}),r&&r.content){let c=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")c.push(d.text||"");else if(d.type==="output_image"){let p=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});p&&f.push(p)}else if(d.type==="output_image_base64"){let p=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});p&&f.push(p)}}),f.length>0){let d=[];c.length>0&&d.push({type:"text",text:c.join("")}),d.push(...f),s=d}else s=c.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:u,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 U0=require("crypto");var Fr=require("fs"),Id=require("path"),Nd=require("os"),Pd=(0,Id.join)((0,Nd.homedir)(),".claude-code-router","codex_auth.json"),j0={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"};function hv(){try{if(!(0,Fr.existsSync)(Pd))return null;let t=(0,Fr.readFileSync)(Pd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function pv(t){let e=(0,Id.join)((0,Nd.homedir)(),".claude-code-router");(0,Fr.existsSync)(e)||(0,Fr.mkdirSync)(e,{recursive:!0}),(0,Fr.writeFileSync)(Pd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function gv(t,e=30){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function mv(t){let e=await fetch(j0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:j0.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),account_id:r.account_id,last_refresh:Date.now()/1e3}}async function Bd(){let t=hv();if(!t)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");if(gv(t)){if(!t.refresh_token)throw new Error("Codex OAuth token expired and no refresh token available. Run `ccr codex-auth` to re-authenticate.");t=await mv(t.refresh_token),pv(t)}return t}var M0=new Map,L0="x-codex-turn-metadata",yv="x-codex-window-id",_v="x-codex-parent-thread-id",bv="session_id",Cv="thread_id",wv="turn_id",Ev="window_id";function kv(t){return{session_id:t,thread_id:t,turn_id:(0,U0.randomUUID)(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function Sv(t){return{[bv]:t.session_id,[Cv]:t.thread_id,[wv]:t.turn_id,[Ev]:t.window_id,[L0]:JSON.stringify(t)}}function Av(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function Tv(t){return{[yv]:t.window_id,[L0]:JSON.stringify(t),[_v]:t.thread_id}}function Dv(t){let e=t?.metadata?.user_id;if(typeof e!="string"||!e)return;let r=e.split("_session_");if(r.length>1&&r[1])return r[1];try{let n=JSON.parse(e);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}}function vv(t,e){return t?.req?.sessionId||Dv(e)}function Rv(t,e,r){if(!r)return;let n=kv(r);t.client_metadata=Av(t.client_metadata,Sv(n)),Object.assign(e,Tv(n))}var Nu=class{name="codex";logger;streamIntent=new Map;async transformRequestIn(e,r,n){let o=n?.req?.id;o&&this.streamIntent.set(o,e.stream===!0);let s=typeof r?.apiKey=="string"?r.apiKey.trim():r?.apiKey,a=typeof s=="string"&&s.startsWith("at-"),u,c,f=!1;if(a){u=s;let k=await this.resolvePatAuth(s);c=k.accountId,f=k.isFedramp}else{let k=await Bd();u=k.access_token,c=k.account_id}delete e.temperature,delete e.max_tokens;let d=e.reasoning?.effort||r?.reasoningEffort;if(d){let k={effort:d},w=["auto","detailed","none"],T=r?.reasoningSummary;T&&w.includes(T)?T!=="none"&&(k.summary=T):k.summary="detailed",e.reasoning=k}else delete e.reasoning;let p=["low","medium","high"];r?.verbosity&&p.includes(r.verbosity)&&(e.verbosity=r.verbosity);let y=e.model||"",A=Fu(e.messages);A=Pu(A,y),e.messages=A;let g=[],_=!1,b=e.messages.filter(k=>k.role==="system");if(b.length>0){let k=b[0],w="";Array.isArray(k.content)?w=k.content.map(T=>typeof T=="string"?T:T&&typeof T=="object"&&"text"in T?T.text:"").filter(Boolean).join(`
240
+ `):w=k.content,w&&(e.instructions=w)}if(e.instructions||(e.instructions=""),e.messages.forEach(k=>{if(k.role!=="system"){if(Array.isArray(k.content)){let w=k.content.map(T=>this.normalizeRequestContent(T,k.role)).filter(T=>T!==null);w.length>0?k.content=w:delete k.content}if(k.role==="tool"){let w={...k};w.type="function_call_output",w.call_id=k.tool_call_id,w.output=k.content,delete w.cache_control,delete w.role,delete w.tool_call_id,delete w.content,g.push(w),_=!0;return}if(k.role==="assistant"&&Array.isArray(k.tool_calls)){_=!1,k.tool_calls.forEach(w=>{g.push({type:"function_call",arguments:w.function.arguments,name:w.function.name,call_id:w.id})});return}_&&k.role==="user"&&g.push({type:"message",role:"assistant",content:[{type:"output_text",text:""}]}),_=!1,typeof k.content=="string"?g.push({type:"message",role:k.role,content:[{type:k.role==="assistant"?"output_text":"input_text",text:k.content}]}):g.push({type:"message",role:k.role,content:k.content})}}),e.input=g,delete e.messages,e.store=!1,Array.isArray(e.tools)){let k=e.tools.find(w=>w.function.name==="web_search");e.tools=e.tools.filter(w=>w.function.name!=="web_search").map(w=>(w.function.name==="WebSearch"&&delete w.function.parameters.properties.allowed_domains,w.function.name==="Edit"?{type:w.type,name:w.function.name,description:w.function.description,parameters:{...w.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:w.type,name:w.function.name,description:w.function.description,parameters:w.function.parameters})),k&&e.tools.push({type:"web_search"})}e.parallel_tool_calls=r?.parallelToolCalls===!0,e.stream=!0;let m={Authorization:`Bearer ${u}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"};c&&(m["ChatGPT-Account-ID"]=c),f&&(m["X-OpenAI-Fedramp"]="true"),Rv(e,m,vv(n,e));let v=r?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:`${v}/responses`,headers:m}}}async auth(e,r){let n=typeof r?.apiKey=="string"?r.apiKey.trim():r?.apiKey,o=typeof n=="string"&&n.startsWith("at-"),s,a,u=!1;if(o){s=n;let d=await this.resolvePatAuth(n);a=d.accountId,u=d.isFedramp}else{let d=await Bd();s=d.access_token,a=d.account_id}let c={Authorization:`Bearer ${s}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"};return a&&(c["ChatGPT-Account-ID"]=a),u&&(c["X-OpenAI-Fedramp"]="true"),{config:{url:`${r?.baseUrl||"https://chatgpt.com/backend-api/codex"}/responses`,headers:c}}}async resolvePatAuth(e){let r=M0.get(e);if(r)return r;let n=await fetch("https://auth.openai.com/api/accounts/v1/user-auth-credential/whoami",{headers:{Authorization:`Bearer ${e}`}});if(!n.ok){let a=await n.text().catch(()=>"");throw new Error(`Codex PAT whoami failed (${n.status}): ${a}. Verify the api_key contains a valid PAT, or remove it to use OAuth authentication.`)}let o=await n.json();if(!o.chatgpt_account_id)throw new Error("Codex PAT whoami response missing chatgpt_account_id. The PAT may not have Codex access. Run `ccr codex-auth` for OAuth as a fallback.");let s={accountId:o.chatgpt_account_id,isFedramp:o.chatgpt_account_is_fedramp===!0};return M0.set(e,s),s}async transformResponseOut(e,r){let n=e.headers.get("Content-Type")||"",o=this,s=r?.req?.id,a=s?this.streamIntent.get(s):void 0;try{return await this.transformResponseOutInner(e,n,o,s,a)}finally{s&&this.streamIntent.delete(s)}}async transformResponseOutInner(e,r,n,o,s){let a=o?s!==!1:!0,u,c=f=>f?(u=f,f):u;if(!r||r.includes("text/event-stream")){if(!e.body)return e;let f=await this.readBodyAndPeek(e.clone().body);if(f&&(f.firstChar==="{"||f.firstChar==="[")){let k;try{k=JSON.parse(f.text)}catch{return a?new Response(this.jsonToSseStream(f.text),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(f.text,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}let w=k?.object==="response"&&k.output?this.convertResponseToChat(k):k,T=JSON.stringify(w);return a?new Response(this.jsonToSseStream(T),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(T,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}if(!a)try{let k=await this.collectSseIntoChatCompletion(e,c);return new Response(JSON.stringify(k),{status:e.status,statusText:e.statusText,headers:{"Content-Type":"application/json"}})}catch(k){throw k}let d=!1,p=-1,y="",A=k=>(k!==y&&(p++,y=k),p),_=qe(e,(k,w)=>{if(k.trim()&&!k.startsWith("event: "))if(k.startsWith("data: ")){let T=k.slice(5).trim();if(T==="[DONE]"){d=!0,w.controller.enqueue(Me("[DONE]",w.encoder));return}try{let O=JSON.parse(T);O.response?.model&&(u=O.response.model);let N=n.convertStreamEvent(O,A,c);N&&w.controller.enqueue(Me(JSON.stringify(N),w.encoder))}catch{w.controller.enqueue(Te(k,w.encoder))}}else w.controller.enqueue(Te(k,w.encoder))}).body,b=!1,m=null,v=new ReadableStream({start(k){m=_.getReader();let w=G=>{if(!b)try{k.enqueue(G)}catch{b=!0}},T=()=>{if(!b)try{k.close()}catch{}},O=G=>{if(!b)try{k.error(G)}catch{}},N=()=>{b||!m||m.read().then(({done:G,value:$})=>{if(G){T();return}$&&w($),N()}).catch(G=>{b||O(G)})};N()},cancel(){if(b=!0,m)try{m.cancel().catch(()=>{})}catch{}}});return new Response(v,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else if(r.includes("application/json")){let f=await e.json();if(Array.isArray(f)){let d=new TextEncoder,p=-1,y="",A=_=>(_!==y&&(p++,y=_),p),g=new ReadableStream({start(_){for(let b of f){b?.response?.model&&(u=b.response.model);let m=n.convertStreamEvent(b,A,c);m&&_.enqueue(d.encode(`data: ${JSON.stringify(m)}
240
241
 
241
- `))}C.enqueue(d.encode(`data: [DONE]
242
+ `))}_.enqueue(d.encode(`data: [DONE]
242
243
 
243
- `)),C.close()}});return new Response(g,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream"}})}if(f.object==="response"&&f.output){let d=this.convertResponseToChat(f);return new Response(JSON.stringify(d),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return new Response(JSON.stringify(f),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return e}convertStreamEvent(e,r,n){let o=a=>n?n(a):a,s=a=>a||o(void 0);if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let a=[];(e.item.content||[]).forEach(l=>{l.type==="output_text"&&a.push({type:"text",text:l.text||""})});let u={role:"assistant"};return a.length===1&&a[0].type==="text"?u.content=a[0].text:a.length>0&&(u.content=a),u.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:u,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let a=e.response?.output?.some(l=>l.type==="function_call")?"tool_calls":"stop",u={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:0,delta:{},finish_reason:a}]};return e.response?.usage&&(u.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0}),u}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:e.type==="response.output_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{},finish_reason:null}]}:e.type==="response.output_item.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{},finish_reason:null}]}:null}jsonToSseStream(e){let r=new TextEncoder,n;try{n=JSON.parse(e)}catch{n=null}let o=s=>r.encode(`data: ${JSON.stringify(s)}
244
+ `)),_.close()}});return new Response(g,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream"}})}if(f.object==="response"&&f.output){let d=this.convertResponseToChat(f);return new Response(JSON.stringify(d),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return new Response(JSON.stringify(f),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return e}convertStreamEvent(e,r,n){let o=a=>n?n(a):a,s=a=>a||o(void 0);if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let a=[];(e.item.content||[]).forEach(c=>{c.type==="output_text"&&a.push({type:"text",text:c.text||""})});let u={role:"assistant"};return a.length===1&&a[0].type==="text"?u.content=a[0].text:a.length>0&&(u.content=a),u.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:u,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let a=e.response?.output?.some(c=>c.type==="function_call")?"tool_calls":"stop",u={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:0,delta:{},finish_reason:a}]};return e.response?.usage&&(u.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0}),u}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:e.type==="response.output_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{},finish_reason:null}]}:e.type==="response.output_item.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:r(e.type),delta:{},finish_reason:null}]}:null}jsonToSseStream(e){let r=new TextEncoder,n;try{n=JSON.parse(e)}catch{n=null}let o=s=>r.encode(`data: ${JSON.stringify(s)}
244
245
 
245
- `);return new ReadableStream({start(s){if(!n){s.close();return}let a={id:n.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:n.created||Math.floor(Date.now()/1e3),model:n.model||"unknown"},u=n.choices?.[0];if(u){let l=u.message||{};if(typeof l.content=="string"&&l.content&&s.enqueue(o({...a,choices:[{index:0,delta:{role:"assistant",content:l.content},finish_reason:null}]})),l.thinking?.content&&s.enqueue(o({...a,choices:[{index:0,delta:{thinking:{content:l.thinking.content}},finish_reason:null}]})),Array.isArray(l.tool_calls))for(let d of l.tool_calls)s.enqueue(o({...a,choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:0,id:d.id,type:"function",function:{name:d.function?.name||"",arguments:d.function?.arguments||""}}]},finish_reason:null}]}));let f={...a,choices:[{index:0,delta:{},finish_reason:u.finish_reason||"stop"}]};n.usage&&(f.usage={prompt_tokens:n.usage.prompt_tokens||0,completion_tokens:n.usage.completion_tokens||0,total_tokens:n.usage.total_tokens||0}),s.enqueue(o(f))}s.enqueue(r.encode(`data: [DONE]
246
+ `);return new ReadableStream({start(s){if(!n){s.close();return}let a={id:n.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:n.created||Math.floor(Date.now()/1e3),model:n.model||"unknown"},u=n.choices?.[0];if(u){let c=u.message||{};if(typeof c.content=="string"&&c.content&&s.enqueue(o({...a,choices:[{index:0,delta:{role:"assistant",content:c.content},finish_reason:null}]})),c.thinking?.content&&s.enqueue(o({...a,choices:[{index:0,delta:{thinking:{content:c.thinking.content}},finish_reason:null}]})),Array.isArray(c.tool_calls))for(let d of c.tool_calls)s.enqueue(o({...a,choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:0,id:d.id,type:"function",function:{name:d.function?.name||"",arguments:d.function?.arguments||""}}]},finish_reason:null}]}));let f={...a,choices:[{index:0,delta:{},finish_reason:u.finish_reason||"stop"}]};n.usage&&(f.usage={prompt_tokens:n.usage.prompt_tokens||0,completion_tokens:n.usage.completion_tokens||0,total_tokens:n.usage.total_tokens||0}),s.enqueue(o(f))}s.enqueue(r.encode(`data: [DONE]
246
247
 
247
- `)),s.close()}})}async readBodyAndPeek(e){let r=e.getReader(),n=new TextDecoder,o=()=>{try{r.releaseLock()}catch{}},s;try{s=await r.read()}catch(d){throw o(),d}if(s.done)return o(),null;let a=n.decode(s.value,{stream:!0}),l=a.trimStart().charAt(0)||"";if(l!=="{"&&l!=="[")return o(),null;let f=a;try{for(;;){let d=await r.read();if(d.done)break;f+=n.decode(d.value,{stream:!0})}}finally{f+=n.decode(),o()}return{firstChar:l,text:f}}async collectSseIntoChatCompletion(e,r){let n=e.body.getReader(),o=new TextDecoder,s="",a="unknown",u="chatcmpl-"+Date.now(),l=Math.floor(Date.now()/1e3),f="",d="",p=[],y=new Map,A=null,g,C=-1,b="",m=S=>(S!==b&&(C++,b=S),C),v=()=>{let S={role:"assistant"};d&&(S.thinking={content:d,signature:""});let T=Array.from(y.values());T.length&&(S.tool_calls=T),p.length&&(S.annotations=p),f?S.content=f:T.length===0&&!d?S.content=null:S.content=f||null;let O={index:0,message:S,logprobs:null,finish_reason:T.length?"tool_calls":A||"stop"};return{id:u,object:"chat.completion",created:l,model:a||"unknown",choices:[O],usage:g||null}},k=S=>{if(!S)return;S.id&&(u=S.id),S.model&&(a=S.model),S.created&&(l=S.created),S.usage&&(g=S.usage);let T=S.choices?.[0];if(!T)return;T.finish_reason&&(A=T.finish_reason);let O=T.delta||{};if(O.role,typeof O.content=="string"&&O.content&&(f+=O.content),O.thinking?.content&&(d+=O.thinking.content),O.thinking?.signature,Array.isArray(O.annotations))for(let N of O.annotations)p.push(N);if(Array.isArray(O.tool_calls))for(let N of O.tool_calls){let q=N.index??0,z=y.get(q)||{index:q,id:N.id,type:"function",function:{name:N.function?.name||"",arguments:""}};N.id&&(z.id=N.id),N.function?.name&&(z.function.name=N.function.name),typeof N.function?.arguments=="string"&&(z.function.arguments=(z.function.arguments||"")+N.function.arguments),y.set(q,z)}};for(;;){let{done:S,value:T}=await n.read();if(S)break;s+=o.decode(T,{stream:!0});let O=s.split(`
248
- `);s=O.pop()||"";for(let N of O){if(!N.startsWith("data: "))continue;let q=N.slice(5).trim();if(!(!q||q==="[DONE]"))try{let z=JSON.parse(q);if(z.response?.model){let X=r(z.response.model);X&&(a=X)}let Y=this.convertStreamEvent(z,m,r);k(Y)}catch{}}}return v()}normalizeRequestContent(e,r){let n=au(e);if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(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(l=>l.type==="message"),n=e.output?.find(l=>l.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(l=>({type:"url_citation",url_citation:{url:l.url||"",title:l.title||"",content:"",start_index:l.start_index||0,end_index:l.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(r&&r.reasoning&&(u={content:r.reasoning}),r&&r.content){let l=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")l.push(d.text||"");else if(d.type==="output_image"){let p=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});p&&f.push(p)}else if(d.type==="output_image_base64"){let p=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});p&&f.push(p)}}),f.length>0){let d=[];l.length>0&&d.push({type:"text",text:l.join("")}),d.push(...f),s=d}else s=l.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:u,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 xr=require("fs"),Dd=require("path"),vd=require("os"),Td=(0,Dd.join)((0,vd.homedir)(),".claude-code-router","qwen_auth.json"),KD="https://qwen.aikit.club",YD=1e4,XD=120;function QD(){try{if(!(0,xr.existsSync)(Td))return null;let t=JSON.parse((0,xr.readFileSync)(Td,"utf-8"));return t.token?t:null}catch{return null}}function ZD(t){let e=(0,Dd.join)((0,vd.homedir)(),".claude-code-router");(0,xr.existsSync)(e)||(0,xr.mkdirSync)(e,{recursive:!0}),(0,xr.writeFileSync)(Td,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function ev(t){try{let e=JSON.parse(Buffer.from(t.split(".")[1],"base64url").toString());if(e.exp)return e.exp*1e3}catch{}return null}async function tv(t){try{let e=await fetch(`${KD}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(YD)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function w0(){let t=QD();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+XD*1e3>=t.expiresAt){let e=await tv(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:ev(e),updatedAt:Date.now()},ZD(t)}return t}var rv="https://qwen.aikit.club",k0=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,xu=class{name="qwen-auth";logger;async buildAuthConfig(e){let r=await w0();return{url:e?.api_base_url||e?.baseUrl||rv,headers:{Authorization:`Bearer ${r.token}`}}}async transformRequestIn(e,r){return{body:e,config:await this.buildAuthConfig(r)}}async auth(e,r){return{config:await this.buildAuthConfig(r)}}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(!r||r.includes("text/event-stream"))return e.body?Ue(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Ee(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(Ee(n,o.encoder));return}let a=s.replace(k0,"");o.controller.enqueue(Ee(`data: ${a}`,o.encoder));return}o.controller.enqueue(Ee(n,o.encoder))}):e;if(r.includes("application/json")){let o=(await e.text()).replace(k0,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var Rd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
248
+ `)),s.close()}})}async readBodyAndPeek(e){let r=e.getReader(),n=new TextDecoder,o=()=>{try{r.releaseLock()}catch{}},s;try{s=await r.read()}catch(d){throw o(),d}if(s.done)return o(),null;let a=n.decode(s.value,{stream:!0}),c=a.trimStart().charAt(0)||"";if(c!=="{"&&c!=="[")return o(),null;let f=a;try{for(;;){let d=await r.read();if(d.done)break;f+=n.decode(d.value,{stream:!0})}}finally{f+=n.decode(),o()}return{firstChar:c,text:f}}async collectSseIntoChatCompletion(e,r){let n=e.body.getReader(),o=new TextDecoder,s="",a="unknown",u="chatcmpl-"+Date.now(),c=Math.floor(Date.now()/1e3),f="",d="",p=[],y=new Map,A=null,g,_=-1,b="",m=w=>(w!==b&&(_++,b=w),_),v=()=>{let w={role:"assistant"};d&&(w.thinking={content:d,signature:""});let T=Array.from(y.values());T.length&&(w.tool_calls=T),p.length&&(w.annotations=p),f?w.content=f:T.length===0&&!d?w.content=null:w.content=f||null;let O={index:0,message:w,logprobs:null,finish_reason:T.length?"tool_calls":A||"stop"};return{id:u,object:"chat.completion",created:c,model:a||"unknown",choices:[O],usage:g||null}},k=w=>{if(!w)return;w.id&&(u=w.id),w.model&&(a=w.model),w.created&&(c=w.created),w.usage&&(g=w.usage);let T=w.choices?.[0];if(!T)return;T.finish_reason&&(A=T.finish_reason);let O=T.delta||{};if(O.role,typeof O.content=="string"&&O.content&&(f+=O.content),O.thinking?.content&&(d+=O.thinking.content),O.thinking?.signature,Array.isArray(O.annotations))for(let N of O.annotations)p.push(N);if(Array.isArray(O.tool_calls))for(let N of O.tool_calls){let G=N.index??0,$=y.get(G)||{index:G,id:N.id,type:"function",function:{name:N.function?.name||"",arguments:""}};N.id&&($.id=N.id),N.function?.name&&($.function.name=N.function.name),typeof N.function?.arguments=="string"&&($.function.arguments=($.function.arguments||"")+N.function.arguments),y.set(G,$)}};for(;;){let{done:w,value:T}=await n.read();if(w)break;s+=o.decode(T,{stream:!0});let O=s.split(`
249
+ `);s=O.pop()||"";for(let N of O){if(!N.startsWith("data: "))continue;let G=N.slice(5).trim();if(!(!G||G==="[DONE]"))try{let $=JSON.parse(G);if($.response?.model){let K=r($.response.model);K&&(a=K)}let X=this.convertStreamEvent($,m,r);k(X)}catch{}}}return v()}normalizeRequestContent(e,r){let n=hu(e);if(e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(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(c=>c.type==="message"),n=e.output?.find(c=>c.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(c=>({type:"url_citation",url_citation:{url:c.url||"",title:c.title||"",content:"",start_index:c.start_index||0,end_index:c.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(r&&r.reasoning&&(u={content:r.reasoning}),r&&r.content){let c=[],f=[];if(r.content.forEach(d=>{if(d.type==="output_text")c.push(d.text||"");else if(d.type==="output_image"){let p=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});p&&f.push(p)}else if(d.type==="output_image_base64"){let p=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});p&&f.push(p)}}),f.length>0){let d=[];c.length>0&&d.push({type:"text",text:c.join("")}),d.push(...f),s=d}else s=c.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:u,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 Pr=require("fs"),Md=require("path"),Ud=require("os"),jd=(0,Md.join)((0,Ud.homedir)(),".claude-code-router","qwen_auth.json"),xv="https://qwen.aikit.club",Ov=1e4,Fv=120;function Pv(){try{if(!(0,Pr.existsSync)(jd))return null;let t=JSON.parse((0,Pr.readFileSync)(jd,"utf-8"));return t.token?t:null}catch{return null}}function Iv(t){let e=(0,Md.join)((0,Ud.homedir)(),".claude-code-router");(0,Pr.existsSync)(e)||(0,Pr.mkdirSync)(e,{recursive:!0}),(0,Pr.writeFileSync)(jd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function Nv(t){try{let e=JSON.parse(Buffer.from(t.split(".")[1],"base64url").toString());if(e.exp)return e.exp*1e3}catch{}return null}async function Bv(t){try{let e=await fetch(`${xv}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(Ov)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function q0(){let t=Pv();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+Fv*1e3>=t.expiresAt){let e=await Bv(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:Nv(e),updatedAt:Date.now()},Iv(t)}return t}var jv="https://qwen.aikit.club",$0=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,Bu=class{name="qwen-auth";logger;async buildAuthConfig(e){let r=await q0();return{url:e?.api_base_url||e?.baseUrl||jv,headers:{Authorization:`Bearer ${r.token}`}}}async transformRequestIn(e,r){return{body:e,config:await this.buildAuthConfig(r)}}async auth(e,r){return{config:await this.buildAuthConfig(r)}}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(!r||r.includes("text/event-stream"))return e.body?qe(e,(n,o)=>{if(!n.trim()){o.controller.enqueue(Te(n,o.encoder));return}if(n.startsWith("data: ")){let s=n.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(Te(n,o.encoder));return}let a=s.replace($0,"");o.controller.enqueue(Te(`data: ${a}`,o.encoder));return}o.controller.enqueue(Te(n,o.encoder))}):e;if(r.includes("application/json")){let o=(await e.text()).replace($0,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var Ld=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
249
250
 
250
251
  Output format:
251
252
  <reasoning_content>
252
253
  Your detailed thinking process goes here
253
254
  </reasoning_content>
254
- Your final answer must follow after the closing tag above.`,nv=10,Ou=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<nv)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
255
- ${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:Rd}):n.content=[{type:"text",text:Rd},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Rd}]}),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,u=new ReadableStream({async start(l){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=(C,b)=>{if(typeof b!="string"){C.choices?.[0]?.delta&&Object.keys(C.choices[0].delta).length>0&&!C.choices[0].delta.content&&(C.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(C)}
255
+ Your final answer must follow after the closing tag above.`,Mv=10,ju=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<Mv)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
256
+ ${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:Ld}):n.content=[{type:"text",text:Ld},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Ld}]}),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,u=new ReadableStream({async start(c){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=(_,b)=>{if(typeof b!="string"){_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0&&!_.choices[0].delta.content&&(_.choices[0].index=o,c.enqueue(a.encode(`data: ${JSON.stringify(_)}
256
257
 
257
- `)));return}let m=y+b;for(y="";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 k=r.length-1;k>0;k--)if(m.endsWith(r.substring(0,k))){y=m.substring(m.length-k);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let k=m.substring(0,v);if(k.length>0){let O={...C.choices[0].delta,thinking:{content:k}};delete O.content;let N={...C,choices:[{...C.choices[0],delta:O,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(N)}
258
+ `)));return}let m=y+b;for(y="";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 k=r.length-1;k>0;k--)if(m.endsWith(r.substring(0,k))){y=m.substring(m.length-k);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let k=m.substring(0,v);if(k.length>0){let O={..._.choices[0].delta,thinking:{content:k}};delete O.content;let N={..._,choices:[{..._.choices[0],delta:O,index:o}]};c.enqueue(a.encode(`data: ${JSON.stringify(N)}
258
259
 
259
- `))}let S={...C.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete S.content;let T={...C,choices:[{...C.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
260
+ `))}let w={..._.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete w.content;let T={..._,choices:[{..._.choices[0],delta:w,index:o}]};c.enqueue(a.encode(`data: ${JSON.stringify(T)}
260
261
 
261
- `)),o++,m=m.substring(v+n.length),p="FINAL"}else{let k=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){y=m.substring(m.length-S),k=m.substring(0,m.length-S);break}if(k.length>0){let S={...C.choices[0].delta,thinking:{content:k}};delete S.content;let T={...C,choices:[{...C.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
262
+ `)),o++,m=m.substring(v+n.length),p="FINAL"}else{let k=m;for(let w=n.length-1;w>0;w--)if(m.endsWith(n.substring(0,w))){y=m.substring(m.length-w),k=m.substring(0,m.length-w);break}if(k.length>0){let w={..._.choices[0].delta,thinking:{content:k}};delete w.content;let T={..._,choices:[{..._.choices[0],delta:w,index:o}]};c.enqueue(a.encode(`data: ${JSON.stringify(T)}
262
263
 
263
- `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let k=A+m,S={...C.choices[0].delta,content:k};S.thinking&&delete S.thinking;let T={...C,choices:[{...C.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
264
+ `))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let k=A+m,w={..._.choices[0].delta,content:k};w.thinking&&delete w.thinking;let T={..._,choices:[{..._.choices[0],delta:w}]};c.enqueue(a.encode(`data: ${JSON.stringify(T)}
264
265
 
265
- `)),A=""}o++,m=""}};try{for(;;){let{done:C,value:b}=await f.read();if(C)break;let m=s.decode(b,{stream:!0});d+=m;let v=d.split(`
266
- `);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){l.enqueue(a.encode(k+`
266
+ `)),A=""}o++,m=""}};try{for(;;){let{done:_,value:b}=await f.read();if(_)break;let m=s.decode(b,{stream:!0});d+=m;let v=d.split(`
267
+ `);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){c.enqueue(a.encode(k+`
267
268
 
268
- `));break}if(k.startsWith("data:"))try{let S=JSON.parse(k.slice(5));g(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(k+`
269
- `))}else l.enqueue(a.encode(k+`
270
- `))}}}catch(C){this.logger?.error("Stream error:",C),l.error(C)}finally{try{f.releaseLock()}catch(C){this.logger?.error("Error releasing reader lock:",C)}if(p==="REASONING"){let b={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(b)}
269
+ `));break}if(k.startsWith("data:"))try{let w=JSON.parse(k.slice(5));g(w,w.choices?.[0]?.delta?.content)}catch{c.enqueue(a.encode(k+`
270
+ `))}else c.enqueue(a.encode(k+`
271
+ `))}}}catch(_){this.logger?.error("Stream error:",_),c.error(_)}finally{try{f.releaseLock()}catch(_){this.logger?.error("Error releasing reader lock:",_)}if(p==="REASONING"){let b={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};c.enqueue(a.encode(`data: ${JSON.stringify(b)}
271
272
 
272
- `))}l.close()}}});return new Response(u,{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 Fu=class{name="extrathinktag";async transformRequestIn(e){return e}async transformResponseOut(e){let r="<think>",n="</think>";if(e.headers.get("Content-Type")?.includes("application/json"))try{let l=await e.json(),f=l?.choices?.[0]?.message?.content;if(typeof f=="string"){let d=f.match(/<think>([\s\S]*?)<\/think>/);d?.[1]&&(l.thinking={content:d[1]})}return new Response(JSON.stringify(l),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return e}if(!e.headers.get("Content-Type")?.includes("stream")||!e.body)return e;let o=new TextDecoder,s=new TextEncoder,a=0,u=new ReadableStream({async start(l){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=b=>{l.enqueue(s.encode(`data: ${JSON.stringify(b)}
273
+ `))}c.close()}}});return new Response(u,{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 Mu=class{name="extrathinktag";async transformRequestIn(e){return e}async transformResponseOut(e){let r="<think>",n="</think>";if(e.headers.get("Content-Type")?.includes("application/json"))try{let c=await e.json(),f=c?.choices?.[0]?.message?.content;if(typeof f=="string"){let d=f.match(/<think>([\s\S]*?)<\/think>/);d?.[1]&&(c.thinking={content:d[1]})}return new Response(JSON.stringify(c),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return e}if(!e.headers.get("Content-Type")?.includes("stream")||!e.body)return e;let o=new TextDecoder,s=new TextEncoder,a=0,u=new ReadableStream({async start(c){let f=e.body.getReader(),d="",p="SEARCHING",y="",A="",g=b=>{c.enqueue(s.encode(`data: ${JSON.stringify(b)}
273
274
 
274
- `))},C=(b,m)=>{if(typeof m!="string"&&b?.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0&&!b.choices[0].delta.content){b.choices[0].index=a,g(b);return}if(typeof m!="string")return;let v=y+m;for(y="";v.length>0;){if(p==="SEARCHING"){let k=v.indexOf(r);if(k!==-1){v=v.substring(k+r.length),p="THINKING";continue}for(let S=r.length-1;S>0;S--)if(v.endsWith(r.substring(0,S))){y=v.substring(v.length-S);break}v="";continue}if(p==="THINKING"){let k=v.indexOf(n);if(k!==-1){let T=v.substring(0,k);if(T.length>0){let N={...b.choices[0].delta,thinking:{content:T}};delete N.content,g({...b,choices:[{...b.choices[0],delta:N,index:a}]})}let O={...b.choices[0].delta,thinking:{signature:Date.now().toString()}};delete O.content,g({...b,choices:[{...b.choices[0],delta:O,index:a}]}),a++,v=v.substring(k+n.length),p="FINAL";continue}let S=v;for(let T=n.length-1;T>0;T--)if(v.endsWith(n.substring(0,T))){y=v.substring(v.length-T),S=v.substring(0,v.length-T);break}if(S.length>0){let T={...b.choices[0].delta,thinking:{content:S}};delete T.content,g({...b,choices:[{...b.choices[0],delta:T,index:a}]})}v="";continue}if(v.length>0)if(/^\s*$/.test(v))A+=v;else{let k=A+v,S={...b.choices[0].delta,content:k};S.thinking&&delete S.thinking,g({...b,choices:[{...b.choices[0],delta:S}]}),A=""}a++,v=""}};try{for(;;){let{done:b,value:m}=await f.read();if(b)break;d+=o.decode(m,{stream:!0});let v=d.split(`
275
- `);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){l.enqueue(s.encode(k+`
275
+ `))},_=(b,m)=>{if(typeof m!="string"&&b?.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0&&!b.choices[0].delta.content){b.choices[0].index=a,g(b);return}if(typeof m!="string")return;let v=y+m;for(y="";v.length>0;){if(p==="SEARCHING"){let k=v.indexOf(r);if(k!==-1){v=v.substring(k+r.length),p="THINKING";continue}for(let w=r.length-1;w>0;w--)if(v.endsWith(r.substring(0,w))){y=v.substring(v.length-w);break}v="";continue}if(p==="THINKING"){let k=v.indexOf(n);if(k!==-1){let T=v.substring(0,k);if(T.length>0){let N={...b.choices[0].delta,thinking:{content:T}};delete N.content,g({...b,choices:[{...b.choices[0],delta:N,index:a}]})}let O={...b.choices[0].delta,thinking:{signature:Date.now().toString()}};delete O.content,g({...b,choices:[{...b.choices[0],delta:O,index:a}]}),a++,v=v.substring(k+n.length),p="FINAL";continue}let w=v;for(let T=n.length-1;T>0;T--)if(v.endsWith(n.substring(0,T))){y=v.substring(v.length-T),w=v.substring(0,v.length-T);break}if(w.length>0){let T={...b.choices[0].delta,thinking:{content:w}};delete T.content,g({...b,choices:[{...b.choices[0],delta:T,index:a}]})}v="";continue}if(v.length>0)if(/^\s*$/.test(v))A+=v;else{let k=A+v,w={...b.choices[0].delta,content:k};w.thinking&&delete w.thinking,g({...b,choices:[{...b.choices[0],delta:w}]}),A=""}a++,v=""}};try{for(;;){let{done:b,value:m}=await f.read();if(b)break;d+=o.decode(m,{stream:!0});let v=d.split(`
276
+ `);d=v.pop()||"";for(let k of v)if(k.trim()){if(k.trim()==="data: [DONE]"){c.enqueue(s.encode(k+`
276
277
 
277
- `));continue}if(k.startsWith("data:"))try{let S=JSON.parse(k.slice(5));C(S,S?.choices?.[0]?.delta?.content)}catch{l.enqueue(s.encode(k+`
278
- `))}else l.enqueue(s.encode(k+`
279
- `))}}}catch(b){console.error("Stream error:",b),l.error(b)}finally{try{f.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}p==="THINKING"&&g({choices:[{delta:{thinking:{signature:Date.now().toString()}}}]}),l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}};function ov(t){let e={...t};if(Array.isArray(e.content)){let r=e.content,n=r.some(s=>s.type==="image_url"),o=r.some(s=>s.type==="thinking");if(n||o)e.content=r.map(s=>{if(s.type==="text"){let{cache_control:a,...u}=s;return u}return s});else{let s=r.filter(a=>a.type==="text").map(a=>a.text).filter(a=>a&&a.length>0);e.content=s.join(`
280
- `)}}return e.cache_control&&delete e.cache_control,e}function sv(t){return t==="auto"||t==="none"?t:t==="required"?"any":typeof t=="object"&&t.function?.name?{type:"function",function:{name:t.function.name}}:t}function iv(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var S0=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function E0(t){let e={...t};if(Array.isArray(e.messages)&&(e.messages=e.messages.map(r=>ov(r))),e.stream===void 0&&(e.stream=!0),e.tool_choice&&(e.tool_choice=sv(e.tool_choice)),Array.isArray(e.tools)&&(e.tools=e.tools.map(r=>r?.function?.parameters?{...r,function:{...r.function,parameters:wi(r.function.parameters)}}:r)),e.reasoning&&e.model){let r=e.model;(r.startsWith("magistral-")||r.startsWith("labs-leanstral-")||r==="mistral-vibe-cli-fast"||r.startsWith("mistral-small-")&&!S0.has(r)||r.startsWith("mistral-medium-")&&!S0.has(r))&&(e.reasoning_effort=iv(e.reasoning)),delete e.reasoning}return e}async function A0(t,e,r){let n=t.headers.get("Content-Type")??"";if(n.includes("application/json")){let o=await t.json();r?.debug({response:o},`${e} response:`);let s=o.choices?.[0];if(s?.message){let a=s.message,u="";if(a.reasoning_content){let l=a.reasoning_content;u+=typeof l=="string"?l:typeof l?.text=="string"?l.text:JSON.stringify(l),delete a.reasoning_content}if(Array.isArray(a.content)){let l="";for(let f of a.content)if(f.type==="thinking"){let d=Array.isArray(f.thinking)?f.thinking:[f.thinking];u+=d.map(p=>typeof p=="string"?p:p&&typeof p.text=="string"?p.text:JSON.stringify(p)).join("")}else f.type==="text"&&(l+=typeof f.text=="string"?f.text:JSON.stringify(f.text??""));a.content=l}u&&(o.thinking={content:u})}return new Response(JSON.stringify(o),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(n.includes("stream"))return t.body?Ue(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(Ee(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(Ee(o,s.encoder));return}try{let a=o.slice(5).trim(),u=JSON.parse(a),l=u.choices?.[0]?.delta;if(!l){s.controller.enqueue(Ee(o,s.encoder));return}let f=Eo(l);if(f){let d=Zr(u,{content:f});en(d.choices[0].delta);let p=l.content;if(Array.isArray(p)){let y="",A=p.filter(g=>g.type==="text").map(g=>typeof g.text=="string"?g.text:JSON.stringify(g.text??"")).join("");for(let g of p)if(g.type==="thinking"){let C=Array.isArray(g.thinking)?g.thinking:[g.thinking];y+=C.map(b=>typeof b=="string"?b:b&&typeof b.text=="string"?b.text:JSON.stringify(b)).join("")}delete d.choices[0].delta.content,(y||f)&&(d.choices[0].delta.thinking={content:y||f}),A&&(d.choices[0].delta.content=A)}s.controller.enqueue(je(JSON.stringify(d),s.encoder));return}if(Array.isArray(l.content)){let d="",p=l.content.filter(y=>y.type==="text").map(y=>typeof y.text=="string"?y.text:JSON.stringify(y.text??"")).join("");for(let y of l.content)if(y.type==="thinking"){let A=Array.isArray(y.thinking)?y.thinking:[y.thinking];d+=A.map(g=>typeof g=="string"?g:g&&typeof g.text=="string"?g.text:JSON.stringify(g)).join("")}delete l.content,d&&(l.thinking={content:d}),p&&(l.content=p)}s.controller.enqueue(je(JSON.stringify(u),s.encoder))}catch{s.controller.enqueue(Ee(o,s.encoder))}}):t;return t}var Pu=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:E0(e),config:{url:new URL("/v1/chat/completions",r.baseUrl),headers:{Authorization:`Bearer ${r.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,r){try{return await A0(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var av="http://127.0.0.1:3457",Iu=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||av;return n?.req?.body&&(n.req.body.stream=!0),{body:{...e,stream:!0},config:{url:`${o}/v1/chat/completions`,headers:{"Content-Type":"application/json"}}}}async transformResponseOut(e){return(e.headers.get("Content-Type")||"").includes("text/event-stream")||!e.body,e}};var Bu=require("crypto"),uv="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Nu=class{name="opencode-headers";sessionCache=new Map;MAX_SESSIONS=100;lastTimestamp=0;counter=0;async transformRequestIn(e,r,n){let o=n?.req?.sessionId||this.fingerprintConversation(e,n),s=this.getOrCreateSessionId(o),a=this.generateId("msg");return{body:e.body||e,config:{...e.config,headers:{...e.config?.headers,"x-api-key":r.apiKey||"","x-opencode-project":"global","x-opencode-session":s,"x-opencode-request":a,"x-opencode-client":"cli","user-agent":"opencode/1.17.1",authorization:void 0}}}}fingerprintConversation(e,r){let n=e.body||e,o=n.model||"",s=n.messages||[],a=JSON.stringify(s.slice(0,3)),u=r?.req?.headers?.["x-forwarded-for"]||r?.req?.ip||"",l=r?.req?.headers?.["user-agent"]||"";return(0,Bu.createHash)("sha256").update(`${o}|${u}|${l}|${a}`).digest("hex").slice(0,32)}getOrCreateSessionId(e){let r=this.sessionCache.get(e);if(r)return r;if(this.sessionCache.size>=this.MAX_SESSIONS){let o=this.sessionCache.keys().next().value;o!==void 0&&this.sessionCache.delete(o)}let n=this.generateId("ses");return this.sessionCache.set(e,n),n}generateId(e){let r=Date.now();r!==this.lastTimestamp&&(this.lastTimestamp=r,this.counter=0),this.counter++;let n=BigInt(r)*BigInt(4096)+BigInt(this.counter),o=Buffer.alloc(6);for(let u=0;u<6;u++)o[u]=Number(n>>BigInt(40-8*u)&BigInt(255));let s=(0,Bu.randomBytes)(14),a="";for(let u=0;u<14;u++)a+=uv[s[u]%62];return`${e}_${o.toString("hex")}${a}`}};var Or=require("fs"),Od=require("path"),Fd=require("os"),xd=(0,Od.join)((0,Fd.homedir)(),".claude-code-router","claude_auth.json"),T0={client_id:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorization_endpoint:"https://claude.ai/oauth/authorize",token_endpoint:"https://platform.claude.com/v1/oauth/token",scope:"user:profile user:inference user:sessions:claude_code user:mcp_servers"};function cv(){try{if(!(0,Or.existsSync)(xd))return null;let t=(0,Or.readFileSync)(xd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function lv(t){let e=(0,Od.join)((0,Fd.homedir)(),".claude-code-router");(0,Or.existsSync)(e)||(0,Or.mkdirSync)(e,{recursive:!0}),(0,Or.writeFileSync)(xd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function fv(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function dv(t){let e=await fetch(T0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:T0.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),last_refresh:Date.now()/1e3}}async function D0(){let t=cv();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(fv(t)){if(!t.refresh_token)throw new Error("Claude OAuth token expired and no refresh token available. Run `ccr claude-auth` to re-authenticate.");t=await dv(t.refresh_token),lv(t)}return t}function Pd(t){return!t||typeof t!="object"?!1:Array.isArray(t)?t.some(e=>Pd(e)):t.cache_control?!0:Object.values(t).some(e=>Pd(e))}var ju=class{name="claude-auth";logger;async transformRequestIn(e,r){let n=await D0(),o=r?.api_base_url??r?.baseUrl??"https://api.anthropic.com",s=o.endsWith("/v1/messages")?o:`${o.replace(/\/$/,"")}/v1/messages`,a=new URL(s);a.searchParams.set("beta","true");let u=Vn.buildAnthropicBody(e,this.logger),l={Authorization:`Bearer ${n.access_token}`,"anthropic-version":"2023-06-01","Content-Type":"application/json","User-Agent":"claude-cli/2.1.195 (external, cli)"},f=e.thinking?.type==="enabled"||e.thinking?.type==="adaptive"||e.enable_thinking||e.anthropic_thinking,d=Pd(u);return(f||d)&&(l["anthropic-beta"]="interleaved-thinking-2025-05-14,effort-2025-11-24,prompt-caching-scope-2026-01-05"),{body:u,config:{url:a.toString(),headers:l}}}async transformResponseOut(e){return _u(e,this.name,this.logger)}};var X0=require("@cursor/sdk");var hv=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function v0(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!hv.test(e)&&!e.includes("$CURSOR_API_KEY")&&!e.includes("${"))return e;let r=process.env.CURSOR_API_KEY?.trim();if(r)return r;throw Object.assign(new Error("Cursor API key not found. Set Providers[].api_key to a crsr_ key, or export CURSOR_API_KEY."),{statusCode:401,code:"provider_response_error",type:"api_error"})}var R0=require("crypto"),x0=require("os"),Id=require("path"),Nd="cursor-sdk",Mu="bridge",pv=(0,Id.join)((0,x0.homedir)(),".claude-code-router"),Uu=(0,Id.join)(pv,"cursor-sdk-workspaces"),O0=900*1e3,Bd=32,F0=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],Es="custom-user-tools";function P0(t){return(0,R0.createHash)("sha256").update(t.filter(Boolean).join(`
281
- `)).digest("hex").slice(0,32)}function As(t){if(typeof t=="string")return t;if(t==null)return"";if(typeof t=="object"){let e=t;if(typeof e.text=="string")return e.text;if(typeof e.content=="string")return e.content;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function I0(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function N0(t,e){let r=Math.floor(Date.now()/1e3),n=`chatcmpl-cursor-${Date.now()}`,o=()=>({id:n,object:"chat.completion.chunk",created:r,model:t});return{setId(s){s&&(n=s)},content(s){return{...o(),choices:[{index:0,delta:{role:"assistant",content:s},finish_reason:null}]}},thinking(s){return{...o(),choices:[{index:0,delta:{thinking:{content:As(s)}},finish_reason:null}]}},toolCall(s,a=0){return{...o(),choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:a,id:s.id,type:"function",function:{name:s.name,arguments:JSON.stringify(s.args??{})}}]},finish_reason:null}]}},finish(s,a){let u=Number(a?.prompt_tokens)||0,l=Number(a?.completion_tokens)||0,f=Number(a?.total_tokens)||u+l;return{...o(),choices:[{index:0,delta:{},finish_reason:s}],usage:{prompt_tokens:u,completion_tokens:l,total_tokens:f,prompt_tokens_details:{cached_tokens:Number(a?.prompt_tokens_details?.cached_tokens)||0}}}},encode(s){return je(JSON.stringify(s),e)},encodeDone(){return je("[DONE]",e)}}}function B0(t,e){let r="",n="",o=[],s="stop",a=null,u=`chatcmpl-cursor-${Date.now()}`,l=Math.floor(Date.now()/1e3);for(let d of e){typeof d.id=="string"&&(u=d.id);let p=d.choices?.[0];if(!p)continue;p.finish_reason&&(s=p.finish_reason);let y=p.delta||{};if(typeof y.content=="string"&&(r+=y.content),y.thinking?.content&&(n+=As(y.thinking.content)),Array.isArray(y.tool_calls))for(let A of y.tool_calls){let g=A.index??o.length;o[g]||(o[g]={id:A.id,type:"function",function:{name:A.function?.name||"",arguments:""}}),A.id&&(o[g].id=A.id),A.function?.name&&(o[g].function.name=A.function.name),typeof A.function?.arguments=="string"&&(o[g].function.arguments+=A.function.arguments)}d.usage&&(a=d.usage)}let f={role:"assistant",content:r||null};return n&&(f.thinking={content:n,signature:""}),o.length&&(f.tool_calls=o.filter(Boolean),s="tool_calls"),{id:u,object:"chat.completion",created:l,model:t,choices:[{index:0,message:f,finish_reason:s}],usage:a}}function Ts(t){return t==null?"":typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):"").filter(Boolean).join(`
282
- `):String(t)}function gv(t){if(!Array.isArray(t))return[];let e=[];for(let r of t)if(!(!r||typeof r!="object")&&r.type==="image_url"&&r.image_url?.url){let n=String(r.image_url.url),o=n.match(/^data:([^;]+);base64,(.+)$/);o?e.push({data:o[2],mimeType:o[1]}):e.push({url:n})}return e}function mv(t){return!Array.isArray(t.tools)||t.tools.length===0?"(no host tools advertised on this request)":t.tools.map(e=>{let r=e.function?.name||"unknown",n=e.function?.description||"";return`- ${r}: ${n}`}).join(`
283
- `)}function yv(t,e){return["You are running inside the Claude Code Router Cursor SDK bridge.","Claude Code (the host) owns filesystem, shell, and project tools.","Cursor built-in tools are denied in this workspace \u2014 do not call them.",`Host tools are exposed via MCP server "${Es}" using bare tool names.`,`Isolated agent cwd (do not treat as the user project): ${e}`,"Pass absolute paths into host tools when referring to the user's real project files.","Available host tools:",mv(t)].join(`
284
- `)}function j0(t,e){let r=t.messages||[],n=[];e.mode==="bridge"?(n.push(yv(t,e.workspaceDir)),n.push("")):e.mode==="plan"&&(n.push("You are a planning/chat assistant. Respond with text and reasoning only. Do not execute tools."),n.push(""));let o=r.filter(f=>f.role==="system");for(let f of o){let d=Ts(f.content);d&&n.push(`[system]
285
- ${d}`)}let s=r.filter(f=>f.role!=="system"),a=e.followUpOnly?s.slice(-Math.max(1,_v(s)+1)):s,u=[];for(let f of a){if(f.role==="assistant"){let d=Ts(f.content);if(d&&n.push(`[assistant]
278
+ `));continue}if(k.startsWith("data:"))try{let w=JSON.parse(k.slice(5));_(w,w?.choices?.[0]?.delta?.content)}catch{c.enqueue(s.encode(k+`
279
+ `))}else c.enqueue(s.encode(k+`
280
+ `))}}}catch(b){console.error("Stream error:",b),c.error(b)}finally{try{f.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}p==="THINKING"&&g({choices:[{delta:{thinking:{signature:Date.now().toString()}}}]}),c.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}};function Uv(t){let e={...t};if(Array.isArray(e.content)){let r=e.content,n=r.some(s=>s.type==="image_url"),o=r.some(s=>s.type==="thinking");if(n||o)e.content=r.map(s=>{if(s.type==="text"){let{cache_control:a,...u}=s;return u}return s});else{let s=r.filter(a=>a.type==="text").map(a=>a.text).filter(a=>a&&a.length>0);e.content=s.join(`
281
+ `)}}return e.cache_control&&delete e.cache_control,e}function Lv(t){return t==="auto"||t==="none"?t:t==="required"?"any":typeof t=="object"&&t.function?.name?{type:"function",function:{name:t.function.name}}:t}function qv(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var z0=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function H0(t){let e={...t};if(Array.isArray(e.messages)&&(e.messages=e.messages.map(r=>Uv(r))),e.stream===void 0&&(e.stream=!0),e.tool_choice&&(e.tool_choice=Lv(e.tool_choice)),Array.isArray(e.tools)&&(e.tools=e.tools.map(r=>r?.function?.parameters?{...r,function:{...r.function,parameters:Di(r.function.parameters)}}:r)),e.reasoning&&e.model){let r=e.model;(r.startsWith("magistral-")||r.startsWith("labs-leanstral-")||r==="mistral-vibe-cli-fast"||r.startsWith("mistral-small-")&&!z0.has(r)||r.startsWith("mistral-medium-")&&!z0.has(r))&&(e.reasoning_effort=qv(e.reasoning)),delete e.reasoning}return e}async function W0(t,e,r){let n=t.headers.get("Content-Type")??"";if(n.includes("application/json")){let o=await t.json();r?.debug({response:o},`${e} response:`);let s=o.choices?.[0];if(s?.message){let a=s.message,u="";if(a.reasoning_content){let c=a.reasoning_content;u+=typeof c=="string"?c:typeof c?.text=="string"?c.text:JSON.stringify(c),delete a.reasoning_content}if(Array.isArray(a.content)){let c="";for(let f of a.content)if(f.type==="thinking"){let d=Array.isArray(f.thinking)?f.thinking:[f.thinking];u+=d.map(p=>typeof p=="string"?p:p&&typeof p.text=="string"?p.text:JSON.stringify(p)).join("")}else f.type==="text"&&(c+=typeof f.text=="string"?f.text:JSON.stringify(f.text??""));a.content=c}u&&(o.thinking={content:u})}return new Response(JSON.stringify(o),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(n.includes("stream"))return t.body?qe(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(Te(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(Te(o,s.encoder));return}try{let a=o.slice(5).trim(),u=JSON.parse(a),c=u.choices?.[0]?.delta;if(!c){s.controller.enqueue(Te(o,s.encoder));return}let f=Ro(c);if(f){let d=nn(u,{content:f});on(d.choices[0].delta);let p=c.content;if(Array.isArray(p)){let y="",A=p.filter(g=>g.type==="text").map(g=>typeof g.text=="string"?g.text:JSON.stringify(g.text??"")).join("");for(let g of p)if(g.type==="thinking"){let _=Array.isArray(g.thinking)?g.thinking:[g.thinking];y+=_.map(b=>typeof b=="string"?b:b&&typeof b.text=="string"?b.text:JSON.stringify(b)).join("")}delete d.choices[0].delta.content,(y||f)&&(d.choices[0].delta.thinking={content:y||f}),A&&(d.choices[0].delta.content=A)}s.controller.enqueue(Me(JSON.stringify(d),s.encoder));return}if(Array.isArray(c.content)){let d="",p=c.content.filter(y=>y.type==="text").map(y=>typeof y.text=="string"?y.text:JSON.stringify(y.text??"")).join("");for(let y of c.content)if(y.type==="thinking"){let A=Array.isArray(y.thinking)?y.thinking:[y.thinking];d+=A.map(g=>typeof g=="string"?g:g&&typeof g.text=="string"?g.text:JSON.stringify(g)).join("")}delete c.content,d&&(c.thinking={content:d}),p&&(c.content=p)}s.controller.enqueue(Me(JSON.stringify(u),s.encoder))}catch{s.controller.enqueue(Te(o,s.encoder))}}):t;return t}var Uu=class{name="mistral";logger;async transformRequestIn(e,r,n){return{body:H0(e),config:{url:new URL("/v1/chat/completions",r.baseUrl),headers:{Authorization:`Bearer ${r.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,r){try{return await W0(e,this.name,this.logger)}catch(n){throw this.logger?.error({error:n.message,response:e},"Mistral transformResponseOut error:"),n}}};var $v="http://127.0.0.1:3457",Lu=class{name="chrome-on-device";async transformRequestIn(e,r,n){let o=process.env.CHROME_BRIDGE_URL||r?.baseUrl||$v;return n?.req?.body&&(n.req.body.stream=!0),{body:{...e,stream:!0},config:{url:`${o}/v1/chat/completions`,headers:{"Content-Type":"application/json"}}}}async transformResponseOut(e){return(e.headers.get("Content-Type")||"").includes("text/event-stream")||!e.body,e}};var $u=require("crypto"),zv="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",qu=class{name="opencode-headers";sessionCache=new Map;MAX_SESSIONS=100;lastTimestamp=0;counter=0;async transformRequestIn(e,r,n){let o=n?.req?.sessionId||this.fingerprintConversation(e,n),s=this.getOrCreateSessionId(o),a=this.generateId("msg");return{body:e.body||e,config:{...e.config,headers:{...e.config?.headers,"x-api-key":r.apiKey||"","x-opencode-project":"global","x-opencode-session":s,"x-opencode-request":a,"x-opencode-client":"cli","user-agent":"opencode/1.17.1",authorization:void 0}}}}fingerprintConversation(e,r){let n=e.body||e,o=n.model||"",s=n.messages||[],a=JSON.stringify(s.slice(0,3)),u=r?.req?.headers?.["x-forwarded-for"]||r?.req?.ip||"",c=r?.req?.headers?.["user-agent"]||"";return(0,$u.createHash)("sha256").update(`${o}|${u}|${c}|${a}`).digest("hex").slice(0,32)}getOrCreateSessionId(e){let r=this.sessionCache.get(e);if(r)return r;if(this.sessionCache.size>=this.MAX_SESSIONS){let o=this.sessionCache.keys().next().value;o!==void 0&&this.sessionCache.delete(o)}let n=this.generateId("ses");return this.sessionCache.set(e,n),n}generateId(e){let r=Date.now();r!==this.lastTimestamp&&(this.lastTimestamp=r,this.counter=0),this.counter++;let n=BigInt(r)*BigInt(4096)+BigInt(this.counter),o=Buffer.alloc(6);for(let u=0;u<6;u++)o[u]=Number(n>>BigInt(40-8*u)&BigInt(255));let s=(0,$u.randomBytes)(14),a="";for(let u=0;u<14;u++)a+=zv[s[u]%62];return`${e}_${o.toString("hex")}${a}`}};var Ir=require("fs"),$d=require("path"),zd=require("os"),qd=(0,$d.join)((0,zd.homedir)(),".claude-code-router","claude_auth.json"),G0={client_id:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorization_endpoint:"https://claude.ai/oauth/authorize",token_endpoint:"https://platform.claude.com/v1/oauth/token",scope:"user:profile user:inference user:sessions:claude_code user:mcp_servers"};function Hv(){try{if(!(0,Ir.existsSync)(qd))return null;let t=(0,Ir.readFileSync)(qd,"utf-8"),e=JSON.parse(t);return e.access_token?e:null}catch{return null}}function Wv(t){let e=(0,$d.join)((0,zd.homedir)(),".claude-code-router");(0,Ir.existsSync)(e)||(0,Ir.mkdirSync)(e,{recursive:!0}),(0,Ir.writeFileSync)(qd,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function Gv(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function Jv(t){let e=await fetch(G0.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:G0.client_id,refresh_token:t})});if(!e.ok){let n=await e.text();throw new Error(`Token refresh failed (${e.status}): ${n}`)}let r=await e.json();return{access_token:r.access_token,refresh_token:r.refresh_token,id_token:r.id_token,token_type:r.token_type||"Bearer",scope:r.scope,expires_at:r.expires_at||Date.now()/1e3+(r.expires_in||3600),last_refresh:Date.now()/1e3}}async function J0(){let t=Hv();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(Gv(t)){if(!t.refresh_token)throw new Error("Claude OAuth token expired and no refresh token available. Run `ccr claude-auth` to re-authenticate.");t=await Jv(t.refresh_token),Wv(t)}return t}var Vv="oauth-2025-04-20";function Hd(t){return!t||typeof t!="object"?!1:Array.isArray(t)?t.some(e=>Hd(e)):t.cache_control?!0:Object.values(t).some(e=>Hd(e))}function Kv(...t){let e=new Set,r=[];for(let n of t)if(n)for(let o of n.split(",")){let s=o.trim();!s||e.has(s)||(e.add(s),r.push(s))}return r.join(",")}var zu=class{name="claude-auth";logger;async transformRequestIn(e,r){let n=await J0(),o=r?.api_base_url??r?.baseUrl??"https://api.anthropic.com",s=o.endsWith("/v1/messages")?o:`${o.replace(/\/$/,"")}/v1/messages`,a=new URL(s);a.searchParams.set("beta","true");let u=Zn.buildAnthropicBody(e,this.logger),c={Authorization:`Bearer ${n.access_token}`,"anthropic-version":"2023-06-01","Content-Type":"application/json","User-Agent":"claude-cli/2.1.195 (external, cli)"},f=e.thinking?.type==="enabled"||e.thinking?.type==="adaptive"||e.enable_thinking||e.anthropic_thinking,d=Hd(u),p=f||d?"interleaved-thinking-2025-05-14,effort-2025-11-24,prompt-caching-scope-2026-01-05":void 0;return c["anthropic-beta"]=Kv(p,Vv),{body:u,config:{url:a.toString(),headers:c}}}async transformResponseOut(e){return Su(e,this.name,this.logger)}};var _b=require("@cursor/sdk");var Yv=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function V0(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!Yv.test(e)&&!e.includes("$CURSOR_API_KEY")&&!e.includes("${"))return e;let r=process.env.CURSOR_API_KEY?.trim();if(r)return r;throw Object.assign(new Error("Cursor API key not found. Set Providers[].api_key to a crsr_ key, or export CURSOR_API_KEY."),{statusCode:401,code:"provider_response_error",type:"api_error"})}var K0=require("crypto"),Y0=require("os"),Wd=require("path"),Gd="cursor-sdk",Hu="bridge",Xv=(0,Wd.join)((0,Y0.homedir)(),".claude-code-router"),Wu=(0,Wd.join)(Xv,"cursor-sdk-workspaces"),X0=900*1e3,Jd=32,Q0=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],xs="custom-user-tools";function Z0(t){return(0,K0.createHash)("sha256").update(t.filter(Boolean).join(`
282
+ `)).digest("hex").slice(0,32)}function Os(t){if(typeof t=="string")return t;if(t==null)return"";if(typeof t=="object"){let e=t;if(typeof e.text=="string")return e.text;if(typeof e.content=="string")return e.content;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function eb(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function tb(t,e){let r=Math.floor(Date.now()/1e3),n=`chatcmpl-cursor-${Date.now()}`,o=()=>({id:n,object:"chat.completion.chunk",created:r,model:t});return{setId(s){s&&(n=s)},content(s){return{...o(),choices:[{index:0,delta:{role:"assistant",content:s},finish_reason:null}]}},thinking(s){return{...o(),choices:[{index:0,delta:{thinking:{content:Os(s)}},finish_reason:null}]}},thinkingSignature(s=`ccr_cursor_${Date.now()}`){return{...o(),choices:[{index:0,delta:{thinking:{signature:s}},finish_reason:null}]}},toolCall(s,a=0){return{...o(),choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:a,id:s.id,type:"function",function:{name:s.name,arguments:JSON.stringify(s.args??{})}}]},finish_reason:null}]}},finish(s,a){let u=Number(a?.prompt_tokens)||0,c=Number(a?.completion_tokens)||0,f=Number(a?.total_tokens)||u+c;return{...o(),choices:[{index:0,delta:{},finish_reason:s}],usage:{prompt_tokens:u,completion_tokens:c,total_tokens:f,prompt_tokens_details:{cached_tokens:Number(a?.prompt_tokens_details?.cached_tokens)||0}}}},encode(s){return Me(JSON.stringify(s),e)},encodeDone(){return Me("[DONE]",e)}}}function rb(t,e){let r="",n="",o="",s=[],a="stop",u=null,c=`chatcmpl-cursor-${Date.now()}`,f=Math.floor(Date.now()/1e3);for(let p of e){typeof p.id=="string"&&(c=p.id);let y=p.choices?.[0];if(!y)continue;y.finish_reason&&(a=y.finish_reason);let A=y.delta||{};if(typeof A.content=="string"&&(r+=A.content),A.thinking?.content&&(n+=Os(A.thinking.content)),typeof A.thinking?.signature=="string"&&A.thinking.signature&&(o=A.thinking.signature),Array.isArray(A.tool_calls))for(let g of A.tool_calls){let _=g.index??s.length;s[_]||(s[_]={id:g.id,type:"function",function:{name:g.function?.name||"",arguments:""}}),g.id&&(s[_].id=g.id),g.function?.name&&(s[_].function.name=g.function.name),typeof g.function?.arguments=="string"&&(s[_].function.arguments+=g.function.arguments)}p.usage&&(u=p.usage)}let d={role:"assistant",content:r||null};return n&&(d.thinking={content:n,signature:o||`ccr_cursor_${f}`}),s.length&&(d.tool_calls=s.filter(Boolean),a="tool_calls"),{id:c,object:"chat.completion",created:f,model:t,choices:[{index:0,message:d,finish_reason:a}],usage:u}}function Fs(t){return t==null?"":typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):"").filter(Boolean).join(`
283
+ `):String(t)}function Qv(t){if(!Array.isArray(t))return[];let e=[];for(let r of t)if(!(!r||typeof r!="object")&&r.type==="image_url"&&r.image_url?.url){let n=String(r.image_url.url),o=n.match(/^data:([^;]+);base64,(.+)$/);o?e.push({data:o[2],mimeType:o[1]}):e.push({url:n})}return e}function Zv(t){return!Array.isArray(t.tools)||t.tools.length===0?"(no host tools advertised on this request)":t.tools.map(e=>{let r=e.function?.name||"unknown",n=e.function?.description||"";return`- ${r}: ${n}`}).join(`
284
+ `)}function eR(t,e){return["You are running inside the Claude Code Router Cursor SDK bridge.","Claude Code (the host) owns filesystem, shell, and project tools.","Cursor built-in tools are denied in this workspace \u2014 do not call them.",`Host tools are exposed via MCP server "${xs}" using bare tool names.`,`Isolated agent cwd (do not treat as the user project): ${e}`,"Pass absolute paths into host tools when referring to the user's real project files.","A progress update such as 'Checking...', 'Inspecting...', or 'Let me look...' is not a final answer.","After progress narration, call a host tool in the same turn; if no tool is needed, provide the complete user-facing answer before finishing.","Never end a turn with progress narration alone.","Available host tools:",Zv(t)].join(`
285
+ `)}var tR=[/^(?:checking|inspecting|reviewing|examining|investigating|verifying|reading|searching)\s+(?:the|this|that|these|those|your|our|which|whether|for|how|why|what|where)\b/i,/^looking\s+(?:at|into|for|through|up)\b/i,/^(?:i(?:'ll| will)|let me)\s+(?:check|inspect|review|examine|investigate|verify|read|search|look)\b/i];function rR(t){let e=String(t||"").trim();if(!e||e.length>240||/\n\s*\n/.test(e))return!1;let r=e.replace(/\s+/g," ");return(r.match(/[.!?](?:\s|$)/g)?.length||0)>1?!1:tR.some(o=>o.test(r))}function nb(t){return t.mode==="bridge"&&t.emittedHostTools===0&&t.continuationAttempts<1&&rR(t.assistantText)}function ob(){return{text:["Continue the same turn now.","Your previous assistant message was only progress narration and ended without a host tool call or a complete answer.","Do not repeat the progress update.","If evidence is still needed, call an available host tool immediately; otherwise provide the complete user-facing answer now.","Do not finish until the requested work or answer is complete."].join(" ")}}function sb(t,e){let r=t.messages||[],n=[];e.mode==="bridge"?(n.push(eR(t,e.workspaceDir)),n.push("")):e.mode==="plan"&&(n.push("You are a planning/chat assistant. Respond with text and reasoning only. Do not execute tools."),n.push(""));let o=r.filter(f=>f.role==="system");for(let f of o){let d=Fs(f.content);d&&n.push(`[system]
286
+ ${d}`)}let s=r.filter(f=>f.role!=="system"),a=e.followUpOnly?s.slice(-Math.max(1,nR(s)+1)):s,u=[];for(let f of a){if(f.role==="assistant"){let d=Fs(f.content);if(d&&n.push(`[assistant]
286
287
  ${d}`),Array.isArray(f.tool_calls)&&f.tool_calls.length)for(let p of f.tool_calls)n.push(`[assistant tool_call id=${p.id} name=${p.function.name}]
287
288
  ${p.function.arguments||"{}"}`);continue}if(f.role==="tool"){n.push(`[tool_result id=${f.tool_call_id||"unknown"}]
288
- ${Ts(f.content)}`);continue}if(f.role==="user"){let d=Ts(f.content);u=[...u,...gv(f.content)],d&&n.push(`[user]
289
- ${d}`)}}let l=n.join(`
289
+ ${Fs(f.content)}`);continue}if(f.role==="user"){let d=Fs(f.content);u=[...u,...Qv(f.content)],d&&n.push(`[user]
290
+ ${d}`)}}let c=n.join(`
290
291
 
291
- `).trim()||"Continue.";return u.length?{text:l,images:u}:{text:l}}function _v(t){let e=0;for(let r=t.length-1;r>=0;r--){if(t[r].role==="tool"){e++;continue}break}return e}function M0(t){let e=[],r=t.messages||[];for(let n=r.length-1;n>=0;n--){let o=r[n];if(o.role!=="tool")break;e.unshift({toolCallId:String(o.tool_call_id||""),content:Ts(o.content)})}return e}var Lu=require("crypto"),Ro=require("fs"),q0=require("path"),Md=require("@cursor/sdk");var nn=require("fs"),vo=require("path");var bv=`#!/usr/bin/env node
292
+ `).trim()||"Continue.";return u.length?{text:c,images:u}:{text:c}}function nR(t){let e=0;for(let r=t.length-1;r>=0;r--){if(t[r].role==="tool"){e++;continue}break}return e}function ib(t){let e=[],r=t.messages||[];for(let n=r.length-1;n>=0;n--){let o=r[n];if(o.role!=="tool")break;e.unshift({toolCallId:String(o.tool_call_id||""),content:Fs(o.content)})}return e}var Gu=require("crypto"),Io=require("fs"),cb=require("path"),Kd=require("@cursor/sdk");var un=require("fs"),Po=require("path");var oR=`#!/usr/bin/env node
292
293
  const chunks = [];
293
294
  process.stdin.on("data", (c) => chunks.push(c));
294
295
  process.stdin.on("end", () => {
@@ -312,14 +313,14 @@ process.stdin.on("end", () => {
312
313
  );
313
314
 
314
315
  // Always allow the SDK synthetic MCP host tools Claude Code bridges through.
315
- if (server.includes(${JSON.stringify(Es)})) {
316
+ if (server.includes(${JSON.stringify(xs)})) {
316
317
  process.stdout.write(JSON.stringify({ permission: "allow" }));
317
318
  return;
318
319
  }
319
320
 
320
321
  const denyMessage =
321
322
  "CCR Cursor SDK bridge: do not use Cursor built-in tools. " +
322
- "Call host tools via MCP server '${Es}' " +
323
+ "Call host tools via MCP server '${xs}' " +
323
324
  "using the bare Claude Code tool names (Read, Bash, Edit, \u2026).";
324
325
 
325
326
  process.stdout.write(
@@ -330,15 +331,15 @@ process.stdin.on("end", () => {
330
331
  })
331
332
  );
332
333
  });
333
- `;function jd(t){let e=(0,vo.join)(t,".cursor"),r=(0,vo.join)(e,"hooks");(0,nn.mkdirSync)(r,{recursive:!0});let n=(0,vo.join)(r,"deny-builtin.cjs");(0,nn.writeFileSync)(n,bv,{encoding:"utf-8",mode:448});try{(0,nn.chmodSync)(n,448)}catch{}let o=F0.join("|"),s=`node "${n}"`,a={version:1,hooks:{preToolUse:[{matcher:o,command:s}],beforeShellExecution:[{command:s}],beforeReadFile:[{command:s}],beforeMCPExecution:[{command:s}]}};(0,nn.writeFileSync)((0,vo.join)(e,"hooks.json"),JSON.stringify(a,null,2),{encoding:"utf-8",mode:384}),(0,nn.writeFileSync)((0,vo.join)(t,"AGENTS.md"),"",{encoding:"utf-8",mode:384})}async function Ds(t,e={}){let r=t.run,n=t.streamIterator;if(t.run=void 0,t.streamIterator=void 0,t.pendingEmit=[],t.notifyEmit(),e.rejectParked&&t.parked.length){let o=e.reason||"cursor-sdk run cancelled";for(let s of t.parked.splice(0,t.parked.length))try{s.reject(new Error(o))}catch{}}if(n&&typeof n.return=="function")try{await n.return(void 0)}catch{}if(r&&r.status==="running")try{await r.cancel()}catch{}}async function $0(t,e){let r=t.sendChain,n,o=new Promise(s=>{n=s});t.sendChain=r.then(()=>o).catch(()=>o),await r.catch(()=>{});try{return await e()}finally{n()}}function U0(t){if(t===!1)return!1;let e=process.env.CCR_CURSOR_SANDBOX?.trim().toLowerCase();return!(e==="0"||e==="false"||e==="off"||!(t===!0||e==="1"||e==="true"||e==="on")||(0,Ro.existsSync)("/.dockerenv")||process.env.container==="docker")}function Cv(t){(0,Ro.existsSync)(Uu)||(0,Ro.mkdirSync)(Uu,{recursive:!0});let e=(0,q0.join)(Uu,t);return(0,Ro.mkdirSync)(e,{recursive:!0}),jd(e),e}function z0(t){if(t.headerSession)return(0,Lu.createHash)("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?(0,Lu.createHash)("sha256").update(e[1]).digest("hex").slice(0,32):(0,Lu.createHash)("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return P0([t.model||"",t.systemAndFirstUser||""])}function L0(t){return!!(t.streamIterator||t.parked.length>0||t.run?.status==="running")}function qu(t){t.lastActiveAt=Date.now()}var Ud=class{constructor(e){this.logger=e;this.cleanupTimer=setInterval(()=>this.evictIdle(),6e4),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}sessions=new Map;cleanupTimer;setLogger(e){this.logger=e}get(e){let r=this.sessions.get(e);return r&&qu(r),r}async getOrCreate(e){let r=this.get(e.key);if(r)return r;this.evictIfNeeded();let n=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:Cv(e.key);e.mode==="bridge"&&jd(n);let o=e.mode==="plan"?"plan":"agent",s=U0(e.sandboxEnabled),a=await Md.Agent.create({apiKey:e.apiKey,model:e.model,name:`ccr-${e.key.slice(0,8)}`,mode:o,local:{cwd:n,settingSources:[],sandboxOptions:{enabled:s},enableAgentRetries:!0}}),u=this.createSessionRecord({key:e.key,agent:a,mode:e.mode,workspaceDir:n});return this.sessions.set(e.key,u),this.logger?.info?.({sessionKey:e.key,agentId:a.agentId,mode:e.mode,sandboxEnabled:s},"cursor-sdk session created"),u}async resume(e){let r=U0(e.sandboxEnabled),n=await Md.Agent.resume(e.agentId,{apiKey:e.apiKey,model:e.model,local:{cwd:e.workspaceDir,settingSources:[],sandboxOptions:{enabled:r}}}),o=this.createSessionRecord({key:e.key,agent:n,mode:e.mode,workspaceDir:e.workspaceDir});return this.sessions.set(e.key,o),o}resolveParkedTools(e,r){let n=0,o=[];for(let s of r){let a=-1;if(s.toolCallId?a=e.parked.findIndex(l=>l.id===s.toolCallId):r.length===1&&e.parked.length===1&&(a=0),a===-1){o.push(s.toolCallId||"(empty)");continue}let[u]=e.parked.splice(a,1);u.resolve(s.content),n++}return o.length&&this.logger?.warn?.({unmatched:o,parkedRemaining:e.parked.map(s=>s.id),resolved:n},"cursor-sdk tool results did not match parked tools"),qu(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await Ds(r,{rejectParked:!0,reason:"cursor-sdk session disposed"});try{r.agent.close()}catch{}}}createSessionRecord(e){let r={key:e.key,agent:e.agent,agentId:e.agent.agentId,mode:e.mode,workspaceDir:e.workspaceDir,parked:[],pendingEmit:[],emitWaiters:[],sendChain:Promise.resolve(),hasSentPrompt:!1,lastActiveAt:Date.now(),metrics:{customToolCalls:0,builtinToolCallsSeen:0},parkHostTool:({id:n,name:o,args:s})=>{let a,u,l=new Promise((f,d)=>{a=f,u=d});return r.parked.push({id:n,name:o,args:s,resolve:a,reject:u,promise:l}),r.pendingEmit.push({id:n,name:o,args:s}),r.notifyEmit(),l},notifyEmit:()=>{let n=r.emitWaiters.splice(0,r.emitWaiters.length);for(let o of n)o()},waitForEmit:()=>new Promise(n=>{if(r.pendingEmit.length){n();return}r.emitWaiters.push(n)})};return r}evictIfNeeded(){for(;this.sessions.size>=Bd;){let e,r=1/0;for(let[n,o]of this.sessions)L0(o)||o.lastActiveAt<r&&(r=o.lastActiveAt,e=n);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Bd},"cursor-sdk session capacity reached with all sessions in-flight; deferring eviction");break}this.dispose(e)}}evictIdle(){let e=Date.now();for(let[r,n]of this.sessions)L0(n)||e-n.lastActiveAt>O0&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r))}},$u=new Ud;var H0=require("crypto");function wv(t){if(!t)return{type:"object",properties:{}};if(typeof t=="string")try{let e=JSON.parse(t);if(e&&typeof e=="object")return e}catch{return{type:"object",properties:{}}}return typeof t=="object"?t:{type:"object",properties:{}}}function W0(t,e){let r={};if(!Array.isArray(t.tools))return r;for(let n of t.tools){let o=n.function?.name;!o||typeof o!="string"||(r[o]={description:n.function.description||`Claude Code host tool: ${o}`,inputSchema:wv(n.function.parameters),async execute(s,a){let u=a.toolCallId||(0,H0.randomUUID)();return e.metrics.customToolCalls+=1,e.parkHostTool({id:u,name:o,args:s||{}})}})}return r}function J0(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function G0(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function V0(t){let e=[];t.system&&e.push(G0(t.system));for(let r of t.messages||[])e.push(G0(r.content)),r.thinking?.content&&e.push(String(r.thinking.content)),r.reasoning_content&&e.push(String(r.reasoning_content)),r.tool_calls?.length&&e.push(JSON.stringify(r.tool_calls));return t.tools?.length&&e.push(JSON.stringify(t.tools)),J0(e.join(`
334
- `).length)}function K0(t,e){let r=Math.max(0,Math.trunc(t)||0),n=J0(e);return{prompt_tokens:r,completion_tokens:n,total_tokens:r+n,prompt_tokens_details:{cached_tokens:0}}}function Y0(t){let e=t?.usage??t;if(!e||typeof e!="object")return;let r=e.inputTokens??e.input_tokens??e.prompt_tokens,n=e.outputTokens??e.output_tokens??e.completion_tokens;if(r==null&&n==null)return;let o=Number(r)||0,s=Number(n)||0,a=Number(e.cacheReadTokens??e.cache_read_input_tokens??0)||0;return{prompt_tokens:o,completion_tokens:s,total_tokens:Number(e.totalTokens??e.total_tokens??o+s)||0,prompt_tokens_details:{cached_tokens:a}}}var kv=900*1e3,vs=null;function Sv(t){return`${t.length}:${t.slice(0,8)}:${t.slice(-4)}`}async function Ev(t){let e=Sv(t);if(vs&&vs.apiKeyFingerprint===e&&Date.now()-vs.fetchedAt<kv)return vs.models;let r=await X0.Cursor.models.list({apiKey:t})||[];return vs={fetchedAt:Date.now(),apiKeyFingerprint:e,models:r},r}async function Av(t,e,r){let n=[];try{n=await Ev(t)}catch{return{id:e}}let o=n.find(a=>a.id===e||a.displayName===e||Array.isArray(a.aliases)&&a.aliases.includes(e));if(!o)return{id:e};if(r&&Array.isArray(o.variants)&&o.variants.length){let a=o.variants.find(u=>u.params?.some(l=>/effort|reasoning/i.test(l.id)&&String(l.value).toLowerCase()===String(r).toLowerCase()))||o.variants.find(u=>(u.displayName||"").toLowerCase().includes(String(r).toLowerCase()));if(a)return{id:o.id,params:a.params}}let s=o.variants?.find(a=>a.isDefault)||o.variants?.[0];return s?.params?.length?{id:o.id,params:s.params}:{id:o.id}}function Tv(t){let e=[];for(let r of t.messages||[])if((r.role==="system"||r.role==="user")&&(typeof r.content=="string"?e.push(r.content):Array.isArray(r.content)&&e.push(r.content.map(n=>typeof n=="string"?n:n?.text||"").join("")),r.role==="user"))break;return e.join(`
335
- `)}async function*Dv(t,e){let r=t.streamIterator;if(!r){yield{kind:"end"};return}let n=r.next(),o=t.waitForEmit().then(()=>"emit");for(;;){let s=await Promise.race([n.then(l=>({type:"msg",r:l})),o.then(l=>({type:l}))]);if(s.type==="emit"){for(;t.pendingEmit.length;)yield{kind:"host_tool",tool:t.pendingEmit.shift()};o=t.waitForEmit().then(()=>"emit");continue}let{r:a}=s;if(a.done){yield{kind:"end"};return}let u=a.value;u?.type==="tool_call"&&e==="bridge"&&(t.metrics.builtinToolCallsSeen+=1),yield{kind:"sdk",message:u},n=r.next()}}async function Q0(t,e,r,n={}){let o=n.logger||e?.logger;o&&$u.setLogger(o);let s=n.cursorMode||Mu,a=t.stream===!0,u=t.model||"composer-2",l;try{l=v0(e)}catch(q){throw Object.assign(q instanceof Error?q:new Error(String(q)),{statusCode:q?.statusCode||401,code:"provider_response_error",type:"api_error"})}let f=r?.req?.headers?.["x-ccr-cursor-session"]||r?.req?.headers?.["X-Ccr-Cursor-Session"],d=z0({headerSession:typeof f=="string"?f:void 0,metadataUserId:t?.metadata?.user_id,model:u,systemAndFirstUser:Tv(t)}),p=I0(t),y=await Av(l,u,p),A=await $u.getOrCreate({key:d,apiKey:l,model:y,mode:s,cursorCwd:n.cursorCwd,sandboxEnabled:n.sandboxEnabled}),g=M0(t),C=A.parked.length>0;g.length&&C&&$u.resolveParkedTools(A,g);let b=!A.streamIterator||!C,m=A.hasSentPrompt;b&&(m&&g.length&&!A.streamIterator&&o?.warn?.({toolResultCount:g.length,hadParked:C},"cursor-sdk dead-run recovery: sending follow-up with tool results"),await $0(A,async()=>{(A.run||A.streamIterator)&&await Ds(A,{rejectParked:!0,reason:"cursor-sdk superseded by new prompt"});let q=s==="bridge"?W0(t,A):void 0,z=j0(t,{mode:s,workspaceDir:A.workspaceDir,followUpOnly:m});try{let Y=await A.agent.send(z,{model:y,mode:s==="plan"?"plan":"agent",local:q?{customTools:q}:void 0});A.run=Y,A.streamIterator=Y.stream()[Symbol.asyncIterator](),A.hasSentPrompt=!0}catch(Y){throw o?.error?.({err:Y},"cursor-sdk agent.send failed"),Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}}));let v=N0(u,new TextEncoder),k=[],S=V0(t),T=0,O,N=new ReadableStream({async start(q){let z=ne=>{k.push(ne),a&&q.enqueue(v.encode(ne))},Y=ne=>{typeof ne=="string"&&ne.length&&(T+=ne.length)},X=()=>K0(S,T),ue=ne=>{let he=X();o?.debug?.({reason:ne,promptTokens:he.prompt_tokens,completionTokens:he.completion_tokens,outputChars:T,sdkUsageRaw:O,runUsage:A.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),z(v.finish(ne,he))};try{let ne=0,he=!1,Ce=!0;for await(let ge of Dv(A,s)){if(qu(A),ge.kind==="host_tool"){if(s!=="bridge")continue;for(Ce=!1,Y(ge.tool.name),Y(JSON.stringify(ge.tool.args??{})),z(v.toolCall(ge.tool,ne)),ne+=1;A.pendingEmit.length;){let J=A.pendingEmit.shift();Y(J.name),Y(JSON.stringify(J.args??{})),z(v.toolCall(J,ne)),ne+=1}ue("tool_calls"),a&&q.enqueue(v.encodeDone()),q.close();return}if(ge.kind==="end"){ue("stop"),a&&q.enqueue(v.encodeDone()),q.close(),A.streamIterator=void 0,A.run=void 0;return}let Z=ge.message;if(Z){if(Z.type==="assistant")for(let J of Z.message?.content||[])J.type==="text"&&J.text&&(Ce=!1,he=!0,Y(J.text),z(v.content(J.text)));else if(Z.type==="thinking"){if(!Ce)continue;let J=As(Z.text);J&&(Y(J),z(v.thinking(J)))}else if(Z.type==="usage")O=Y0(Z);else if(Z.type==="status"){if(Z.status==="ERROR"||Z.status==="CANCELLED")throw Object.assign(new Error(Z.message||`Cursor run ${Z.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"});if(Z.status==="FINISHED"&&!ne){ue("stop"),a&&q.enqueue(v.encodeDone()),q.close(),A.streamIterator=void 0,A.run=void 0;return}}else if(Z.type==="tool_call"&&s!=="bridge"&&s==="agent"&&Z.name){Ce=!1;let J=`
336
- [cursor tool ${Z.status||"running"}: ${Z.name}]
337
- `;Y(J),z(v.content(J))}}}!he&&!ne&&ue("stop"),a&&q.enqueue(v.encodeDone()),q.close()}catch(ne){o?.error?.({err:ne,metrics:A.metrics},"cursor-sdk stream failed"),Ds(A,{rejectParked:!0,reason:"cursor-sdk stream failed"});try{q.error(ne)}catch{}}},cancel(){Ds(A,{rejectParked:!0,reason:"cursor-sdk client cancelled stream"})}});if(!a){let q=N.getReader();for(;;){let{done:Y}=await q.read();if(Y)break}let z=B0(u,k);return new Response(JSON.stringify(z),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(N,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}var zu=class{static TransformerName=Nd;name=Nd;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let s={cursorMode:this.options.cursorMode||Mu,cursorCwd:this.options.cursorCwd,sandboxEnabled:this.options.sandboxEnabled,logger:this.logger},a=await Q0(e,r,n,s);return{body:e,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:a}}}async transformResponseOut(e){return e}};var Z0={AnthropicTransformer:Vn,GeminiTransformer:Oi,VertexGeminiTransformer:Ka,VertexClaudeTransformer:bu,VertexOpenaiTransformer:Cu,DeepseekTransformer:su,TooluseTransformer:iu,OpenrouterTransformer:cu,OpenAITransformer:Su,MaxTokenTransformer:lu,GroqTransformer:fu,CleancacheTransformer:du,EnhanceToolTransformer:pu,ReasoningTransformer:gu,SamplingTransformer:mu,MaxCompletionTokens:yu,CerebrasTransformer:wu,StreamOptionsTransformer:ku,CustomParamsTransformer:Eu,VercelTransformer:Au,OpenAIResponsesTransformer:vu,CodexTransformer:Ru,QwenAuthTransformer:xu,ForceReasoningTransformer:Ou,ExtraThinkTagTransformer:Fu,MistralTransformer:Pu,ChromeOnDeviceTransformer:Iu,OpencodeHeadersTransformer:Nu,ClaudeAuthTransformer:ju,CursorSdkTransformer:zu};var On=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})
334
+ `;function Vd(t){let e=(0,Po.join)(t,".cursor"),r=(0,Po.join)(e,"hooks");(0,un.mkdirSync)(r,{recursive:!0});let n=(0,Po.join)(r,"deny-builtin.cjs");(0,un.writeFileSync)(n,oR,{encoding:"utf-8",mode:448});try{(0,un.chmodSync)(n,448)}catch{}let o=Q0.join("|"),s=`node "${n}"`,a={version:1,hooks:{preToolUse:[{matcher:o,command:s}],beforeShellExecution:[{command:s}],beforeReadFile:[{command:s}],beforeMCPExecution:[{command:s}]}};(0,un.writeFileSync)((0,Po.join)(e,"hooks.json"),JSON.stringify(a,null,2),{encoding:"utf-8",mode:384}),(0,un.writeFileSync)((0,Po.join)(t,"AGENTS.md"),"",{encoding:"utf-8",mode:384})}async function Ps(t,e={}){let r=t.run,n=t.streamIterator;if(t.run=void 0,t.streamIterator=void 0,t.pendingEmit=[],t.notifyEmit(),e.rejectParked&&t.parked.length){let o=e.reason||"cursor-sdk run cancelled";for(let s of t.parked.splice(0,t.parked.length))try{s.reject(new Error(o))}catch{}}if(n&&typeof n.return=="function")try{await n.return(void 0)}catch{}if(r&&r.status==="running")try{await r.cancel()}catch{}}async function Xd(t,e){let r=t.sendChain,n,o=new Promise(s=>{n=s});t.sendChain=r.then(()=>o).catch(()=>o),await r.catch(()=>{});try{return await e()}finally{n()}}function ab(t){if(t===!1)return!1;let e=process.env.CCR_CURSOR_SANDBOX?.trim().toLowerCase();return!(e==="0"||e==="false"||e==="off"||!(t===!0||e==="1"||e==="true"||e==="on")||(0,Io.existsSync)("/.dockerenv")||process.env.container==="docker")}function sR(t){(0,Io.existsSync)(Wu)||(0,Io.mkdirSync)(Wu,{recursive:!0});let e=(0,cb.join)(Wu,t);return(0,Io.mkdirSync)(e,{recursive:!0}),Vd(e),e}function lb(t){if(t.headerSession)return(0,Gu.createHash)("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?(0,Gu.createHash)("sha256").update(e[1]).digest("hex").slice(0,32):(0,Gu.createHash)("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return Z0([t.model||"",t.systemAndFirstUser||""])}function ub(t){return!!(t.streamIterator||t.parked.length>0||t.run?.status==="running")}function Ju(t){t.lastActiveAt=Date.now()}var Yd=class{constructor(e){this.logger=e;this.cleanupTimer=setInterval(()=>this.evictIdle(),6e4),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}sessions=new Map;cleanupTimer;setLogger(e){this.logger=e}get(e){let r=this.sessions.get(e);return r&&Ju(r),r}async getOrCreate(e){let r=this.get(e.key);if(r)return r;this.evictIfNeeded();let n=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:sR(e.key);e.mode==="bridge"&&Vd(n);let o=e.mode==="plan"?"plan":"agent",s=ab(e.sandboxEnabled),a=await Kd.Agent.create({apiKey:e.apiKey,model:e.model,name:`ccr-${e.key.slice(0,8)}`,mode:o,local:{cwd:n,settingSources:[],sandboxOptions:{enabled:s},enableAgentRetries:!0}}),u=this.createSessionRecord({key:e.key,agent:a,mode:e.mode,workspaceDir:n});return this.sessions.set(e.key,u),this.logger?.info?.({sessionKey:e.key,agentId:a.agentId,mode:e.mode,sandboxEnabled:s},"cursor-sdk session created"),u}async resume(e){let r=ab(e.sandboxEnabled),n=await Kd.Agent.resume(e.agentId,{apiKey:e.apiKey,model:e.model,local:{cwd:e.workspaceDir,settingSources:[],sandboxOptions:{enabled:r}}}),o=this.createSessionRecord({key:e.key,agent:n,mode:e.mode,workspaceDir:e.workspaceDir});return this.sessions.set(e.key,o),o}resolveParkedTools(e,r){let n=0,o=[];for(let s of r){let a=-1;if(s.toolCallId?a=e.parked.findIndex(c=>c.id===s.toolCallId):r.length===1&&e.parked.length===1&&(a=0),a===-1){o.push(s.toolCallId||"(empty)");continue}let[u]=e.parked.splice(a,1);u.resolve(s.content),n++}return o.length&&this.logger?.warn?.({unmatched:o,parkedRemaining:e.parked.map(s=>s.id),resolved:n},"cursor-sdk tool results did not match parked tools"),Ju(e),n}async dispose(e){let r=this.sessions.get(e);if(r){this.sessions.delete(e),await Ps(r,{rejectParked:!0,reason:"cursor-sdk session disposed"});try{r.agent.close()}catch{}}}createSessionRecord(e){let r={key:e.key,agent:e.agent,agentId:e.agent.agentId,mode:e.mode,workspaceDir:e.workspaceDir,parked:[],pendingEmit:[],emitWaiters:[],sendChain:Promise.resolve(),hasSentPrompt:!1,lastActiveAt:Date.now(),metrics:{customToolCalls:0,builtinToolCallsSeen:0},parkHostTool:({id:n,name:o,args:s})=>{let a,u,c=new Promise((f,d)=>{a=f,u=d});return r.parked.push({id:n,name:o,args:s,resolve:a,reject:u,promise:c}),r.pendingEmit.push({id:n,name:o,args:s}),r.notifyEmit(),c},notifyEmit:()=>{let n=r.emitWaiters.splice(0,r.emitWaiters.length);for(let o of n)o()},waitForEmit:()=>new Promise(n=>{if(r.pendingEmit.length){n();return}r.emitWaiters.push(n)})};return r}evictIfNeeded(){for(;this.sessions.size>=Jd;){let e,r=1/0;for(let[n,o]of this.sessions)ub(o)||o.lastActiveAt<r&&(r=o.lastActiveAt,e=n);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Jd},"cursor-sdk session capacity reached with all sessions in-flight; deferring eviction");break}this.dispose(e)}}evictIdle(){let e=Date.now();for(let[r,n]of this.sessions)ub(n)||e-n.lastActiveAt>X0&&(this.logger?.info?.({sessionKey:r},"cursor-sdk idle session evicted"),this.dispose(r))}},Vu=new Yd;var fb=require("crypto");function iR(t){if(!t)return{type:"object",properties:{}};if(typeof t=="string")try{let e=JSON.parse(t);if(e&&typeof e=="object")return e}catch{return{type:"object",properties:{}}}return typeof t=="object"?t:{type:"object",properties:{}}}function db(t,e){let r={};if(!Array.isArray(t.tools))return r;for(let n of t.tools){let o=n.function?.name;!o||typeof o!="string"||(r[o]={description:n.function.description||`Claude Code host tool: ${o}`,inputSchema:iR(n.function.parameters),async execute(s,a){let u=a.toolCallId||(0,fb.randomUUID)();return e.metrics.customToolCalls+=1,e.parkHostTool({id:u,name:o,args:s||{}})}})}return r}function pb(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function hb(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function gb(t){let e=[];t.system&&e.push(hb(t.system));for(let r of t.messages||[])e.push(hb(r.content)),r.thinking?.content&&e.push(String(r.thinking.content)),r.reasoning_content&&e.push(String(r.reasoning_content)),r.tool_calls?.length&&e.push(JSON.stringify(r.tool_calls));return t.tools?.length&&e.push(JSON.stringify(t.tools)),pb(e.join(`
335
+ `).length)}function mb(t,e){let r=Math.max(0,Math.trunc(t)||0),n=pb(e);return{prompt_tokens:r,completion_tokens:n,total_tokens:r+n,prompt_tokens_details:{cached_tokens:0}}}function yb(t){let e=t?.usage??t;if(!e||typeof e!="object")return;let r=e.inputTokens??e.input_tokens??e.prompt_tokens,n=e.outputTokens??e.output_tokens??e.completion_tokens;if(r==null&&n==null)return;let o=Number(r)||0,s=Number(n)||0,a=Number(e.cacheReadTokens??e.cache_read_input_tokens??0)||0;return{prompt_tokens:o,completion_tokens:s,total_tokens:Number(e.totalTokens??e.total_tokens??o+s)||0,prompt_tokens_details:{cached_tokens:a}}}var aR=900*1e3,Is=null;function uR(t){return`${t.length}:${t.slice(0,8)}:${t.slice(-4)}`}async function cR(t){let e=uR(t);if(Is&&Is.apiKeyFingerprint===e&&Date.now()-Is.fetchedAt<aR)return Is.models;let r=await _b.Cursor.models.list({apiKey:t})||[];return Is={fetchedAt:Date.now(),apiKeyFingerprint:e,models:r},r}async function lR(t,e,r){let n=[];try{n=await cR(t)}catch{return{id:e}}let o=n.find(a=>a.id===e||a.displayName===e||Array.isArray(a.aliases)&&a.aliases.includes(e));if(!o)return{id:e};if(r&&Array.isArray(o.variants)&&o.variants.length){let a=o.variants.find(u=>u.params?.some(c=>/effort|reasoning/i.test(c.id)&&String(c.value).toLowerCase()===String(r).toLowerCase()))||o.variants.find(u=>(u.displayName||"").toLowerCase().includes(String(r).toLowerCase()));if(a)return{id:o.id,params:a.params}}let s=o.variants?.find(a=>a.isDefault)||o.variants?.[0];return s?.params?.length?{id:o.id,params:s.params}:{id:o.id}}function fR(t){let e=[];for(let r of t.messages||[])if((r.role==="system"||r.role==="user")&&(typeof r.content=="string"?e.push(r.content):Array.isArray(r.content)&&e.push(r.content.map(n=>typeof n=="string"?n:n?.text||"").join("")),r.role==="user"))break;return e.join(`
336
+ `)}async function*dR(t,e){let r=t.streamIterator;if(!r){yield{kind:"end"};return}let n=r.next(),o=t.waitForEmit().then(()=>"emit");for(;;){let s=await Promise.race([n.then(c=>({type:"msg",r:c})),o.then(c=>({type:c}))]);if(s.type==="emit"){for(;t.pendingEmit.length;)yield{kind:"host_tool",tool:t.pendingEmit.shift()};o=t.waitForEmit().then(()=>"emit");continue}let{r:a}=s;if(a.done){yield{kind:"end"};return}let u=a.value;u?.type==="tool_call"&&e==="bridge"&&(t.metrics.builtinToolCallsSeen+=1),yield{kind:"sdk",message:u},n=r.next()}}async function bb(t,e,r,n={}){let o=n.logger||e?.logger;o&&Vu.setLogger(o);let s=n.cursorMode||Hu,a=t.stream===!0,u=t.model||"composer-2",c;try{c=V0(e)}catch(X){throw Object.assign(X instanceof Error?X:new Error(String(X)),{statusCode:X?.statusCode||401,code:"provider_response_error",type:"api_error"})}let f=r?.req?.headers?.["x-ccr-cursor-session"]||r?.req?.headers?.["X-Ccr-Cursor-Session"],d=lb({headerSession:typeof f=="string"?f:void 0,metadataUserId:t?.metadata?.user_id,model:u,systemAndFirstUser:fR(t)}),p=eb(t),y=await lR(c,u,p),A=await Vu.getOrCreate({key:d,apiKey:c,model:y,mode:s,cursorCwd:n.cursorCwd,sandboxEnabled:n.sandboxEnabled}),g=ib(t),_=A.parked.length>0;g.length&&_&&Vu.resolveParkedTools(A,g);let b=!A.streamIterator||!_,m=A.hasSentPrompt,v=s==="bridge"?db(t,A):void 0,k={model:y,mode:s==="plan"?"plan":"agent",local:v?{customTools:v}:void 0};b&&(m&&g.length&&!A.streamIterator&&o?.warn?.({toolResultCount:g.length,hadParked:_},"cursor-sdk dead-run recovery: sending follow-up with tool results"),await Xd(A,async()=>{(A.run||A.streamIterator)&&await Ps(A,{rejectParked:!0,reason:"cursor-sdk superseded by new prompt"});let X=sb(t,{mode:s,workspaceDir:A.workspaceDir,followUpOnly:m});try{let K=await A.agent.send(X,k);A.run=K,A.streamIterator=K.stream()[Symbol.asyncIterator](),A.hasSentPrompt=!0}catch(K){throw o?.error?.({err:K},"cursor-sdk agent.send failed"),Object.assign(new Error(`Cursor SDK error: ${K?.message||K}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}}));let w=tb(u,new TextEncoder),T=[],O=gb(t),N=0,G,$=new ReadableStream({async start(X){let K=le=>{T.push(le),a&&X.enqueue(w.encode(le))},se=le=>{typeof le=="string"&&le.length&&(N+=le.length)},_e=()=>mb(O,N),me=le=>{let pe=_e();o?.debug?.({reason:le,promptTokens:pe.prompt_tokens,completionTokens:pe.completion_tokens,outputChars:N,sdkUsageRaw:G,runUsage:A.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),K(w.finish(le,pe))};try{let le=0,pe=!1,ie=!0,V=!1,Y=!1,Z="",Se=0,Ue=()=>{!V||Y||(K(w.thinkingSignature()),Y=!0,ie=!1)};for(;;){let W=!1;for await(let ue of dR(A,s)){if(Ju(A),ue.kind==="host_tool"){if(s!=="bridge")continue;for(Ue(),ie=!1,se(ue.tool.name),se(JSON.stringify(ue.tool.args??{})),K(w.toolCall(ue.tool,le)),le+=1;A.pendingEmit.length;){let ke=A.pendingEmit.shift();se(ke.name),se(JSON.stringify(ke.args??{})),K(w.toolCall(ke,le)),le+=1}me("tool_calls"),a&&X.enqueue(w.encodeDone()),X.close();return}if(ue.kind==="end"){if(A.streamIterator=void 0,A.run=void 0,nb({mode:s,assistantText:Z,emittedHostTools:le,continuationAttempts:Se})){Se+=1,o?.warn?.({assistantText:Z,attempt:Se},"cursor-sdk continuing progress-only terminal turn");let ke=await Xd(A,()=>A.agent.send(ob(),k));A.run=ke,A.streamIterator=ke.stream()[Symbol.asyncIterator](),A.hasSentPrompt=!0,Z="",W=!0;break}Ue(),me("stop"),a&&X.enqueue(w.encodeDone()),X.close();return}let re=ue.message;if(re){if(re.type==="assistant")for(let ke of re.message?.content||[])ke.type==="text"&&ke.text&&(Ue(),ie=!1,pe=!0,Z+=ke.text,se(ke.text),K(w.content(ke.text)));else if(re.type==="thinking"){if(!ie)continue;let ke=Os(re.text);ke&&(V=!0,se(ke),K(w.thinking(ke)))}else if(re.type==="usage")G=yb(re);else if(re.type==="status"){if(re.status==="ERROR"||re.status==="CANCELLED")throw Object.assign(new Error(re.message||`Cursor run ${re.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(re.type==="tool_call"&&s!=="bridge"&&s==="agent"&&re.name){Ue(),ie=!1;let ke=`
337
+ [cursor tool ${re.status||"running"}: ${re.name}]
338
+ `;se(ke),K(w.content(ke))}}}if(!W)break}!pe&&!le&&(Ue(),me("stop")),a&&X.enqueue(w.encodeDone()),X.close()}catch(le){o?.error?.({err:le,metrics:A.metrics},"cursor-sdk stream failed"),Ps(A,{rejectParked:!0,reason:"cursor-sdk stream failed"});try{X.error(le)}catch{}}},cancel(){Ps(A,{rejectParked:!0,reason:"cursor-sdk client cancelled stream"})}});if(!a){let X=$.getReader();for(;;){let{done:se}=await X.read();if(se)break}let K=rb(u,T);return new Response(JSON.stringify(K),{status:200,headers:{"Content-Type":"application/json"}})}return new Response($,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}var Ku=class{static TransformerName=Gd;name=Gd;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,r,n){let s={cursorMode:this.options.cursorMode||Hu,cursorCwd:this.options.cursorCwd,sandboxEnabled:this.options.sandboxEnabled,logger:this.logger},a=await bb(e,r,n,s);return{body:e,config:{url:r?.baseUrl||"https://cursor.com",headers:{},__providerResponse:a}}}async transformResponseOut(e){return e}};var Cb={AnthropicTransformer:Zn,GeminiTransformer:ji,VertexGeminiTransformer:tu,VertexClaudeTransformer:Au,VertexOpenaiTransformer:Tu,DeepseekTransformer:fu,TooluseTransformer:du,OpenrouterTransformer:gu,OpenAITransformer:Ru,MaxTokenTransformer:mu,GroqTransformer:yu,CleancacheTransformer:_u,EnhanceToolTransformer:Cu,ReasoningTransformer:wu,SamplingTransformer:Eu,MaxCompletionTokens:ku,CerebrasTransformer:Du,StreamOptionsTransformer:vu,CustomParamsTransformer:xu,VercelTransformer:Ou,OpenAIResponsesTransformer:Iu,CodexTransformer:Nu,QwenAuthTransformer:Bu,ForceReasoningTransformer:ju,ExtraThinkTagTransformer:Mu,MistralTransformer:Uu,ChromeOnDeviceTransformer:Lu,OpencodeHeadersTransformer:qu,ClaudeAuthTransformer:zu,CursorSdkTransformer:Ku};var Bn=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})
338
339
  error: ${r.message}
339
340
  stack: ${r.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
340
- 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 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 eb=require("tiktoken"),Rs=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,eb.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){if(!this.encoding)throw new Error("Encoding not initialized");let n=l=>this.encoding.encode(l,void 0,[]),o=0,{messages:s,system:a,tools:u}=e;return Array.isArray(s)&&s.forEach(l=>{typeof l.content=="string"?o+=n(l.content).length:Array.isArray(l.content)&&l.content.forEach(f=>{if(f.type==="text")o+=n(f.text).length;else if(f.type==="tool_use")o+=n(JSON.stringify(f.input)).length;else if(f.type==="tool_result"){let d=typeof f.content=="string"?f.content:JSON.stringify(f.content);o+=n(d).length}})}),typeof a=="string"?o+=n(a).length:Array.isArray(a)&&a.forEach(l=>{l.type==="text"&&(typeof l.text=="string"?o+=n(l.text).length:Array.isArray(l.text)&&l.text.forEach(f=>{o+=n(f||"").length}))}),u&&u.forEach(l=>{l.description&&(o+=n(l.name+l.description).length),l.input_schema&&(o+=n(JSON.stringify(l.input_schema)).length)}),o}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,void 0,[]))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var Ps=require("path"),mb=require("os"),xo=require("fs"),Is=require("fs");var vv=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,u=o;for(;u<r&&(s=s[t[u]]);)s.end&&(a=s.end),++u;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}},Rv=vv,xv=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}},Ov=xv,ab=(()=>{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]]))})(),Fv=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),Pv=Fv(ab),tb=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",Iv=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|[${tb}])]+`,` ?[^\\s${tb}]+`]]),xs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",cB=new RegExp(`^[${xs}]+$`,"gu"),qd=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"),Hu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of Iv)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=Nv(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},Nv=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},jv=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,Mv=t=>Number.isInteger(t)||typeof t=="bigint",Uv=t=>{let e=0;for(let r of t)++e;return e},Lv=t=>ub(t.toLowerCase()),Bt=(...t)=>Array.prototype.concat.apply([],t),$d=t=>new Map(Object.entries(t)),qv=(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},ub=t=>t.replace(new RegExp("\\p{M}","gu"),""),rb=(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},$v=t=>t.match(/\S+/g)||[],zv=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},Os=zv,Hv=class extends Os{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Fr=Hv,Wv=class extends Fr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);jv(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`
341
- `: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}},Gv=Wv,Jv=class extends Fr{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}},Vv=Jv,Kv=class extends Fr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>cb(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},Yv=Kv,Xv=class extends Fr{normalize(t){let e=Hu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Qv=Xv,Zv=class extends Fr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Wu=Zv,eR=class extends Wu{constructor(){super(...arguments),this.form="NFC"}},tR=eR,rR=class extends Wu{constructor(){super(...arguments),this.form="NFD"}},nR=rR,oR=class extends Wu{constructor(){super(...arguments),this.form="NFKC"}},sR=oR,iR=class extends Wu{constructor(){super(...arguments),this.form="NFKD"}},aR=iR,uR=class extends Fr{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}},cR=uR,lR=class extends Fr{normalize(t){return ub(t)}},fR=lR,dR=class extends Fr{normalize(t){return t.toLowerCase()}},hR=dR,pR=class extends Fr{normalize(t){return t=this.config.prepend+t,t}},gR=pR;function mR(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new Gv(t);case"Precompiled":return new Vv(t);case"Sequence":return new Yv(t);case"Replace":return new Qv(t);case"NFC":return new tR(t);case"NFD":return new nR(t);case"NFKC":return new sR(t);case"NFKD":return new aR(t);case"Strip":return new cR(t);case"StripAccents":return new fR(t);case"Lowercase":return new hR(t);case"Prepend":return new gR(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var cb=mR,yR=class extends Os{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)}},cr=yR,_R=class extends cr{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=ab,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(""))}},bR=_R,CR=class extends cr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},wR=CR,kR=class extends cr{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]}},SR=kR,ER=class extends cr{constructor(t){super(),this.config=t,this.pattern=Hu(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):qv(t,this.pattern)}},AR=ER,TR=class extends cr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${xs}]+|[${xs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},DR=TR,vR=class extends cr{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)||[]}},RR=vR,xR=class extends cr{constructor(){super(),this.pattern=new RegExp(`[^\\s${xs}]+|[${xs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},OR=xR,FR=class extends cr{constructor(t){super(),this.config=t,this.pattern=Hu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},PR=FR,IR=class extends cr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>lb(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},NR=IR,BR=class extends cr{pre_tokenize_text(t){return $v(t)}},jR=BR;function MR(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new OR;case"Sequence":return new NR(t);case"Whitespace":return new wR;case"WhitespaceSplit":return new jR;case"Metaspace":return new SR(t);case"ByteLevel":return new bR(t);case"Split":return new AR(t);case"Punctuation":return new DR(t);case"Digits":return new RR(t);case"Replace":return new PR(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var lb=MR,UR=class extends Os{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)}},Gu=UR,LR=class extends Gu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=$d(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 u=n.length,l=null;for(;s<u;){let f=n.slice(s,u).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){l=f;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},nb=LR,ob=class fb{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new fb(!1,new Map)}},qR=class{constructor(){this.root=ob.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=ob.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)}}},$R=qR,Ld=class db{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 db(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},zR=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 Ld(this.bos_token_id??0,0,0,0,0),o=new Ld(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 Ld(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,u=null;for(let l of this.end_nodes[e]){let f=l.backtrace_score+s.score;(u===null||f>a)&&(u=l.clone(),a=f)}if(u!==null)s.prev=u,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)}},HR=zR;function WR(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 GR=class extends Gu{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=WR(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new $R,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(""),u=this.trie.common_prefix_search(a);for(let l of u){s.push(l);let f=this.tokens_to_ids.get(l),d=this.scores[f],p=Uv(l);t.insert(n,p,d,f),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new HR(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}},sb=GR,JR=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}},VR=JR,KR=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()}},YR=KR,XR=class extends Gu{constructor(t){super(t),this.tokens_to_ids=$d(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 YR(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 VR((u,l)=>u.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<r.length;++u){let l={bias:u/r.length,token:r[u],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let f={...u.prev};u.prev.deleted=!0,u.prev=f,f.prev?f.prev.next=f:s=f}let l={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.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 u=s;u!==null;u=u.next)n.push(u.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}},ib=XR,QR=class extends Gu{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=$d(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}},ZR=QR;function ex(t,e){switch(t.type){case"WordPiece":return new nb(t);case"Unigram":return new sb(t,e.eos_token);case"BPE":return new ib(t);default:if(t.vocab)return Array.isArray(t.vocab)?new sb(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new ib(t):new nb(t):new ZR(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 tx=ex,rx=class extends Os{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Fs=rx,nx=class extends Fs{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}}},ox=nx,sx=class extends Fs{post_process(t,e=null){return{tokens:e?Bt(t,e):t}}},ix=sx,ax=class extends Fs{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}}},ux=ax,cx=class extends Fs{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}}},lx=cx,fx=class extends Fs{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>hb(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}},dx=fx;function hx(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new ox(t);case"ByteLevel":return new ix(t);case"BertProcessing":return new ux(t);case"RobertaProcessing":return new lx(t);case"Sequence":return new dx(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var hb=hx,px=class extends Os{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("")}},lr=px,gx=class extends lr{constructor(t){super(t),this.byte_decoder=Pv,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}},mx=gx,yx=class extends lr{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=qd(e)),e})}},_x=yx,bx=class extends lr{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}},Cx=bx,wx=class extends lr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},kx=wx,Sx=class extends lr{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=qd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},Ex=Sx,Ax=class extends lr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>pb(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},Tx=Ax,Dx=class extends lr{decode_chain(t){let e=Hu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},vx=Dx,Rx=class extends lr{decode_chain(t){return[t.join("")]}},xx=Rx,Ox=class extends lr{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)})}},Fx=Ox,Px=class extends lr{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}},Ix=Px;function Nx(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new mx(t);case"WordPiece":return new _x(t);case"Metaspace":return new Cx(t);case"BPEDecoder":return new kx(t);case"CTC":return new Ex(t);case"Sequence":return new Tx(t);case"Replace":return new vx(t);case"Fuse":return new xx(t);case"Strip":return new Fx(t);case"ByteFallback":return new Ix(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var pb=Nx,Bx=class{constructor(t,e){let r=rb(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=rb(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=cb(this.tokenizer.normalizer),this.pre_tokenizer=lb(this.tokenizer.pre_tokenizer),this.model=tx(this.tokenizer.model,this.config),this.post_processor=hb(this.tokenizer.post_processor),this.decoder=pb(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new Ov(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 Rv(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),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!Mv(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=qd(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=Lv(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}},gb=Bx;var Ju=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,Ps.join)((0,mb.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,Ps.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,Ps.join)(e,"tokenizer.json"),tokenizerConfig:(0,Ps.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,xo.existsSync)(e)||(0,xo.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,xo.existsSync)(e.tokenizerJson)||!(0,xo.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Is.promises.readFile(e.tokenizerJson,"utf-8"),Is.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[u,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Is.promises.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),Is.promises.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:u,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 gb(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 u of a.content)u.type==="text"&&u.text?r.push(u.text):u.type==="tool_use"&&u.input?r.push(JSON.stringify(u.input)):u.type==="tool_result"&&r.push(typeof u.content=="string"?u.content:JSON.stringify(u.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 u of a.text)u&&r.push(u)}}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 Vu=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 u=await a.json();return this.extractTokenCount(u)}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 Fn=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 Rs("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 Rs(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Ju(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Vu(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 yb=require("tiktoken");var zd=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())}},Ku=new zd(100);var Yu=require("fs/promises"),Ns=require("fs/promises"),Xu=require("path"),Pn=require("@caeliq/ccr-shared"),_b=require("lru-cache"),jx=(0,yb.get_encoding)("cl100k_base"),Pr=t=>jx.encode(t,void 0,[]),Hd=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Pr(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Pr(s.text).length:s.type==="tool_use"?n+=Pr(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Pr(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Pr(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Pr(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Pr(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Pr(o.name+o.description).length),o.input_schema&&(n+=Pr(JSON.stringify(o.input_schema)).length)}),n},Mx=async(t,e)=>{if(t.sessionId){let r=await Wd(t.sessionId);if(r){let n=(0,Xu.join)(Pn.HOME_DIR,r,"config.json"),o=(0,Xu.join)(Pn.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,Yu.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,Yu.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},Ux=async(t,e,r,n)=>{let o=await Mx(t,r),s=r.get("providers")||[],a=o||r.get("Router");if(t.body.model.includes(",")){let[p,y]=t.body.model.split(","),A=s.find(C=>C.name.toLowerCase()===p),g=A?.models?.find(C=>C.toLowerCase()===y);return A&&g?{model:`${A.name},${g}`,scenarioType:"default"}:{model:t.body.model,scenarioType:"default"}}let u=a?.longContextThreshold||6e4,l=n&&n.input_tokens>u&&e>2e4,f=e>u;if((l||f)&&a?.longContext)return t.log.info(`Using long context model due to token count: ${e}, threshold: ${u}`),{model:a.longContext,scenarioType:"longContext"};if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let p=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(p)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${p[1]}</CCR-SUBAGENT-MODEL>`,""),{model:p[1],scenarioType:"default"}}let d=r.get("Router");return t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&d?.background?(t.log.info(`Using background model for ${t.body.model}`),{model:d.background,scenarioType:"background"}):Array.isArray(t.body.tools)&&t.body.tools.some(p=>p.type?.startsWith("web_search"))&&a?.webSearch?{model:a.webSearch,scenarioType:"webSearch"}:t.body.thinking&&a?.think?(t.log.info(`Using think model for ${t.body.thinking}`),{model:a.think,scenarioType:"think"}):{model:a?.default||t.body.model,scenarioType:"default"}},Lx=t=>{if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let r=JSON.parse(t);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}},Qu=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=Lx(t.body.metadata?.user_id);let s=Ku.get(t.sessionId),{messages:a,system:u=[],tools:l}=t.body,f=n.get("REWRITE_SYSTEM_PROMPT");if(f&&u.length>1&&u[1]?.text?.includes("<env>")){let d=await(0,Yu.readFile)(f,"utf-8");u[1].text=`${d}<env>${u[1].text.split("<env>").pop()}`}try{let[d,p]=t.body.model.split(","),y=r.tokenizerService?.getTokenizerConfigForModel(d,p),A;r.tokenizerService?A=(await r.tokenizerService.countTokens({messages:a,system:u,tools:l},y)).tokenCount:A=Hd(a,u,l);let g,C=n.get("CUSTOM_ROUTER_PATH");if(C)try{let b=require(C);t.tokenCount=A,g=await b(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(g)t.scenarioType="default";else{let b=await Ux(t,A,n,s);g=b.model,t.scenarioType=b.scenarioType}t.body.model=g}catch(d){t.log.error(`Error in router middleware: ${d.message}`);let p=n.get("Router");t.body.model=p?.default||t.body.model,t.scenarioType="default"}},on=new _b.LRUCache({max:1e3}),Wd=async(t,e)=>{if(on.has(t)){let r=on.get(t);return!r||r===""?null:r}try{if(!(await(0,Ns.stat)(Pn.CLAUDE_PROJECTS_DIR)).isDirectory())return on.set(t,""),null}catch(r){return r?.code==="ENOENT"?(on.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),on.set(t,""),null)}try{let r=await(0,Ns.opendir)(Pn.CLAUDE_PROJECTS_DIR),n=[];for await(let a of r)a.isDirectory()&&n.push(a.name);let o=n.map(async a=>{let u=(0,Xu.join)(Pn.CLAUDE_PROJECTS_DIR,a,`${t}.jsonl`);try{return(await(0,Ns.stat)(u)).isFile()?a:null}catch{return null}}),s=await Promise.all(o);for(let a of s)if(a)return on.set(t,a),a;return on.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),on.set(t,""),null}};var Gd=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()}},Jd=new Gd;var Db=Le(Sb(),1);Yd();Xd();Zd();Ab();var Us=new Map,th=new Map,rh={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,Db.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)Fo.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"&&t.log.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&Fo.registerHandlers(s)}r.outputOptions&&Fo.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 u=s.provider,l=s.model,f=`${u}:${l}`;if(th.has(f))return th.get(f);let d=a.getTokenizerConfigForModel(u,l);if(!d)return t.log?.debug(`No tokenizer config for ${u}:${l}, using fallback`),null;try{let p=await a.getTokenizer(d);return th.set(f,p),t.log?.info(`Created tokenizer for ${u}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${u}:${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,u)=>{let l=s.requestStartTime;if(!l)return;let f=s.id||Date.now().toString(),d;try{let g=s.body?.metadata?.user_id;if(g&&typeof g=="string"){let C=g.match(/_session_([a-f0-9-]+)/i);d=C?C[1]:void 0}}catch{}if(!d)return;let p=await o(s);if(u instanceof ReadableStream){Us.set(f,{requestId:f,sessionId:d,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,C]=u.tee();return(async()=>{let m=null,v=async k=>{let S=Us.get(f);if(!S)return;let T=performance.now();if(k){let O=(S.lastTokenTime-S.startTime)/1e3;O>0&&(S.tokensPerSecond=Math.round(S.tokenCount/O))}else{let O=T-1e3;S.tokenTimestamps=S.tokenTimestamps.filter(N=>N>O),S.tokensPerSecond=S.tokenTimestamps.length}await Tb(S,n,r.outputOptions,k,t.log).catch(O=>{t.log?.warn(`Failed to output streaming stats: ${O.message}`)})};try{let S=C.pipeThrough(new TextDecoderStream).pipeThrough(new wr).getReader();for(m=setInterval(async()=>{Us.get(f)&&await v(!1)},1e3);;){let{done:T,value:O}=await S.read();if(T)break;let N=O,q=Us.get(f);if(!q)continue;let z=performance.now();if(!q.firstTokenTime&&(N.event==="content_block_start"||N.event==="content_block_delta"||N.event==="text_block"||N.event==="content_block")&&(q.firstTokenTime=z,q.timeToFirstToken=Math.round(z-q.startTime)),N.event==="content_block_delta"&&N.data?.delta){let Y=N.data.delta.type,X="";if(Y==="text_delta"?X=N.data.delta.text||"":Y==="input_json_delta"?X=N.data.delta.partial_json||"":Y==="thinking_delta"&&(X=N.data.delta.thinking||""),X){let ue=p&&p.encodeText?p.encodeText(X).length:Ls(X);q.tokenCount+=ue,q.lastTokenTime=z;for(let ne=0;ne<ue;ne++)q.tokenTimestamps.push(z)}}N.event==="message_stop"&&(m&&(clearInterval(m),m=null),await v(!0),Us.delete(f))}}catch(k){m&&clearInterval(m),k.name!=="AbortError"&&k.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${k.message}`)}})().catch(m=>{t.log.error(m,"Background stats processing failed")}),g}let y=performance.now(),A=0;if(u&&typeof u=="string")try{let g=JSON.parse(u);if(g.usage?.output_tokens)A=g.usage.output_tokens;else{let C=g.content||g.message?.content||"";if(p)Array.isArray(C)?A=C.reduce((b,m)=>{if(m.type==="text"){let v=m.text||"";return b+(p.encodeText?p.encodeText(v).length:Ls(v))}return b},0):typeof C=="string"&&(A=p.encodeText?p.encodeText(C).length:Ls(C));else{let b=Array.isArray(C)?C.map(m=>m.text).join(""):C;A=Ls(b)}}}catch{}if(A>0){let g=(y-l)/1e3,C={requestId:f,sessionId:d,startTime:l,lastTokenTime:y,tokenCount:A,tokensPerSecond:g>0?Math.round(A/g):0,timeToFirstToken:Math.round(y-l),stream:!1,tokenTimestamps:[]};await Tb(C,n,r.outputOptions,!0,t.log)}return u})})};function Ls(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function Tb(t,e,r,n=!1,o){let s=n?"[Token Speed Final]":"[Token Speed]",a={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()},u={prefix:s,metadata:{sessionId:t.sessionId},...r};for(let l of e)try{await Fo.outputToType(l,a,u)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${l}:`,f)}}function Gx(t={}){let e=(0,vb.default)({bodyLimit:52428800,...t});return e.setErrorHandler(bp),e.register(Rb.default),e}var nh=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=Gx({...n,logger:n.logger??!0}),this.configService=new mn({...e,logger:this.app.log}),this.transformerService=new On(this.configService,this.app.log),this.tokenizerService=new Fn(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new yn(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 u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Qu(l,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await Mc(u)});return}if(!r)throw new Error("options is required");let n=new mn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new On(n,this.app.log);await o.initialize();let s=new yn(n,o,this.app.log),a=new Fn(n,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",n),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Qu(l,f,{configService:n,tokenizerService:a})}),await Mc(u)},{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 u=n.body;n.log.info({data:u,type:"request body"}),u.stream||(u.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[u,...l]=a.model.split(",");a.model=l.join(","),n.provider=u,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}`);let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`),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)}}},Jx=nh;0&&(module.exports={ConfigService,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,pluginManager,rewriteStream,router,searchProjectBySession,sessionUsageCache,tokenSpeedPlugin});
341
+ Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(Cb).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 wb=require("tiktoken"),Ns=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=(0,wb.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){if(!this.encoding)throw new Error("Encoding not initialized");let n=c=>this.encoding.encode(c,void 0,[]),o=0,{messages:s,system:a,tools:u}=e;return Array.isArray(s)&&s.forEach(c=>{typeof c.content=="string"?o+=n(c.content).length:Array.isArray(c.content)&&c.content.forEach(f=>{if(f.type==="text")o+=n(f.text).length;else if(f.type==="tool_use")o+=n(JSON.stringify(f.input)).length;else if(f.type==="tool_result"){let d=typeof f.content=="string"?f.content:JSON.stringify(f.content);o+=n(d).length}})}),typeof a=="string"?o+=n(a).length:Array.isArray(a)&&a.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?o+=n(c.text).length:Array.isArray(c.text)&&c.text.forEach(f=>{o+=n(f||"").length}))}),u&&u.forEach(c=>{c.description&&(o+=n(c.name+c.description).length),c.input_schema&&(o+=n(JSON.stringify(c.input_schema)).length)}),o}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,void 0,[]))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};var Us=require("path"),jb=require("os"),No=require("fs"),Ls=require("fs");var hR=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,u=o;for(;u<r&&(s=s[t[u]]);)s.end&&(a=s.end),++u;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}},pR=hR,gR=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}},mR=gR,vb=(()=>{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]]))})(),yR=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),_R=yR(vb),Eb=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",bR=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|[${Eb}])]+`,` ?[^\\s${Eb}]+`]]),Bs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",cj=new RegExp(`^[${Bs}]+$`,"gu"),Zd=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"),Yu=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of bR)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=CR(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},CR=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),wR=(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},ER=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,kR=t=>Number.isInteger(t)||typeof t=="bigint",SR=t=>{let e=0;for(let r of t)++e;return e},AR=t=>Rb(t.toLowerCase()),Mt=(...t)=>Array.prototype.concat.apply([],t),eh=t=>new Map(Object.entries(t)),TR=(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},Rb=t=>t.replace(new RegExp("\\p{M}","gu"),""),kb=(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},DR=t=>t.match(/\S+/g)||[],vR=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},js=vR,RR=class extends js{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Nr=RR,xR=class extends Nr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);ER(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`
342
+ `: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}},OR=xR,FR=class extends Nr{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}},PR=FR,IR=class extends Nr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>xb(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},NR=IR,BR=class extends Nr{normalize(t){let e=Yu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},jR=BR,MR=class extends Nr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Xu=MR,UR=class extends Xu{constructor(){super(...arguments),this.form="NFC"}},LR=UR,qR=class extends Xu{constructor(){super(...arguments),this.form="NFD"}},$R=qR,zR=class extends Xu{constructor(){super(...arguments),this.form="NFKC"}},HR=zR,WR=class extends Xu{constructor(){super(...arguments),this.form="NFKD"}},GR=WR,JR=class extends Nr{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}},VR=JR,KR=class extends Nr{normalize(t){return Rb(t)}},YR=KR,XR=class extends Nr{normalize(t){return t.toLowerCase()}},QR=XR,ZR=class extends Nr{normalize(t){return t=this.config.prepend+t,t}},ex=ZR;function tx(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new OR(t);case"Precompiled":return new PR(t);case"Sequence":return new NR(t);case"Replace":return new jR(t);case"NFC":return new LR(t);case"NFD":return new $R(t);case"NFKC":return new HR(t);case"NFKD":return new GR(t);case"Strip":return new VR(t);case"StripAccents":return new YR(t);case"Lowercase":return new QR(t);case"Prepend":return new ex(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var xb=tx,rx=class extends js{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)}},fr=rx,nx=class extends fr{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=vb,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(""))}},ox=nx,sx=class extends fr{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},ix=sx,ax=class extends fr{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]}},ux=ax,cx=class extends fr{constructor(t){super(),this.config=t,this.pattern=Yu(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):TR(t,this.pattern)}},lx=cx,fx=class extends fr{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Bs}]+|[${Bs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},dx=fx,hx=class extends fr{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)||[]}},px=hx,gx=class extends fr{constructor(){super(),this.pattern=new RegExp(`[^\\s${Bs}]+|[${Bs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},mx=gx,yx=class extends fr{constructor(t){super(),this.config=t,this.pattern=Yu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},_x=yx,bx=class extends fr{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>Ob(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},Cx=bx,wx=class extends fr{pre_tokenize_text(t){return DR(t)}},Ex=wx;function kx(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new mx;case"Sequence":return new Cx(t);case"Whitespace":return new ix;case"WhitespaceSplit":return new Ex;case"Metaspace":return new ux(t);case"ByteLevel":return new ox(t);case"Split":return new lx(t);case"Punctuation":return new dx(t);case"Digits":return new px(t);case"Replace":return new _x(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var Ob=kx,Sx=class extends js{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=wR(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)}},Qu=Sx,Ax=class extends Qu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=eh(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 u=n.length,c=null;for(;s<u;){let f=n.slice(s,u).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){c=f;break}--u}if(c===null){o=!0;break}a.push(c),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},Sb=Ax,Ab=class Fb{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new Fb(!1,new Map)}},Tx=class{constructor(){this.root=Ab.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=Ab.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)}}},Dx=Tx,Qd=class Pb{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 Pb(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},vx=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 Qd(this.bos_token_id??0,0,0,0,0),o=new Qd(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 Qd(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,u=null;for(let c of this.end_nodes[e]){let f=c.backtrace_score+s.score;(u===null||f>a)&&(u=c.clone(),a=f)}if(u!==null)s.prev=u,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)}},Rx=vx;function xx(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 Ox=class extends Qu{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=xx(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new Dx,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(""),u=this.trie.common_prefix_search(a);for(let c of u){s.push(c);let f=this.tokens_to_ids.get(c),d=this.scores[f],p=SR(c);t.insert(n,p,d,f),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new Rx(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}},Tb=Ox,Fx=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}},Px=Fx,Ix=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()}},Nx=Ix,Bx=class extends Qu{constructor(t){super(t),this.tokens_to_ids=eh(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 Nx(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 Px((u,c)=>u.score<c.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<r.length;++u){let c={bias:u/r.length,token:r[u],prev:a,next:null};a.next=c,this.add_node(o,a),a=c}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let f={...u.prev};u.prev.deleted=!0,u.prev=f,f.prev?f.prev.next=f:s=f}let c={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};c.prev?(c.prev.next=c,this.add_node(o,c.prev)):s=c,c.next&&(c.next.prev=c,this.add_node(o,c))}for(let u=s;u!==null;u=u.next)n.push(u.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}},Db=Bx,jx=class extends Qu{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=eh(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}},Mx=jx;function Ux(t,e){switch(t.type){case"WordPiece":return new Sb(t);case"Unigram":return new Tb(t,e.eos_token);case"BPE":return new Db(t);default:if(t.vocab)return Array.isArray(t.vocab)?new Tb(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new Db(t):new Sb(t):new Mx(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 Lx=Ux,qx=class extends js{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Ms=qx,$x=class extends Ms{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=Mt(o,t),s=Mt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Mt(o,e),s=Mt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},zx=$x,Hx=class extends Ms{post_process(t,e=null){return{tokens:e?Mt(t,e):t}}},Wx=Hx,Gx=class extends Ms{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Mt([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=Mt(t,o,e,s),n=Mt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},Jx=Gx,Vx=class extends Ms{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Mt([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=Mt(t,o,e,s),n=Mt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},Kx=Vx,Yx=class extends Ms{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>Ib(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}},Xx=Yx;function Qx(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new zx(t);case"ByteLevel":return new Wx(t);case"BertProcessing":return new Jx(t);case"RobertaProcessing":return new Kx(t);case"Sequence":return new Xx(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var Ib=Qx,Zx=class extends js{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=Zx,e1=class extends dr{constructor(t){super(t),this.byte_decoder=_R,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}},t1=e1,r1=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=Zd(e)),e})}},n1=r1,o1=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}},s1=o1,i1=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?"":" "))}},a1=i1,u1=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=Zd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},c1=u1,l1=class extends dr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>Nb(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},f1=l1,d1=class extends dr{decode_chain(t){let e=Yu(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},h1=d1,p1=class extends dr{decode_chain(t){return[t.join("")]}},g1=p1,m1=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)})}},y1=m1,_1=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}},b1=_1;function C1(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new t1(t);case"WordPiece":return new n1(t);case"Metaspace":return new s1(t);case"BPEDecoder":return new a1(t);case"CTC":return new c1(t);case"Sequence":return new f1(t);case"Replace":return new h1(t);case"Fuse":return new g1(t);case"Strip":return new y1(t);case"ByteFallback":return new b1(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var Nb=C1,w1=class{constructor(t,e){let r=kb(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=kb(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=xb(this.tokenizer.normalizer),this.pre_tokenizer=Ob(this.tokenizer.pre_tokenizer),this.model=Lx(this.tokenizer.model,this.config),this.post_processor=Ib(this.tokenizer.post_processor),this.decoder=Nb(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new mR(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 pR(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),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!kR(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=Zd(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=AR(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:Mt(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}},Bb=w1;var Zu=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,Us.join)((0,jb.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,Us.join)(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:(0,Us.join)(e,"tokenizer.json"),tokenizerConfig:(0,Us.join)(e,"tokenizer_config.json")}}ensureDir(e){(0,No.existsSync)(e)||(0,No.mkdirSync)(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!(0,No.existsSync)(e.tokenizerJson)||!(0,No.existsSync)(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ls.promises.readFile(e.tokenizerJson,"utf-8"),Ls.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[u,c]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ls.promises.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),Ls.promises.writeFile(e.tokenizerConfig,JSON.stringify(c,null,2))]),{tokenizerJson:u,tokenizerConfig:c}}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 Bb(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 u of a.content)u.type==="text"&&u.text?r.push(u.text):u.type==="tool_use"&&u.input?r.push(JSON.stringify(u.input)):u.type==="tool_result"&&r.push(typeof u.content=="string"?u.content:JSON.stringify(u.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 u of a.text)u&&r.push(u)}}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 ec=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 u=await a.json();return this.extractTokenCount(u)}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 jn=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 Ns("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 Ns(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Zu(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new ec(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 Lb=require("tiktoken");var th=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())}},tc=new th(100);var rc=require("fs/promises"),qs=require("fs/promises"),nc=require("path"),Mn=require("@caeliq/ccr-shared"),qb=require("lru-cache"),E1=(0,Lb.get_encoding)("cl100k_base"),Br=t=>E1.encode(t,void 0,[]),Mb="<CCR-SUBAGENT-MODEL>",Ub="</CCR-SUBAGENT-MODEL>",$b="x-anthropic-billing-header",Bo=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function zb(t){let e=t?.trim();if(!e)return;if(e.includes(","))return e;let r=e.indexOf("/");return r>0?`${e.slice(0,r)},${e.slice(r+1)}`:e}function k1(t){let e=`${$b}:`;if(!t.startsWith(e))return!1;let r=t.slice(e.length).trim();if(!r)return!1;if(r.startsWith("{"))try{let o=JSON.parse(r);return Bo(o)&&o.cc_is_subagent===!0}catch{return!1}let n=r.split(";").map(o=>o.trim()).filter(Boolean).flatMap(o=>{let s=o.indexOf("=");return s<0||o.slice(0,s).trim()!=="cc_is_subagent"?[]:[o.slice(s+1).trim()]});return n.length===1&&n[0]==="true"}function S1(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return!1;let r=e[0],n=typeof r=="string"?r:Bo(r)&&r.type==="text"&&typeof r.text=="string"?r.text:void 0;if(!n?.startsWith($b))return!1;let o=k1(n);return e.shift(),e.length===0&&delete t.system,o}function oc(t,e){let r=t.indexOf(Mb);if(r<0)return;let n=r+Mb.length,o=t.indexOf(Ub,n);if(o<0)return;let s=zb(t.slice(n,o));if(s)return e(`${t.slice(0,r)}${t.slice(o+Ub.length)}`),s}function Hb(t,e){if(typeof t=="string")return oc(t,e);if(!(!Bo(t)||typeof t.text!="string"))return oc(t.text,e)}function A1(t){let e=t?.system;if(typeof e=="string")return oc(e,r=>{t.system=r});if(Array.isArray(e))for(let r=0;r<e.length;r+=1){let n=e[r],o=Hb(n,s=>{typeof n=="string"?e[r]=s:Bo(n)&&(n.text=s)});if(o)return o}}function T1(t){if(typeof t.content=="string")return oc(t.content,r=>{t.content=r});if(!Array.isArray(t.content))return;let e=t.content;for(let r=0;r<e.length;r+=1){let n=e[r],o=Hb(n,s=>{typeof n=="string"?e[r]=s:Bo(n)&&(n.text=s)});if(o)return o}}function D1(t){if(!Array.isArray(t?.messages))return;let e=Math.min(t.messages.length,2);for(let r=0;r<e;r+=1){let n=t.messages[r];if(!Bo(n)||n.role!=="user")continue;let o=T1(n);if(o)return o}}function v1(t){return A1(t)||D1(t)}var rh=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Br(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Br(s.text).length:s.type==="tool_use"?n+=Br(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Br(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Br(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Br(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Br(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Br(o.name+o.description).length),o.input_schema&&(n+=Br(JSON.stringify(o.input_schema)).length)}),n},R1=async(t,e)=>{if(t.sessionId){let r=await nh(t.sessionId);if(r){let n=(0,nc.join)(Mn.HOME_DIR,r,"config.json"),o=(0,nc.join)(Mn.HOME_DIR,r,`${t.sessionId}.json`);try{let s=JSON.parse(await(0,rc.readFile)(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await(0,rc.readFile)(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}},x1=async(t,e,r,n)=>{let o=await R1(t,r),s=r.get("providers")||[],a=o||r.get("Router");if(t.body.model.includes(",")){let[A,g]=t.body.model.split(","),_=s.find(m=>m.name.toLowerCase()===A),b=_?.models?.find(m=>m.toLowerCase()===g);return _&&b?{model:`${_.name},${b}`,scenarioType:"default"}:{model:t.body.model,scenarioType:"default"}}let u=a?.longContextThreshold||6e4,c=n&&n.input_tokens>u&&e>2e4,f=e>u;if((c||f)&&a?.longContext)return t.log.info(`Using long context model due to token count: ${e}, threshold: ${u}`),{model:a.longContext,scenarioType:"longContext"};let d=S1(t.body),p=v1(t.body);if(p)return t.log.info(`Using CCR subagent tag model: ${p}`),{model:p,scenarioType:"subagent"};if(d){let A=zb(process.env.CLAUDE_CODE_SUBAGENT_MODEL);if(A)return t.log.info(`Using CLAUDE_CODE_SUBAGENT_MODEL for Claude Code subagent: ${A}`),{model:A,scenarioType:"subagent"}}let y=r.get("Router");return t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&y?.background?(t.log.info(`Using background model for ${t.body.model}`),{model:y.background,scenarioType:"background"}):Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&a?.webSearch?{model:a.webSearch,scenarioType:"webSearch"}:t.body.thinking&&a?.think?(t.log.info(`Using think model for ${t.body.thinking}`),{model:a.think,scenarioType:"think"}):{model:a?.default||t.body.model,scenarioType:"default"}},O1=t=>{if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let r=JSON.parse(t);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}},sc=async(t,e,r)=>{let{configService:n,event:o}=r;t.sessionId=O1(t.body.metadata?.user_id);let s=tc.get(t.sessionId),{messages:a,system:u=[],tools:c}=t.body,f=n.get("REWRITE_SYSTEM_PROMPT");if(f&&u.length>1&&u[1]?.text?.includes("<env>")){let d=await(0,rc.readFile)(f,"utf-8");u[1].text=`${d}<env>${u[1].text.split("<env>").pop()}`}try{let[d,p]=t.body.model.split(","),y=r.tokenizerService?.getTokenizerConfigForModel(d,p),A;r.tokenizerService?A=(await r.tokenizerService.countTokens({messages:a,system:u,tools:c},y)).tokenCount:A=rh(a,u,c);let g,_=n.get("CUSTOM_ROUTER_PATH");if(_)try{let b=require(_);t.tokenCount=A,g=await b(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(g)t.scenarioType="default";else{let b=await x1(t,A,n,s);g=b.model,t.scenarioType=b.scenarioType}t.body.model=g}catch(d){t.log.error(`Error in router middleware: ${d.message}`);let p=n.get("Router");t.body.model=p?.default||t.body.model,t.scenarioType="default"}},cn=new qb.LRUCache({max:1e3}),nh=async(t,e)=>{if(cn.has(t)){let r=cn.get(t);return!r||r===""?null:r}try{if(!(await(0,qs.stat)(Mn.CLAUDE_PROJECTS_DIR)).isDirectory())return cn.set(t,""),null}catch(r){return r?.code==="ENOENT"?(cn.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",r),cn.set(t,""),null)}try{let r=await(0,qs.opendir)(Mn.CLAUDE_PROJECTS_DIR),n=[];for await(let a of r)a.isDirectory()&&n.push(a.name);let o=n.map(async a=>{let u=(0,nc.join)(Mn.CLAUDE_PROJECTS_DIR,a,`${t}.jsonl`);try{return(await(0,qs.stat)(u)).isFile()?a:null}catch{return null}}),s=await Promise.all(o);for(let a of s)if(a)return cn.set(t,a),a;return cn.set(t,""),null}catch(r){return(e?.error??console.error)("Error searching for project by session:",r),cn.set(t,""),null}};var oh=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()}},sh=new oh;var Zb=$e(Kb(),1);uh();ch();fh();Xb();var Ws=new Map,hh=new Map,ph={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,Zb.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)Mo.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"&&t.log.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&Mo.registerHandlers(s)}r.outputOptions&&Mo.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 u=s.provider,c=s.model,f=`${u}:${c}`;if(hh.has(f))return hh.get(f);let d=a.getTokenizerConfigForModel(u,c);if(!d)return t.log?.debug(`No tokenizer config for ${u}:${c}, using fallback`),null;try{let p=await a.getTokenizer(d);return hh.set(f,p),t.log?.info(`Created tokenizer for ${u}:${c} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${u}:${c}: ${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,u)=>{let c=s.requestStartTime;if(!c)return;let f=s.id||Date.now().toString(),d;try{let g=s.body?.metadata?.user_id;if(g&&typeof g=="string"){let _=g.match(/_session_([a-f0-9-]+)/i);d=_?_[1]:void 0}}catch{}if(!d)return;let p=await o(s);if(u instanceof ReadableStream){Ws.set(f,{requestId:f,sessionId:d,startTime:c,lastTokenTime:c,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=u.tee();return(async()=>{let m=null,v=async k=>{let w=Ws.get(f);if(!w)return;let T=performance.now();if(k){let O=(w.lastTokenTime-w.startTime)/1e3;O>0&&(w.tokensPerSecond=Math.round(w.tokenCount/O))}else{let O=T-1e3;w.tokenTimestamps=w.tokenTimestamps.filter(N=>N>O),w.tokensPerSecond=w.tokenTimestamps.length}await Qb(w,n,r.outputOptions,k,t.log).catch(O=>{t.log?.warn(`Failed to output streaming stats: ${O.message}`)})};try{let w=_.pipeThrough(new TextDecoderStream).pipeThrough(new Sr).getReader();for(m=setInterval(async()=>{Ws.get(f)&&await v(!1)},1e3);;){let{done:T,value:O}=await w.read();if(T)break;let N=O,G=Ws.get(f);if(!G)continue;let $=performance.now();if(!G.firstTokenTime&&(N.event==="content_block_start"||N.event==="content_block_delta"||N.event==="text_block"||N.event==="content_block")&&(G.firstTokenTime=$,G.timeToFirstToken=Math.round($-G.startTime)),N.event==="content_block_delta"&&N.data?.delta){let X=N.data.delta.type,K="";if(X==="text_delta"?K=N.data.delta.text||"":X==="input_json_delta"?K=N.data.delta.partial_json||"":X==="thinking_delta"&&(K=N.data.delta.thinking||""),K){let se=p&&p.encodeText?p.encodeText(K).length:Gs(K);G.tokenCount+=se,G.lastTokenTime=$;for(let _e=0;_e<se;_e++)G.tokenTimestamps.push($)}}N.event==="message_stop"&&(m&&(clearInterval(m),m=null),await v(!0),Ws.delete(f))}}catch(k){m&&clearInterval(m),k.name!=="AbortError"&&k.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${k.message}`)}})().catch(m=>{t.log.error(m,"Background stats processing failed")}),g}let y=performance.now(),A=0;if(u&&typeof u=="string")try{let g=JSON.parse(u);if(g.usage?.output_tokens)A=g.usage.output_tokens;else{let _=g.content||g.message?.content||"";if(p)Array.isArray(_)?A=_.reduce((b,m)=>{if(m.type==="text"){let v=m.text||"";return b+(p.encodeText?p.encodeText(v).length:Gs(v))}return b},0):typeof _=="string"&&(A=p.encodeText?p.encodeText(_).length:Gs(_));else{let b=Array.isArray(_)?_.map(m=>m.text).join(""):_;A=Gs(b)}}}catch{}if(A>0){let g=(y-c)/1e3,_={requestId:f,sessionId:d,startTime:c,lastTokenTime:y,tokenCount:A,tokensPerSecond:g>0?Math.round(A/g):0,timeToFirstToken:Math.round(y-c),stream:!1,tokenTimestamps:[]};await Qb(_,n,r.outputOptions,!0,t.log)}return u})})};function Gs(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function Qb(t,e,r,n=!1,o){let s=n?"[Token Speed Final]":"[Token Speed]",a={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()},u={prefix:s,metadata:{sessionId:t.sessionId},...r};for(let c of e)try{await Mo.outputToType(c,a,u)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${c}:`,f)}}function j1(t={}){let e=(0,eC.default)({bodyLimit:52428800,...t});return e.setErrorHandler(Mp),e.register(tC.default),e}var gh=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:r,...n}=e;this.app=j1({...n,logger:n.logger??!0}),this.configService=new Cn({...e,logger:this.app.log}),this.transformerService=new Bn(this.configService,this.app.log),this.tokenizerService=new jn(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new En(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 u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.addHook("preHandler",async(c,f)=>{new URL(`http://127.0.0.1${c.url}`).pathname.endsWith("/v1/messages")&&await sc(c,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await Kc(u)});return}if(!r)throw new Error("options is required");let n=new Cn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new Bn(n,this.app.log);await o.initialize();let s=new En(n,o,this.app.log),a=new jn(n,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",n),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.addHook("preHandler",async(c,f)=>{new URL(`http://127.0.0.1${c.url}`).pathname.endsWith("/v1/messages")&&await sc(c,f,{configService:n,tokenizerService:a})}),await Kc(u)},{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 u=n.body;n.log.info({data:u,type:"request body"}),u.stream||(u.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[u,...c]=a.model.split(",");a.model=c.join(","),n.provider=u,n.model=c;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}`);let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`),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)}}},M1=gh;0&&(module.exports={ConfigService,ProviderService,SSEParserTransform,SSESerializerTransform,TokenizerService,TransformerService,calculateTokenCount,isClientAbortError,pluginManager,rewriteStream,router,searchProjectBySession,sessionUsageCache,tokenSpeedPlugin});
342
343
  /*! Bundled license information:
343
344
 
344
345
  web-streams-polyfill/dist/ponyfill.es2018.js: