@zuplo/core 6.70.22 → 6.70.23

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.
@@ -568,7 +568,7 @@ globstar while`,s,de,o,ae,Ye),this.matchOne(s.slice(de),o.slice(ae),f))return th
568
568
  `],[102,"\f"],[114,"\r"],[116," "]]),woe=new Map([...xV,[118,"\v"],[48,"\0"]]),HKt=new Map([[OPe,OPe],["\\","\\"],["/","/"],["\b","b"],[`
569
569
  `,"n"],["\f","f"],["\r","r"],[" ","t"]]),WEr=new Map([...HKt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),koe=new Map([[RKt,"LBracket"],[MKt,"RBracket"],[jKt,"LBrace"],[BKt,"RBrace"],[UKt,"Colon"],[zKt,"Comma"],[$Kt,"Boolean"],[JKt,"Boolean"],[WKt,"Null"]]),Coe=new Map([...koe,[qKt,"Number"],[VKt,"Number"]]),FPe=new Set([10,13,8232,8233]),jP=class extends Error{static{t(this,"ErrorWithLocation")}constructor(o,{line:f,column:d,offset:y}){super(`${o} (${f}:${d})`),this.line=f,this.column=d,this.offset=y}},LPe=class extends jP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},RPe=class extends jP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},pO=class extends jP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Doe=class extends jP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},GKt=/[\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]/,YKt=/[\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]/,KKt=13,Int=10,MPe=class{static{t(this,"CharCodeReader")}#e="";#n=1;#t=0;#r=-1;#s=!1;#m=-1;#c=!1;constructor(o){this.#e=o}#u(){this.#c||(this.#t++,this.#r++,this.#m=-1,this.#c=!0)}locate(){return{line:this.#n,column:this.#t,offset:this.#r}}next(){if(this.#r>=this.#e.length-1)return this.#u(),-1;this.#r++;let o=this.#e.charCodeAt(this.#r);return this.#s?(this.#n++,this.#t=1,this.#s=!1):this.#t++,o===KKt?(this.#s=!0,this.peek()===Int&&this.#r++):o===Int&&(this.#s=!0),this.#m=o,o}peek(){return this.#r===this.#e.length-1?-1:this.#e.charCodeAt(this.#r+1)}match(o){return o(this.peek())?(this.next(),!0):!1}current(){return this.#m}},XKt="Infinity",ZKt="NaN",QKt=new Set([116,102,110]),jPe=new Set([32,9,10,13]),Ont=new Set([...jPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),eXt={mode:"json",ranges:!1},tXt=new Set(["true","false","null"]),y_={EOF:0,Number:1,String:2,Boolean:3,Null:4,NaN:5,Infinity:6,Identifier:7,Colon:20,LBrace:21,RBrace:22,LBracket:23,RBracket:24,Comma:25,LineComment:40,BlockComment:41};function MP(s){return s>=48&&s<=57}t(MP,"isDigit");function IPe(s){return MP(s)||s>=65&&s<=70||s>=97&&s<=102}t(IPe,"isHexDigit");function rXt(s){return s>=49&&s<=57}t(rXt,"isPositiveDigit");function nXt(s){return QKt.has(s)}t(nXt,"isKeywordStart");function Lnt(s){return MP(s)||s===46||s===45}t(Lnt,"isNumberStart");function iXt(s){return Lnt(s)||s===43}t(iXt,"isJSON5NumberStart");function Fnt(s,o){return s===34||o&&s===39}t(Fnt,"isStringStart");function Rnt(s){if(s===36||s===95||s===92||s>=97&&s<=122||s>=65&&s<=90||s===8204||s===8205)return!0;let o=String.fromCharCode(s);return GKt.test(o)}t(Rnt,"isJSON5IdentifierStart");function sXt(s){if(Rnt(s)||MP(s))return!0;let o=String.fromCharCode(s);return YKt.test(o)}t(sXt,"isJSON5IdentifierPart");var BPe=class{static{t(this,"Tokenizer")}#e;#n;#t;#r;#s;#m;#c;#u;#f;#p;#a;constructor(o,f){this.#n=o,this.#e={...eXt,...f},this.#t=new MPe(o),this.#r=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#m=this.#e.ranges,this.#u=this.#r?woe.has.bind(woe):xV.has.bind(xV),this.#f=this.#r?FPe.has.bind(FPe):()=>!1,this.#p=this.#r?d=>d===120:()=>!1,this.#a=this.#r?Ont.has.bind(Ont):jPe.has.bind(jPe)}#i(o,f=this.#t.locate()){throw new LPe(o,f)}#o(o,f=this.#t.locate()){throw new RPe(o,f)}#h(){throw new Doe(this.#t.locate())}#d(o,f,d,y){let E=d.offset+f,P=this.#e.ranges?{range:[d.offset,E]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:E}},...P}}#_(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),IPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#y(o){let f="";do{if(f+=String.fromCharCode(o),o===92&&(o=this.#t.next(),o!==117&&this.#i(o),f+=String.fromCharCode(o),f+=this.#_(4)),o=this.#t.peek(),!sXt(o))break;this.#t.next()}while(!0);return f}#b(o){let f=o,d=1;for(o=this.#t.peek();o!==-1&&o!==f;){if(this.#t.next(),d++,o===92)if(o=this.#t.peek(),this.#u(o)||this.#f(o))this.#t.next(),d++;else if(o===117){this.#t.next(),d++;let y=this.#_(4);d+=y.length}else if(this.#p(o)){this.#t.next(),d++;let y=this.#_(2);d+=y.length}else this.#r?(this.#t.next(),d++):this.#i(o);o=this.#t.peek()}return o===-1&&(this.#t.next(),this.#h()),this.#t.next(),d++,d}#v(o){let f=1;if(o===45||this.#r&&o===43){if(o=this.#t.peek(),this.#r&&(o===73||o===78)){this.#t.next();let d=this.#y(o);return d!==XKt&&d!==ZKt&&this.#i(o),f+d.length}MP(o)||this.#i(o),this.#t.next(),f++}if(o===48)if(o=this.#t.peek(),this.#r&&(o===120||o===88)){this.#t.next(),f++,o=this.#t.peek(),IPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(IPe(o))}else MP(o)&&this.#i(o);else if(!this.#r||o!==46)for(rXt(o)||this.#i(o),o=this.#t.peek();MP(o);)this.#t.next(),f++,o=this.#t.peek();if(o===46){let d=-1;for(this.#t.next(),f++,d++,o=this.#t.peek();MP(o);)this.#t.next(),f++,d++,o=this.#t.peek();!this.#r&&d===0&&(this.#t.next(),o?this.#i(o):this.#h())}if(o===101||o===69)for(this.#t.next(),f++,o=this.#t.peek(),(o===43||o===45)&&(this.#t.next(),f++,o=this.#t.peek()),o===-1&&(this.#t.next(),this.#h()),MP(o)||(this.#t.next(),this.#i(o));MP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#C(o){let f=1;if(o=this.#t.peek(),o===47){do this.#t.next(),f+=1,o=this.#t.peek();while(o>-1&&o!==13&&o!==10);return{length:f,multiline:!1}}if(o===42){for(this.#t.next(),f+=1;o>-1;)if(o=this.#t.peek(),o===42){if(this.#t.next(),f+=1,o=this.#t.peek(),o===47)return this.#t.next(),f+=1,{length:f,multiline:!0}}else this.#t.next(),f+=1;this.#t.next(),this.#h()}this.#t.next(),this.#i(o)}next(){let o=this.#t.next();for(;this.#a(o);)o=this.#t.next();if(o===-1)return y_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#r)if(Coe.has(d))this.#c=this.#d(Coe.get(d),1,f);else if(Rnt(o)){let y=this.#y(o);Coe.has(y)?this.#c=this.#d(Coe.get(y),y.length,f):this.#c=this.#d("Identifier",y.length,f)}else if(iXt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(Fnt(o,this.#r)){let y=this.#b(o),E=this.#t.locate();this.#c=this.#d("String",y,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);else if(koe.has(d))this.#c=this.#d(koe.get(d),1,f);else if(nXt(o)){let y=this.#y(o);tXt.has(y)||this.#o(y,f),this.#c=this.#d(koe.get(y),y.length,f)}else if(Lnt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if(Fnt(o,this.#r)){let y=this.#b(o);this.#c=this.#d("String",y,f)}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);return y_[this.#c.type]}get token(){return this.#c}};var oT={document(s,o={}){return{type:"Document",body:s,loc:o.loc,...o}},string(s,o={}){return{type:"String",value:s,loc:o.loc,...o}},number(s,o={}){return{type:"Number",value:s,loc:o.loc,...o}},boolean(s,o={}){return{type:"Boolean",value:s,loc:o.loc,...o}},null(s={}){return{type:"Null",loc:s.loc,...s}},array(s,o={}){return{type:"Array",elements:s,loc:o.loc,...o}},element(s,o={}){return{type:"Element",value:s,loc:o.loc,...o}},object(s,o={}){return{type:"Object",members:s,loc:o.loc,...o}},member(s,o,f={}){return{type:"Member",name:s,value:o,loc:f.loc,...f}},identifier(s,o={}){return{type:"Identifier",name:s,loc:o.loc,...o}},nan(s="",o={}){return{type:"NaN",sign:s,loc:o.loc,...o}},infinity(s="",o={}){return{type:"Infinity",sign:s,loc:o.loc,...o}}},aXt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function oXt(s,o,f=!1){let d="",y=s.indexOf("\\"),E=0;for(;y>=0;){d+=s.slice(E,y);let P=s.charAt(y+1),F=P.charCodeAt(0);if(f&&woe.has(F))d+=woe.get(F),E=y+2;else if(xV.has(F))d+=xV.get(F),E=y+2;else if(P==="u"){let J=s.slice(y+2,y+6);if(J.length<4||/[^0-9a-f]/i.test(J))throw new jP(`Invalid unicode escape \\u${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+6}else if(f&&P==="x"){let J=s.slice(y+2,y+4);if(J.length<2||/[^0-9a-f]/i.test(J))throw new jP(`Invalid hex escape \\x${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+4}else if(f&&FPe.has(F))E=y+2,P==="\r"&&s.charAt(E)===`
570
570
  `&&E++;else if(f)d+=P,E=y+2;else throw new jP(`Invalid escape \\${P}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",E)}return d+=s.slice(E),d}t(oXt,"getStringValue");function cXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return oXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(cXt,"getLiteralValue");function Mnt(s,o){o=Object.freeze({...aXt,...o});let f=[],d=new BPe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",E=o.allowTrailingCommas||y;function P(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr}t(P,"nextNoComments");function F(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr>=y_.LineComment?F():wr}t(F,"nextSkipComments");let J=o.mode==="json"?P:F;function G(wr,Sr){if(wr!==Sr)throw new pO(d.token)}t(G,"assertTokenType");function Te(wr,Sr){if(!Sr.includes(wr))throw new pO(d.token)}t(Te,"assertTokenTypes");function de(wr,Sr){return o.ranges?{range:[wr.offset,Sr.offset]}:void 0}t(de,"createRange");function ae(wr){let Sr=d.token,us=de(Sr.loc.start,Sr.loc.end),Fi=cXt(s.slice(Sr.loc.start.offset,Sr.loc.end.offset),Sr,y),bi={loc:{start:{...Sr.loc.start},end:{...Sr.loc.end}},...us};switch(wr){case y_.String:return oT.string(Fi,bi);case y_.Number:return oT.number(Fi,bi);case y_.Boolean:return oT.boolean(Fi,bi);default:throw new TypeError(`Unknown token type ${Sr.type}.`)}}t(ae,"createLiteralNode");function Ye(wr){let Sr=de(wr.loc.start,wr.loc.end),us=s.slice(wr.loc.start.offset,wr.loc.end.offset),cc={loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...Sr};if(wr.type!=="Identifier"){let bi="";return(us[0]==="+"||us[0]==="-")&&(bi=us[0]),oT[us.includes("NaN")?"nan":"infinity"](bi,cc)}return oT.identifier(us,cc)}t(Ye,"createJSON5IdentifierNode");function Ue(wr){let Sr=de(wr.loc.start,wr.loc.end);return oT.null({loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...Sr})}t(Ue,"createNullNode");function je(wr){y?Te(wr,[y_.String,y_.Identifier,y_.Number]):G(wr,y_.String);let Sr=d.token,us=wr===y_.String?ae(wr):Ye(Sr);if(y&&(us.type==="NaN"||us.type==="Infinity")){if(us.sign!=="")throw new pO(d.token);us=oT.identifier(us.type,{loc:us.loc,...de(us.loc.start,us.loc.end)})}wr=J(),G(wr,y_.Colon);let Fi=kr(),cc=de(us.loc.start,Fi.loc.end);return oT.member(us,Fi,{loc:{start:{...us.loc.start},end:{...Fi.loc.end}},...cc})}t(je,"parseProperty");function Kt(wr){G(wr,y_.LBrace);let Sr=d.token,us=[],Fi=J();if(Fi!==y_.RBrace)do{if(us.push(je(Fi)),Fi=J(),!Fi)throw new Doe(us[us.length-1].loc.end);if(Fi===y_.Comma){if(Fi=J(),E&&Fi===y_.RBrace)break}else break}while(Fi);G(Fi,y_.RBrace);let cc=d.token,bi=de(Sr.loc.start,cc.loc.end);return oT.object(us,{loc:{start:{...Sr.loc.start},end:{...cc.loc.end}},...bi})}t(Kt,"parseObject");function Ut(wr){G(wr,y_.LBracket);let Sr=d.token,us=[],Fi=J();if(Fi!==y_.RBracket)do{let Qf=kr(Fi);if(us.push(oT.element(Qf,{loc:Qf.loc})),Fi=J(),Fi===y_.Comma){if(Fi=J(),E&&Fi===y_.RBracket)break}else break}while(Fi);G(Fi,y_.RBracket);let cc=d.token,bi=de(Sr.loc.start,cc.loc.end);return oT.array(us,{loc:{start:{...Sr.loc.start},end:{...cc.loc.end}},...bi})}t(Ut,"parseArray");function kr(wr){wr=wr??J();let Sr=d.token;switch(wr){case y_.String:case y_.Boolean:return ae(wr);case y_.Number:if(y){let us=s.slice(Sr.loc.start.offset,Sr.loc.end.offset);if((us[0]==="+"||us[0]==="-")&&(us=us.slice(1)),us==="NaN"||us==="Infinity")return Ye(Sr)}return ae(wr);case y_.Null:return Ue(Sr);case y_.LBrace:return Kt(wr);case y_.LBracket:return Ut(wr);default:throw new pO(Sr)}}t(kr,"parseValue");let An=kr();if(J())throw new pO(d.token);let Pn={loc:{start:{line:1,column:1,offset:0},end:{...An.loc.end}}};return o.tokens&&(Pn.tokens=f),o.ranges&&(Pn.range=[Pn.loc.start.offset,Pn.loc.end.offset]),oT.document(An,Pn)}t(Mnt,"parse");var lXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function jnt(s){return s&&typeof s=="object"}t(jnt,"isObject");function uXt(s){return jnt(s)&&typeof s.type=="string"}t(uXt,"isNode");function fXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of lXt.get(d.type)){let P=d[E];jnt(P)&&(Array.isArray(P)?P.forEach(F=>f(F,d)):uXt(P)&&f(P,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(fXt,"traverse");function Bnt(s,o=()=>!0){let f=[];return fXt(s,{enter(d,y){f.push({node:d,parent:y,phase:"enter"})},exit(d,y){f.push({node:d,parent:y,phase:"exit"})}}),f.filter(o).values()}t(Bnt,"iterator");import _Xt from"node:fs/promises";var EV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Poe=t(async s=>{try{return await _Xt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),CV=t(async s=>{try{return Mnt(s)}catch(o){if(o.column&&o.line&&o.message){let f=EV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var Unt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Poe(d),E=await pXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),pXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await CV(s);if(E){for(let{node:P}of Bnt(E))if(P.value&&P.value===f){y=P.loc;break}if(y!==null){let P=EV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:P,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import znt from"node:fs/promises";import yE from"node:path";var UPe="schemas",zPe=".oas.json";var dO=t(async s=>(await znt.readdir(s)).map(f=>yE.join(s,f)).filter(f=>f.endsWith(zPe)).sort(),"getOpenApiFilesByAlphabetical"),W9=t(async s=>{let o=yE.resolve(s,"config");return(await znt.readdir(o)).filter(d=>d.endsWith(zPe)).length>=1},"oasFileInProject");function kV(s,o,f,d,y,E,P){if(E.has(f))return;let F;try{F=d.get(f)}catch(Ue){throw new C1({text:`Failed to resolve reference: ${f}`,detail:Ue.message,severity:"error",message:"Failed to resolve reference",location:{file:s,column:0,line:0,length:0,lineText:f,namespace:o,suggestion:"Check the reference and try again."}})}let J=Noe(f),G=yE.basename(J,yE.extname(J)),Te=f.indexOf("#"),de=Te>=0?f.substring(0,Te):f,ae=Te>=0?f.substring(Te+1):"",Ye=d.get(de);if(ae){let Ue=ae.split("/").filter(Boolean);for(let je of Ue)if(Ye=Ye[je],Ye===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(Ye&&typeof Ye=="object"&&"$ref"in Ye&&typeof Ye.$ref=="string"&&!Ye.$ref.startsWith("#")){let Ue=yE.resolve(yE.dirname(de),Ye.$ref);if(J=Ue,G=yE.basename(J,yE.extname(J)),de=Ue,E.has(de)){let Kt=E.get(de);if(Kt===void 0)throw new Error(`Expected to find ${de} in refsVisited map`);E.set(f,Kt);return}let je=y.length;E.set(f,je),E.set(de,je),y.push(de),Aoe(J,G,F,d,y,E,P)}else E.set(f,y.length),y.push(f),Aoe(Noe(f),o,F,d,y,E,P)}t(kV,"chaseRefs");function Aoe(s,o,f,d,y,E,P){if(Array.isArray(f))for(let F of f)Aoe(s,o,F,d,y,E,P);else if(typeof f=="object")for(let F in f){if(F==="$ref"){let J=f[F];P&&(f[F]=P(o,J,s)),kV(s,o,HN(s,J),d,y,E,P)}Aoe(s,o,f[F],d,y,E,P)}}t(Aoe,"lookForRefs");function HN(s,o){let f=o.indexOf("#");return f>=0?`${yE.resolve(s,o.substring(0,f))}${o.substring(f)}`:yE.resolve(yE.dirname(s),o)}t(HN,"getFullyQualifiedRefName");function Noe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Noe,"getFilePathNameFromRefName");import sle from"node:path";function dXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let G=0;G<o.length;G++)o[G]=255;for(let G=0;G<s.length;G++){let Te=s.charAt(G),de=Te.charCodeAt(0);if(o[de]!==255)throw new TypeError(Te+" is ambiguous");o[de]=G}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),E=Math.log(256)/Math.log(f);function P(G){if(G instanceof Uint8Array||(ArrayBuffer.isView(G)?G=new Uint8Array(G.buffer,G.byteOffset,G.byteLength):Array.isArray(G)&&(G=Uint8Array.from(G))),!(G instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(G.length===0)return"";let Te=0,de=0,ae=0,Ye=G.length;for(;ae!==Ye&&G[ae]===0;)ae++,Te++;let Ue=(Ye-ae)*E+1>>>0,je=new Uint8Array(Ue);for(;ae!==Ye;){let kr=G[ae],An=0;for(let nn=Ue-1;(kr!==0||An<de)&&nn!==-1;nn--,An++)kr+=256*je[nn]>>>0,je[nn]=kr%f>>>0,kr=kr/f>>>0;if(kr!==0)throw new Error("Non-zero carry");de=An,ae++}let Kt=Ue-de;for(;Kt!==Ue&&je[Kt]===0;)Kt++;let Ut=d.repeat(Te);for(;Kt<Ue;++Kt)Ut+=s.charAt(je[Kt]);return Ut}t(P,"encode");function F(G){if(typeof G!="string")throw new TypeError("Expected String");if(G.length===0)return new Uint8Array;let Te=0,de=0,ae=0;for(;G[Te]===d;)de++,Te++;let Ye=(G.length-Te)*y+1>>>0,Ue=new Uint8Array(Ye);for(;G[Te];){let kr=o[G.charCodeAt(Te)];if(kr===255)return;let An=0;for(let nn=Ye-1;(kr!==0||An<ae)&&nn!==-1;nn--,An++)kr+=f*Ue[nn]>>>0,Ue[nn]=kr%256>>>0,kr=kr/256>>>0;if(kr!==0)throw new Error("Non-zero carry");ae=An,Te++}let je=Ye-ae;for(;je!==Ye&&Ue[je]===0;)je++;let Kt=new Uint8Array(de+(Ye-je)),Ut=de;for(;je!==Ye;)Kt[Ut++]=Ue[je++];return Kt}t(F,"decodeUnsafe");function J(G){let Te=F(G);if(Te)return Te;throw new Error("Non-base"+f+" character")}return t(J,"decode"),{encode:P,decodeUnsafe:F,decode:J}}t(dXt,"base");var $nt=dXt;var mXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Ioe=$nt(mXt);var hXt=!1;function q9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(q9,"code");function V9(s,o){return hXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(V9,"run");function gXt(s){return V9(s,q9([31],39))}t(gXt,"red");function yXt(s){return V9(s,q9([32],39))}t(yXt,"green");function vXt(s){return V9(s,q9([33],39))}t(vXt,"yellow");function bXt(s){return V9(s,q9([34],39))}t(bXt,"blue");function SXt(s){return V9(s,q9([35],39))}t(SXt,"magenta");function TXt(s){return V9(s,q9([36],39))}t(TXt,"cyan");var _Cr=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");var Jnt=[gXt,yXt,vXt,bXt,SXt,TXt];function xXt(s){let o=0,f=s.length,d=0;if(f>0)for(;d<f;)o=(o<<5)-o+s.charCodeAt(d++)|0;return o}t(xXt,"hashCode");function Wnt(s){let o=Math.abs(xXt(s));return Jnt[o%Jnt.length]}t(Wnt,"generateColor");import{inspect as EXt}from"node:util";function qnt(s,o,...f){let d=0,y=f.length,E=String(o).replace(/%[sdjoO%]/g,P=>{if(P==="%%")return"%";if(d>=y)return P;switch(P){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
571
- `).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(qnt,"format");var Vnt=t((s,...o)=>qnt(EXt,s,o),"format");var $Pe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Wnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Vnt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},JPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function CXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(CXt,"extract");var Ooe;function Foe(s){Ooe||(Ooe=new JPe(CXt(process.env.DEBUG)));let o=new $Pe(Ooe,s);return Ooe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Foe,"debug");var Hnt="zp-local-service";var kCr=Symbol("zuplo_meters"),wCr=Symbol("zuplo_dynamic_meters");var BP=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var GN=Foe("zuplo:runtime:external-service");function kXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Em.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(kXt,"getServiceAuth");async function Gnt(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Kt=E.slice(0,-f.length),Ut=new URL(`http://${Kt}${y.pathname}${y.search}`);GN(`Routing to proxy: ${Ut.toString()}`);let kr=o??{};return wV(Ut.toString(),kr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new BP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let G=P?E.slice(0,-d.length):E,Te=kXt();if(!Te)throw GN("There is no external service auth configured for this zup."),new BP("There are no external services configured for this zup.");GN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let Ye;if(Te.customServiceMapping?.[G])Ye=`https://${Te.customServiceMapping[G]}`;else if(Em.instance.useLegacyServiceRouting)Ye=`https://${G}.zuptunnel.com`;else{GN("Using sha256 service routing");let Kt=Em.instance.build;if(Kt.ACCOUNT_NAME&&Kt.PROJECT_NAME&&Kt.ENVIRONMENT_TYPE){let Ut=await wXt(G,Kt.ACCOUNT_NAME,Kt.PROJECT_NAME,Kt.ENVIRONMENT_TYPE),kr=Knt(Kt.ENVIRONMENT_TYPE),An=await WPe(`${Kt.ACCOUNT_NAME}-${Kt.PROJECT_NAME}-${kr}`);An==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||An==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?Ye=`https://${Ut}.zuptunnel.com`:Ye=`https://${Ut}.t.zuplo.app`}else throw GN("Cannot use sha256 service routing, missing build variables"),new BP("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${Ye}${y.pathname}${y.search}`);GN(`Calling external service: ${Ue.toString()}`);let je=await wV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw DV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:Ye}),new BP("Could not connect to secure tunnel.");return je}else throw GN("Cannot call external service with Request object"),new BP("Currently, we only support fetch(<some_string>, ...).")}t(Gnt,"externalServiceHandler");async function Ynt(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(Hnt,d),y.headers=F,await wV(P.toString(),y)}else throw new BP("Currently, we only support fetch(<some_string>, ...).")}t(Ynt,"clusterServiceHandler");async function wXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=Knt(d);GN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await WPe(`${E}-${y}`),G=await WPe(`${E}-${P}-${F}`);return`${J}.${G}`}t(wXt,"hashServiceName");async function WPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(WPe,"hashSegment");function Knt(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(Knt,"sanitizeEnvironmentType");var qPe=new Map;qPe.set("service:",Gnt);qPe.set("local:",Ynt);var wV=globalThis.fetch;function VPe(s,o){let{transformedInit:f,mtlsCertificate:d}=DXt(o);if(typeof s=="string"){let y=new URL(s),E=qPe.get(y.protocol);return E?E(s,f):Xnt(s,f,d)}else return Xnt(s,f,d)}t(VPe,"internalFetch");globalThis.fetch=VPe;function Xnt(s,o,f){if(!f)return wV(s,o);if(Em.instance.isCloudflare){let y=Em.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Em.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(Xnt,"performFetch");var DXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var PXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:VPe},DV=PXt;var HPe="2025-02-06",Znt=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function Qnt(){return new Em({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:HPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:Znt[HPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"mock-bucket-id"}})}t(Qnt,"getMockEnvironment");var Em=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(DV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e=Qnt()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Ioe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){DV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var AXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function eit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!AXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(eit,"isRestrictedEnvVariableName");function tit(s){return!!s.startsWith("ZUPLO_")}t(tit,"isZuploReadableEnvVariableName");var rkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Em.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Em.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Em.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Em.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Em.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Em.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Em.instance.build.COMPATIBILITY_DATE}if(!(eit(f)&&!tit(f)))return Em.instance.runtime[f]}});function PV(s,o,f){return`_${UP(`${s}_${o}_${f}`)}`}t(PV,"getRawOperationDataIdentifierName");function GPe(s,o,f,d){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(GPe,"getIdForParameterSchema");function YPe(s,o,f){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_rb_${UP(f.toLowerCase())}`}t(YPe,"getIdForRequestBodySchema");function AV(s,o){return`_${UP(s)}_${UP(o)}`}t(AV,"getIdForRefSchema");function UP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(UP,"sanitizedIdentifierName");var XPe={};Itt(XPe,{UnsafePathError:()=>Loe,deleteFolder:()=>WXt,dirExists:()=>KPe,fileExists:()=>FXt,getParentDirFilename:()=>zXt,isNotFileOrDirectory:()=>RXt,listFolderContents:()=>iit,listFolders:()=>jXt,mkDirTemp:()=>LXt,mkdirForFilePathIfNotExits:()=>BXt,mkdirIfNotExists:()=>sit,safePath:()=>UXt,tarFolder:()=>$Xt,untarFile:()=>JXt});import{spawn as rit}from"node:child_process";import{randomUUID as NXt}from"node:crypto";import YN from"node:fs/promises";import{platform as IXt,tmpdir as OXt}from"node:os";import N1 from"node:path";var nit=[".git","node_modules",".yarn",".DS_Store"];async function FXt(s){try{return(await YN.stat(s)).isFile()}catch{return!1}}t(FXt,"fileExists");async function LXt(){let s=process.env.BUILD_FILE_PATH??OXt(),o=NXt().replaceAll("-",""),f=N1.join(s,o);return await YN.mkdir(f,{recursive:!0}),f}t(LXt,"mkDirTemp");async function KPe(s){try{return(await YN.stat(s)).isDirectory()}catch{return!1}}t(KPe,"dirExists");async function RXt(s){try{return await YN.stat(s),!1}catch{return!0}}t(RXt,"isNotFileOrDirectory");function MXt(s,o){let f=N1.sep==="\\"?"\\\\":N1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":N1.join(N1.sep,E[1])}t(MXt,"getParentDirectory");async function jXt(s){if(!await KPe(s))return[];let o=await YN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)nit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(jXt,"listFolders");async function iit(s,o,f=!0){let d=MXt(s,o),y=await YN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!nit.includes(P.name)||!f)if(P.isDirectory()){let F=await iit(N1.join(s,P.name),o,f);E.push(...F)}else E.push(N1.join(d,P.name));return E}t(iit,"listFolderContents");var sit=t(async s=>{await YN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),BXt=t(async s=>{let o=N1.dirname(s);return sit(o)},"mkdirForFilePathIfNotExits"),Loe=class extends Error{static{t(this,"UnsafePathError")}};function UXt(s){let o=N1.normalize(s),f=t(d=>{let y=N1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Loe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(N1.resolve(...d)),"resolve")}}t(UXt,"safePath");function zXt(s){return N1.join(N1.basename(N1.dirname(s)),N1.basename(s))}t(zXt,"getParentDirFilename");async function $Xt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let G=rit("tar",[...f.flatMap(Te=>["--exclude",Te]),...IXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);G.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),G.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),G.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),G.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
571
+ `).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(qnt,"format");var Vnt=t((s,...o)=>qnt(EXt,s,o),"format");var $Pe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Wnt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=Vnt(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},JPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function CXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(CXt,"extract");var Ooe;function Foe(s){Ooe||(Ooe=new JPe(CXt(process.env.DEBUG)));let o=new $Pe(Ooe,s);return Ooe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Foe,"debug");var Hnt="zp-local-service";var kCr=Symbol("zuplo_meters"),wCr=Symbol("zuplo_dynamic_meters");var BP=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var GN=Foe("zuplo:runtime:external-service");function kXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Em.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(kXt,"getServiceAuth");async function Gnt(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Kt=E.slice(0,-f.length),Ut=new URL(`http://${Kt}${y.pathname}${y.search}`);GN(`Routing to proxy: ${Ut.toString()}`);let kr=o??{};return wV(Ut.toString(),kr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new BP(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let G=P?E.slice(0,-d.length):E,Te=kXt();if(!Te)throw GN("There is no external service auth configured for this zup."),new BP("There are no external services configured for this zup.");GN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let Ye;if(Te.customServiceMapping?.[G])Ye=`https://${Te.customServiceMapping[G]}`;else if(Em.instance.useLegacyServiceRouting)Ye=`https://${G}.zuptunnel.com`;else{GN("Using sha256 service routing");let Kt=Em.instance.build;if(Kt.ACCOUNT_NAME&&Kt.PROJECT_NAME&&Kt.ENVIRONMENT_TYPE){let Ut=await wXt(G,Kt.ACCOUNT_NAME,Kt.PROJECT_NAME,Kt.ENVIRONMENT_TYPE),kr=Knt(Kt.ENVIRONMENT_TYPE),An=await WPe(`${Kt.ACCOUNT_NAME}-${Kt.PROJECT_NAME}-${kr}`);An==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||An==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?Ye=`https://${Ut}.zuptunnel.com`:Ye=`https://${Ut}.t.zuplo.app`}else throw GN("Cannot use sha256 service routing, missing build variables"),new BP("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${Ye}${y.pathname}${y.search}`);GN(`Calling external service: ${Ue.toString()}`);let je=await wV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw DV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:Ye}),new BP("Could not connect to secure tunnel.");return je}else throw GN("Cannot call external service with Request object"),new BP("Currently, we only support fetch(<some_string>, ...).")}t(Gnt,"externalServiceHandler");async function Ynt(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(Hnt,d),y.headers=F,await wV(P.toString(),y)}else throw new BP("Currently, we only support fetch(<some_string>, ...).")}t(Ynt,"clusterServiceHandler");async function wXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=Knt(d);GN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await WPe(`${E}-${y}`),G=await WPe(`${E}-${P}-${F}`);return`${J}.${G}`}t(wXt,"hashServiceName");async function WPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(WPe,"hashSegment");function Knt(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(Knt,"sanitizeEnvironmentType");var qPe=new Map;qPe.set("service:",Gnt);qPe.set("local:",Ynt);var wV=globalThis.fetch;function VPe(s,o){let{transformedInit:f,mtlsCertificate:d}=DXt(o);if(typeof s=="string"){let y=new URL(s),E=qPe.get(y.protocol);return E?E(s,f):Xnt(s,f,d)}else return Xnt(s,f,d)}t(VPe,"internalFetch");globalThis.fetch=VPe;function Xnt(s,o,f){if(!f)return wV(s,o);if(Em.instance.isCloudflare){let y=Em.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Em.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(Xnt,"performFetch");var DXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var PXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:VPe},DV=PXt;var HPe="2025-02-06",Znt=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function Qnt(){return new Em({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:HPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:Znt[HPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(Qnt,"getMockEnvironment");var Em=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(DV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e=Qnt()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Ioe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){DV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var AXt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function eit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!AXt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(eit,"isRestrictedEnvVariableName");function tit(s){return!!s.startsWith("ZUPLO_")}t(tit,"isZuploReadableEnvVariableName");var rkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Em.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Em.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Em.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Em.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Em.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Em.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Em.instance.build.COMPATIBILITY_DATE}if(!(eit(f)&&!tit(f)))return Em.instance.runtime[f]}});function PV(s,o,f){return`_${UP(`${s}_${o}_${f}`)}`}t(PV,"getRawOperationDataIdentifierName");function GPe(s,o,f,d){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(GPe,"getIdForParameterSchema");function YPe(s,o,f){return`_${UP(s.toLowerCase())}_${o.toLowerCase()}_rb_${UP(f.toLowerCase())}`}t(YPe,"getIdForRequestBodySchema");function AV(s,o){return`_${UP(s)}_${UP(o)}`}t(AV,"getIdForRefSchema");function UP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(UP,"sanitizedIdentifierName");var XPe={};Itt(XPe,{UnsafePathError:()=>Loe,deleteFolder:()=>WXt,dirExists:()=>KPe,fileExists:()=>FXt,getParentDirFilename:()=>zXt,isNotFileOrDirectory:()=>RXt,listFolderContents:()=>iit,listFolders:()=>jXt,mkDirTemp:()=>LXt,mkdirForFilePathIfNotExits:()=>BXt,mkdirIfNotExists:()=>sit,safePath:()=>UXt,tarFolder:()=>$Xt,untarFile:()=>JXt});import{spawn as rit}from"node:child_process";import{randomUUID as NXt}from"node:crypto";import YN from"node:fs/promises";import{platform as IXt,tmpdir as OXt}from"node:os";import N1 from"node:path";var nit=[".git","node_modules",".yarn",".DS_Store"];async function FXt(s){try{return(await YN.stat(s)).isFile()}catch{return!1}}t(FXt,"fileExists");async function LXt(){let s=process.env.BUILD_FILE_PATH??OXt(),o=NXt().replaceAll("-",""),f=N1.join(s,o);return await YN.mkdir(f,{recursive:!0}),f}t(LXt,"mkDirTemp");async function KPe(s){try{return(await YN.stat(s)).isDirectory()}catch{return!1}}t(KPe,"dirExists");async function RXt(s){try{return await YN.stat(s),!1}catch{return!0}}t(RXt,"isNotFileOrDirectory");function MXt(s,o){let f=N1.sep==="\\"?"\\\\":N1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":N1.join(N1.sep,E[1])}t(MXt,"getParentDirectory");async function jXt(s){if(!await KPe(s))return[];let o=await YN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)nit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(jXt,"listFolders");async function iit(s,o,f=!0){let d=MXt(s,o),y=await YN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!nit.includes(P.name)||!f)if(P.isDirectory()){let F=await iit(N1.join(s,P.name),o,f);E.push(...F)}else E.push(N1.join(d,P.name));return E}t(iit,"listFolderContents");var sit=t(async s=>{await YN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),BXt=t(async s=>{let o=N1.dirname(s);return sit(o)},"mkdirForFilePathIfNotExits"),Loe=class extends Error{static{t(this,"UnsafePathError")}};function UXt(s){let o=N1.normalize(s),f=t(d=>{let y=N1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Loe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(N1.resolve(...d)),"resolve")}}t(UXt,"safePath");function zXt(s){return N1.join(N1.basename(N1.dirname(s)),N1.basename(s))}t(zXt,"getParentDirFilename");async function $Xt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let G=rit("tar",[...f.flatMap(Te=>["--exclude",Te]),...IXt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);G.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),G.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),G.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),G.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
572
572
  `),stderr:E.join(`
573
573
  `),exitCode:P},"Tar process logs")}}t($Xt,"tarFolder");async function JXt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((P,F)=>{let J=rit("sh",["-c",`tar -xvf ${s} -C ${o};`]);J.stdout.on("data",G=>{let Te=G.toString().trim();Te.length>0&&d.push(Te.trim())}),J.stderr.on("data",G=>{let Te=G.toString().trim();Te.length>0&&y.push(Te.trim())}),J.on("close",G=>{E=G,G===0?P():F(new Error(`tar process exited with code ${G}`))}),J.on("error",G=>{F(G)})})}catch(P){throw new Error("Failed to untar file",{cause:P})}finally{f.info({stdout:d.join(`
574
574
  `),stderr:y.join(`
package/index.minified.js CHANGED
@@ -568,7 +568,7 @@ globstar while`,s,de,o,ae,Ye),this.matchOne(s.slice(de),o.slice(ae),f))return th
568
568
  `],[102,"\f"],[114,"\r"],[116," "]]),woe=new Map([...EV,[118,"\v"],[48,"\0"]]),gXt=new Map([[jPe,jPe],["\\","\\"],["/","/"],["\b","b"],[`
569
569
  `,"n"],["\f","f"],["\r","r"],[" ","t"]]),dCr=new Map([...gXt,["\v","v"],["\0","0"],["\u2028","u2028"],["\u2029","u2029"]]),koe=new Map([[aXt,"LBracket"],[oXt,"RBracket"],[cXt,"LBrace"],[lXt,"RBrace"],[uXt,"Colon"],[fXt,"Comma"],[_Xt,"Boolean"],[pXt,"Boolean"],[dXt,"Null"]]),Coe=new Map([...koe,[mXt,"Number"],[hXt,"Number"]]),BPe=new Set([10,13,8232,8233]),zP=class extends Error{static{t(this,"ErrorWithLocation")}constructor(o,{line:f,column:d,offset:y}){super(`${o} (${f}:${d})`),this.line=f,this.column=d,this.offset=y}},UPe=class extends zP{static{t(this,"UnexpectedChar")}constructor(o,f){super(`Unexpected character '${String.fromCharCode(o)}' found.`,f)}},zPe=class extends zP{static{t(this,"UnexpectedIdentifier")}constructor(o,f){super(`Unexpected identifier '${o}' found.`,f)}},mO=class extends zP{static{t(this,"UnexpectedToken")}constructor(o){super(`Unexpected token ${o.type} found.`,o.loc.start)}},Doe=class extends zP{static{t(this,"UnexpectedEOF")}constructor(o){super("Unexpected end of input found.",o)}},yXt=/[\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]/,vXt=/[\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]/,bXt=13,Unt=10,$Pe=class{static{t(this,"CharCodeReader")}#e="";#n=1;#t=0;#r=-1;#s=!1;#m=-1;#c=!1;constructor(o){this.#e=o}#u(){this.#c||(this.#t++,this.#r++,this.#m=-1,this.#c=!0)}locate(){return{line:this.#n,column:this.#t,offset:this.#r}}next(){if(this.#r>=this.#e.length-1)return this.#u(),-1;this.#r++;let o=this.#e.charCodeAt(this.#r);return this.#s?(this.#n++,this.#t=1,this.#s=!1):this.#t++,o===bXt?(this.#s=!0,this.peek()===Unt&&this.#r++):o===Unt&&(this.#s=!0),this.#m=o,o}peek(){return this.#r===this.#e.length-1?-1:this.#e.charCodeAt(this.#r+1)}match(o){return o(this.peek())?(this.next(),!0):!1}current(){return this.#m}},SXt="Infinity",TXt="NaN",xXt=new Set([116,102,110]),JPe=new Set([32,9,10,13]),znt=new Set([...JPe,11,12,160,8232,8233,65279,160,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]),EXt={mode:"json",ranges:!1},CXt=new Set(["true","false","null"]),y_={EOF:0,Number:1,String:2,Boolean:3,Null:4,NaN:5,Infinity:6,Identifier:7,Colon:20,LBrace:21,RBrace:22,LBracket:23,RBracket:24,Comma:25,LineComment:40,BlockComment:41};function UP(s){return s>=48&&s<=57}t(UP,"isDigit");function MPe(s){return UP(s)||s>=65&&s<=70||s>=97&&s<=102}t(MPe,"isHexDigit");function kXt(s){return s>=49&&s<=57}t(kXt,"isPositiveDigit");function wXt(s){return xXt.has(s)}t(wXt,"isKeywordStart");function Jnt(s){return UP(s)||s===46||s===45}t(Jnt,"isNumberStart");function DXt(s){return Jnt(s)||s===43}t(DXt,"isJSON5NumberStart");function $nt(s,o){return s===34||o&&s===39}t($nt,"isStringStart");function Wnt(s){if(s===36||s===95||s===92||s>=97&&s<=122||s>=65&&s<=90||s===8204||s===8205)return!0;let o=String.fromCharCode(s);return yXt.test(o)}t(Wnt,"isJSON5IdentifierStart");function PXt(s){if(Wnt(s)||UP(s))return!0;let o=String.fromCharCode(s);return vXt.test(o)}t(PXt,"isJSON5IdentifierPart");var WPe=class{static{t(this,"Tokenizer")}#e;#n;#t;#r;#s;#m;#c;#u;#f;#p;#a;constructor(o,f){this.#n=o,this.#e={...EXt,...f},this.#t=new $Pe(o),this.#r=this.#e.mode==="json5",this.#s=this.#e.mode!=="json",this.#m=this.#e.ranges,this.#u=this.#r?woe.has.bind(woe):EV.has.bind(EV),this.#f=this.#r?BPe.has.bind(BPe):()=>!1,this.#p=this.#r?d=>d===120:()=>!1,this.#a=this.#r?znt.has.bind(znt):JPe.has.bind(JPe)}#i(o,f=this.#t.locate()){throw new UPe(o,f)}#o(o,f=this.#t.locate()){throw new zPe(o,f)}#h(){throw new Doe(this.#t.locate())}#d(o,f,d,y){let E=d.offset+f,P=this.#e.ranges?{range:[d.offset,E]}:void 0;return{type:o,loc:{start:d,end:y||{line:d.line,column:d.column+f,offset:E}},...P}}#_(o){let f="",d;for(let y=0;y<o;y++){if(d=this.#t.peek(),MPe(d)){this.#t.next(),f+=String.fromCharCode(d);continue}this.#i(d)}return f}#y(o){let f="";do{if(f+=String.fromCharCode(o),o===92&&(o=this.#t.next(),o!==117&&this.#i(o),f+=String.fromCharCode(o),f+=this.#_(4)),o=this.#t.peek(),!PXt(o))break;this.#t.next()}while(!0);return f}#b(o){let f=o,d=1;for(o=this.#t.peek();o!==-1&&o!==f;){if(this.#t.next(),d++,o===92)if(o=this.#t.peek(),this.#u(o)||this.#f(o))this.#t.next(),d++;else if(o===117){this.#t.next(),d++;let y=this.#_(4);d+=y.length}else if(this.#p(o)){this.#t.next(),d++;let y=this.#_(2);d+=y.length}else this.#r?(this.#t.next(),d++):this.#i(o);o=this.#t.peek()}return o===-1&&(this.#t.next(),this.#h()),this.#t.next(),d++,d}#v(o){let f=1;if(o===45||this.#r&&o===43){if(o=this.#t.peek(),this.#r&&(o===73||o===78)){this.#t.next();let d=this.#y(o);return d!==SXt&&d!==TXt&&this.#i(o),f+d.length}UP(o)||this.#i(o),this.#t.next(),f++}if(o===48)if(o=this.#t.peek(),this.#r&&(o===120||o===88)){this.#t.next(),f++,o=this.#t.peek(),MPe(o)||(this.#t.next(),this.#i(o));do this.#t.next(),f++,o=this.#t.peek();while(MPe(o))}else UP(o)&&this.#i(o);else if(!this.#r||o!==46)for(kXt(o)||this.#i(o),o=this.#t.peek();UP(o);)this.#t.next(),f++,o=this.#t.peek();if(o===46){let d=-1;for(this.#t.next(),f++,d++,o=this.#t.peek();UP(o);)this.#t.next(),f++,d++,o=this.#t.peek();!this.#r&&d===0&&(this.#t.next(),o?this.#i(o):this.#h())}if(o===101||o===69)for(this.#t.next(),f++,o=this.#t.peek(),(o===43||o===45)&&(this.#t.next(),f++,o=this.#t.peek()),o===-1&&(this.#t.next(),this.#h()),UP(o)||(this.#t.next(),this.#i(o));UP(o);)this.#t.next(),f++,o=this.#t.peek();return f}#C(o){let f=1;if(o=this.#t.peek(),o===47){do this.#t.next(),f+=1,o=this.#t.peek();while(o>-1&&o!==13&&o!==10);return{length:f,multiline:!1}}if(o===42){for(this.#t.next(),f+=1;o>-1;)if(o=this.#t.peek(),o===42){if(this.#t.next(),f+=1,o=this.#t.peek(),o===47)return this.#t.next(),f+=1,{length:f,multiline:!0}}else this.#t.next(),f+=1;this.#t.next(),this.#h()}this.#t.next(),this.#i(o)}next(){let o=this.#t.next();for(;this.#a(o);)o=this.#t.next();if(o===-1)return y_.EOF;let f=this.#t.locate(),d=String.fromCharCode(o);if(this.#r)if(Coe.has(d))this.#c=this.#d(Coe.get(d),1,f);else if(Wnt(o)){let y=this.#y(o);Coe.has(y)?this.#c=this.#d(Coe.get(y),y.length,f):this.#c=this.#d("Identifier",y.length,f)}else if(DXt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if($nt(o,this.#r)){let y=this.#b(o),E=this.#t.locate();this.#c=this.#d("String",y,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);else if(koe.has(d))this.#c=this.#d(koe.get(d),1,f);else if(wXt(o)){let y=this.#y(o);CXt.has(y)||this.#o(y,f),this.#c=this.#d(koe.get(y),y.length,f)}else if(Jnt(o)){let y=this.#v(o);this.#c=this.#d("Number",y,f)}else if($nt(o,this.#r)){let y=this.#b(o);this.#c=this.#d("String",y,f)}else if(o===47&&this.#s){let y=this.#C(o),E=this.#t.locate();this.#c=this.#d(y.multiline?"BlockComment":"LineComment",y.length,f,{line:E.line,column:E.column+1,offset:E.offset+1})}else this.#i(o);return y_[this.#c.type]}get token(){return this.#c}};var cT={document(s,o={}){return{type:"Document",body:s,loc:o.loc,...o}},string(s,o={}){return{type:"String",value:s,loc:o.loc,...o}},number(s,o={}){return{type:"Number",value:s,loc:o.loc,...o}},boolean(s,o={}){return{type:"Boolean",value:s,loc:o.loc,...o}},null(s={}){return{type:"Null",loc:s.loc,...s}},array(s,o={}){return{type:"Array",elements:s,loc:o.loc,...o}},element(s,o={}){return{type:"Element",value:s,loc:o.loc,...o}},object(s,o={}){return{type:"Object",members:s,loc:o.loc,...o}},member(s,o,f={}){return{type:"Member",name:s,value:o,loc:f.loc,...f}},identifier(s,o={}){return{type:"Identifier",name:s,loc:o.loc,...o}},nan(s="",o={}){return{type:"NaN",sign:s,loc:o.loc,...o}},infinity(s="",o={}){return{type:"Infinity",sign:s,loc:o.loc,...o}}},AXt={mode:"json",ranges:!1,tokens:!1,allowTrailingCommas:!1};function NXt(s,o,f=!1){let d="",y=s.indexOf("\\"),E=0;for(;y>=0;){d+=s.slice(E,y);let P=s.charAt(y+1),F=P.charCodeAt(0);if(f&&woe.has(F))d+=woe.get(F),E=y+2;else if(EV.has(F))d+=EV.get(F),E=y+2;else if(P==="u"){let J=s.slice(y+2,y+6);if(J.length<4||/[^0-9a-f]/i.test(J))throw new zP(`Invalid unicode escape \\u${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+6}else if(f&&P==="x"){let J=s.slice(y+2,y+4);if(J.length<2||/[^0-9a-f]/i.test(J))throw new zP(`Invalid hex escape \\x${J}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});d+=String.fromCharCode(parseInt(J,16)),E=y+4}else if(f&&BPe.has(F))E=y+2,P==="\r"&&s.charAt(E)===`
570
570
  `&&E++;else if(f)d+=P,E=y+2;else throw new zP(`Invalid escape \\${P}.`,{line:o.loc.start.line,column:o.loc.start.column+y,offset:o.loc.start.offset+y});y=s.indexOf("\\",E)}return d+=s.slice(E),d}t(NXt,"getStringValue");function IXt(s,o,f=!1){switch(o.type){case"Boolean":return s==="true";case"Number":return Number(s);case"String":return NXt(s.slice(1,-1),o,f);default:throw new TypeError(`Unknown token type "${o.type}.`)}}t(IXt,"getLiteralValue");function qnt(s,o){o=Object.freeze({...AXt,...o});let f=[],d=new WPe(s,{mode:o.mode,ranges:o.ranges}),y=o.mode==="json5",E=o.allowTrailingCommas||y;function P(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr}t(P,"nextNoComments");function F(){let wr=d.next();return wr&&o.tokens&&f.push(d.token),wr>=y_.LineComment?F():wr}t(F,"nextSkipComments");let J=o.mode==="json"?P:F;function V(wr,Sr){if(wr!==Sr)throw new mO(d.token)}t(V,"assertTokenType");function Te(wr,Sr){if(!Sr.includes(wr))throw new mO(d.token)}t(Te,"assertTokenTypes");function de(wr,Sr){return o.ranges?{range:[wr.offset,Sr.offset]}:void 0}t(de,"createRange");function ae(wr){let Sr=d.token,us=de(Sr.loc.start,Sr.loc.end),Fi=IXt(s.slice(Sr.loc.start.offset,Sr.loc.end.offset),Sr,y),bi={loc:{start:{...Sr.loc.start},end:{...Sr.loc.end}},...us};switch(wr){case y_.String:return cT.string(Fi,bi);case y_.Number:return cT.number(Fi,bi);case y_.Boolean:return cT.boolean(Fi,bi);default:throw new TypeError(`Unknown token type ${Sr.type}.`)}}t(ae,"createLiteralNode");function Ye(wr){let Sr=de(wr.loc.start,wr.loc.end),us=s.slice(wr.loc.start.offset,wr.loc.end.offset),cc={loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...Sr};if(wr.type!=="Identifier"){let bi="";return(us[0]==="+"||us[0]==="-")&&(bi=us[0]),cT[us.includes("NaN")?"nan":"infinity"](bi,cc)}return cT.identifier(us,cc)}t(Ye,"createJSON5IdentifierNode");function Ue(wr){let Sr=de(wr.loc.start,wr.loc.end);return cT.null({loc:{start:{...wr.loc.start},end:{...wr.loc.end}},...Sr})}t(Ue,"createNullNode");function je(wr){y?Te(wr,[y_.String,y_.Identifier,y_.Number]):V(wr,y_.String);let Sr=d.token,us=wr===y_.String?ae(wr):Ye(Sr);if(y&&(us.type==="NaN"||us.type==="Infinity")){if(us.sign!=="")throw new mO(d.token);us=cT.identifier(us.type,{loc:us.loc,...de(us.loc.start,us.loc.end)})}wr=J(),V(wr,y_.Colon);let Fi=kr(),cc=de(us.loc.start,Fi.loc.end);return cT.member(us,Fi,{loc:{start:{...us.loc.start},end:{...Fi.loc.end}},...cc})}t(je,"parseProperty");function Kt(wr){V(wr,y_.LBrace);let Sr=d.token,us=[],Fi=J();if(Fi!==y_.RBrace)do{if(us.push(je(Fi)),Fi=J(),!Fi)throw new Doe(us[us.length-1].loc.end);if(Fi===y_.Comma){if(Fi=J(),E&&Fi===y_.RBrace)break}else break}while(Fi);V(Fi,y_.RBrace);let cc=d.token,bi=de(Sr.loc.start,cc.loc.end);return cT.object(us,{loc:{start:{...Sr.loc.start},end:{...cc.loc.end}},...bi})}t(Kt,"parseObject");function Ut(wr){V(wr,y_.LBracket);let Sr=d.token,us=[],Fi=J();if(Fi!==y_.RBracket)do{let Qf=kr(Fi);if(us.push(cT.element(Qf,{loc:Qf.loc})),Fi=J(),Fi===y_.Comma){if(Fi=J(),E&&Fi===y_.RBracket)break}else break}while(Fi);V(Fi,y_.RBracket);let cc=d.token,bi=de(Sr.loc.start,cc.loc.end);return cT.array(us,{loc:{start:{...Sr.loc.start},end:{...cc.loc.end}},...bi})}t(Ut,"parseArray");function kr(wr){wr=wr??J();let Sr=d.token;switch(wr){case y_.String:case y_.Boolean:return ae(wr);case y_.Number:if(y){let us=s.slice(Sr.loc.start.offset,Sr.loc.end.offset);if((us[0]==="+"||us[0]==="-")&&(us=us.slice(1)),us==="NaN"||us==="Infinity")return Ye(Sr)}return ae(wr);case y_.Null:return Ue(Sr);case y_.LBrace:return Kt(wr);case y_.LBracket:return Ut(wr);default:throw new mO(Sr)}}t(kr,"parseValue");let An=kr();if(J())throw new mO(d.token);let Pn={loc:{start:{line:1,column:1,offset:0},end:{...An.loc.end}}};return o.tokens&&(Pn.tokens=f),o.ranges&&(Pn.range=[Pn.loc.start.offset,Pn.loc.end.offset]),cT.document(An,Pn)}t(qnt,"parse");var OXt=new Map([["Document",["body"]],["Object",["members"]],["Member",["name","value"]],["Element",["value"]],["Array",["elements"]],["String",[]],["Number",[]],["Boolean",[]],["Null",[]],["NaN",[]],["Infinity",[]],["Identifier",[]]]);function Vnt(s){return s&&typeof s=="object"}t(Vnt,"isObject");function FXt(s){return Vnt(s)&&typeof s.type=="string"}t(FXt,"isNode");function LXt(s,o){function f(d,y){typeof o.enter=="function"&&o.enter(d,y);for(let E of OXt.get(d.type)){let P=d[E];Vnt(P)&&(Array.isArray(P)?P.forEach(F=>f(F,d)):FXt(P)&&f(P,d))}typeof o.exit=="function"&&o.exit(d,y)}t(f,"visitNode"),f(s)}t(LXt,"traverse");function Hnt(s,o=()=>!0){let f=[];return LXt(s,{enter(d,y){f.push({node:d,parent:y,phase:"enter"})},exit(d,y){f.push({node:d,parent:y,phase:"exit"})}}),f.filter(o).values()}t(Hnt,"iterator");import RXt from"node:fs/promises";var CV=t((s,o)=>s.split(/\r?\n/)[o-1],"getFileLineContent"),Poe=t(async s=>{try{return await RXt.readFile(s,"utf-8")}catch{return}},"getSchemaContent"),kV=t(async s=>{try{return qnt(s)}catch(o){if(o.column&&o.line&&o.message){let f=CV(s,o.line);return{column:o.column,line:o.line,length:void 0,lineText:f}}return}},"getSchemaAST");var Gnt=t(async(s,o,f)=>{try{if(s.length===0)return;for(let d of s){let y=await Poe(d),E=await MXt(y,d,o,f);if(E)return E}}catch{}},"getRouteLocationByValue"),MXt=t(async(s,o,f,d)=>{try{if(!s)return;let y=null,E=await kV(s);if(E){for(let{node:P}of Hnt(E))if(P.value&&P.value===f){y=P.loc;break}if(y!==null){let P=CV(s,y.start.line);return{file:o,line:y.start.line,column:y.start.column,length:y.end.column-y.start.column,lineText:P,suggestion:d}}}}catch{}},"getRouteLocationByValueFromSchema");import Ynt from"node:fs/promises";import bE from"node:path";var qPe="schemas",VPe=".oas.json";var hO=t(async s=>(await Ynt.readdir(s)).map(f=>bE.join(s,f)).filter(f=>f.endsWith(VPe)).sort(),"getOpenApiFilesByAlphabetical"),W9=t(async s=>{let o=bE.resolve(s,"config");return(await Ynt.readdir(o)).filter(d=>d.endsWith(VPe)).length>=1},"oasFileInProject");function wV(s,o,f,d,y,E,P){if(E.has(f))return;let F;try{F=d.get(f)}catch(Ue){throw new k1({text:`Failed to resolve reference: ${f}`,detail:Ue.message,severity:"error",message:"Failed to resolve reference",location:{file:s,column:0,line:0,length:0,lineText:f,namespace:o,suggestion:"Check the reference and try again."}})}let J=Noe(f),V=bE.basename(J,bE.extname(J)),Te=f.indexOf("#"),de=Te>=0?f.substring(0,Te):f,ae=Te>=0?f.substring(Te+1):"",Ye=d.get(de);if(ae){let Ue=ae.split("/").filter(Boolean);for(let je of Ue)if(Ye=Ye[je],Ye===void 0)throw new Error(`Cannot resolve JSON pointer: ${ae}`)}if(Ye&&typeof Ye=="object"&&"$ref"in Ye&&typeof Ye.$ref=="string"&&!Ye.$ref.startsWith("#")){let Ue=bE.resolve(bE.dirname(de),Ye.$ref);if(J=Ue,V=bE.basename(J,bE.extname(J)),de=Ue,E.has(de)){let Kt=E.get(de);if(Kt===void 0)throw new Error(`Expected to find ${de} in refsVisited map`);E.set(f,Kt);return}let je=y.length;E.set(f,je),E.set(de,je),y.push(de),Aoe(J,V,F,d,y,E,P)}else E.set(f,y.length),y.push(f),Aoe(Noe(f),o,F,d,y,E,P)}t(wV,"chaseRefs");function Aoe(s,o,f,d,y,E,P){if(Array.isArray(f))for(let F of f)Aoe(s,o,F,d,y,E,P);else if(typeof f=="object")for(let F in f){if(F==="$ref"){let J=f[F];P&&(f[F]=P(o,J,s)),wV(s,o,KN(s,J),d,y,E,P)}Aoe(s,o,f[F],d,y,E,P)}}t(Aoe,"lookForRefs");function KN(s,o){let f=o.indexOf("#");return f>=0?`${bE.resolve(s,o.substring(0,f))}${o.substring(f)}`:bE.resolve(bE.dirname(s),o)}t(KN,"getFullyQualifiedRefName");function Noe(s){let o=s.indexOf("#");return o>=0?s.substring(0,o):s}t(Noe,"getFilePathNameFromRefName");import sle from"node:path";function jXt(s){if(s.length>=255)throw new TypeError("Alphabet too long");let o=new Uint8Array(256);for(let V=0;V<o.length;V++)o[V]=255;for(let V=0;V<s.length;V++){let Te=s.charAt(V),de=Te.charCodeAt(0);if(o[de]!==255)throw new TypeError(Te+" is ambiguous");o[de]=V}let f=s.length,d=s.charAt(0),y=Math.log(f)/Math.log(256),E=Math.log(256)/Math.log(f);function P(V){if(V instanceof Uint8Array||(ArrayBuffer.isView(V)?V=new Uint8Array(V.buffer,V.byteOffset,V.byteLength):Array.isArray(V)&&(V=Uint8Array.from(V))),!(V instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(V.length===0)return"";let Te=0,de=0,ae=0,Ye=V.length;for(;ae!==Ye&&V[ae]===0;)ae++,Te++;let Ue=(Ye-ae)*E+1>>>0,je=new Uint8Array(Ue);for(;ae!==Ye;){let kr=V[ae],An=0;for(let nn=Ue-1;(kr!==0||An<de)&&nn!==-1;nn--,An++)kr+=256*je[nn]>>>0,je[nn]=kr%f>>>0,kr=kr/f>>>0;if(kr!==0)throw new Error("Non-zero carry");de=An,ae++}let Kt=Ue-de;for(;Kt!==Ue&&je[Kt]===0;)Kt++;let Ut=d.repeat(Te);for(;Kt<Ue;++Kt)Ut+=s.charAt(je[Kt]);return Ut}t(P,"encode");function F(V){if(typeof V!="string")throw new TypeError("Expected String");if(V.length===0)return new Uint8Array;let Te=0,de=0,ae=0;for(;V[Te]===d;)de++,Te++;let Ye=(V.length-Te)*y+1>>>0,Ue=new Uint8Array(Ye);for(;V[Te];){let kr=o[V.charCodeAt(Te)];if(kr===255)return;let An=0;for(let nn=Ye-1;(kr!==0||An<ae)&&nn!==-1;nn--,An++)kr+=f*Ue[nn]>>>0,Ue[nn]=kr%256>>>0,kr=kr/256>>>0;if(kr!==0)throw new Error("Non-zero carry");ae=An,Te++}let je=Ye-ae;for(;je!==Ye&&Ue[je]===0;)je++;let Kt=new Uint8Array(de+(Ye-je)),Ut=de;for(;je!==Ye;)Kt[Ut++]=Ue[je++];return Kt}t(F,"decodeUnsafe");function J(V){let Te=F(V);if(Te)return Te;throw new Error("Non-base"+f+" character")}return t(J,"decode"),{encode:P,decodeUnsafe:F,decode:J}}t(jXt,"base");var Knt=jXt;var BXt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Ioe=Knt(BXt);var UXt=!1;function q9(s,o){return{open:`\x1B[${s.join(";")}m`,close:`\x1B[${o}m`,regexp:new RegExp(`\\x1b\\[${o}m`,"g")}}t(q9,"code");function V9(s,o){return UXt?`${o.open}${s.replace(o.regexp,o.open)}${o.close}`:s}t(V9,"run");function zXt(s){return V9(s,q9([31],39))}t(zXt,"red");function $Xt(s){return V9(s,q9([32],39))}t($Xt,"green");function JXt(s){return V9(s,q9([33],39))}t(JXt,"yellow");function WXt(s){return V9(s,q9([34],39))}t(WXt,"blue");function qXt(s){return V9(s,q9([35],39))}t(qXt,"magenta");function VXt(s){return V9(s,q9([36],39))}t(VXt,"cyan");var RCr=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");var Xnt=[zXt,$Xt,JXt,WXt,qXt,VXt];function HXt(s){let o=0,f=s.length,d=0;if(f>0)for(;d<f;)o=(o<<5)-o+s.charCodeAt(d++)|0;return o}t(HXt,"hashCode");function Znt(s){let o=Math.abs(HXt(s));return Xnt[o%Xnt.length]}t(Znt,"generateColor");import{inspect as GXt}from"node:util";function Qnt(s,o,...f){let d=0,y=f.length,E=String(o).replace(/%[sdjoO%]/g,P=>{if(P==="%%")return"%";if(d>=y)return P;switch(P){case"%s":return String(f[d++]);case"%d":return Number(f[d++]).toString();case"%o":return s(f[d++]).split(`
571
- `).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(Qnt,"format");var eit=t((s,...o)=>Qnt(GXt,s,o),"format");var HPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Znt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=eit(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},GPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function YXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(YXt,"extract");var Ooe;function Foe(s){Ooe||(Ooe=new GPe(YXt(process.env.DEBUG)));let o=new HPe(Ooe,s);return Ooe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Foe,"debug");var tit="zp-local-service";var KCr=Symbol("zuplo_meters"),XCr=Symbol("zuplo_dynamic_meters");var $P=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var XN=Foe("zuplo:runtime:external-service");function KXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Em.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(KXt,"getServiceAuth");async function rit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Kt=E.slice(0,-f.length),Ut=new URL(`http://${Kt}${y.pathname}${y.search}`);XN(`Routing to proxy: ${Ut.toString()}`);let kr=o??{};return DV(Ut.toString(),kr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new $P(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let V=P?E.slice(0,-d.length):E,Te=KXt();if(!Te)throw XN("There is no external service auth configured for this zup."),new $P("There are no external services configured for this zup.");XN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let Ye;if(Te.customServiceMapping?.[V])Ye=`https://${Te.customServiceMapping[V]}`;else if(Em.instance.useLegacyServiceRouting)Ye=`https://${V}.zuptunnel.com`;else{XN("Using sha256 service routing");let Kt=Em.instance.build;if(Kt.ACCOUNT_NAME&&Kt.PROJECT_NAME&&Kt.ENVIRONMENT_TYPE){let Ut=await XXt(V,Kt.ACCOUNT_NAME,Kt.PROJECT_NAME,Kt.ENVIRONMENT_TYPE),kr=iit(Kt.ENVIRONMENT_TYPE),An=await YPe(`${Kt.ACCOUNT_NAME}-${Kt.PROJECT_NAME}-${kr}`);An==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||An==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?Ye=`https://${Ut}.zuptunnel.com`:Ye=`https://${Ut}.t.zuplo.app`}else throw XN("Cannot use sha256 service routing, missing build variables"),new $P("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${Ye}${y.pathname}${y.search}`);XN(`Calling external service: ${Ue.toString()}`);let je=await DV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw PV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:Ye}),new $P("Could not connect to secure tunnel.");return je}else throw XN("Cannot call external service with Request object"),new $P("Currently, we only support fetch(<some_string>, ...).")}t(rit,"externalServiceHandler");async function nit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(tit,d),y.headers=F,await DV(P.toString(),y)}else throw new $P("Currently, we only support fetch(<some_string>, ...).")}t(nit,"clusterServiceHandler");async function XXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=iit(d);XN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await YPe(`${E}-${y}`),V=await YPe(`${E}-${P}-${F}`);return`${J}.${V}`}t(XXt,"hashServiceName");async function YPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(YPe,"hashSegment");function iit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(iit,"sanitizeEnvironmentType");var KPe=new Map;KPe.set("service:",rit);KPe.set("local:",nit);var DV=globalThis.fetch;function XPe(s,o){let{transformedInit:f,mtlsCertificate:d}=ZXt(o);if(typeof s=="string"){let y=new URL(s),E=KPe.get(y.protocol);return E?E(s,f):sit(s,f,d)}else return sit(s,f,d)}t(XPe,"internalFetch");globalThis.fetch=XPe;function sit(s,o,f){if(!f)return DV(s,o);if(Em.instance.isCloudflare){let y=Em.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Em.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(sit,"performFetch");var ZXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var QXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:XPe},PV=QXt;var ZPe="2025-02-06",ait=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function oit(){return new Em({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:ZPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:ait[ZPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"mock-bucket-id"}})}t(oit,"getMockEnvironment");var Em=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(PV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e=oit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Ioe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){PV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var eZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function cit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!eZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(cit,"isRestrictedEnvVariableName");function lit(s){return!!s.startsWith("ZUPLO_")}t(lit,"isZuploReadableEnvVariableName");var kkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Em.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Em.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Em.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Em.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Em.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Em.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Em.instance.build.COMPATIBILITY_DATE}if(!(cit(f)&&!lit(f)))return Em.instance.runtime[f]}});function AV(s,o,f){return`_${JP(`${s}_${o}_${f}`)}`}t(AV,"getRawOperationDataIdentifierName");function QPe(s,o,f,d){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(QPe,"getIdForParameterSchema");function eAe(s,o,f){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_rb_${JP(f.toLowerCase())}`}t(eAe,"getIdForRequestBodySchema");function NV(s,o){return`_${JP(s)}_${JP(o)}`}t(NV,"getIdForRefSchema");function JP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(JP,"sanitizedIdentifierName");var rAe={};Mtt(rAe,{UnsafePathError:()=>Loe,deleteFolder:()=>dZt,dirExists:()=>tAe,fileExists:()=>iZt,getParentDirFilename:()=>fZt,isNotFileOrDirectory:()=>aZt,listFolderContents:()=>_it,listFolders:()=>cZt,mkDirTemp:()=>sZt,mkdirForFilePathIfNotExits:()=>lZt,mkdirIfNotExists:()=>pit,safePath:()=>uZt,tarFolder:()=>_Zt,untarFile:()=>pZt});import{spawn as uit}from"node:child_process";import{randomUUID as tZt}from"node:crypto";import ZN from"node:fs/promises";import{platform as rZt,tmpdir as nZt}from"node:os";import N1 from"node:path";var fit=[".git","node_modules",".yarn",".DS_Store"];async function iZt(s){try{return(await ZN.stat(s)).isFile()}catch{return!1}}t(iZt,"fileExists");async function sZt(){let s=process.env.BUILD_FILE_PATH??nZt(),o=tZt().replaceAll("-",""),f=N1.join(s,o);return await ZN.mkdir(f,{recursive:!0}),f}t(sZt,"mkDirTemp");async function tAe(s){try{return(await ZN.stat(s)).isDirectory()}catch{return!1}}t(tAe,"dirExists");async function aZt(s){try{return await ZN.stat(s),!1}catch{return!0}}t(aZt,"isNotFileOrDirectory");function oZt(s,o){let f=N1.sep==="\\"?"\\\\":N1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":N1.join(N1.sep,E[1])}t(oZt,"getParentDirectory");async function cZt(s){if(!await tAe(s))return[];let o=await ZN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)fit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(cZt,"listFolders");async function _it(s,o,f=!0){let d=oZt(s,o),y=await ZN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!fit.includes(P.name)||!f)if(P.isDirectory()){let F=await _it(N1.join(s,P.name),o,f);E.push(...F)}else E.push(N1.join(d,P.name));return E}t(_it,"listFolderContents");var pit=t(async s=>{await ZN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),lZt=t(async s=>{let o=N1.dirname(s);return pit(o)},"mkdirForFilePathIfNotExits"),Loe=class extends Error{static{t(this,"UnsafePathError")}};function uZt(s){let o=N1.normalize(s),f=t(d=>{let y=N1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Loe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(N1.resolve(...d)),"resolve")}}t(uZt,"safePath");function fZt(s){return N1.join(N1.basename(N1.dirname(s)),N1.basename(s))}t(fZt,"getParentDirFilename");async function _Zt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let V=uit("tar",[...f.flatMap(Te=>["--exclude",Te]),...rZt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);V.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),V.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),V.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),V.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
571
+ `).map(F=>F.trim()).join(" ");case"%O":return s(f[d++]);case"%j":try{return JSON.stringify(f[d++])}catch{return"[Circular]"}default:return P}});for(let P of f.splice(d))P===null||!(typeof P=="object"&&P!==null)?E+=" "+P:E+=" "+s(P);return E}t(Qnt,"format");var eit=t((s,...o)=>Qnt(GXt,s,o),"format");var HPe=class{static{t(this,"Debugger")}manager;ns;color;last;enabled;constructor(o,f){this.manager=o,this.ns=f,this.color=Znt(f),this.last=0,this.enabled=o.enabled.some(d=>d.test(f))}log(...o){if(!this.enabled)return;let f,d=o[0];typeof d=="function"?f=d():f=String(d);let y=Date.now()-(this.last||Date.now());f=eit(f,...o);let E=`${this.color(this.ns)} ${f} ${this.color(`+${y}ms`)}`;console.log(E),this.last=Date.now()}},GPe=class{static{t(this,"DebugManager")}debuggers;enabled;constructor(o){this.debuggers=new Map,this.enabled=o??[]}};function YXt(s){return!s||s.length===0?[]:(s=s.replace(/\s/g,"").replace(/\*/g,".+"),s.split(",").map(o=>new RegExp(`^${o}$`)))}t(YXt,"extract");var Ooe;function Foe(s){Ooe||(Ooe=new GPe(YXt(process.env.DEBUG)));let o=new HPe(Ooe,s);return Ooe.debuggers.set(s,o),Object.assign(o.log.bind(o),{self:o})}t(Foe,"debug");var tit="zp-local-service";var KCr=Symbol("zuplo_meters"),XCr=Symbol("zuplo_dynamic_meters");var $P=class extends Error{static{t(this,"RuntimeError")}extensionMembers;constructor(o,f){typeof o=="string"?super(o,f):(super(o.message,f),this.extensionMembers=o.extensionMembers),this.name="RuntimeError"}};var XN=Foe("zuplo:runtime:external-service");function KXt(){let s,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:o}=Em.instance.runtime;if(o&&o!=="undefined")try{let f=atob(o);s=JSON.parse(f)}catch{}return s}t(KXt,"getServiceAuth");async function rit(s,o){let f=".proxy",d=".tunnel";if(typeof s=="string"){let y=new URL(s),E=y.hostname;if(E.endsWith(f)){let Kt=E.slice(0,-f.length),Ut=new URL(`http://${Kt}${y.pathname}${y.search}`);XN(`Routing to proxy: ${Ut.toString()}`);let kr=o??{};return DV(Ut.toString(),kr)}let P=E.endsWith(d),F=E.indexOf(".")===-1;if(!(P||F))throw new $P(`Invalid service hostname suffix: ${E}. Use .proxy for proxy routing, .tunnel for explicit tunnel routing, or no suffix for default tunnel routing.`);let V=P?E.slice(0,-d.length):E,Te=KXt();if(!Te)throw XN("There is no external service auth configured for this zup."),new $P("There are no external services configured for this zup.");XN(`Using external service auth. ClientId: ${Te.clientId})`);let de=o??{},ae=new Headers(de.headers||{});ae.set("CF-Access-Client-Id",Te.clientId),ae.set("CF-Access-Client-Secret",Te.clientSecret),de.headers=ae;let Ye;if(Te.customServiceMapping?.[V])Ye=`https://${Te.customServiceMapping[V]}`;else if(Em.instance.useLegacyServiceRouting)Ye=`https://${V}.zuptunnel.com`;else{XN("Using sha256 service routing");let Kt=Em.instance.build;if(Kt.ACCOUNT_NAME&&Kt.PROJECT_NAME&&Kt.ENVIRONMENT_TYPE){let Ut=await XXt(V,Kt.ACCOUNT_NAME,Kt.PROJECT_NAME,Kt.ENVIRONMENT_TYPE),kr=iit(Kt.ENVIRONMENT_TYPE),An=await YPe(`${Kt.ACCOUNT_NAME}-${Kt.PROJECT_NAME}-${kr}`);An==="40d7ad502f5d743997999594c177184a00161a77865423511f3a1ea21eb5a5e"||An==="d05bffe8fa91a300187d2cf43e8aa4a56bd809c442ae10d1ee49af7d29a5a11"?Ye=`https://${Ut}.zuptunnel.com`:Ye=`https://${Ut}.t.zuplo.app`}else throw XN("Cannot use sha256 service routing, missing build variables"),new $P("Failed to generate fully qualified tunnel url.")}let Ue=new URL(`${Ye}${y.pathname}${y.search}`);XN(`Calling external service: ${Ue.toString()}`);let je=await DV(Ue.toString(),de);if(je.status===403&&je.headers.get("cf-access-domain")!==null)throw PV.console.error("403 Forbidden when calling external service.",{clientId:Te.clientId,tunnelHost:Ye}),new $P("Could not connect to secure tunnel.");return je}else throw XN("Cannot call external service with Request object"),new $P("Currently, we only support fetch(<some_string>, ...).")}t(rit,"externalServiceHandler");async function nit(s,o){if(typeof s=="string"){let f=new URL(s),d=f.hostname,y=o??{},E=`http://${d}.zuplo.svc.cluster.local:9000`,P=new URL(`${E}${f.pathname}${f.search}`),F=new Headers(y.headers||{});return F.set(tit,d),y.headers=F,await DV(P.toString(),y)}else throw new $P("Currently, we only support fetch(<some_string>, ...).")}t(nit,"clusterServiceHandler");async function XXt(s,o,f,d){let y=s.toLowerCase(),E=o.toLowerCase(),P=f.toLowerCase(),F=iit(d);XN(`Hashing service name: ${E}-${y}.${E}-${P}-${F}`);let J=await YPe(`${E}-${y}`),V=await YPe(`${E}-${P}-${F}`);return`${J}.${V}`}t(XXt,"hashServiceName");async function YPe(s){let o=new TextEncoder().encode(s),f=await crypto.subtle.digest("SHA-256",o);return Array.from(new Uint8Array(f)).map(E=>E.toString(16).padStart(2,"0")).join("").slice(0,-1)}t(YPe,"hashSegment");function iit(s){let o=s.toLowerCase();switch(o){case"production":case"preview":return o;default:return"working-copy"}}t(iit,"sanitizeEnvironmentType");var KPe=new Map;KPe.set("service:",rit);KPe.set("local:",nit);var DV=globalThis.fetch;function XPe(s,o){let{transformedInit:f,mtlsCertificate:d}=ZXt(o);if(typeof s=="string"){let y=new URL(s),E=KPe.get(y.protocol);return E?E(s,f):sit(s,f,d)}else return sit(s,f,d)}t(XPe,"internalFetch");globalThis.fetch=XPe;function sit(s,o,f){if(!f)return DV(s,o);if(Em.instance.isCloudflare){let y=Em.instance.runtime[f];if(!y)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof y!="object"||typeof y.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding. Make sure it's configured as an mTLS certificate, not an environment variable.`);return y.fetch(s,o)}else if(Em.instance.isDeno){let d=globalThis.managedDedicatedMtlsBindings?.[f];if(!d)throw new Error(`mTLS certificate binding '${f}' not found. Ensure the certificate is uploaded and properly configured.`);if(typeof d.fetch!="function")throw new Error(`mTLS certificate binding '${f}' is not a valid mTLS certificate binding.`);return d.fetch(s,o)}else throw new Error("mTLS client certificates are not supported in this runtime environment")}t(sit,"performFetch");var ZXt=t(s=>{if(!s||s instanceof Request)return{transformedInit:s,mtlsCertificate:void 0};let o=s;if(!o.zuplo)return{transformedInit:s,mtlsCertificate:void 0};let f=o.zuplo.mtlsCertificate,d=s;return d.cf={cacheEverything:o.zuplo?.cacheEverything,cacheTtl:o.zuplo?.cacheTtlSeconds},delete s.zuplo,{transformedInit:s,mtlsCertificate:f}},"transformInit");var QXt={console:{log:console.log.bind(console),info:console.info.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),debug:console.debug.bind(console),assert:console.assert.bind(console),clear:console.clear.bind(console),count:console.count.bind(console),countReset:console.countReset.bind(console),dir:console.dir.bind(console),dirxml:console.dirxml.bind(console),group:console.group.bind(console),groupCollapsed:console.groupCollapsed.bind(console),groupEnd:console.groupEnd.bind(console),table:console.table.bind(console),time:console.time.bind(console),timeEnd:console.timeEnd.bind(console),timeLog:console.timeLog.bind(console),timeStamp:console.timeStamp.bind(console),trace:console.trace.bind(console),profile:console.profile.bind(console),profileEnd:console.profileEnd.bind(console)},fetch:XPe},PV=QXt;var ZPe="2025-02-06",ait=Object.freeze({none:{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2023-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!1,doNotRunHooksOnSystemRoutes:!1,removeAllVendorHeadersExceptListed:!1,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-01-15":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-03-14":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!1,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2024-09-02":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!1,useForwardRedirectsPropOnUrlForwardHandler:!1,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2025-02-06":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!1,return501ForUnsupportedHttpMethods:!1},"2026-03-01":{runOutboundPoliciesOnHandlerOnAllStatuses:!0,doNotRunHooksOnSystemRoutes:!0,removeAllVendorHeadersExceptListed:!0,allowCustomPorts:!0,removeLegacyLogInitialization:!0,useForwardRedirectsPropOnUrlForwardHandler:!0,chainResponseSendingHooks:!0,return501ForUnsupportedHttpMethods:!0}});function oit(){return new Em({build:{ACCOUNT_NAME:"mock-account-name",PROJECT_NAME:"mock-project-name",API_VERSION:"0.0.0",BUILD_ID:crypto.randomUUID(),TIMESTAMP:new Date().toISOString(),BUILD_ENV:"test",ZUPLO_VERSION:"0.0.0",COMPATIBILITY_DATE:ZPe,ENVIRONMENT_TYPE:"mock-environment-type",GIT_SHA:void 0,IS_LOCAL_DEVELOPMENT:!1,COMPATIBILITY_FLAGS:ait[ZPe]},runtime:{RUNTIME_ENV:"test",RUNTIME_STAGE:"test",__ZUPLO_DEPLOYMENT_NAME:"mock-deployment-name",__ZUPLO_LOG_LEVEL:"debug",__ZUPLO_LOG_FORMAT:"pretty",__ZUPLO_MANAGEMENT_API_URL:"",__ZUPLO_RUNTIME_TYPE:"cloudflare",__ZUPLO_AUTH_API_JWT:"",ZUPLO_SERVICE_BUCKET_ID:"bckt_mock"}})}t(oit,"getMockEnvironment");var Em=class s{static{t(this,"Environment")}config;static#e;static#n=!1;static initialize(o){s.#e||(s.#e=new s(o),s.#n=!0)}static get instance(){return s.#n||(PV.console.debug("Environment has not been initialized. This is okay when running tests, a mock environment will be used."),s.#e=oit()),s.#e}constructor({build:o,runtime:f}){let d;try{if(f.ZUPLO_SYSTEM_CONFIGURATIONS){let y=new TextDecoder().decode(Ioe.decode(f.ZUPLO_SYSTEM_CONFIGURATIONS)),E=JSON.parse(y);for(let P of Object.keys(E))f[P]||(f[P]=E[P])}if(f.__ZUPLO_CONFIG){let y=atob(f.__ZUPLO_CONFIG);d=JSON.parse(y)}}catch(y){PV.console.error("Failed to parse runtime configuration",y)}this.config=d??{},this.build=o,this.runtime=f,this.instanceId=crypto.randomUUID()}build;runtime;instanceId;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useLegacyServiceRouting(){return this.config.use_legacy_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.com"}get zuploEdgeApiUrl(){return this.config.zuplo_edge_api_url??"https://api.zuploedge.com"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get zuploClientAuthBucketId(){return this.config.zuplo_auth_client_bucket_id??"auth_o8PUdhKxSTOiB794GWPwLQCD"}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get developerApiUrl(){return this.config.developer_api_url??"https://dev.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuploedge.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuploedge.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuploedge.com"}get meteringServiceUrl(){return this.config.metering_service_url??"https://meters.zuploedge.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get authClientId(){return this.config.auth_client_id??this.runtime.__ZUPLO_AUTH_CLIENT_ID}get authClientSecret(){return this.config.auth_client_secret??this.runtime.__ZUPLO_AUTH_CLIENT_SECRET}get authPublicKey(){return this.config.auth_public_key??this.runtime.__ZUPLO_AUTH_PUBLIC_KEY}get authPrivateKey(){return this.config.auth_private_key??this.runtime.__ZUPLO_AUTH_PRIVATE_KEY}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isManagedDedicated(){return this.runtime.__ZUPLO_IS_MANAGED_DEDICATED==="true"}get isDeno(){if(this.runtime.__ZUPLO_RUNTIME_TYPE)return this.runtime.__ZUPLO_RUNTIME_TYPE==="deno";if(this.config.runtime_type)return this.config.runtime_type==="deno";{let o=globalThis.Deno?.version?.deno;return typeof WebSocketPair!="function"&&o}}get isLocalDevelopment(){return this.build.IS_LOCAL_DEVELOPMENT}get isTestMode(){return!!this.runtime.__ZUPLO_TEST_MODE}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isWorkingCopy?"working-copy":"unknown"}get isWorkingCopy(){return this.build.ENVIRONMENT_TYPE==="WORKING_COPY"}get rateLimitServiceTimeoutMs(){let o=this.runtime.__ZUPLO_RATE_LIMIT_TIMEOUT_MS,f=this.config.rate_limit_service_timeout_ms,d=o??f;if(!d)return 500;let y=Number(d);return Number.isFinite(y)&&y>0?y:500}};var eZt=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function cit(s){return s.startsWith("__ZUPLO")||s.startsWith("ZUPLO_")?!eZt.includes(s)&&!s.startsWith("ZUPLO_PUBLIC_"):s.startsWith("ZUDOKU_")?!s.startsWith("ZUDOKU_PUBLIC_"):!1}t(cit,"isRestrictedEnvVariableName");function lit(s){return!!s.startsWith("ZUPLO_")}t(lit,"isZuploReadableEnvVariableName");var kkr=new Proxy({},{get(s,o){let f=String(o);switch(f){case"ZUPLO_ENVIRONMENT_TYPE":return Em.instance.loggingEnvironmentType;case"ZUPLO_ENVIRONMENT_STAGE":return Em.instance.loggingEnvironmentStage;case"ZUPLO_ENVIRONMENT_NAME":return Em.instance.runtime.__ZUPLO_DEPLOYMENT_NAME;case"ZUPLO_ACCOUNT_NAME":return Em.instance.build.ACCOUNT_NAME;case"ZUPLO_PROJECT_NAME":return Em.instance.build.PROJECT_NAME;case"ZUPLO_BUILD_ID":return Em.instance.build.BUILD_ID;case"ZUPLO_COMPATIBILITY_DATE":return Em.instance.build.COMPATIBILITY_DATE}if(!(cit(f)&&!lit(f)))return Em.instance.runtime[f]}});function AV(s,o,f){return`_${JP(`${s}_${o}_${f}`)}`}t(AV,"getRawOperationDataIdentifierName");function QPe(s,o,f,d){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_${f.toLowerCase()}_${d.toLowerCase()}`}t(QPe,"getIdForParameterSchema");function eAe(s,o,f){return`_${JP(s.toLowerCase())}_${o.toLowerCase()}_rb_${JP(f.toLowerCase())}`}t(eAe,"getIdForRequestBodySchema");function NV(s,o){return`_${JP(s)}_${JP(o)}`}t(NV,"getIdForRefSchema");function JP(s){let o=s.replace(/\[/g,"_LBRACKET_").replace(/\]/g,"_RBRACKET_").replace(/\{/g,"_LCURLY_").replace(/\}/g,"_RCURLY_").replace(/\//g,"_SLASH_").replace(/-/g,"_DASH_").replace(/\./g,"_DOT_").replace(/\+/g,"_PLUS_").replace(/:/g,"_COLON_").replace(/@/g,"_AT_").replace(/\$/g,"_DOLLAR_").replace(/[^a-zA-Z0-9_]/g,"_");return/^[a-zA-Z_]/.test(o)||(o=`_${o}`),o}t(JP,"sanitizedIdentifierName");var rAe={};Mtt(rAe,{UnsafePathError:()=>Loe,deleteFolder:()=>dZt,dirExists:()=>tAe,fileExists:()=>iZt,getParentDirFilename:()=>fZt,isNotFileOrDirectory:()=>aZt,listFolderContents:()=>_it,listFolders:()=>cZt,mkDirTemp:()=>sZt,mkdirForFilePathIfNotExits:()=>lZt,mkdirIfNotExists:()=>pit,safePath:()=>uZt,tarFolder:()=>_Zt,untarFile:()=>pZt});import{spawn as uit}from"node:child_process";import{randomUUID as tZt}from"node:crypto";import ZN from"node:fs/promises";import{platform as rZt,tmpdir as nZt}from"node:os";import N1 from"node:path";var fit=[".git","node_modules",".yarn",".DS_Store"];async function iZt(s){try{return(await ZN.stat(s)).isFile()}catch{return!1}}t(iZt,"fileExists");async function sZt(){let s=process.env.BUILD_FILE_PATH??nZt(),o=tZt().replaceAll("-",""),f=N1.join(s,o);return await ZN.mkdir(f,{recursive:!0}),f}t(sZt,"mkDirTemp");async function tAe(s){try{return(await ZN.stat(s)).isDirectory()}catch{return!1}}t(tAe,"dirExists");async function aZt(s){try{return await ZN.stat(s),!1}catch{return!0}}t(aZt,"isNotFileOrDirectory");function oZt(s,o){let f=N1.sep==="\\"?"\\\\":N1.sep,d=new RegExp(`(.*)(${f}${o})$|(.*)(${o}${f})`),y=s.match(d);if(!y)return"";let E=s.split(y[0]);return E[1]===""?"":N1.join(N1.sep,E[1])}t(oZt,"getParentDirectory");async function cZt(s){if(!await tAe(s))return[];let o=await ZN.readdir(s,{withFileTypes:!0}),f=[];for await(let d of o)fit.includes(d.name)||d.isDirectory()&&f.push(d.name);return f}t(cZt,"listFolders");async function _it(s,o,f=!0){let d=oZt(s,o),y=await ZN.readdir(s,{withFileTypes:!0}),E=[];for await(let P of y)if(!fit.includes(P.name)||!f)if(P.isDirectory()){let F=await _it(N1.join(s,P.name),o,f);E.push(...F)}else E.push(N1.join(d,P.name));return E}t(_it,"listFolderContents");var pit=t(async s=>{await ZN.mkdir(s,{recursive:!0})},"mkdirIfNotExists"),lZt=t(async s=>{let o=N1.dirname(s);return pit(o)},"mkdirForFilePathIfNotExits"),Loe=class extends Error{static{t(this,"UnsafePathError")}};function uZt(s){let o=N1.normalize(s),f=t(d=>{let y=N1.normalize(d),E=process.platform==="win32",P=!1;if(E?P=y.toLowerCase().startsWith(o.toLowerCase()):P=y.startsWith(o),!P)throw new Loe("Resolved path is not part of the project.");return y},"ensureSafePath");return{resolve:t((...d)=>f(N1.resolve(...d)),"resolve")}}t(uZt,"safePath");function fZt(s){return N1.join(N1.basename(N1.dirname(s)),N1.basename(s))}t(fZt,"getParentDirFilename");async function _Zt({folderPath:s,outputTarPath:o,exclude:f=["node_modules",".git","dist"],logger:d}){let y=[],E=[],P;try{await new Promise((F,J)=>{let V=uit("tar",[...f.flatMap(Te=>["--exclude",Te]),...rZt()!=="darwin"?["--warning=no-file-changed"]:[],"-cvf",o,"-C",s,"."]);V.stdout.on("data",Te=>{let de=Te.toString().trim();de.length>0&&y.push(de.trim())}),V.stderr.on("data",Te=>{let de=Te.toString().trim();de.length>0&&E.push(de.trim())}),V.on("close",Te=>{P=Te,Te===0?F():J(new Error(`tar process exited with code ${Te}`))}),V.on("error",Te=>{J(Te)})})}catch(F){throw new Error("Failed to tar folder",{cause:F})}finally{d.info({stdout:y.join(`
572
572
  `),stderr:E.join(`
573
573
  `),exitCode:P},"Tar process logs")}}t(_Zt,"tarFolder");async function pZt({tarFilePath:s,outputDir:o,logger:f}){let d=[],y=[],E;try{await new Promise((P,F)=>{let J=uit("sh",["-c",`tar -xvf ${s} -C ${o};`]);J.stdout.on("data",V=>{let Te=V.toString().trim();Te.length>0&&d.push(Te.trim())}),J.stderr.on("data",V=>{let Te=V.toString().trim();Te.length>0&&y.push(Te.trim())}),J.on("close",V=>{E=V,V===0?P():F(new Error(`tar process exited with code ${V}`))}),J.on("error",V=>{F(V)})})}catch(P){throw new Error("Failed to untar file",{cause:P})}finally{f.info({stdout:d.join(`
574
574
  `),stderr:y.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.70.22",
3
+ "version": "6.70.23",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -40,9 +40,9 @@
40
40
  "source-map": "^0.7.4"
41
41
  },
42
42
  "peerDependencies": {
43
- "@zuplo/graphql": "6.70.22",
44
- "@zuplo/otel": "6.70.22",
45
- "@zuplo/runtime": "6.70.22",
43
+ "@zuplo/graphql": "6.70.23",
44
+ "@zuplo/otel": "6.70.23",
45
+ "@zuplo/runtime": "6.70.23",
46
46
  "deno": "2.3.1"
47
47
  }
48
48
  }