{"version":3,"mappings":"kiBAAA,IAAIA,GAAgD,SAAUC,EAAIC,EAAMC,EAAM,CAC1E,GAAIA,GAAQ,UAAU,SAAW,EAAG,QAAS,EAAI,EAAGC,EAAIF,EAAK,OAAQG,EAAI,EAAID,EAAG,KACxEC,GAAM,EAAE,KAAKH,MACRG,IAAIA,EAAK,MAAM,UAAU,MAAM,KAAKH,EAAM,EAAG,CAAC,GACnDG,EAAG,CAAC,EAAIH,EAAK,CAAC,GAGtB,OAAOD,EAAG,OAAOI,GAAM,MAAM,UAAU,MAAM,KAAKH,CAAI,CAAC,CAC3D,EACII,GAA6B,UAAY,CACzC,SAASA,EAAYC,EAAMC,EAASC,EAAI,CACpC,KAAK,KAAOF,EACZ,KAAK,QAAUC,EACf,KAAK,GAAKC,EACV,KAAK,KAAO,SACf,CACD,OAAOH,CACX,EAAC,EAEGI,GAA0B,UAAY,CACtC,SAASA,EAASF,EAAS,CACvB,KAAK,QAAUA,EACf,KAAK,KAAO,OACZ,KAAK,KAAO,OACZ,KAAK,GAAK,QAAQ,QACrB,CACD,OAAOE,CACX,EAAC,EAEGC,GAAqC,UAAY,CACjD,SAASA,EAAoBJ,EAAMC,EAASC,EAAIG,EAAK,CACjD,KAAK,KAAOL,EACZ,KAAK,QAAUC,EACf,KAAK,GAAKC,EACV,KAAK,IAAMG,EACX,KAAK,KAAO,YACf,CACD,OAAOD,CACX,EAAC,EAEGE,GAAyB,UAAY,CACrC,SAASA,GAAU,CACf,KAAK,KAAO,MACZ,KAAK,IAAM,GACX,KAAK,KAAO,MACZ,KAAK,QAAU,KACf,KAAK,GAAK,IACb,CACD,OAAOA,CACX,EAAC,EAEGC,GAAiC,UAAY,CAC7C,SAASA,GAAkB,CACvB,KAAK,KAAO,eACZ,KAAK,KAAO,eACZ,KAAK,QAAU,KACf,KAAK,GAAK,IACb,CACD,OAAOA,CACX,EAAC,EAGGC,GAAqB,+HACrBC,GAAqB,qFACrBC,GAAyB,EACzBC,GAAiB,CACjB,CAAC,MAAO,wBAAwB,EAChC,CAAC,OAAQ,mBAAmB,EAC5B,CAAC,WAAY,qBAAqB,EAClC,CAAC,gBAAiB,wBAAwB,EAC1C,CAAC,YAAa,uBAAuB,EACrC,CAAC,UAAW,4BAA4B,EACxC,CAAC,OAAQ,uBAAuB,EAChC,CAAC,OAAQ,0BAA0B,EACnC,CAAC,SAAU,2BAA2B,EACtC,CAAC,gBAAiB,mBAAmB,EACrC,CACI,mBACA,wDACH,EACD,CAAC,SAAU,kDAAkD,EAC7D,CAAC,YAAa,+BAA+B,EAC7C,CAAC,QAAS,2BAA2B,EACrC,CAAC,UAAW,6BAA6B,EACzC,CAAC,QAAS,mBAAmB,EAC7B,CAAC,aAAc,iCAAiC,EAChD,CAAC,QAAS,2BAA2B,EACrC,CAAC,QAAS,yBAAyB,EACnC,CAAC,MAAO,kDAAkD,EAC1D,CAAC,MAAO,+FAA+F,EACvG,CAAC,WAAY,sCAAsC,EACnD,CAAC,KAAM,2CAA2C,EAClD,CAAC,KAAM,qCAAqC,EAC5C,CAAC,KAAM,cAAc,EACrB,CAAC,OAAQ,mCAAmC,EAC5C,CAAC,UAAW,qBAAqB,EACjC,CAAC,MAAO,wCAAwC,EAChD,CAAC,SAAU,8BAA8B,EACzC,CAAC,WAAY,qBAAqB,EAClC,CAAC,YAAa,uBAAuB,EACrC,CAAC,cAAe,iCAAiC,EACjD,CAAC,cAAe,mCAAmC,EACnD,CAAC,OAAQ,oBAAoB,EAC7B,CAAC,YAAaH,EAAkB,CACpC,EACII,GAAuB,CACvB,CAAC,MAAO,gBAAgB,EACxB,CAAC,aAAc,SAAS,EACxB,CAAC,gBAAiB,iBAAiB,EACnC,CAAC,iBAAkB,UAAU,EAC7B,CAAC,YAAa,QAAQ,EACtB,CAAC,eAAgB,OAAO,EACxB,CAAC,aAAc,mCAAmC,EAClD,CAAC,aAAc,sBAAsB,EACrC,CAAC,eAAgB,iCAAiC,EAClD,CAAC,aAAc,+BAA+B,EAC9C,CAAC,sBAAuB,kBAAkB,EAC1C,CAAC,gBAAiB,kBAAkB,EACpC,CAAC,YAAa,kBAAkB,EAChC,CAAC,YAAa,kBAAkB,EAChC,CAAC,cAAe,kBAAkB,EAClC,CAAC,aAAc,mBAAmB,EAClC,CAAC,aAAc,YAAY,EAC3B,CAAC,aAAc,qDAAqD,EACpE,CAAC,WAAY,SAAS,EACtB,CAAC,SAAU,OAAO,EAClB,CAAC,YAAa,MAAM,EACpB,CAAC,QAAS,eAAe,EACzB,CAAC,SAAU,2BAA2B,EACtC,CAAC,MAAO,KAAK,EACb,CAAC,OAAQ,MAAM,EACf,CAAC,OAAQ,OAAO,CACpB,EACO,SAASC,GAAOC,EAAW,CAC9B,OAAMA,EACKC,GAAeD,CAAS,EAE/B,OAAO,SAAa,KACpB,OAAO,UAAc,KACrB,UAAU,UAAY,cACf,IAAIP,GAEX,OAAO,UAAc,IACdQ,GAAe,UAAU,SAAS,EAEtCC,GAAc,CACzB,CACA,SAASC,GAAeC,EAAI,CAKxB,OAAQA,IAAO,IACXP,GAAe,OAAO,SAAUQ,EAASC,EAAI,CACzC,IAAIC,EAAUD,EAAG,CAAC,EAAGE,EAAQF,EAAG,CAAC,EACjC,GAAID,EACA,OAAOA,EAEX,IAAII,EAAUD,EAAM,KAAKJ,CAAE,EAC3B,MAAO,CAAC,CAACK,GAAW,CAACF,EAASE,CAAO,CACxC,EAAE,EAAK,CAChB,CAKO,SAASR,GAAeG,EAAI,CAC/B,IAAIM,EAAcP,GAAeC,CAAE,EACnC,GAAI,CAACM,EACD,OAAO,KAEX,IAAIxB,EAAOwB,EAAY,CAAC,EAAGC,EAAQD,EAAY,CAAC,EAChD,GAAIxB,IAAS,YACT,OAAO,IAAIM,GAGf,IAAIoB,EAAeD,EAAM,CAAC,GAAKA,EAAM,CAAC,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAG,CAAC,EAC9EC,EACIA,EAAa,OAAShB,KACtBgB,EAAejC,GAAcA,GAAc,CAAE,EAAEiC,EAAc,EAAI,EAAGC,GAAmBjB,GAAyBgB,EAAa,MAAM,EAAG,EAAI,GAI9IA,EAAe,GAEnB,IAAIzB,EAAUyB,EAAa,KAAK,GAAG,EAC/BxB,EAAK0B,GAASV,CAAE,EAChBW,EAAiBpB,GAAmB,KAAKS,CAAE,EAC/C,OAAIW,GAAkBA,EAAe,CAAC,EAC3B,IAAIzB,GAAoBJ,EAAMC,EAASC,EAAI2B,EAAe,CAAC,CAAC,EAEhE,IAAI9B,GAAYC,EAAMC,EAASC,CAAE,CAC5C,CACO,SAAS0B,GAASV,EAAI,CACzB,QAASY,EAAK,EAAGC,EAAQnB,GAAqB,OAAQkB,EAAKC,EAAOD,IAAM,CACpE,IAAIV,EAAKR,GAAqBkB,CAAE,EAAG5B,EAAKkB,EAAG,CAAC,EAAGE,EAAQF,EAAG,CAAC,EACvDK,EAAQH,EAAM,KAAKJ,CAAE,EACzB,GAAIO,EACA,OAAOvB,CAEd,CACD,OAAO,IACX,CACO,SAASc,IAAiB,CAC7B,IAAIgB,EAAS,OAAO,QAAY,KAAe,QAAQ,QACvD,OAAOA,EAAS,IAAI7B,GAAS,QAAQ,QAAQ,MAAM,CAAC,CAAC,EAAI,IAC7D,CACA,SAASwB,GAAmBI,EAAO,CAE/B,QADIE,EAAS,GACJH,EAAK,EAAGA,EAAKC,EAAOD,IACzBG,EAAO,KAAK,GAAG,EAEnB,OAAOA,CACX,UCrNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gFAgBA,IAAIC,GAAgB,SAASC,EAAGC,EAAG,CACfF,UAAA,OAAO,gBAClB,CAAE,UAAW,cAAgB,OAAS,SAAUC,EAAGC,EAAG,CAAED,EAAE,UAAYC,CAAA,GACvE,SAAUD,EAAGC,EAAG,CAAE,QAASC,KAAKD,EAAOA,EAAE,eAAeC,CAAC,IAAGF,EAAEE,CAAC,EAAID,EAAEC,CAAC,IACnEH,GAAcC,EAAGC,CAAC,CAC7B,EAEgB,SAAAE,GAAUH,EAAGC,EAAG,CAC5BF,GAAcC,EAAGC,CAAC,EAClB,SAASG,GAAK,CAAE,KAAK,YAAcJ,CAAG,CACtCA,EAAE,UAAYC,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAKG,EAAG,UAAYH,EAAE,UAAW,IAAIG,EACnF,CAEO,IAAIC,GAAW,UAAW,CAC7BA,UAAW,OAAO,QAAU,SAAkBC,EAAG,CACpC,QAAAC,EAAG,EAAI,EAAGC,EAAI,UAAU,OAAQ,EAAIA,EAAG,IAAK,CACjDD,EAAI,UAAU,CAAC,EACf,QAASL,KAAKK,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGL,CAAC,IAAKI,EAAAJ,CAAC,EAAIK,EAAEL,CAAC,EAC/E,CACO,OAAAI,CAAA,EAEJD,GAAS,MAAM,KAAM,SAAS,CACzC,EAEgB,SAAAI,GAAOF,EAAG,EAAG,CACzB,IAAI,EAAI,GACR,QAASL,KAAKK,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGL,CAAC,GAAK,EAAE,QAAQA,CAAC,EAAI,IAC5E,EAAAA,CAAC,EAAIK,EAAEL,CAAC,GACd,GAAIK,GAAK,MAAQ,OAAO,OAAO,uBAA0B,WAC5C,QAAAG,EAAI,EAAGR,EAAI,OAAO,sBAAsBK,CAAC,EAAGG,EAAIR,EAAE,OAAQQ,IAC3D,EAAE,QAAQR,EAAEQ,CAAC,CAAC,EAAI,GAAK,OAAO,UAAU,qBAAqB,KAAKH,EAAGL,EAAEQ,CAAC,CAAC,IACzE,EAAER,EAAEQ,CAAC,CAAC,EAAIH,EAAEL,EAAEQ,CAAC,CAAC,GAErB,QACX,CAEO,SAASC,GAAWC,EAAYC,EAAQC,EAAKC,EAAM,CACtD,IAAIC,EAAI,UAAU,OAAQC,EAAID,EAAI,EAAIH,EAASE,IAAS,KAAOA,EAAO,OAAO,yBAAyBF,EAAQC,CAAG,EAAIC,EAAMf,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAYiB,EAAI,QAAQ,SAASL,EAAYC,EAAQC,EAAKC,CAAI,MACxH,SAASL,EAAIE,EAAW,OAAS,EAAGF,GAAK,EAAGA,KAASV,EAAIY,EAAWF,CAAC,KAAGO,GAAKD,EAAI,EAAIhB,EAAEiB,CAAC,EAAID,EAAI,EAAIhB,EAAEa,EAAQC,EAAKG,CAAC,EAAIjB,EAAEa,EAAQC,CAAG,IAAMG,GACzI,OAAAD,EAAI,GAAKC,GAAK,OAAO,eAAeJ,EAAQC,EAAKG,CAAC,EAAGA,CAChE,CAEgB,SAAAC,GAAQC,EAAYC,EAAW,CACpC,gBAAUP,EAAQC,EAAK,CAAYM,EAAAP,EAAQC,EAAKK,CAAU,EACrE,CAEgB,SAAAE,GAAWC,EAAaC,EAAe,CACnD,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAmB,eAAQ,SAASD,EAAaC,CAAa,CACjI,CAEO,SAASC,GAAUC,EAASC,EAAYC,EAAGC,EAAW,CACzD,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,EAAI,CAAG,CAC3G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAM,IAAOI,EAAAN,EAAU,KAAKE,CAAK,CAAC,QAAYK,EAAG,CAAEH,EAAOG,CAAC,CAAG,CAAE,CAC1F,SAASC,EAASN,EAAO,CAAM,IAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,QAAYK,EAAG,CAAEH,EAAOG,CAAC,CAAG,CAAE,CAC7F,SAASD,EAAKG,EAAQ,CAASA,EAAA,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAG,CACvGF,GAAAN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAE,IAAG,MAAM,EACvE,CACL,CAEgB,SAAAY,GAAYb,EAASc,EAAM,CACvC,IAAIC,EAAI,CAAE,MAAO,EAAG,KAAM,UAAW,CAAM,GAAAlC,EAAE,CAAC,EAAI,EAAG,MAAMA,EAAE,CAAC,EAAG,OAAOA,EAAE,CAAC,GAAM,KAAM,CAAI,MAAK,EAAG,EAAGmC,EAAGC,EAAGpC,EAAGqC,EACxG,OAAAA,EAAI,CAAE,KAAMC,EAAK,CAAC,EAAG,MAASA,EAAK,CAAC,EAAG,OAAUA,EAAK,CAAC,GAAK,OAAO,QAAW,aAAeD,EAAE,OAAO,QAAQ,EAAI,UAAW,CAAS,WAAU,GAAAA,EACvJ,SAASC,EAAKpC,EAAG,CAAE,OAAO,SAAUqC,EAAG,CAAE,OAAOX,EAAK,CAAC1B,EAAGqC,CAAC,CAAC,EAAM,CACjE,SAASX,EAAKY,EAAI,CACV,GAAAL,EAAS,UAAI,UAAU,iCAAiC,EACrD,KAAAD,GAAO,IACV,GAAIC,EAAI,EAAGC,IAAMpC,EAAIwC,EAAG,CAAC,EAAI,EAAIJ,EAAE,OAAYI,EAAG,CAAC,EAAIJ,EAAE,SAAcpC,EAAIoC,EAAE,SAAcpC,EAAE,KAAKoC,CAAC,EAAG,GAAKA,EAAE,OAAS,EAAEpC,EAAIA,EAAE,KAAKoC,EAAGI,EAAG,CAAC,CAAC,GAAG,KAAa,OAAAxC,EAEnJ,OADJoC,EAAI,EAAGpC,IAAGwC,EAAK,CAACA,EAAG,CAAC,EAAI,EAAGxC,EAAE,KAAK,GAC9BwC,EAAG,CAAC,EAAG,CACX,IAAK,GAAG,IAAK,GAAOxC,EAAAwC,EAAI,MACxB,IAAK,GAAK,OAAAN,EAAA,QAAgB,CAAE,MAAOM,EAAG,CAAC,EAAG,KAAM,IAChD,IAAK,GAAKN,EAAA,QAASE,EAAII,EAAG,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,SACxC,IAAK,GAAQA,EAAAN,EAAE,IAAI,MAAOA,EAAE,KAAK,MAAO,SACxC,QACQ,GAAElC,EAAIkC,EAAE,KAAM,EAAAlC,EAAIA,EAAE,OAAS,GAAKA,EAAEA,EAAE,OAAS,CAAC,KAAOwC,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,GAAI,CAAMN,EAAA,EAAG,QAAU,CAC3G,GAAIM,EAAG,CAAC,IAAM,IAAM,CAACxC,GAAMwC,EAAG,CAAC,EAAIxC,EAAE,CAAC,GAAKwC,EAAG,CAAC,EAAIxC,EAAE,CAAC,GAAK,CAAIkC,EAAA,MAAQM,EAAG,CAAC,EAAG,KAAO,CACjF,GAAAA,EAAG,CAAC,IAAM,GAAKN,EAAE,MAAQlC,EAAE,CAAC,EAAG,CAAIkC,EAAA,MAAQlC,EAAE,CAAC,EAAOA,EAAAwC,EAAI,KAAO,CACpE,GAAIxC,GAAKkC,EAAE,MAAQlC,EAAE,CAAC,EAAG,CAAIkC,EAAA,MAAQlC,EAAE,CAAC,EAAKkC,EAAA,IAAI,KAAKM,CAAE,EAAG,KAAO,CAC9DxC,EAAE,CAAC,GAAGkC,EAAE,IAAI,MAChBA,EAAE,KAAK,MAAO,QACtB,CACKM,EAAAP,EAAK,KAAKd,EAASe,CAAC,QACpBL,EAAG,CAAOW,EAAA,CAAC,EAAGX,CAAC,EAAOO,EAAA,SAAK,CAAUD,EAAInC,EAAI,CAAG,CACrD,GAAAwC,EAAG,CAAC,EAAI,EAAG,MAAMA,EAAG,CAAC,EAAU,OAAE,MAAOA,EAAG,CAAC,EAAIA,EAAG,CAAC,EAAI,OAAQ,KAAM,EAAK,CACnF,CACJ,CAEO,SAASC,GAAgBC,EAAGC,EAAGC,EAAGC,EAAI,CACrCA,IAAO,SAAgBA,EAAAD,GACzBF,EAAAG,CAAE,EAAIF,EAAEC,CAAC,CACf,CAEgB,SAAAE,GAAaH,EAAGI,EAAS,CACrC,QAASnD,KAAK+C,EAAO/C,IAAM,WAAa,CAACmD,EAAQ,eAAenD,CAAC,IAAWmD,EAAAnD,CAAC,EAAI+C,EAAE/C,CAAC,EACxF,CAEO,SAASoD,GAASN,EAAG,CACpB,IAAAzC,EAAI,OAAO,QAAW,YAAc,OAAO,SAAU0C,EAAI1C,GAAKyC,EAAEzC,CAAC,EAAG,EAAI,EACxE,GAAA0C,EAAU,OAAAA,EAAE,KAAKD,CAAC,EAClB,GAAAA,GAAK,OAAOA,EAAE,QAAW,SAAiB,OAC1C,KAAM,UAAY,CACV,OAAAA,GAAK,GAAKA,EAAE,SAAYA,EAAA,QACrB,CAAE,MAAOA,GAAKA,EAAE,GAAG,EAAG,KAAM,CAACA,EACxC,GAEJ,MAAM,IAAI,UAAUzC,EAAI,0BAA4B,iCAAiC,CACzF,CAEgB,SAAAgD,GAAOP,EAAGxC,EAAG,CACzB,IAAIyC,EAAI,OAAO,QAAW,YAAcD,EAAE,OAAO,QAAQ,EACzD,GAAI,CAACC,EAAU,OAAAD,EACX,MAAIC,EAAE,KAAKD,CAAC,EAAG/B,EAAGtD,EAAK,CAAI,EAAAwE,EAC3B,IACQ,MAAA3B,IAAM,QAAUA,KAAM,IAAM,EAAES,EAAI,EAAE,KAAQ,SAAStD,EAAA,KAAKsD,EAAE,KAAK,QAEtEuC,EAAO,CAAErB,EAAI,CAAE,MAAAqB,EAAa,QACnC,CACQ,IACIvC,GAAK,CAACA,EAAE,OAASgC,EAAI,EAAE,SAAYA,EAAE,KAAK,CAAC,SAEnD,CAAc,GAAAd,EAAG,MAAMA,EAAE,KAAO,CACpC,CACO,OAAAxE,CACX,CAEO,SAAS8F,IAAW,CACvB,QAAS9F,EAAK,GAAI+C,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAC3C/C,EAAKA,EAAG,OAAO4F,GAAO,UAAU7C,CAAC,CAAC,CAAC,EAChC,OAAA/C,CACX,CAEO,SAAS+F,IAAiB,CACpB,QAAAnD,EAAI,EAAGG,EAAI,EAAGiD,EAAK,UAAU,OAAQjD,EAAIiD,EAAIjD,IAAUH,GAAA,UAAUG,CAAC,EAAE,OACpE,QAAAO,EAAI,MAAMV,CAAC,EAAG2C,EAAI,EAAGxC,EAAI,EAAGA,EAAIiD,EAAIjD,IAChC,QAAAkD,EAAI,UAAUlD,CAAC,EAAGmD,EAAI,EAAGC,EAAKF,EAAE,OAAQC,EAAIC,EAAID,IAAKX,IACxDjC,EAAAiC,CAAC,EAAIU,EAAEC,CAAC,EACX,OAAA5C,CACX,CAEO,SAAS8C,GAAQlB,EAAG,CAChB,uBAAgBkB,IAAW,KAAK,EAAIlB,EAAG,MAAQ,IAAIkB,GAAQlB,CAAC,CACvE,CAEgB,SAAAmB,GAAiBvC,EAASC,EAAYE,EAAW,CAC7D,GAAI,CAAC,OAAO,cAAqB,UAAI,UAAU,sCAAsC,EACjF,IAAAe,EAAIf,EAAU,MAAMH,EAASC,GAAc,EAAE,EAAGhB,EAAGuD,EAAI,GAC3D,OAAOvD,EAAI,CAAC,EAAGkC,EAAK,MAAM,EAAGA,EAAK,OAAO,EAAGA,EAAK,QAAQ,EAAGlC,EAAE,OAAO,aAAa,EAAI,UAAY,CAAS,WAAS,EAAAA,EACpH,SAASkC,EAAKpC,EAAG,CAAMmC,EAAEnC,CAAC,IAAKE,EAAAF,CAAC,EAAI,SAAUqC,EAAG,CAAE,OAAO,IAAI,QAAQ,SAAUe,EAAG3D,EAAG,CAAIgE,EAAA,KAAK,CAACzD,EAAGqC,EAAGe,EAAG3D,CAAC,CAAC,EAAI,GAAKiE,EAAO1D,EAAGqC,CAAC,EAAI,GAAM,CAChI,SAAAqB,EAAO1D,EAAGqC,EAAG,CAAM,IAAEX,EAAKS,EAAEnC,CAAC,EAAEqC,CAAC,CAAC,QAAYV,EAAG,CAAEgC,EAAOF,EAAE,CAAC,EAAE,CAAC,EAAG9B,CAAC,CAAG,CAAE,CACjF,SAASD,EAAKjB,EAAG,CAAEA,EAAE,iBAAiB8C,GAAU,QAAQ,QAAQ9C,EAAE,MAAM,CAAC,EAAE,KAAKmD,EAASpC,CAAM,EAAImC,EAAOF,EAAE,CAAC,EAAE,CAAC,EAAGhD,CAAC,CAAG,CACvH,SAASmD,EAAQtC,EAAO,CAAEoC,EAAO,OAAQpC,CAAK,CAAG,CACjD,SAASE,EAAOF,EAAO,CAAEoC,EAAO,QAASpC,CAAK,CAAG,CACxC,SAAAqC,EAAO1B,EAAGI,EAAG,CAAMJ,EAAEI,CAAC,EAAGoB,EAAE,QAASA,EAAE,QAAeC,EAAAD,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAE,CAAC,CAAC,CAAG,CACrF,CAEO,SAASI,GAAiBrB,EAAG,CAChC,IAAItC,EAAGR,EACA,OAAAQ,EAAI,CAAI,EAAAkC,EAAK,MAAM,EAAGA,EAAK,QAAS,SAAUT,EAAG,CAAQ,MAAAA,CAAA,CAAI,EAAGS,EAAK,QAAQ,EAAGlC,EAAE,OAAO,QAAQ,EAAI,UAAY,CAAS,WAAS,EAAAA,EACjI,SAAAkC,EAAKpC,EAAGiC,EAAG,CAAE/B,EAAEF,CAAC,EAAIwC,EAAExC,CAAC,EAAI,SAAUqC,EAAG,CAAE,OAAQ3C,EAAI,CAACA,GAAK,CAAE,MAAO6D,GAAQf,EAAExC,CAAC,EAAEqC,CAAC,CAAC,EAAG,KAAMrC,IAAM,UAAaiC,EAAIA,EAAEI,CAAC,EAAIA,CAAO,EAAAJ,CAAG,CAClJ,CAEO,SAAS6B,GAActB,EAAG,CAC7B,GAAI,CAAC,OAAO,cAAqB,UAAI,UAAU,sCAAsC,EACrF,IAAIC,EAAID,EAAE,OAAO,aAAa,EAAGtC,EACjC,OAAOuC,EAAIA,EAAE,KAAKD,CAAC,GAAKA,EAAI,OAAOM,IAAa,WAAaA,GAASN,CAAC,EAAIA,EAAE,OAAO,QAAQ,IAAKtC,EAAI,GAAIkC,EAAK,MAAM,EAAGA,EAAK,OAAO,EAAGA,EAAK,QAAQ,EAAGlC,EAAE,OAAO,aAAa,EAAI,UAAY,CAAS,WAAS,EAAAA,GAC9M,SAASkC,EAAK,EAAG,CAAElC,EAAE,CAAC,EAAIsC,EAAE,CAAC,GAAK,SAAUH,EAAG,CAAE,OAAO,IAAI,QAAQ,SAAUd,EAASC,EAAQ,CAAMa,EAAAG,EAAE,CAAC,EAAEH,CAAC,EAAGsB,EAAOpC,EAASC,EAAQa,EAAE,KAAMA,EAAE,KAAK,EAAI,EAAM,CAC/J,SAASsB,EAAOpC,EAASC,EAAQhC,EAAG6C,EAAG,CAAE,QAAQ,QAAQA,CAAC,EAAE,KAAK,SAASA,EAAG,CAAEd,EAAQ,CAAE,MAAOc,EAAG,KAAM7C,CAAG,IAAMgC,CAAM,CAAG,CAC/H,CAEgB,SAAAuC,GAAqBC,EAAQC,EAAK,CAC9C,OAAI,OAAO,eAAkB,OAAO,eAAeD,EAAQ,MAAO,CAAE,MAAOC,EAAK,EAAYD,EAAO,IAAMC,EAClGD,CACX,CAEO,SAASE,GAAaC,EAAK,CAC9B,GAAIA,GAAOA,EAAI,WAAmB,OAAAA,EAClC,IAAItC,EAAS,GACb,GAAIsC,GAAO,KAAM,QAASzB,KAAKyB,EAAS,OAAO,eAAe,KAAKA,EAAKzB,CAAC,IAAUb,EAAAa,CAAC,EAAIyB,EAAIzB,CAAC,GAC7F,OAAAb,EAAO,QAAUsC,EACVtC,CACX,CAEO,SAASuC,GAAgBD,EAAK,CACjC,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAASA,EACtD,CAEgB,SAAAE,GAAuBC,EAAUC,EAAY,CACzD,GAAI,CAACA,EAAW,IAAID,CAAQ,EAClB,UAAI,UAAU,gDAAgD,EAEjE,OAAAC,EAAW,IAAID,CAAQ,CAClC,CAEgB,SAAAE,GAAuBF,EAAUC,EAAYjD,EAAO,CAChE,GAAI,CAACiD,EAAW,IAAID,CAAQ,EAClB,UAAI,UAAU,gDAAgD,EAE7D,OAAAC,EAAA,IAAID,EAAUhD,CAAK,EACvBA,CACX,miBCxNA,OAAO,eAAemD,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/CA,GAAA,MAAG,OAChB,SAASC,EAAMC,EAAS,CACpB,OAAO,IAAI,QAAQpD,GAAW,CAC1B,WAAW,IAAM,CACbA,EAAQ,EAAI,CACf,EAAEoD,CAAO,CAClB,CAAK,CACJ,CACYF,UAAA,MAAGC,6DCThB,OAAO,eAAeE,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,GAAA,aAAuBA,GAAA,YAAsB,OAC1BA,GAAA,YAAG,IACFA,GAAA,aAAG,gECHvB,OAAO,eAAc/B,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAmB,SAAAA,EAAA,WAAqBA,EAAsB,YAAAA,EAAA,UAAoBA,EAAmB,SAAAA,EAAA,YAAsBA,EAAqB,WAAAA,EAAA,UAAoBA,EAAqB,WAAAA,EAAA,QAAkBA,EAA4B,kBAAAA,EAAA,aAAuBA,EAAoB,UAAAA,EAAA,YAAsBA,WAAmBA,EAAwB,cAAAA,EAAA,eAAyBA,EAAsB,YAAAA,EAAA,aAAuBA,EAAqB,WAAAA,EAAA,cAAwBA,EAAyB,eAAAA,EAAA,YAAsBA,EAAuB,aAAAA,EAAA,WAAqB,OACjiBA,EAAA,WAAqB,EACrBA,EAAA,aAAuB,EACvBA,EAAA,YAAsB,GACtBA,EAAA,eAAyB,GACzBA,EAAA,cAAwB,GACxBA,EAAqB,WAAAA,EAAQ,cAC7BA,EAAA,aAAuBA,EAAQ,WAAa,EAC5CA,EAAA,YAAsBA,EAAQ,WAAa,GAC3CA,EAAA,eAAyBA,EAAQ,WAAa,GAC9CA,EAAA,cAAwBA,EAAQ,WAAa,GAC7CA,EAAmB,SAAAA,EAAQ,cAC3BA,EAAA,YAAsBA,EAAQ,SAAW,EACzCA,EAAA,UAAoBA,EAAQ,SAAW,EACvCA,EAAA,aAAuBA,EAAQ,SAAW,GAC1CA,EAAA,kBAA4BA,EAAQ,SAAW,GAC/CA,EAAkB,QAAAA,EAAQ,kBAC1BA,EAAA,WAAqBA,EAAQ,QAAU,EACvCA,EAAA,UAAoBA,EAAQ,QAAU,EACtCA,EAAA,WAAqBA,EAAQ,QAAU,EACvCA,EAAA,YAAsBA,EAAQ,QAAU,GACxCA,EAAmB,SAAAA,EAAQ,WAC3BA,EAAA,UAAoBA,EAAQ,SAAW,EACvCA,EAAA,YAAsBA,EAAQ,SAAW,EACzCA,EAAA,WAAqBA,EAAQ,SAAW,EACxCA,EAAA,SAAmBA,EAAQ,QAAU,+DC1BrC,OAAO,eAAcA,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,MAAMgC,EAAUC,GAChBD,EAAQ,aAAaE,GAAiB,EAAElC,CAAO,EAC/CgC,EAAQ,aAAaG,GAAiB,EAAEnC,CAAO,qDCH/C,OAAO,eAAeoC,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,GAAA,gBAA0BA,GAAA,cAAwB,OAClD,MAAMC,EAAcJ,KACpB,SAASK,EAAcC,EAAS,CAC5B,OAAOA,EAAUF,EAAY,YAChC,CACoBD,GAAA,cAAGE,EACxB,SAASE,EAAgBC,EAAa,CAClC,OAAO,KAAK,MAAMA,EAAcJ,EAAY,YAAY,CAC3D,CACsB,OAAAD,GAAA,gBAAGI,uDCV1B,OAAO,eAAcxC,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,MAAMgC,EAAUC,GAChBD,EAAQ,aAAaE,GAAkB,EAAElC,CAAO,EAChDgC,EAAQ,aAAaG,GAAoB,EAAEnC,CAAO,2DCHlD,OAAO,eAAe0C,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/CA,GAAA,MAAG,OAChB,MAAMC,CAAM,CACR,aAAc,CACV,KAAK,WAAa,IAAI,GACzB,CACD,MAAMC,EAAO,CACT,GAAI,KAAK,WAAW,IAAIA,CAAK,EACzB,MAAM,IAAI,MAAM,oCAAoCA,CAAK,EAAE,EAE/D,KAAK,WAAW,IAAIA,EAAO,CAAE,QAAS,KAAK,IAAK,EAAE,CACrD,CACD,KAAKA,EAAO,CACR,MAAMC,EAAY,KAAK,IAAID,CAAK,EAChC,GAAI,OAAOC,EAAU,QAAY,IAC7B,MAAM,IAAI,MAAM,oCAAoCD,CAAK,EAAE,EAE/D,MAAME,EAAU,KAAK,IAAG,EAAKD,EAAU,QACvC,KAAK,WAAW,IAAID,EAAO,CAAE,QAASC,EAAU,QAAS,QAAAC,CAAO,CAAE,CACrE,CACD,IAAIF,EAAO,CACP,MAAMC,EAAY,KAAK,WAAW,IAAID,CAAK,EAC3C,GAAI,OAAOC,EAAc,IACrB,MAAM,IAAI,MAAM,iCAAiCD,CAAK,EAAE,EAE5D,OAAOC,CACV,CACD,QAAQD,EAAO,CACX,MAAMC,EAAY,KAAK,IAAID,CAAK,EAEhC,OADgBC,EAAU,SAAW,KAAK,IAAK,EAAGA,EAAU,OAE/D,CACJ,CACYH,UAAA,MAAGC,EACDD,GAAA,QAAGC,2DClClB,OAAO,eAAeD,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9CA,GAAA,OAAG,OACjB,MAAMK,CAAO,CACZ,CACaL,UAAA,OAAGK,uDCJjB,OAAO,eAAc/C,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5CiC,GACR,aAAaC,GAAkB,EAAElC,CAAO,wBCFhD,OAAO,eAAcA,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,MAAMgC,EAAUC,GAChBD,EAAQ,aAAaE,GAAkB,EAAElC,CAAO,EAChDgC,EAAQ,aAAaG,GAAkB,EAAEnC,CAAO,EAChDgC,EAAQ,aAAagB,GAAkB,EAAEhD,CAAO,EAChDgC,EAAQ,aAAaiB,GAAsB,EAAEjD,CAAO,iBCLpD,OAAO,eAAekD,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrCA,GAAA,gBAAiCA,GAAA,uBAAoBA,GAAA,8BAA8BC,GAAAD,GAAA,YAAsBA,GAAA,mBAA6BE,GAAAF,GAAA,aAAkDA,GAAA,oBAAGG,GAAmBH,GAAA,YAA6BA,GAAA,mBAA+BA,GAAA,qBAAwBA,GAAA,cAAG,OAC5T,SAASI,GAAc9I,EAAM,CACzB,IAAI+I,EACJ,OAAI,OAAO,OAAW,KAAe,OAAO,OAAO/I,CAAI,EAAM,MACzD+I,EAAM,OAAO/I,CAAI,GAEd+I,CACX,CACqBL,GAAA,cAAGI,GACxB,SAASE,GAAqBhJ,EAAM,CAChC,MAAM+I,EAAMD,GAAc9I,CAAI,EAC9B,GAAI,CAAC+I,EACD,MAAM,IAAI,MAAM,GAAG/I,CAAI,2BAA2B,EAEtD,OAAO+I,CACX,CAC4BL,GAAA,qBAAGM,GAC/B,SAASC,IAAqB,CAC1B,OAAOD,GAAqB,UAAU,CAC1C,CAC0BN,GAAA,mBAAGO,GAC7B,SAASC,IAAc,CACnB,OAAOJ,GAAc,UAAU,CACnC,CACA,IAAmBD,GAAAH,GAAA,YAAGQ,GACtB,SAASC,IAAsB,CAC3B,OAAOH,GAAqB,WAAW,CAC3C,CAC2BN,GAAA,oBAAGS,GAC9B,SAASC,IAAe,CACpB,OAAON,GAAc,WAAW,CACpC,CACA,IAAoBF,GAAAF,GAAA,aAAGU,GACvB,SAASC,IAAqB,CAC1B,OAAOL,GAAqB,UAAU,CAC1C,CAC0BN,GAAA,mBAAGW,GAC7B,SAASC,IAAc,CACnB,OAAOR,GAAc,UAAU,CACnC,CACA,IAAmBH,GAAAD,GAAA,YAAGY,GACtB,SAASC,IAAmB,CACxB,OAAOP,GAAqB,QAAQ,CACxC,CACwBN,GAAA,iBAAGa,GAC3B,SAASC,IAAY,CACjB,OAAOV,GAAc,QAAQ,CACjC,CACiBJ,GAAA,UAAGc,GACpB,SAASC,IAAyB,CAC9B,OAAOT,GAAqB,cAAc,CAC9C,CAC8BN,GAAA,uBAAGe,GACjC,SAASC,IAAkB,CACvB,OAAOZ,GAAc,cAAc,CACvC,CACuBJ,GAAA,gBAAGgB,aCzD1B,OAAO,eAAehB,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,IAAyBiB,GAAAjB,GAAA,kBAAG,OAC5B,MAAMkB,GAAmBnC,GACzB,SAASoC,IAAoB,CACzB,IAAIC,EACAC,EACJ,GAAI,CACAD,EAAMF,GAAiB,qBACvBG,EAAMH,GAAiB,oBAC1B,MACS,CACN,OAAO,IACV,CACD,SAASI,GAAW,CAChB,MAAMC,EAAQH,EAAI,qBAAqB,MAAM,EACvCI,EAAQ,GACd,QAASrH,EAAI,EAAGA,EAAIoH,EAAM,OAAQpH,IAAK,CACnC,MAAMsH,EAAOF,EAAMpH,CAAC,EACduH,EAAMD,EAAK,aAAa,KAAK,EACnC,GAAIC,GACIA,EAAI,YAAa,EAAC,QAAQ,MAAM,EAAI,GAAI,CACxC,MAAMC,EAAOF,EAAK,aAAa,MAAM,EACrC,GAAIE,EACA,GAAIA,EAAK,YAAa,EAAC,QAAQ,QAAQ,IAAM,IACzCA,EAAK,YAAa,EAAC,QAAQ,OAAO,IAAM,IACxCA,EAAK,QAAQ,IAAI,IAAM,EAAG,CAC1B,IAAIC,EAAeP,EAAI,SAAW,KAAOA,EAAI,KAC7C,GAAIM,EAAK,QAAQ,GAAG,IAAM,EACtBC,GAAgBD,MAEf,CACD,MAAME,EAAOR,EAAI,SAAS,MAAM,GAAG,EACnCQ,EAAK,IAAG,EACR,MAAMC,EAAYD,EAAK,KAAK,GAAG,EAC/BD,GAAgBE,EAAY,IAAMH,CACrC,CACDH,EAAM,KAAKI,CAAY,CAC1B,SACQD,EAAK,QAAQ,IAAI,IAAM,EAAG,CAC/B,MAAMI,EAAcV,EAAI,SAAWM,EACnCH,EAAM,KAAKO,CAAW,CACzB,MAEGP,EAAM,KAAKG,CAAI,CAG1B,CAER,CACD,OAAOH,CACV,CACD,SAASQ,KAA0BC,EAAM,CACrC,MAAMC,EAAWd,EAAI,qBAAqB,MAAM,EAChD,QAASjH,EAAI,EAAGA,EAAI+H,EAAS,OAAQ/H,IAAK,CACtC,MAAMgI,EAAMD,EAAS/H,CAAC,EAChBiI,EAAa,CAAC,WAAY,WAAY,MAAM,EAC7C,IAAK9H,GAAW6H,EAAI,aAAa7H,CAAM,CAAC,EACxC,OAAQ+H,GACLA,EACOJ,EAAK,SAASI,CAAI,EAEtB,EACV,EACD,GAAID,EAAW,QAAUA,EAAY,CACjC,MAAME,EAAUH,EAAI,aAAa,SAAS,EAC1C,GAAIG,EACA,OAAOA,CAEd,CACJ,CACD,MAAO,EACV,CACD,SAASC,GAAU,CACf,IAAIjL,EAAO0K,EAAuB,OAAQ,eAAgB,WAAY,eAAe,EACrF,OAAK1K,IACDA,EAAO8J,EAAI,OAER9J,CACV,CACD,SAASkL,GAAiB,CAEtB,OADoBR,EAAuB,cAAe,iBAAkB,sBAAuB,UAAU,CAEhH,CACD,MAAM1K,EAAOiL,IACPE,EAAcD,IACdE,EAAMrB,EAAI,OACVG,EAAQF,IAOd,MANa,CACT,YAAAmB,EACA,IAAAC,EACA,MAAAlB,EACA,KAAAlK,CACR,CAEA,CACA2J,GAAyBjB,GAAA,kBAAGmB,GChGrB,SAASwB,GAAMpH,EAAO,CAAE,OAAAqH,EAAS,EAAI,EAAK,GAAI,CAGjD,MAFI,CAACrH,GAED,OAAOA,GAAU,SACV,GACJqH,EAAS,mBAAmB,KAAKrH,CAAK,EAAIA,EAAM,WAAW,IAAI,CAC1E,CCCO,SAASsH,GAAKtH,EAAO,CACxB,OAAIoH,GAAMpH,EAAO,CAAE,OAAQ,EAAK,CAAE,EACvB,KAAK,MAAMA,EAAM,OAAS,GAAK,CAAC,EACpCA,EAAM,MACjB,CCXO,MAAMhE,GAAU,SCCvB,IAAIuL,GAAc,CACd,WAAY,CAAC,CAAE,YAAAC,EAAa,SAAAC,EAAW,GAAI,SAAAC,CAAQ,IAAQD,EACrD,GAAGD,GAAe,iBAAiB,GAAGC,CAAQ,GAAGC,EAAW,IAAIA,CAAQ,GAAK,EAAE,GAC/E,OACN,QAAS,QAAQ1L,EAAO,EAC5B,EAIO,MAAM2L,WAAkB,KAAM,CACjC,YAAYC,EAAclB,EAAO,GAAI,OACjC,MAAMmB,GAAW,IAAM,OACnB,OAAInB,EAAK,iBAAiBiB,GACfjB,EAAK,MAAM,SAClBvJ,EAAAuJ,EAAK,QAAL,MAAAvJ,EAAY,QACLuJ,EAAK,MAAM,QACfA,EAAK,OACxB,KACce,EACEf,EAAK,iBAAiBiB,IACfjB,EAAK,MAAM,UAAYA,EAAK,SAGrCoB,GAAU3K,EAAAoK,GAAY,aAAZ,YAAApK,EAAA,KAAAoK,GAAyB,CAAE,GAAGb,EAAM,SAAAe,CAAQ,GACtDM,EAAU,CACZH,GAAgB,qBAChB,GACA,GAAIlB,EAAK,aAAe,CAAC,GAAGA,EAAK,aAAc,EAAE,EAAI,CAAE,EACvD,GAAIoB,EAAU,CAAC,SAASA,CAAO,EAAE,EAAI,CAAE,EACvC,GAAID,EAAU,CAAC,YAAYA,CAAO,EAAE,EAAI,CAAE,EAC1C,GAAIN,GAAY,QAAU,CAAC,YAAYA,GAAY,OAAO,EAAE,EAAI,CAAE,CAC9E,EAAU,KAAK;AAAA,CAAI,EACX,MAAMQ,EAASrB,EAAK,MAAQ,CAAE,MAAOA,EAAK,OAAU,MAAS,EAC7D,OAAO,eAAe,KAAM,UAAW,CACnC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,OAAO,eAAe,KAAM,WAAY,CACpC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,OAAO,eAAe,KAAM,eAAgB,CACxC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,OAAO,eAAe,KAAM,eAAgB,CACxC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,OAAO,eAAe,KAAM,UAAW,CACnC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,OAAO,eAAe,KAAM,OAAQ,CAChC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,WACnB,CAAS,EACD,KAAK,QAAUmB,EACf,KAAK,SAAWJ,EAChB,KAAK,aAAef,EAAK,aACzB,KAAK,KAAOA,EAAK,MAAQ,KAAK,KAC9B,KAAK,aAAekB,EACpB,KAAK,QAAU5L,EAClB,CACD,KAAKgM,EAAI,CACL,OAAOC,GAAK,KAAMD,CAAE,CACvB,CACL,CACA,SAASC,GAAKC,EAAKF,EAAI,CACnB,OAAIA,GAAA,MAAAA,EAAKE,GACEA,EACPA,GACA,OAAOA,GAAQ,UACf,UAAWA,GACXA,EAAI,QAAU,OACPD,GAAKC,EAAI,MAAOF,CAAE,EACtBA,EAAK,KAAOE,CACvB,CCpFO,MAAMC,WAAoCR,EAAU,CACvD,YAAY,CAAE,KAAAL,EAAM,WAAAc,EAAY,KAAAC,CAAI,EAAK,CACrC,MAAM,GAAGA,EAAK,OAAO,CAAC,EAAE,YAAa,IAAGA,EACnC,MAAM,CAAC,EACP,aAAa,UAAUf,CAAI,2BAA2Bc,CAAU,KAAM,CAAE,KAAM,6BAA6B,CAAE,CACrH,CACL,CCXO,SAASE,GAAIC,EAAY,CAAE,IAAAC,EAAK,KAAAlB,EAAO,EAAI,EAAG,GAAI,CACrD,OAAI,OAAOiB,GAAe,SACfE,GAAOF,EAAY,CAAE,IAAAC,EAAK,KAAAlB,CAAM,GACpCoB,GAASH,EAAY,CAAE,IAAAC,EAAK,KAAAlB,CAAM,EAC7C,CACO,SAASmB,GAAOE,EAAM,CAAE,IAAAH,EAAK,KAAAlB,EAAO,EAAI,EAAG,GAAI,CAClD,GAAIA,IAAS,KACT,OAAOqB,EACX,MAAMC,EAAMD,EAAK,QAAQ,KAAM,EAAE,EACjC,GAAIC,EAAI,OAAStB,EAAO,EACpB,MAAM,IAAIa,GAA4B,CAClC,KAAM,KAAK,KAAKS,EAAI,OAAS,CAAC,EAC9B,WAAYtB,EACZ,KAAM,KAClB,CAAS,EACL,MAAO,KAAKsB,EAAIJ,IAAQ,QAAU,SAAW,UAAU,EAAElB,EAAO,EAAG,GAAG,CAAC,EAC3E,CACO,SAASoB,GAASG,EAAO,CAAE,IAAAL,EAAK,KAAAlB,EAAO,EAAI,EAAG,GAAI,CACrD,GAAIA,IAAS,KACT,OAAOuB,EACX,GAAIA,EAAM,OAASvB,EACf,MAAM,IAAIa,GAA4B,CAClC,KAAMU,EAAM,OACZ,WAAYvB,EACZ,KAAM,OAClB,CAAS,EACL,MAAMwB,EAAc,IAAI,WAAWxB,CAAI,EACvC,QAAS1I,EAAI,EAAGA,EAAI0I,EAAM1I,IAAK,CAC3B,MAAMmK,EAASP,IAAQ,QACvBM,EAAYC,EAASnK,EAAI0I,EAAO1I,EAAI,CAAC,EACjCiK,EAAME,EAASnK,EAAIiK,EAAM,OAASjK,EAAI,CAAC,CAC9C,CACD,OAAOkK,CACX,CCjCO,MAAME,WAA+BrB,EAAU,CAClD,YAAY,CAAE,IAAAsB,EAAK,IAAAC,EAAK,OAAAC,EAAQ,KAAA7B,EAAM,MAAAtH,GAAU,CAC5C,MAAM,WAAWA,CAAK,oBAAoBsH,EAAO,GAAGA,EAAO,CAAC,QAAQ6B,EAAS,SAAW,UAAU,IAAM,EAAE,iBAAiBF,EAAM,IAAIC,CAAG,OAAOD,CAAG,IAAM,UAAUC,CAAG,GAAG,GAAI,CAAE,KAAM,wBAAwB,CAAE,CACjN,CACL,CAkBO,MAAME,WAA0BzB,EAAU,CAC7C,YAAY,CAAE,UAAA0B,EAAW,QAAAC,GAAW,CAChC,MAAM,sBAAsBA,CAAO,uBAAuBD,CAAS,UAAW,CAAE,KAAM,mBAAmB,CAAE,CAC9G,CACL,CCvBO,SAASE,GAAWhB,EAAY,CAAEjB,QAAQ,CAC7C,GAAIkC,GAAMjB,CAAU,EAAIjB,EACpB,MAAM,IAAI8B,GAAkB,CACxB,UAAWI,GAAMjB,CAAU,EAC3B,QAASjB,CACrB,CAAS,CACT,CA6DO,SAASmC,GAAYb,EAAKc,EAAO,GAAI,CACxC,KAAM,CAAE,OAAAP,CAAQ,EAAGO,EACfA,EAAK,MACLH,GAAWX,EAAK,CAAE,KAAMc,EAAK,IAAM,GACvC,MAAM1J,EAAQ,OAAO4I,CAAG,EACxB,GAAI,CAACO,EACD,OAAOnJ,EACX,MAAMsH,GAAQsB,EAAI,OAAS,GAAK,EAC1BK,GAAO,IAAO,OAAO3B,CAAI,EAAI,GAAK,IAAO,GAC/C,OAAItH,GAASiJ,EACFjJ,EACJA,EAAQ,OAAO,KAAK,IAAI,SAASsH,EAAO,EAAG,GAAG,CAAC,EAAE,EAAI,EAChE,CAmDO,SAASqC,GAAYf,EAAKc,EAAO,GAAI,CACxC,OAAO,OAAOD,GAAYb,EAAKc,CAAI,CAAC,CACxC,CCrIA,MAAME,GAAsB,MAAM,KAAK,CAAE,OAAQ,GAAK,EAAE,CAACC,EAAIjL,IAAMA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EA0B3F,SAASkL,GAAM9J,EAAO0J,EAAO,GAAI,CACpC,OAAI,OAAO1J,GAAU,UAAY,OAAOA,GAAU,SACvC+J,GAAY/J,EAAO0J,CAAI,EAC9B,OAAO1J,GAAU,SACVgK,GAAYhK,EAAO0J,CAAI,EAE9B,OAAO1J,GAAU,UACViK,GAAUjK,EAAO0J,CAAI,EACzBQ,GAAWlK,EAAO0J,CAAI,CACjC,CAyBO,SAASO,GAAUjK,EAAO0J,EAAO,GAAI,CACxC,MAAMd,EAAM,KAAK,OAAO5I,CAAK,CAAC,GAC9B,OAAI,OAAO0J,EAAK,MAAS,UACrBH,GAAWX,EAAK,CAAE,KAAMc,EAAK,IAAM,GAC5BpB,GAAIM,EAAK,CAAE,KAAMc,EAAK,IAAI,CAAE,GAEhCd,CACX,CAoBO,SAASsB,GAAWlK,EAAO0J,EAAO,GAAI,CACzC,IAAIS,EAAS,GACb,QAASvL,EAAI,EAAGA,EAAIoB,EAAM,OAAQpB,IAC9BuL,GAAUP,GAAM5J,EAAMpB,CAAC,CAAC,EAE5B,MAAMgK,EAAM,KAAKuB,CAAM,GACvB,OAAI,OAAOT,EAAK,MAAS,UACrBH,GAAWX,EAAK,CAAE,KAAMc,EAAK,IAAM,GAC5BpB,GAAIM,EAAK,CAAE,IAAK,QAAS,KAAMc,EAAK,IAAI,CAAE,GAE9Cd,CACX,CAoBO,SAASmB,GAAYK,EAAQV,EAAO,GAAI,CAC3C,KAAM,CAAE,OAAAP,EAAQ,KAAA7B,CAAM,EAAGoC,EACnB1J,EAAQ,OAAOoK,CAAM,EAC3B,IAAIC,EACA/C,EACI6B,EACAkB,GAAY,IAAO,OAAO/C,CAAI,EAAI,GAAK,IAAO,GAE9C+C,EAAW,KAAO,OAAO/C,CAAI,EAAI,IAAM,GAEtC,OAAO8C,GAAW,WACvBC,EAAW,OAAO,OAAO,gBAAgB,GAE7C,MAAMC,EAAW,OAAOD,GAAa,UAAYlB,EAAS,CAACkB,EAAW,GAAK,EAC3E,GAAKA,GAAYrK,EAAQqK,GAAarK,EAAQsK,EAAU,CACpD,MAAMC,EAAS,OAAOH,GAAW,SAAW,IAAM,GAClD,MAAM,IAAIpB,GAAuB,CAC7B,IAAKqB,EAAW,GAAGA,CAAQ,GAAGE,CAAM,GAAK,OACzC,IAAK,GAAGD,CAAQ,GAAGC,CAAM,GACzB,OAAApB,EACA,KAAA7B,EACA,MAAO,GAAG8C,CAAM,GAAGG,CAAM,EACrC,CAAS,CACJ,CACD,MAAM3B,EAAM,MAAMO,GAAUnJ,EAAQ,GAAK,IAAM,OAAOsH,EAAO,CAAC,GAAK,OAAOtH,CAAK,EAAIA,GAAO,SAAS,EAAE,CAAC,GACtG,OAAIsH,EACOgB,GAAIM,EAAK,CAAE,KAAAtB,CAAM,GACrBsB,CACX,CACA,MAAM4B,GAAwB,IAAI,YAoB3B,SAASR,GAAYI,EAAQV,EAAO,GAAI,CAC3C,MAAM1J,EAAQwK,GAAQ,OAAOJ,CAAM,EACnC,OAAOF,GAAWlK,EAAO0J,CAAI,CACjC,CCxKA,MAAMc,GAAwB,IAAI,YA0B3B,SAASC,GAAQzK,EAAO0J,EAAO,GAAI,CACtC,OAAI,OAAO1J,GAAU,UAAY,OAAOA,GAAU,SACvC0K,GAAc1K,EAAO0J,CAAI,EAChC,OAAO1J,GAAU,UACV2K,GAAY3K,EAAO0J,CAAI,EAC9BtC,GAAMpH,CAAK,EACJ4K,GAAW5K,EAAO0J,CAAI,EAC1BmB,GAAc7K,EAAO0J,CAAI,CACpC,CAoBO,SAASiB,GAAY3K,EAAO0J,EAAO,GAAI,CAC1C,MAAMb,EAAQ,IAAI,WAAW,CAAC,EAE9B,OADAA,EAAM,CAAC,EAAI,OAAO7I,CAAK,EACnB,OAAO0J,EAAK,MAAS,UACrBH,GAAWV,EAAO,CAAE,KAAMa,EAAK,IAAM,GAC9BpB,GAAIO,EAAO,CAAE,KAAMa,EAAK,IAAI,CAAE,GAElCb,CACX,CAEA,MAAMiC,GAAc,CAChB,KAAM,GACN,KAAM,GACN,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACP,EACA,SAASC,GAAiBC,EAAM,CAC5B,GAAIA,GAAQF,GAAY,MAAQE,GAAQF,GAAY,KAChD,OAAOE,EAAOF,GAAY,KAC9B,GAAIE,GAAQF,GAAY,GAAKE,GAAQF,GAAY,EAC7C,OAAOE,GAAQF,GAAY,EAAI,IACnC,GAAIE,GAAQF,GAAY,GAAKE,GAAQF,GAAY,EAC7C,OAAOE,GAAQF,GAAY,EAAI,GAEvC,CAoBO,SAASF,GAAWjC,EAAMe,EAAO,GAAI,CACxC,IAAId,EAAMD,EACNe,EAAK,OACLH,GAAWX,EAAK,CAAE,KAAMc,EAAK,IAAM,GACnCd,EAAMN,GAAIM,EAAK,CAAE,IAAK,QAAS,KAAMc,EAAK,IAAI,CAAE,GAEpD,IAAIuB,EAAYrC,EAAI,MAAM,CAAC,EACvBqC,EAAU,OAAS,IACnBA,EAAY,IAAIA,CAAS,IAC7B,MAAMC,EAASD,EAAU,OAAS,EAC5BpC,EAAQ,IAAI,WAAWqC,CAAM,EACnC,QAASC,EAAQ,EAAGpJ,EAAI,EAAGoJ,EAAQD,EAAQC,IAAS,CAChD,MAAMC,EAAaL,GAAiBE,EAAU,WAAWlJ,GAAG,CAAC,EACvDsJ,EAAcN,GAAiBE,EAAU,WAAWlJ,GAAG,CAAC,EAC9D,GAAIqJ,IAAe,QAAaC,IAAgB,OAC5C,MAAM,IAAI1D,GAAU,2BAA2BsD,EAAUlJ,EAAI,CAAC,CAAC,GAAGkJ,EAAUlJ,EAAI,CAAC,CAAC,SAASkJ,CAAS,KAAK,EAE7GpC,EAAMsC,CAAK,EAAIC,EAAa,GAAKC,CACpC,CACD,OAAOxC,CACX,CAoBO,SAAS6B,GAAc1K,EAAO0J,EAAM,CACvC,MAAMd,EAAMmB,GAAY/J,EAAO0J,CAAI,EACnC,OAAOkB,GAAWhC,CAAG,CACzB,CAoBO,SAASiC,GAAc7K,EAAO0J,EAAO,GAAI,CAC5C,MAAMb,EAAQ2B,GAAQ,OAAOxK,CAAK,EAClC,OAAI,OAAO0J,EAAK,MAAS,UACrBH,GAAWV,EAAO,CAAE,KAAMa,EAAK,IAAM,GAC9BpB,GAAIO,EAAO,CAAE,IAAK,QAAS,KAAMa,EAAK,IAAI,CAAE,GAEhDb,CACX,CC3KO,SAASyC,GAAUtL,EAAOuL,EAAK,CAClC,MAAM9P,EAAK8P,GAAO,MACZ1C,EAAQ2C,GAAWpE,GAAMpH,EAAO,CAAE,OAAQ,EAAK,CAAE,EAAIyK,GAAQzK,CAAK,EAAIA,CAAK,EACjF,OAAIvE,IAAO,QACAoN,EACJiB,GAAMjB,CAAK,CACtB,CCLO,MAAM4C,WAAe,GAAI,CAC5B,YAAYnE,EAAM,CACd,QACA,OAAO,eAAe,KAAM,UAAW,CACnC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,KAAK,QAAUA,CAClB,CACD,IAAItI,EAAK,CACL,MAAMgB,EAAQ,MAAM,IAAIhB,CAAG,EAC3B,OAAI,MAAM,IAAIA,CAAG,GAAKgB,IAAU,SAC5B,KAAK,OAAOhB,CAAG,EACf,MAAM,IAAIA,EAAKgB,CAAK,GAEjBA,CACV,CACD,IAAIhB,EAAKgB,EAAO,CAEZ,GADA,MAAM,IAAIhB,EAAKgB,CAAK,EAChB,KAAK,SAAW,KAAK,KAAO,KAAK,QAAS,CAC1C,MAAM0L,EAAW,KAAK,KAAM,EAAC,KAAI,EAAG,MAChCA,GACA,KAAK,OAAOA,CAAQ,CAC3B,CACD,OAAO,IACV,CACL,CC5BA,MAAMC,GAAqC,IAAIF,GAAO,IAAI,EACnD,SAASG,GAAgBC,EAWhCC,EAAS,CACL,GAAIH,GAAqB,IAAI,GAAGE,CAAQ,IAAIC,CAAO,EAAE,EACjD,OAAOH,GAAqB,IAAI,GAAGE,CAAQ,IAAIC,CAAO,EAAE,EAC5D,MAAMC,EAAaD,EACb,GAAGA,CAAO,GAAGD,EAAS,YAAa,IACnCA,EAAS,UAAU,CAAC,EAAE,YAAW,EACjCG,EAAOV,GAAUT,GAAckB,CAAU,EAAG,OAAO,EACnDE,GAAWH,EAAUC,EAAW,UAAU,GAAGD,CAAO,KAAK,MAAM,EAAIC,GAAY,MAAM,EAAE,EAC7F,QAASnN,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACrBoN,EAAKpN,GAAK,CAAC,GAAK,GAAK,GAAKqN,EAAQrN,CAAC,IACnCqN,EAAQrN,CAAC,EAAIqN,EAAQrN,CAAC,EAAE,YAAW,IAElCoN,EAAKpN,GAAK,CAAC,EAAI,KAAS,GAAKqN,EAAQrN,EAAI,CAAC,IAC3CqN,EAAQrN,EAAI,CAAC,EAAIqN,EAAQrN,EAAI,CAAC,EAAE,eAGxC,MAAM2B,EAAS,KAAK0L,EAAQ,KAAK,EAAE,CAAC,GACpC,OAAAN,GAAqB,IAAI,GAAGE,CAAQ,IAAIC,CAAO,GAAIvL,CAAM,EAClDA,CACX,CC3BO,SAAS2L,GAAmBC,EAAW,CAC1C,MAAMF,EAAUX,GAAU,KAAKa,EAAU,UAAU,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,EACrE,OAAOP,GAAgB,KAAKK,CAAO,EAAE,CACzC,CCTO,eAAeG,GAAiB,CAAE,KAAAJ,EAAM,UAAAK,GAAc,CACzD,MAAMC,EAAUlF,GAAM4E,CAAI,EAAIA,EAAOlC,GAAMkC,CAAI,EACzC,CAAE,UAAAO,CAAW,EAAG,MAAMC,GAAA,WAAO,yBAAyB,4CAkB5D,MAAO,MAjBa,IAAM,CAEtB,GAAI,OAAOH,GAAc,UAAY,MAAOA,GAAa,MAAOA,EAAW,CACvE,KAAM,CAAE,EAAAlN,EAAG,EAAAV,EAAG,EAAAsC,EAAG,QAAA0L,CAAO,EAAKJ,EACvBK,EAAa,OAAOD,GAAW1L,CAAC,EAChC4L,EAAcC,GAAcF,CAAU,EAC5C,OAAO,IAAIH,EAAU,UAAU9C,GAAYtK,CAAC,EAAGsK,GAAYhL,CAAC,CAAC,EAAE,eAAekO,CAAW,CAC5F,CAED,MAAME,EAAezF,GAAMiF,CAAS,EAAIA,EAAYvC,GAAMuC,CAAS,EAC7DK,EAAa/C,GAAY,KAAKkD,EAAa,MAAM,GAAG,CAAC,EAAE,EACvDF,EAAcC,GAAcF,CAAU,EAC5C,OAAOH,EAAU,UAAU,YAAYM,EAAa,UAAU,EAAG,GAAG,CAAC,EAAE,eAAeF,CAAW,CACzG,KAES,iBAAiBL,EAAQ,UAAU,CAAC,CAAC,EACrC,MAAM,EAAK,CACK,EACzB,CACA,SAASM,GAAcF,EAAY,CAC/B,GAAIA,IAAe,GAAKA,IAAe,EACnC,OAAOA,EACX,GAAIA,IAAe,GACf,MAAO,GACX,GAAIA,IAAe,GACf,MAAO,GACX,MAAM,IAAI,MAAM,0BAA0B,CAC9C,CC/BO,eAAeI,GAAe,CAAE,KAAAd,EAAM,UAAAK,GAAc,CACvD,OAAOH,GAAmB,MAAME,GAAiB,CAAE,KAAMJ,EAAM,UAAAK,CAAW,EAAC,CAC/E,CCCA,SAASU,GAAMC,EAAU,CACvB,GAAIA,EAAS,QAAU,IAAO,MAAM,IAAI,UAAU,mBAAmB,EACrE,MAAMC,EAAW,IAAI,WAAW,GAAG,EACnC,QAASlL,EAAI,EAAGA,EAAIkL,EAAS,OAAQlL,IACnCkL,EAASlL,CAAC,EAAI,IAEhB,QAASnD,EAAI,EAAGA,EAAIoO,EAAS,OAAQpO,IAAK,CACxC,MAAMsO,EAAIF,EAAS,OAAOpO,CAAC,EACrBuO,EAAKD,EAAE,WAAW,CAAC,EACzB,GAAID,EAASE,CAAE,IAAM,IAAO,MAAM,IAAI,UAAUD,EAAI,eAAe,EACnED,EAASE,CAAE,EAAIvO,CAChB,CACD,MAAMwO,EAAOJ,EAAS,OAChBK,EAASL,EAAS,OAAO,CAAC,EAC1BM,EAAS,KAAK,IAAIF,CAAI,EAAI,KAAK,IAAI,GAAG,EACtCG,EAAU,KAAK,IAAI,GAAG,EAAI,KAAK,IAAIH,CAAI,EAC7C,SAASI,EAAQC,EAAQ,CAOvB,GALIA,aAAkB,aAAyB,YAAY,OAAOA,CAAM,EACtEA,EAAS,IAAI,WAAWA,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,EAClE,MAAM,QAAQA,CAAM,IAC7BA,EAAS,WAAW,KAAKA,CAAM,IAE7B,EAAEA,aAAkB,YAAe,MAAM,IAAI,UAAU,qBAAqB,EAChF,GAAIA,EAAO,SAAW,EAAK,MAAO,GAElC,IAAIC,EAAS,EACTxC,EAAS,EACTyC,EAAS,EACb,MAAMC,EAAOH,EAAO,OACpB,KAAOE,IAAWC,GAAQH,EAAOE,CAAM,IAAM,GAC3CA,IACAD,IAGF,MAAMpG,GAASsG,EAAOD,GAAUJ,EAAU,IAAO,EAC3CM,EAAM,IAAI,WAAWvG,CAAI,EAE/B,KAAOqG,IAAWC,GAAM,CACtB,IAAIE,EAAQL,EAAOE,CAAM,EAErB/O,EAAI,EACR,QAASmP,EAAMzG,EAAO,GAAIwG,IAAU,GAAKlP,EAAIsM,IAAY6C,IAAQ,GAAKA,IAAOnP,IAC3EkP,GAAU,IAAMD,EAAIE,CAAG,IAAO,EAC9BF,EAAIE,CAAG,EAAKD,EAAQV,IAAU,EAC9BU,EAASA,EAAQV,IAAU,EAE7B,GAAIU,IAAU,EAAK,MAAM,IAAI,MAAM,gBAAgB,EACnD5C,EAAStM,EACT+O,GACD,CAED,IAAIK,EAAM1G,EAAO4D,EACjB,KAAO8C,IAAQ1G,GAAQuG,EAAIG,CAAG,IAAM,GAClCA,IAGF,IAAIC,EAAMZ,EAAO,OAAOK,CAAM,EAC9B,KAAOM,EAAM1G,EAAM,EAAE0G,EAAOC,GAAOjB,EAAS,OAAOa,EAAIG,CAAG,CAAC,EAC3D,OAAOC,CACR,CACD,SAASC,EAAcT,EAAQ,CAC7B,GAAI,OAAOA,GAAW,SAAY,MAAM,IAAI,UAAU,iBAAiB,EACvE,GAAIA,EAAO,SAAW,EAAK,OAAO,IAAI,WACtC,IAAIU,EAAM,EAENT,EAAS,EACTxC,EAAS,EACb,KAAOuC,EAAOU,CAAG,IAAMd,GACrBK,IACAS,IAGF,MAAM7G,GAAUmG,EAAO,OAASU,GAAOb,EAAU,IAAO,EAClDc,EAAO,IAAI,WAAW9G,CAAI,EAEhC,KAAO6G,EAAMV,EAAO,QAAQ,CAE1B,MAAMY,EAAWZ,EAAO,WAAWU,CAAG,EAEtC,GAAIE,EAAW,IAAO,OAEtB,IAAIP,EAAQb,EAASoB,CAAQ,EAE7B,GAAIP,IAAU,IAAO,OACrB,IAAIlP,EAAI,EACR,QAAS0P,EAAMhH,EAAO,GAAIwG,IAAU,GAAKlP,EAAIsM,IAAYoD,IAAQ,GAAKA,IAAO1P,IAC3EkP,GAAUV,EAAOgB,EAAKE,CAAG,IAAO,EAChCF,EAAKE,CAAG,EAAKR,EAAQ,MAAS,EAC9BA,EAASA,EAAQ,MAAS,EAE5B,GAAIA,IAAU,EAAK,MAAM,IAAI,MAAM,gBAAgB,EACnD5C,EAAStM,EACTuP,GACD,CAED,IAAII,EAAMjH,EAAO4D,EACjB,KAAOqD,IAAQjH,GAAQ8G,EAAKG,CAAG,IAAM,GACnCA,IAEF,MAAMC,EAAM,IAAI,WAAWd,GAAUpG,EAAOiH,EAAI,EAChD,IAAIxM,EAAI2L,EACR,KAAOa,IAAQjH,GACbkH,EAAIzM,GAAG,EAAIqM,EAAKG,GAAK,EAEvB,OAAOC,CACR,CACD,SAASC,EAAQtE,EAAQ,CACvB,MAAMuE,EAASR,EAAa/D,CAAM,EAClC,GAAIuE,EAAU,OAAOA,EACrB,MAAM,IAAI,MAAM,WAAatB,EAAO,YAAY,CACjD,CACD,MAAO,CACL,OAAAI,EACA,aAAAU,EACA,OAAAO,CACD,CACH,CCzHA,IAAIzB,GAAW,6DACf,MAAe2B,MAAM3B,EAAQ,ECFvB4B,GAAgBC,GAAQ,KAAK,UAAUA,EAAM,CAACnO,EAAGV,IAAU,OAAOA,GAAU,SAAWA,EAAM,SAAQ,EAAK,IAAMA,CAAK,EACrH8O,GAAYC,GAAQ,CACtB,MAAMC,EAA0B,qQAC1BC,EAAiBF,EAAK,QAAQC,EAAyB,WAAa,EAC1E,OAAO,KAAK,MAAMC,EAAgB,CAACvO,EAAGV,IACL,OAAOA,GAAU,UAAYA,EAAM,MAAM,QAAQ,EAEnE,OAAOA,EAAM,UAAU,EAAGA,EAAM,OAAS,CAAC,CAAC,EAC/CA,CACV,CACL,EACO,SAASkP,GAAclP,EAAO,CACjC,GAAI,OAAOA,GAAU,SACjB,MAAM,IAAI,MAAM,wCAAwC,OAAOA,CAAK,EAAE,EAE1E,GAAI,CACA,OAAO8O,GAAU9O,CAAK,CACzB,MACU,CACP,OAAOA,CACV,CACL,CACO,SAASmP,GAAkBnP,EAAO,CACrC,OAAO,OAAOA,GAAU,SAAWA,EAAQ4O,GAAc5O,CAAK,GAAK,EACvE,CCxByI,SAASoP,GAAG5Q,EAAE,CAAQ,OAAAA,aAAa,YAAY,YAAY,OAAOA,CAAC,GAAGA,EAAE,YAAY,OAAO,YAAY,CAAC,SAAS6Q,GAAG7Q,KAAK,EAAE,CAAI,IAAC4Q,GAAG5Q,CAAC,EAAQ,UAAI,MAAM,qBAAqB,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,SAASA,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,iCAAiC,EAAE,gBAAgBA,EAAE,MAAM,CAAC,CAAC,SAAS8Q,GAAG9Q,EAAE,EAAE,GAAG,CAAC,GAAGA,EAAE,UAAgB,UAAI,MAAM,kCAAkC,EAAE,GAAG,GAAGA,EAAE,SAAe,UAAI,MAAM,uCAAuC,CAAC,CAAC,SAAS+Q,GAAG/Q,EAAE,EAAE,CAAC6Q,GAAG7Q,CAAC,EAAE,MAAME,EAAE,EAAE,UAAU,GAAGF,EAAE,OAAOE,EAAQ,UAAI,MAAM,yDAAyDA,CAAC,CAAC,CAAC,MAAM8Q,GAAG,OAAO,YAAY,UAAU,WAAW,WAAW,WAAW,OAAO,OAAO,sEAAsE,MAAMC,MAAM,IAAI,SAASjR,EAAE,OAAOA,EAAE,WAAWA,EAAE,UAAU,EAAE,SAASkR,GAAGlR,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,oCAAoC,OAAOA,CAAC,EAAE,OAAO,IAAI,WAAW,IAAI,YAAc,SAAOA,CAAC,CAAC,CAAC,CAAC,SAASmR,GAAGnR,EAAE,CAAQ,cAAOA,GAAG,WAAWA,EAAEkR,GAAGlR,CAAC,GAAG6Q,GAAG7Q,CAAC,EAAEA,CAAC,CAAC,IAAAoR,GAAA,KAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,YAAY,CAAC,EAAC,SAASC,GAAGrR,EAAE,CAAC,MAAM,EAAEW,GAAGX,EAAE,EAAE,OAAOmR,GAAGxQ,CAAC,CAAC,EAAE,SAAST,EAAEF,EAAE,EAAE,OAAO,EAAE,UAAUE,EAAE,UAAU,EAAE,SAASA,EAAE,SAAS,EAAE,OAAO,IAAIF,EAAA,EAAI,CAAC,CAAC,SAASsR,GAAGtR,EAAE,GAAG,CAAI,GAAAgR,IAAI,OAAOA,GAAG,iBAAiB,WAAW,OAAOA,GAAG,gBAAgB,IAAI,WAAWhR,CAAC,CAAC,EAAK,GAAAgR,IAAI,OAAOA,GAAG,aAAa,WAAkB,OAAAA,GAAG,YAAYhR,CAAC,EAAQ,UAAI,MAAM,wCAAwC,CAAC,CAAC,SAASuR,GAAGvR,EAAE,EAAEE,EAAES,EAAE,CAAI,UAAOX,EAAE,cAAc,WAAW,OAAOA,EAAE,aAAa,EAAEE,EAAES,CAAC,EAAQ,MAAA+B,EAAE,OAAO,EAAE,EAAEzC,EAAE,OAAO,UAAU,EAAEqD,EAAE,OAAOpD,GAAGwC,EAAEzC,CAAC,EAAEuR,EAAE,OAAOtR,EAAED,CAAC,EAAEG,EAAEO,EAAE,EAAE,EAAE8Q,EAAE9Q,EAAE,EAAE,EAAIX,EAAA,UAAU,EAAEI,EAAEkD,EAAE3C,CAAC,EAAEX,EAAE,UAAU,EAAEyR,EAAED,EAAE7Q,CAAC,CAAC,QAAC,cAAiB+Q,EAAE,CAAC,YAAY,EAAExR,EAAES,EAAE+B,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE,KAAK,UAAUxC,EAAE,KAAK,UAAUS,EAAE,KAAK,KAAK+B,EAAE,KAAK,SAAS,GAAG,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,GAAG,KAAK,OAAO,IAAI,WAAW,CAAC,EAAE,KAAK,KAAKuO,GAAG,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAACH,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK5Q,EAAE,OAAOS,EAAE,SAAS+B,CAAG,OAAK,EAAEyO,GAAG,CAAC,EAAE,MAAMlR,EAAE,EAAE,OAAe,QAAAqD,EAAE,EAAEA,EAAErD,GAAG,CAAC,MAAMuR,EAAE,KAAK,IAAI9O,EAAE,KAAK,IAAIzC,EAAEqD,CAAC,EAAE,GAAGkO,IAAI9O,EAAE,CAAO,MAAAtC,EAAE6Q,GAAG,CAAC,EAAO,KAAAvO,GAAGzC,EAAEqD,EAAEA,GAAGZ,EAAO,aAAQtC,EAAEkD,CAAC,EAAE,QAAQ,CAAG3C,EAAA,IAAI,EAAE,SAAS2C,EAAEA,EAAEkO,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,KAAKA,EAAElO,GAAGkO,EAAE,KAAK,MAAM9O,IAAI,KAAK,QAAQxC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,OAAO,KAAK,WAAa,MAAI,CAAC,WAAW,EAAE,CAAC4Q,GAAG,IAAI,EAAEC,GAAG,EAAE,IAAI,EAAE,KAAK,SAAS,GAAQ,MAAC,OAAO7Q,EAAE,KAAKS,EAAE,SAAS+B,EAAE,KAAKzC,CAAG,OAAQ,IAAC,IAAIqD,CAAG,OAAOpD,EAAAoD,GAAG,EAAE,IAAI,KAAK,OAAO,SAASA,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,UAAUZ,EAAEY,IAAI,KAAK,QAAQ3C,EAAE,CAAC,EAAE2C,EAAE,GAAW,UAAEA,EAAE,EAAEZ,EAAE,IAAIxC,EAAE,CAAC,EAAE,EAAEqR,GAAG5Q,EAAE+B,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAAEzC,CAAC,EAAE,KAAK,QAAQU,EAAE,CAAC,EAAE,MAAM6Q,EAAEP,GAAG,CAAC,EAAE7Q,EAAE,KAAK,UAAU,GAAGA,EAAE,EAAQ,UAAI,MAAM,6CAA6C,EAAE,MAAMqR,EAAErR,EAAE,EAAEM,EAAE,KAAK,MAAM,GAAG+Q,EAAE/Q,EAAE,OAAa,UAAI,MAAM,oCAAoC,EAAU,UAAE,EAAE,EAAE+Q,EAAE,IAAID,EAAE,UAAU,EAAE,EAAE9Q,EAAE,CAAC,EAAET,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,UAAUC,GAAG,KAAK,KAAK,WAAW,CAAC,EAAE,MAAMS,EAAE,EAAE,MAAM,EAAET,CAAC,EAAS,YAAK,QAAU,EAAAS,CAAC,CAAC,WAAW,EAAE,CAAK,MAAE,IAAI,KAAK,aAAa,EAAE,IAAI,GAAG,KAAK,IAAK,GAAE,KAAK,CAAC,SAAST,EAAE,OAAOS,EAAE,OAAO+B,EAAE,SAASzC,EAAE,UAAUqD,EAAE,IAAIkO,GAAG,KAAK,OAAO,EAAE,OAAO9O,EAAE,EAAE,IAAI8O,EAAE,EAAE,SAASvR,EAAE,EAAE,UAAUqD,EAAEZ,EAAExC,GAAG,EAAE,OAAO,IAAIS,CAAC,EAAE,CAAC,CAAC,EAAC,MAAMgR,GAAG,OAAO,GAAG,GAAG,CAAC,EAAEC,GAAG,OAAO,EAAE,EAAE,SAASC,GAAG7R,EAAE,EAAE,GAAG,CAAQ,SAAE,CAAC,EAAE,OAAOA,EAAE2R,EAAE,EAAE,EAAE,OAAO3R,GAAG4R,GAAGD,EAAE,CAAG,GAAC,EAAE,OAAO3R,GAAG4R,GAAGD,EAAE,EAAE,EAAE,EAAE,OAAO3R,EAAE2R,EAAE,EAAE,CAAC,CAAC,CAAC,SAASG,GAAG9R,EAAE,EAAE,GAAG,CAAK,IAAAE,EAAE,IAAI,YAAYF,EAAE,MAAM,EAAEW,EAAE,IAAI,YAAYX,EAAE,MAAM,EAAE,QAAQ0C,EAAE,EAAEA,EAAE1C,EAAE,OAAO0C,IAAI,CAAM,MAAC,EAAEzC,EAAE,EAAEqD,CAAA,EAAGuO,GAAG7R,EAAE0C,CAAC,EAAE,CAAC,EAAG,CAAAxC,EAAEwC,CAAC,EAAE/B,EAAE+B,CAAC,CAAC,EAAE,CAACzC,EAAEqD,CAAC,CAAC,CAAO,OAACpD,EAAES,CAAC,CAAC,CAAC,MAAMoR,GAAG,CAAC/R,EAAE,IAAI,OAAOA,IAAI,CAAC,GAAG4R,GAAG,OAAO,IAAI,CAAC,EAAEI,GAAG,CAAChS,EAAE,EAAEE,IAAIF,IAAIE,EAAE+R,GAAG,CAACjS,EAAE,EAAEE,IAAIF,GAAG,GAAGE,EAAE,IAAIA,EAAEgS,GAAG,CAAClS,EAAE,EAAEE,IAAIF,IAAIE,EAAE,GAAG,GAAGA,EAAEiS,GAAG,CAACnS,EAAE,EAAEE,IAAIF,GAAG,GAAGE,EAAE,IAAIA,EAAEkS,GAAG,CAACpS,EAAE,EAAEE,IAAIF,GAAG,GAAGE,EAAE,IAAIA,EAAE,GAAGmS,GAAG,CAACrS,EAAE,EAAEE,IAAIF,IAAIE,EAAE,GAAG,GAAG,GAAGA,EAAEoS,GAAG,CAACtS,EAAE,IAAI,EAAEuS,GAAG,CAACvS,EAAE,IAAIA,EAAEwS,GAAG,CAACxS,EAAE,EAAEE,IAAIF,GAAGE,EAAE,IAAI,GAAGA,EAAEuS,GAAG,CAACzS,EAAE,EAAEE,IAAI,GAAGA,EAAEF,IAAI,GAAGE,EAAEwS,GAAG,CAAC1S,EAAE,EAAEE,IAAI,GAAGA,EAAE,GAAGF,IAAI,GAAGE,EAAEyS,GAAG,CAAC3S,EAAE,EAAEE,IAAIF,GAAGE,EAAE,GAAG,IAAI,GAAGA,EAAE,SAAS0S,GAAG5S,EAAE,EAAEE,EAAES,EAAE,CAAO,MAAA+B,GAAG,IAAI,IAAI/B,IAAI,GAAS,OAAC,EAAEX,EAAEE,GAAGwC,EAAE,GAAG,GAAG,GAAG,EAAE,EAAEA,EAAE,CAAC,CAAC,CAAC,MAAMmQ,GAAG,CAAC7S,EAAE,EAAEE,KAAKF,IAAI,IAAI,IAAI,IAAIE,IAAI,GAAG4S,GAAG,CAAC9S,EAAE,EAAEE,EAAES,IAAI,EAAET,EAAES,GAAGX,EAAE,GAAG,GAAG,GAAG,EAAE+S,GAAG,CAAC/S,EAAE,EAAEE,EAAES,KAAKX,IAAI,IAAI,IAAI,IAAIE,IAAI,IAAIS,IAAI,GAAGqS,GAAG,CAAChT,EAAE,EAAEE,EAAES,EAAE+B,IAAI,EAAExC,EAAES,EAAE+B,GAAG1C,EAAE,GAAG,GAAG,GAAG,EAAEiT,GAAG,CAACjT,EAAE,EAAEE,EAAES,EAAE+B,KAAK1C,IAAI,IAAI,IAAI,IAAIE,IAAI,IAAIS,IAAI,IAAI+B,IAAI,GAAGwQ,GAAG,CAAClT,EAAE,EAAEE,EAAES,EAAE+B,EAAEzC,IAAI,EAAEC,EAAES,EAAE+B,EAAEzC,GAAGD,EAAE,GAAG,GAAG,GAAG,EAAE0O,EAAE,CAAC,QAAQmD,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAMC,GAAG,OAAOC,GAAG,OAAOC,GAAG,OAAOC,GAAG,OAAOC,GAAG,QAAQC,GAAG,QAAQC,GAAG,OAAOC,GAAG,OAAOC,GAAG,OAAOC,GAAG,OAAOC,GAAG,IAAIC,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAMC,GAAG,MAAME,GAAG,MAAMD,EAAA,EAAI,CAACE,GAAGC,EAAE,EAAO1E,EAAE,MAAM,CAAC,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,oBAAoB,EAAE,IAAI1O,GAAG,OAAOA,CAAC,CAAC,CAAC,EAAKqB,GAAE,IAAI,YAAY,EAAE,EAAEgS,GAAE,IAAI,YAAY,EAAE,SAAE,cAAiBC,EAAE,CAAC,aAAa,CAAO,UAAI,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,WAAW,KAAK,GAAG,WAAW,KAAK,GAAG,YAAY,KAAK,GAAG,YAAY,KAAK,GAAG,WAAW,KAAK,GAAG,UAAU,KAAK,GAAG,YAAY,KAAK,GAAG,WAAW,KAAK,GAAG,WAAW,KAAK,GAAG,YAAY,KAAK,GAAG,YAAY,KAAK,GAAG,UAAU,KAAK,GAAG,UAAU,KAAK,GAAG,UAAU,KAAK,GAAG,WAAW,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAGpT,EAAE,GAAGS,EAAE,GAAG+B,EAAE,GAAGzC,EAAE,GAAGqD,EAAE,GAAGkO,EAAE,GAAGpR,EAAE,GAAGqR,EAAE,GAAG/Q,EAAE,GAAG,EAAE,GAAGd,EAAE,GAAG2T,EAAE,GAAGC,EAAE,GAAGnR,EAAE,GAAGoR,CAAG,OAAK,MAAM,CAAC,EAAEvT,EAAES,EAAE+B,EAAEzC,EAAEqD,EAAEkO,EAAEpR,EAAEqR,EAAE/Q,EAAE,EAAEd,EAAE2T,EAAEC,EAAEnR,EAAEoR,CAAC,CAAC,CAAC,IAAI,EAAEvT,EAAES,EAAE+B,EAAEzC,EAAEqD,EAAEkO,EAAEpR,EAAEqR,EAAE/Q,EAAE,EAAEd,EAAE2T,EAAEC,EAAEnR,EAAEoR,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,GAAGvT,EAAE,EAAE,KAAK,GAAGS,EAAE,EAAE,KAAK,GAAG+B,EAAE,EAAE,KAAK,GAAGzC,EAAE,EAAE,KAAK,GAAGqD,EAAE,EAAE,KAAK,GAAGkO,EAAE,EAAE,KAAK,GAAGpR,EAAE,EAAE,KAAK,GAAGqR,EAAE,EAAE,KAAK,GAAG/Q,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAGd,EAAE,EAAE,KAAK,GAAG2T,EAAE,EAAE,KAAK,GAAGC,EAAE,EAAE,KAAK,GAAGnR,EAAE,EAAE,KAAK,GAAGoR,EAAE,CAAC,CAAC,QAAQ,EAAEvT,EAAE,CAAC,QAAQR,EAAE,EAAEA,EAAE,GAAGA,IAAIQ,GAAG,EAAEmB,GAAE3B,CAAC,EAAE,EAAE,UAAUQ,CAAC,EAAEmT,GAAE3T,CAAC,EAAE,EAAE,UAAUQ,GAAG,CAAC,EAAE,QAAQR,EAAE,GAAGA,EAAE,GAAGA,IAAI,CAAC,MAAMiD,EAAEtB,GAAE3B,EAAE,EAAE,EAAE,EAAEgU,EAAEL,GAAE3T,EAAE,EAAE,EAAE,EAAEiE,EAAE+K,EAAE,OAAO/L,EAAE+Q,EAAE,CAAC,EAAEhF,EAAE,OAAO/L,EAAE+Q,EAAE,CAAC,EAAEhF,EAAE,MAAM/L,EAAE+Q,EAAE,CAAC,EAAEC,EAAEjF,EAAE,OAAO/L,EAAE+Q,EAAE,CAAC,EAAEhF,EAAE,OAAO/L,EAAE+Q,EAAE,CAAC,EAAEhF,EAAE,MAAM/L,EAAE+Q,EAAE,CAAC,EAAEE,EAAEvS,GAAE3B,EAAE,CAAC,EAAE,EAAEmU,EAAER,GAAE3T,EAAE,CAAC,EAAE,EAAEoU,EAAGpF,EAAE,OAAOkF,EAAEC,EAAE,EAAE,EAAEnF,EAAE,OAAOkF,EAAEC,EAAE,EAAE,EAAEnF,EAAE,MAAMkF,EAAEC,EAAE,CAAC,EAAEE,EAAGrF,EAAE,OAAOkF,EAAEC,EAAE,EAAE,EAAEnF,EAAE,OAAOkF,EAAEC,EAAE,EAAE,EAAEnF,EAAE,MAAMkF,EAAEC,EAAE,CAAC,EAAEG,EAAGtF,EAAE,MAAMiF,EAAEI,EAAGV,GAAE3T,EAAE,CAAC,EAAE2T,GAAE3T,EAAE,EAAE,CAAC,EAAEuU,EAAGvF,EAAE,MAAMsF,EAAGrQ,EAAEmQ,EAAGzS,GAAE3B,EAAE,CAAC,EAAE2B,GAAE3B,EAAE,EAAE,CAAC,EAAE2B,GAAE3B,CAAC,EAAEuU,EAAG,EAAEZ,GAAE3T,CAAC,EAAEsU,EAAG,CAAC,CAAC,GAAG,CAAC,GAAGrT,EAAE,GAAG+B,EAAE,GAAGzC,EAAE,GAAGqD,EAAE,GAAGkO,EAAE,GAAGpR,EAAE,GAAGqR,EAAE,GAAG/Q,EAAE,GAAG,EAAE,GAAGd,EAAE,GAAG2T,EAAE,GAAGC,EAAE,GAAGnR,EAAE,GAAGoR,EAAE,GAAGlR,EAAE,GAAG2R,CAAG,OAAK,QAAQxU,EAAE,EAAEA,EAAE,GAAGA,IAAI,CAAC,MAAMiD,EAAE+L,EAAE,OAAO,EAAE9O,EAAE,EAAE,EAAE8O,EAAE,OAAO,EAAE9O,EAAE,EAAE,EAAE8O,EAAE,OAAO,EAAE9O,EAAE,EAAE,EAAE8T,EAAEhF,EAAE,OAAO,EAAE9O,EAAE,EAAE,EAAE8O,EAAE,OAAO,EAAE9O,EAAE,EAAE,EAAE8O,EAAE,OAAO,EAAE9O,EAAE,EAAE,EAAE+D,EAAE,EAAE4P,EAAE,CAAC,EAAElR,EAAEsR,EAAE/T,EAAE4T,EAAE,CAAC5T,EAAE6T,EAAEG,EAAElF,EAAE,MAAMwF,EAAER,EAAEC,EAAEP,GAAG1T,CAAC,EAAE2T,GAAE3T,CAAC,CAAC,EAAEmU,EAAEnF,EAAE,MAAMkF,EAAErR,EAAEI,EAAEgB,EAAEwP,GAAGzT,CAAC,EAAE2B,GAAE3B,CAAC,CAAC,EAAEoU,EAAGF,EAAE,EAAEG,EAAGrF,EAAE,OAAO/N,EAAE+B,EAAE,EAAE,EAAEgM,EAAE,OAAO/N,EAAE+B,EAAE,EAAE,EAAEgM,EAAE,OAAO/N,EAAE+B,EAAE,EAAE,EAAEsR,EAAGtF,EAAE,OAAO/N,EAAE+B,EAAE,EAAE,EAAEgM,EAAE,OAAO/N,EAAE+B,EAAE,EAAE,EAAEgM,EAAE,OAAO/N,EAAE+B,EAAE,EAAE,EAAEuR,EAAGtT,EAAEV,EAAEU,EAAE6Q,EAAEvR,EAAEuR,EAAE2C,EAAGzR,EAAEY,EAAEZ,EAAEtC,EAAEkD,EAAElD,EAAImC,EAAAF,EAAE,EAAE6R,EAAET,EAAE,EAAEpR,EAAEkR,EAAE,EAAEE,EAAED,EAAE,EAAED,EAAE,EAAE,EAAEC,EAAE5T,EAAE,EAAE,CAAC,EAAE,EAAE,EAAEA,GAAG8O,EAAE,IAAI+C,EAAE,EAAE/Q,EAAE,EAAEmT,EAAE,EAAEC,EAAG,CAAC,EAAErC,EAAED,EAAE,EAAE9Q,EAAEN,EAAE,EAAEoR,EAAEvR,EAAE,EAAEG,EAAEkD,EAAE,EAAErD,EAAEU,EAAE,EAAE2C,EAAEZ,EAAE,EAAE,MAAM0R,EAAG1F,EAAE,MAAMoF,EAAGE,EAAGG,CAAE,EAAIxT,EAAA+N,EAAE,MAAM0F,EAAGP,EAAEE,EAAGE,CAAE,EAAEvR,EAAE0R,EAAG,CAAC,EAAE,CAAC,EAAEzT,EAAE,EAAE+B,CAAA,EAAGgM,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE/N,EAAE,EAAE+B,EAAE,CAAC,GAAG,CAAC,EAAEzC,EAAE,EAAEqD,CAAA,EAAGoL,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAEzO,EAAE,EAAEqD,EAAE,CAAC,EAAE,CAAC,EAAEkO,EAAE,EAAEpR,CAAA,EAAGsO,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE8C,EAAE,EAAEpR,EAAE,CAAC,EAAE,CAACqR,EAAI,EAAE/Q,CAAA,EAAGgO,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE+C,EAAE,EAAE/Q,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAEd,CAAA,EAAG8O,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE9O,EAAE,CAAC,EAAE,CAAC,EAAE2T,EAAE,EAAEC,GAAG9E,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE6E,EAAE,EAAEC,EAAE,CAAC,EAAE,CAAC,EAAEnR,EAAE,EAAEoR,GAAG/E,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAErM,EAAE,EAAEoR,EAAE,CAAC,EAAE,CAAC,EAAElR,EAAE,EAAE2R,CAAA,EAAGxF,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAEnM,EAAE,EAAE2R,EAAE,CAAC,EAAE,KAAK,IAAIvT,EAAE+B,EAAEzC,EAAEqD,EAAEkO,EAAEpR,EAAEqR,EAAE/Q,EAAE,EAAEd,EAAE2T,EAAEC,EAAEnR,EAAEoR,EAAElR,EAAE2R,CAAC,CAAC,CAAC,YAAY,CAAC7S,GAAE,KAAK,CAAC,EAAEgS,GAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAM,YAAO,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAC,MAAMgB,GAAGhD,GAAG,IAAI,IAAIiD,EAAE,EAAE,sEAAsE,MAAMC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAE,SAASC,GAAG1U,EAAE,CAAQ,OAAAA,aAAa,YAAY,YAAY,OAAOA,CAAC,GAAGA,EAAE,YAAY,OAAO,YAAY,CAAC,SAAS2U,GAAG3U,EAAE,CAAI,IAAC0U,GAAG1U,CAAC,EAAQ,UAAI,MAAM,qBAAqB,CAAC,CAAC,SAAS4U,GAAG5U,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI,MAAMA,EAAE,0BAA0B,CAAC,CAAC,CAAC,MAAM6U,GAAG,MAAM,KAAK,CAAC,OAAO,GAAK,GAAC7U,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,SAAS8U,GAAG9U,EAAE,CAAC2U,GAAG3U,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAO,GAAA2U,GAAG7U,EAAEE,CAAC,CAAC,EAAS,QAAC,CAAC,SAAS6U,GAAG/U,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,4BAA4B,OAAOA,CAAC,EAAE,OAAOA,IAAI,GAAGuU,GAAG,OAAO,KAAKvU,CAAC,CAAC,CAAC,MAAMgV,GAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAASC,GAAGjV,EAAE,CAAC,GAAGA,GAAGgV,GAAE,IAAIhV,GAAGgV,GAAE,GAAG,OAAOhV,EAAEgV,GAAE,GAAG,GAAGhV,GAAGgV,GAAE,GAAGhV,GAAGgV,GAAE,EAAS,OAAAhV,GAAGgV,GAAE,EAAE,IAAI,GAAGhV,GAAGgV,GAAE,GAAGhV,GAAGgV,GAAE,EAAS,OAAAhV,GAAGgV,GAAE,EAAE,GAAG,CAAC,SAASE,GAAGlV,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,4BAA4B,OAAOA,CAAC,EAAE,MAAM,EAAEA,EAAE,OAAOE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAQ,UAAI,MAAM,mDAAmD,CAAC,EAAQ,MAAAS,EAAE,IAAI,WAAWT,CAAC,EAAU,QAAAwC,EAAE,EAAEzC,EAAE,EAAEyC,EAAExC,EAAEwC,IAAIzC,GAAG,EAAE,CAAC,MAAMqD,EAAE2R,GAAGjV,EAAE,WAAWC,CAAC,CAAC,EAAEuR,EAAEyD,GAAGjV,EAAE,WAAWC,EAAE,CAAC,CAAC,EAAK,GAAAqD,IAAI,QAAQkO,IAAI,OAAO,CAAC,MAAMpR,EAAEJ,EAAEC,CAAC,EAAED,EAAEC,EAAE,CAAC,EAAE,MAAM,IAAI,MAAM,+CAA+CG,EAAE,cAAcH,CAAC,CAAC,CAAGU,EAAA+B,CAAC,EAAEY,EAAE,GAAGkO,CAAC,CAAQ,OAAA7Q,CAAC,CAAC,SAASwU,GAAGnV,EAAE,CAAQ,OAAA+U,GAAGD,GAAG9U,CAAC,CAAC,CAAC,CAAC,SAASoV,GAAGpV,EAAE,CAAQ,OAAA2U,GAAG3U,CAAC,EAAE+U,GAAGD,GAAG,WAAW,KAAK9U,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAASqV,GAAGrV,EAAE,EAAE,CAAQ,OAAAkV,GAAGlV,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,SAASsV,GAAGtV,EAAE,EAAE,CAAC,OAAOqV,GAAGrV,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,SAASuV,GAAEvV,EAAE,EAAEE,EAAE,CAAK,IAAAS,EAAE,GAAG,OAAO,GAAG,SAAY,IAACA,EAAEuU,GAAG,CAAC,QAAQjV,EAAE,CAAC,MAAM,IAAI,MAAMD,EAAE,6CAA6CC,CAAC,CAAC,SAASyU,GAAG,CAAC,EAAI/T,EAAA,WAAW,KAAK,CAAC,MAAa,WAAI,MAAMX,EAAE,mCAAmC,EAAE,MAAM0C,EAAE/B,EAAE,OAAU,UAAOT,GAAG,UAAUwC,IAAIxC,EAAE,MAAM,IAAI,MAAMF,EAAE,cAAcE,EAAE,kBAAkBwC,CAAC,EAAS,OAAA/B,CAAC,CAAC,SAAS6U,MAAMxV,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQW,EAAE,EAAEA,EAAEX,EAAE,OAAOW,IAAI,CAAO,MAAA+B,EAAE1C,EAAEW,CAAC,EAAKgU,GAAAjS,CAAC,EAAE,GAAGA,EAAE,MAAM,CAAO,MAAAxC,EAAE,IAAI,WAAW,CAAC,EAAE,QAAQS,EAAE,EAAE+B,EAAE,EAAE/B,EAAEX,EAAE,OAAOW,IAAI,CAAO,MAAAV,EAAED,EAAEW,CAAC,EAAET,EAAE,IAAID,EAAEyC,CAAC,EAAEA,GAAGzC,EAAE,MAAM,CAAQ,OAAAC,CAAC,CAAC,MAAMuV,GAAGzV,GAAG,OAAOA,GAAG,UAAUuU,IAAIvU,EAAE,SAAS0V,GAAG1V,EAAE,EAAEE,EAAE,CAAQ,OAAAuV,GAAGzV,CAAC,GAAGyV,GAAG,CAAC,GAAGA,GAAGvV,CAAC,GAAG,GAAGF,GAAGA,EAAEE,CAAC,CAAC,SAASyV,GAAG3V,EAAE,EAAEE,EAAES,EAAE,CAAC,GAAG,CAAC+U,GAAG,EAAExV,EAAES,CAAC,EAAQ,UAAI,MAAM,kBAAkBX,EAAE,KAAKE,EAAE,WAAWS,EAAE,SAAS,CAAC,CAAC,CAAC,SAASiV,GAAG5V,EAAE,CAAK,MAAE,IAAI,EAAE,EAAEA,EAAEuU,GAAGvU,IAAIwU,GAAG,GAAG,EAAE,CAAQ,QAAC,CAAC,MAAMqB,GAAG7V,IAAIyU,IAAI,OAAOzU,EAAE,CAAC,GAAGwU,GAAGsB,GAAG,CAAC,OAAU9V,GAAA,OAAOA,GAAG,SAAS,SAAYA,GAAA,OAAOA,GAAG,WAAW,QAAQA,GAAG,OAAOA,GAAG,UAAU,OAAOA,GAAG,OAAOA,GAAG,SAAS,sBAAsB,OAAOA,GAAG,UAAU0U,GAAG1U,CAAC,EAAE,cAAcA,GAAG,OAAO,cAAcA,CAAC,EAAE,MAASA,GAAA,MAAM,QAAQA,CAAC,EAAE,MAAM,CAACA,EAAE,IAAI,EAAE,GAAG,QAAQA,CAAC,EAAE,KAAKA,GAAG,OAAOA,GAAG,YAAY,OAAO,cAAcA,EAAE,SAAS,GAAG,SAAS+V,GAAG/V,EAAE,EAAEE,EAAE,GAAG,CAAC,MAAMS,EAAE,CAAC+B,EAAEzC,EAAEqD,IAAI,CAAO,MAAAkO,EAAEsE,GAAG7V,CAAC,EAAE,GAAG,OAAOuR,GAAG,WAAiB,UAAI,MAAM,4BAA4B,EAAQ,MAAApR,EAAEJ,EAAE0C,CAAC,EAAE,GAAG,EAAEY,GAAGlD,IAAI,SAAS,CAACoR,EAAEpR,EAAEJ,CAAC,EAAQ,UAAI,MAAM,SAAS,OAAO0C,CAAC,EAAE,yBAAyBzC,EAAE,SAASG,CAAC,GAAG,SAAS,CAACsC,EAAEzC,CAAC,IAAI,OAAO,QAAQ,CAAC,EAAIU,EAAA+B,EAAEzC,EAAE,EAAE,EAAE,SAAS,CAACyC,EAAEzC,CAAC,IAAI,OAAO,QAAQC,CAAC,EAAIS,EAAA+B,EAAEzC,EAAE,EAAE,EAAS,OAAAD,CAAC,CAAC,SAASgW,GAAGhW,EAAE,CAAC,MAAM,EAAM,YAAc,OAACE,KAAKS,IAAI,CAAO,MAAA+B,EAAE,EAAE,IAAIxC,CAAC,EAAE,GAAGwC,IAAI,OAAc,OAAAA,EAAE,MAAMzC,EAAED,EAAEE,EAAE,GAAGS,CAAC,EAAE,OAAO,EAAE,IAAIT,EAAED,CAAC,EAAEA,CAAA,CAAE,CAAC,MAAMgW,GAAE,OAAO,CAAC,EAAEC,GAAE,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAE,SAASC,GAAExW,EAAE,EAAE,CAAC,MAAME,EAAEF,EAAE,EAAS,OAAAE,GAAG+V,GAAE/V,EAAE,EAAEA,CAAC,CAAC,SAASuW,GAAGzW,EAAE,EAAEE,EAAE,CAAC,GAAG,EAAE+V,GAAQ,UAAI,MAAM,yCAAyC,EAAE,GAAG/V,GAAG+V,GAAQ,UAAI,MAAM,iBAAiB,EAAE,GAAG/V,IAAIgW,GAAS,OAAAD,GAAE,IAAItV,EAAEuV,GAAE,KAAK,EAAED,IAAK,EAAAC,KAAIvV,EAAEA,EAAEX,EAAEE,GAAGF,EAAEA,EAAEA,EAAEE,EAAE,IAAIgW,GAAS,OAAAvV,CAAC,CAAC,SAAS+V,GAAE1W,EAAE,EAAEE,EAAE,CAAC,IAAIS,EAAEX,EAAE,KAAK,KAAKiW,IAAGtV,GAAGA,EAAEA,GAAGT,EAAS,OAAAS,CAAC,CAAC,SAASgW,GAAG3W,EAAE,EAAE,CAAC,GAAGA,IAAIiW,GAAQ,UAAI,MAAM,kCAAkC,EAAE,GAAG,GAAGA,GAAQ,UAAI,MAAM,0CAA0C,CAAC,EAAM,IAAA/V,EAAEsW,GAAExW,EAAE,CAAC,EAAEW,EAAE,EAAE+B,EAAEuT,GAAEhW,EAAEiW,GAAE,KAAKhW,IAAI+V,IAAG,CAAO,MAAAzE,EAAE7Q,EAAET,EAAEE,EAAEO,EAAET,EAAEuR,EAAE/O,EAAEzC,EAAEuR,EAAE7Q,EAAET,EAAEA,EAAEE,EAAEsC,EAAEzC,EAAEA,EAAEwR,CAAC,CAAC,GAAG9Q,IAAIuV,GAAQ,UAAI,MAAM,wBAAwB,EAAS,OAAAM,GAAE9T,EAAE,CAAC,CAAC,CAAC,SAASkU,GAAG5W,EAAE,CAAO,SAAGA,EAAEkW,IAAGC,GAAG,IAAIjW,EAAES,EAAE+B,EAAM,IAAAxC,EAAEF,EAAEkW,GAAEvV,EAAE,EAAET,EAAEiW,KAAKF,GAAE/V,GAAGiW,GAAGxV,IAAI,CAAK,IAAA+B,EAAEyT,GAAGzT,EAAE1C,GAAGyW,GAAG/T,EAAE,EAAE1C,CAAC,IAAIA,EAAEkW,GAAExT,IAAI,GAAGA,EAAE,IAAU,UAAI,MAAM,6CAA6C,EAAE,GAAG/B,IAAI,EAAE,CAAO,MAAA2C,GAAGtD,EAAEkW,IAAGG,GAAU,gBAASjW,EAAEqR,EAAE,CAAC,MAAM/Q,EAAEN,EAAE,IAAIqR,EAAEnO,CAAC,EAAE,GAAG,CAAClD,EAAE,IAAIA,EAAE,IAAIM,CAAC,EAAE+Q,CAAC,EAAQ,UAAI,MAAM,yBAAyB,EAAS,OAAA/Q,CAAA,CAAE,CAAO,MAAAT,GAAGC,EAAEgW,IAAGC,GAAU,gBAAS3E,EAAEpR,EAAE,CAAI,GAAAoR,EAAE,IAAIpR,EAAE,CAAC,IAAIoR,EAAE,IAAIA,EAAE,GAAG,EAAQ,UAAI,MAAM,yBAAyB,EAAM,IAAAC,EAAE9Q,EAAED,EAAE8Q,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAI9O,CAAC,EAAExC,CAAC,EAAE9C,EAAEoU,EAAE,IAAIpR,EAAEH,CAAC,EAAEL,EAAE4R,EAAE,IAAIpR,EAAEF,CAAC,EAAE,KAAK,CAACsR,EAAE,IAAI5R,EAAE4R,EAAE,GAAG,GAAG,CAAC,GAAGA,EAAE,IAAI5R,EAAE4R,EAAE,IAAI,EAAE,OAAOA,EAAE,KAAK,IAAI,EAAE,EAAE,QAAQnP,EAAEmP,EAAE,IAAI5R,CAAC,EAAE,EAAE6R,GAAG,CAACD,EAAE,IAAInP,EAAEmP,EAAE,GAAG,EAAE,IAAMnP,EAAAmP,EAAE,IAAInP,CAAC,EAAQ,MAAAmR,EAAEhC,EAAE,IAAI9Q,EAAEwV,IAAG,OAAOzE,EAAE,EAAE,CAAC,CAAC,EAAE/Q,EAAE8Q,EAAE,IAAIgC,CAAC,EAAEpW,EAAEoU,EAAE,IAAIpU,EAAEoW,CAAC,EAAE5T,EAAE4R,EAAE,IAAI5R,EAAEc,CAAC,EAAE+Q,EAAE,CAAC,CAAQ,OAAArU,CAAA,CAAE,CAAC,SAASyZ,GAAG7W,EAAE,CAAI,GAAAA,EAAEqW,KAAKD,GAAG,CAAO,SAAGpW,EAAEkW,IAAGG,GAAU,gBAAS1V,EAAE+B,EAAE,CAAC,MAAM,EAAE/B,EAAE,IAAI+B,EAAE,CAAC,EAAE,GAAG,CAAC/B,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAE+B,CAAC,EAAQ,UAAI,MAAM,yBAAyB,EAAS,SAAE,CAAI,GAAA1C,EAAEuW,KAAKD,GAAG,CAAO,SAAGtW,EAAEsW,IAAIC,GAAU,gBAAS5V,EAAE+B,EAAE,CAAC,MAAM,EAAE/B,EAAE,IAAI+B,EAAEyT,EAAE,EAAE7S,EAAE3C,EAAE,IAAI,EAAE,CAAC,EAAE6Q,EAAE7Q,EAAE,IAAI+B,EAAEY,CAAC,EAAElD,EAAEO,EAAE,IAAIA,EAAE,IAAI6Q,EAAE2E,EAAE,EAAE7S,CAAC,EAAEmO,EAAE9Q,EAAE,IAAI6Q,EAAE7Q,EAAE,IAAIP,EAAEO,EAAE,GAAG,CAAC,EAAE,GAAG,CAACA,EAAE,IAAIA,EAAE,IAAI8Q,CAAC,EAAE/O,CAAC,EAAQ,UAAI,MAAM,yBAAyB,EAAS,OAAA+O,CAAA,CAAE,CAAC,OAAOmF,GAAG5W,CAAC,CAAC,CAAC,MAAM8W,GAAG,CAAC9W,EAAE,KAAKwW,GAAExW,EAAE,CAAC,EAAEkW,MAAKA,GAAEa,GAAG,CAAC,SAAS,UAAU,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,EAAE,SAAS1Z,GAAG2C,EAAE,CAAO,QAAE,CAAC,MAAM,SAAS,KAAK,SAAS,MAAM,gBAAgB,KAAK,iBAAiBE,EAAE6W,GAAG,OAAO,CAACpW,EAAE+B,KAAK/B,EAAE+B,CAAC,EAAE,WAAW/B,GAAG,CAAC,EAAS,OAAAoV,GAAG/V,EAAEE,CAAC,CAAC,CAAC,SAAS8W,GAAGhX,EAAE,EAAEE,EAAE,CAAC,GAAGA,EAAE+V,GAAQ,UAAI,MAAM,yCAAyC,EAAE,GAAG/V,IAAI+V,GAAE,OAAOjW,EAAE,IAAI,GAAGE,IAAIgW,GAAS,SAAM,IAAAvV,EAAEX,EAAE,IAAI0C,EAAE,EAAE,KAAKxC,EAAE+V,IAAG/V,EAAEgW,KAAIvV,EAAEX,EAAE,IAAIW,EAAE+B,CAAC,GAAGA,EAAE1C,EAAE,IAAI0C,CAAC,EAAExC,IAAIgW,GAAS,OAAAvV,CAAC,CAAC,SAASsW,GAAGjX,EAAE,EAAE,CAAC,MAAME,EAAE,IAAI,MAAM,EAAE,MAAM,EAAES,EAAE,EAAE,OAAO,CAACV,EAAEqD,EAAEkO,IAAIxR,EAAE,IAAIsD,CAAC,EAAErD,GAAGC,EAAEsR,CAAC,EAAEvR,EAAED,EAAE,IAAIC,EAAEqD,CAAC,GAAGtD,EAAE,GAAG,EAAE0C,EAAE1C,EAAE,IAAIW,CAAC,EAAS,SAAE,YAAY,CAACV,EAAEqD,EAAEkO,IAAIxR,EAAE,IAAIsD,CAAC,EAAErD,GAAGC,EAAEsR,CAAC,EAAExR,EAAE,IAAIC,EAAEC,EAAEsR,CAAC,CAAC,EAAExR,EAAE,IAAIC,EAAEqD,CAAC,GAAGZ,CAAC,EAAExC,CAAC,CAAC,SAASgX,GAAGlX,EAAE,EAAE,CAAC,MAAME,EAAE,IAAI,OAAO,EAAEF,EAAE,SAAS,CAAC,EAAE,OAAOW,EAAE,KAAK,KAAKT,EAAE,CAAC,EAAE,MAAM,CAAC,WAAWA,EAAE,YAAYS,CAAC,CAAC,CAAC,SAASwW,GAAGnX,EAAE,EAAEE,EAAE,GAAGS,EAAE,GAAG,CAAC,GAAGX,GAAGiW,GAAQ,UAAI,MAAM,0CAA0CjW,CAAC,EAAO,MAAC,WAAW0C,EAAE,YAAYzC,GAAGiX,GAAGlX,EAAE,CAAC,EAAE,GAAGC,EAAE,KAAW,UAAI,MAAM,gDAAgD,EAAM,IAAAqD,EAAQ,MAAAkO,EAAE,OAAO,OAAO,CAAC,MAAMxR,EAAE,KAAKE,EAAE,KAAKwC,EAAE,MAAMzC,EAAE,KAAK4V,GAAGnT,CAAC,EAAE,KAAKuT,GAAE,IAAIC,GAAE,OAAU9V,GAAAoW,GAAEpW,EAAEJ,CAAC,EAAE,QAAWI,GAAA,CAAC,GAAG,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,+CAA+C,OAAOA,CAAC,EAAS,OAAA6V,IAAG7V,GAAGA,EAAEJ,CAAA,EAAG,IAAOI,OAAI6V,GAAE,MAAM7V,IAAIA,EAAE8V,MAAKA,GAAE,IAAO9V,GAAAoW,GAAE,CAACpW,EAAEJ,CAAC,EAAE,IAAI,CAACI,EAAEqR,IAAIrR,IAAIqR,EAAE,IAAIrR,GAAGoW,GAAEpW,EAAEA,EAAEJ,CAAC,EAAE,IAAI,CAACI,EAAEqR,IAAI+E,GAAEpW,EAAEqR,EAAEzR,CAAC,EAAE,IAAI,CAACI,EAAEqR,IAAI+E,GAAEpW,EAAEqR,EAAEzR,CAAC,EAAE,IAAI,CAACI,EAAEqR,IAAI+E,GAAEpW,EAAEqR,EAAEzR,CAAC,EAAE,IAAI,CAACI,EAAEqR,IAAIuF,GAAGxF,EAAEpR,EAAEqR,CAAC,EAAE,IAAI,CAACrR,EAAEqR,IAAI+E,GAAEpW,EAAEuW,GAAGlF,EAAEzR,CAAC,EAAEA,CAAC,EAAE,KAAQI,KAAEA,EAAE,KAAK,CAACA,EAAEqR,IAAIrR,EAAEqR,EAAE,KAAK,CAACrR,EAAEqR,IAAIrR,EAAEqR,EAAE,KAAK,CAACrR,EAAEqR,IAAIrR,EAAEqR,EAAE,OAAOkF,GAAGvW,EAAEJ,CAAC,EAAE,KAAKW,EAAE,OAAWP,IAAAkD,IAAIA,EAAEuT,GAAG7W,CAAC,GAAGsD,EAAEkO,EAAEpR,CAAC,IAAI,eAAe6W,GAAGzF,EAAEpR,CAAC,EAAE,KAAK,CAACA,EAAEqR,EAAE/Q,IAAIA,EAAE+Q,EAAErR,EAAE,WAAWF,EAAEoV,GAAGlV,EAAEH,CAAC,EAAEoV,GAAGjV,EAAEH,CAAC,EAAE,UAAaG,GAAA,CAAC,GAAGA,EAAE,SAASH,EAAE,MAAM,IAAI,MAAM,6BAA6BA,EAAE,eAAeG,EAAE,MAAM,EAAE,OAAOF,EAAEkV,GAAGhV,CAAC,EAAE+U,GAAG/U,CAAC,GAAG,EAAS,cAAO,OAAOoR,CAAC,CAAC,CAAC,MAAM4F,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAE,SAASC,GAAGtX,EAAE,EAAE,CAAO,MAAAE,EAAE,EAAE,SAAS,OAAOF,EAAEE,EAAE,CAAC,CAAC,SAASqX,GAAGvX,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,cAAcA,CAAC,GAAGA,GAAG,GAAGA,EAAE,EAAE,MAAM,IAAI,MAAM,qCAAqC,EAAE,YAAYA,CAAC,CAAC,CAAC,SAASwX,GAAGxX,EAAE,EAAE,CAACuX,GAAGvX,EAAE,CAAC,EAAQ,MAAAE,EAAE,KAAK,KAAK,EAAEF,CAAC,EAAE,EAAEW,EAAE,IAAIX,EAAE,GAAG,MAAM,CAAC,QAAQE,EAAE,WAAWS,CAAC,CAAC,CAAC,SAAS8W,GAAGzX,EAAE,EAAE,CAAI,IAAC,MAAM,QAAQA,CAAC,EAAQ,UAAI,MAAM,gBAAgB,EAAIA,EAAA,QAAQ,CAACE,EAAES,IAAI,CAAC,GAAG,EAAET,aAAa,GAAS,UAAI,MAAM,0BAA0BS,CAAC,EAAE,CAAC,CAAC,SAAS+W,GAAG1X,EAAE,EAAE,CAAI,IAAC,MAAM,QAAQA,CAAC,EAAQ,UAAI,MAAM,2BAA2B,EAAIA,EAAA,QAAQ,CAACE,EAAES,IAAI,CAAI,IAAC,EAAE,QAAQT,CAAC,EAAQ,UAAI,MAAM,2BAA2BS,CAAC,EAAE,CAAC,CAAC,MAAMgX,GAAG,IAAI,QAAQC,GAAO,YAAQ,SAASC,GAAG7X,EAAE,CAAQ,OAAA4X,GAAG,IAAI5X,CAAC,GAAG,CAAC,CAAC,SAAS8X,GAAG9X,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgBsX,GAAG,eAAepX,EAAE,CAAQ,OAAA2X,GAAG3X,CAAC,IAAI,GAAG,aAAaA,EAAES,EAAE+B,EAAE1C,EAAE,KAAK,CAAC,IAAIC,EAAEC,EAAE,KAAKS,EAAEyW,IAAMzW,EAAA0W,KAAK3U,EAAEA,EAAE,IAAIzC,CAAC,GAAGA,EAAEA,EAAE,SAASU,IAAI0W,GAAU,OAAA3U,CAAA,EAAG,iBAAiBxC,EAAES,EAAE,CAAM,MAAC,QAAQ+B,EAAE,WAAWzC,CAAA,EAAGuX,GAAG7W,EAAE,CAAC,EAAE2C,EAAE,GAAO,IAAAkO,EAAEtR,EAAEE,EAAEoR,EAAE,QAAQC,EAAE,EAAEA,EAAE/O,EAAE+O,IAAI,CAAGrR,EAAAoR,EAAElO,EAAE,KAAKlD,CAAC,EAAU,QAAAM,EAAE,EAAEA,EAAET,EAAES,IAAIN,EAAEA,EAAE,IAAIoR,CAAC,EAAElO,EAAE,KAAKlD,CAAC,EAAEoR,EAAEpR,EAAE,QAAQ,CAAQ,OAAAkD,CAAG,OAAKpD,EAAES,EAAE+B,EAAE,CAAM,MAAC,QAAQzC,EAAE,WAAWqD,GAAGkU,GAAGtX,EAAE,CAAC,EAAE,IAAIsR,EAAExR,EAAE,KAAKI,EAAEJ,EAAE,KAAW,MAAAyR,EAAE,OAAO,GAAGvR,EAAE,CAAC,EAAEQ,EAAE,GAAGR,EAAE,EAAE,OAAOA,CAAC,EAAE,QAAQN,EAAE,EAAEA,EAAEK,EAAEL,IAAI,CAAC,MAAM2T,EAAE3T,EAAE0D,EAAM,IAAAkQ,EAAE,OAAO9Q,EAAE+O,CAAC,EAAE/O,IAAI,EAAE8Q,EAAElQ,IAAIkQ,GAAG9S,EAAEgC,GAAG2U,IAAI,MAAMhV,EAAEkR,EAAEE,EAAEF,EAAE,KAAK,IAAIC,CAAC,EAAE,EAAEjR,EAAE3C,EAAE,IAAI,EAAEsU,EAAEV,EAAE,EAAEA,IAAI,EAAEpT,EAAEA,EAAE,IAAIkX,GAAG/U,EAAE5B,EAAE0B,CAAC,CAAC,CAAC,EAAEmP,EAAEA,EAAE,IAAI8F,GAAGpD,EAAEvT,EAAE8S,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAEjC,EAAE,EAAEpR,CAAC,GAAG,WAAWF,EAAES,EAAE+B,EAAEzC,EAAED,EAAE,KAAK,CAAM,MAAC,QAAQsD,EAAE,WAAWkO,CAAG,EAAAgG,GAAGtX,EAAE,CAAC,EAAEE,EAAE,OAAO,GAAGF,EAAE,CAAC,EAAEuR,EAAE,GAAGvR,EAAEQ,EAAE,OAAOR,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEoD,EAAE,IAAI,CAAC,MAAM1D,EAAE,EAAE4R,EAAE,GAAG9O,IAAI0U,GAAG,MAAU,IAAA7D,EAAE,OAAO7Q,EAAEtC,CAAC,EAAK,GAAAsC,IAAIhC,EAAE6S,EAAE/B,IAAI+B,GAAG9B,EAAE/O,GAAG2U,IAAI9D,IAAI,EAAE,SAAS,IAAIC,EAAE7S,EAAEf,EAAE,KAAK,IAAI2T,CAAC,EAAE,CAAC,EAAIA,EAAA,IAAIC,EAAEA,EAAE,UAAUvT,EAAEA,EAAE,IAAIuT,CAAC,CAAC,CAAQ,OAAAvT,CAAG,iBAAeC,EAAES,EAAE+B,EAAE,CAAK,IAAAzC,EAAE0X,GAAG,IAAIhX,CAAC,EAAE,OAAOV,IAAIA,EAAE,KAAK,iBAAiBU,EAAET,CAAC,EAAEA,IAAI,GAAGyX,GAAG,IAAIhX,EAAE+B,EAAEzC,CAAC,CAAC,GAAGA,CAAG,aAAWC,EAAES,EAAE+B,EAAE,CAAO,MAAAzC,EAAE4X,GAAG3X,CAAC,EAAS,YAAK,KAAKD,EAAE,KAAK,eAAeA,EAAEC,EAAEwC,CAAC,EAAE/B,CAAC,CAAG,mBAAiBT,EAAES,EAAE+B,EAAEzC,EAAE,CAAO,MAAAqD,EAAEuU,GAAG3X,CAAC,EAAE,OAAOoD,IAAI,EAAE,KAAK,aAAapD,EAAES,EAAEV,CAAC,EAAE,KAAK,WAAWqD,EAAE,KAAK,eAAeA,EAAEpD,EAAEwC,CAAC,EAAE/B,EAAEV,CAAC,GAAG,cAAcC,EAAES,EAAE,CAAI4W,GAAA5W,EAAE,CAAC,EAAEiX,GAAG,IAAI1X,EAAES,CAAC,EAAEgX,GAAG,OAAOzX,CAAC,GAAG,CAAC,SAAS6X,GAAG/X,EAAE,EAAEE,EAAES,EAAE,CAAI,GAAA8W,GAAGvX,EAAEF,CAAC,EAAE0X,GAAG/W,EAAE,CAAC,EAAET,EAAE,SAASS,EAAE,OAAa,UAAI,MAAM,qDAAqD,EAAE,MAAM+B,EAAE1C,EAAE,KAAKC,EAAE2V,GAAG,OAAO1V,EAAE,MAAM,CAAC,EAAEoD,EAAErD,EAAE,GAAGA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAEuR,GAAG,GAAGlO,GAAG,EAAElD,EAAE,IAAI,MAAMoR,EAAE,CAAC,EAAE,KAAK9O,CAAC,EAAE+O,EAAE,KAAK,OAAO,EAAE,KAAK,GAAGnO,CAAC,EAAEA,EAAE,IAAI5C,EAAEgC,EAAE,QAAQ,EAAE+O,EAAE,GAAG,EAAE,GAAGnO,EAAE,CAAClD,EAAE,KAAKsC,CAAC,EAAE,QAAQ6Q,EAAE,EAAEA,EAAE5S,EAAE,OAAO4S,IAAI,CAAC,MAAMC,EAAE7S,EAAE4S,CAAC,EAAElR,EAAE,OAAOmR,GAAG,OAAO,CAAC,EAAE,OAAOhC,CAAC,CAAC,EAAIpR,EAAAiC,CAAC,EAAEjC,EAAEiC,CAAC,EAAE,IAAInC,EAAEqT,CAAC,CAAC,CAAC,CAAC,IAAI3T,EAAE8C,EAAE,QAAQ6Q,EAAEnT,EAAE,OAAO,EAAEoT,EAAE9Q,EAAE6Q,EAAE,EAAEA,IAAMC,IAAE,IAAIpT,EAAEmT,CAAC,CAAC,EAAE3T,EAAEA,EAAE,IAAI4T,CAAC,EAAE,GAAG9S,EAAEA,EAAE,IAAId,CAAC,EAAE,IAAI,EAAU,QAAA2T,EAAE,EAAEA,EAAEjQ,EAAEiQ,IAAI7S,EAAEA,EAAE,QAAQ,CAAQ,OAAAA,CAAC,CAAC,SAASsX,GAAGhY,EAAE,CAAC,OAAO3C,GAAG2C,EAAE,EAAE,EAAE+V,GAAG/V,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,WAAW,gBAAgB,YAAY,gBAAgB,EAAE,OAAO,OAAO,CAAC,GAAGkX,GAAGlX,EAAE,EAAEA,EAAE,UAAU,EAAE,GAAGA,EAAE,EAAEA,EAAE,GAAG,MAAM,CAAC,CAAC,MAAMiY,GAAE,OAAO,CAAC,EAAE1U,GAAE,OAAO,CAAC,EAAE2U,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAEC,GAAG,CAAC,OAAO,IAAI,SAASC,GAAGrY,EAAE,CAAO,QAAEgY,GAAGhY,CAAC,EAAE,OAAO+V,GAAG/V,EAAE,CAAC,KAAK,WAAW,EAAE,SAAS,EAAE,SAAS,YAAY,UAAU,EAAE,CAAC,kBAAkB,WAAW,OAAO,WAAW,QAAQ,WAAW,WAAW,WAAW,EAAE,OAAO,OAAO,CAAC,GAAG,CAAE,EAAC,CAAC,SAASsY,GAAGtY,EAAE,CAAC,MAAM,EAAEqY,GAAGrY,CAAC,EAAE,CAAC,GAAGE,EAAE,EAAES,EAAE,QAAQ+B,EAAE,KAAKzC,EAAE,YAAYqD,EAAE,YAAYkO,EAAE,EAAEpR,CAAG,IAAEqR,EAAEyG,IAAI,OAAO1G,EAAE,CAAC,EAAEjO,GAAE7C,EAAER,EAAE,OAAO,EAAEiX,GAAG,EAAE,EAAE,EAAE,UAAU,EAAEvX,EAAE,EAAE,UAAU,CAACwC,EAAED,IAAI,CAAI,IAAO,OAAC,QAAQ,GAAG,MAAMjC,EAAE,KAAKkC,EAAElC,EAAE,IAAIiC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM8V,EAAC,CAAC,CAAI,GAAA1E,EAAE,EAAE,oBAAuBnR,MAAGoR,EAAE,EAAE,SAAS,CAACpR,EAAED,EAAExC,IAAI,CAAC,GAAGiV,GAAG,SAASjV,CAAC,EAAEwC,EAAE,QAAQxC,EAAQ,UAAI,MAAM,qCAAqC,EAAS,OAAAyC,CAAA,GAAa,SAAAC,EAAED,EAAED,EAAE,CAACwT,GAAG,cAAcvT,EAAED,EAAE8V,GAAExG,CAAC,CAAC,CAAC,SAASgC,EAAErR,EAAE,CAAC,GAAG,EAAEA,aAAa1C,GAAS,UAAI,MAAM,wBAAwB,CAAC,CAAC,MAAM6C,EAAEyT,GAAG,CAAC5T,EAAED,IAAI,CAAM,MAAC,GAAGxC,EAAE,GAAG4Y,EAAE,GAAGC,CAAA,EAAGpW,EAAEqW,EAAErW,EAAE,IAAI,EAAED,GAAG,OAAOA,EAAEsW,EAAEN,GAAGjY,EAAE,IAAIsY,CAAC,GAAG,MAAME,EAAEhY,EAAEf,EAAEwC,CAAC,EAAEwW,EAAEjY,EAAE6X,EAAEpW,CAAC,EAAED,EAAExB,EAAE8X,EAAErW,CAAC,EAAK,GAAAsW,EAAE,MAAM,CAAC,EAAER,GAAE,EAAE1U,EAAC,EAAE,GAAGrB,IAAIqB,GAAQ,UAAI,MAAM,kBAAkB,EAAE,MAAM,CAAC,EAAEmV,EAAE,EAAEC,CAAC,CAAE,GAAEzE,EAAE8B,GAAM5T,GAAA,CAAC,KAAK,CAAC,EAAED,EAAE,EAAExC,GAAG,EAAE,GAAGyC,EAAE,IAAI,EAAQ,UAAI,MAAM,iBAAiB,EAAO,MAAC,GAAGmW,EAAE,GAAGC,EAAE,GAAGC,EAAE,GAAGC,CAAC,EAAEtW,EAAEuW,EAAEjY,EAAE6X,EAAEA,CAAC,EAAErW,EAAExB,EAAE8X,EAAEA,CAAC,EAAEI,EAAElY,EAAE+X,EAAEA,CAAC,EAAEI,EAAEnY,EAAEkY,EAAEA,CAAC,EAAEE,EAAEpY,EAAEiY,EAAExW,CAAC,EAAE4W,EAAErY,EAAEkY,EAAElY,EAAEoY,EAAE5W,CAAC,CAAC,EAAE8W,GAAEtY,EAAEmY,EAAEnY,EAAEf,EAAEe,EAAEiY,EAAEzW,CAAC,CAAC,CAAC,EAAE,GAAG6W,IAAIC,GAAQ,UAAI,MAAM,uCAAuC,EAAQ,MAAAC,EAAEvY,EAAE6X,EAAEC,CAAC,EAAEU,EAAExY,EAAE+X,EAAEC,CAAC,EAAE,GAAGO,IAAIC,EAAQ,UAAI,MAAM,uCAAuC,EAAQ,SAAG,EAAE,MAAMxZ,CAAC,CAAC,YAAYyC,EAAExC,EAAE4Y,EAAEC,EAAE,CAAC,KAAK,GAAGrW,EAAE,KAAK,GAAGxC,EAAE,KAAK,GAAG4Y,EAAE,KAAK,GAAGC,EAAEnW,EAAE,IAAIF,CAAC,EAAEE,EAAE,IAAI1C,CAAC,EAAE0C,EAAE,IAAIkW,CAAC,EAAElW,EAAE,IAAImW,CAAC,EAAE,OAAO,OAAO,IAAI,CAAC,CAAC,IAAI,GAAG,CAAQ,YAAK,SAAW,GAAC,CAAC,IAAI,GAAG,CAAQ,YAAK,SAAW,GAAC,CAAC,OAAO,WAAWrW,EAAE,CAAC,GAAGA,aAAazC,EAAQ,UAAI,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAEC,EAAE,EAAE4Y,CAAC,EAAEpW,GAAG,GAAG,OAAOE,EAAE,IAAI1C,CAAC,EAAE0C,EAAE,IAAIkW,CAAC,EAAE,IAAI7Y,EAAEC,EAAE4Y,EAAEhV,GAAE7C,EAAEf,EAAE4Y,CAAC,CAAC,CAAC,CAAC,OAAO,WAAWpW,EAAE,CAAO,MAAAxC,EAAEO,EAAE,YAAYiC,EAAE,IAAOoW,KAAE,EAAE,CAAC,EAAE,OAAOpW,EAAE,IAAI,CAACoW,EAAEC,IAAID,EAAE,SAAS5Y,EAAE6Y,CAAC,CAAC,CAAC,EAAE,IAAI9Y,EAAE,UAAU,CAAC,CAAC,OAAO,IAAIyC,EAAExC,EAAE,CAAC,OAAOoY,GAAGrY,EAAE,EAAEyC,EAAExC,CAAC,CAAC,CAAC,eAAewC,EAAE,CAAGwB,EAAA,cAAc,KAAKxB,CAAC,CAAC,CAAC,gBAAgB,CAAC+R,EAAE,IAAI,CAAC,CAAC,OAAO/R,EAAE,CAACsR,EAAEtR,CAAC,EAAE,KAAK,CAAC,GAAGxC,EAAE,GAAG4Y,EAAE,GAAGC,GAAG,KAAK,CAAC,GAAGC,EAAE,GAAGC,EAAE,GAAGC,CAAG,EAAAxW,EAAED,EAAExB,EAAEf,EAAEgZ,CAAC,EAAEC,EAAElY,EAAE+X,EAAED,CAAC,EAAEK,EAAEnY,EAAE6X,EAAEI,CAAC,EAAEG,EAAEpY,EAAEgY,EAAEF,CAAC,EAAS,OAAAtW,IAAI0W,GAAGC,IAAIC,CAAC,CAAC,KAAK,CAAQ,YAAK,OAAOpZ,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAIA,EAAEgB,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,GAAG,KAAK,GAAGA,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAEyB,CAAG,IAAE,CAAC,GAAGxC,EAAE,GAAG4Y,EAAE,GAAGC,CAAC,EAAE,KAAKC,EAAE/X,EAAEf,EAAEA,CAAC,EAAE+Y,EAAEhY,EAAE6X,EAAEA,CAAC,EAAEI,EAAEjY,EAAEwX,GAAGxX,EAAE8X,EAAEA,CAAC,CAAC,EAAEtW,EAAExB,EAAEyB,EAAEsW,CAAC,EAAEG,EAAEjZ,EAAE4Y,EAAEM,EAAEnY,EAAEA,EAAEkY,EAAEA,CAAC,EAAEH,EAAEC,CAAC,EAAEI,EAAE5W,EAAEwW,EAAEK,EAAED,EAAEH,EAAEK,GAAE9W,EAAEwW,EAAEO,EAAEvY,EAAEmY,EAAEE,CAAC,EAAEG,EAAExY,EAAEoY,EAAEE,EAAC,EAAEG,GAAGzY,EAAEmY,EAAEG,EAAC,EAAEI,GAAG1Y,EAAEqY,EAAED,CAAC,EAAE,OAAO,IAAIpZ,EAAEuZ,EAAEC,EAAEE,GAAGD,EAAE,CAAC,CAAC,IAAIhX,EAAE,CAACsR,EAAEtR,CAAC,EAAO,MAAC,EAAExC,EAAE,EAAE4Y,CAAA,EAAG,EAAE,CAAC,GAAGC,EAAE,GAAGC,EAAE,GAAGC,EAAE,GAAGC,CAAC,EAAE,KAAK,CAAC,GAAGzW,EAAE,GAAG0W,EAAE,GAAGC,EAAE,GAAGC,CAAA,EAAG3W,EAAK,GAAAxC,IAAI,OAAO,EAAE,EAAE,CAAC,MAAM0Z,GAAG3Y,GAAG+X,EAAED,IAAII,EAAE1W,EAAE,EAAEoX,GAAG5Y,GAAG+X,EAAED,IAAII,EAAE1W,EAAE,EAAEqX,GAAG7Y,EAAE4Y,GAAGD,EAAE,EAAE,GAAGE,KAAKtB,GAAE,OAAO,KAAK,SAAS,MAAMuB,GAAG9Y,EAAEgY,EAAER,GAAGY,CAAC,EAAEW,GAAG/Y,EAAEiY,EAAET,GAAGW,CAAC,EAAEa,GAAGD,GAAGD,GAAGG,GAAGL,GAAGD,GAAGO,GAAGH,GAAGD,GAAGK,GAAGnZ,EAAEgZ,GAAGH,EAAE,EAAEO,GAAGpZ,EAAEiZ,GAAGC,EAAE,EAAEG,GAAGrZ,EAAEgZ,GAAGE,EAAE,EAAEI,GAAGtZ,EAAE6Y,GAAGI,EAAE,EAAE,OAAO,IAAIja,EAAEma,GAAGC,GAAGE,GAAGD,EAAE,CAAC,CAAC,MAAMhB,EAAErY,EAAE8X,EAAEtW,CAAC,EAAE8W,GAAEtY,EAAE+X,EAAEG,CAAC,EAAEK,EAAEvY,EAAEiY,EAAEJ,EAAEO,CAAC,EAAEI,EAAExY,EAAEgY,EAAEG,CAAC,EAAEM,GAAGzY,GAAG8X,EAAEC,IAAIvW,EAAE0W,GAAGG,EAAEC,EAAC,EAAEI,GAAGF,EAAED,EAAEgB,GAAGf,EAAED,EAAEiB,GAAGxZ,EAAEsY,GAAErZ,EAAEoZ,CAAC,EAAEoB,GAAGzZ,EAAEyY,GAAGC,EAAE,EAAEgB,GAAG1Z,EAAEuZ,GAAGC,EAAE,EAAEG,GAAG3Z,EAAEyY,GAAGe,EAAE,EAAE1Q,GAAG9I,EAAE0Y,GAAGa,EAAE,EAAE,OAAO,IAAIva,EAAEya,GAAGC,GAAG5Q,GAAG6Q,EAAE,CAAC,CAAC,SAASlY,EAAE,CAAC,OAAO,KAAK,IAAIA,EAAE,OAAQ,EAAC,CAAC,KAAKA,EAAE,CAAC,OAAOwB,EAAE,WAAW,KAAKxB,EAAEzC,EAAE,UAAU,CAAC,CAAC,SAASyC,EAAE,CAAC,MAAMxC,EAAEwC,EAAKwT,GAAA,SAAShW,EAAE4D,GAAE5C,CAAC,EAAO,MAAC,EAAE4X,EAAE,EAAEC,GAAG,KAAK,KAAK7Y,CAAC,EAAE,OAAOD,EAAE,WAAW,CAAC6Y,EAAEC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAerW,EAAExC,EAAED,EAAE,KAAK,CAAC,MAAM6Y,EAAEpW,EAAS,OAAAwT,GAAG,SAAS4C,EAAEN,GAAEtX,CAAC,EAAE4X,IAAIN,GAAEvE,EAAE,KAAK,OAAO6E,IAAIhV,GAAE,KAAKI,EAAE,iBAAiB,KAAK4U,EAAE7Y,EAAE,WAAWC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,KAAK,eAAeS,CAAC,EAAE,IAAI,CAAC,CAAC,eAAe,CAAC,OAAOuD,EAAE,aAAa,KAAKhD,CAAC,EAAE,IAAI,CAAC,CAAC,SAASwB,EAAE,CAAQ,OAAAI,EAAE,KAAKJ,CAAC,CAAC,CAAC,eAAe,CAAM,MAAC,EAAEA,CAAG,IAAE,OAAOA,IAAIoB,GAAE,KAAK,KAAK,eAAepB,CAAC,CAAC,CAAC,OAAO,QAAQA,EAAExC,EAAE,GAAG,CAAM,MAAC,EAAE4Y,EAAE,EAAEC,CAAG,IAAEC,EAAEvY,EAAE,MAAMiC,EAAEoT,GAAE,WAAWpT,EAAEsW,CAAC,EAAE7D,GAAG,SAASjV,CAAC,EAAE,MAAM+Y,EAAEvW,EAAE,QAAQwW,EAAExW,EAAEsW,EAAE,CAAC,EAAIC,EAAAD,EAAE,CAAC,EAAEE,EAAE,KAAK,MAAMzW,EAAEkT,GAAGsD,CAAC,EAAEE,EAAEjZ,EAAE8R,EAAEvR,EAAE,MAASyV,GAAA,aAAazT,EAAE+V,GAAEW,CAAC,EAAE,MAAMC,EAAEnY,EAAEwB,EAAEA,CAAC,EAAE4W,EAAEpY,EAAEmY,EAAEtV,EAAC,EAAEwV,EAAErY,EAAE6X,EAAEM,EAAEL,CAAC,EAAK,IAAC,QAAQQ,GAAE,MAAMC,GAAGrZ,EAAEkZ,EAAEC,CAAC,EAAE,GAAG,CAACC,GAAQ,UAAI,MAAM,qCAAqC,EAAE,MAAME,GAAGD,EAAE1V,MAAKA,GAAE4V,IAAIR,EAAE,OAAO,EAAK,IAAChZ,GAAGsZ,IAAIhB,IAAGkB,GAAS,UAAI,MAAM,8BAA8B,EAAE,OAAOA,KAAKD,IAAID,EAAEvY,EAAE,CAACuY,CAAC,GAAGvZ,EAAE,WAAW,CAAC,EAAEuZ,EAAE,EAAE/W,CAAE,EAAC,CAAC,OAAO,eAAeC,EAAE,CAAQ,OAAA0R,EAAE1R,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAEA,EAAE,EAAExC,CAAC,EAAE,KAAK,SAAW,EAAA4Y,EAAEjD,GAAG3V,EAAEO,EAAE,KAAK,EAAS,OAAAqY,EAAEA,EAAE,OAAO,CAAC,GAAGpW,EAAEoB,GAAE,IAAI,EAAEgV,CAAC,CAAC,OAAO,CAAQ,OAAAzD,GAAG,KAAK,YAAY,CAAC,CAAC,CAAGpV,EAAA,KAAK,IAAIA,EAAE,EAAE,GAAG,EAAE,GAAG6D,GAAE7C,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAEhB,EAAE,KAAK,IAAIA,EAAEuY,GAAE1U,GAAEA,GAAE0U,EAAC,EAAO,MAAC,KAAKtV,EAAE,KAAK+Q,CAAG,EAAAhU,EAAEiE,EAAEmU,GAAGpY,EAAE8R,EAAE,CAAC,EAAE,SAASmC,EAAEvR,EAAE,CAAQ,OAAAoU,GAAEpU,EAAEzB,CAAC,CAAC,CAAC,SAASiT,EAAExR,EAAE,CAAQ,OAAAuR,EAAEyB,GAAGhT,CAAC,CAAC,CAAC,CAAC,SAASyR,EAAEzR,EAAE,CAAC,MAAMD,EAAEjC,EAAE,MAAQkC,EAAAmT,GAAE,cAAcnT,EAAED,CAAC,EAAE,MAAMxC,EAAE4V,GAAE,qBAAqBtV,EAAEmC,CAAC,EAAE,EAAED,CAAC,EAAEoW,EAAEhF,EAAE5T,EAAE,MAAM,EAAEwC,CAAC,CAAC,EAAEqW,EAAE7Y,EAAE,MAAMwC,EAAE,EAAEA,CAAC,EAAEsW,EAAE7E,EAAE2E,CAAC,EAAEG,EAAE/V,EAAE,SAAS8V,CAAC,EAAEE,EAAED,EAAE,aAAmB,OAAC,KAAKH,EAAE,OAAOC,EAAE,OAAOC,EAAE,MAAMC,EAAE,WAAWC,CAAC,CAAC,CAAC,SAAS7E,EAAG1R,EAAE,CAAQ,OAAAyR,EAAEzR,CAAC,EAAE,UAAU,CAAC,SAAS2R,EAAG3R,EAAE,IAAI,cAAcD,EAAE,CAAO,MAAAxC,EAAE6V,GAAG,GAAGrT,CAAC,EAAE,OAAOyR,EAAE3T,EAAEuT,EAAE7T,EAAE4V,GAAE,UAAUnT,CAAC,EAAE,CAAC,CAACM,CAAC,CAAC,CAAC,CAAC,CAAC,SAASsR,EAAG5R,EAAED,EAAExC,EAAE,GAAG,CAACyC,EAAEmT,GAAE,UAAUnT,CAAC,EAAEM,IAAIN,EAAEM,EAAEN,CAAC,GAAG,KAAK,CAAC,OAAOmW,EAAE,OAAOC,EAAE,WAAWC,GAAG5E,EAAE1R,CAAC,EAAEuW,EAAE3E,EAAGpU,EAAE,QAAQ4Y,EAAEnW,CAAC,EAAEuW,EAAEhW,EAAE,SAAS+V,CAAC,EAAE,WAAW,EAAExW,EAAE6R,EAAGpU,EAAE,QAAQgZ,EAAEF,EAAErW,CAAC,EAAEwW,EAAEjF,EAAE+E,EAAExW,EAAEsW,CAAC,EAAK7C,GAAA,cAAciD,EAAEX,GAAEtX,CAAC,EAAE,MAAMkY,EAAErD,GAAGmD,EAAErD,GAAGsD,EAAE1Y,EAAE,KAAK,CAAC,EAAE,OAAOqV,GAAE,SAASsD,EAAE3Y,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM+T,EAAGmE,GAAG,SAASjE,EAAG/R,EAAED,EAAExC,EAAE4Y,EAAEtE,EAAG,CAAM,MAAC,QAAQuE,EAAE,OAAOC,CAAG,EAAAF,EAAEG,EAAExY,EAAE,MAAQkC,EAAAmT,GAAE,YAAYnT,EAAE,EAAEsW,CAAC,EAAEvW,EAAEoT,GAAE,UAAUpT,CAAC,EAAExC,EAAE4V,GAAE,YAAY5V,EAAE+Y,CAAC,EAAED,IAAI,QAAQ7D,GAAG,SAAS6D,CAAC,EAAE/V,IAAIP,EAAEO,EAAEP,CAAC,GAAG,MAAMwW,EAAEvD,GAAGhT,EAAE,MAAMsW,EAAE,EAAEA,CAAC,CAAC,EAAE,IAAIxW,EAAE0W,EAAEC,EAAK,IAAC3W,EAAExC,EAAE,QAAQC,EAAE8Y,CAAC,EAAEG,EAAElZ,EAAE,QAAQ0C,EAAE,MAAM,EAAEsW,CAAC,EAAED,CAAC,EAAEI,EAAElW,EAAE,eAAegW,CAAC,OAAO,CAAO,QAAE,CAAI,IAACF,GAAGvW,EAAE,aAAa,EAAQ,SAAS,MAAA4W,EAAE/E,EAAGyE,EAAEI,EAAE,WAAa,EAAA1W,EAAE,aAAaC,CAAC,EAAE,OAAOyW,EAAE,IAAI1W,EAAE,eAAe4W,CAAC,CAAC,EAAE,SAASD,CAAC,EAAE,cAAgB,SAAOnZ,EAAE,IAAI,CAAC,CAAC,OAAOiD,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,aAAamR,EAAG,KAAKE,EAAG,OAAOG,EAAG,cAAczU,EAAE,MAAM,CAAC,qBAAqBmU,EAAE,iBAAiB,IAAIvQ,EAAEpD,EAAE,KAAK,EAAE,WAAWkC,EAAE,EAAED,EAAEzC,EAAE,KAAK,CAAQ,OAAAyC,EAAE,eAAeC,CAAC,EAAED,EAAE,SAAS,OAAO,CAAC,CAAC,EAAEA,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAMmY,GAAG,OAAO,+EAA+E,EAAEC,GAAG,OAAO,+EAA+E,EAAE,OAAO,CAAC,EAAE,MAAMC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAMC,GAAG,OAAO,CAAC,EAAEC,GAAG,OAAO,CAAC,EAAE,SAASC,GAAG5a,EAAE,CAAO,QAAE,OAAO,EAAE,EAAEE,EAAE,OAAO,EAAE,EAAES,EAAE,OAAO,EAAE,EAAE+B,EAAE,OAAO,EAAE,EAAEzC,EAAEqa,GAAG9I,EAAExR,EAAEA,EAAEC,EAAED,EAAEC,EAAEG,EAAEsW,GAAElF,EAAEiJ,GAAGxa,CAAC,EAAEuR,EAAEvR,EAAEwR,EAAEiF,GAAEtW,EAAEoa,GAAGva,CAAC,EAAED,EAAEC,EAAES,EAAEgW,GAAEjF,EAAEiJ,GAAGza,CAAC,EAAEwR,EAAExR,EAAE7C,EAAEsZ,GAAEhW,EAAE,EAAET,CAAC,EAAES,EAAET,EAAEL,EAAE8W,GAAEtZ,EAAE8C,EAAED,CAAC,EAAE7C,EAAE6C,EAAE,EAAEyW,GAAE9W,EAAEe,EAAEV,CAAC,EAAEL,EAAEK,EAAEuT,EAAEkD,GAAE,EAAEhU,EAAEzC,CAAC,EAAE,EAAEA,EAAEoC,EAAEqU,GAAElD,EAAE9Q,EAAEzC,CAAC,EAAE,EAAEA,EAAEwT,EAAEiD,GAAErU,EAAE,EAAEpC,CAAC,EAAES,EAAET,EAAQ,OAAC,UAAUyW,GAAEjD,EAAEgH,GAAGxa,CAAC,EAAED,EAAEC,EAAE,GAAGuR,CAAC,CAAC,CAAC,SAASqJ,GAAG7a,EAAE,CAAQ,OAAAA,EAAE,CAAC,GAAG,IAAIA,EAAE,EAAE,GAAG,IAAIA,EAAE,EAAE,GAAG,GAAGA,CAAC,CAAC,SAAS8a,GAAG9a,EAAE,EAAE,CAAO,MAAAE,EAAEoa,GAAG3Z,EAAE6V,GAAE,EAAE,EAAE,EAAEtW,CAAC,EAAEwC,EAAE8T,GAAE7V,EAAEA,EAAE,EAAET,CAAC,EAAED,EAAE2a,GAAG5a,EAAE0C,CAAC,EAAE,UAAU,IAAIY,EAAEkT,GAAExW,EAAEW,EAAEV,EAAEC,CAAC,EAAE,MAAMsR,EAAEgF,GAAE,EAAElT,EAAEA,EAAEpD,CAAC,EAAEE,EAAEkD,EAAEmO,EAAE+E,GAAElT,EAAEiX,GAAGra,CAAC,EAAEQ,EAAE8Q,IAAIxR,EAAE,EAAEwR,IAAIgF,GAAE,CAACxW,EAAEE,CAAC,EAAEN,EAAE4R,IAAIgF,GAAE,CAACxW,EAAEua,GAAGra,CAAC,EAAS,OAAAQ,IAAI4C,EAAElD,IAAI,GAAGR,KAAK0D,EAAEmO,GAAGqF,GAAGxT,EAAEpD,CAAC,IAAIoD,EAAEkT,GAAE,CAAClT,EAAEpD,CAAC,GAAG,CAAC,QAAQQ,GAAG,EAAE,MAAM4C,CAAC,CAAC,CAAC,MAAMyX,GAAQ5D,GAAGmD,GAAG,OAAO,EAAE,EAAKU,GAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,+EAA+E,EAAE,GAAGD,GAAG,EAAE,OAAO,8EAA8E,EAAE,EAAEJ,GAAG,GAAG,OAAO,+EAA+E,EAAE,GAAG,OAAO,+EAA+E,EAAE,KAAKtG,GAAG,YAAY/C,GAAG,kBAAkBuJ,GAAG,QAAQC,EAAA,EAAQG,GAAQ3C,GAAG0C,EAAE,EAAKE,GAAG,QAAQC,GAAG,MAAMC,GAAG,IAAIC,GAAG,YAAYC,GAAG,OAAOC,GAAG,OAAOC,GAAG,IAAIC,GAAG,MAAMC,GAAG,MAAMC,GAAG,YAAYC,GAAG,IAAIC,GAAG,MAAYC,GAAG,GAAG,SAASC,GAAG/b,EAAE,CAAQ,kBAAW,QAAQ,KAAK,IAAI,WAAWA,EAAE,OAAOA,EAAE,WAAWA,EAAE,UAAU,EAAEA,CAAC,CAAC,SAASgc,GAAGhc,EAAE,EAAE,CAAC,OAAO,WAAW,QAAQ,MAAM,WAAW,OAAO,aAAa,KAAK+b,GAAG,WAAW,OAAO,YAAY/b,CAAC,CAAC,EAAE,IAAI,WAAWA,CAAC,CAAC,CAAC,SAASic,GAAGjc,EAAE,EAAE,CAAK,MAAEA,EAAE,OAAO,CAAC0C,EAAEzC,IAAIyC,EAAEzC,EAAE,OAAO,CAAC,GAAS,MAAAC,EAAE8b,GAAG,CAAC,EAAE,IAAIrb,EAAE,EAAE,UAAU+B,KAAK1C,EAAEE,EAAE,IAAIwC,EAAE/B,CAAC,EAAEA,GAAG+B,EAAE,OAAO,OAAOqZ,GAAG7b,CAAC,CAAC,CAAC,SAASgc,GAAGlc,EAAE,EAAE,CAAC,GAAGA,EAAE,QAAQ,IAAU,UAAI,UAAU,mBAAmB,EAAU,QAAAE,EAAE,IAAI,WAAW,GAAG,EAAES,EAAE,EAAEA,EAAET,EAAE,OAAOS,IAAIT,EAAES,CAAC,EAAE,IAAI,QAAQ+B,EAAE,EAAEA,EAAE1C,EAAE,OAAO0C,IAAI,CAAK,IAAAzC,EAAED,EAAE,OAAO0C,CAAC,EAAEY,EAAErD,EAAE,WAAW,CAAC,EAAK,GAAAC,EAAEoD,CAAC,IAAI,IAAU,UAAI,UAAUrD,EAAE,eAAe,EAAEC,EAAEoD,CAAC,EAAEZ,CAAC,CAAK,IAAA8O,EAAExR,EAAE,OAAOI,EAAEJ,EAAE,OAAO,CAAC,EAAEyR,EAAE,KAAK,IAAID,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE9Q,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI8Q,CAAC,EAAE,SAAS,EAAEgC,EAAE,CAAI,GAAAA,aAAa,aAAa,YAAY,OAAOA,CAAC,EAAEA,EAAE,IAAI,WAAWA,EAAE,OAAOA,EAAE,WAAWA,EAAE,UAAU,EAAE,MAAM,QAAQA,CAAC,IAAIA,EAAE,WAAW,KAAKA,CAAC,IAAI,EAAEA,aAAa,YAAkB,UAAI,UAAU,qBAAqB,EAAE,GAAGA,EAAE,SAAS,EAAQ,SAAG,QAAQnR,EAAE,EAAEoR,EAAE,EAAElR,EAAE,EAAE2R,EAAEV,EAAE,OAAOjR,IAAI2R,GAAGV,EAAEjR,CAAC,IAAI,GAAOA,IAAAF,IAAI,QAAQ3C,GAAGwU,EAAE3R,GAAG7B,EAAE,IAAI,EAAEiC,EAAE,IAAI,WAAWjD,CAAC,EAAE6C,IAAI2R,GAAG,CAAC,QAAQR,EAAEF,EAAEjR,CAAC,EAAEoB,EAAE,EAAEgQ,EAAEjU,EAAE,GAAGgU,IAAI,GAAG/P,EAAE8P,IAAIE,IAAI,GAAGA,IAAIhQ,IAAI+P,GAAG,IAAI/Q,EAAEgR,CAAC,IAAI,EAAEhR,EAAEgR,CAAC,EAAED,EAAElC,IAAI,EAAEkC,EAAEA,EAAElC,IAAI,EAAE,GAAGkC,IAAI,EAAQ,UAAI,MAAM,gBAAgB,EAAED,EAAE9P,EAAEpB,GAAG,CAAC,QAAQqR,EAAElU,EAAE+T,EAAEG,IAAIlU,GAAGiD,EAAEiR,CAAC,IAAI,GAAGA,IAAI,QAAQC,EAAEzT,EAAE,OAAOiC,CAAC,EAAEuR,EAAElU,EAAE,EAAEkU,EAAEC,GAAG7T,EAAE,OAAO2C,EAAEiR,CAAC,CAAC,EAAS,OAAAC,CAAC,CAAC,SAASjU,EAAE4T,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAe,UAAI,UAAU,iBAAiB,EAAE,GAAGA,EAAE,SAAS,EAAE,OAAO,IAAI,WAAW,IAAInR,EAAE,EAAK,GAAAmR,EAAEnR,CAAC,IAAI,IAAI,CAAC,QAAQoR,EAAE,EAAElR,EAAE,EAAEiR,EAAEnR,CAAC,IAAIjC,GAAOqT,IAAApR,IAAI,QAAQ6R,GAAGV,EAAE,OAAOnR,GAAGoP,EAAE,IAAI,EAAE/R,EAAE,IAAI,WAAWwU,CAAC,EAAEV,EAAEnR,CAAC,GAAG,CAAC,IAAIM,EAAEzC,EAAEsT,EAAE,WAAWnR,CAAC,CAAC,EAAE,GAAGM,IAAI,IAAI,OAAe,QAAA+Q,EAAE,EAAE/P,EAAEuQ,EAAE,GAAGvR,IAAI,GAAG+Q,EAAEnR,IAAIoB,IAAI,GAAGA,IAAI+P,IAAI/Q,GAAG6O,EAAE9R,EAAEiE,CAAC,IAAI,EAAEjE,EAAEiE,CAAC,EAAEhB,EAAE,MAAM,EAAEA,EAAEA,EAAE,MAAM,EAAE,GAAGA,IAAI,EAAQ,UAAI,MAAM,gBAAgB,EAAEJ,EAAEmR,EAAErR,GAAG,CAAI,GAAAmR,EAAEnR,CAAC,IAAI,IAAI,CAAC,QAAQsR,EAAEO,EAAE3R,EAAEoR,IAAIO,GAAGxU,EAAEiU,CAAC,IAAI,GAAGA,IAAY,QAAAC,EAAE,IAAI,WAAWH,GAAGS,EAAEP,EAAE,EAAEE,EAAEJ,EAAEE,IAAIO,GAAKN,EAAAC,GAAG,EAAEnU,EAAEiU,GAAG,EAAS,OAAAC,CAAC,CAAC,CAAC,CAAC,SAASL,EAAEC,EAAE,CAAK,IAAAnR,EAAEzC,EAAE4T,CAAC,EAAK,GAAAnR,EAAS,OAAAA,EAAE,MAAM,IAAI,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,aAAazC,EAAE,OAAO2T,EAAE,CAAC,IAAI4I,GAAGD,GAAGE,GAAGD,GAAG,MAAME,GAAMrc,GAAA,CAAC,GAAGA,aAAa,YAAYA,EAAE,YAAY,OAAO,aAAoB,OAAAA,EAAE,GAAGA,aAAa,YAAmB,WAAI,WAAWA,CAAC,EAAK,eAAY,OAAOA,CAAC,EAAE,OAAO,IAAI,WAAWA,EAAE,OAAOA,EAAE,WAAWA,EAAE,UAAU,EAAQ,UAAI,MAAM,mCAAmC,CAAC,EAAEsc,GAAGtc,GAAG,IAAI,cAAc,OAAOA,CAAC,EAAEuc,GAAMvc,GAAA,IAAI,YAAY,EAAE,OAAOA,CAAC,EAAE,IAAAwc,GAAA,KAAQ,CAAC,YAAY,EAAEtc,EAAES,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,OAAOT,EAAE,KAAK,WAAWS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,aAAa,WAAW,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,MAAM,mCAAmC,CAAC,CAAC,EAAC8b,GAAA,KAAQ,CAAC,YAAY,EAAEvc,EAAES,EAAE,CAAI,QAAK,KAAK,EAAE,KAAK,OAAOT,EAAEA,EAAE,YAAY,CAAC,IAAI,OAAa,UAAI,MAAM,0BAA0B,EAAE,KAAK,gBAAgBA,EAAE,YAAY,CAAC,EAAE,KAAK,WAAWS,CAAC,CAAC,OAAO,EAAE,CAAI,UAAO,GAAG,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,KAAK,gBAAgB,MAAM,MAAM,qCAAqC,KAAK,UAAU,CAAC,CAAC,KAAK,KAAK,IAAI,+CAA+C,KAAK,MAAM,EAAE,EAAE,OAAO,KAAK,WAAW,EAAE,MAAM,KAAK,OAAO,MAAM,CAAC,CAAC,KAAM,OAAM,MAAM,mCAAmC,CAAC,CAAC,GAAG,EAAE,CAAQ,OAAA+b,GAAG,KAAK,CAAC,CAAC,CAAC,EAACC,GAAA,KAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,EAAE,CAAQ,OAAAD,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAMxc,EAAE,EAAE,CAAC,EAAES,EAAE,KAAK,SAAST,CAAC,EAAK,GAAAS,EAAS,OAAAA,EAAE,OAAO,CAAC,EAAE,MAAM,WAAW,qCAAqC,KAAK,UAAU,CAAC,CAAC,+BAA+B,OAAO,KAAK,KAAK,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAC,MAAM+b,GAAG,CAAC1c,EAAE,IAAI,IAAI4c,GAAG,CAAC,GAAG5c,EAAE,UAAU,CAAC,CAACA,EAAE,MAAM,EAAEA,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,IAAA6c,GAAA,KAAQ,CAAC,YAAY,EAAE3c,EAAES,EAAE+B,EAAE,CAAM,UAAK,EAAE,KAAK,OAAOxC,EAAE,KAAK,WAAWS,EAAE,KAAK,WAAW+B,EAAE,KAAK,QAAQ,IAAIoa,GAAG,EAAE5c,EAAES,CAAC,EAAE,KAAK,QAAQ,IAAIoc,GAAG,EAAE7c,EAAEwC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAQ,YAAK,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAQ,YAAK,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAC,MAAMsa,GAAG,CAAC,CAAC,KAAKhd,EAAE,OAAO,EAAE,OAAOE,EAAE,OAAOS,CAAC,IAAI,IAAIsc,GAAGjd,EAAE,EAAEE,EAAES,CAAC,EAAEuc,GAAG,CAAC,CAAC,OAAOld,EAAE,KAAK,EAAE,SAASE,CAAA,IAAK,CAAM,MAAC,OAAOS,EAAE,OAAO+B,GAAG0Z,GAAGlc,EAAE,CAAC,EAAE,OAAO8c,GAAG,CAAC,OAAOhd,EAAE,KAAK,EAAE,OAAOW,EAAE,UAAU0b,GAAG3Z,EAAEzC,CAAC,CAAC,EAAE,CAAC,EAAEkd,GAAG,CAACnd,EAAE,EAAEE,EAAES,IAAI,CAAC,MAAM+B,EAAE,GAAG,QAAQhC,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAIgC,EAAA,EAAEhC,CAAC,CAAC,EAAEA,EAAE,IAAIT,EAAED,EAAE,OAAY,KAAAA,EAAEC,EAAE,CAAC,IAAI,KAAO,EAAAA,EAAE,MAAMqD,EAAE,IAAI,WAAWrD,EAAEC,EAAE,EAAE,CAAC,EAAE,IAAIsR,EAAE,EAAEpR,EAAE,EAAEqR,EAAE,EAAE,QAAQ/Q,EAAE,EAAEA,EAAET,EAAE,EAAES,EAAE,CAAC,MAAM,EAAEgC,EAAE1C,EAAEU,CAAC,CAAC,EAAE,GAAG,IAAI,OAAO,MAAM,IAAI,YAAY,OAAOC,CAAC,YAAY,EAAEP,EAAEA,GAAGF,EAAE,EAAEsR,GAAGtR,EAAEsR,GAAG,IAAIA,GAAG,EAAElO,EAAEmO,GAAG,EAAE,IAAIrR,GAAGoR,EAAE,CAAC,GAAGA,GAAGtR,GAAG,IAAIE,GAAG,EAAEoR,EAAQ,UAAI,YAAY,wBAAwB,EAAS,OAAAlO,CAAC,EAAE8Z,GAAG,CAACpd,EAAE,EAAEE,IAAI,CAAO,MAAAS,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI+B,GAAG,GAAGxC,GAAG,EAAE,IAAID,EAAE,GAAGqD,EAAE,EAAEkO,EAAE,EAAE,QAAQpR,EAAE,EAAEA,EAAEJ,EAAE,OAAO,EAAEI,EAAM,IAAAoR,EAAEA,GAAG,EAAExR,EAAEI,CAAC,EAAEkD,GAAG,EAAEA,EAAEpD,GAAGoD,GAAGpD,EAAED,GAAG,EAAEyC,EAAE8O,GAAGlO,CAAC,EAAE,GAAGA,IAAIrD,GAAG,EAAEyC,EAAE8O,GAAGtR,EAAEoD,CAAC,GAAG3C,EAAO,KAAAV,EAAE,OAAOC,EAAE,GAAMD,GAAA,IAAW,OAAAA,CAAC,EAAE2C,GAAE,CAAC,CAAC,KAAK5C,EAAE,OAAO,EAAE,YAAYE,EAAE,SAASS,KAAKqc,GAAG,CAAC,OAAO,EAAE,KAAKhd,EAAE,OAAO0C,EAAE,CAAQ,OAAA0a,GAAG1a,EAAE/B,EAAET,CAAC,CAAC,EAAE,OAAOwC,EAAE,CAAC,OAAOya,GAAGza,EAAE/B,EAAET,EAAEF,CAAC,CAAC,EAAE,EAAEqd,GAAGL,GAAG,CAAC,OAAO,KAAK,KAAK,WAAW,OAAUhd,GAAAuc,GAAGvc,CAAC,EAAE,UAAUsc,GAAGtc,CAAC,EAAE,EAAE,IAAIsd,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,SAASD,GAAG,EAAE,MAAME,GAAG3a,GAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,SAAS,KAAK,YAAY,CAAE,GAAE,IAAI4a,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,MAAMD,GAAG,EAAE,MAAME,GAAG7a,GAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,SAAS,WAAW,YAAY,CAAE,GAAE,IAAI8a,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,MAAMD,GAAG,EAAE,MAAME,GAAGT,GAAG,CAAC,OAAO,IAAI,KAAK,SAAS,SAAS,aAAa,EAAE,IAAIU,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,OAAOD,GAAG,EAAE,MAAME,GAAGjb,GAAE,CAAC,OAAO,IAAI,KAAK,SAAS,SAAS,mBAAmB,YAAY,CAAE,GAAEkb,GAAGlb,GAAE,CAAC,OAAO,IAAI,KAAK,cAAc,SAAS,mBAAmB,YAAY,CAAE,GAAE,IAAImb,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,OAAOF,GAAG,YAAYC,EAAA,CAAG,EAAE,MAAME,GAAGpb,GAAE,CAAC,OAAO,IAAI,KAAK,SAAS,SAAS,mCAAmC,YAAY,CAAE,GAAEqb,GAAGrb,GAAE,CAAC,OAAO,IAAI,KAAK,cAAc,SAAS,mCAAmC,YAAY,EAAE,EAAEsb,GAAGtb,GAAE,CAAC,OAAO,IAAI,KAAK,YAAY,SAAS,oCAAoC,YAAY,EAAE,EAAE3F,GAAG2F,GAAE,CAAC,OAAO,IAAI,KAAK,iBAAiB,SAAS,oCAAoC,YAAY,EAAE,EAAEub,GAAGvb,GAAE,CAAC,OAAO,IAAI,KAAK,YAAY,SAAS,mCAAmC,YAAY,CAAE,GAAEwb,GAAGxb,GAAE,CAAC,OAAO,IAAI,KAAK,iBAAiB,SAAS,mCAAmC,YAAY,EAAE,EAAEyb,GAAGzb,GAAE,CAAC,OAAO,IAAI,KAAK,eAAe,SAAS,oCAAoC,YAAY,EAAE,EAAE0b,GAAG1b,GAAE,CAAC,OAAO,IAAI,KAAK,oBAAoB,SAAS,oCAAoC,YAAY,EAAE,EAAE2b,GAAG3b,GAAE,CAAC,OAAO,IAAI,KAAK,UAAU,SAAS,mCAAmC,YAAY,CAAE,GAAE,IAAI4b,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,OAAOR,GAAG,YAAYC,GAAG,UAAUC,GAAG,eAAejhB,GAAG,UAAUkhB,GAAG,eAAeC,GAAG,aAAaC,GAAG,kBAAkBC,GAAG,QAAQC,EAAG,GAAE,MAAME,GAAGvB,GAAG,CAAC,OAAO,IAAI,KAAK,SAAS,SAAS,sCAAuC,GAAEwB,GAAGxB,GAAG,CAAC,OAAO,IAAI,KAAK,cAAc,SAAS,uCAAuC,EAAE,IAAIyB,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,OAAOF,GAAG,YAAYC,EAAA,CAAG,EAAE,MAAME,GAAG1B,GAAG,CAAC,KAAK,YAAY,OAAO,IAAI,SAAS,4DAA6D,GAAE2B,GAAG3B,GAAG,CAAC,KAAK,eAAe,OAAO,IAAI,SAAS,6DAA6D,EAAE,IAAI4B,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,UAAUF,GAAG,aAAaC,EAAA,CAAG,EAAE,MAAME,GAAGnc,GAAE,CAAC,OAAO,IAAI,KAAK,SAAS,SAAS,mEAAmE,YAAY,EAAE,EAAEoc,GAAGpc,GAAE,CAAC,OAAO,IAAI,KAAK,YAAY,SAAS,oEAAoE,YAAY,CAAE,GAAEqc,GAAGrc,GAAE,CAAC,OAAO,IAAI,KAAK,YAAY,SAAS,mEAAmE,YAAY,EAAE,EAAEsc,GAAGtc,GAAE,CAAC,OAAO,IAAI,KAAK,eAAe,SAAS,oEAAoE,YAAY,EAAE,EAAE,IAAIuc,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,OAAOJ,GAAG,UAAUC,GAAG,UAAUC,GAAG,aAAaC,EAAG,GAAE,MAAME,GAAG,MAAM,KAAK,weAAorE,EAAEC,GAAGD,GAAG,OAAO,CAACpf,EAAE,EAAEE,KAAKF,EAAEE,CAAC,EAAE,EAAEF,GAAG,CAAE,GAAEsf,GAAGF,GAAG,OAAO,CAACpf,EAAE,EAAEE,KAAKF,EAAE,EAAE,YAAY,CAAC,CAAC,EAAEE,EAAEF,GAAG,EAAE,EAAE,SAASuf,GAAGvf,EAAE,CAAQ,OAAAA,EAAE,OAAO,CAAC,EAAEE,KAAK,GAAGmf,GAAGnf,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,SAASsf,GAAGxf,EAAE,CAAC,MAAM,EAAE,GAAG,UAAUE,KAAKF,EAAE,CAAC,MAAMW,EAAE2e,GAAGpf,EAAE,YAAY,CAAC,CAAC,EAAE,GAAGS,IAAI,OAAO,MAAM,IAAI,MAAM,+BAA+BT,CAAC,EAAE,EAAE,EAAE,KAAKS,CAAC,CAAC,CAAQ,WAAI,WAAW,CAAC,CAAC,CAAC,MAAM8e,GAAGzC,GAAG,CAAC,OAAO,KAAY,KAAK,eAAe,OAAOuC,GAAG,OAAOC,EAAG,GAAE,IAAIE,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,aAAaD,EAAG,GAAEE,GAAGC,GAAGC,GAAG,IAAIC,GAAG,IAAIC,GAAG,CAACD,GAAGE,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,SAASJ,GAAG5f,EAAE,EAAEE,EAAE,CAAC,EAAE,GAAG,GAAGA,EAAEA,GAAG,EAAU,QAAAS,EAAET,EAAEF,GAAGggB,IAAI,EAAE9f,GAAG,EAAEF,EAAE,IAAI6f,GAAG7f,GAAG,IAAI,KAAKA,EAAE+f,IAAI,EAAE7f,GAAG,EAAEF,EAAE,IAAI6f,GAAG7f,KAAK,EAAS,SAAEE,CAAC,EAAEF,EAAE,EAAE4f,GAAG,MAAM1f,EAAES,EAAE,EAAE,CAAC,CAAC,IAAIsf,GAAGC,GAAGC,GAAG,IAAIC,GAAG,IAAI,SAASF,GAAGlgB,EAAEW,EAAE,CAAK,IAAAT,EAAE,EAAES,EAAEA,GAAG,EAAE+B,EAAE,EAAEzC,EAAEU,EAAE2C,EAAEkO,EAAExR,EAAE,OAAS,GAAC,GAAGC,GAAGuR,EAAE,MAAM0O,GAAG,MAAM,EAAE,IAAI,WAAW,yBAAyB,EAAE5c,EAAEtD,EAAEC,GAAG,EAAEC,GAAGwC,EAAE,IAAIY,EAAE8c,KAAK1d,GAAGY,EAAE8c,IAAI,KAAK,IAAI,EAAE1d,CAAC,EAAEA,GAAG,QAAQY,GAAG6c,IAAW,OAAAD,GAAG,MAAMjgB,EAAEU,EAAET,CAAC,CAAC,IAAImgB,GAAG,KAAK,IAAI,EAAE,CAAC,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAEC,GAAG,SAAS9gB,EAAE,CAAQ,OAAAA,EAAEqgB,GAAG,EAAErgB,EAAEsgB,GAAG,EAAEtgB,EAAEugB,GAAG,EAAEvgB,EAAEwgB,GAAG,EAAExgB,EAAEygB,GAAG,EAAEzgB,EAAE0gB,GAAG,EAAE1gB,EAAE2gB,GAAG,EAAE3gB,EAAE4gB,GAAG,EAAE5gB,EAAE6gB,GAAG,EAAE,EAAE,EAAEE,GAAG,CAAC,OAAOpB,GAAG,OAAOM,GAAG,eAAea,EAAE,EAAEE,GAAGD,GAAG,MAAME,GAAG,CAACjhB,EAAE,EAAEE,EAAE,KAAK8gB,GAAG,OAAOhhB,EAAE,EAAEE,CAAC,EAAE,GAAGghB,MAAMF,GAAG,eAAehhB,CAAC,EAAEmhB,GAAG,CAACnhB,EAAE,IAAI,CAAC,MAAME,EAAE,EAAE,WAAWS,EAAEugB,GAAGlhB,CAAC,EAAE0C,EAAE/B,EAAEugB,GAAGhhB,CAAC,EAAED,EAAE,IAAI,WAAWyC,EAAExC,CAAC,EAAS,OAAA+gB,GAAGjhB,EAAEC,EAAE,CAAC,EAAEghB,GAAG/gB,EAAED,EAAEU,CAAC,EAAEV,EAAE,IAAI,EAAEyC,CAAC,EAAE,IAAI0e,GAAGphB,EAAEE,EAAE,EAAED,CAAC,CAAC,EAAE,IAAAohB,GAAA,KAAQ,CAAC,YAAY,EAAEnhB,EAAES,EAAE+B,EAAE,CAAM,UAAK,EAAE,KAAK,KAAKxC,EAAE,KAAK,OAAOS,EAAE,KAAK,MAAM+B,CAAC,CAAC,EAAC,MAAM4e,GAAG,CAAC,CAAC,KAAKthB,EAAE,KAAK,EAAE,OAAOE,CAAA,IAAK,IAAIqhB,GAAGvhB,EAAE,EAAEE,CAAC,EAAE,IAAAshB,GAAA,KAAQ,CAAC,YAAY,EAAEthB,EAAES,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,KAAKT,EAAE,KAAK,OAAOS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,aAAa,WAAW,CAAO,MAAAT,EAAE,KAAK,OAAO,CAAC,EAAE,OAAOA,aAAa,WAAWihB,GAAG,KAAK,KAAKjhB,CAAC,EAAEA,EAAE,KAAQS,GAAAwgB,GAAG,KAAK,KAAKxgB,CAAC,CAAC,CAAC,KAAM,OAAM,MAAM,mCAAmC,CAAC,CAAC,EAAC,MAAM8gB,GAAMzhB,GAAA,MAAM,GAAG,IAAI,WAAW,MAAM,OAAO,OAAO,OAAOA,EAAE,CAAC,CAAC,EAAE0hB,GAAGJ,GAAG,CAAC,KAAK,WAAW,KAAK,GAAG,OAAOG,GAAG,SAAS,CAAC,CAAC,EAAEE,GAAGL,GAAG,CAAC,KAAK,WAAW,KAAK,GAAG,OAAOG,GAAG,SAAS,EAAE,EAAE,IAAIG,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,OAAOF,GAAG,OAAOC,EAAA,CAAG,EAAE,MAAME,GAAG,EAAEC,GAAG,WAAWC,GAAG1F,GAAG2F,GAAMhiB,GAAAmhB,GAAGU,GAAGE,GAAG/hB,CAAC,CAAC,EAAEiiB,GAAG,CAAC,KAAKJ,GAAG,KAAKC,GAAG,OAAOC,GAAG,OAAOC,EAAE,EAAE,IAAIE,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,SAASD,GAAG,EAAE,IAAI,YAAY,IAAI,YAAY,MAAME,GAAG,CAAC,GAAG7E,GAAG,GAAGE,GAAG,GAAGE,GAAG,GAAGE,GAAG,GAAGG,GAAG,GAAGS,GAAG,GAAGG,GAAG,GAAGG,GAAG,GAAGK,GAAG,GAAGO,KAAK,CAAC,GAAGkC,GAAG,GAAGM,KAAK,SAASE,GAAGpiB,EAAE,EAAEE,EAAES,EAAE,CAAC,MAAM,CAAC,KAAKX,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAKA,EAAE,OAAO,EAAE,OAAOE,CAAC,EAAE,QAAQ,CAAC,OAAOS,GAAG,CAAC,MAAM0hB,GAAGD,GAAG,OAAO,IAAOpiB,GAAA,IAAI,IAAI,YAAY,MAAM,EAAE,OAAOA,CAAC,EAAEA,GAAG,IAAI,YAAc,SAAOA,EAAE,UAAU,CAAC,CAAC,CAAC,EAAEsiB,GAAGF,GAAG,QAAQ,IAAOpiB,GAAA,CAAC,IAAI,EAAE,IAAI,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,GAAG,OAAO,aAAaF,EAAEE,CAAC,CAAC,EAAS,QAAC,EAAKF,GAAA,CAAGA,IAAE,UAAU,CAAC,EAAQ,QAAEgc,GAAGhc,EAAE,MAAM,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,EAAEA,CAAC,EAAEF,EAAE,WAAWE,CAAC,EAAS,QAAC,CAAC,EAAEqiB,GAAG,CAAC,KAAKF,GAAG,QAAQA,GAAG,IAAIF,GAAG,OAAO,OAAOG,GAAG,MAAMA,GAAG,OAAOA,GAAG,GAAGH,IAAI,SAASK,GAAGxiB,EAAE,EAAE,OAAO,CAAO,MAAAE,EAAEqiB,GAAG,CAAC,EAAE,GAAG,CAACriB,EAAE,MAAM,IAAI,MAAM,yBAAyB,CAAC,GAAG,EAAE,OAAO,IAAI,QAAQ,IAAI,UAAU,WAAW,QAAQ,MAAM,WAAW,OAAO,MAAM,KAAK,WAAW,OAAO,KAAKF,EAAE,OAAOA,EAAE,WAAWA,EAAE,UAAU,EAAE,SAAS,MAAM,EAAEE,EAAE,QAAQ,OAAOF,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,SAASyiB,GAAGziB,EAAE,EAAE,OAAO,CAAO,MAAAE,EAAEqiB,GAAG,CAAC,EAAE,GAAG,CAACriB,EAAE,MAAM,IAAI,MAAM,yBAAyB,CAAC,GAAG,EAAS,WAAI,QAAQ,IAAI,UAAU,WAAW,QAAQ,MAAM,WAAW,OAAO,MAAM,KAAK6b,GAAG,WAAW,OAAO,KAAK/b,EAAE,OAAO,CAAC,EAAEE,EAAE,QAAQ,OAAO,GAAGA,EAAE,MAAM,GAAGF,CAAC,EAAE,CAAC,CAAC,SAAS0iB,GAAG1iB,EAAE,CAAC,OAAO2iB,GAAGH,GAAGC,GAAGziB,EAAEqb,EAAE,EAAEC,EAAE,CAAC,CAAC,CAAC,SAASsH,GAAG5iB,EAAE,CAAC,OAAOwiB,GAAGC,GAAGI,GAAG7iB,CAAC,EAAEsb,EAAE,EAAED,EAAE,CAAC,CAAC,SAASyH,GAAG9iB,EAAE,CAAC,MAAM,EAAEyiB,GAAG5G,GAAGF,EAAE,EAAEzb,EAAE0b,GAAG4G,GAAGvG,GAAG,CAAC,EAAEjc,CAAC,CAAC,EAAE2b,EAAE,EAAE,MAAM,CAACF,GAAGC,GAAGxb,CAAC,EAAE,KAAKsb,EAAE,CAAC,CAAgb,SAASuH,GAAG/iB,EAAE,CAAQ,OAAAwiB,GAAGxiB,EAAEqb,EAAE,CAAC,CAAC,SAAS2H,GAAGhjB,EAAE,CAAQ,OAAAyiB,GAAGziB,EAAEqb,EAAE,CAAC,CAAC,SAAS4H,GAAGjjB,EAAE,CAAC,OAAOyiB,GAAG,CAACG,GAAG5iB,EAAE,MAAM,EAAE4iB,GAAG5iB,EAAE,OAAO,CAAC,EAAE,KAAKob,EAAE,EAAEG,EAAE,CAAC,CAA4F,SAAS2H,GAAGljB,EAAE,CAAC,MAAM,CAAC4iB,GAAG5iB,EAAE,MAAM,EAAE4iB,GAAG5iB,EAAE,OAAO,EAAE+iB,GAAG/iB,EAAE,SAAS,CAAC,EAAE,KAAKob,EAAE,CAAC,CAAC,SAAS+H,GAAGnjB,EAAE,CAAC,MAAM,EAAEA,EAAE,MAAMob,EAAE,EAAElb,EAAEwiB,GAAG,EAAE,CAAC,CAAC,EAAE/hB,EAAE+hB,GAAG,EAAE,CAAC,CAAC,EAAEhgB,EAAEsgB,GAAG,EAAE,CAAC,CAAC,EAAE/iB,EAAEwiB,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAKrH,EAAE,EAAEG,EAAE,EAAQ,OAAC,OAAOrb,EAAE,QAAQS,EAAE,UAAU+B,EAAE,KAAKzC,EAAE,CAAC,SAASmjB,GAAGpjB,EAAEsR,GAAGwK,EAAE,EAAE,CAAO,QAAEb,GAAG,aAAajb,CAAC,EAAQ,OAAC,UAAUic,GAAG,CAACjc,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,eAAeqjB,GAAGrjB,EAAE,EAAEE,EAAES,EAAE+B,EAAE4gB,kBAAG,KAAK,IAAI,CAAC,EAAE,CAAO,MAAArjB,EAAE,CAAC,IAAIib,GAAG,IAAIC,IAAI7X,EAAEwf,GAAGniB,EAAE,SAAS,EAAE6Q,EAAE9O,EAAExC,EAAEE,EAAE,CAAC,IAAIkD,EAAE,IAAItD,EAAE,IAAI,EAAE,IAAI0C,EAAE,IAAI8O,GAAGC,EAAEwR,GAAG,CAAC,OAAOhjB,EAAE,QAAQG,CAAA,CAAE,EAAEM,EAAEua,GAAG,KAAKxJ,EAAE9Q,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,EAAS,OAAAuiB,GAAG,CAAC,OAAOjjB,EAAE,QAAQG,EAAE,UAAUM,EAAE,CAAC,CCM/gsC,SAAA6iB,GAAYza,EAAO,EAAG,CACpC,OAAI,WAAW,QAAU,MAAQ,WAAW,OAAO,aAAe,KACzD,WAAW,OAAO,YAAYA,CAAI,EAEpC,IAAI,WAAWA,CAAI,CAC5B,CCVO,SAAS0a,GAAOC,EAAQ/W,EAAQ,CAChCA,IACHA,EAAS+W,EAAO,OAAO,CAACC,EAAKC,IAASD,EAAMC,EAAK,OAAQ,CAAC,GAE5D,MAAMnkB,EAAS+jB,GAAY7W,CAAM,EACjC,IAAIkX,EAAS,EACb,UAAWC,KAAOJ,EAChBjkB,EAAO,IAAIqkB,EAAKD,CAAM,EACtBA,GAAUC,EAAI,OAEhB,OAAOrkB,CACT,CCZA,SAAS+O,GAAKC,EAAUjR,EAAM,CAC5B,GAAIiR,EAAS,QAAU,IACrB,MAAM,IAAI,UAAU,mBAAmB,EAGzC,QADIC,EAAW,IAAI,WAAW,GAAG,EACxBlL,EAAI,EAAGA,EAAIkL,EAAS,OAAQlL,IACnCkL,EAASlL,CAAC,EAAI,IAEhB,QAASnD,EAAI,EAAGA,EAAIoO,EAAS,OAAQpO,IAAK,CACxC,IAAIsO,EAAIF,EAAS,OAAOpO,CAAC,EACrBuO,EAAKD,EAAE,WAAW,CAAC,EACvB,GAAID,EAASE,CAAE,IAAM,IACnB,MAAM,IAAI,UAAUD,EAAI,eAAe,EAEzCD,EAASE,CAAE,EAAIvO,CAChB,CACD,IAAIwO,EAAOJ,EAAS,OAChBK,EAASL,EAAS,OAAO,CAAC,EAC1BM,EAAS,KAAK,IAAIF,CAAI,EAAI,KAAK,IAAI,GAAG,EACtCG,EAAU,KAAK,IAAI,GAAG,EAAI,KAAK,IAAIH,CAAI,EAC3C,SAASI,EAAOC,EAAQ,CAOtB,GANIA,aAAkB,aACb,YAAY,OAAOA,CAAM,EAChCA,EAAS,IAAI,WAAWA,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,EAClE,MAAM,QAAQA,CAAM,IAC7BA,EAAS,WAAW,KAAKA,CAAM,IAE7B,EAAEA,aAAkB,YACtB,MAAM,IAAI,UAAU,qBAAqB,EAE3C,GAAIA,EAAO,SAAW,EACpB,MAAO,GAMT,QAJIC,EAAS,EACTxC,EAAS,EACTyC,EAAS,EACTC,EAAOH,EAAO,OACXE,IAAWC,GAAQH,EAAOE,CAAM,IAAM,GAC3CA,IACAD,IAIF,QAFIpG,GAAQsG,EAAOD,GAAUJ,EAAU,IAAM,EACzCM,EAAM,IAAI,WAAWvG,CAAI,EACtBqG,IAAWC,GAAM,CAGtB,QAFIE,EAAQL,EAAOE,CAAM,EACrB/O,EAAI,EACCmP,EAAMzG,EAAO,GAAIwG,IAAU,GAAKlP,EAAIsM,IAAW6C,IAAQ,GAAIA,IAAOnP,IACzEkP,GAAS,IAAMD,EAAIE,CAAG,IAAM,EAC5BF,EAAIE,CAAG,EAAID,EAAQV,IAAS,EAC5BU,EAAQA,EAAQV,IAAS,EAE3B,GAAIU,IAAU,EACZ,MAAM,IAAI,MAAM,gBAAgB,EAElC5C,EAAStM,EACT+O,GACD,CAED,QADIK,EAAM1G,EAAO4D,EACV8C,IAAQ1G,GAAQuG,EAAIG,CAAG,IAAM,GAClCA,IAGF,QADIC,EAAMZ,EAAO,OAAOK,CAAM,EACvBM,EAAM1G,EAAM,EAAE0G,EACnBC,GAAOjB,EAAS,OAAOa,EAAIG,CAAG,CAAC,EAEjC,OAAOC,CACR,CACD,SAASC,EAAaT,EAAQ,CAC5B,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAI,UAAU,iBAAiB,EAEvC,GAAIA,EAAO,SAAW,EACpB,OAAO,IAAI,WAEb,IAAIU,EAAM,EACV,GAAIV,EAAOU,CAAG,IAAM,IAKpB,SAFIT,EAAS,EACTxC,EAAS,EACNuC,EAAOU,CAAG,IAAMd,GACrBK,IACAS,IAIF,QAFI7G,GAAQmG,EAAO,OAASU,GAAOb,EAAS,IAAM,EAC9Cc,EAAO,IAAI,WAAW9G,CAAI,EACvBmG,EAAOU,CAAG,GAAG,CAClB,IAAIL,EAAQb,EAASQ,EAAO,WAAWU,CAAG,CAAC,EAC3C,GAAIL,IAAU,IACZ,OAGF,QADIlP,EAAI,EACC0P,EAAMhH,EAAO,GAAIwG,IAAU,GAAKlP,EAAIsM,IAAWoD,IAAQ,GAAIA,IAAO1P,IACzEkP,GAASV,EAAOgB,EAAKE,CAAG,IAAM,EAC9BF,EAAKE,CAAG,EAAIR,EAAQ,MAAQ,EAC5BA,EAAQA,EAAQ,MAAQ,EAE1B,GAAIA,IAAU,EACZ,MAAM,IAAI,MAAM,gBAAgB,EAElC5C,EAAStM,EACTuP,GACD,CACD,GAAIV,EAAOU,CAAG,IAAM,IAIpB,SADII,EAAMjH,EAAO4D,EACVqD,IAAQjH,GAAQ8G,EAAKG,CAAG,IAAM,GACnCA,IAIF,QAFIC,EAAM,IAAI,WAAWd,GAAUpG,EAAOiH,EAAI,EAC1CxM,EAAI2L,EACDa,IAAQjH,GACbkH,EAAIzM,GAAG,EAAIqM,EAAKG,GAAK,EAEvB,OAAOC,GACR,CACD,SAASC,EAAOtE,EAAQ,CACtB,IAAIuE,EAASR,EAAa/D,CAAM,EAChC,GAAIuE,EACF,OAAOA,EAET,MAAM,IAAI,MAAM,OAAQ3S,CAAM,YAAW,CAC1C,CACD,MAAO,CACL,OAAQyR,EACR,aAAcU,EACd,OAAQO,CACZ,CACA,CACA,IAAI6T,GAAMvV,GACNwV,GAAkCD,GChHtC,MAAME,GAASthB,GAAK,CAClB,GAAIA,aAAa,YAAcA,EAAE,YAAY,OAAS,aACpD,OAAOA,EACT,GAAIA,aAAa,YACf,OAAO,IAAI,WAAWA,CAAC,EACzB,GAAI,YAAY,OAAOA,CAAC,EACtB,OAAO,IAAI,WAAWA,EAAE,OAAQA,EAAE,WAAYA,EAAE,UAAU,EAE5D,MAAM,IAAI,MAAM,mCAAmC,CACrD,EAEMuhB,GAAaxU,GAAO,IAAI,YAAa,EAAC,OAAOA,CAAG,EAChDyU,GAAWvkB,GAAK,IAAI,YAAW,EAAG,OAAOA,CAAC,EC7BhD,MAAMwkB,EAAQ,CACZ,YAAY5mB,EAAM6mB,EAAQC,EAAY,CACpC,KAAK,KAAO9mB,EACZ,KAAK,OAAS6mB,EACd,KAAK,WAAaC,CACnB,CACD,OAAOha,EAAO,CACZ,GAAIA,aAAiB,WACnB,MAAO,GAAI,KAAK,MAAQ,GAAG,KAAK,WAAWA,CAAK,CAAC,GAEjD,MAAM,MAAM,mCAAmC,CAElD,CACH,CACA,MAAMia,EAAQ,CACZ,YAAY/mB,EAAM6mB,EAAQG,EAAY,CAGpC,GAFA,KAAK,KAAOhnB,EACZ,KAAK,OAAS6mB,EACVA,EAAO,YAAY,CAAC,IAAM,OAC5B,MAAM,IAAI,MAAM,0BAA0B,EAE5C,KAAK,gBAAkBA,EAAO,YAAY,CAAC,EAC3C,KAAK,WAAaG,CACnB,CACD,OAAOC,EAAM,CACX,GAAI,OAAOA,GAAS,SAAU,CAC5B,GAAIA,EAAK,YAAY,CAAC,IAAM,KAAK,gBAC/B,MAAM,MAAM,qCAAsC,KAAK,UAAUA,CAAI,CAAC,KAAO,KAAK,IAAI,+CAAiD,KAAK,MAAM,EAAG,EAEvJ,OAAO,KAAK,WAAWA,EAAK,MAAM,KAAK,OAAO,MAAM,CAAC,CAC3D,KACM,OAAM,MAAM,mCAAmC,CAElD,CACD,GAAGC,EAAS,CACV,OAAOhO,GAAG,KAAMgO,CAAO,CACxB,CACH,CACA,MAAMC,EAAgB,CACpB,YAAYC,EAAU,CACpB,KAAK,SAAWA,CACjB,CACD,GAAGF,EAAS,CACV,OAAOhO,GAAG,KAAMgO,CAAO,CACxB,CACD,OAAOG,EAAO,CACZ,MAAMR,EAASQ,EAAM,CAAC,EAChBH,EAAU,KAAK,SAASL,CAAM,EACpC,GAAIK,EACF,OAAOA,EAAQ,OAAOG,CAAK,EAE3B,MAAM,WAAW,qCAAsC,KAAK,UAAUA,CAAK,CAAC,+BAAiC,OAAO,KAAK,KAAK,QAAQ,CAAG,gBAAe,CAE3J,CACH,CACO,MAAMnO,GAAK,CAACoO,EAAMC,IAAU,IAAIJ,GAAgB,CACrD,GAAGG,EAAK,UAAY,CAAE,CAACA,EAAK,MAAM,EAAGA,CAAM,EAC3C,GAAGC,EAAM,UAAY,CAAE,CAACA,EAAM,MAAM,EAAGA,CAAO,CAChD,CAAC,EACM,MAAMC,EAAM,CACjB,YAAYxnB,EAAM6mB,EAAQC,EAAYE,EAAY,CAChD,KAAK,KAAOhnB,EACZ,KAAK,OAAS6mB,EACd,KAAK,WAAaC,EAClB,KAAK,WAAaE,EAClB,KAAK,QAAU,IAAIJ,GAAQ5mB,EAAM6mB,EAAQC,CAAU,EACnD,KAAK,QAAU,IAAIC,GAAQ/mB,EAAM6mB,EAAQG,CAAU,CACpD,CACD,OAAOK,EAAO,CACZ,OAAO,KAAK,QAAQ,OAAOA,CAAK,CACjC,CACD,OAAOA,EAAO,CACZ,OAAO,KAAK,QAAQ,OAAOA,CAAK,CACjC,CACH,CACO,MAAM1nB,GAAO,CAAC,CAAC,KAAAK,EAAM,OAAA6mB,EAAQ,OAAApV,EAAQ,OAAAiB,CAAM,IAAM,IAAI8U,GAAMxnB,EAAM6mB,EAAQpV,EAAQiB,CAAM,EACjF+U,GAAQ,CAAC,CAAC,OAAAZ,EAAQ,KAAA7mB,EAAM,SAAA0nB,CAAQ,IAAM,CACjD,KAAM,CAAC,OAAAjW,EAAQ,OAAAiB,CAAM,EAAIE,GAAM8U,EAAU1nB,CAAI,EAC7C,OAAOL,GAAK,CACV,OAAAknB,EACA,KAAA7mB,EACA,OAAAyR,EACA,OAAQwV,GAAQR,GAAO/T,EAAOuU,CAAI,CAAC,CACvC,CAAG,CACH,EACMvU,GAAS,CAACtE,EAAQsZ,EAAUC,EAAa3nB,IAAS,CACtD,MAAM4nB,EAAQ,GACd,QAAS/kB,EAAI,EAAGA,EAAI6kB,EAAS,OAAQ,EAAE7kB,EACrC+kB,EAAMF,EAAS7kB,CAAC,CAAC,EAAIA,EAEvB,IAAIglB,EAAMzZ,EAAO,OACjB,KAAOA,EAAOyZ,EAAM,CAAC,IAAM,KACzB,EAAEA,EAEJ,MAAMC,EAAM,IAAI,WAAWD,EAAMF,EAAc,EAAI,CAAC,EACpD,IAAII,EAAO,EACPpV,EAAS,EACTqV,EAAU,EACd,QAASnlB,EAAI,EAAGA,EAAIglB,EAAK,EAAEhlB,EAAG,CAC5B,MAAMoB,EAAQ2jB,EAAMxZ,EAAOvL,CAAC,CAAC,EAC7B,GAAIoB,IAAU,OACZ,MAAM,IAAI,YAAY,OAAQjE,CAAM,YAAW,EAEjD2S,EAASA,GAAUgV,EAAc1jB,EACjC8jB,GAAQJ,EACJI,GAAQ,IACVA,GAAQ,EACRD,EAAIE,GAAS,EAAI,IAAMrV,GAAUoV,EAEpC,CACD,GAAIA,GAAQJ,GAAe,IAAMhV,GAAU,EAAIoV,EAC7C,MAAM,IAAI,YAAY,wBAAwB,EAEhD,OAAOD,CACT,EACMrW,GAAS,CAACqB,EAAM4U,EAAUC,IAAgB,CAC9C,MAAMpb,EAAMmb,EAASA,EAAS,OAAS,CAAC,IAAM,IACxCO,GAAQ,GAAKN,GAAe,EAClC,IAAIG,EAAM,GACNC,EAAO,EACPpV,EAAS,EACb,QAAS9P,EAAI,EAAGA,EAAIiQ,EAAK,OAAQ,EAAEjQ,EAGjC,IAFA8P,EAASA,GAAU,EAAIG,EAAKjQ,CAAC,EAC7BklB,GAAQ,EACDA,EAAOJ,GACZI,GAAQJ,EACRG,GAAOJ,EAASO,EAAOtV,GAAUoV,CAAI,EAMzC,GAHIA,IACFD,GAAOJ,EAASO,EAAOtV,GAAUgV,EAAcI,CAAI,GAEjDxb,EACF,KAAOub,EAAI,OAASH,EAAc,GAChCG,GAAO,IAGX,OAAOA,CACT,EACaI,GAAU,CAAC,CAAC,KAAAloB,EAAM,OAAA6mB,EAAQ,YAAAc,EAAa,SAAAD,CAAQ,IACnD/nB,GAAK,CACV,OAAAknB,EACA,KAAA7mB,EACA,OAAOqnB,EAAO,CACZ,OAAO5V,GAAO4V,EAAOK,EAAUC,CAAW,CAC3C,EACD,OAAON,EAAO,CACZ,OAAO3U,GAAO2U,EAAOK,EAAUC,EAAa3nB,CAAI,CACjD,CACL,CAAG,EClJUmoB,GAAWxoB,GAAK,CAC3B,OAAQ,KACR,KAAM,WACN,OAAQyoB,GAAOzB,GAASyB,CAAG,EAC3B,OAAQlW,GAAOwU,GAAWxU,CAAG,CAC/B,CAAC,4GCTYmW,GAAQH,GAAQ,CAC3B,OAAQ,IACR,KAAM,QACN,SAAU,KACV,YAAa,CACf,CAAC,yGCLYI,GAAQJ,GAAQ,CAC3B,OAAQ,IACR,KAAM,QACN,SAAU,WACV,YAAa,CACf,CAAC,yGCLYK,GAASd,GAAM,CAC1B,OAAQ,IACR,KAAM,SACN,SAAU,YACZ,CAAC,0GCJYe,GAASN,GAAQ,CAC5B,OAAQ,IACR,KAAM,SACN,SAAU,mBACV,YAAa,CACf,CAAC,EACYO,GAAcP,GAAQ,CACjC,OAAQ,IACR,KAAM,cACN,SAAU,mBACV,YAAa,CACf,CAAC,yHCXYQ,GAASR,GAAQ,CAC5B,OAAQ,IACR,KAAM,SACN,SAAU,mCACV,YAAa,CACf,CAAC,EACYS,GAAcT,GAAQ,CACjC,OAAQ,IACR,KAAM,cACN,SAAU,mCACV,YAAa,CACf,CAAC,EACYU,GAAYV,GAAQ,CAC/B,OAAQ,IACR,KAAM,YACN,SAAU,oCACV,YAAa,CACf,CAAC,EACYW,GAAiBX,GAAQ,CACpC,OAAQ,IACR,KAAM,iBACN,SAAU,oCACV,YAAa,CACf,CAAC,EACYY,GAAYZ,GAAQ,CAC/B,OAAQ,IACR,KAAM,YACN,SAAU,mCACV,YAAa,CACf,CAAC,EACYa,GAAiBb,GAAQ,CACpC,OAAQ,IACR,KAAM,iBACN,SAAU,mCACV,YAAa,CACf,CAAC,EACYc,GAAed,GAAQ,CAClC,OAAQ,IACR,KAAM,eACN,SAAU,oCACV,YAAa,CACf,CAAC,EACYe,GAAoBf,GAAQ,CACvC,OAAQ,IACR,KAAM,oBACN,SAAU,oCACV,YAAa,CACf,CAAC,EACYgB,GAAUhB,GAAQ,CAC7B,OAAQ,IACR,KAAM,UACN,SAAU,mCACV,YAAa,CACf,CAAC,uOCrDYiB,GAAS1B,GAAM,CAC1B,OAAQ,IACR,KAAM,SACN,SAAU,sCACZ,CAAC,EACY2B,GAAc3B,GAAM,CAC/B,OAAQ,IACR,KAAM,cACN,SAAU,sCACZ,CAAC,yHCTY4B,GAAY5B,GAAM,CAC7B,KAAM,YACN,OAAQ,IACR,SAAU,4DACZ,CAAC,EACY6B,GAAe7B,GAAM,CAChC,KAAM,eACN,OAAQ,IACR,SAAU,4DACZ,CAAC,6HCTY8B,GAASrB,GAAQ,CAC5B,OAAQ,IACR,KAAM,SACN,SAAU,mEACV,YAAa,CACf,CAAC,EACYsB,GAAYtB,GAAQ,CAC/B,OAAQ,IACR,KAAM,YACN,SAAU,oEACV,YAAa,CACf,CAAC,EACYuB,GAAYvB,GAAQ,CAC/B,OAAQ,IACR,KAAM,YACN,SAAU,mEACV,YAAa,CACf,CAAC,EACYwB,GAAexB,GAAQ,CAClC,OAAQ,IACR,KAAM,eACN,SAAU,oEACV,YAAa,CACf,CAAC,oJCvBKR,GAAW,MAAM,KAAK,weAAs2F,EAC53FiC,GAAuBjC,GAAS,OAAO,CAACrlB,EAAGc,EAAGN,KAClDR,EAAEQ,CAAC,EAAIM,EACAd,GACN,CAAE,GACCunB,GAAuBlC,GAAS,OAAO,CAACrlB,EAAGc,EAAGN,KAClDR,EAAEc,EAAE,YAAY,CAAC,CAAC,EAAIN,EACfR,GACN,CAAE,GACL,SAASoP,GAAOqB,EAAM,CACpB,OAAOA,EAAK,OAAO,CAACzQ,EAAGc,KACrBd,GAAKsnB,GAAqBxmB,CAAC,EACpBd,GACN,EAAE,CACP,CACA,SAASqQ,GAAOR,EAAK,CACnB,MAAM2X,EAAO,GACb,UAAW5a,KAAQiD,EAAK,CACtB,MAAM4X,EAAMF,GAAqB3a,EAAK,YAAY,CAAC,CAAC,EACpD,GAAI6a,IAAQ,OACV,MAAM,IAAI,MAAM,+BAAgC7a,CAAI,EAAG,EAEzD4a,EAAK,KAAKC,CAAG,CACd,CACD,OAAO,IAAI,WAAWD,CAAI,CAC5B,CACO,MAAME,GAAepqB,GAAK,CAC/B,OAAQ,KACR,KAAM,eACN,OAAA8R,GACA,OAAAiB,EACF,CAAC,gHChCmB,IAAI,YACJ,IAAI,YCoBxB,MAAMsX,GAAQ,CACZ,GAAGC,GACH,GAAG5B,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGE,GACH,GAAGS,GACH,GAAGe,GACH,GAAGX,GACH,GAAGQ,EACL,EC9BA,SAASI,GAAYnqB,EAAM6mB,EAAQpV,EAAQiB,EAAQ,CACjD,MAAO,CACL,KAAA1S,EACA,OAAA6mB,EACA,QAAS,CACP,KAAA7mB,EACA,OAAA6mB,EACA,OAAApV,CACD,EACD,QAAS,CAAE,OAAAiB,CAAQ,CACvB,CACA,CACA,MAAMtE,GAAS+b,GAAY,OAAQ,IAAK/B,GAE/B,IADS,IAAI,YAAY,MAAM,EACjB,OAAOA,CAAG,EAC9BlW,GACe,IAAI,cACL,OAAOA,EAAI,UAAU,CAAC,CAAC,CACvC,EACKkY,GAAQD,GAAY,QAAS,IAAK/B,GAAO,CAC7C,IAAIha,EAAS,IACb,QAASvL,EAAI,EAAGA,EAAIulB,EAAI,OAAQvlB,IAC9BuL,GAAU,OAAO,aAAaga,EAAIvlB,CAAC,CAAC,EAEtC,OAAOuL,CACT,EAAG8D,GAAO,CACRA,EAAMA,EAAI,UAAU,CAAC,EACrB,MAAMkW,EAAMpC,GAAY9T,EAAI,MAAM,EAClC,QAASrP,EAAI,EAAGA,EAAIqP,EAAI,OAAQrP,IAC9BulB,EAAIvlB,CAAC,EAAIqP,EAAI,WAAWrP,CAAC,EAE3B,OAAOulB,CACT,CAAC,EACKiC,GAAQ,CACZ,KAAMjc,GACN,QAASA,GACT,IAAK4b,GAAM,OACX,OAAQI,GACR,MAAOA,GACP,OAAQA,GACR,GAAGJ,EACL,EC1CgB,SAAAtD,GAAWtY,EAAQkc,EAAW,OAAQ,CAC9C,MAAAtZ,EAAOgZ,GAAMM,CAAQ,EAC3B,GAAI,CAACtZ,EACH,MAAM,IAAI,MAAM,yBAA0BsZ,CAAS,GAAG,EAEnD,OAAAA,IAAa,QAAUA,IAAa,UAAY,WAAW,QAAU,MAAQ,WAAW,OAAO,MAAQ,KACnG,WAAW,OAAO,KAAKlc,EAAQ,MAAM,EAEvC4C,EAAK,QAAQ,OAAO,GAAIA,EAAK,MAAO,GAAI5C,CAAO,EAAE,CAC1D,CCTgB,SAAAuY,GAAS4D,EAAOD,EAAW,OAAQ,CAC3C,MAAAtZ,EAAOgZ,GAAMM,CAAQ,EAC3B,GAAI,CAACtZ,EACH,MAAM,IAAI,MAAM,yBAA0BsZ,CAAS,GAAG,EAEnD,OAAAA,IAAa,QAAUA,IAAa,UAAY,WAAW,QAAU,MAAQ,WAAW,OAAO,MAAQ,KACnG,WAAW,OAAO,KAAKC,EAAM,OAAQA,EAAM,WAAYA,EAAM,UAAU,EAAE,SAAS,MAAM,EAE1FvZ,EAAK,QAAQ,OAAOuZ,CAAK,EAAE,UAAU,CAAC,CAC/C,ssCCVC,SAAUC,EAAQhlB,EAAS,CAI1B,SAASilB,EAAQC,EAAKC,EAAK,CACzB,GAAI,CAACD,EAAK,MAAM,IAAI,MAAMC,GAAO,kBAAkB,CACpD,CAID,SAASC,EAAUC,EAAMC,EAAW,CAClCD,EAAK,OAASC,EACd,IAAIC,EAAW,UAAY,GAC3BA,EAAS,UAAYD,EAAU,UAC/BD,EAAK,UAAY,IAAIE,EACrBF,EAAK,UAAU,YAAcA,CAC9B,CAID,SAASG,EAAIC,EAAQja,EAAMka,EAAQ,CACjC,GAAIF,EAAG,KAAKC,CAAM,EAChB,OAAOA,EAGT,KAAK,SAAW,EAChB,KAAK,MAAQ,KACb,KAAK,OAAS,EAGd,KAAK,IAAM,KAEPA,IAAW,QACTja,IAAS,MAAQA,IAAS,QAC5Bka,EAASla,EACTA,EAAO,IAGT,KAAK,MAAMia,GAAU,EAAGja,GAAQ,GAAIka,GAAU,IAAI,EAErD,CACG,OAAOV,GAAW,SACpBA,EAAO,QAAUQ,EAEjBxlB,EAAQ,GAAKwlB,EAGfA,EAAG,GAAKA,EACRA,EAAG,SAAW,GAEd,IAAIG,EACJ,GAAI,CACE,OAAO,OAAW,KAAe,OAAO,OAAO,OAAW,IAC5DA,EAAS,OAAO,OAEhBA,EAAS1jB,GAAkB,MAE9B,MAAW,CACX,CAEDujB,EAAG,KAAO,SAAeI,EAAK,CAC5B,OAAIA,aAAeJ,EACV,GAGFI,IAAQ,MAAQ,OAAOA,GAAQ,UACpCA,EAAI,YAAY,WAAaJ,EAAG,UAAY,MAAM,QAAQI,EAAI,KAAK,CACzE,EAEEJ,EAAG,IAAM,SAAc1D,EAAMC,EAAO,CAClC,OAAID,EAAK,IAAIC,CAAK,EAAI,EAAUD,EACzBC,CACX,EAEEyD,EAAG,IAAM,SAAc1D,EAAMC,EAAO,CAClC,OAAID,EAAK,IAAIC,CAAK,EAAI,EAAUD,EACzBC,CACX,EAEEyD,EAAG,UAAU,MAAQ,SAAeC,EAAQja,EAAMka,EAAQ,CACxD,GAAI,OAAOD,GAAW,SACpB,OAAO,KAAK,YAAYA,EAAQja,EAAMka,CAAM,EAG9C,GAAI,OAAOD,GAAW,SACpB,OAAO,KAAK,WAAWA,EAAQja,EAAMka,CAAM,EAGzCla,IAAS,QACXA,EAAO,IAETyZ,EAAOzZ,KAAUA,EAAO,IAAMA,GAAQ,GAAKA,GAAQ,EAAE,EAErDia,EAASA,EAAO,SAAQ,EAAG,QAAQ,OAAQ,EAAE,EAC7C,IAAII,EAAQ,EACRJ,EAAO,CAAC,IAAM,MAChBI,IACA,KAAK,SAAW,GAGdA,EAAQJ,EAAO,SACbja,IAAS,GACX,KAAK,UAAUia,EAAQI,EAAOH,CAAM,GAEpC,KAAK,WAAWD,EAAQja,EAAMqa,CAAK,EAC/BH,IAAW,MACb,KAAK,WAAW,KAAK,QAAO,EAAIla,EAAMka,CAAM,GAItD,EAEEF,EAAG,UAAU,YAAc,SAAsBC,EAAQja,EAAMka,EAAQ,CACjED,EAAS,IACX,KAAK,SAAW,EAChBA,EAAS,CAACA,GAERA,EAAS,UACX,KAAK,MAAQ,CAAEA,EAAS,QAAS,EACjC,KAAK,OAAS,GACLA,EAAS,kBAClB,KAAK,MAAQ,CACXA,EAAS,SACRA,EAAS,SAAa,QAC/B,EACM,KAAK,OAAS,IAEdR,EAAOQ,EAAS,gBAAgB,EAChC,KAAK,MAAQ,CACXA,EAAS,SACRA,EAAS,SAAa,SACvB,CACR,EACM,KAAK,OAAS,GAGZC,IAAW,MAGf,KAAK,WAAW,KAAK,QAAO,EAAIla,EAAMka,CAAM,CAChD,EAEEF,EAAG,UAAU,WAAa,SAAqBC,EAAQja,EAAMka,EAAQ,CAGnE,GADAT,EAAO,OAAOQ,EAAO,QAAW,QAAQ,EACpCA,EAAO,QAAU,EACnB,YAAK,MAAQ,CAAE,GACf,KAAK,OAAS,EACP,KAGT,KAAK,OAAS,KAAK,KAAKA,EAAO,OAAS,CAAC,EACzC,KAAK,MAAQ,IAAI,MAAM,KAAK,MAAM,EAClC,QAASpoB,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC/B,KAAK,MAAMA,CAAC,EAAI,EAGlB,IAAImD,EAAGgQ,EACHsV,EAAM,EACV,GAAIJ,IAAW,KACb,IAAKroB,EAAIooB,EAAO,OAAS,EAAGjlB,EAAI,EAAGnD,GAAK,EAAGA,GAAK,EAC9CmT,EAAIiV,EAAOpoB,CAAC,EAAKooB,EAAOpoB,EAAI,CAAC,GAAK,EAAMooB,EAAOpoB,EAAI,CAAC,GAAK,GACzD,KAAK,MAAMmD,CAAC,GAAMgQ,GAAKsV,EAAO,SAC9B,KAAK,MAAMtlB,EAAI,CAAC,EAAKgQ,IAAO,GAAKsV,EAAQ,SACzCA,GAAO,GACHA,GAAO,KACTA,GAAO,GACPtlB,aAGKklB,IAAW,KACpB,IAAKroB,EAAI,EAAGmD,EAAI,EAAGnD,EAAIooB,EAAO,OAAQpoB,GAAK,EACzCmT,EAAIiV,EAAOpoB,CAAC,EAAKooB,EAAOpoB,EAAI,CAAC,GAAK,EAAMooB,EAAOpoB,EAAI,CAAC,GAAK,GACzD,KAAK,MAAMmD,CAAC,GAAMgQ,GAAKsV,EAAO,SAC9B,KAAK,MAAMtlB,EAAI,CAAC,EAAKgQ,IAAO,GAAKsV,EAAQ,SACzCA,GAAO,GACHA,GAAO,KACTA,GAAO,GACPtlB,KAIN,OAAO,KAAK,OAChB,EAEE,SAASulB,EAAend,EAAQgB,EAAO,CACrC,IAAIjM,EAAIiL,EAAO,WAAWgB,CAAK,EAE/B,OAAIjM,GAAK,IAAMA,GAAK,GACXA,EAAI,GAEFA,GAAK,IAAMA,GAAK,IAClBA,EAAI,GAGHA,EAAI,GAAM,EAErB,CAED,SAASqoB,EAAcpd,EAAQqd,EAAYrc,EAAO,CAChD,IAAIhM,EAAImoB,EAAcnd,EAAQgB,CAAK,EACnC,OAAIA,EAAQ,GAAKqc,IACfroB,GAAKmoB,EAAcnd,EAAQgB,EAAQ,CAAC,GAAK,GAEpChM,CACR,CAED4nB,EAAG,UAAU,UAAY,SAAoBC,EAAQI,EAAOH,EAAQ,CAElE,KAAK,OAAS,KAAK,MAAMD,EAAO,OAASI,GAAS,CAAC,EACnD,KAAK,MAAQ,IAAI,MAAM,KAAK,MAAM,EAClC,QAASxoB,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC/B,KAAK,MAAMA,CAAC,EAAI,EAIlB,IAAIyoB,EAAM,EACNtlB,EAAI,EAEJgQ,EACJ,GAAIkV,IAAW,KACb,IAAKroB,EAAIooB,EAAO,OAAS,EAAGpoB,GAAKwoB,EAAOxoB,GAAK,EAC3CmT,EAAIwV,EAAaP,EAAQI,EAAOxoB,CAAC,GAAKyoB,EACtC,KAAK,MAAMtlB,CAAC,GAAKgQ,EAAI,SACjBsV,GAAO,IACTA,GAAO,GACPtlB,GAAK,EACL,KAAK,MAAMA,CAAC,GAAKgQ,IAAM,IAEvBsV,GAAO,MAGN,CACL,IAAII,EAAcT,EAAO,OAASI,EAClC,IAAKxoB,EAAI6oB,EAAc,IAAM,EAAIL,EAAQ,EAAIA,EAAOxoB,EAAIooB,EAAO,OAAQpoB,GAAK,EAC1EmT,EAAIwV,EAAaP,EAAQI,EAAOxoB,CAAC,GAAKyoB,EACtC,KAAK,MAAMtlB,CAAC,GAAKgQ,EAAI,SACjBsV,GAAO,IACTA,GAAO,GACPtlB,GAAK,EACL,KAAK,MAAMA,CAAC,GAAKgQ,IAAM,IAEvBsV,GAAO,CAGZ,CAED,KAAK,MAAK,CACd,EAEE,SAASK,EAAWzZ,EAAKmZ,EAAOxD,EAAK+D,EAAK,CAGxC,QAFIxoB,EAAI,EACJyoB,EAAM,KAAK,IAAI3Z,EAAI,OAAQ2V,CAAG,EACzBhlB,EAAIwoB,EAAOxoB,EAAIgpB,EAAKhpB,IAAK,CAChC,IAAIM,EAAI+O,EAAI,WAAWrP,CAAC,EAAI,GAE5BO,GAAKwoB,EAGDzoB,GAAK,GACPC,GAAKD,EAAI,GAAK,GAGLA,GAAK,GACdC,GAAKD,EAAI,GAAK,GAIdC,GAAKD,CAER,CACD,OAAOC,CACR,CAED4nB,EAAG,UAAU,WAAa,SAAqBC,EAAQja,EAAMqa,EAAO,CAElE,KAAK,MAAQ,CAAE,GACf,KAAK,OAAS,EAGd,QAASS,EAAU,EAAGC,EAAU,EAAGA,GAAW,SAAWA,GAAW/a,EAClE8a,IAEFA,IACAC,EAAWA,EAAU/a,EAAQ,EAO7B,QALIgb,EAAQf,EAAO,OAASI,EACxBvkB,EAAMklB,EAAQF,EACdjE,EAAM,KAAK,IAAImE,EAAOA,EAAQllB,CAAG,EAAIukB,EAErCY,EAAO,EACFppB,EAAIwoB,EAAOxoB,EAAIglB,EAAKhlB,GAAKipB,EAChCG,EAAON,EAAUV,EAAQpoB,EAAGA,EAAIipB,EAAS9a,CAAI,EAE7C,KAAK,MAAM+a,CAAO,EACd,KAAK,MAAM,CAAC,EAAIE,EAAO,SACzB,KAAK,MAAM,CAAC,GAAKA,EAEjB,KAAK,OAAOA,CAAI,EAIpB,GAAInlB,IAAQ,EAAG,CACb,IAAIolB,EAAM,EAGV,IAFAD,EAAON,EAAUV,EAAQpoB,EAAGooB,EAAO,OAAQja,CAAI,EAE1CnO,EAAI,EAAGA,EAAIiE,EAAKjE,IACnBqpB,GAAOlb,EAGT,KAAK,MAAMkb,CAAG,EACV,KAAK,MAAM,CAAC,EAAID,EAAO,SACzB,KAAK,MAAM,CAAC,GAAKA,EAEjB,KAAK,OAAOA,CAAI,CAEnB,CAED,KAAK,MAAK,CACd,EAEEjB,EAAG,UAAU,KAAO,SAAemB,EAAM,CACvCA,EAAK,MAAQ,IAAI,MAAM,KAAK,MAAM,EAClC,QAAStpB,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC/BspB,EAAK,MAAMtpB,CAAC,EAAI,KAAK,MAAMA,CAAC,EAE9BspB,EAAK,OAAS,KAAK,OACnBA,EAAK,SAAW,KAAK,SACrBA,EAAK,IAAM,KAAK,GACpB,EAEEnB,EAAG,UAAU,MAAQ,UAAkB,CACrC,IAAI5nB,EAAI,IAAI4nB,EAAG,IAAI,EACnB,YAAK,KAAK5nB,CAAC,EACJA,CACX,EAEE4nB,EAAG,UAAU,QAAU,SAAkBzf,EAAM,CAC7C,KAAO,KAAK,OAASA,GACnB,KAAK,MAAM,KAAK,QAAQ,EAAI,EAE9B,OAAO,IACX,EAGEyf,EAAG,UAAU,MAAQ,UAAkB,CACrC,KAAO,KAAK,OAAS,GAAK,KAAK,MAAM,KAAK,OAAS,CAAC,IAAM,GACxD,KAAK,SAEP,OAAO,KAAK,WAChB,EAEEA,EAAG,UAAU,UAAY,UAAsB,CAE7C,OAAI,KAAK,SAAW,GAAK,KAAK,MAAM,CAAC,IAAM,IACzC,KAAK,SAAW,GAEX,IACX,EAEEA,EAAG,UAAU,QAAU,UAAoB,CACzC,OAAQ,KAAK,IAAM,UAAY,SAAW,KAAK,SAAS,EAAE,EAAI,GAClE,EAgCE,IAAIoB,EAAQ,CACV,GACA,IACA,KACA,MACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,cACA,eACA,gBACA,iBACA,kBACA,mBACA,oBACA,qBACA,sBACA,uBACA,wBACA,yBACA,0BACA,2BACA,2BACJ,EAEMC,EAAa,CACf,EAAG,EACH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EACvB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CACtB,EAEMC,EAAa,CACf,EAAG,EACH,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAC5D,SAAU,IAAU,SAAU,SAAU,SAAU,QAAS,SAC3D,SAAU,SAAU,SAAU,SAAU,KAAU,QAAS,QAC3D,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,SACzD,MAAU,SAAU,SAAU,SAAU,SAAU,SAAU,QAChE,EAEEtB,EAAG,UAAU,SAAW,SAAmBha,EAAMub,EAAS,CACxDvb,EAAOA,GAAQ,GACfub,EAAUA,EAAU,GAAK,EAEzB,IAAIzE,EACJ,GAAI9W,IAAS,IAAMA,IAAS,MAAO,CACjC8W,EAAM,GAGN,QAFIwD,EAAM,EACNvZ,EAAQ,EACHlP,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAAK,CACpC,IAAImT,EAAI,KAAK,MAAMnT,CAAC,EAChBopB,IAAUjW,GAAKsV,EAAOvZ,GAAS,UAAU,SAAS,EAAE,EACxDA,EAASiE,IAAO,GAAKsV,EAAQ,SACzBvZ,IAAU,GAAKlP,IAAM,KAAK,OAAS,EACrCilB,EAAMsE,EAAM,EAAIH,EAAK,MAAM,EAAIA,EAAOnE,EAEtCA,EAAMmE,EAAOnE,EAEfwD,GAAO,EACHA,GAAO,KACTA,GAAO,GACPzoB,IAEH,CAID,IAHIkP,IAAU,IACZ+V,EAAM/V,EAAM,SAAS,EAAE,EAAI+V,GAEtBA,EAAI,OAASyE,IAAY,GAC9BzE,EAAM,IAAMA,EAEd,OAAI,KAAK,WAAa,IACpBA,EAAM,IAAMA,GAEPA,CACR,CAED,GAAI9W,KAAUA,EAAO,IAAMA,GAAQ,GAAKA,GAAQ,GAAI,CAElD,IAAIwb,EAAYH,EAAWrb,CAAI,EAE3Byb,EAAYH,EAAWtb,CAAI,EAC/B8W,EAAM,GACN,IAAI3kB,EAAI,KAAK,QAEb,IADAA,EAAE,SAAW,EACN,CAACA,EAAE,UAAU,CAClB,IAAIC,EAAID,EAAE,KAAKspB,CAAS,EAAE,SAASzb,CAAI,EACvC7N,EAAIA,EAAE,MAAMspB,CAAS,EAEhBtpB,EAAE,SAGL2kB,EAAM1kB,EAAI0kB,EAFVA,EAAMsE,EAAMI,EAAYppB,EAAE,MAAM,EAAIA,EAAI0kB,CAI3C,CAID,IAHI,KAAK,WACPA,EAAM,IAAMA,GAEPA,EAAI,OAASyE,IAAY,GAC9BzE,EAAM,IAAMA,EAEd,OAAI,KAAK,WAAa,IACpBA,EAAM,IAAMA,GAEPA,CACR,CAED2C,EAAO,GAAO,iCAAiC,CACnD,EAEEO,EAAG,UAAU,SAAW,UAAqB,CAC3C,IAAI0B,EAAM,KAAK,MAAM,CAAC,EACtB,OAAI,KAAK,SAAW,EAClBA,GAAO,KAAK,MAAM,CAAC,EAAI,SACd,KAAK,SAAW,GAAK,KAAK,MAAM,CAAC,IAAM,EAEhDA,GAAO,iBAAoB,KAAK,MAAM,CAAC,EAAI,SAClC,KAAK,OAAS,GACvBjC,EAAO,GAAO,4CAA4C,EAEpD,KAAK,WAAa,EAAK,CAACiC,EAAMA,CAC1C,EAEE1B,EAAG,UAAU,OAAS,UAAmB,CACvC,OAAO,KAAK,SAAS,EAAE,CAC3B,EAEEA,EAAG,UAAU,SAAW,SAAmBE,EAAQ/b,EAAQ,CACzD,OAAAsb,EAAO,OAAOU,EAAW,GAAW,EAC7B,KAAK,YAAYA,EAAQD,EAAQ/b,CAAM,CAClD,EAEE6b,EAAG,UAAU,QAAU,SAAkBE,EAAQ/b,EAAQ,CACvD,OAAO,KAAK,YAAY,MAAO+b,EAAQ/b,CAAM,CACjD,EAEE6b,EAAG,UAAU,YAAc,SAAsB2B,EAAWzB,EAAQ/b,EAAQ,CAC1E,IAAIyd,EAAa,KAAK,aAClBC,EAAY1d,GAAU,KAAK,IAAI,EAAGyd,CAAU,EAChDnC,EAAOmC,GAAcC,EAAW,uCAAuC,EACvEpC,EAAOoC,EAAY,EAAG,6BAA6B,EAEnD,KAAK,MAAK,EACV,IAAIC,EAAe5B,IAAW,KAC1BniB,EAAM,IAAI4jB,EAAUE,CAAS,EAE7BzqB,EAAGS,EACHuD,EAAI,KAAK,QACb,GAAK0mB,EAYE,CACL,IAAKjqB,EAAI,EAAG,CAACuD,EAAE,OAAM,EAAIvD,IACvBT,EAAIgE,EAAE,MAAM,GAAI,EAChBA,EAAE,OAAO,CAAC,EAEV2C,EAAIlG,CAAC,EAAIT,EAGX,KAAOS,EAAIgqB,EAAWhqB,IACpBkG,EAAIlG,CAAC,EAAI,CAEZ,KAvBkB,CAEjB,IAAKA,EAAI,EAAGA,EAAIgqB,EAAYD,EAAY/pB,IACtCkG,EAAIlG,CAAC,EAAI,EAGX,IAAKA,EAAI,EAAG,CAACuD,EAAE,OAAM,EAAIvD,IACvBT,EAAIgE,EAAE,MAAM,GAAI,EAChBA,EAAE,OAAO,CAAC,EAEV2C,EAAI8jB,EAAYhqB,EAAI,CAAC,EAAIT,CAEjC,CAaI,OAAO2G,CACX,EAEM,KAAK,MACPiiB,EAAG,UAAU,WAAa,SAAqBhV,EAAG,CAChD,MAAO,IAAK,KAAK,MAAMA,CAAC,CAC9B,EAEIgV,EAAG,UAAU,WAAa,SAAqBhV,EAAG,CAChD,IAAIvT,EAAIuT,EACJ5S,EAAI,EACR,OAAIX,GAAK,OACPW,GAAK,GACLX,KAAO,IAELA,GAAK,KACPW,GAAK,EACLX,KAAO,GAELA,GAAK,IACPW,GAAK,EACLX,KAAO,GAELA,GAAK,IACPW,GAAK,EACLX,KAAO,GAEFW,EAAIX,CACjB,EAGEuoB,EAAG,UAAU,UAAY,SAAoBhV,EAAG,CAE9C,GAAIA,IAAM,EAAG,MAAO,IAEpB,IAAIvT,EAAIuT,EACJ5S,EAAI,EACR,OAAKX,EAAI,OACPW,GAAK,GACLX,KAAO,IAEJA,EAAI,MACPW,GAAK,EACLX,KAAO,GAEJA,EAAI,KACPW,GAAK,EACLX,KAAO,GAEJA,EAAI,IACPW,GAAK,EACLX,KAAO,GAEJA,EAAI,GACPW,IAEKA,CACX,EAGE4nB,EAAG,UAAU,UAAY,UAAsB,CAC7C,IAAIhV,EAAI,KAAK,MAAM,KAAK,OAAS,CAAC,EAC9B+W,EAAK,KAAK,WAAW/W,CAAC,EAC1B,OAAQ,KAAK,OAAS,GAAK,GAAK+W,CACpC,EAEE,SAASC,EAAY5B,EAAK,CAGxB,QAFIpV,EAAI,IAAI,MAAMoV,EAAI,UAAW,GAExB6B,EAAM,EAAGA,EAAMjX,EAAE,OAAQiX,IAAO,CACvC,IAAI3B,EAAO2B,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjBjX,EAAEiX,CAAG,GAAK7B,EAAI,MAAME,CAAG,EAAK,GAAK4B,KAAWA,CAC7C,CAED,OAAOlX,CACR,CAGDgV,EAAG,UAAU,SAAW,UAAqB,CAC3C,GAAI,KAAK,SAAU,MAAO,GAG1B,QADI5nB,EAAI,EACCP,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAAK,CACpC,IAAIT,EAAI,KAAK,UAAU,KAAK,MAAMS,CAAC,CAAC,EAEpC,GADAO,GAAKhB,EACDA,IAAM,GAAI,KACf,CACD,OAAOgB,CACX,EAEE4nB,EAAG,UAAU,WAAa,UAAuB,CAC/C,OAAO,KAAK,KAAK,KAAK,UAAW,EAAG,CAAC,CACzC,EAEEA,EAAG,UAAU,OAAS,SAAiBmC,EAAO,CAC5C,OAAI,KAAK,WAAa,EACb,KAAK,MAAM,MAAMA,CAAK,EAAE,MAAM,CAAC,EAEjC,KAAK,OAChB,EAEEnC,EAAG,UAAU,SAAW,SAAmBmC,EAAO,CAChD,OAAI,KAAK,MAAMA,EAAQ,CAAC,EACf,KAAK,KAAKA,CAAK,EAAE,MAAM,CAAC,EAAE,OAE5B,KAAK,OAChB,EAEEnC,EAAG,UAAU,MAAQ,UAAkB,CACrC,OAAO,KAAK,WAAa,CAC7B,EAGEA,EAAG,UAAU,IAAM,UAAgB,CACjC,OAAO,KAAK,QAAQ,MACxB,EAEEA,EAAG,UAAU,KAAO,UAAiB,CACnC,OAAK,KAAK,WACR,KAAK,UAAY,GAGZ,IACX,EAGEA,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,KAAO,KAAK,OAASA,EAAI,QACvB,KAAK,MAAM,KAAK,QAAQ,EAAI,EAG9B,QAASvoB,EAAI,EAAGA,EAAIuoB,EAAI,OAAQvoB,IAC9B,KAAK,MAAMA,CAAC,EAAI,KAAK,MAAMA,CAAC,EAAIuoB,EAAI,MAAMvoB,CAAC,EAG7C,OAAO,KAAK,OAChB,EAEEmoB,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAAX,GAAQ,KAAK,SAAWW,EAAI,YAAc,CAAC,EACpC,KAAK,KAAKA,CAAG,CACxB,EAGEJ,EAAG,UAAU,GAAK,SAAaI,EAAK,CAClC,OAAI,KAAK,OAASA,EAAI,OAAe,KAAK,MAAO,EAAC,IAAIA,CAAG,EAClDA,EAAI,MAAK,EAAG,IAAI,IAAI,CAC/B,EAEEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAI,KAAK,OAASA,EAAI,OAAe,KAAK,MAAO,EAAC,KAAKA,CAAG,EACnDA,EAAI,MAAK,EAAG,KAAK,IAAI,CAChC,EAGEJ,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CAExC,IAAIhpB,EACA,KAAK,OAASgpB,EAAI,OACpBhpB,EAAIgpB,EAEJhpB,EAAI,KAGN,QAASS,EAAI,EAAGA,EAAIT,EAAE,OAAQS,IAC5B,KAAK,MAAMA,CAAC,EAAI,KAAK,MAAMA,CAAC,EAAIuoB,EAAI,MAAMvoB,CAAC,EAG7C,YAAK,OAAST,EAAE,OAET,KAAK,OAChB,EAEE4oB,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAAX,GAAQ,KAAK,SAAWW,EAAI,YAAc,CAAC,EACpC,KAAK,MAAMA,CAAG,CACzB,EAGEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAI,KAAK,OAASA,EAAI,OAAe,KAAK,MAAO,EAAC,KAAKA,CAAG,EACnDA,EAAI,MAAK,EAAG,KAAK,IAAI,CAChC,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAI,KAAK,OAASA,EAAI,OAAe,KAAK,MAAO,EAAC,MAAMA,CAAG,EACpDA,EAAI,MAAK,EAAG,MAAM,IAAI,CACjC,EAGEJ,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CAExC,IAAIrlB,EACA3D,EACA,KAAK,OAASgpB,EAAI,QACpBrlB,EAAI,KACJ3D,EAAIgpB,IAEJrlB,EAAIqlB,EACJhpB,EAAI,MAGN,QAASS,EAAI,EAAGA,EAAIT,EAAE,OAAQS,IAC5B,KAAK,MAAMA,CAAC,EAAIkD,EAAE,MAAMlD,CAAC,EAAIT,EAAE,MAAMS,CAAC,EAGxC,GAAI,OAASkD,EACX,KAAOlD,EAAIkD,EAAE,OAAQlD,IACnB,KAAK,MAAMA,CAAC,EAAIkD,EAAE,MAAMlD,CAAC,EAI7B,YAAK,OAASkD,EAAE,OAET,KAAK,OAChB,EAEEilB,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAAX,GAAQ,KAAK,SAAWW,EAAI,YAAc,CAAC,EACpC,KAAK,MAAMA,CAAG,CACzB,EAGEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAI,KAAK,OAASA,EAAI,OAAe,KAAK,MAAO,EAAC,KAAKA,CAAG,EACnDA,EAAI,MAAK,EAAG,KAAK,IAAI,CAChC,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAI,KAAK,OAASA,EAAI,OAAe,KAAK,MAAO,EAAC,MAAMA,CAAG,EACpDA,EAAI,MAAK,EAAG,MAAM,IAAI,CACjC,EAGEJ,EAAG,UAAU,MAAQ,SAAgBmC,EAAO,CAC1C1C,EAAO,OAAO0C,GAAU,UAAYA,GAAS,CAAC,EAE9C,IAAIC,EAAc,KAAK,KAAKD,EAAQ,EAAE,EAAI,EACtCE,EAAWF,EAAQ,GAGvB,KAAK,QAAQC,CAAW,EAEpBC,EAAW,GACbD,IAIF,QAASvqB,EAAI,EAAGA,EAAIuqB,EAAavqB,IAC/B,KAAK,MAAMA,CAAC,EAAI,CAAC,KAAK,MAAMA,CAAC,EAAI,SAInC,OAAIwqB,EAAW,IACb,KAAK,MAAMxqB,CAAC,EAAI,CAAC,KAAK,MAAMA,CAAC,EAAK,UAAc,GAAKwqB,GAIhD,KAAK,OAChB,EAEErC,EAAG,UAAU,KAAO,SAAemC,EAAO,CACxC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAK,CACnC,EAGEnC,EAAG,UAAU,KAAO,SAAeiC,EAAKvC,EAAK,CAC3CD,EAAO,OAAOwC,GAAQ,UAAYA,GAAO,CAAC,EAE1C,IAAI3B,EAAO2B,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjB,YAAK,QAAQ3B,EAAM,CAAC,EAEhBZ,EACF,KAAK,MAAMY,CAAG,EAAI,KAAK,MAAMA,CAAG,EAAK,GAAK4B,EAE1C,KAAK,MAAM5B,CAAG,EAAI,KAAK,MAAMA,CAAG,EAAI,EAAE,GAAK4B,GAGtC,KAAK,OAChB,EAGElC,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,IAAIhoB,EAGJ,GAAI,KAAK,WAAa,GAAKgoB,EAAI,WAAa,EAC1C,YAAK,SAAW,EAChBhoB,EAAI,KAAK,KAAKgoB,CAAG,EACjB,KAAK,UAAY,EACV,KAAK,YAGP,GAAI,KAAK,WAAa,GAAKA,EAAI,WAAa,EACjD,OAAAA,EAAI,SAAW,EACfhoB,EAAI,KAAK,KAAKgoB,CAAG,EACjBA,EAAI,SAAW,EACRhoB,EAAE,YAIX,IAAI2C,EAAG,EACH,KAAK,OAASqlB,EAAI,QACpBrlB,EAAI,KACJ,EAAIqlB,IAEJrlB,EAAIqlB,EACJ,EAAI,MAIN,QADIrZ,EAAQ,EACHlP,EAAI,EAAGA,EAAI,EAAE,OAAQA,IAC5BO,GAAK2C,EAAE,MAAMlD,CAAC,EAAI,IAAM,EAAE,MAAMA,CAAC,EAAI,GAAKkP,EAC1C,KAAK,MAAMlP,CAAC,EAAIO,EAAI,SACpB2O,EAAQ3O,IAAM,GAEhB,KAAO2O,IAAU,GAAKlP,EAAIkD,EAAE,OAAQlD,IAClCO,GAAK2C,EAAE,MAAMlD,CAAC,EAAI,GAAKkP,EACvB,KAAK,MAAMlP,CAAC,EAAIO,EAAI,SACpB2O,EAAQ3O,IAAM,GAIhB,GADA,KAAK,OAAS2C,EAAE,OACZgM,IAAU,EACZ,KAAK,MAAM,KAAK,MAAM,EAAIA,EAC1B,KAAK,iBAEIhM,IAAM,KACf,KAAOlD,EAAIkD,EAAE,OAAQlD,IACnB,KAAK,MAAMA,CAAC,EAAIkD,EAAE,MAAMlD,CAAC,EAI7B,OAAO,IACX,EAGEmoB,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,IAAIriB,EACJ,OAAIqiB,EAAI,WAAa,GAAK,KAAK,WAAa,GAC1CA,EAAI,SAAW,EACfriB,EAAM,KAAK,IAAIqiB,CAAG,EAClBA,EAAI,UAAY,EACTriB,GACEqiB,EAAI,WAAa,GAAK,KAAK,WAAa,GACjD,KAAK,SAAW,EAChBriB,EAAMqiB,EAAI,IAAI,IAAI,EAClB,KAAK,SAAW,EACTriB,GAGL,KAAK,OAASqiB,EAAI,OAAe,KAAK,MAAO,EAAC,KAAKA,CAAG,EAEnDA,EAAI,MAAK,EAAG,KAAK,IAAI,CAChC,EAGEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CAEtC,GAAIA,EAAI,WAAa,EAAG,CACtBA,EAAI,SAAW,EACf,IAAIhoB,EAAI,KAAK,KAAKgoB,CAAG,EACrB,OAAAA,EAAI,SAAW,EACRhoB,EAAE,WAGf,SAAe,KAAK,WAAa,EAC3B,YAAK,SAAW,EAChB,KAAK,KAAKgoB,CAAG,EACb,KAAK,SAAW,EACT,KAAK,YAId,IAAIkC,EAAM,KAAK,IAAIlC,CAAG,EAGtB,GAAIkC,IAAQ,EACV,YAAK,SAAW,EAChB,KAAK,OAAS,EACd,KAAK,MAAM,CAAC,EAAI,EACT,KAIT,IAAIvnB,EAAG3D,EACHkrB,EAAM,GACRvnB,EAAI,KACJ3D,EAAIgpB,IAEJrlB,EAAIqlB,EACJhpB,EAAI,MAIN,QADI2P,EAAQ,EACHlP,EAAI,EAAGA,EAAIT,EAAE,OAAQS,IAC5BO,GAAK2C,EAAE,MAAMlD,CAAC,EAAI,IAAMT,EAAE,MAAMS,CAAC,EAAI,GAAKkP,EAC1CA,EAAQ3O,GAAK,GACb,KAAK,MAAMP,CAAC,EAAIO,EAAI,SAEtB,KAAO2O,IAAU,GAAKlP,EAAIkD,EAAE,OAAQlD,IAClCO,GAAK2C,EAAE,MAAMlD,CAAC,EAAI,GAAKkP,EACvBA,EAAQ3O,GAAK,GACb,KAAK,MAAMP,CAAC,EAAIO,EAAI,SAItB,GAAI2O,IAAU,GAAKlP,EAAIkD,EAAE,QAAUA,IAAM,KACvC,KAAOlD,EAAIkD,EAAE,OAAQlD,IACnB,KAAK,MAAMA,CAAC,EAAIkD,EAAE,MAAMlD,CAAC,EAI7B,YAAK,OAAS,KAAK,IAAI,KAAK,OAAQA,CAAC,EAEjCkD,IAAM,OACR,KAAK,SAAW,GAGX,KAAK,OAChB,EAGEilB,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,MAAK,EAAG,KAAKA,CAAG,CAChC,EAEE,SAASmC,EAAYC,EAAMpC,EAAKtD,EAAK,CACnCA,EAAI,SAAWsD,EAAI,SAAWoC,EAAK,SACnC,IAAI3B,EAAO2B,EAAK,OAASpC,EAAI,OAAU,EACvCtD,EAAI,OAAS+D,EACbA,EAAOA,EAAM,EAAK,EAGlB,IAAI9lB,EAAIynB,EAAK,MAAM,CAAC,EAAI,EACpBprB,EAAIgpB,EAAI,MAAM,CAAC,EAAI,EACnBhoB,EAAI2C,EAAI3D,EAERof,EAAKpe,EAAI,SACT2O,EAAS3O,EAAI,SAAa,EAC9B0kB,EAAI,MAAM,CAAC,EAAItG,EAEf,QAASnc,EAAI,EAAGA,EAAIwmB,EAAKxmB,IAAK,CAM5B,QAHIooB,EAAS1b,IAAU,GACnB2b,EAAQ3b,EAAQ,SAChB4b,EAAO,KAAK,IAAItoB,EAAG+lB,EAAI,OAAS,CAAC,EAC5BplB,EAAI,KAAK,IAAI,EAAGX,EAAImoB,EAAK,OAAS,CAAC,EAAGxnB,GAAK2nB,EAAM3nB,IAAK,CAC7D,IAAInD,EAAKwC,EAAIW,EAAK,EAClBD,EAAIynB,EAAK,MAAM3qB,CAAC,EAAI,EACpBT,EAAIgpB,EAAI,MAAMplB,CAAC,EAAI,EACnB5C,EAAI2C,EAAI3D,EAAIsrB,EACZD,GAAWrqB,EAAI,SAAa,EAC5BsqB,EAAQtqB,EAAI,QACb,CACD0kB,EAAI,MAAMziB,CAAC,EAAIqoB,EAAQ,EACvB3b,EAAQ0b,EAAS,CAClB,CACD,OAAI1b,IAAU,EACZ+V,EAAI,MAAMziB,CAAC,EAAI0M,EAAQ,EAEvB+V,EAAI,SAGCA,EAAI,OACZ,CAKD,IAAI8F,EAAc,SAAsBJ,EAAMpC,EAAKtD,EAAK,CACtD,IAAI/hB,EAAIynB,EAAK,MACTprB,EAAIgpB,EAAI,MACRjmB,EAAI2iB,EAAI,MACR3kB,EAAI,EACJqe,EACAqM,EACAd,EACAe,EAAK/nB,EAAE,CAAC,EAAI,EACZgoB,EAAMD,EAAK,KACXE,EAAMF,IAAO,GACbG,EAAKloB,EAAE,CAAC,EAAI,EACZmoB,EAAMD,EAAK,KACXE,EAAMF,IAAO,GACbG,GAAKroB,EAAE,CAAC,EAAI,EACZsoB,EAAMD,GAAK,KACXE,EAAMF,KAAO,GACbG,GAAKxoB,EAAE,CAAC,EAAI,EACZyoB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK3oB,EAAE,CAAC,EAAI,EACZ4oB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK9oB,EAAE,CAAC,EAAI,EACZ+oB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKjpB,EAAE,CAAC,EAAI,EACZkpB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKppB,EAAE,CAAC,EAAI,EACZqpB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKvpB,EAAE,CAAC,EAAI,EACZwpB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK1pB,EAAE,CAAC,EAAI,EACZ2pB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKxtB,EAAE,CAAC,EAAI,EACZytB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK3tB,EAAE,CAAC,EAAI,EACZ4tB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK9tB,EAAE,CAAC,EAAI,EACZ+tB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKjuB,EAAE,CAAC,EAAI,EACZkuB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKpuB,EAAE,CAAC,EAAI,EACZquB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKvuB,EAAE,CAAC,EAAI,EACZwuB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK1uB,EAAE,CAAC,EAAI,EACZ2uB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAK7uB,EAAE,CAAC,EAAI,EACZ8uB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKhvB,EAAE,CAAC,EAAI,EACZivB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GACbG,GAAKnvB,EAAE,CAAC,EAAI,EACZovB,GAAMD,GAAK,KACXE,GAAMF,KAAO,GAEjBzJ,EAAI,SAAW0F,EAAK,SAAWpC,EAAI,SACnCtD,EAAI,OAAS,GAEbtG,EAAK,KAAK,KAAKuM,EAAK8B,EAAG,EACvBhC,EAAM,KAAK,KAAKE,EAAK+B,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKG,EAAK6B,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKiB,EAAK8B,EAAG,EACvB,IAAI4B,IAAQvuB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM6D,KAAO,IAAO,EAChDA,IAAM,SAENlQ,EAAK,KAAK,KAAK0M,EAAK2B,EAAG,EACvBhC,EAAM,KAAK,KAAKK,EAAK4B,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKM,EAAK0B,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKoB,EAAK2B,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAKuM,EAAKiC,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKE,EAAKkC,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKG,EAAKgC,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKiB,EAAKiC,EAAG,EAAK,EAClC,IAAI0B,IAAQxuB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM8D,KAAO,IAAO,EAChDA,IAAM,SAENnQ,EAAK,KAAK,KAAK6M,EAAKwB,EAAG,EACvBhC,EAAM,KAAK,KAAKQ,EAAKyB,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKS,EAAKuB,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKuB,EAAKwB,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAK0M,EAAK8B,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKK,EAAK+B,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKM,EAAK6B,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKoB,EAAK8B,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAKuM,EAAKoC,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKE,EAAKqC,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKG,EAAKmC,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKiB,EAAKoC,EAAG,EAAK,EAClC,IAAIwB,IAAQzuB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM+D,KAAO,IAAO,EAChDA,IAAM,SAENpQ,EAAK,KAAK,KAAKgN,GAAKqB,EAAG,EACvBhC,EAAM,KAAK,KAAKW,GAAKsB,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKY,GAAKoB,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAK0B,GAAKqB,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAK6M,EAAK2B,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKQ,EAAK4B,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKS,EAAK0B,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKuB,EAAK2B,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAK0M,EAAKiC,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKK,EAAKkC,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKM,EAAKgC,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKoB,EAAKiC,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAKuM,EAAKuC,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKE,EAAKwC,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKG,EAAKsC,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKiB,EAAKuC,EAAG,EAAK,EAClC,IAAIsB,IAAQ1uB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMgE,KAAO,IAAO,EAChDA,IAAM,SAENrQ,EAAK,KAAK,KAAKmN,GAAKkB,EAAG,EACvBhC,EAAM,KAAK,KAAKc,GAAKmB,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKe,GAAKiB,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAK6B,GAAKkB,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAKgN,GAAKwB,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKW,GAAKyB,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKY,GAAKuB,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAK0B,GAAKwB,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAK6M,EAAK8B,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKQ,EAAK+B,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKS,EAAK6B,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKuB,EAAK8B,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAK0M,EAAKoC,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKK,EAAKqC,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKM,EAAKmC,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKoB,EAAKoC,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAKuM,EAAK0C,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKE,EAAK2C,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKG,EAAKyC,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKiB,EAAK0C,EAAG,EAAK,EAClC,IAAIoB,IAAQ3uB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMiE,KAAO,IAAO,EAChDA,IAAM,SAENtQ,EAAK,KAAK,KAAKsN,GAAKe,EAAG,EACvBhC,EAAM,KAAK,KAAKiB,GAAKgB,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKkB,GAAKc,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKgC,GAAKe,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAKmN,GAAKqB,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKc,GAAKsB,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKe,GAAKoB,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAK6B,GAAKqB,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAKgN,GAAK2B,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKW,GAAK4B,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKY,GAAK0B,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAK0B,GAAK2B,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAK6M,EAAKiC,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKQ,EAAKkC,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKS,EAAKgC,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKuB,EAAKiC,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAK0M,EAAKuC,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKK,EAAKwC,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKM,EAAKsC,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKoB,EAAKuC,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAKuM,EAAK6C,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKE,EAAK8C,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKG,EAAK4C,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKiB,EAAK6C,EAAG,EAAK,EAClC,IAAIkB,IAAQ5uB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMkE,KAAO,IAAO,EAChDA,IAAM,SAENvQ,EAAK,KAAK,KAAKyN,GAAKY,EAAG,EACvBhC,EAAM,KAAK,KAAKoB,GAAKa,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKqB,GAAKW,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKmC,GAAKY,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAKsN,GAAKkB,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKiB,GAAKmB,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKkB,GAAKiB,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKgC,GAAKkB,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAKmN,GAAKwB,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKc,GAAKyB,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKe,GAAKuB,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAK6B,GAAKwB,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAKgN,GAAK8B,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKW,GAAK+B,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKY,GAAK6B,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAK0B,GAAK8B,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAK6M,EAAKoC,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKQ,EAAKqC,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKS,EAAKmC,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKuB,EAAKoC,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAK0M,EAAK0C,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKK,EAAK2C,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKM,EAAKyC,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKoB,EAAK0C,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAKuM,EAAKgD,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKE,EAAKiD,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKG,EAAK+C,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKiB,EAAKgD,EAAG,EAAK,EAClC,IAAIgB,IAAQ7uB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMmE,KAAO,IAAO,EAChDA,IAAM,SAENxQ,EAAK,KAAK,KAAK4N,GAAKS,EAAG,EACvBhC,EAAM,KAAK,KAAKuB,GAAKU,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAKwB,GAAKQ,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKsC,GAAKS,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAKyN,GAAKe,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKoB,GAAKgB,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKqB,GAAKc,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKmC,GAAKe,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAKsN,GAAKqB,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKiB,GAAKsB,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKkB,GAAKoB,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKgC,GAAKqB,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAKmN,GAAK2B,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKc,GAAK4B,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKe,GAAK0B,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAK6B,GAAK2B,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAKgN,GAAKiC,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKW,GAAKkC,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKY,GAAKgC,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAK0B,GAAKiC,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAK6M,EAAKuC,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKQ,EAAKwC,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKS,EAAKsC,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKuB,EAAKuC,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAK0M,EAAK6C,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKK,EAAK8C,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKM,EAAK4C,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKoB,EAAK6C,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAKuM,EAAKmD,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKE,EAAKoD,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKG,EAAKkD,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKiB,EAAKmD,EAAG,EAAK,EAClC,IAAIc,IAAQ9uB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMoE,KAAO,IAAO,EAChDA,IAAM,SAENzQ,EAAK,KAAK,KAAK+N,GAAKM,EAAG,EACvBhC,EAAM,KAAK,KAAK0B,GAAKO,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAK2B,GAAKK,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAKyC,GAAKM,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAK4N,GAAKY,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAKuB,GAAKa,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAKwB,GAAKW,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKsC,GAAKY,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAKyN,GAAKkB,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKoB,GAAKmB,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKqB,GAAKiB,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKmC,GAAKkB,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAKsN,GAAKwB,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKiB,GAAKyB,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKkB,GAAKuB,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKgC,GAAKwB,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAKmN,GAAK8B,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKc,GAAK+B,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKe,GAAK6B,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAK6B,GAAK8B,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAKgN,GAAKoC,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKW,GAAKqC,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKY,GAAKmC,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAK0B,GAAKoC,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAK6M,EAAK0C,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKQ,EAAK2C,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKS,EAAKyC,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKuB,EAAK0C,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAK0M,EAAKgD,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKK,EAAKiD,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKM,EAAK+C,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKoB,EAAKgD,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAKuM,EAAKsD,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKE,EAAKuD,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKG,EAAKqD,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKiB,EAAKsD,EAAG,EAAK,EAClC,IAAIY,IAAQ/uB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMqE,KAAO,IAAO,EAChDA,IAAM,SAEN1Q,EAAK,KAAK,KAAKkO,GAAKG,EAAG,EACvBhC,EAAM,KAAK,KAAK6B,GAAKI,EAAG,EACxBjC,EAAOA,EAAM,KAAK,KAAK8B,GAAKE,EAAG,EAAK,EACpC9C,EAAK,KAAK,KAAK4C,GAAKG,EAAG,EACvBtO,EAAMA,EAAK,KAAK,KAAK+N,GAAKS,EAAG,EAAK,EAClCnC,EAAOA,EAAM,KAAK,KAAK0B,GAAKU,EAAG,EAAK,EACpCpC,EAAOA,EAAM,KAAK,KAAK2B,GAAKQ,EAAG,EAAK,EACpCjD,EAAMA,EAAK,KAAK,KAAKyC,GAAKS,EAAG,EAAK,EAClCzO,EAAMA,EAAK,KAAK,KAAK4N,GAAKe,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAKuB,GAAKgB,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAKwB,GAAKc,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKsC,GAAKe,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAKyN,GAAKqB,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKoB,GAAKsB,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKqB,GAAKoB,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKmC,GAAKqB,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAKsN,GAAK2B,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKiB,GAAK4B,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKkB,GAAK0B,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKgC,GAAK2B,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAKmN,GAAKiC,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKc,GAAKkC,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKe,GAAKgC,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAK6B,GAAKiC,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAKgN,GAAKuC,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKW,GAAKwC,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKY,GAAKsC,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAK0B,GAAKuC,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAK6M,EAAK6C,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKQ,EAAK8C,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKS,EAAK4C,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKuB,EAAK6C,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAK0M,EAAKmD,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKK,EAAKoD,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKM,EAAKkD,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKoB,EAAKmD,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAKuM,EAAKyD,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKE,EAAK0D,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKG,EAAKwD,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKiB,EAAKyD,EAAG,EAAK,EAClC,IAAIU,IAAQhvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACrD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMsE,KAAO,IAAO,EAChDA,IAAM,SAEN3Q,EAAK,KAAK,KAAKkO,GAAKM,EAAG,EACvBnC,EAAM,KAAK,KAAK6B,GAAKO,EAAG,EACxBpC,EAAOA,EAAM,KAAK,KAAK8B,GAAKK,EAAG,EAAK,EACpCjD,EAAK,KAAK,KAAK4C,GAAKM,EAAG,EACvBzO,EAAMA,EAAK,KAAK,KAAK+N,GAAKY,EAAG,EAAK,EAClCtC,EAAOA,EAAM,KAAK,KAAK0B,GAAKa,EAAG,EAAK,EACpCvC,EAAOA,EAAM,KAAK,KAAK2B,GAAKW,EAAG,EAAK,EACpCpD,EAAMA,EAAK,KAAK,KAAKyC,GAAKY,EAAG,EAAK,EAClC5O,EAAMA,EAAK,KAAK,KAAK4N,GAAKkB,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAKuB,GAAKmB,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAKwB,GAAKiB,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKsC,GAAKkB,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAKyN,GAAKwB,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKoB,GAAKyB,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKqB,GAAKuB,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKmC,GAAKwB,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAKsN,GAAK8B,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKiB,GAAK+B,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKkB,GAAK6B,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKgC,GAAK8B,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAKmN,GAAKoC,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKc,GAAKqC,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKe,GAAKmC,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAK6B,GAAKoC,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAKgN,GAAK0C,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKW,GAAK2C,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKY,GAAKyC,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAK0B,GAAK0C,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAK6M,EAAKgD,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKQ,EAAKiD,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKS,EAAK+C,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKuB,EAAKgD,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAK0M,EAAKsD,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKK,EAAKuD,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKM,EAAKqD,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKoB,EAAKsD,EAAG,EAAK,EAClC,IAAIW,IAASjvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMuE,KAAQ,IAAO,EACjDA,IAAO,SAEP5Q,EAAK,KAAK,KAAKkO,GAAKS,EAAG,EACvBtC,EAAM,KAAK,KAAK6B,GAAKU,EAAG,EACxBvC,EAAOA,EAAM,KAAK,KAAK8B,GAAKQ,EAAG,EAAK,EACpCpD,EAAK,KAAK,KAAK4C,GAAKS,EAAG,EACvB5O,EAAMA,EAAK,KAAK,KAAK+N,GAAKe,EAAG,EAAK,EAClCzC,EAAOA,EAAM,KAAK,KAAK0B,GAAKgB,EAAG,EAAK,EACpC1C,EAAOA,EAAM,KAAK,KAAK2B,GAAKc,EAAG,EAAK,EACpCvD,EAAMA,EAAK,KAAK,KAAKyC,GAAKe,EAAG,EAAK,EAClC/O,EAAMA,EAAK,KAAK,KAAK4N,GAAKqB,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAKuB,GAAKsB,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAKwB,GAAKoB,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKsC,GAAKqB,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAKyN,GAAK2B,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKoB,GAAK4B,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKqB,GAAK0B,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKmC,GAAK2B,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAKsN,GAAKiC,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKiB,GAAKkC,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKkB,GAAKgC,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKgC,GAAKiC,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAKmN,GAAKuC,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKc,GAAKwC,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKe,GAAKsC,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAK6B,GAAKuC,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAKgN,GAAK6C,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKW,GAAK8C,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKY,GAAK4C,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAK0B,GAAK6C,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAK6M,EAAKmD,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKQ,EAAKoD,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKS,EAAKkD,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKuB,EAAKmD,EAAG,EAAK,EAClC,IAAIY,IAASlvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMwE,KAAQ,IAAO,EACjDA,IAAO,SAEP7Q,EAAK,KAAK,KAAKkO,GAAKY,EAAG,EACvBzC,EAAM,KAAK,KAAK6B,GAAKa,EAAG,EACxB1C,EAAOA,EAAM,KAAK,KAAK8B,GAAKW,EAAG,EAAK,EACpCvD,EAAK,KAAK,KAAK4C,GAAKY,EAAG,EACvB/O,EAAMA,EAAK,KAAK,KAAK+N,GAAKkB,EAAG,EAAK,EAClC5C,EAAOA,EAAM,KAAK,KAAK0B,GAAKmB,EAAG,EAAK,EACpC7C,EAAOA,EAAM,KAAK,KAAK2B,GAAKiB,EAAG,EAAK,EACpC1D,EAAMA,EAAK,KAAK,KAAKyC,GAAKkB,EAAG,EAAK,EAClClP,EAAMA,EAAK,KAAK,KAAK4N,GAAKwB,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAKuB,GAAKyB,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAKwB,GAAKuB,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKsC,GAAKwB,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAKyN,GAAK8B,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKoB,GAAK+B,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKqB,GAAK6B,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKmC,GAAK8B,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAKsN,GAAKoC,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKiB,GAAKqC,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKkB,GAAKmC,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKgC,GAAKoC,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAKmN,GAAK0C,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKc,GAAK2C,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKe,GAAKyC,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAK6B,GAAK0C,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAKgN,GAAKgD,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKW,GAAKiD,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKY,GAAK+C,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAK0B,GAAKgD,EAAG,EAAK,EAClC,IAAIa,IAASnvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAMyE,KAAQ,IAAO,EACjDA,IAAO,SAEP9Q,EAAK,KAAK,KAAKkO,GAAKe,EAAG,EACvB5C,EAAM,KAAK,KAAK6B,GAAKgB,EAAG,EACxB7C,EAAOA,EAAM,KAAK,KAAK8B,GAAKc,EAAG,EAAK,EACpC1D,EAAK,KAAK,KAAK4C,GAAKe,EAAG,EACvBlP,EAAMA,EAAK,KAAK,KAAK+N,GAAKqB,EAAG,EAAK,EAClC/C,EAAOA,EAAM,KAAK,KAAK0B,GAAKsB,EAAG,EAAK,EACpChD,EAAOA,EAAM,KAAK,KAAK2B,GAAKoB,EAAG,EAAK,EACpC7D,EAAMA,EAAK,KAAK,KAAKyC,GAAKqB,EAAG,EAAK,EAClCrP,EAAMA,EAAK,KAAK,KAAK4N,GAAK2B,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAKuB,GAAK4B,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAKwB,GAAK0B,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKsC,GAAK2B,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAKyN,GAAKiC,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKoB,GAAKkC,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKqB,GAAKgC,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKmC,GAAKiC,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAKsN,GAAKuC,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKiB,GAAKwC,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKkB,GAAKsC,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKgC,GAAKuC,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAKmN,GAAK6C,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKc,GAAK8C,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKe,GAAK4C,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAK6B,GAAK6C,EAAG,EAAK,EAClC,IAAIc,IAASpvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM0E,KAAQ,IAAO,EACjDA,IAAO,SAEP/Q,EAAK,KAAK,KAAKkO,GAAKkB,EAAG,EACvB/C,EAAM,KAAK,KAAK6B,GAAKmB,EAAG,EACxBhD,EAAOA,EAAM,KAAK,KAAK8B,GAAKiB,EAAG,EAAK,EACpC7D,EAAK,KAAK,KAAK4C,GAAKkB,EAAG,EACvBrP,EAAMA,EAAK,KAAK,KAAK+N,GAAKwB,EAAG,EAAK,EAClClD,EAAOA,EAAM,KAAK,KAAK0B,GAAKyB,EAAG,EAAK,EACpCnD,EAAOA,EAAM,KAAK,KAAK2B,GAAKuB,EAAG,EAAK,EACpChE,EAAMA,EAAK,KAAK,KAAKyC,GAAKwB,EAAG,EAAK,EAClCxP,EAAMA,EAAK,KAAK,KAAK4N,GAAK8B,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAKuB,GAAK+B,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAKwB,GAAK6B,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKsC,GAAK8B,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAKyN,GAAKoC,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKoB,GAAKqC,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKqB,GAAKmC,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKmC,GAAKoC,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAKsN,GAAK0C,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKiB,GAAK2C,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKkB,GAAKyC,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKgC,GAAK0C,EAAG,EAAK,EAClC,IAAIe,IAASrvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM2E,KAAQ,IAAO,EACjDA,IAAO,SAEPhR,EAAK,KAAK,KAAKkO,GAAKqB,EAAG,EACvBlD,EAAM,KAAK,KAAK6B,GAAKsB,EAAG,EACxBnD,EAAOA,EAAM,KAAK,KAAK8B,GAAKoB,EAAG,EAAK,EACpChE,EAAK,KAAK,KAAK4C,GAAKqB,EAAG,EACvBxP,EAAMA,EAAK,KAAK,KAAK+N,GAAK2B,EAAG,EAAK,EAClCrD,EAAOA,EAAM,KAAK,KAAK0B,GAAK4B,EAAG,EAAK,EACpCtD,EAAOA,EAAM,KAAK,KAAK2B,GAAK0B,EAAG,EAAK,EACpCnE,EAAMA,EAAK,KAAK,KAAKyC,GAAK2B,EAAG,EAAK,EAClC3P,EAAMA,EAAK,KAAK,KAAK4N,GAAKiC,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAKuB,GAAKkC,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAKwB,GAAKgC,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKsC,GAAKiC,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAKyN,GAAKuC,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKoB,GAAKwC,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKqB,GAAKsC,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKmC,GAAKuC,EAAG,EAAK,EAClC,IAAIgB,IAAStvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM4E,KAAQ,IAAO,EACjDA,IAAO,SAEPjR,EAAK,KAAK,KAAKkO,GAAKwB,EAAG,EACvBrD,EAAM,KAAK,KAAK6B,GAAKyB,EAAG,EACxBtD,EAAOA,EAAM,KAAK,KAAK8B,GAAKuB,EAAG,EAAK,EACpCnE,EAAK,KAAK,KAAK4C,GAAKwB,EAAG,EACvB3P,EAAMA,EAAK,KAAK,KAAK+N,GAAK8B,EAAG,EAAK,EAClCxD,EAAOA,EAAM,KAAK,KAAK0B,GAAK+B,EAAG,EAAK,EACpCzD,EAAOA,EAAM,KAAK,KAAK2B,GAAK6B,EAAG,EAAK,EACpCtE,EAAMA,EAAK,KAAK,KAAKyC,GAAK8B,EAAG,EAAK,EAClC9P,EAAMA,EAAK,KAAK,KAAK4N,GAAKoC,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAKuB,GAAKqC,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAKwB,GAAKmC,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKsC,GAAKoC,EAAG,EAAK,EAClC,IAAIiB,IAASvvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM6E,KAAQ,IAAO,EACjDA,IAAO,SAEPlR,EAAK,KAAK,KAAKkO,GAAK2B,EAAG,EACvBxD,EAAM,KAAK,KAAK6B,GAAK4B,EAAG,EACxBzD,EAAOA,EAAM,KAAK,KAAK8B,GAAK0B,EAAG,EAAK,EACpCtE,EAAK,KAAK,KAAK4C,GAAK2B,EAAG,EACvB9P,EAAMA,EAAK,KAAK,KAAK+N,GAAKiC,EAAG,EAAK,EAClC3D,EAAOA,EAAM,KAAK,KAAK0B,GAAKkC,EAAG,EAAK,EACpC5D,EAAOA,EAAM,KAAK,KAAK2B,GAAKgC,EAAG,EAAK,EACpCzE,EAAMA,EAAK,KAAK,KAAKyC,GAAKiC,EAAG,EAAK,EAClC,IAAIkB,IAASxvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM8E,KAAQ,IAAO,EACjDA,IAAO,SAEPnR,EAAK,KAAK,KAAKkO,GAAK8B,EAAG,EACvB3D,EAAM,KAAK,KAAK6B,GAAK+B,EAAG,EACxB5D,EAAOA,EAAM,KAAK,KAAK8B,GAAK6B,EAAG,EAAK,EACpCzE,EAAK,KAAK,KAAK4C,GAAK8B,EAAG,EACvB,IAAImB,IAASzvB,EAAIqe,EAAM,KAAOqM,EAAM,OAAW,IAAO,EACtD,OAAA1qB,GAAO4pB,GAAMc,IAAQ,IAAO,IAAM+E,KAAQ,IAAO,EACjDA,IAAO,SACPztB,EAAE,CAAC,EAAIusB,GACPvsB,EAAE,CAAC,EAAIwsB,GACPxsB,EAAE,CAAC,EAAIysB,GACPzsB,EAAE,CAAC,EAAI0sB,GACP1sB,EAAE,CAAC,EAAI2sB,GACP3sB,EAAE,CAAC,EAAI4sB,GACP5sB,EAAE,CAAC,EAAI6sB,GACP7sB,EAAE,CAAC,EAAI8sB,GACP9sB,EAAE,CAAC,EAAI+sB,GACP/sB,EAAE,CAAC,EAAIgtB,GACPhtB,EAAE,EAAE,EAAIitB,GACRjtB,EAAE,EAAE,EAAIktB,GACRltB,EAAE,EAAE,EAAImtB,GACRntB,EAAE,EAAE,EAAIotB,GACRptB,EAAE,EAAE,EAAIqtB,GACRrtB,EAAE,EAAE,EAAIstB,GACRttB,EAAE,EAAE,EAAIutB,GACRvtB,EAAE,EAAE,EAAIwtB,GACRxtB,EAAE,EAAE,EAAIytB,GACJzvB,IAAM,IACRgC,EAAE,EAAE,EAAIhC,EACR2kB,EAAI,UAECA,CACX,EAGO,KAAK,OACR8F,EAAcL,GAGhB,SAASsF,EAAUrF,EAAMpC,EAAKtD,EAAK,CACjCA,EAAI,SAAWsD,EAAI,SAAWoC,EAAK,SACnC1F,EAAI,OAAS0F,EAAK,OAASpC,EAAI,OAI/B,QAFIrZ,EAAQ,EACR+gB,EAAU,EACLztB,EAAI,EAAGA,EAAIyiB,EAAI,OAAS,EAAGziB,IAAK,CAGvC,IAAIooB,EAASqF,EACbA,EAAU,EAGV,QAFIpF,EAAQ3b,EAAQ,SAChB4b,EAAO,KAAK,IAAItoB,EAAG+lB,EAAI,OAAS,CAAC,EAC5BplB,EAAI,KAAK,IAAI,EAAGX,EAAImoB,EAAK,OAAS,CAAC,EAAGxnB,GAAK2nB,EAAM3nB,IAAK,CAC7D,IAAInD,EAAIwC,EAAIW,EACRD,EAAIynB,EAAK,MAAM3qB,CAAC,EAAI,EACpBT,EAAIgpB,EAAI,MAAMplB,CAAC,EAAI,EACnB5C,EAAI2C,EAAI3D,EAERof,EAAKpe,EAAI,SACbqqB,EAAUA,GAAWrqB,EAAI,SAAa,GAAM,EAC5Coe,EAAMA,EAAKkM,EAAS,EACpBA,EAAQlM,EAAK,SACbiM,EAAUA,GAAUjM,IAAO,IAAO,EAElCsR,GAAWrF,IAAW,GACtBA,GAAU,QACX,CACD3F,EAAI,MAAMziB,CAAC,EAAIqoB,EACf3b,EAAQ0b,EACRA,EAASqF,CACV,CACD,OAAI/gB,IAAU,EACZ+V,EAAI,MAAMziB,CAAC,EAAI0M,EAEf+V,EAAI,SAGCA,EAAI,OACZ,CAED,SAASiL,EAAYvF,EAAMpC,EAAKtD,EAAK,CACnC,IAAIkL,EAAO,IAAIC,EACf,OAAOD,EAAK,KAAKxF,EAAMpC,EAAKtD,CAAG,CAChC,CAEDkD,EAAG,UAAU,MAAQ,SAAgBI,EAAKtD,EAAK,CAC7C,IAAI/e,EACA8iB,EAAM,KAAK,OAAST,EAAI,OAC5B,OAAI,KAAK,SAAW,IAAMA,EAAI,SAAW,GACvCriB,EAAM6kB,EAAY,KAAMxC,EAAKtD,CAAG,EACvB+D,EAAM,GACf9iB,EAAMwkB,EAAW,KAAMnC,EAAKtD,CAAG,EACtB+D,EAAM,KACf9iB,EAAM8pB,EAAS,KAAMzH,EAAKtD,CAAG,EAE7B/e,EAAMgqB,EAAW,KAAM3H,EAAKtD,CAAG,EAG1B/e,CACX,EAKE,SAASkqB,EAAM9hB,EAAGtM,EAAG,CACnB,KAAK,EAAIsM,EACT,KAAK,EAAItM,CACV,CAEDouB,EAAK,UAAU,QAAU,SAAkBta,EAAG,CAG5C,QAFIlW,EAAI,IAAI,MAAMkW,CAAC,EACf9Y,EAAImrB,EAAG,UAAU,WAAWrS,CAAC,EAAI,EAC5B9V,EAAI,EAAGA,EAAI8V,EAAG9V,IACrBJ,EAAEI,CAAC,EAAI,KAAK,OAAOA,EAAGhD,EAAG8Y,CAAC,EAG5B,OAAOlW,CACX,EAGEwwB,EAAK,UAAU,OAAS,SAAiB9hB,EAAGtR,EAAG8Y,EAAG,CAChD,GAAIxH,IAAM,GAAKA,IAAMwH,EAAI,EAAG,OAAOxH,EAGnC,QADI+hB,EAAK,EACArwB,EAAI,EAAGA,EAAIhD,EAAGgD,IACrBqwB,IAAO/hB,EAAI,IAAOtR,EAAIgD,EAAI,EAC1BsO,IAAM,EAGR,OAAO+hB,CACX,EAIED,EAAK,UAAU,QAAU,SAAkBE,EAAKC,EAAKC,EAAKC,EAAMC,EAAM5a,EAAG,CACvE,QAAS9V,EAAI,EAAGA,EAAI8V,EAAG9V,IACrBywB,EAAKzwB,CAAC,EAAIuwB,EAAID,EAAItwB,CAAC,CAAC,EACpB0wB,EAAK1wB,CAAC,EAAIwwB,EAAIF,EAAItwB,CAAC,CAAC,CAE1B,EAEEowB,EAAK,UAAU,UAAY,SAAoBG,EAAKC,EAAKC,EAAMC,EAAM5a,EAAGwa,EAAK,CAC3E,KAAK,QAAQA,EAAKC,EAAKC,EAAKC,EAAMC,EAAM5a,CAAC,EAEzC,QAASjW,EAAI,EAAGA,EAAIiW,EAAGjW,IAAM,EAM3B,QALI7C,EAAI6C,GAAK,EAET8wB,EAAQ,KAAK,IAAI,EAAI,KAAK,GAAK3zB,CAAC,EAChC4zB,EAAQ,KAAK,IAAI,EAAI,KAAK,GAAK5zB,CAAC,EAE3BwC,EAAI,EAAGA,EAAIsW,EAAGtW,GAAKxC,EAI1B,QAHI6zB,EAASF,EACTG,EAASF,EAEJztB,EAAI,EAAGA,EAAItD,EAAGsD,IAAK,CAC1B,IAAI8V,EAAKwX,EAAKjxB,EAAI2D,CAAC,EACfkW,EAAKqX,EAAKlxB,EAAI2D,CAAC,EAEf8a,GAAKwS,EAAKjxB,EAAI2D,EAAItD,CAAC,EACnBue,EAAKsS,EAAKlxB,EAAI2D,EAAItD,CAAC,EAEnBkxB,EAAKF,EAAS5S,GAAK6S,EAAS1S,EAEhCA,EAAKyS,EAASzS,EAAK0S,EAAS7S,GAC5BA,GAAK8S,EAELN,EAAKjxB,EAAI2D,CAAC,EAAI8V,EAAKgF,GACnByS,EAAKlxB,EAAI2D,CAAC,EAAIkW,EAAK+E,EAEnBqS,EAAKjxB,EAAI2D,EAAItD,CAAC,EAAIoZ,EAAKgF,GACvByS,EAAKlxB,EAAI2D,EAAItD,CAAC,EAAIwZ,EAAK+E,EAGnBjb,IAAMnG,IACR+zB,EAAKJ,EAAQE,EAASD,EAAQE,EAE9BA,EAASH,EAAQG,EAASF,EAAQC,EAClCA,EAASE,EAEZ,CAGT,EAEEX,EAAK,UAAU,YAAc,SAAsBtwB,EAAGyC,EAAG,CACvD,IAAIuT,EAAI,KAAK,IAAIvT,EAAGzC,CAAC,EAAI,EACrBkxB,EAAMlb,EAAI,EACV9V,EAAI,EACR,IAAK8V,EAAIA,EAAI,EAAI,EAAGA,EAAGA,EAAIA,IAAM,EAC/B9V,IAGF,MAAO,IAAKA,EAAI,EAAIgxB,CACxB,EAEEZ,EAAK,UAAU,UAAY,SAAoBG,EAAKC,EAAK1a,EAAG,CAC1D,GAAI,EAAAA,GAAK,GAET,QAAS9V,EAAI,EAAGA,EAAI8V,EAAI,EAAG9V,IAAK,CAC9B,IAAIJ,EAAI2wB,EAAIvwB,CAAC,EAEbuwB,EAAIvwB,CAAC,EAAIuwB,EAAIza,EAAI9V,EAAI,CAAC,EACtBuwB,EAAIza,EAAI9V,EAAI,CAAC,EAAIJ,EAEjBA,EAAI4wB,EAAIxwB,CAAC,EAETwwB,EAAIxwB,CAAC,EAAI,CAACwwB,EAAI1a,EAAI9V,EAAI,CAAC,EACvBwwB,EAAI1a,EAAI9V,EAAI,CAAC,EAAI,CAACJ,CACnB,CACL,EAEEwwB,EAAK,UAAU,aAAe,SAAuBa,EAAInb,EAAG,CAE1D,QADI5G,EAAQ,EACHlP,EAAI,EAAGA,EAAI8V,EAAI,EAAG9V,IAAK,CAC9B,IAAImT,EAAI,KAAK,MAAM8d,EAAG,EAAIjxB,EAAI,CAAC,EAAI8V,CAAC,EAAI,KACtC,KAAK,MAAMmb,EAAG,EAAIjxB,CAAC,EAAI8V,CAAC,EACxB5G,EAEF+hB,EAAGjxB,CAAC,EAAImT,EAAI,SAERA,EAAI,SACNjE,EAAQ,EAERA,EAAQiE,EAAI,SAAY,CAE3B,CAED,OAAO8d,CACX,EAEEb,EAAK,UAAU,WAAa,SAAqBa,EAAIjI,EAAKuH,EAAKza,EAAG,CAEhE,QADI5G,EAAQ,EACHlP,EAAI,EAAGA,EAAIgpB,EAAKhpB,IACvBkP,EAAQA,GAAS+hB,EAAGjxB,CAAC,EAAI,GAEzBuwB,EAAI,EAAIvwB,CAAC,EAAIkP,EAAQ,KAAQA,EAAQA,IAAU,GAC/CqhB,EAAI,EAAIvwB,EAAI,CAAC,EAAIkP,EAAQ,KAAQA,EAAQA,IAAU,GAIrD,IAAKlP,EAAI,EAAIgpB,EAAKhpB,EAAI8V,EAAG,EAAE9V,EACzBuwB,EAAIvwB,CAAC,EAAI,EAGX4nB,EAAO1Y,IAAU,CAAC,EAClB0Y,GAAQ1Y,EAAQ,SAAa,CAAC,CAClC,EAEEkhB,EAAK,UAAU,KAAO,SAAeta,EAAG,CAEtC,QADIob,EAAK,IAAI,MAAMpb,CAAC,EACX9V,EAAI,EAAGA,EAAI8V,EAAG9V,IACrBkxB,EAAGlxB,CAAC,EAAI,EAGV,OAAOkxB,CACX,EAEEd,EAAK,UAAU,KAAO,SAAe9hB,EAAGtM,EAAGijB,EAAK,CAC9C,IAAInP,EAAI,EAAI,KAAK,YAAYxH,EAAE,OAAQtM,EAAE,MAAM,EAE3CsuB,EAAM,KAAK,QAAQxa,CAAC,EAEpBhU,EAAI,KAAK,KAAKgU,CAAC,EAEfya,EAAM,IAAI,MAAMza,CAAC,EACjBqb,EAAO,IAAI,MAAMrb,CAAC,EAClBsb,EAAO,IAAI,MAAMtb,CAAC,EAElBub,EAAO,IAAI,MAAMvb,CAAC,EAClBwb,EAAQ,IAAI,MAAMxb,CAAC,EACnByb,EAAQ,IAAI,MAAMzb,CAAC,EAEnB0b,EAAOvM,EAAI,MACfuM,EAAK,OAAS1b,EAEd,KAAK,WAAWxH,EAAE,MAAOA,EAAE,OAAQiiB,EAAKza,CAAC,EACzC,KAAK,WAAW9T,EAAE,MAAOA,EAAE,OAAQqvB,EAAMvb,CAAC,EAE1C,KAAK,UAAUya,EAAKzuB,EAAGqvB,EAAMC,EAAMtb,EAAGwa,CAAG,EACzC,KAAK,UAAUe,EAAMvvB,EAAGwvB,EAAOC,EAAOzb,EAAGwa,CAAG,EAE5C,QAAStwB,EAAI,EAAGA,EAAI8V,EAAG9V,IAAK,CAC1B,IAAI+wB,EAAKI,EAAKnxB,CAAC,EAAIsxB,EAAMtxB,CAAC,EAAIoxB,EAAKpxB,CAAC,EAAIuxB,EAAMvxB,CAAC,EAC/CoxB,EAAKpxB,CAAC,EAAImxB,EAAKnxB,CAAC,EAAIuxB,EAAMvxB,CAAC,EAAIoxB,EAAKpxB,CAAC,EAAIsxB,EAAMtxB,CAAC,EAChDmxB,EAAKnxB,CAAC,EAAI+wB,CACX,CAED,YAAK,UAAUI,EAAMC,EAAMtb,CAAC,EAC5B,KAAK,UAAUqb,EAAMC,EAAMI,EAAM1vB,EAAGgU,EAAGwa,CAAG,EAC1C,KAAK,UAAUkB,EAAM1vB,EAAGgU,CAAC,EACzB,KAAK,aAAa0b,EAAM1b,CAAC,EAEzBmP,EAAI,SAAW3W,EAAE,SAAWtM,EAAE,SAC9BijB,EAAI,OAAS3W,EAAE,OAAStM,EAAE,OACnBijB,EAAI,OACf,EAGEkD,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,IAAItD,EAAM,IAAIkD,EAAG,IAAI,EACrB,OAAAlD,EAAI,MAAQ,IAAI,MAAM,KAAK,OAASsD,EAAI,MAAM,EACvC,KAAK,MAAMA,EAAKtD,CAAG,CAC9B,EAGEkD,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,IAAItD,EAAM,IAAIkD,EAAG,IAAI,EACrB,OAAAlD,EAAI,MAAQ,IAAI,MAAM,KAAK,OAASsD,EAAI,MAAM,EACvC2H,EAAW,KAAM3H,EAAKtD,CAAG,CACpC,EAGEkD,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,MAAO,EAAC,MAAMA,EAAK,IAAI,CACvC,EAEEJ,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CACxCX,EAAO,OAAOW,GAAQ,QAAQ,EAC9BX,EAAOW,EAAM,QAAS,EAItB,QADIrZ,EAAQ,EACHlP,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAAK,CACpC,IAAImT,GAAK,KAAK,MAAMnT,CAAC,EAAI,GAAKuoB,EAC1B5J,GAAMxL,EAAI,WAAcjE,EAAQ,UACpCA,IAAU,GACVA,GAAUiE,EAAI,SAAa,EAE3BjE,GAASyP,IAAO,GAChB,KAAK,MAAM3e,CAAC,EAAI2e,EAAK,QACtB,CAED,OAAIzP,IAAU,IACZ,KAAK,MAAMlP,CAAC,EAAIkP,EAChB,KAAK,UAGA,IACX,EAEEiZ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAG,CACjC,EAGEJ,EAAG,UAAU,IAAM,UAAgB,CACjC,OAAO,KAAK,IAAI,IAAI,CACxB,EAGEA,EAAG,UAAU,KAAO,UAAiB,CACnC,OAAO,KAAK,KAAK,KAAK,MAAO,EACjC,EAGEA,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,IAAIpV,EAAIgX,EAAW5B,CAAG,EACtB,GAAIpV,EAAE,SAAW,EAAG,OAAO,IAAIgV,EAAG,CAAC,EAInC,QADIjiB,EAAM,KACDlG,EAAI,EAAGA,EAAImT,EAAE,QAChBA,EAAEnT,CAAC,IAAM,EADeA,IAAKkG,EAAMA,EAAI,IAAG,EAC9C,CAGF,GAAI,EAAElG,EAAImT,EAAE,OACV,QAAS5P,EAAI2C,EAAI,IAAG,EAAIlG,EAAImT,EAAE,OAAQnT,IAAKuD,EAAIA,EAAE,IAAG,EAC9C4P,EAAEnT,CAAC,IAAM,IAEbkG,EAAMA,EAAI,IAAI3C,CAAC,GAInB,OAAO2C,CACX,EAGEiiB,EAAG,UAAU,OAAS,SAAiBjD,EAAM,CAC3C0C,EAAO,OAAO1C,GAAS,UAAYA,GAAQ,CAAC,EAC5C,IAAI3kB,EAAI2kB,EAAO,GACXrlB,GAAKqlB,EAAO3kB,GAAK,GACjBkxB,EAAa,WAAe,GAAKlxB,GAAQ,GAAKA,EAC9CP,EAEJ,GAAIO,IAAM,EAAG,CACX,IAAI2O,EAAQ,EAEZ,IAAKlP,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAAK,CAChC,IAAI0xB,EAAW,KAAK,MAAM1xB,CAAC,EAAIyxB,EAC3BnxB,GAAM,KAAK,MAAMN,CAAC,EAAI,GAAK0xB,GAAanxB,EAC5C,KAAK,MAAMP,CAAC,EAAIM,EAAI4O,EACpBA,EAAQwiB,IAAc,GAAKnxB,CAC5B,CAEG2O,IACF,KAAK,MAAMlP,CAAC,EAAIkP,EAChB,KAAK,SAER,CAED,GAAIrP,IAAM,EAAG,CACX,IAAKG,EAAI,KAAK,OAAS,EAAGA,GAAK,EAAGA,IAChC,KAAK,MAAMA,EAAIH,CAAC,EAAI,KAAK,MAAMG,CAAC,EAGlC,IAAKA,EAAI,EAAGA,EAAIH,EAAGG,IACjB,KAAK,MAAMA,CAAC,EAAI,EAGlB,KAAK,QAAUH,CAChB,CAED,OAAO,KAAK,OAChB,EAEEsoB,EAAG,UAAU,MAAQ,SAAgBjD,EAAM,CAEzC,OAAA0C,EAAO,KAAK,WAAa,CAAC,EACnB,KAAK,OAAO1C,CAAI,CAC3B,EAKEiD,EAAG,UAAU,OAAS,SAAiBjD,EAAMyM,EAAMC,EAAU,CAC3DhK,EAAO,OAAO1C,GAAS,UAAYA,GAAQ,CAAC,EAC5C,IAAI9R,EACAue,EACFve,GAAKue,EAAQA,EAAO,IAAO,GAE3Bve,EAAI,EAGN,IAAI7S,EAAI2kB,EAAO,GACXrlB,EAAI,KAAK,KAAKqlB,EAAO3kB,GAAK,GAAI,KAAK,MAAM,EACzC6kB,EAAO,SAAc,WAAc7kB,GAAMA,EACzCsxB,EAAcD,EAMlB,GAJAxe,GAAKvT,EACLuT,EAAI,KAAK,IAAI,EAAGA,CAAC,EAGbye,EAAa,CACf,QAAS7xB,EAAI,EAAGA,EAAIH,EAAGG,IACrB6xB,EAAY,MAAM7xB,CAAC,EAAI,KAAK,MAAMA,CAAC,EAErC6xB,EAAY,OAAShyB,CACtB,CAED,GAAIA,IAAM,EAEH,GAAI,KAAK,OAASA,EAEvB,IADA,KAAK,QAAUA,EACVG,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC3B,KAAK,MAAMA,CAAC,EAAI,KAAK,MAAMA,EAAIH,CAAC,OAGlC,KAAK,MAAM,CAAC,EAAI,EAChB,KAAK,OAAS,EAGhB,IAAIqP,EAAQ,EACZ,IAAKlP,EAAI,KAAK,OAAS,EAAGA,GAAK,IAAMkP,IAAU,GAAKlP,GAAKoT,GAAIpT,IAAK,CAChE,IAAIopB,EAAO,KAAK,MAAMppB,CAAC,EAAI,EAC3B,KAAK,MAAMA,CAAC,EAAKkP,GAAU,GAAK3O,EAAO6oB,IAAS7oB,EAChD2O,EAAQka,EAAOhE,CAChB,CAGD,OAAIyM,GAAe3iB,IAAU,IAC3B2iB,EAAY,MAAMA,EAAY,QAAQ,EAAI3iB,GAGxC,KAAK,SAAW,IAClB,KAAK,MAAM,CAAC,EAAI,EAChB,KAAK,OAAS,GAGT,KAAK,OAChB,EAEEiZ,EAAG,UAAU,MAAQ,SAAgBjD,EAAMyM,EAAMC,EAAU,CAEzD,OAAAhK,EAAO,KAAK,WAAa,CAAC,EACnB,KAAK,OAAO1C,EAAMyM,EAAMC,CAAQ,CAC3C,EAGEzJ,EAAG,UAAU,KAAO,SAAejD,EAAM,CACvC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAI,CAClC,EAEEiD,EAAG,UAAU,MAAQ,SAAgBjD,EAAM,CACzC,OAAO,KAAK,MAAK,EAAG,OAAOA,CAAI,CACnC,EAGEiD,EAAG,UAAU,KAAO,SAAejD,EAAM,CACvC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAI,CAClC,EAEEiD,EAAG,UAAU,MAAQ,SAAgBjD,EAAM,CACzC,OAAO,KAAK,MAAK,EAAG,OAAOA,CAAI,CACnC,EAGEiD,EAAG,UAAU,MAAQ,SAAgBiC,EAAK,CACxCxC,EAAO,OAAOwC,GAAQ,UAAYA,GAAO,CAAC,EAC1C,IAAI7pB,EAAI6pB,EAAM,GACVvqB,GAAKuqB,EAAM7pB,GAAK,GAChBgD,EAAI,GAAKhD,EAGb,GAAI,KAAK,QAAUV,EAAG,MAAO,GAG7B,IAAIsT,EAAI,KAAK,MAAMtT,CAAC,EAEpB,MAAO,CAAC,EAAEsT,EAAI5P,EAClB,EAGE4kB,EAAG,UAAU,OAAS,SAAiBjD,EAAM,CAC3C0C,EAAO,OAAO1C,GAAS,UAAYA,GAAQ,CAAC,EAC5C,IAAI3kB,EAAI2kB,EAAO,GACXrlB,GAAKqlB,EAAO3kB,GAAK,GAIrB,GAFAqnB,EAAO,KAAK,WAAa,EAAG,yCAAyC,EAEjE,KAAK,QAAU/nB,EACjB,OAAO,KAQT,GALIU,IAAM,GACRV,IAEF,KAAK,OAAS,KAAK,IAAIA,EAAG,KAAK,MAAM,EAEjCU,IAAM,EAAG,CACX,IAAI6kB,EAAO,SAAc,WAAc7kB,GAAMA,EAC7C,KAAK,MAAM,KAAK,OAAS,CAAC,GAAK6kB,CAChC,CAED,OAAO,KAAK,OAChB,EAGE+C,EAAG,UAAU,MAAQ,SAAgBjD,EAAM,CACzC,OAAO,KAAK,MAAK,EAAG,OAAOA,CAAI,CACnC,EAGEiD,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CAGxC,OAFAX,EAAO,OAAOW,GAAQ,QAAQ,EAC9BX,EAAOW,EAAM,QAAS,EAClBA,EAAM,EAAU,KAAK,MAAM,CAACA,CAAG,EAG/B,KAAK,WAAa,EAChB,KAAK,SAAW,IAAM,KAAK,MAAM,CAAC,EAAI,GAAKA,GAC7C,KAAK,MAAM,CAAC,EAAIA,GAAO,KAAK,MAAM,CAAC,EAAI,GACvC,KAAK,SAAW,EACT,OAGT,KAAK,SAAW,EAChB,KAAK,MAAMA,CAAG,EACd,KAAK,SAAW,EACT,MAIF,KAAK,OAAOA,CAAG,CAC1B,EAEEJ,EAAG,UAAU,OAAS,SAAiBI,EAAK,CAC1C,KAAK,MAAM,CAAC,GAAKA,EAGjB,QAASvoB,EAAI,EAAGA,EAAI,KAAK,QAAU,KAAK,MAAMA,CAAC,GAAK,SAAWA,IAC7D,KAAK,MAAMA,CAAC,GAAK,SACbA,IAAM,KAAK,OAAS,EACtB,KAAK,MAAMA,EAAI,CAAC,EAAI,EAEpB,KAAK,MAAMA,EAAI,CAAC,IAGpB,YAAK,OAAS,KAAK,IAAI,KAAK,OAAQA,EAAI,CAAC,EAElC,IACX,EAGEmoB,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CAGxC,GAFAX,EAAO,OAAOW,GAAQ,QAAQ,EAC9BX,EAAOW,EAAM,QAAS,EAClBA,EAAM,EAAG,OAAO,KAAK,MAAM,CAACA,CAAG,EAEnC,GAAI,KAAK,WAAa,EACpB,YAAK,SAAW,EAChB,KAAK,MAAMA,CAAG,EACd,KAAK,SAAW,EACT,KAKT,GAFA,KAAK,MAAM,CAAC,GAAKA,EAEb,KAAK,SAAW,GAAK,KAAK,MAAM,CAAC,EAAI,EACvC,KAAK,MAAM,CAAC,EAAI,CAAC,KAAK,MAAM,CAAC,EAC7B,KAAK,SAAW,MAGhB,SAASvoB,EAAI,EAAGA,EAAI,KAAK,QAAU,KAAK,MAAMA,CAAC,EAAI,EAAGA,IACpD,KAAK,MAAMA,CAAC,GAAK,SACjB,KAAK,MAAMA,EAAI,CAAC,GAAK,EAIzB,OAAO,KAAK,OAChB,EAEEmoB,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAG,CACjC,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAG,CACjC,EAEEJ,EAAG,UAAU,KAAO,UAAiB,CACnC,YAAK,SAAW,EAET,IACX,EAEEA,EAAG,UAAU,IAAM,UAAgB,CACjC,OAAO,KAAK,QAAQ,MACxB,EAEEA,EAAG,UAAU,aAAe,SAAuBI,EAAKQ,EAAK+I,EAAO,CAClE,IAAI9I,EAAMT,EAAI,OAASuJ,EACnB9xB,EAEJ,KAAK,QAAQgpB,CAAG,EAEhB,IAAI7V,EACAjE,EAAQ,EACZ,IAAKlP,EAAI,EAAGA,EAAIuoB,EAAI,OAAQvoB,IAAK,CAC/BmT,GAAK,KAAK,MAAMnT,EAAI8xB,CAAK,EAAI,GAAK5iB,EAClC,IAAIwV,GAAS6D,EAAI,MAAMvoB,CAAC,EAAI,GAAK+oB,EACjC5V,GAAKuR,EAAQ,SACbxV,GAASiE,GAAK,KAAQuR,EAAQ,SAAa,GAC3C,KAAK,MAAM1kB,EAAI8xB,CAAK,EAAI3e,EAAI,QAC7B,CACD,KAAOnT,EAAI,KAAK,OAAS8xB,EAAO9xB,IAC9BmT,GAAK,KAAK,MAAMnT,EAAI8xB,CAAK,EAAI,GAAK5iB,EAClCA,EAAQiE,GAAK,GACb,KAAK,MAAMnT,EAAI8xB,CAAK,EAAI3e,EAAI,SAG9B,GAAIjE,IAAU,EAAG,OAAO,KAAK,MAAK,EAKlC,IAFA0Y,EAAO1Y,IAAU,EAAE,EACnBA,EAAQ,EACHlP,EAAI,EAAGA,EAAI,KAAK,OAAQA,IAC3BmT,EAAI,EAAE,KAAK,MAAMnT,CAAC,EAAI,GAAKkP,EAC3BA,EAAQiE,GAAK,GACb,KAAK,MAAMnT,CAAC,EAAImT,EAAI,SAEtB,YAAK,SAAW,EAET,KAAK,OAChB,EAEEgV,EAAG,UAAU,SAAW,SAAmBI,EAAKwJ,EAAM,CACpD,IAAID,EAAQ,KAAK,OAASvJ,EAAI,OAE1BrlB,EAAI,KAAK,QACT3D,EAAIgpB,EAGJyJ,EAAMzyB,EAAE,MAAMA,EAAE,OAAS,CAAC,EAAI,EAC9B0yB,EAAU,KAAK,WAAWD,CAAG,EACjCF,EAAQ,GAAKG,EACTH,IAAU,IACZvyB,EAAIA,EAAE,MAAMuyB,CAAK,EACjB5uB,EAAE,OAAO4uB,CAAK,EACdE,EAAMzyB,EAAE,MAAMA,EAAE,OAAS,CAAC,EAAI,GAIhC,IAAI,EAAI2D,EAAE,OAAS3D,EAAE,OACjBgE,EAEJ,GAAIwuB,IAAS,MAAO,CAClBxuB,EAAI,IAAI4kB,EAAG,IAAI,EACf5kB,EAAE,OAAS,EAAI,EACfA,EAAE,MAAQ,IAAI,MAAMA,EAAE,MAAM,EAC5B,QAASvD,EAAI,EAAGA,EAAIuD,EAAE,OAAQvD,IAC5BuD,EAAE,MAAMvD,CAAC,EAAI,CAEhB,CAED,IAAIkyB,EAAOhvB,EAAE,MAAO,EAAC,aAAa3D,EAAG,EAAG,CAAC,EACrC2yB,EAAK,WAAa,IACpBhvB,EAAIgvB,EACA3uB,IACFA,EAAE,MAAM,CAAC,EAAI,IAIjB,QAASJ,EAAI,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC/B,IAAIgvB,GAAMjvB,EAAE,MAAM3D,EAAE,OAAS4D,CAAC,EAAI,GAAK,UACpCD,EAAE,MAAM3D,EAAE,OAAS4D,EAAI,CAAC,EAAI,GAO/B,IAHAgvB,EAAK,KAAK,IAAKA,EAAKH,EAAO,EAAG,QAAS,EAEvC9uB,EAAE,aAAa3D,EAAG4yB,EAAIhvB,CAAC,EAChBD,EAAE,WAAa,GACpBivB,IACAjvB,EAAE,SAAW,EACbA,EAAE,aAAa3D,EAAG,EAAG4D,CAAC,EACjBD,EAAE,WACLA,EAAE,UAAY,GAGdK,IACFA,EAAE,MAAMJ,CAAC,EAAIgvB,EAEhB,CACD,OAAI5uB,GACFA,EAAE,MAAK,EAETL,EAAE,MAAK,EAGH6uB,IAAS,OAASD,IAAU,GAC9B5uB,EAAE,OAAO4uB,CAAK,EAGT,CACL,IAAKvuB,GAAK,KACV,IAAKL,CACX,CACA,EAMEilB,EAAG,UAAU,OAAS,SAAiBI,EAAKwJ,EAAMK,EAAU,CAG1D,GAFAxK,EAAO,CAACW,EAAI,OAAM,CAAE,EAEhB,KAAK,SACP,MAAO,CACL,IAAK,IAAIJ,EAAG,CAAC,EACb,IAAK,IAAIA,EAAG,CAAC,CACrB,EAGI,IAAIkK,EAAKpuB,EAAKiC,EACd,OAAI,KAAK,WAAa,GAAKqiB,EAAI,WAAa,GAC1CriB,EAAM,KAAK,IAAG,EAAG,OAAOqiB,EAAKwJ,CAAI,EAE7BA,IAAS,QACXM,EAAMnsB,EAAI,IAAI,OAGZ6rB,IAAS,QACX9tB,EAAMiC,EAAI,IAAI,MACVksB,GAAYnuB,EAAI,WAAa,GAC/BA,EAAI,KAAKskB,CAAG,GAIT,CACL,IAAK8J,EACL,IAAKpuB,CACb,GAGQ,KAAK,WAAa,GAAKskB,EAAI,WAAa,GAC1CriB,EAAM,KAAK,OAAOqiB,EAAI,IAAG,EAAIwJ,CAAI,EAE7BA,IAAS,QACXM,EAAMnsB,EAAI,IAAI,OAGT,CACL,IAAKmsB,EACL,IAAKnsB,EAAI,GACjB,GAGS,KAAK,SAAWqiB,EAAI,UACvBriB,EAAM,KAAK,MAAM,OAAOqiB,EAAI,IAAG,EAAIwJ,CAAI,EAEnCA,IAAS,QACX9tB,EAAMiC,EAAI,IAAI,MACVksB,GAAYnuB,EAAI,WAAa,GAC/BA,EAAI,KAAKskB,CAAG,GAIT,CACL,IAAKriB,EAAI,IACT,IAAKjC,CACb,GAMQskB,EAAI,OAAS,KAAK,QAAU,KAAK,IAAIA,CAAG,EAAI,EACvC,CACL,IAAK,IAAIJ,EAAG,CAAC,EACb,IAAK,IACb,EAIQI,EAAI,SAAW,EACbwJ,IAAS,MACJ,CACL,IAAK,KAAK,KAAKxJ,EAAI,MAAM,CAAC,CAAC,EAC3B,IAAK,IACf,EAGUwJ,IAAS,MACJ,CACL,IAAK,KACL,IAAK,IAAI5J,EAAG,KAAK,KAAKI,EAAI,MAAM,CAAC,CAAC,CAAC,CAC7C,EAGa,CACL,IAAK,KAAK,KAAKA,EAAI,MAAM,CAAC,CAAC,EAC3B,IAAK,IAAIJ,EAAG,KAAK,KAAKI,EAAI,MAAM,CAAC,CAAC,CAAC,CAC3C,EAGW,KAAK,SAASA,EAAKwJ,CAAI,CAClC,EAGE5J,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,OAAOA,EAAK,MAAO,EAAK,EAAE,GAC1C,EAGEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,OAAOA,EAAK,MAAO,EAAK,EAAE,GAC1C,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,OAAOA,EAAK,MAAO,EAAI,EAAE,GACzC,EAGEJ,EAAG,UAAU,SAAW,SAAmBI,EAAK,CAC9C,IAAI+J,EAAK,KAAK,OAAO/J,CAAG,EAGxB,GAAI+J,EAAG,IAAI,OAAQ,EAAE,OAAOA,EAAG,IAE/B,IAAIruB,EAAMquB,EAAG,IAAI,WAAa,EAAIA,EAAG,IAAI,KAAK/J,CAAG,EAAI+J,EAAG,IAEpDC,EAAOhK,EAAI,MAAM,CAAC,EAClBiK,EAAKjK,EAAI,MAAM,CAAC,EAChBkC,EAAMxmB,EAAI,IAAIsuB,CAAI,EAGtB,OAAI9H,EAAM,GAAK+H,IAAO,GAAK/H,IAAQ,EAAU6H,EAAG,IAGzCA,EAAG,IAAI,WAAa,EAAIA,EAAG,IAAI,MAAM,CAAC,EAAIA,EAAG,IAAI,MAAM,CAAC,CACnE,EAEEnK,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtCX,EAAOW,GAAO,QAAS,EAIvB,QAHI,GAAK,GAAK,IAAMA,EAEhBjF,EAAM,EACDtjB,EAAI,KAAK,OAAS,EAAGA,GAAK,EAAGA,IACpCsjB,GAAO,EAAIA,GAAO,KAAK,MAAMtjB,CAAC,EAAI,IAAMuoB,EAG1C,OAAOjF,CACX,EAGE6E,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CACxCX,EAAOW,GAAO,QAAS,EAGvB,QADIrZ,EAAQ,EACHlP,EAAI,KAAK,OAAS,EAAGA,GAAK,EAAGA,IAAK,CACzC,IAAImT,GAAK,KAAK,MAAMnT,CAAC,EAAI,GAAKkP,EAAQ,SACtC,KAAK,MAAMlP,CAAC,EAAKmT,EAAIoV,EAAO,EAC5BrZ,EAAQiE,EAAIoV,CACb,CAED,OAAO,KAAK,OAChB,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,MAAK,EAAG,MAAMA,CAAG,CACjC,EAEEJ,EAAG,UAAU,KAAO,SAAe3oB,EAAG,CACpCooB,EAAOpoB,EAAE,WAAa,CAAC,EACvBooB,EAAO,CAACpoB,EAAE,OAAM,CAAE,EAElB,IAAI8O,EAAI,KACJtM,EAAIxC,EAAE,QAEN8O,EAAE,WAAa,EACjBA,EAAIA,EAAE,KAAK9O,CAAC,EAEZ8O,EAAIA,EAAE,QAaR,QATIgK,EAAI,IAAI6P,EAAG,CAAC,EACZ/P,EAAI,IAAI+P,EAAG,CAAC,EAGZ9P,EAAI,IAAI8P,EAAG,CAAC,EACZ9W,EAAI,IAAI8W,EAAG,CAAC,EAEZlmB,EAAI,EAEDqM,EAAE,OAAM,GAAMtM,EAAE,OAAM,GAC3BsM,EAAE,OAAO,CAAC,EACVtM,EAAE,OAAO,CAAC,EACV,EAAEC,EAMJ,QAHIwwB,EAAKzwB,EAAE,QACP0wB,EAAKpkB,EAAE,QAEJ,CAACA,EAAE,UAAU,CAClB,QAAStO,EAAI,EAAG2yB,EAAK,EAAI,EAAArkB,EAAE,MAAM,CAAC,EAAIqkB,IAAa3yB,EAAI,GAAI,EAAEA,EAAG2yB,IAAO,EAAE,CACzE,GAAI3yB,EAAI,EAEN,IADAsO,EAAE,OAAOtO,CAAC,EACHA,KAAM,IACPsY,EAAE,MAAK,GAAMF,EAAE,MAAK,KACtBE,EAAE,KAAKma,CAAE,EACTra,EAAE,KAAKsa,CAAE,GAGXpa,EAAE,OAAO,CAAC,EACVF,EAAE,OAAO,CAAC,EAId,QAASjV,EAAI,EAAGyvB,EAAK,EAAI,EAAA5wB,EAAE,MAAM,CAAC,EAAI4wB,IAAazvB,EAAI,GAAI,EAAEA,EAAGyvB,IAAO,EAAE,CACzE,GAAIzvB,EAAI,EAEN,IADAnB,EAAE,OAAOmB,CAAC,EACHA,KAAM,IACPkV,EAAE,MAAK,GAAMhH,EAAE,MAAK,KACtBgH,EAAE,KAAKoa,CAAE,EACTphB,EAAE,KAAKqhB,CAAE,GAGXra,EAAE,OAAO,CAAC,EACVhH,EAAE,OAAO,CAAC,EAIV/C,EAAE,IAAItM,CAAC,GAAK,GACdsM,EAAE,KAAKtM,CAAC,EACRsW,EAAE,KAAKD,CAAC,EACRD,EAAE,KAAK/G,CAAC,IAERrP,EAAE,KAAKsM,CAAC,EACR+J,EAAE,KAAKC,CAAC,EACRjH,EAAE,KAAK+G,CAAC,EAEX,CAED,MAAO,CACL,EAAGC,EACH,EAAGhH,EACH,IAAKrP,EAAE,OAAOC,CAAC,CACrB,CACA,EAKEkmB,EAAG,UAAU,OAAS,SAAiB3oB,EAAG,CACxCooB,EAAOpoB,EAAE,WAAa,CAAC,EACvBooB,EAAO,CAACpoB,EAAE,OAAM,CAAE,EAElB,IAAI0D,EAAI,KACJ3D,EAAIC,EAAE,QAEN0D,EAAE,WAAa,EACjBA,EAAIA,EAAE,KAAK1D,CAAC,EAEZ0D,EAAIA,EAAE,QAQR,QALI2vB,EAAK,IAAI1K,EAAG,CAAC,EACb2K,EAAK,IAAI3K,EAAG,CAAC,EAEb4K,EAAQxzB,EAAE,QAEP2D,EAAE,KAAK,CAAC,EAAI,GAAK3D,EAAE,KAAK,CAAC,EAAI,GAAG,CACrC,QAASS,EAAI,EAAG2yB,EAAK,EAAI,EAAAzvB,EAAE,MAAM,CAAC,EAAIyvB,IAAa3yB,EAAI,GAAI,EAAEA,EAAG2yB,IAAO,EAAE,CACzE,GAAI3yB,EAAI,EAEN,IADAkD,EAAE,OAAOlD,CAAC,EACHA,KAAM,GACP6yB,EAAG,SACLA,EAAG,KAAKE,CAAK,EAGfF,EAAG,OAAO,CAAC,EAIf,QAAS1vB,EAAI,EAAGyvB,EAAK,EAAI,EAAArzB,EAAE,MAAM,CAAC,EAAIqzB,IAAazvB,EAAI,GAAI,EAAEA,EAAGyvB,IAAO,EAAE,CACzE,GAAIzvB,EAAI,EAEN,IADA5D,EAAE,OAAO4D,CAAC,EACHA,KAAM,GACP2vB,EAAG,SACLA,EAAG,KAAKC,CAAK,EAGfD,EAAG,OAAO,CAAC,EAIX5vB,EAAE,IAAI3D,CAAC,GAAK,GACd2D,EAAE,KAAK3D,CAAC,EACRszB,EAAG,KAAKC,CAAE,IAEVvzB,EAAE,KAAK2D,CAAC,EACR4vB,EAAG,KAAKD,CAAE,EAEb,CAED,IAAI3sB,EACJ,OAAIhD,EAAE,KAAK,CAAC,IAAM,EAChBgD,EAAM2sB,EAEN3sB,EAAM4sB,EAGJ5sB,EAAI,KAAK,CAAC,EAAI,GAChBA,EAAI,KAAK1G,CAAC,EAGL0G,CACX,EAEEiiB,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,GAAI,KAAK,OAAM,EAAI,OAAOA,EAAI,IAAG,EACjC,GAAIA,EAAI,OAAM,EAAI,OAAO,KAAK,IAAG,EAEjC,IAAIrlB,EAAI,KAAK,QACT3D,EAAIgpB,EAAI,QACZrlB,EAAE,SAAW,EACb3D,EAAE,SAAW,EAGb,QAASuyB,EAAQ,EAAG5uB,EAAE,OAAQ,GAAI3D,EAAE,SAAUuyB,IAC5C5uB,EAAE,OAAO,CAAC,EACV3D,EAAE,OAAO,CAAC,EAGZ,EAAG,CACD,KAAO2D,EAAE,UACPA,EAAE,OAAO,CAAC,EAEZ,KAAO3D,EAAE,UACPA,EAAE,OAAO,CAAC,EAGZ,IAAIgB,EAAI2C,EAAE,IAAI3D,CAAC,EACf,GAAIgB,EAAI,EAAG,CAET,IAAIX,EAAIsD,EACRA,EAAI3D,EACJA,EAAIK,CACZ,SAAiBW,IAAM,GAAKhB,EAAE,KAAK,CAAC,IAAM,EAClC,MAGF2D,EAAE,KAAK3D,CAAC,CACT,OAAQ,IAET,OAAOA,EAAE,OAAOuyB,CAAK,CACzB,EAGE3J,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,KAAKA,CAAG,EAAE,EAAE,KAAKA,CAAG,CACpC,EAEEJ,EAAG,UAAU,OAAS,UAAmB,CACvC,OAAQ,KAAK,MAAM,CAAC,EAAI,KAAO,CACnC,EAEEA,EAAG,UAAU,MAAQ,UAAkB,CACrC,OAAQ,KAAK,MAAM,CAAC,EAAI,KAAO,CACnC,EAGEA,EAAG,UAAU,MAAQ,SAAgBI,EAAK,CACxC,OAAO,KAAK,MAAM,CAAC,EAAIA,CAC3B,EAGEJ,EAAG,UAAU,MAAQ,SAAgBiC,EAAK,CACxCxC,EAAO,OAAOwC,GAAQ,QAAQ,EAC9B,IAAI7pB,EAAI6pB,EAAM,GACVvqB,GAAKuqB,EAAM7pB,GAAK,GAChBgD,EAAI,GAAKhD,EAGb,GAAI,KAAK,QAAUV,EACjB,YAAK,QAAQA,EAAI,CAAC,EAClB,KAAK,MAAMA,CAAC,GAAK0D,EACV,KAKT,QADI2L,EAAQ3L,EACHvD,EAAIH,EAAGqP,IAAU,GAAKlP,EAAI,KAAK,OAAQA,IAAK,CACnD,IAAImT,EAAI,KAAK,MAAMnT,CAAC,EAAI,EACxBmT,GAAKjE,EACLA,EAAQiE,IAAM,GACdA,GAAK,SACL,KAAK,MAAMnT,CAAC,EAAImT,CACjB,CACD,OAAIjE,IAAU,IACZ,KAAK,MAAMlP,CAAC,EAAIkP,EAChB,KAAK,UAEA,IACX,EAEEiZ,EAAG,UAAU,OAAS,UAAmB,CACvC,OAAO,KAAK,SAAW,GAAK,KAAK,MAAM,CAAC,IAAM,CAClD,EAEEA,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,IAAIyK,EAAWzK,EAAM,EAErB,GAAI,KAAK,WAAa,GAAK,CAACyK,EAAU,MAAO,GAC7C,GAAI,KAAK,WAAa,GAAKA,EAAU,MAAO,GAE5C,KAAK,MAAK,EAEV,IAAI9sB,EACJ,GAAI,KAAK,OAAS,EAChBA,EAAM,MACD,CACD8sB,IACFzK,EAAM,CAACA,GAGTX,EAAOW,GAAO,SAAW,mBAAmB,EAE5C,IAAIpV,EAAI,KAAK,MAAM,CAAC,EAAI,EACxBjN,EAAMiN,IAAMoV,EAAM,EAAIpV,EAAIoV,EAAM,GAAK,CACtC,CACD,OAAI,KAAK,WAAa,EAAU,CAACriB,EAAM,EAChCA,CACX,EAMEiiB,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,GAAI,KAAK,WAAa,GAAKA,EAAI,WAAa,EAAG,MAAO,GACtD,GAAI,KAAK,WAAa,GAAKA,EAAI,WAAa,EAAG,MAAO,GAEtD,IAAIriB,EAAM,KAAK,KAAKqiB,CAAG,EACvB,OAAI,KAAK,WAAa,EAAU,CAACriB,EAAM,EAChCA,CACX,EAGEiiB,EAAG,UAAU,KAAO,SAAeI,EAAK,CAEtC,GAAI,KAAK,OAASA,EAAI,OAAQ,MAAO,GACrC,GAAI,KAAK,OAASA,EAAI,OAAQ,MAAO,GAGrC,QADIriB,EAAM,EACDlG,EAAI,KAAK,OAAS,EAAGA,GAAK,EAAGA,IAAK,CACzC,IAAIkD,EAAI,KAAK,MAAMlD,CAAC,EAAI,EACpBT,EAAIgpB,EAAI,MAAMvoB,CAAC,EAAI,EAEvB,GAAIkD,IAAM3D,EACV,CAAI2D,EAAI3D,EACN2G,EAAM,GACGhD,EAAI3D,IACb2G,EAAM,GAER,MACD,CACD,OAAOA,CACX,EAEEiiB,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,KAAKA,CAAG,IAAM,CAC9B,EAEEJ,EAAG,UAAU,GAAK,SAAaI,EAAK,CAClC,OAAO,KAAK,IAAIA,CAAG,IAAM,CAC7B,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,KAAKA,CAAG,GAAK,CAC7B,EAEEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,IAAIA,CAAG,GAAK,CAC5B,EAEEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,KAAKA,CAAG,IAAM,EAC9B,EAEEJ,EAAG,UAAU,GAAK,SAAaI,EAAK,CAClC,OAAO,KAAK,IAAIA,CAAG,IAAM,EAC7B,EAEEJ,EAAG,UAAU,KAAO,SAAeI,EAAK,CACtC,OAAO,KAAK,KAAKA,CAAG,GAAK,CAC7B,EAEEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,IAAIA,CAAG,GAAK,CAC5B,EAEEJ,EAAG,UAAU,IAAM,SAAcI,EAAK,CACpC,OAAO,KAAK,KAAKA,CAAG,IAAM,CAC9B,EAEEJ,EAAG,UAAU,GAAK,SAAaI,EAAK,CAClC,OAAO,KAAK,IAAIA,CAAG,IAAM,CAC7B,EAMEJ,EAAG,IAAM,SAAcI,EAAK,CAC1B,OAAO,IAAI0K,EAAI1K,CAAG,CACtB,EAEEJ,EAAG,UAAU,MAAQ,SAAgB+K,EAAK,CACxC,OAAAtL,EAAO,CAAC,KAAK,IAAK,uCAAuC,EACzDA,EAAO,KAAK,WAAa,EAAG,+BAA+B,EACpDsL,EAAI,UAAU,IAAI,EAAE,UAAUA,CAAG,CAC5C,EAEE/K,EAAG,UAAU,QAAU,UAAoB,CACzC,OAAAP,EAAO,KAAK,IAAK,sDAAsD,EAChE,KAAK,IAAI,YAAY,IAAI,CACpC,EAEEO,EAAG,UAAU,UAAY,SAAoB+K,EAAK,CAChD,YAAK,IAAMA,EACJ,IACX,EAEE/K,EAAG,UAAU,SAAW,SAAmB+K,EAAK,CAC9C,OAAAtL,EAAO,CAAC,KAAK,IAAK,uCAAuC,EAClD,KAAK,UAAUsL,CAAG,CAC7B,EAEE/K,EAAG,UAAU,OAAS,SAAiBI,EAAK,CAC1C,OAAAX,EAAO,KAAK,IAAK,oCAAoC,EAC9C,KAAK,IAAI,IAAI,KAAMW,CAAG,CACjC,EAEEJ,EAAG,UAAU,QAAU,SAAkBI,EAAK,CAC5C,OAAAX,EAAO,KAAK,IAAK,qCAAqC,EAC/C,KAAK,IAAI,KAAK,KAAMW,CAAG,CAClC,EAEEJ,EAAG,UAAU,OAAS,SAAiBI,EAAK,CAC1C,OAAAX,EAAO,KAAK,IAAK,oCAAoC,EAC9C,KAAK,IAAI,IAAI,KAAMW,CAAG,CACjC,EAEEJ,EAAG,UAAU,QAAU,SAAkBI,EAAK,CAC5C,OAAAX,EAAO,KAAK,IAAK,qCAAqC,EAC/C,KAAK,IAAI,KAAK,KAAMW,CAAG,CAClC,EAEEJ,EAAG,UAAU,OAAS,SAAiBI,EAAK,CAC1C,OAAAX,EAAO,KAAK,IAAK,oCAAoC,EAC9C,KAAK,IAAI,IAAI,KAAMW,CAAG,CACjC,EAEEJ,EAAG,UAAU,OAAS,SAAiBI,EAAK,CAC1C,OAAAX,EAAO,KAAK,IAAK,oCAAoC,EACrD,KAAK,IAAI,SAAS,KAAMW,CAAG,EACpB,KAAK,IAAI,IAAI,KAAMA,CAAG,CACjC,EAEEJ,EAAG,UAAU,QAAU,SAAkBI,EAAK,CAC5C,OAAAX,EAAO,KAAK,IAAK,oCAAoC,EACrD,KAAK,IAAI,SAAS,KAAMW,CAAG,EACpB,KAAK,IAAI,KAAK,KAAMA,CAAG,CAClC,EAEEJ,EAAG,UAAU,OAAS,UAAmB,CACvC,OAAAP,EAAO,KAAK,IAAK,oCAAoC,EACrD,KAAK,IAAI,SAAS,IAAI,EACf,KAAK,IAAI,IAAI,IAAI,CAC5B,EAEEO,EAAG,UAAU,QAAU,UAAoB,CACzC,OAAAP,EAAO,KAAK,IAAK,qCAAqC,EACtD,KAAK,IAAI,SAAS,IAAI,EACf,KAAK,IAAI,KAAK,IAAI,CAC7B,EAGEO,EAAG,UAAU,QAAU,UAAoB,CACzC,OAAAP,EAAO,KAAK,IAAK,qCAAqC,EACtD,KAAK,IAAI,SAAS,IAAI,EACf,KAAK,IAAI,KAAK,IAAI,CAC7B,EAEEO,EAAG,UAAU,QAAU,UAAoB,CACzC,OAAAP,EAAO,KAAK,IAAK,qCAAqC,EACtD,KAAK,IAAI,SAAS,IAAI,EACf,KAAK,IAAI,KAAK,IAAI,CAC7B,EAGEO,EAAG,UAAU,OAAS,UAAmB,CACvC,OAAAP,EAAO,KAAK,IAAK,oCAAoC,EACrD,KAAK,IAAI,SAAS,IAAI,EACf,KAAK,IAAI,IAAI,IAAI,CAC5B,EAEEO,EAAG,UAAU,OAAS,SAAiBI,EAAK,CAC1C,OAAAX,EAAO,KAAK,KAAO,CAACW,EAAI,IAAK,mBAAmB,EAChD,KAAK,IAAI,SAAS,IAAI,EACf,KAAK,IAAI,IAAI,KAAMA,CAAG,CACjC,EAGE,IAAI4K,EAAS,CACX,KAAM,KACN,KAAM,KACN,KAAM,KACN,OAAQ,IACZ,EAGE,SAASC,EAAQj2B,EAAMqC,EAAG,CAExB,KAAK,KAAOrC,EACZ,KAAK,EAAI,IAAIgrB,EAAG3oB,EAAG,EAAE,EACrB,KAAK,EAAI,KAAK,EAAE,UAAS,EACzB,KAAK,EAAI,IAAI2oB,EAAG,CAAC,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAE7C,KAAK,IAAM,KAAK,MACjB,CAEDiL,EAAO,UAAU,KAAO,UAAiB,CACvC,IAAIC,EAAM,IAAIlL,EAAG,IAAI,EACrB,OAAAkL,EAAI,MAAQ,IAAI,MAAM,KAAK,KAAK,KAAK,EAAI,EAAE,CAAC,EACrCA,CACX,EAEED,EAAO,UAAU,QAAU,SAAkB7K,EAAK,CAGhD,IAAIhoB,EAAIgoB,EACJ+K,EAEJ,GACE,KAAK,MAAM/yB,EAAG,KAAK,GAAG,EACtBA,EAAI,KAAK,MAAMA,CAAC,EAChBA,EAAIA,EAAE,KAAK,KAAK,GAAG,EACnB+yB,EAAO/yB,EAAE,kBACF+yB,EAAO,KAAK,GAErB,IAAI7I,EAAM6I,EAAO,KAAK,EAAI,GAAK/yB,EAAE,KAAK,KAAK,CAAC,EAC5C,OAAIkqB,IAAQ,GACVlqB,EAAE,MAAM,CAAC,EAAI,EACbA,EAAE,OAAS,GACFkqB,EAAM,EACflqB,EAAE,KAAK,KAAK,CAAC,EAETA,EAAE,QAAU,OAEdA,EAAE,MAAK,EAGPA,EAAE,OAAM,EAILA,CACX,EAEE6yB,EAAO,UAAU,MAAQ,SAAgB5O,EAAOS,EAAK,CACnDT,EAAM,OAAO,KAAK,EAAG,EAAGS,CAAG,CAC/B,EAEEmO,EAAO,UAAU,MAAQ,SAAgB7K,EAAK,CAC5C,OAAOA,EAAI,KAAK,KAAK,CAAC,CAC1B,EAEE,SAASgL,GAAQ,CACfH,EAAO,KACL,KACA,OACA,yEAAyE,CAC5E,CACDrL,EAASwL,EAAMH,CAAM,EAErBG,EAAK,UAAU,MAAQ,SAAgB/O,EAAOplB,EAAQ,CAKpD,QAHIgmB,EAAO,QAEPoO,EAAS,KAAK,IAAIhP,EAAM,OAAQ,CAAC,EAC5BxkB,EAAI,EAAGA,EAAIwzB,EAAQxzB,IAC1BZ,EAAO,MAAMY,CAAC,EAAIwkB,EAAM,MAAMxkB,CAAC,EAIjC,GAFAZ,EAAO,OAASo0B,EAEZhP,EAAM,QAAU,EAAG,CACrBA,EAAM,MAAM,CAAC,EAAI,EACjBA,EAAM,OAAS,EACf,MACD,CAGD,IAAIiP,EAAOjP,EAAM,MAAM,CAAC,EAGxB,IAFAplB,EAAO,MAAMA,EAAO,QAAQ,EAAIq0B,EAAOrO,EAElCplB,EAAI,GAAIA,EAAIwkB,EAAM,OAAQxkB,IAAK,CAClC,IAAI0zB,EAAOlP,EAAM,MAAMxkB,CAAC,EAAI,EAC5BwkB,EAAM,MAAMxkB,EAAI,EAAE,GAAM0zB,EAAOtO,IAAS,EAAMqO,IAAS,GACvDA,EAAOC,CACR,CACDD,KAAU,GACVjP,EAAM,MAAMxkB,EAAI,EAAE,EAAIyzB,EAClBA,IAAS,GAAKjP,EAAM,OAAS,GAC/BA,EAAM,QAAU,GAEhBA,EAAM,QAAU,CAEtB,EAEE+O,EAAK,UAAU,MAAQ,SAAgBhL,EAAK,CAE1CA,EAAI,MAAMA,EAAI,MAAM,EAAI,EACxBA,EAAI,MAAMA,EAAI,OAAS,CAAC,EAAI,EAC5BA,EAAI,QAAU,EAId,QADI5J,EAAK,EACA3e,EAAI,EAAGA,EAAIuoB,EAAI,OAAQvoB,IAAK,CACnC,IAAImT,EAAIoV,EAAI,MAAMvoB,CAAC,EAAI,EACvB2e,GAAMxL,EAAI,IACVoV,EAAI,MAAMvoB,CAAC,EAAI2e,EAAK,SACpBA,EAAKxL,EAAI,IAASwL,EAAK,SAAa,EACrC,CAGD,OAAI4J,EAAI,MAAMA,EAAI,OAAS,CAAC,IAAM,IAChCA,EAAI,SACAA,EAAI,MAAMA,EAAI,OAAS,CAAC,IAAM,GAChCA,EAAI,UAGDA,CACX,EAEE,SAASoL,GAAQ,CACfP,EAAO,KACL,KACA,OACA,gEAAgE,CACnE,CACDrL,EAAS4L,EAAMP,CAAM,EAErB,SAASQ,GAAQ,CACfR,EAAO,KACL,KACA,OACA,uDAAuD,CAC1D,CACDrL,EAAS6L,EAAMR,CAAM,EAErB,SAASS,GAAU,CAEjBT,EAAO,KACL,KACA,QACA,qEAAqE,CACxE,CACDrL,EAAS8L,EAAQT,CAAM,EAEvBS,EAAO,UAAU,MAAQ,SAAgBtL,EAAK,CAG5C,QADIrZ,EAAQ,EACHlP,EAAI,EAAGA,EAAIuoB,EAAI,OAAQvoB,IAAK,CACnC,IAAIkqB,GAAM3B,EAAI,MAAMvoB,CAAC,EAAI,GAAK,GAAOkP,EACjCyP,EAAKuL,EAAK,SACdA,KAAQ,GAER3B,EAAI,MAAMvoB,CAAC,EAAI2e,EACfzP,EAAQgb,CACT,CACD,OAAIhb,IAAU,IACZqZ,EAAI,MAAMA,EAAI,QAAQ,EAAIrZ,GAErBqZ,CACX,EAGEJ,EAAG,OAAS,SAAgBhrB,EAAM,CAEhC,GAAIg2B,EAAOh2B,CAAI,EAAG,OAAOg2B,EAAOh2B,CAAI,EAEpC,IAAI22B,EACJ,GAAI32B,IAAS,OACX22B,EAAQ,IAAIP,UACHp2B,IAAS,OAClB22B,EAAQ,IAAIH,UACHx2B,IAAS,OAClB22B,EAAQ,IAAIF,UACHz2B,IAAS,SAClB22B,EAAQ,IAAID,MAEZ,OAAM,IAAI,MAAM,iBAAmB12B,CAAI,EAEzC,OAAAg2B,EAAOh2B,CAAI,EAAI22B,EAERA,CACX,EAKE,SAASb,EAAK1wB,EAAG,CACf,GAAI,OAAOA,GAAM,SAAU,CACzB,IAAIuxB,EAAQ3L,EAAG,OAAO5lB,CAAC,EACvB,KAAK,EAAIuxB,EAAM,EACf,KAAK,MAAQA,CACnB,MACMlM,EAAOrlB,EAAE,IAAI,CAAC,EAAG,gCAAgC,EACjD,KAAK,EAAIA,EACT,KAAK,MAAQ,IAEhB,CAED0wB,EAAI,UAAU,SAAW,SAAmB/vB,EAAG,CAC7C0kB,EAAO1kB,EAAE,WAAa,EAAG,+BAA+B,EACxD0kB,EAAO1kB,EAAE,IAAK,iCAAiC,CACnD,EAEE+vB,EAAI,UAAU,SAAW,SAAmB/vB,EAAG3D,EAAG,CAChDqoB,GAAQ1kB,EAAE,SAAW3D,EAAE,YAAc,EAAG,+BAA+B,EACvEqoB,EAAO1kB,EAAE,KAAOA,EAAE,MAAQ3D,EAAE,IAC1B,iCAAiC,CACvC,EAEE0zB,EAAI,UAAU,KAAO,SAAe/vB,EAAG,CACrC,OAAI,KAAK,MAAc,KAAK,MAAM,QAAQA,CAAC,EAAE,UAAU,IAAI,EACpDA,EAAE,KAAK,KAAK,CAAC,EAAE,UAAU,IAAI,CACxC,EAEE+vB,EAAI,UAAU,IAAM,SAAc/vB,EAAG,CACnC,OAAIA,EAAE,SACGA,EAAE,QAGJ,KAAK,EAAE,IAAIA,CAAC,EAAE,UAAU,IAAI,CACvC,EAEE+vB,EAAI,UAAU,IAAM,SAAc/vB,EAAG3D,EAAG,CACtC,KAAK,SAAS2D,EAAG3D,CAAC,EAElB,IAAI2G,EAAMhD,EAAE,IAAI3D,CAAC,EACjB,OAAI2G,EAAI,IAAI,KAAK,CAAC,GAAK,GACrBA,EAAI,KAAK,KAAK,CAAC,EAEVA,EAAI,UAAU,IAAI,CAC7B,EAEE+sB,EAAI,UAAU,KAAO,SAAe/vB,EAAG3D,EAAG,CACxC,KAAK,SAAS2D,EAAG3D,CAAC,EAElB,IAAI2G,EAAMhD,EAAE,KAAK3D,CAAC,EAClB,OAAI2G,EAAI,IAAI,KAAK,CAAC,GAAK,GACrBA,EAAI,KAAK,KAAK,CAAC,EAEVA,CACX,EAEE+sB,EAAI,UAAU,IAAM,SAAc/vB,EAAG3D,EAAG,CACtC,KAAK,SAAS2D,EAAG3D,CAAC,EAElB,IAAI2G,EAAMhD,EAAE,IAAI3D,CAAC,EACjB,OAAI2G,EAAI,KAAK,CAAC,EAAI,GAChBA,EAAI,KAAK,KAAK,CAAC,EAEVA,EAAI,UAAU,IAAI,CAC7B,EAEE+sB,EAAI,UAAU,KAAO,SAAe/vB,EAAG3D,EAAG,CACxC,KAAK,SAAS2D,EAAG3D,CAAC,EAElB,IAAI2G,EAAMhD,EAAE,KAAK3D,CAAC,EAClB,OAAI2G,EAAI,KAAK,CAAC,EAAI,GAChBA,EAAI,KAAK,KAAK,CAAC,EAEVA,CACX,EAEE+sB,EAAI,UAAU,IAAM,SAAc/vB,EAAGqlB,EAAK,CACxC,YAAK,SAASrlB,CAAC,EACR,KAAK,KAAKA,EAAE,MAAMqlB,CAAG,CAAC,CACjC,EAEE0K,EAAI,UAAU,KAAO,SAAe/vB,EAAG3D,EAAG,CACxC,YAAK,SAAS2D,EAAG3D,CAAC,EACX,KAAK,KAAK2D,EAAE,KAAK3D,CAAC,CAAC,CAC9B,EAEE0zB,EAAI,UAAU,IAAM,SAAc/vB,EAAG3D,EAAG,CACtC,YAAK,SAAS2D,EAAG3D,CAAC,EACX,KAAK,KAAK2D,EAAE,IAAI3D,CAAC,CAAC,CAC7B,EAEE0zB,EAAI,UAAU,KAAO,SAAe/vB,EAAG,CACrC,OAAO,KAAK,KAAKA,EAAGA,EAAE,MAAO,EACjC,EAEE+vB,EAAI,UAAU,IAAM,SAAc/vB,EAAG,CACnC,OAAO,KAAK,IAAIA,EAAGA,CAAC,CACxB,EAEE+vB,EAAI,UAAU,KAAO,SAAe/vB,EAAG,CACrC,GAAIA,EAAE,OAAM,EAAI,OAAOA,EAAE,MAAK,EAE9B,IAAI6wB,EAAO,KAAK,EAAE,MAAM,CAAC,EAIzB,GAHAnM,EAAOmM,EAAO,IAAM,CAAC,EAGjBA,IAAS,EAAG,CACd,IAAI1K,EAAM,KAAK,EAAE,IAAI,IAAIlB,EAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EACxC,OAAO,KAAK,IAAIjlB,EAAGmmB,CAAG,CACvB,CAOD,QAFI9lB,EAAI,KAAK,EAAE,KAAK,CAAC,EACjB1D,EAAI,EACD,CAAC0D,EAAE,OAAQ,GAAIA,EAAE,MAAM,CAAC,IAAM,GACnC1D,IACA0D,EAAE,OAAO,CAAC,EAEZqkB,EAAO,CAACrkB,EAAE,OAAM,CAAE,EAElB,IAAIywB,EAAM,IAAI7L,EAAG,CAAC,EAAE,MAAM,IAAI,EAC1B8L,EAAOD,EAAI,SAIXE,EAAO,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAC9B3gB,EAAI,KAAK,EAAE,UAAS,EAGxB,IAFAA,EAAI,IAAI4U,EAAG,EAAI5U,EAAIA,CAAC,EAAE,MAAM,IAAI,EAEzB,KAAK,IAAIA,EAAG2gB,CAAI,EAAE,IAAID,CAAI,IAAM,GACrC1gB,EAAE,QAAQ0gB,CAAI,EAOhB,QAJI3zB,EAAI,KAAK,IAAIiT,EAAGhQ,CAAC,EACjBhD,EAAI,KAAK,IAAI2C,EAAGK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EACnC3D,EAAI,KAAK,IAAIsD,EAAGK,CAAC,EACjBhB,EAAI1C,EACDD,EAAE,IAAIo0B,CAAG,IAAM,GAAG,CAEvB,QADIX,EAAMzzB,EACDI,EAAI,EAAGqzB,EAAI,IAAIW,CAAG,IAAM,EAAGh0B,IAClCqzB,EAAMA,EAAI,SAEZzL,EAAO5nB,EAAIuC,CAAC,EACZ,IAAIhD,EAAI,KAAK,IAAIe,EAAG,IAAI6nB,EAAG,CAAC,EAAE,OAAO5lB,EAAIvC,EAAI,CAAC,CAAC,EAE/CO,EAAIA,EAAE,OAAOhB,CAAC,EACde,EAAIf,EAAE,SACNK,EAAIA,EAAE,OAAOU,CAAC,EACdiC,EAAIvC,CACL,CAED,OAAOO,CACX,EAEE0yB,EAAI,UAAU,KAAO,SAAe/vB,EAAG,CACrC,IAAIixB,EAAMjxB,EAAE,OAAO,KAAK,CAAC,EACzB,OAAIixB,EAAI,WAAa,GACnBA,EAAI,SAAW,EACR,KAAK,KAAKA,CAAG,EAAE,OAAM,GAErB,KAAK,KAAKA,CAAG,CAE1B,EAEElB,EAAI,UAAU,IAAM,SAAc/vB,EAAGqlB,EAAK,CACxC,GAAIA,EAAI,OAAM,EAAI,OAAO,IAAIJ,EAAG,CAAC,EAAE,MAAM,IAAI,EAC7C,GAAII,EAAI,KAAK,CAAC,IAAM,EAAG,OAAOrlB,EAAE,QAEhC,IAAIkxB,EAAa,EACbC,EAAM,IAAI,MAAM,GAAKD,CAAU,EACnCC,EAAI,CAAC,EAAI,IAAIlM,EAAG,CAAC,EAAE,MAAM,IAAI,EAC7BkM,EAAI,CAAC,EAAInxB,EACT,QAASlD,EAAI,EAAGA,EAAIq0B,EAAI,OAAQr0B,IAC9Bq0B,EAAIr0B,CAAC,EAAI,KAAK,IAAIq0B,EAAIr0B,EAAI,CAAC,EAAGkD,CAAC,EAGjC,IAAIgD,EAAMmuB,EAAI,CAAC,EACXC,EAAU,EACVC,EAAa,EACb/L,EAAQD,EAAI,UAAS,EAAK,GAK9B,IAJIC,IAAU,IACZA,EAAQ,IAGLxoB,EAAIuoB,EAAI,OAAS,EAAGvoB,GAAK,EAAGA,IAAK,CAEpC,QADIopB,EAAOb,EAAI,MAAMvoB,CAAC,EACbmD,EAAIqlB,EAAQ,EAAGrlB,GAAK,EAAGA,IAAK,CACnC,IAAIinB,EAAOhB,GAAQjmB,EAAK,EAKxB,GAJI+C,IAAQmuB,EAAI,CAAC,IACfnuB,EAAM,KAAK,IAAIA,CAAG,GAGhBkkB,IAAQ,GAAKkK,IAAY,EAAG,CAC9BC,EAAa,EACb,QACD,CAEDD,IAAY,EACZA,GAAWlK,EACXmK,IACI,EAAAA,IAAeH,IAAep0B,IAAM,GAAKmD,IAAM,MAEnD+C,EAAM,KAAK,IAAIA,EAAKmuB,EAAIC,CAAO,CAAC,EAChCC,EAAa,EACbD,EAAU,EACX,CACD9L,EAAQ,EACT,CAED,OAAOtiB,CACX,EAEE+sB,EAAI,UAAU,UAAY,SAAoB1K,EAAK,CACjD,IAAIhoB,EAAIgoB,EAAI,KAAK,KAAK,CAAC,EAEvB,OAAOhoB,IAAMgoB,EAAMhoB,EAAE,MAAK,EAAKA,CACnC,EAEE0yB,EAAI,UAAU,YAAc,SAAsB1K,EAAK,CACrD,IAAIriB,EAAMqiB,EAAI,QACd,OAAAriB,EAAI,IAAM,KACHA,CACX,EAMEiiB,EAAG,KAAO,SAAeI,EAAK,CAC5B,OAAO,IAAIiM,EAAKjM,CAAG,CACvB,EAEE,SAASiM,EAAMjyB,EAAG,CAChB0wB,EAAI,KAAK,KAAM1wB,CAAC,EAEhB,KAAK,MAAQ,KAAK,EAAE,UAAS,EACzB,KAAK,MAAQ,KAAO,IACtB,KAAK,OAAS,GAAM,KAAK,MAAQ,IAGnC,KAAK,EAAI,IAAI4lB,EAAG,CAAC,EAAE,OAAO,KAAK,KAAK,EACpC,KAAK,GAAK,KAAK,KAAK,KAAK,EAAE,IAAG,CAAE,EAChC,KAAK,KAAO,KAAK,EAAE,OAAO,KAAK,CAAC,EAEhC,KAAK,KAAO,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,EACrD,KAAK,KAAO,KAAK,KAAK,KAAK,KAAK,CAAC,EACjC,KAAK,KAAO,KAAK,EAAE,IAAI,KAAK,IAAI,CACjC,CACDJ,EAASyM,EAAMvB,CAAG,EAElBuB,EAAK,UAAU,UAAY,SAAoBjM,EAAK,CAClD,OAAO,KAAK,KAAKA,EAAI,MAAM,KAAK,KAAK,CAAC,CAC1C,EAEEiM,EAAK,UAAU,YAAc,SAAsBjM,EAAK,CACtD,IAAIhoB,EAAI,KAAK,KAAKgoB,EAAI,IAAI,KAAK,IAAI,CAAC,EACpC,OAAAhoB,EAAE,IAAM,KACDA,CACX,EAEEi0B,EAAK,UAAU,KAAO,SAAetxB,EAAG3D,EAAG,CACzC,GAAI2D,EAAE,OAAM,GAAM3D,EAAE,OAAM,EACxB,OAAA2D,EAAE,MAAM,CAAC,EAAI,EACbA,EAAE,OAAS,EACJA,EAGT,IAAItD,EAAIsD,EAAE,KAAK3D,CAAC,EACZe,EAAIV,EAAE,MAAM,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,EACpEwR,EAAIxR,EAAE,KAAKU,CAAC,EAAE,OAAO,KAAK,KAAK,EAC/B4F,EAAMkL,EAEV,OAAIA,EAAE,IAAI,KAAK,CAAC,GAAK,EACnBlL,EAAMkL,EAAE,KAAK,KAAK,CAAC,EACVA,EAAE,KAAK,CAAC,EAAI,IACrBlL,EAAMkL,EAAE,KAAK,KAAK,CAAC,GAGdlL,EAAI,UAAU,IAAI,CAC7B,EAEEsuB,EAAK,UAAU,IAAM,SAActxB,EAAG3D,EAAG,CACvC,GAAI2D,EAAE,UAAY3D,EAAE,OAAQ,EAAE,OAAO,IAAI4oB,EAAG,CAAC,EAAE,UAAU,IAAI,EAE7D,IAAIvoB,EAAIsD,EAAE,IAAI3D,CAAC,EACXe,EAAIV,EAAE,MAAM,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,EACpEwR,EAAIxR,EAAE,KAAKU,CAAC,EAAE,OAAO,KAAK,KAAK,EAC/B4F,EAAMkL,EACV,OAAIA,EAAE,IAAI,KAAK,CAAC,GAAK,EACnBlL,EAAMkL,EAAE,KAAK,KAAK,CAAC,EACVA,EAAE,KAAK,CAAC,EAAI,IACrBlL,EAAMkL,EAAE,KAAK,KAAK,CAAC,GAGdlL,EAAI,UAAU,IAAI,CAC7B,EAEEsuB,EAAK,UAAU,KAAO,SAAetxB,EAAG,CAEtC,IAAIgD,EAAM,KAAK,KAAKhD,EAAE,OAAO,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,EACjD,OAAOgD,EAAI,UAAU,IAAI,CAC7B,IACoCyhB,EAAQ8M,EAAI,6CCn3GhD,IAAIC,EAAQ/xB,EAEZ,SAASgyB,EAAQ7M,EAAK8M,EAAK,CACzB,GAAI,MAAM,QAAQ9M,CAAG,EACnB,OAAOA,EAAI,QACb,GAAI,CAACA,EACH,MAAO,GACT,IAAI5hB,EAAM,GACV,GAAI,OAAO4hB,GAAQ,SAAU,CAC3B,QAAS9nB,EAAI,EAAGA,EAAI8nB,EAAI,OAAQ9nB,IAC9BkG,EAAIlG,CAAC,EAAI8nB,EAAI9nB,CAAC,EAAI,EACpB,OAAOkG,CACR,CACD,GAAI0uB,IAAQ,MAAO,CACjB9M,EAAMA,EAAI,QAAQ,eAAgB,EAAE,EAChCA,EAAI,OAAS,IAAM,IACrBA,EAAM,IAAMA,GACd,QAAS9nB,EAAI,EAAGA,EAAI8nB,EAAI,OAAQ9nB,GAAK,EACnCkG,EAAI,KAAK,SAAS4hB,EAAI9nB,CAAC,EAAI8nB,EAAI9nB,EAAI,CAAC,EAAG,EAAE,CAAC,CAChD,KACI,SAASA,EAAI,EAAGA,EAAI8nB,EAAI,OAAQ9nB,IAAK,CACnC,IAAIM,EAAIwnB,EAAI,WAAW9nB,CAAC,EACpBkqB,EAAK5pB,GAAK,EACVqe,EAAKre,EAAI,IACT4pB,EACFhkB,EAAI,KAAKgkB,EAAIvL,CAAE,EAEfzY,EAAI,KAAKyY,CAAE,CACd,CAEH,OAAOzY,CACR,CACDwuB,EAAM,QAAUC,EAEhB,SAASE,EAAMzL,EAAM,CACnB,OAAIA,EAAK,SAAW,EACX,IAAMA,EAENA,CACV,CACDsL,EAAM,MAAQG,EAEd,SAAS3pB,EAAM4c,EAAK,CAElB,QADI5hB,EAAM,GACDlG,EAAI,EAAGA,EAAI8nB,EAAI,OAAQ9nB,IAC9BkG,GAAO2uB,EAAM/M,EAAI9nB,CAAC,EAAE,SAAS,EAAE,CAAC,EAClC,OAAOkG,CACR,CACDwuB,EAAM,MAAQxpB,EAEdwpB,EAAM,OAAS,SAAgBjR,EAAKmR,EAAK,CACvC,OAAIA,IAAQ,MACH1pB,EAAMuY,CAAG,EAETA,sBCtDX,IAAIiR,EAAQ/xB,EACRwlB,EAAKvjB,GACLkwB,EAAYjwB,GACZkwB,EAAWjwB,GAEf4vB,EAAM,OAASI,EACfJ,EAAM,QAAUK,EAAS,QACzBL,EAAM,MAAQK,EAAS,MACvBL,EAAM,MAAQK,EAAS,MACvBL,EAAM,OAASK,EAAS,OAGxB,SAASC,EAAOzM,EAAKpV,EAAG+R,EAAM,CAC5B,IAAI+P,EAAM,IAAI,MAAM,KAAK,IAAI1M,EAAI,YAAarD,CAAI,EAAI,CAAC,EACnDllB,EACJ,IAAKA,EAAI,EAAGA,EAAIi1B,EAAI,OAAQj1B,GAAK,EAC/Bi1B,EAAIj1B,CAAC,EAAI,EAGX,IAAIixB,EAAK,GAAM9d,EAAI,EACf3Q,EAAI+lB,EAAI,QAEZ,IAAKvoB,EAAI,EAAGA,EAAIi1B,EAAI,OAAQj1B,IAAK,CAC/B,IAAIuT,EACAtP,EAAMzB,EAAE,MAAMyuB,EAAK,CAAC,EACpBzuB,EAAE,SACAyB,GAAOgtB,GAAM,GAAK,EACpB1d,GAAK0d,GAAM,GAAKhtB,EAEhBsP,EAAItP,EACNzB,EAAE,MAAM+Q,CAAC,GAETA,EAAI,EAGN0hB,EAAIj1B,CAAC,EAAIuT,EACT/Q,EAAE,OAAO,CAAC,CACX,CAED,OAAOyyB,CACR,CACDP,EAAM,OAASM,EAGf,SAASE,EAAOC,EAAI1yB,EAAI,CACtB,IAAI2yB,EAAM,CACR,CAAE,EACF,CAAE,CACN,EAEED,EAAKA,EAAG,QACR1yB,EAAKA,EAAG,QAIR,QAHI4yB,EAAK,EACLC,EAAK,EACLC,EACGJ,EAAG,KAAK,CAACE,CAAE,EAAI,GAAK5yB,EAAG,KAAK,CAAC6yB,CAAE,EAAI,GAAG,CAE3C,IAAIE,EAAOL,EAAG,MAAM,CAAC,EAAIE,EAAM,EAC3BI,EAAOhzB,EAAG,MAAM,CAAC,EAAI6yB,EAAM,EAC3BE,IAAQ,IACVA,EAAM,IACJC,IAAQ,IACVA,EAAM,IACR,IAAIC,EACCF,EAAM,GAGTD,EAAMJ,EAAG,MAAM,CAAC,EAAIE,EAAM,GACrBE,IAAO,GAAKA,IAAO,IAAME,IAAQ,EACpCC,EAAK,CAACF,EAENE,EAAKF,GANPE,EAAK,EAQPN,EAAI,CAAC,EAAE,KAAKM,CAAE,EAEd,IAAIC,EACCF,EAAM,GAGTF,EAAM9yB,EAAG,MAAM,CAAC,EAAI6yB,EAAM,GACrBC,IAAO,GAAKA,IAAO,IAAMC,IAAQ,EACpCG,EAAK,CAACF,EAENE,EAAKF,GANPE,EAAK,EAQPP,EAAI,CAAC,EAAE,KAAKO,CAAE,EAGV,EAAIN,IAAOK,EAAK,IAClBL,EAAK,EAAIA,GACP,EAAIC,IAAOK,EAAK,IAClBL,EAAK,EAAIA,GACXH,EAAG,OAAO,CAAC,EACX1yB,EAAG,OAAO,CAAC,CACZ,CAED,OAAO2yB,CACR,CACDV,EAAM,OAASQ,EAEf,SAASU,EAAeC,EAAK14B,EAAM24B,EAAU,CAC3C,IAAI11B,EAAM,IAAMjD,EAChB04B,EAAI,UAAU14B,CAAI,EAAI,UAA0B,CAC9C,OAAO,KAAKiD,CAAG,IAAM,OAAY,KAAKA,CAAG,EACvC,KAAKA,CAAG,EAAI01B,EAAS,KAAK,IAAI,CACpC,CACC,CACDpB,EAAM,eAAiBkB,EAEvB,SAASG,EAAW9rB,EAAO,CACzB,OAAO,OAAOA,GAAU,SAAWyqB,EAAM,QAAQzqB,EAAO,KAAK,EAC3DA,CACH,CACDyqB,EAAM,WAAaqB,EAEnB,SAASC,EAAU/rB,EAAO,CACxB,OAAO,IAAIke,EAAGle,EAAO,MAAO,IAAI,CACjC,CACDyqB,EAAM,UAAYsB,4BCxHdz1B,GAEJ01B,GAAA,QAAiB,SAAcjN,EAAK,CAClC,OAAKzoB,KACHA,GAAI,IAAI21B,GAAK,IAAI,GAEZ31B,GAAE,SAASyoB,CAAG,CACvB,EAEA,SAASkN,GAAKC,EAAM,CAClB,KAAK,KAAOA,CACd,CACmBF,GAAA,aAAGC,GAEtBA,GAAK,UAAU,SAAW,SAAkBlN,EAAK,CAC/C,OAAO,KAAK,MAAMA,CAAG,CACvB,EAGAkN,GAAK,UAAU,MAAQ,SAAep2B,EAAG,CACvC,GAAI,KAAK,KAAK,SACZ,OAAO,KAAK,KAAK,SAASA,CAAC,EAG7B,QADIoG,EAAM,IAAI,WAAWpG,CAAC,EACjB,EAAI,EAAG,EAAIoG,EAAI,OAAQ,IAC9BA,EAAI,CAAC,EAAI,KAAK,KAAK,QAAO,EAC5B,OAAOA,CACT,EAEA,GAAI,OAAO,MAAS,SACd,KAAK,QAAU,KAAK,OAAO,gBAE7BgwB,GAAK,UAAU,MAAQ,SAAep2B,EAAG,CACvC,IAAI2jB,EAAM,IAAI,WAAW3jB,CAAC,EAC1B,YAAK,OAAO,gBAAgB2jB,CAAG,EACxBA,CACb,EACa,KAAK,UAAY,KAAK,SAAS,gBAExCyS,GAAK,UAAU,MAAQ,SAAep2B,EAAG,CACvC,IAAI2jB,EAAM,IAAI,WAAW3jB,CAAC,EAC1B,YAAK,SAAS,gBAAgB2jB,CAAG,EAC1BA,CACb,EAGa,OAAO,QAAW,WAE3ByS,GAAK,UAAU,MAAQ,UAAW,CAChC,MAAM,IAAI,MAAM,qBAAqB,CAC3C,OAIE,IAAI,CACF,IAAIE,GAASxxB,GACb,GAAI,OAAOwxB,GAAO,aAAgB,WAChC,MAAM,IAAI,MAAM,eAAe,EAEjCF,GAAK,UAAU,MAAQ,SAAep2B,EAAG,CACvC,OAAOs2B,GAAO,YAAYt2B,CAAC,CACjC,CACG,MAAW,CACX,yBC7DCqoB,GAAKvjB,GACL8vB,GAAQ7vB,GACRmwB,GAASN,GAAM,OACfQ,GAASR,GAAM,OACf9M,GAAS8M,GAAM,OAEnB,SAAS2B,GAAU5sB,EAAM6sB,EAAM,CAC7B,KAAK,KAAO7sB,EACZ,KAAK,EAAI,IAAI0e,GAAGmO,EAAK,EAAG,EAAE,EAG1B,KAAK,IAAMA,EAAK,MAAQnO,GAAG,IAAImO,EAAK,KAAK,EAAInO,GAAG,KAAK,KAAK,CAAC,EAG3D,KAAK,KAAO,IAAIA,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,EACpC,KAAK,IAAM,IAAIA,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,EACnC,KAAK,IAAM,IAAIA,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,EAGnC,KAAK,EAAImO,EAAK,GAAK,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EACpC,KAAK,EAAIA,EAAK,GAAK,KAAK,cAAcA,EAAK,EAAGA,EAAK,IAAI,EAGvD,KAAK,QAAU,IAAI,MAAM,CAAC,EAC1B,KAAK,QAAU,IAAI,MAAM,CAAC,EAC1B,KAAK,QAAU,IAAI,MAAM,CAAC,EAC1B,KAAK,QAAU,IAAI,MAAM,CAAC,EAE1B,KAAK,WAAa,KAAK,EAAI,KAAK,EAAE,UAAW,EAAG,EAGhD,IAAIC,EAAc,KAAK,GAAK,KAAK,EAAE,IAAI,KAAK,CAAC,EACzC,CAACA,GAAeA,EAAY,KAAK,GAAG,EAAI,EAC1C,KAAK,KAAO,MAEZ,KAAK,cAAgB,GACrB,KAAK,KAAO,KAAK,EAAE,MAAM,KAAK,GAAG,EAErC,KACApoB,GAAiBkoB,GAEjBA,GAAU,UAAU,MAAQ,UAAiB,CAC3C,MAAM,IAAI,MAAM,iBAAiB,CACnC,EAEAA,GAAU,UAAU,SAAW,UAAoB,CACjD,MAAM,IAAI,MAAM,iBAAiB,CACnC,EAEAA,GAAU,UAAU,aAAe,SAAsB72B,EAAGgD,EAAG,CAC7DolB,GAAOpoB,EAAE,WAAW,EACpB,IAAIg3B,EAAUh3B,EAAE,cAEZy1B,EAAMD,GAAOxyB,EAAG,EAAG,KAAK,UAAU,EAClCgR,GAAK,GAAMgjB,EAAQ,KAAO,IAAOA,EAAQ,KAAO,IAAM,EAAI,EAAI,GAClEhjB,GAAK,EAGL,IAAIijB,EAAO,GACPtzB,EACAuzB,EACJ,IAAKvzB,EAAI,EAAGA,EAAI8xB,EAAI,OAAQ9xB,GAAKqzB,EAAQ,KAAM,CAC7CE,EAAO,EACP,QAAS15B,EAAImG,EAAIqzB,EAAQ,KAAO,EAAGx5B,GAAKmG,EAAGnG,IACzC05B,GAAQA,GAAQ,GAAKzB,EAAIj4B,CAAC,EAC5By5B,EAAK,KAAKC,CAAI,CACf,CAID,QAFIxzB,EAAI,KAAK,OAAO,KAAM,KAAM,IAAI,EAChC3D,EAAI,KAAK,OAAO,KAAM,KAAM,IAAI,EAC3BS,EAAIwT,EAAGxT,EAAI,EAAGA,IAAK,CAC1B,IAAKmD,EAAI,EAAGA,EAAIszB,EAAK,OAAQtzB,IAC3BuzB,EAAOD,EAAKtzB,CAAC,EACTuzB,IAAS12B,EACXT,EAAIA,EAAE,SAASi3B,EAAQ,OAAOrzB,CAAC,CAAC,EACzBuzB,IAAS,CAAC12B,IACjBT,EAAIA,EAAE,SAASi3B,EAAQ,OAAOrzB,CAAC,EAAE,IAAG,CAAE,GAE1CD,EAAIA,EAAE,IAAI3D,CAAC,CACZ,CACD,OAAO2D,EAAE,KACX,EAEAmzB,GAAU,UAAU,SAAW,SAAkB72B,EAAGgD,EAAG,CACrD,IAAI2Q,EAAI,EAGJwjB,EAAYn3B,EAAE,cAAc2T,CAAC,EACjCA,EAAIwjB,EAAU,IAQd,QAPItC,EAAMsC,EAAU,OAGhB1B,EAAMD,GAAOxyB,EAAG2Q,EAAG,KAAK,UAAU,EAGlCmQ,EAAM,KAAK,OAAO,KAAM,KAAM,IAAI,EAC7BtjB,EAAIi1B,EAAI,OAAS,EAAGj1B,GAAK,EAAGA,IAAK,CAExC,QAAShD,EAAI,EAAGgD,GAAK,GAAKi1B,EAAIj1B,CAAC,IAAM,EAAGA,IACtChD,IAKF,GAJIgD,GAAK,GACPhD,IACFsmB,EAAMA,EAAI,KAAKtmB,CAAC,EAEZgD,EAAI,EACN,MACF,IAAIuT,EAAI0hB,EAAIj1B,CAAC,EACb4nB,GAAOrU,IAAM,CAAC,EACV/T,EAAE,OAAS,SAET+T,EAAI,EACN+P,EAAMA,EAAI,SAAS+Q,EAAK9gB,EAAI,GAAM,CAAC,CAAC,EAEpC+P,EAAMA,EAAI,SAAS+Q,EAAK,CAAC9gB,EAAI,GAAM,CAAC,EAAE,IAAG,CAAE,EAGzCA,EAAI,EACN+P,EAAMA,EAAI,IAAI+Q,EAAK9gB,EAAI,GAAM,CAAC,CAAC,EAE/B+P,EAAMA,EAAI,IAAI+Q,EAAK,CAAC9gB,EAAI,GAAM,CAAC,EAAE,IAAG,CAAE,CAE3C,CACD,OAAO/T,EAAE,OAAS,SAAW8jB,EAAI,IAAK,EAAGA,CAC3C,EAEA+S,GAAU,UAAU,YAAc,SAAqBO,EACrDC,EACAC,EACA9N,EACA+N,EAAgB,CAChB,IAAIC,EAAW,KAAK,QAChB3C,EAAM,KAAK,QACXY,EAAM,KAAK,QAGX5qB,EAAM,EACNrK,EACAmD,EACA3D,EACJ,IAAKQ,EAAI,EAAGA,EAAIgpB,EAAKhpB,IAAK,CACxBR,EAAIq3B,EAAO72B,CAAC,EACZ,IAAI22B,EAAYn3B,EAAE,cAAco3B,CAAI,EACpCI,EAASh3B,CAAC,EAAI22B,EAAU,IACxBtC,EAAIr0B,CAAC,EAAI22B,EAAU,MACpB,CAGD,IAAK32B,EAAIgpB,EAAM,EAAGhpB,GAAK,EAAGA,GAAK,EAAG,CAChC,IAAIkD,EAAIlD,EAAI,EACRT,EAAIS,EACR,GAAIg3B,EAAS9zB,CAAC,IAAM,GAAK8zB,EAASz3B,CAAC,IAAM,EAAG,CAC1C01B,EAAI/xB,CAAC,EAAI8xB,GAAO8B,EAAO5zB,CAAC,EAAG8zB,EAAS9zB,CAAC,EAAG,KAAK,UAAU,EACvD+xB,EAAI11B,CAAC,EAAIy1B,GAAO8B,EAAOv3B,CAAC,EAAGy3B,EAASz3B,CAAC,EAAG,KAAK,UAAU,EACvD8K,EAAM,KAAK,IAAI4qB,EAAI/xB,CAAC,EAAE,OAAQmH,CAAG,EACjCA,EAAM,KAAK,IAAI4qB,EAAI11B,CAAC,EAAE,OAAQ8K,CAAG,EACjC,QACD,CAED,IAAI4sB,EAAO,CACTJ,EAAO3zB,CAAC,EACR,KACA,KACA2zB,EAAOt3B,CAAC,CACd,EAGQs3B,EAAO3zB,CAAC,EAAE,EAAE,IAAI2zB,EAAOt3B,CAAC,EAAE,CAAC,IAAM,GACnC03B,EAAK,CAAC,EAAIJ,EAAO3zB,CAAC,EAAE,IAAI2zB,EAAOt3B,CAAC,CAAC,EACjC03B,EAAK,CAAC,EAAIJ,EAAO3zB,CAAC,EAAE,MAAM,SAAS2zB,EAAOt3B,CAAC,EAAE,IAAK,IACzCs3B,EAAO3zB,CAAC,EAAE,EAAE,IAAI2zB,EAAOt3B,CAAC,EAAE,EAAE,OAAQ,KAAM,GACnD03B,EAAK,CAAC,EAAIJ,EAAO3zB,CAAC,EAAE,IAAK,EAAC,SAAS2zB,EAAOt3B,CAAC,CAAC,EAC5C03B,EAAK,CAAC,EAAIJ,EAAO3zB,CAAC,EAAE,IAAI2zB,EAAOt3B,CAAC,EAAE,IAAG,CAAE,IAEvC03B,EAAK,CAAC,EAAIJ,EAAO3zB,CAAC,EAAE,IAAK,EAAC,SAAS2zB,EAAOt3B,CAAC,CAAC,EAC5C03B,EAAK,CAAC,EAAIJ,EAAO3zB,CAAC,EAAE,MAAM,SAAS2zB,EAAOt3B,CAAC,EAAE,IAAK,IAGpD,IAAIgN,EAAQ,CACV,GACA,GACA,GACA,GACA,EACA,EACA,EACA,EACA,CACN,EAEQ6oB,EAAMF,GAAO4B,EAAO5zB,CAAC,EAAG4zB,EAAOv3B,CAAC,CAAC,EAIrC,IAHA8K,EAAM,KAAK,IAAI+qB,EAAI,CAAC,EAAE,OAAQ/qB,CAAG,EACjC4qB,EAAI/xB,CAAC,EAAI,IAAI,MAAMmH,CAAG,EACtB4qB,EAAI11B,CAAC,EAAI,IAAI,MAAM8K,CAAG,EACjBlH,EAAI,EAAGA,EAAIkH,EAAKlH,IAAK,CACxB,IAAI+zB,EAAK9B,EAAI,CAAC,EAAEjyB,CAAC,EAAI,EACjBg0B,EAAK/B,EAAI,CAAC,EAAEjyB,CAAC,EAAI,EAErB8xB,EAAI/xB,CAAC,EAAEC,CAAC,EAAIoJ,GAAO2qB,EAAK,GAAK,GAAKC,EAAK,EAAE,EACzClC,EAAI11B,CAAC,EAAE4D,CAAC,EAAI,EACZkxB,EAAInxB,CAAC,EAAI+zB,CACV,CACF,CAED,IAAI3T,EAAM,KAAK,OAAO,KAAM,KAAM,IAAI,EAClC+P,EAAM,KAAK,QACf,IAAKrzB,EAAIqK,EAAKrK,GAAK,EAAGA,IAAK,CAGzB,QAFIwC,EAAI,EAEDxC,GAAK,GAAG,CACb,IAAIo3B,EAAO,GACX,IAAKj0B,EAAI,EAAGA,EAAI6lB,EAAK7lB,IACnBkwB,EAAIlwB,CAAC,EAAI8xB,EAAI9xB,CAAC,EAAEnD,CAAC,EAAI,EACjBqzB,EAAIlwB,CAAC,IAAM,IACbi0B,EAAO,IAEX,GAAI,CAACA,EACH,MACF50B,IACAxC,GACD,CAID,GAHIA,GAAK,GACPwC,IACF8gB,EAAMA,EAAI,KAAK9gB,CAAC,EACZxC,EAAI,EACN,MAEF,IAAKmD,EAAI,EAAGA,EAAI6lB,EAAK7lB,IAAK,CACxB,IAAIoQ,EAAI8f,EAAIlwB,CAAC,EAEToQ,IAAM,IAEDA,EAAI,EACX/T,EAAI60B,EAAIlxB,CAAC,EAAGoQ,EAAI,GAAM,CAAC,EAChBA,EAAI,IACX/T,EAAI60B,EAAIlxB,CAAC,EAAG,CAACoQ,EAAI,GAAM,CAAC,EAAE,OAExB/T,EAAE,OAAS,SACb8jB,EAAMA,EAAI,SAAS9jB,CAAC,EAEpB8jB,EAAMA,EAAI,IAAI9jB,CAAC,EAClB,CACF,CAED,IAAKQ,EAAI,EAAGA,EAAIgpB,EAAKhpB,IACnBq0B,EAAIr0B,CAAC,EAAI,KAEX,OAAI+2B,EACKzT,EAEAA,EAAI,KACf,EAEA,SAAS+T,GAAUC,EAAO7tB,EAAM,CAC9B,KAAK,MAAQ6tB,EACb,KAAK,KAAO7tB,EACZ,KAAK,YAAc,IACrB,CACA4sB,GAAU,UAAYgB,GAEtBA,GAAU,UAAU,GAAK,UAAuB,CAC9C,MAAM,IAAI,MAAM,iBAAiB,CACnC,EAEAA,GAAU,UAAU,SAAW,UAAoB,CACjD,OAAO,KAAK,MAAM,SAAS,IAAI,CACjC,EAEAhB,GAAU,UAAU,YAAc,SAAqBpsB,EAAO2qB,EAAK,CACjE3qB,EAAQyqB,GAAM,QAAQzqB,EAAO2qB,CAAG,EAEhC,IAAI5L,EAAM,KAAK,EAAE,WAAU,EAG3B,IAAK/e,EAAM,CAAC,IAAM,GAAQA,EAAM,CAAC,IAAM,GAAQA,EAAM,CAAC,IAAM,IACxDA,EAAM,OAAS,IAAM,EAAI+e,EAAK,CAC5B/e,EAAM,CAAC,IAAM,EACf2d,GAAO3d,EAAMA,EAAM,OAAS,CAAC,EAAI,IAAM,CAAC,EACjCA,EAAM,CAAC,IAAM,GACpB2d,GAAO3d,EAAMA,EAAM,OAAS,CAAC,EAAI,IAAM,CAAC,EAE1C,IAAI/D,EAAO,KAAK,MAAM+D,EAAM,MAAM,EAAG,EAAI+e,CAAG,EAC1C/e,EAAM,MAAM,EAAI+e,EAAK,EAAI,EAAIA,CAAG,CAAC,EAEnC,OAAO9iB,CACX,UAAc+D,EAAM,CAAC,IAAM,GAAQA,EAAM,CAAC,IAAM,IAClCA,EAAM,OAAS,IAAM+e,EAC/B,OAAO,KAAK,WAAW/e,EAAM,MAAM,EAAG,EAAI+e,CAAG,EAAG/e,EAAM,CAAC,IAAM,CAAI,EAEnE,MAAM,IAAI,MAAM,sBAAsB,CACxC,EAEAotB,GAAU,UAAU,iBAAmB,SAA0BzC,EAAK,CACpE,OAAO,KAAK,OAAOA,EAAK,EAAI,CAC9B,EAEAyC,GAAU,UAAU,QAAU,SAAiBE,EAAS,CACtD,IAAIvO,EAAM,KAAK,MAAM,EAAE,WAAU,EAC7B1a,EAAI,KAAK,KAAI,EAAG,QAAQ,KAAM0a,CAAG,EAErC,OAAIuO,EACK,CAAE,KAAK,KAAI,EAAG,OAAM,EAAK,EAAO,CAAM,EAAC,OAAOjpB,CAAC,EAEjD,CAAE,CAAI,EAAG,OAAOA,EAAG,KAAK,KAAI,EAAG,QAAQ,KAAM0a,CAAG,CAAC,CAC1D,EAEAqO,GAAU,UAAU,OAAS,SAAgBzC,EAAK2C,EAAS,CACzD,OAAO7C,GAAM,OAAO,KAAK,QAAQ6C,CAAO,EAAG3C,CAAG,CAChD,EAEAyC,GAAU,UAAU,WAAa,SAAoBG,EAAO,CAC1D,GAAI,KAAK,YACP,OAAO,KAET,IAAIC,EAAc,CAChB,QAAS,KACT,IAAK,KACL,KAAM,IACV,EACE,OAAAA,EAAY,IAAM,KAAK,cAAc,CAAC,EACtCA,EAAY,QAAU,KAAK,YAAY,EAAGD,CAAK,EAC/CC,EAAY,KAAO,KAAK,WACxB,KAAK,YAAcA,EAEZ,IACT,EAEAJ,GAAU,UAAU,YAAc,SAAqB70B,EAAG,CACxD,GAAI,CAAC,KAAK,YACR,MAAO,GAET,IAAIg0B,EAAU,KAAK,YAAY,QAC/B,OAAKA,EAGEA,EAAQ,OAAO,QAAU,KAAK,MAAMh0B,EAAE,UAAS,EAAK,GAAKg0B,EAAQ,IAAI,EAFnE,EAGX,EAEAa,GAAU,UAAU,YAAc,SAAqB71B,EAAMg2B,EAAO,CAClE,GAAI,KAAK,aAAe,KAAK,YAAY,QACvC,OAAO,KAAK,YAAY,QAI1B,QAFIhB,EAAU,CAAE,MACZlT,EAAM,KACDtjB,EAAI,EAAGA,EAAIw3B,EAAOx3B,GAAKwB,EAAM,CACpC,QAAS2B,EAAI,EAAGA,EAAI3B,EAAM2B,IACxBmgB,EAAMA,EAAI,MACZkT,EAAQ,KAAKlT,CAAG,CACjB,CACD,MAAO,CACL,KAAM9hB,EACN,OAAQg1B,CACZ,CACA,EAEAa,GAAU,UAAU,cAAgB,SAAuBhD,EAAK,CAC9D,GAAI,KAAK,aAAe,KAAK,YAAY,IACvC,OAAO,KAAK,YAAY,IAK1B,QAHInuB,EAAM,CAAE,MACRmE,GAAO,GAAKgqB,GAAO,EACnBqD,EAAMrtB,IAAQ,EAAI,KAAO,KAAK,MACzBrK,EAAI,EAAGA,EAAIqK,EAAKrK,IACvBkG,EAAIlG,CAAC,EAAIkG,EAAIlG,EAAI,CAAC,EAAE,IAAI03B,CAAG,EAC7B,MAAO,CACL,IAAKrD,EACL,OAAQnuB,CACZ,CACA,EAEAmxB,GAAU,UAAU,SAAW,UAAoB,CACjD,OAAO,IACT,EAEAA,GAAU,UAAU,KAAO,SAAc70B,EAAG,CAE1C,QADIjC,EAAI,KACC,EAAI,EAAG,EAAIiC,EAAG,IACrBjC,EAAIA,EAAE,MACR,OAAOA,CACT,EC1XA,IAAIm0B,GAAQ9vB,GACRujB,GAAKtjB,GACLkjB,GAAWjjB,GACX6yB,GAAOhyB,GAEPiiB,GAAS8M,GAAM,OAEnB,SAASkD,GAAWtB,EAAM,CACxBqB,GAAK,KAAK,KAAM,QAASrB,CAAI,EAE7B,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,MAAM,KAAK,GAAG,EAC1C,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,MAAM,KAAK,GAAG,EAC1C,KAAK,KAAO,KAAK,IAAI,QAAO,EAE5B,KAAK,MAAQ,KAAK,EAAE,QAAO,EAAG,KAAK,CAAC,IAAM,EAC1C,KAAK,OAAS,KAAK,EAAE,QAAO,EAAG,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAM,EAGxD,KAAK,KAAO,KAAK,iBAAiBA,CAAI,EACtC,KAAK,YAAc,IAAI,MAAM,CAAC,EAC9B,KAAK,YAAc,IAAI,MAAM,CAAC,CAChC,CACAvO,GAAS6P,GAAYD,EAAI,MACzBE,GAAiBD,GAEjBA,GAAW,UAAU,iBAAmB,SAA0BtB,EAAM,CAEtE,GAAI,GAAC,KAAK,OAAS,CAAC,KAAK,GAAK,CAAC,KAAK,GAAK,KAAK,EAAE,KAAK,CAAC,IAAM,GAI5D,KAAIwB,EACAC,EACJ,GAAIzB,EAAK,KACPwB,EAAO,IAAI3P,GAAGmO,EAAK,KAAM,EAAE,EAAE,MAAM,KAAK,GAAG,MACtC,CACL,IAAI0B,EAAQ,KAAK,cAAc,KAAK,CAAC,EAErCF,EAAOE,EAAM,CAAC,EAAE,IAAIA,EAAM,CAAC,CAAC,EAAI,EAAIA,EAAM,CAAC,EAAIA,EAAM,CAAC,EACtDF,EAAOA,EAAK,MAAM,KAAK,GAAG,CAC3B,CACD,GAAIxB,EAAK,OACPyB,EAAS,IAAI5P,GAAGmO,EAAK,OAAQ,EAAE,MAC1B,CAEL,IAAI2B,EAAU,KAAK,cAAc,KAAK,CAAC,EACnC,KAAK,EAAE,IAAIA,EAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,OAAOH,CAAI,CAAC,IAAM,EAC1DC,EAASE,EAAQ,CAAC,GAElBF,EAASE,EAAQ,CAAC,EAClBrQ,GAAO,KAAK,EAAE,IAAImQ,CAAM,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,OAAOD,CAAI,CAAC,IAAM,CAAC,EAE/D,CAGD,IAAII,EACJ,OAAI5B,EAAK,MACP4B,EAAQ5B,EAAK,MAAM,IAAI,SAAS6B,EAAK,CACnC,MAAO,CACL,EAAG,IAAIhQ,GAAGgQ,EAAI,EAAG,EAAE,EACnB,EAAG,IAAIhQ,GAAGgQ,EAAI,EAAG,EAAE,CAC3B,CACA,CAAK,EAEDD,EAAQ,KAAK,cAAcH,CAAM,EAG5B,CACL,KAAMD,EACN,OAAQC,EACR,MAAOG,CACX,EACA,EAEAN,GAAW,UAAU,cAAgB,SAAuBrP,EAAK,CAI/D,IAAI6P,EAAM7P,IAAQ,KAAK,EAAI,KAAK,IAAMJ,GAAG,KAAKI,CAAG,EAC7C8P,EAAO,IAAIlQ,GAAG,CAAC,EAAE,MAAMiQ,CAAG,EAAE,UAC5BE,EAAQD,EAAK,SAEbx4B,EAAI,IAAIsoB,GAAG,CAAC,EAAE,MAAMiQ,CAAG,EAAE,OAAQ,EAAC,QAAO,EAAG,OAAOC,CAAI,EAEvDE,EAAKD,EAAM,OAAOz4B,CAAC,EAAE,QAAO,EAC5B24B,EAAKF,EAAM,OAAOz4B,CAAC,EAAE,QAAO,EAChC,MAAO,CAAE04B,EAAIC,EACf,EAEAZ,GAAW,UAAU,cAAgB,SAAuBG,EAAQ,CA2BlE,QAzBIU,EAAW,KAAK,EAAE,MAAM,KAAK,MAAM,KAAK,EAAE,YAAc,CAAC,CAAC,EAI1DrnB,EAAI2mB,EACJ51B,EAAI,KAAK,EAAE,MAAK,EAChB0wB,EAAK,IAAI1K,GAAG,CAAC,EACbuQ,EAAK,IAAIvQ,GAAG,CAAC,EACb2K,EAAK,IAAI3K,GAAG,CAAC,EACbwQ,EAAK,IAAIxQ,GAAG,CAAC,EAGb8C,EACA8B,EAEA3B,EACA8B,EAEA3B,EACA8B,EAEAuL,EACA54B,EAAI,EACJO,EACA+N,EACG8C,EAAE,KAAK,CAAC,IAAM,GAAG,CACtB,IAAI7N,EAAIpB,EAAE,IAAIiP,CAAC,EACf7Q,EAAI4B,EAAE,IAAIoB,EAAE,IAAI6N,CAAC,CAAC,EAClB9C,EAAIwkB,EAAG,IAAIvvB,EAAE,IAAIsvB,CAAE,CAAC,EACpB,IAAI7wB,EAAI22B,EAAG,IAAIp1B,EAAE,IAAIm1B,CAAE,CAAC,EAExB,GAAI,CAACtN,GAAM7qB,EAAE,IAAIk4B,CAAQ,EAAI,EAC3BxN,EAAK2N,EAAM,MACX7L,EAAK8F,EACLzH,EAAK7qB,EAAE,MACP2sB,EAAK5e,UACI8c,GAAM,EAAEprB,IAAM,EACvB,MAEF44B,EAAQr4B,EAER4B,EAAIiP,EACJA,EAAI7Q,EACJuyB,EAAKD,EACLA,EAAKvkB,EACLqqB,EAAKD,EACLA,EAAK12B,CACN,CACDupB,EAAKhrB,EAAE,MACP8sB,EAAK/e,EAEL,IAAIuqB,EAAOzN,EAAG,IAAG,EAAG,IAAI8B,EAAG,IAAG,CAAE,EAC5B4L,EAAOvN,EAAG,IAAG,EAAG,IAAI8B,EAAG,IAAG,CAAE,EAChC,OAAIyL,EAAK,IAAID,CAAI,GAAK,IACpBtN,EAAKN,EACLoC,EAAKN,GAIH3B,EAAG,WACLA,EAAKA,EAAG,MACR8B,EAAKA,EAAG,OAEN3B,EAAG,WACLA,EAAKA,EAAG,MACR8B,EAAKA,EAAG,OAGH,CACL,CAAE,EAAGjC,EAAI,EAAG8B,CAAI,EAChB,CAAE,EAAG3B,EAAI,EAAG8B,CAAI,CACpB,CACA,EAEAuK,GAAW,UAAU,WAAa,SAAoBp1B,EAAG,CACvD,IAAI01B,EAAQ,KAAK,KAAK,MAClBa,EAAKb,EAAM,CAAC,EACZc,EAAKd,EAAM,CAAC,EAEZe,EAAKD,EAAG,EAAE,IAAIx2B,CAAC,EAAE,SAAS,KAAK,CAAC,EAChC02B,EAAKH,EAAG,EAAE,IAAK,EAAC,IAAIv2B,CAAC,EAAE,SAAS,KAAK,CAAC,EAEtC22B,EAAKF,EAAG,IAAIF,EAAG,CAAC,EAChBK,EAAKF,EAAG,IAAIF,EAAG,CAAC,EAChBK,EAAKJ,EAAG,IAAIF,EAAG,CAAC,EAChBO,EAAKJ,EAAG,IAAIF,EAAG,CAAC,EAGhB7D,EAAK3yB,EAAE,IAAI22B,CAAE,EAAE,IAAIC,CAAE,EACrB32B,EAAK42B,EAAG,IAAIC,CAAE,EAAE,IAAG,EACvB,MAAO,CAAE,GAAInE,EAAI,GAAI1yB,CAAE,CACzB,EAEAm1B,GAAW,UAAU,WAAa,SAAoBtpB,EAAG0iB,EAAK,CAC5D1iB,EAAI,IAAI6Z,GAAG7Z,EAAG,EAAE,EACXA,EAAE,MACLA,EAAIA,EAAE,MAAM,KAAK,GAAG,GAEtB,IAAIqqB,EAAKrqB,EAAE,OAAQ,EAAC,OAAOA,CAAC,EAAE,QAAQA,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,QAAQ,KAAK,CAAC,EAClEtM,EAAI22B,EAAG,UACX,GAAI32B,EAAE,OAAQ,EAAC,OAAO22B,CAAE,EAAE,IAAI,KAAK,IAAI,IAAM,EAC3C,MAAM,IAAI,MAAM,eAAe,EAIjC,IAAIY,EAAQv3B,EAAE,QAAS,EAAC,MAAK,EAC7B,OAAIgvB,GAAO,CAACuI,GAAS,CAACvI,GAAOuI,KAC3Bv3B,EAAIA,EAAE,UAED,KAAK,MAAMsM,EAAGtM,CAAC,CACxB,EAEA41B,GAAW,UAAU,SAAW,SAAkB4B,EAAO,CACvD,GAAIA,EAAM,IACR,MAAO,GAET,IAAIlrB,EAAIkrB,EAAM,EACVx3B,EAAIw3B,EAAM,EAEVC,EAAK,KAAK,EAAE,OAAOnrB,CAAC,EACpBorB,EAAMprB,EAAE,OAAQ,EAAC,OAAOA,CAAC,EAAE,QAAQmrB,CAAE,EAAE,QAAQ,KAAK,CAAC,EACzD,OAAOz3B,EAAE,OAAM,EAAG,QAAQ03B,CAAG,EAAE,KAAK,CAAC,IAAM,CAC7C,EAEA9B,GAAW,UAAU,gBACjB,SAAyBf,EAAQC,EAAQC,EAAgB,CAGvD,QAFI4C,EAAU,KAAK,YACfC,EAAU,KAAK,YACV55B,EAAI,EAAGA,EAAI62B,EAAO,OAAQ72B,IAAK,CACtC,IAAI65B,EAAQ,KAAK,WAAW/C,EAAO92B,CAAC,CAAC,EACjCR,EAAIq3B,EAAO72B,CAAC,EACZ83B,EAAOt4B,EAAE,WAETq6B,EAAM,GAAG,WACXA,EAAM,GAAG,OACTr6B,EAAIA,EAAE,IAAI,EAAI,GAEZq6B,EAAM,GAAG,WACXA,EAAM,GAAG,OACT/B,EAAOA,EAAK,IAAI,EAAI,GAGtB6B,EAAQ35B,EAAI,CAAC,EAAIR,EACjBm6B,EAAQ35B,EAAI,EAAI,CAAC,EAAI83B,EACrB8B,EAAQ55B,EAAI,CAAC,EAAI65B,EAAM,GACvBD,EAAQ55B,EAAI,EAAI,CAAC,EAAI65B,EAAM,EAC5B,CAID,QAHI3zB,EAAM,KAAK,YAAY,EAAGyzB,EAASC,EAAS55B,EAAI,EAAG+2B,CAAc,EAG5D5zB,EAAI,EAAGA,EAAInD,EAAI,EAAGmD,IACzBw2B,EAAQx2B,CAAC,EAAI,KACby2B,EAAQz2B,CAAC,EAAI,KAEf,OAAO+C,CACb,EAEA,SAAS4zB,GAAMxC,EAAOhpB,EAAGtM,EAAG+3B,EAAO,CACjCpC,GAAK,UAAU,KAAK,KAAML,EAAO,QAAQ,EACrChpB,IAAM,MAAQtM,IAAM,MACtB,KAAK,EAAI,KACT,KAAK,EAAI,KACT,KAAK,IAAM,KAEX,KAAK,EAAI,IAAImmB,GAAG7Z,EAAG,EAAE,EACrB,KAAK,EAAI,IAAI6Z,GAAGnmB,EAAG,EAAE,EAEjB+3B,IACF,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,EAC9B,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,GAE3B,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACjC,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACtC,KAAK,IAAM,GAEf,CACAhS,GAAS+R,GAAOnC,GAAK,SAAS,EAE9BC,GAAW,UAAU,MAAQ,SAAetpB,EAAGtM,EAAG+3B,EAAO,CACvD,OAAO,IAAID,GAAM,KAAMxrB,EAAGtM,EAAG+3B,CAAK,CACpC,EAEAnC,GAAW,UAAU,cAAgB,SAAuB/B,EAAKuC,EAAK,CACpE,OAAO0B,GAAM,SAAS,KAAMjE,EAAKuC,CAAG,CACtC,EAEA0B,GAAM,UAAU,SAAW,UAAoB,CAC7C,GAAK,KAAK,MAAM,KAGhB,KAAIE,EAAM,KAAK,YACf,GAAIA,GAAOA,EAAI,KACb,OAAOA,EAAI,KAEb,IAAIlC,EAAO,KAAK,MAAM,MAAM,KAAK,EAAE,OAAO,KAAK,MAAM,KAAK,IAAI,EAAG,KAAK,CAAC,EACvE,GAAIkC,EAAK,CACP,IAAI1C,EAAQ,KAAK,MACb2C,EAAU,SAASz6B,EAAG,CACxB,OAAO83B,EAAM,MAAM93B,EAAE,EAAE,OAAO83B,EAAM,KAAK,IAAI,EAAG93B,EAAE,CAAC,CACzD,EACIw6B,EAAI,KAAOlC,EACXA,EAAK,YAAc,CACjB,KAAM,KACN,IAAKkC,EAAI,KAAO,CACd,IAAKA,EAAI,IAAI,IACb,OAAQA,EAAI,IAAI,OAAO,IAAIC,CAAO,CACnC,EACD,QAASD,EAAI,SAAW,CACtB,KAAMA,EAAI,QAAQ,KAClB,OAAQA,EAAI,QAAQ,OAAO,IAAIC,CAAO,CACvC,CACP,CACG,CACD,OAAOnC,EACT,EAEAgC,GAAM,UAAU,OAAS,UAAkB,CACzC,OAAK,KAAK,YAGH,CAAE,KAAK,EAAG,KAAK,EAAG,KAAK,aAAe,CAC3C,QAAS,KAAK,YAAY,SAAW,CACnC,KAAM,KAAK,YAAY,QAAQ,KAC/B,OAAQ,KAAK,YAAY,QAAQ,OAAO,MAAM,CAAC,CAChD,EACD,IAAK,KAAK,YAAY,KAAO,CAC3B,IAAK,KAAK,YAAY,IAAI,IAC1B,OAAQ,KAAK,YAAY,IAAI,OAAO,MAAM,CAAC,CAC5C,CACL,GAXW,CAAE,KAAK,EAAG,KAAK,CAAC,CAY3B,EAEAA,GAAM,SAAW,SAAkBxC,EAAOzB,EAAKuC,EAAK,CAC9C,OAAOvC,GAAQ,WACjBA,EAAM,KAAK,MAAMA,CAAG,GACtB,IAAI3vB,EAAMoxB,EAAM,MAAMzB,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGuC,CAAG,EACzC,GAAI,CAACvC,EAAI,CAAC,EACR,OAAO3vB,EAET,SAASg0B,EAAUrE,EAAK,CACtB,OAAOyB,EAAM,MAAMzB,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGuC,CAAG,CACvC,CAED,IAAI4B,EAAMnE,EAAI,CAAC,EACf,OAAA3vB,EAAI,YAAc,CAChB,KAAM,KACN,QAAS8zB,EAAI,SAAW,CACtB,KAAMA,EAAI,QAAQ,KAClB,OAAQ,CAAE9zB,CAAK,EAAC,OAAO8zB,EAAI,QAAQ,OAAO,IAAIE,CAAS,CAAC,CACzD,EACD,IAAKF,EAAI,KAAO,CACd,IAAKA,EAAI,IAAI,IACb,OAAQ,CAAE9zB,CAAK,EAAC,OAAO8zB,EAAI,IAAI,OAAO,IAAIE,CAAS,CAAC,CACrD,CACL,EACSh0B,CACT,EAEA4zB,GAAM,UAAU,QAAU,UAAmB,CAC3C,OAAI,KAAK,WAAY,EACZ,sBACF,gBAAkB,KAAK,EAAE,QAAO,EAAG,SAAS,GAAI,CAAC,EACpD,OAAS,KAAK,EAAE,QAAO,EAAG,SAAS,GAAI,CAAC,EAAI,GAClD,EAEAA,GAAM,UAAU,WAAa,UAAsB,CACjD,OAAO,KAAK,GACd,EAEAA,GAAM,UAAU,IAAM,SAAat6B,EAAG,CAEpC,GAAI,KAAK,IACP,OAAOA,EAGT,GAAIA,EAAE,IACJ,OAAO,KAGT,GAAI,KAAK,GAAGA,CAAC,EACX,OAAO,KAAK,MAGd,GAAI,KAAK,MAAM,GAAGA,CAAC,EACjB,OAAO,KAAK,MAAM,MAAM,KAAM,IAAI,EAGpC,GAAI,KAAK,EAAE,IAAIA,EAAE,CAAC,IAAM,EACtB,OAAO,KAAK,MAAM,MAAM,KAAM,IAAI,EAEpC,IAAIc,EAAI,KAAK,EAAE,OAAOd,EAAE,CAAC,EACrBc,EAAE,KAAK,CAAC,IAAM,IAChBA,EAAIA,EAAE,OAAO,KAAK,EAAE,OAAOd,EAAE,CAAC,EAAE,QAAO,CAAE,GAC3C,IAAI26B,EAAK75B,EAAE,OAAM,EAAG,QAAQ,KAAK,CAAC,EAAE,QAAQd,EAAE,CAAC,EAC3C46B,EAAK95B,EAAE,OAAO,KAAK,EAAE,OAAO65B,CAAE,CAAC,EAAE,QAAQ,KAAK,CAAC,EACnD,OAAO,KAAK,MAAM,MAAMA,EAAIC,CAAE,CAChC,EAEAN,GAAM,UAAU,IAAM,UAAe,CACnC,GAAI,KAAK,IACP,OAAO,KAGT,IAAIO,EAAM,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,GAAIA,EAAI,KAAK,CAAC,IAAM,EAClB,OAAO,KAAK,MAAM,MAAM,KAAM,IAAI,EAEpC,IAAIn3B,EAAI,KAAK,MAAM,EAEf4vB,EAAK,KAAK,EAAE,OAAM,EAClBwH,EAAQD,EAAI,UACZ/5B,EAAIwyB,EAAG,OAAOA,CAAE,EAAE,QAAQA,CAAE,EAAE,QAAQ5vB,CAAC,EAAE,OAAOo3B,CAAK,EAErDH,EAAK75B,EAAE,OAAM,EAAG,QAAQ,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC,EAC7C85B,EAAK95B,EAAE,OAAO,KAAK,EAAE,OAAO65B,CAAE,CAAC,EAAE,QAAQ,KAAK,CAAC,EACnD,OAAO,KAAK,MAAM,MAAMA,EAAIC,CAAE,CAChC,EAEAN,GAAM,UAAU,KAAO,UAAgB,CACrC,OAAO,KAAK,EAAE,SAChB,EAEAA,GAAM,UAAU,KAAO,UAAgB,CACrC,OAAO,KAAK,EAAE,SAChB,EAEAA,GAAM,UAAU,IAAM,SAAat3B,EAAG,CAEpC,OADAA,EAAI,IAAI2lB,GAAG3lB,EAAG,EAAE,EACZ,KAAK,WAAY,EACZ,KACA,KAAK,YAAYA,CAAC,EAClB,KAAK,MAAM,aAAa,KAAMA,CAAC,EAC/B,KAAK,MAAM,KACX,KAAK,MAAM,gBAAgB,CAAE,MAAQ,CAAEA,CAAC,CAAE,EAE1C,KAAK,MAAM,SAAS,KAAMA,CAAC,CACtC,EAEAs3B,GAAM,UAAU,OAAS,SAAgB3E,EAAIiE,EAAI32B,EAAI,CACnD,IAAIo0B,EAAS,CAAE,KAAMuC,GACjBtC,EAAS,CAAE3B,EAAI1yB,GACnB,OAAI,KAAK,MAAM,KACN,KAAK,MAAM,gBAAgBo0B,EAAQC,CAAM,EAEzC,KAAK,MAAM,YAAY,EAAGD,EAAQC,EAAQ,CAAC,CACtD,EAEAgD,GAAM,UAAU,QAAU,SAAiB3E,EAAIiE,EAAI32B,EAAI,CACrD,IAAIo0B,EAAS,CAAE,KAAMuC,GACjBtC,EAAS,CAAE3B,EAAI1yB,GACnB,OAAI,KAAK,MAAM,KACN,KAAK,MAAM,gBAAgBo0B,EAAQC,EAAQ,EAAI,EAE/C,KAAK,MAAM,YAAY,EAAGD,EAAQC,EAAQ,EAAG,EAAI,CAC5D,EAEAgD,GAAM,UAAU,GAAK,SAAYt6B,EAAG,CAClC,OAAO,OAASA,GACT,KAAK,MAAQA,EAAE,MACV,KAAK,KAAO,KAAK,EAAE,IAAIA,EAAE,CAAC,IAAM,GAAK,KAAK,EAAE,IAAIA,EAAE,CAAC,IAAM,EACvE,EAEAs6B,GAAM,UAAU,IAAM,SAAaS,EAAa,CAC9C,GAAI,KAAK,IACP,OAAO,KAET,IAAIr0B,EAAM,KAAK,MAAM,MAAM,KAAK,EAAG,KAAK,EAAE,OAAM,CAAE,EAClD,GAAIq0B,GAAe,KAAK,YAAa,CACnC,IAAIP,EAAM,KAAK,YACXQ,EAAS,SAASh7B,EAAG,CACvB,OAAOA,EAAE,KACf,EACI0G,EAAI,YAAc,CAChB,IAAK8zB,EAAI,KAAO,CACd,IAAKA,EAAI,IAAI,IACb,OAAQA,EAAI,IAAI,OAAO,IAAIQ,CAAM,CAClC,EACD,QAASR,EAAI,SAAW,CACtB,KAAMA,EAAI,QAAQ,KAClB,OAAQA,EAAI,QAAQ,OAAO,IAAIQ,CAAM,CACtC,CACP,CACG,CACD,OAAOt0B,CACT,EAEA4zB,GAAM,UAAU,IAAM,UAAe,CACnC,GAAI,KAAK,IACP,OAAO,KAAK,MAAM,OAAO,KAAM,KAAM,IAAI,EAE3C,IAAI5zB,EAAM,KAAK,MAAM,OAAO,KAAK,EAAG,KAAK,EAAG,KAAK,MAAM,GAAG,EAC1D,OAAOA,CACT,EAEA,SAASu0B,GAAOnD,EAAOhpB,EAAGtM,EAAGuR,EAAG,CAC9BokB,GAAK,UAAU,KAAK,KAAML,EAAO,UAAU,EACvChpB,IAAM,MAAQtM,IAAM,MAAQuR,IAAM,MACpC,KAAK,EAAI,KAAK,MAAM,IACpB,KAAK,EAAI,KAAK,MAAM,IACpB,KAAK,EAAI,IAAI4U,GAAG,CAAC,IAEjB,KAAK,EAAI,IAAIA,GAAG7Z,EAAG,EAAE,EACrB,KAAK,EAAI,IAAI6Z,GAAGnmB,EAAG,EAAE,EACrB,KAAK,EAAI,IAAImmB,GAAG5U,EAAG,EAAE,GAElB,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACjC,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACjC,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GAEtC,KAAK,KAAO,KAAK,IAAM,KAAK,MAAM,GACpC,CACAwU,GAAS0S,GAAQ9C,GAAK,SAAS,EAE/BC,GAAW,UAAU,OAAS,SAAgBtpB,EAAGtM,EAAGuR,EAAG,CACrD,OAAO,IAAIknB,GAAO,KAAMnsB,EAAGtM,EAAGuR,CAAC,CACjC,EAEAknB,GAAO,UAAU,IAAM,UAAe,CACpC,GAAI,KAAK,WAAY,EACnB,OAAO,KAAK,MAAM,MAAM,KAAM,IAAI,EAEpC,IAAIC,EAAO,KAAK,EAAE,QAAO,EACrBC,EAAQD,EAAK,SACbjB,EAAK,KAAK,EAAE,OAAOkB,CAAK,EACxBC,EAAK,KAAK,EAAE,OAAOD,CAAK,EAAE,OAAOD,CAAI,EAEzC,OAAO,KAAK,MAAM,MAAMjB,EAAImB,CAAE,CAChC,EAEAH,GAAO,UAAU,IAAM,UAAe,CACpC,OAAO,KAAK,MAAM,OAAO,KAAK,EAAG,KAAK,EAAE,OAAM,EAAI,KAAK,CAAC,CAC1D,EAEAA,GAAO,UAAU,IAAM,SAAaj7B,EAAG,CAErC,GAAI,KAAK,WAAY,EACnB,OAAOA,EAGT,GAAIA,EAAE,WAAY,EAChB,OAAO,KAGT,IAAIq7B,EAAMr7B,EAAE,EAAE,OAAM,EAChBs7B,EAAK,KAAK,EAAE,OAAM,EAClBpF,EAAK,KAAK,EAAE,OAAOmF,CAAG,EACtBlF,EAAKn2B,EAAE,EAAE,OAAOs7B,CAAE,EAClBC,EAAK,KAAK,EAAE,OAAOF,EAAI,OAAOr7B,EAAE,CAAC,CAAC,EAClCw7B,EAAKx7B,EAAE,EAAE,OAAOs7B,EAAG,OAAO,KAAK,CAAC,CAAC,EAEjC1nB,EAAIsiB,EAAG,OAAOC,CAAE,EAChBp1B,EAAIw6B,EAAG,OAAOC,CAAE,EACpB,GAAI5nB,EAAE,KAAK,CAAC,IAAM,EAChB,OAAI7S,EAAE,KAAK,CAAC,IAAM,EACT,KAAK,MAAM,OAAO,KAAM,KAAM,IAAI,EAElC,KAAK,MAGhB,IAAI06B,EAAK7nB,EAAE,SACP8nB,EAAKD,EAAG,OAAO7nB,CAAC,EAChBjR,EAAIuzB,EAAG,OAAOuF,CAAE,EAEhBd,EAAK55B,EAAE,OAAM,EAAG,QAAQ26B,CAAE,EAAE,QAAQ/4B,CAAC,EAAE,QAAQA,CAAC,EAChDi4B,EAAK75B,EAAE,OAAO4B,EAAE,QAAQg4B,CAAE,CAAC,EAAE,QAAQY,EAAG,OAAOG,CAAE,CAAC,EAClDC,EAAK,KAAK,EAAE,OAAO37B,EAAE,CAAC,EAAE,OAAO4T,CAAC,EAEpC,OAAO,KAAK,MAAM,OAAO+mB,EAAIC,EAAIe,CAAE,CACrC,EAEAV,GAAO,UAAU,SAAW,SAAkBj7B,EAAG,CAE/C,GAAI,KAAK,WAAY,EACnB,OAAOA,EAAE,MAGX,GAAIA,EAAE,WAAY,EAChB,OAAO,KAGT,IAAIs7B,EAAK,KAAK,EAAE,OAAM,EAClBpF,EAAK,KAAK,EACVC,EAAKn2B,EAAE,EAAE,OAAOs7B,CAAE,EAClBC,EAAK,KAAK,EACVC,EAAKx7B,EAAE,EAAE,OAAOs7B,CAAE,EAAE,OAAO,KAAK,CAAC,EAEjC1nB,EAAIsiB,EAAG,OAAOC,CAAE,EAChBp1B,EAAIw6B,EAAG,OAAOC,CAAE,EACpB,GAAI5nB,EAAE,KAAK,CAAC,IAAM,EAChB,OAAI7S,EAAE,KAAK,CAAC,IAAM,EACT,KAAK,MAAM,OAAO,KAAM,KAAM,IAAI,EAElC,KAAK,MAGhB,IAAI06B,EAAK7nB,EAAE,SACP8nB,EAAKD,EAAG,OAAO7nB,CAAC,EAChBjR,EAAIuzB,EAAG,OAAOuF,CAAE,EAEhBd,EAAK55B,EAAE,OAAM,EAAG,QAAQ26B,CAAE,EAAE,QAAQ/4B,CAAC,EAAE,QAAQA,CAAC,EAChDi4B,EAAK75B,EAAE,OAAO4B,EAAE,QAAQg4B,CAAE,CAAC,EAAE,QAAQY,EAAG,OAAOG,CAAE,CAAC,EAClDC,EAAK,KAAK,EAAE,OAAO/nB,CAAC,EAExB,OAAO,KAAK,MAAM,OAAO+mB,EAAIC,EAAIe,CAAE,CACrC,EAEAV,GAAO,UAAU,KAAO,SAAcpR,EAAK,CACzC,GAAIA,IAAQ,EACV,OAAO,KACT,GAAI,KAAK,WAAY,EACnB,OAAO,KACT,GAAI,CAACA,EACH,OAAO,KAAK,MAEd,IAAIrpB,EACJ,GAAI,KAAK,MAAM,OAAS,KAAK,MAAM,OAAQ,CACzC,IAAIO,EAAI,KACR,IAAKP,EAAI,EAAGA,EAAIqpB,EAAKrpB,IACnBO,EAAIA,EAAE,MACR,OAAOA,CACR,CAID,IAAI2C,EAAI,KAAK,MAAM,EACfm1B,EAAO,KAAK,MAAM,KAElB+C,EAAK,KAAK,EACVC,EAAK,KAAK,EACVC,EAAK,KAAK,EACVC,EAAMD,EAAG,OAAQ,EAAC,OAAM,EAGxBE,EAAMH,EAAG,OAAOA,CAAE,EACtB,IAAKr7B,EAAI,EAAGA,EAAIqpB,EAAKrpB,IAAK,CACxB,IAAIy7B,EAAML,EAAG,SACTM,EAAOF,EAAI,SACXG,EAAOD,EAAK,SACZp7B,EAAIm7B,EAAI,OAAOA,CAAG,EAAE,QAAQA,CAAG,EAAE,QAAQv4B,EAAE,OAAOq4B,CAAG,CAAC,EAEtDK,EAAKR,EAAG,OAAOM,CAAI,EACnBvB,EAAK75B,EAAE,OAAQ,EAAC,QAAQs7B,EAAG,OAAOA,CAAE,CAAC,EACrCC,EAAKD,EAAG,QAAQzB,CAAE,EAClB2B,EAAMx7B,EAAE,OAAOu7B,CAAE,EACrBC,EAAMA,EAAI,QAAQA,CAAG,EAAE,QAAQH,CAAI,EACnC,IAAIR,EAAKK,EAAI,OAAOF,CAAE,EAClBt7B,EAAI,EAAIqpB,IACVkS,EAAMA,EAAI,OAAOI,CAAI,GAEvBP,EAAKjB,EACLmB,EAAKH,EACLK,EAAMM,CACP,CAED,OAAO,KAAK,MAAM,OAAOV,EAAII,EAAI,OAAOnD,CAAI,EAAGiD,CAAE,CACnD,EAEAb,GAAO,UAAU,IAAM,UAAe,CACpC,OAAI,KAAK,WAAY,EACZ,KAEL,KAAK,MAAM,MACN,KAAK,WACL,KAAK,MAAM,OACX,KAAK,YAEL,KAAK,MAChB,EAEAA,GAAO,UAAU,SAAW,UAAoB,CAC9C,IAAIN,EACAC,EACAe,EAEJ,GAAI,KAAK,KAAM,CAMb,IAAIY,EAAK,KAAK,EAAE,OAAM,EAElBC,EAAK,KAAK,EAAE,OAAM,EAElBC,EAAOD,EAAG,SAEVn8B,EAAI,KAAK,EAAE,OAAOm8B,CAAE,EAAE,OAAQ,EAAC,QAAQD,CAAE,EAAE,QAAQE,CAAI,EAC3Dp8B,EAAIA,EAAE,QAAQA,CAAC,EAEf,IAAI0C,EAAIw5B,EAAG,OAAOA,CAAE,EAAE,QAAQA,CAAE,EAE5Bn8B,EAAI2C,EAAE,OAAQ,EAAC,QAAQ1C,CAAC,EAAE,QAAQA,CAAC,EAGnCq8B,EAAQD,EAAK,QAAQA,CAAI,EAC7BC,EAAQA,EAAM,QAAQA,CAAK,EAC3BA,EAAQA,EAAM,QAAQA,CAAK,EAG3B/B,EAAKv6B,EAELw6B,EAAK73B,EAAE,OAAO1C,EAAE,QAAQD,CAAC,CAAC,EAAE,QAAQs8B,CAAK,EAEzCf,EAAK,KAAK,EAAE,OAAO,KAAK,CAAC,CAC7B,KAAS,CAML,IAAIj4B,EAAI,KAAK,EAAE,OAAM,EAEjB3D,EAAI,KAAK,EAAE,OAAM,EAEjBe,EAAIf,EAAE,SAEND,EAAI,KAAK,EAAE,OAAOC,CAAC,EAAE,OAAQ,EAAC,QAAQ2D,CAAC,EAAE,QAAQ5C,CAAC,EACtDhB,EAAIA,EAAE,QAAQA,CAAC,EAEf,IAAImC,EAAIyB,EAAE,OAAOA,CAAC,EAAE,QAAQA,CAAC,EAEzBnB,EAAIN,EAAE,SAGN06B,EAAK77B,EAAE,QAAQA,CAAC,EACpB67B,EAAKA,EAAG,QAAQA,CAAE,EAClBA,EAAKA,EAAG,QAAQA,CAAE,EAGlBhC,EAAKp4B,EAAE,QAAQzC,CAAC,EAAE,QAAQA,CAAC,EAE3B86B,EAAK34B,EAAE,OAAOnC,EAAE,QAAQ66B,CAAE,CAAC,EAAE,QAAQgC,CAAE,EAEvChB,EAAK,KAAK,EAAE,OAAO,KAAK,CAAC,EACzBA,EAAKA,EAAG,QAAQA,CAAE,CACnB,CAED,OAAO,KAAK,MAAM,OAAOhB,EAAIC,EAAIe,CAAE,CACrC,EAEAV,GAAO,UAAU,UAAY,UAAqB,CAChD,IAAIN,EACAC,EACAe,EAEJ,GAAI,KAAK,KAAM,CAMb,IAAIY,EAAK,KAAK,EAAE,OAAM,EAElBC,EAAK,KAAK,EAAE,OAAM,EAElBC,EAAOD,EAAG,SAEVn8B,EAAI,KAAK,EAAE,OAAOm8B,CAAE,EAAE,OAAQ,EAAC,QAAQD,CAAE,EAAE,QAAQE,CAAI,EAC3Dp8B,EAAIA,EAAE,QAAQA,CAAC,EAEf,IAAI0C,EAAIw5B,EAAG,OAAOA,CAAE,EAAE,QAAQA,CAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,EAElDn8B,EAAI2C,EAAE,OAAQ,EAAC,QAAQ1C,CAAC,EAAE,QAAQA,CAAC,EAEvCs6B,EAAKv6B,EAEL,IAAIs8B,EAAQD,EAAK,QAAQA,CAAI,EAC7BC,EAAQA,EAAM,QAAQA,CAAK,EAC3BA,EAAQA,EAAM,QAAQA,CAAK,EAC3B9B,EAAK73B,EAAE,OAAO1C,EAAE,QAAQD,CAAC,CAAC,EAAE,QAAQs8B,CAAK,EAEzCf,EAAK,KAAK,EAAE,OAAO,KAAK,CAAC,CAC7B,KAAS,CAKL,IAAIpI,EAAQ,KAAK,EAAE,OAAM,EAErBqJ,EAAQ,KAAK,EAAE,OAAM,EAErBtE,EAAO,KAAK,EAAE,OAAOsE,CAAK,EAE1BC,EAAQ,KAAK,EAAE,OAAOtJ,CAAK,EAAE,OAAO,KAAK,EAAE,OAAOA,CAAK,CAAC,EAC5DsJ,EAAQA,EAAM,OAAOA,CAAK,EAAE,QAAQA,CAAK,EAEzC,IAAIC,EAAQxE,EAAK,QAAQA,CAAI,EAC7BwE,EAAQA,EAAM,QAAQA,CAAK,EAC3B,IAAIC,EAAQD,EAAM,OAAOA,CAAK,EAC9BnC,EAAKkC,EAAM,OAAQ,EAAC,QAAQE,CAAK,EAEjCpB,EAAK,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,OAAM,EAAG,QAAQiB,CAAK,EAAE,QAAQrJ,CAAK,EAEhE,IAAIyJ,EAAUJ,EAAM,SACpBI,EAAUA,EAAQ,QAAQA,CAAO,EACjCA,EAAUA,EAAQ,QAAQA,CAAO,EACjCA,EAAUA,EAAQ,QAAQA,CAAO,EACjCpC,EAAKiC,EAAM,OAAOC,EAAM,QAAQnC,CAAE,CAAC,EAAE,QAAQqC,CAAO,CACrD,CAED,OAAO,KAAK,MAAM,OAAOrC,EAAIC,EAAIe,CAAE,CACrC,EAEAV,GAAO,UAAU,KAAO,UAAgB,CACtC,IAAIv3B,EAAI,KAAK,MAAM,EAGfk4B,EAAK,KAAK,EACVC,EAAK,KAAK,EACVC,EAAK,KAAK,EACVC,EAAMD,EAAG,OAAQ,EAAC,OAAM,EAExBG,EAAML,EAAG,SACTqB,EAAMpB,EAAG,SAET,EAAII,EAAI,OAAOA,CAAG,EAAE,QAAQA,CAAG,EAAE,QAAQv4B,EAAE,OAAOq4B,CAAG,CAAC,EAEtDmB,EAAOtB,EAAG,OAAOA,CAAE,EACvBsB,EAAOA,EAAK,QAAQA,CAAI,EACxB,IAAId,EAAKc,EAAK,OAAOD,CAAG,EACpBtC,EAAK,EAAE,OAAQ,EAAC,QAAQyB,EAAG,OAAOA,CAAE,CAAC,EACrCC,EAAKD,EAAG,QAAQzB,CAAE,EAElBwC,EAAOF,EAAI,SACfE,EAAOA,EAAK,QAAQA,CAAI,EACxBA,EAAOA,EAAK,QAAQA,CAAI,EACxBA,EAAOA,EAAK,QAAQA,CAAI,EACxB,IAAIvC,EAAK,EAAE,OAAOyB,CAAE,EAAE,QAAQc,CAAI,EAC9BxB,EAAKE,EAAG,OAAOA,CAAE,EAAE,OAAOC,CAAE,EAEhC,OAAO,KAAK,MAAM,OAAOnB,EAAIC,EAAIe,CAAE,CACrC,EAEAV,GAAO,UAAU,KAAO,UAAgB,CACtC,GAAI,CAAC,KAAK,MAAM,MACd,OAAO,KAAK,IAAG,EAAG,IAAI,IAAI,EAM5B,IAAIsB,EAAK,KAAK,EAAE,OAAM,EAElBC,EAAK,KAAK,EAAE,OAAM,EAElBY,EAAK,KAAK,EAAE,OAAM,EAElBX,EAAOD,EAAG,SAEVz5B,EAAIw5B,EAAG,OAAOA,CAAE,EAAE,QAAQA,CAAE,EAE5Bc,EAAKt6B,EAAE,SAEPd,EAAI,KAAK,EAAE,OAAOu6B,CAAE,EAAE,OAAQ,EAAC,QAAQD,CAAE,EAAE,QAAQE,CAAI,EAC3Dx6B,EAAIA,EAAE,QAAQA,CAAC,EACfA,EAAIA,EAAE,OAAOA,CAAC,EAAE,QAAQA,CAAC,EACzBA,EAAIA,EAAE,QAAQo7B,CAAE,EAEhB,IAAIhjB,EAAKpY,EAAE,SAEP7B,EAAIq8B,EAAK,QAAQA,CAAI,EACzBr8B,EAAIA,EAAE,QAAQA,CAAC,EACfA,EAAIA,EAAE,QAAQA,CAAC,EACfA,EAAIA,EAAE,QAAQA,CAAC,EAEf,IAAI,EAAI2C,EAAE,QAAQd,CAAC,EAAE,OAAQ,EAAC,QAAQo7B,CAAE,EAAE,QAAQhjB,CAAE,EAAE,QAAQja,CAAC,EAE3Dk9B,EAAOd,EAAG,OAAO,CAAC,EACtBc,EAAOA,EAAK,QAAQA,CAAI,EACxBA,EAAOA,EAAK,QAAQA,CAAI,EACxB,IAAI3C,EAAK,KAAK,EAAE,OAAOtgB,CAAE,EAAE,QAAQijB,CAAI,EACvC3C,EAAKA,EAAG,QAAQA,CAAE,EAClBA,EAAKA,EAAG,QAAQA,CAAE,EAElB,IAAIC,EAAK,KAAK,EAAE,OAAO,EAAE,OAAOx6B,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ6B,EAAE,OAAOoY,CAAE,CAAC,CAAC,EACnEugB,EAAKA,EAAG,QAAQA,CAAE,EAClBA,EAAKA,EAAG,QAAQA,CAAE,EAClBA,EAAKA,EAAG,QAAQA,CAAE,EAElB,IAAIe,EAAK,KAAK,EAAE,OAAO15B,CAAC,EAAE,OAAQ,EAAC,QAAQm7B,CAAE,EAAE,QAAQ/iB,CAAE,EAEzD,OAAO,KAAK,MAAM,OAAOsgB,EAAIC,EAAIe,CAAE,CACrC,EAEAV,GAAO,UAAU,IAAM,SAAaj4B,EAAGu6B,EAAO,CAC5C,OAAAv6B,EAAI,IAAI2lB,GAAG3lB,EAAGu6B,CAAK,EAEZ,KAAK,MAAM,SAAS,KAAMv6B,CAAC,CACpC,EAEAi4B,GAAO,UAAU,GAAK,SAAYj7B,EAAG,CACnC,GAAIA,EAAE,OAAS,SACb,OAAO,KAAK,GAAGA,EAAE,IAAK,GAExB,GAAI,OAASA,EACX,MAAO,GAGT,IAAIs7B,EAAK,KAAK,EAAE,OAAM,EAClBD,EAAMr7B,EAAE,EAAE,OAAM,EACpB,GAAI,KAAK,EAAE,OAAOq7B,CAAG,EAAE,QAAQr7B,EAAE,EAAE,OAAOs7B,CAAE,CAAC,EAAE,KAAK,CAAC,IAAM,EACzD,MAAO,GAGT,IAAIkC,EAAKlC,EAAG,OAAO,KAAK,CAAC,EACrBmC,EAAMpC,EAAI,OAAOr7B,EAAE,CAAC,EACxB,OAAO,KAAK,EAAE,OAAOy9B,CAAG,EAAE,QAAQz9B,EAAE,EAAE,OAAOw9B,CAAE,CAAC,EAAE,KAAK,CAAC,IAAM,CAChE,EAEAvC,GAAO,UAAU,OAAS,SAAgBnsB,EAAG,CAC3C,IAAI4uB,EAAK,KAAK,EAAE,OAAM,EAClBnM,EAAKziB,EAAE,MAAM,KAAK,MAAM,GAAG,EAAE,OAAO4uB,CAAE,EAC1C,GAAI,KAAK,EAAE,IAAInM,CAAE,IAAM,EACrB,MAAO,GAIT,QAFIxiB,EAAKD,EAAE,QACP1O,EAAI,KAAK,MAAM,KAAK,OAAOs9B,CAAE,IACxB,CAEP,GADA3uB,EAAG,KAAK,KAAK,MAAM,CAAC,EAChBA,EAAG,IAAI,KAAK,MAAM,CAAC,GAAK,EAC1B,MAAO,GAGT,GADAwiB,EAAG,QAAQnxB,CAAC,EACR,KAAK,EAAE,IAAImxB,CAAE,IAAM,EACrB,MAAO,EACV,CACH,EAEA0J,GAAO,UAAU,QAAU,UAAmB,CAC5C,OAAI,KAAK,WAAY,EACZ,uBACF,iBAAmB,KAAK,EAAE,SAAS,GAAI,CAAC,EAC3C,OAAS,KAAK,EAAE,SAAS,GAAI,CAAC,EAC9B,OAAS,KAAK,EAAE,SAAS,GAAI,CAAC,EAAI,GACxC,EAEAA,GAAO,UAAU,WAAa,UAAsB,CAElD,OAAO,KAAK,EAAE,KAAK,CAAC,IAAM,CAC5B,ECv6BA,IAAItS,GAAKvjB,GACLmjB,GAAWljB,GACX8yB,GAAO7yB,GAEP4vB,GAAQ/uB,GAEZ,SAASw3B,GAAU7G,EAAM,CACvBqB,GAAK,KAAK,KAAM,OAAQrB,CAAI,EAE5B,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,MAAM,KAAK,GAAG,EAC1C,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,MAAM,KAAK,GAAG,EAC1C,KAAK,GAAK,IAAInO,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,EAAE,UACpC,KAAK,IAAM,IAAIA,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,EACnC,KAAK,IAAM,KAAK,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,GAAG,CAAC,CACnD,CACAJ,GAASoV,GAAWxF,EAAI,MACxByF,GAAiBD,GAEjBA,GAAU,UAAU,SAAW,SAAkB3D,EAAO,CACtD,IAAIlrB,EAAIkrB,EAAM,UAAS,EAAG,EACtB1G,EAAKxkB,EAAE,SACPorB,EAAM5G,EAAG,OAAOxkB,CAAC,EAAE,OAAOwkB,EAAG,OAAO,KAAK,CAAC,CAAC,EAAE,OAAOxkB,CAAC,EACrDtM,EAAI03B,EAAI,UAEZ,OAAO13B,EAAE,OAAQ,EAAC,IAAI03B,CAAG,IAAM,CACjC,EAEA,SAASI,GAAMxC,EAAOhpB,EAAGiF,EAAG,CAC1BokB,GAAK,UAAU,KAAK,KAAML,EAAO,YAAY,EACzChpB,IAAM,MAAQiF,IAAM,MACtB,KAAK,EAAI,KAAK,MAAM,IACpB,KAAK,EAAI,KAAK,MAAM,OAEpB,KAAK,EAAI,IAAI4U,GAAG7Z,EAAG,EAAE,EACrB,KAAK,EAAI,IAAI6Z,GAAG5U,EAAG,EAAE,EAChB,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACjC,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GAE1C,CACAwU,GAAS+R,GAAOnC,GAAK,SAAS,EAE9BwF,GAAU,UAAU,YAAc,SAAqBlzB,EAAO2qB,EAAK,CACjE,OAAO,KAAK,MAAMF,GAAM,QAAQzqB,EAAO2qB,CAAG,EAAG,CAAC,CAChD,EAEAuI,GAAU,UAAU,MAAQ,SAAe7uB,EAAGiF,EAAG,CAC/C,OAAO,IAAIumB,GAAM,KAAMxrB,EAAGiF,CAAC,CAC7B,EAEA4pB,GAAU,UAAU,cAAgB,SAAuBtH,EAAK,CAC9D,OAAOiE,GAAM,SAAS,KAAMjE,CAAG,CACjC,EAEAiE,GAAM,UAAU,WAAa,UAAsB,CAEnD,EAEAA,GAAM,UAAU,QAAU,UAAmB,CAC3C,OAAO,KAAK,KAAM,EAAC,QAAQ,KAAM,KAAK,MAAM,EAAE,WAAU,CAAE,CAC5D,EAEAA,GAAM,SAAW,SAAkBxC,EAAOzB,EAAK,CAC7C,OAAO,IAAIiE,GAAMxC,EAAOzB,EAAI,CAAC,EAAGA,EAAI,CAAC,GAAKyB,EAAM,GAAG,CACrD,EAEAwC,GAAM,UAAU,QAAU,UAAmB,CAC3C,OAAI,KAAK,WAAY,EACZ,sBACF,gBAAkB,KAAK,EAAE,QAAO,EAAG,SAAS,GAAI,CAAC,EACpD,OAAS,KAAK,EAAE,QAAO,EAAG,SAAS,GAAI,CAAC,EAAI,GAClD,EAEAA,GAAM,UAAU,WAAa,UAAsB,CAEjD,OAAO,KAAK,EAAE,KAAK,CAAC,IAAM,CAC5B,EAEAA,GAAM,UAAU,IAAM,UAAe,CAKnC,IAAI52B,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAExBm6B,EAAKn6B,EAAE,SAEP3D,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAExB+9B,EAAK/9B,EAAE,SAEPe,EAAI+8B,EAAG,OAAOC,CAAE,EAEhBnD,EAAKkD,EAAG,OAAOC,CAAE,EAEjBnC,EAAK76B,EAAE,OAAOg9B,EAAG,OAAO,KAAK,MAAM,IAAI,OAAOh9B,CAAC,CAAC,CAAC,EACrD,OAAO,KAAK,MAAM,MAAM65B,EAAIgB,CAAE,CAChC,EAEArB,GAAM,UAAU,IAAM,UAAe,CACnC,MAAM,IAAI,MAAM,mCAAmC,CACrD,EAEAA,GAAM,UAAU,QAAU,SAAiBt6B,EAAG0yB,EAAM,CAKlD,IAAIhvB,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAExB3D,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAExBe,EAAId,EAAE,EAAE,OAAOA,EAAE,CAAC,EAElBF,EAAIE,EAAE,EAAE,OAAOA,EAAE,CAAC,EAElB+9B,EAAKj+B,EAAE,OAAO4D,CAAC,EAEfs6B,EAAKl9B,EAAE,OAAOf,CAAC,EAEf46B,EAAKjI,EAAK,EAAE,OAAOqL,EAAG,OAAOC,CAAE,EAAE,OAAM,CAAE,EAEzCrC,EAAKjJ,EAAK,EAAE,OAAOqL,EAAG,QAAQC,CAAE,EAAE,OAAM,CAAE,EAC9C,OAAO,KAAK,MAAM,MAAMrD,EAAIgB,CAAE,CAChC,EAEArB,GAAM,UAAU,IAAM,SAAat3B,EAAG,CAMpC,QALI,EAAIA,EAAE,QACNU,EAAI,KACJ3D,EAAI,KAAK,MAAM,MAAM,KAAM,IAAI,EAC/Be,EAAI,KAEC4kB,EAAO,GAAI,EAAE,KAAK,CAAC,IAAM,EAAG,EAAE,OAAO,CAAC,EAC7CA,EAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EAEtB,QAASllB,EAAIklB,EAAK,OAAS,EAAGllB,GAAK,EAAGA,IAChCklB,EAAKllB,CAAC,IAAM,GAEdkD,EAAIA,EAAE,QAAQ3D,EAAGe,CAAC,EAElBf,EAAIA,EAAE,QAGNA,EAAI2D,EAAE,QAAQ3D,EAAGe,CAAC,EAElB4C,EAAIA,EAAE,OAGV,OAAO3D,CACT,EAEAu6B,GAAM,UAAU,OAAS,UAAkB,CACzC,MAAM,IAAI,MAAM,mCAAmC,CACrD,EAEAA,GAAM,UAAU,QAAU,UAAmB,CAC3C,MAAM,IAAI,MAAM,mCAAmC,CACrD,EAEAA,GAAM,UAAU,GAAK,SAAY2D,EAAO,CACtC,OAAO,KAAK,OAAO,IAAIA,EAAM,KAAI,CAAE,IAAM,CAC3C,EAEA3D,GAAM,UAAU,UAAY,UAAqB,CAC/C,YAAK,EAAI,KAAK,EAAE,OAAO,KAAK,EAAE,QAAO,CAAE,EACvC,KAAK,EAAI,KAAK,MAAM,IACb,IACT,EAEAA,GAAM,UAAU,KAAO,UAAgB,CAErC,YAAK,UAAS,EAEP,KAAK,EAAE,SAChB,EC/KA,IAAIpF,GAAQ9vB,GACRujB,GAAKtjB,GACLkjB,GAAWjjB,GACX6yB,GAAOhyB,GAEPiiB,GAAS8M,GAAM,OAEnB,SAASgJ,GAAapH,EAAM,CAE1B,KAAK,SAAWA,EAAK,EAAI,KAAO,EAChC,KAAK,MAAQ,KAAK,UAAYA,EAAK,EAAI,KAAO,GAC9C,KAAK,SAAW,KAAK,MAErBqB,GAAK,KAAK,KAAM,UAAWrB,CAAI,EAE/B,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC,EAC3C,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,GAAG,EAC9B,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,MAAM,KAAK,GAAG,EAC1C,KAAK,GAAK,KAAK,EAAE,OAAM,EACvB,KAAK,EAAI,IAAInO,GAAGmO,EAAK,EAAG,EAAE,EAAE,MAAM,KAAK,GAAG,EAC1C,KAAK,GAAK,KAAK,EAAE,OAAO,KAAK,CAAC,EAE9B1O,GAAO,CAAC,KAAK,SAAW,KAAK,EAAE,QAAO,EAAG,KAAK,CAAC,IAAM,CAAC,EACtD,KAAK,MAAQ0O,EAAK,EAAI,KAAO,CAC/B,CACAvO,GAAS2V,GAAc/F,EAAI,MAC3BgG,GAAiBD,GAEjBA,GAAa,UAAU,MAAQ,SAAenV,EAAK,CACjD,OAAI,KAAK,MACAA,EAAI,SAEJ,KAAK,EAAE,OAAOA,CAAG,CAC5B,EAEAmV,GAAa,UAAU,MAAQ,SAAenV,EAAK,CACjD,OAAI,KAAK,KACAA,EAEA,KAAK,EAAE,OAAOA,CAAG,CAC5B,EAGAmV,GAAa,UAAU,OAAS,SAAgBpvB,EAAGtM,EAAGuR,EAAG3T,EAAG,CAC1D,OAAO,KAAK,MAAM0O,EAAGtM,EAAGuR,EAAG3T,CAAC,CAC9B,EAEA89B,GAAa,UAAU,WAAa,SAAoBpvB,EAAG0iB,EAAK,CAC9D1iB,EAAI,IAAI6Z,GAAG7Z,EAAG,EAAE,EACXA,EAAE,MACLA,EAAIA,EAAE,MAAM,KAAK,GAAG,GAEtB,IAAIwkB,EAAKxkB,EAAE,SACPorB,EAAM,KAAK,GAAG,OAAO,KAAK,EAAE,OAAO5G,CAAE,CAAC,EACtC8K,EAAM,KAAK,IAAI,OAAO,KAAK,GAAG,OAAO,KAAK,CAAC,EAAE,OAAO9K,CAAE,CAAC,EAEvD6F,EAAKe,EAAI,OAAOkE,EAAI,QAAS,GAC7B57B,EAAI22B,EAAG,UACX,GAAI32B,EAAE,OAAQ,EAAC,OAAO22B,CAAE,EAAE,IAAI,KAAK,IAAI,IAAM,EAC3C,MAAM,IAAI,MAAM,eAAe,EAEjC,IAAIY,EAAQv3B,EAAE,QAAS,EAAC,MAAK,EAC7B,OAAIgvB,GAAO,CAACuI,GAAS,CAACvI,GAAOuI,KAC3Bv3B,EAAIA,EAAE,UAED,KAAK,MAAMsM,EAAGtM,CAAC,CACxB,EAEA07B,GAAa,UAAU,WAAa,SAAoB17B,EAAGgvB,EAAK,CAC9DhvB,EAAI,IAAImmB,GAAGnmB,EAAG,EAAE,EACXA,EAAE,MACLA,EAAIA,EAAE,MAAM,KAAK,GAAG,GAGtB,IAAI22B,EAAK32B,EAAE,SACP47B,EAAMjF,EAAG,OAAO,KAAK,EAAE,EACvBe,EAAMf,EAAG,OAAO,KAAK,CAAC,EAAE,OAAO,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,EACrD7F,EAAK8K,EAAI,OAAOlE,EAAI,QAAS,GAEjC,GAAI5G,EAAG,IAAI,KAAK,IAAI,IAAM,EAAG,CAC3B,GAAI9B,EACF,MAAM,IAAI,MAAM,eAAe,EAE/B,OAAO,KAAK,MAAM,KAAK,KAAMhvB,CAAC,CACjC,CAED,IAAIsM,EAAIwkB,EAAG,UACX,GAAIxkB,EAAE,OAAQ,EAAC,OAAOwkB,CAAE,EAAE,IAAI,KAAK,IAAI,IAAM,EAC3C,MAAM,IAAI,MAAM,eAAe,EAEjC,OAAIxkB,EAAE,UAAU,MAAO,IAAK0iB,IAC1B1iB,EAAIA,EAAE,UAED,KAAK,MAAMA,EAAGtM,CAAC,CACxB,EAEA07B,GAAa,UAAU,SAAW,SAAkBlE,EAAO,CACzD,GAAIA,EAAM,WAAY,EACpB,MAAO,GAGTA,EAAM,UAAS,EAEf,IAAI1G,EAAK0G,EAAM,EAAE,OAAM,EACnBb,EAAKa,EAAM,EAAE,OAAM,EACnBoE,EAAM9K,EAAG,OAAO,KAAK,CAAC,EAAE,OAAO6F,CAAE,EACjCe,EAAM,KAAK,GAAG,OAAO,KAAK,IAAI,OAAO,KAAK,EAAE,OAAO5G,CAAE,EAAE,OAAO6F,CAAE,CAAC,CAAC,EAEtE,OAAOiF,EAAI,IAAIlE,CAAG,IAAM,CAC1B,EAEA,SAASI,GAAMxC,EAAOhpB,EAAGtM,EAAGuR,EAAG3T,EAAG,CAChC+3B,GAAK,UAAU,KAAK,KAAML,EAAO,YAAY,EACzChpB,IAAM,MAAQtM,IAAM,MAAQuR,IAAM,MACpC,KAAK,EAAI,KAAK,MAAM,KACpB,KAAK,EAAI,KAAK,MAAM,IACpB,KAAK,EAAI,KAAK,MAAM,IACpB,KAAK,EAAI,KAAK,MAAM,KACpB,KAAK,KAAO,KAEZ,KAAK,EAAI,IAAI4U,GAAG7Z,EAAG,EAAE,EACrB,KAAK,EAAI,IAAI6Z,GAAGnmB,EAAG,EAAE,EACrB,KAAK,EAAIuR,EAAI,IAAI4U,GAAG5U,EAAG,EAAE,EAAI,KAAK,MAAM,IACxC,KAAK,EAAI3T,GAAK,IAAIuoB,GAAGvoB,EAAG,EAAE,EACrB,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACjC,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACjC,KAAK,EAAE,MACV,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GAClC,KAAK,GAAK,CAAC,KAAK,EAAE,MACpB,KAAK,EAAI,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,GACtC,KAAK,KAAO,KAAK,IAAM,KAAK,MAAM,IAG9B,KAAK,MAAM,UAAY,CAAC,KAAK,IAC/B,KAAK,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EACxB,KAAK,OACR,KAAK,EAAI,KAAK,EAAE,OAAO,KAAK,EAAE,QAAO,CAAE,IAG/C,CACAmoB,GAAS+R,GAAOnC,GAAK,SAAS,EAE9B+F,GAAa,UAAU,cAAgB,SAAuB7H,EAAK,CACjE,OAAOiE,GAAM,SAAS,KAAMjE,CAAG,CACjC,EAEA6H,GAAa,UAAU,MAAQ,SAAepvB,EAAGtM,EAAGuR,EAAG3T,EAAG,CACxD,OAAO,IAAIk6B,GAAM,KAAMxrB,EAAGtM,EAAGuR,EAAG3T,CAAC,CACnC,EAEAk6B,GAAM,SAAW,SAAkBxC,EAAOzB,EAAK,CAC7C,OAAO,IAAIiE,GAAMxC,EAAOzB,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,CAChD,EAEAiE,GAAM,UAAU,QAAU,UAAmB,CAC3C,OAAI,KAAK,WAAY,EACZ,sBACF,gBAAkB,KAAK,EAAE,QAAO,EAAG,SAAS,GAAI,CAAC,EACpD,OAAS,KAAK,EAAE,QAAS,EAAC,SAAS,GAAI,CAAC,EACxC,OAAS,KAAK,EAAE,QAAO,EAAG,SAAS,GAAI,CAAC,EAAI,GAClD,EAEAA,GAAM,UAAU,WAAa,UAAsB,CAEjD,OAAO,KAAK,EAAE,KAAK,CAAC,IAAM,IACvB,KAAK,EAAE,IAAI,KAAK,CAAC,IAAM,GACvB,KAAK,MAAQ,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,IAAM,EAC/C,EAEAA,GAAM,UAAU,QAAU,UAAmB,CAM3C,IAAI52B,EAAI,KAAK,EAAE,OAAM,EAEjB3D,EAAI,KAAK,EAAE,OAAM,EAEjBe,EAAI,KAAK,EAAE,OAAM,EACrBA,EAAIA,EAAE,QAAQA,CAAC,EAEf,IAAIhB,EAAI,KAAK,MAAM,MAAM4D,CAAC,EAEtBzB,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,OAAM,EAAG,QAAQyB,CAAC,EAAE,QAAQ3D,CAAC,EAEvD0C,EAAI3C,EAAE,OAAOC,CAAC,EAEdwC,EAAIE,EAAE,OAAO3B,CAAC,EAEd8S,EAAI9T,EAAE,OAAOC,CAAC,EAEd46B,EAAK14B,EAAE,OAAOM,CAAC,EAEfq4B,EAAKn4B,EAAE,OAAOmR,CAAC,EAEf2C,EAAKtU,EAAE,OAAO2R,CAAC,EAEf+nB,EAAKp5B,EAAE,OAAOE,CAAC,EACnB,OAAO,KAAK,MAAM,MAAMk4B,EAAIC,EAAIe,EAAIplB,CAAE,CACxC,EAEA+jB,GAAM,UAAU,SAAW,UAAoB,CAQ7C,IAAIv6B,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,SAE1Be,EAAI,KAAK,EAAE,OAAM,EAEjBhB,EAAI,KAAK,EAAE,OAAM,EAEjB66B,EACAC,EACAe,EACA15B,EACA2R,EACAjQ,EACJ,GAAI,KAAK,MAAM,QAAS,CAEtB1B,EAAI,KAAK,MAAM,MAAMnB,CAAC,EAEtB,IAAIyB,EAAIN,EAAE,OAAOnC,CAAC,EACd,KAAK,MAEP66B,EAAK56B,EAAE,OAAOe,CAAC,EAAE,OAAOhB,CAAC,EAAE,OAAOyC,EAAE,OAAO,KAAK,MAAM,GAAG,CAAC,EAE1Dq4B,EAAKr4B,EAAE,OAAON,EAAE,OAAOnC,CAAC,CAAC,EAEzB67B,EAAKp5B,EAAE,SAAS,OAAOA,CAAC,EAAE,OAAOA,CAAC,IAGlCqR,EAAI,KAAK,EAAE,SAEXjQ,EAAIpB,EAAE,OAAOqR,CAAC,EAAE,QAAQA,CAAC,EAEzB+mB,EAAK56B,EAAE,OAAOe,CAAC,EAAE,QAAQhB,CAAC,EAAE,OAAO6D,CAAC,EAEpCi3B,EAAKr4B,EAAE,OAAON,EAAE,OAAOnC,CAAC,CAAC,EAEzB67B,EAAKp5B,EAAE,OAAOoB,CAAC,EAErB,MAEI1B,EAAInB,EAAE,OAAOhB,CAAC,EAEd8T,EAAI,KAAK,MAAM,MAAM,KAAK,CAAC,EAAE,SAE7BjQ,EAAI1B,EAAE,OAAO2R,CAAC,EAAE,OAAOA,CAAC,EAExB+mB,EAAK,KAAK,MAAM,MAAM56B,EAAE,QAAQkC,CAAC,CAAC,EAAE,OAAO0B,CAAC,EAE5Ci3B,EAAK,KAAK,MAAM,MAAM34B,CAAC,EAAE,OAAOnB,EAAE,QAAQhB,CAAC,CAAC,EAE5C67B,EAAK15B,EAAE,OAAO0B,CAAC,EAEjB,OAAO,KAAK,MAAM,MAAMg3B,EAAIC,EAAIe,CAAE,CACpC,EAEArB,GAAM,UAAU,IAAM,UAAe,CACnC,OAAI,KAAK,WAAY,EACZ,KAGL,KAAK,MAAM,SACN,KAAK,UAEL,KAAK,UAChB,EAEAA,GAAM,UAAU,QAAU,SAAiBt6B,EAAG,CAM5C,IAAI0D,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,OAAO1D,EAAE,EAAE,OAAOA,EAAE,CAAC,CAAC,EAEhDD,EAAI,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,OAAOC,EAAE,EAAE,OAAOA,EAAE,CAAC,CAAC,EAEhDc,EAAI,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,EAAE,OAAOd,EAAE,CAAC,EAE3CF,EAAI,KAAK,EAAE,OAAOE,EAAE,EAAE,OAAOA,EAAE,CAAC,CAAC,EAEjCiC,EAAIlC,EAAE,OAAO2D,CAAC,EAEdnB,EAAIzC,EAAE,OAAOgB,CAAC,EAEd2B,EAAI3C,EAAE,OAAOgB,CAAC,EAEd,EAAIf,EAAE,OAAO2D,CAAC,EAEdi3B,EAAK14B,EAAE,OAAOM,CAAC,EAEfq4B,EAAKn4B,EAAE,OAAO,CAAC,EAEf8T,EAAKtU,EAAE,OAAO,CAAC,EAEf05B,EAAKp5B,EAAE,OAAOE,CAAC,EACnB,OAAO,KAAK,MAAM,MAAMk4B,EAAIC,EAAIe,EAAIplB,CAAE,CACxC,EAEA+jB,GAAM,UAAU,SAAW,SAAkBt6B,EAAG,CAO9C,IAAI0D,EAAI,KAAK,EAAE,OAAO1D,EAAE,CAAC,EAErBD,EAAI2D,EAAE,SAEN5C,EAAI,KAAK,EAAE,OAAOd,EAAE,CAAC,EAErBF,EAAI,KAAK,EAAE,OAAOE,EAAE,CAAC,EAErBiC,EAAI,KAAK,MAAM,EAAE,OAAOnB,CAAC,EAAE,OAAOhB,CAAC,EAEnCyC,EAAIxC,EAAE,OAAOkC,CAAC,EAEdQ,EAAI1C,EAAE,OAAOkC,CAAC,EAEd4xB,EAAM,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,OAAO7zB,EAAE,EAAE,OAAOA,EAAE,CAAC,CAAC,EAAE,QAAQc,CAAC,EAAE,QAAQhB,CAAC,EACxE66B,EAAKj3B,EAAE,OAAOnB,CAAC,EAAE,OAAOsxB,CAAG,EAC3B+G,EACAe,EACJ,OAAI,KAAK,MAAM,SAEbf,EAAKl3B,EAAE,OAAOjB,CAAC,EAAE,OAAO3C,EAAE,OAAO,KAAK,MAAM,MAAMgB,CAAC,CAAC,CAAC,EAErD66B,EAAKp5B,EAAE,OAAOE,CAAC,IAGfm4B,EAAKl3B,EAAE,OAAOjB,CAAC,EAAE,OAAO3C,EAAE,OAAOgB,CAAC,CAAC,EAEnC66B,EAAK,KAAK,MAAM,MAAMp5B,CAAC,EAAE,OAAOE,CAAC,GAE5B,KAAK,MAAM,MAAMk4B,EAAIC,EAAIe,CAAE,CACpC,EAEArB,GAAM,UAAU,IAAM,SAAat6B,EAAG,CACpC,OAAI,KAAK,WAAY,EACZA,EACLA,EAAE,WAAY,EACT,KAEL,KAAK,MAAM,SACN,KAAK,QAAQA,CAAC,EAEd,KAAK,SAASA,CAAC,CAC1B,EAEAs6B,GAAM,UAAU,IAAM,SAAat3B,EAAG,CACpC,OAAI,KAAK,YAAYA,CAAC,EACb,KAAK,MAAM,aAAa,KAAMA,CAAC,EAE/B,KAAK,MAAM,SAAS,KAAMA,CAAC,CACtC,EAEAs3B,GAAM,UAAU,OAAS,SAAgB3E,EAAI31B,EAAGiD,EAAI,CAClD,OAAO,KAAK,MAAM,YAAY,EAAG,CAAE,KAAMjD,CAAG,EAAE,CAAE21B,EAAI1yB,CAAI,EAAE,EAAG,EAAK,CACpE,EAEAq3B,GAAM,UAAU,QAAU,SAAiB3E,EAAI31B,EAAGiD,EAAI,CACpD,OAAO,KAAK,MAAM,YAAY,EAAG,CAAE,KAAMjD,CAAG,EAAE,CAAE21B,EAAI1yB,CAAI,EAAE,EAAG,EAAI,CACnE,EAEAq3B,GAAM,UAAU,UAAY,UAAqB,CAC/C,GAAI,KAAK,KACP,OAAO,KAGT,IAAI+D,EAAK,KAAK,EAAE,QAAO,EACvB,YAAK,EAAI,KAAK,EAAE,OAAOA,CAAE,EACzB,KAAK,EAAI,KAAK,EAAE,OAAOA,CAAE,EACrB,KAAK,IACP,KAAK,EAAI,KAAK,EAAE,OAAOA,CAAE,GAC3B,KAAK,EAAI,KAAK,MAAM,IACpB,KAAK,KAAO,GACL,IACT,EAEA/D,GAAM,UAAU,IAAM,UAAe,CACnC,OAAO,KAAK,MAAM,MAAM,KAAK,EAAE,OAAQ,EACrC,KAAK,EACL,KAAK,EACL,KAAK,GAAK,KAAK,EAAE,OAAQ,EAC7B,EAEAA,GAAM,UAAU,KAAO,UAAgB,CACrC,YAAK,UAAS,EACP,KAAK,EAAE,SAChB,EAEAA,GAAM,UAAU,KAAO,UAAgB,CACrC,YAAK,UAAS,EACP,KAAK,EAAE,SAChB,EAEAA,GAAM,UAAU,GAAK,SAAY2D,EAAO,CACtC,OAAO,OAASA,GACT,KAAK,KAAI,EAAG,IAAIA,EAAM,KAAM,KAAM,GAClC,KAAK,KAAI,EAAG,IAAIA,EAAM,KAAI,CAAE,IAAM,CAC3C,EAEA3D,GAAM,UAAU,OAAS,SAAgBxrB,EAAG,CAC1C,IAAIyiB,EAAKziB,EAAE,MAAM,KAAK,MAAM,GAAG,EAAE,OAAO,KAAK,CAAC,EAC9C,GAAI,KAAK,EAAE,IAAIyiB,CAAE,IAAM,EACrB,MAAO,GAIT,QAFIxiB,EAAKD,EAAE,QACP1O,EAAI,KAAK,MAAM,KAAK,OAAO,KAAK,CAAC,IAC5B,CAEP,GADA2O,EAAG,KAAK,KAAK,MAAM,CAAC,EAChBA,EAAG,IAAI,KAAK,MAAM,CAAC,GAAK,EAC1B,MAAO,GAGT,GADAwiB,EAAG,QAAQnxB,CAAC,EACR,KAAK,EAAE,IAAImxB,CAAE,IAAM,EACrB,MAAO,EACV,CACH,EAGA+I,GAAM,UAAU,IAAMA,GAAM,UAAU,UACtCA,GAAM,UAAU,SAAWA,GAAM,UAAU,iBChb3C,IAAIxC,EAAQ30B,EAEZ20B,EAAM,KAAO1yB,GACb0yB,EAAM,MAAQzyB,GACdyyB,EAAM,KAAOxyB,GACbwyB,EAAM,QAAU3xB,wDCPhBgI,GAAiB,CACf,QAAS,CACP,KAAM,EACN,OAAQ,CACN,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,gEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,CACF,CACF,EACD,IAAK,CACH,IAAK,EACL,OAAQ,CACN,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,iEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,kEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,iEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,EACD,CACE,mEACA,kEACD,CACF,CACF,oBCxwBH,IAAImwB,EA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","names":["__spreadArray","to","from","pack","l","ar","BrowserInfo","name","version","os","NodeInfo","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOX_UA_REGEX","SEARCHBOT_OS_REGEX","REQUIRED_VERSION_PARTS","userAgentRules","operatingSystemRules","detect","userAgent","parseUserAgent","getNodeVersion","matchUserAgent","ua","matched","_a","browser","regex","uaMatch","matchedRule","match","versionParts","createVersionParts","detectOS","searchBotMatch","ii","count","isNode","output","extendStatics","d","b","p","__extends","__","__assign","t","s","n","__rest","i","__decorate","decorators","target","key","desc","c","r","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","__generator","body","_","f","y","g","verb","v","op","__createBinding","o","m","k","k2","__exportStar","exports","__values","__read","error","__spread","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","q","resume","settle","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__importDefault","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","delay_1","delay","timeout","misc","tslib_1","require$$0","require$$1","require$$2","convert","constants_1","toMiliseconds","seconds","fromMiliseconds","miliseconds","watch","Watch","label","timestamp","elapsed","IWatch","require$$3","require$$4","cjs","getLocation_1","getNavigator_1","getDocument_1","getFromWindow","res","getFromWindowOrThrow","getDocumentOrThrow","getDocument","getNavigatorOrThrow","getNavigator","getLocationOrThrow","getLocation","getCryptoOrThrow","getCrypto","getLocalStorageOrThrow","getLocalStorage","getWindowMetadata_1","window_getters_1","getWindowMetadata","doc","loc","getIcons","links","icons","link","rel","href","absoluteHref","path","finalPath","absoluteUrl","getWindowMetadataOfAny","args","metaTags","tag","attributes","attr","content","getName","getDescription","description","url","isHex","strict","size","errorConfig","docsBaseUrl","docsPath","docsSlug","BaseError","shortMessage","details","docsUrl","message","fn","walk","err","SizeExceedsPaddingSizeError","targetSize","type","pad","hexOrBytes","dir","padHex","padBytes","hex_","hex","bytes","paddedBytes","padEnd","IntegerOutOfRangeError","max","min","signed","SizeOverflowError","givenSize","maxSize","assertSize","size_","hexToBigInt","opts","hexToNumber","hexes","_v","toHex","numberToHex","stringToHex","boolToHex","bytesToHex","string","value_","maxValue","minValue","suffix","encoder","toBytes","numberToBytes","boolToBytes","hexToBytes","stringToBytes","charCodeMap","charCodeToBase16","char","hexString","length","index","nibbleLeft","nibbleRight","keccak256","to_","keccak_256","LruMap","firstKey","checksumAddressCache","checksumAddress","address_","chainId","hexAddress","hash","address","publicKeyToAddress","publicKey","recoverPublicKey","signature","hashHex","secp256k1","__vitePreload","yParity","yParityOrV","recoveryBit","toRecoveryBit","signatureHex","recoverAddress","base","ALPHABET","BASE_MAP","x","xc","BASE","LEADER","FACTOR","iFACTOR","encode","source","zeroes","pbegin","pend","b58","carry","it1","it2","str","decodeUnsafe","psz","b256","charCode","it3","it4","vch","decode","buffer","basex","JSONStringify","data","JSONParse","json","numbersBiggerThanMaxInt","serializedData","safeJsonParse","safeJsonStringify","En","fe","De","gn","it","_t","yn","de","xn$2","Bn","he","Cn","u","D","xn","wt","St","le","mn","_n","Sn","vn","In","Un","Tn","Fn","Nn","Ln","On","Hn","zn","Mn","qn","$n","kn","Rn","jn","Zn","Gn","Vn","Yn","Q","An","w","h","S","F","z","I","O","ot","tt","st","at","L","Ct","At","Kn","Jn","vt","be","Wn","It","Ut","Tt","Xn","Ft","pe","K","we","Ee","Pn","Et","ge","Nt","W","ye","Lt","Qn","ft","tr","er","nr","Ot","xe","M","N","nt","rr","Ht","Be","Ce","H","or","J","Ae","sr","ir","ur","cr","fr","Dr","me","_e","Se","gt","zt","ve","Mt","dr","hr","qt","Ie","$t","lr","br","pr","G","yt","wr","Er","gr","yr","E","B","C","A","U","T","$","R","V","Y","Z","X","et","pt","re","oe","mt","se","ie","ue","ce","ae","Dn","dn","hn","ln","ee","ne","un","cn","an","kt","Ue","xr","Te","Br","Cr","Ar","mr","_r","Sr","vr","Rt","jt","Zt","ut","Dt","Gt","xt","Vt","Yt","Jt","dt","Kt","Wt","Ne","Xt","Le","Oe","Ir","Ur","Tr","He","Fr","Nr","Lr$1","Or$2","ze","Hr$1","Hr","zr$2","Lr","Or","Bt","zr","ht","Mr","qr","$r","kr","Rr","jr","Zr","Gr","Vr","Yr","Jr","Kr","Wr","Xr","Pr","Qr","eo","no","ro","oo","so","io","uo","co","ao","fo","Do","ho","lo","bo","po","wo","Eo","Me","go","yo","xo","Bo","Co","Ao","mo","$e","qe","_o","So","vo","Io","Pt","Uo","ke","To","Fo","No","Lo","Oo","Ho","zo","Mo","qo","$o","ko","Re","je","Ze","Qt","Ro","Ro$2","Ge","jo","jo$2","Ve","Zo","Go","Vo","Ye","Yo","Je","Jo","Ko","Wo","Ke","We","Xe","te","Pe","ct","rt","lt","pn","bt","wn","Qe","en","nn","rn","on","sn","Po","Qo","bn","allocUnsafe","concat","arrays","acc","curr","offset","arr","src","_brrp__multiformats_scope_baseX","coerce","fromString","toString","Encoder","prefix","baseEncode","Decoder","baseDecode","text","decoder","ComposedDecoder","decoders","input","left","right","Codec","baseX","alphabet","bitsPerChar","codes","end","out","bits","written","mask","rfc4648","identity","buf","base2","base8","base10","base16","base16upper","base32","base32upper","base32pad","base32padupper","base32hex","base32hexupper","base32hexpad","base32hexpadupper","base32z","base36","base36upper","base58btc","base58flickr","base64","base64pad","base64url","base64urlpad","alphabetBytesToChars","alphabetCharsToBytes","byts","byt","base256emoji","bases","identityBase","base58","createCodec","ascii","BASES","encoding","array","module","assert","val","msg","inherits","ctor","superCtor","TempCtor","BN","number","endian","Buffer","num","start","off","parseHex4Bits","parseHexByte","lowerBound","parseLength","parseBase","mul","len","limbLen","limbPow","total","word","pow","dest","zeros","groupSizes","groupBases","padding","groupSize","groupBase","ret","ArrayType","byteLength","reqLength","littleEndian","hi","toBitArray","bit","wbit","width","bytesNeeded","bitsLeft","cmp","smallMulTo","self","ncarry","rword","maxJ","comb10MulTo","mid","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","fftm","FFTM","rb","rbt","rws","iws","rtws","itws","rtwdf","itwdf","rtwdf_","itwdf_","rx","odd","ws","ph","rwst","iwst","nrws","nrwst","niwst","rmws","carryMask","newCarry","hint","extended","maskedWords","shift","mode","bhi","bhiBits","diff","qj","positive","div","dm","half","r2","yp","xp","im","jm","x1","x2","delta","negative","Red","ctx","primes","MPrime","tmp","rlen","K256","outLen","prev","next","P224","P192","P25519","prime","mod3","one","nOne","lpow","inv","windowSize","wnd","current","currentLen","Mont","this","utils","toArray","enc","zero2","minAssert","minUtils","getNAF","naf","getJSF","k1","jsf","d1","d2","m8","m14","m24","u1","u2","cachedProperty","obj","computer","parseBytes","intFromLE","brorandModule","Rand","rand","crypto","BaseCurve","conf","adjustCount","doubles","repr","nafW","nafPoints","defW","points","coeffs","jacobianResult","wndWidth","comb","ja","jb","zero","BasePoint","curve","compact","power","precomputed","dbl","Base","ShortCurve","short","beta","lambda","betas","lambdas","basis","vec","red","tinv","ntinv","l1","l2","aprxSqrt","y1","y2","prevR","len1","len2","v1","v2","c1","c2","p1","p2","q1","q2","isOdd","point","ax","rhs","npoints","ncoeffs","split","Point","isRed","pre","endoMul","obj2point","nx","ny","ys1","dyinv","_precompute","negate","JPoint","zinv","zinv2","ay","pz2","z2","s1","s2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","t1","t2","dny","xx","yy","yyyy","yyyy8","c8","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","zz","mm","yyu4","kbase","z3","pz3","zs","MontCurve","mont","aa","bb","da","cb","other","EdwardsCurve","edwards","lhs","zi","curves","PresetCurve","options","defineCurve","HmacDRBG","entropy","nonce","pers","hmacDrbg","seed","kmac","entropyEnc","add","addEnc","temp","KeyPair","ec","pub","priv","Signature","Position","getLength","initial","octetLen","rmPadding","slen","constructLength","octets","backHalf","require$$5","require$$6","EC","drbg","ns2","truncOnly","bitLength","bkey","ns1","iter","kp","kpX","recoveryParam","sinv","isYOdd","isSecondKey","rInv","Qprime","eddsa","params","secret","lastIx","sig","EDDSA","Rencoded","s_","SG","RplusAh","normed","xIsOdd","elliptic","define_process_env_default","IEvents$1","suspectProtoRx","suspectConstructorRx","JsonSigRx","jsonParseTransform","warnKeyDropped","destr","_value","_lval","wrapToPromise","asyncCall","function_","arguments_","isPrimitive","isPureObject","proto","stringify","checkBufferSupport","BASE64_PREFIX","serializeRaw","deserializeRaw","normalizeKey","joinKeys","keys","normalizeBaseKey","DRIVER_NAME","memory","createStorage","context","getMount","getMounts","includeParent","mountpoint","onChange","event","listener","startWatch","stopWatch","runBatch","items","commonOptions","batches","getBatch","mount","batch","item","isStringItem","options2","storage","relativeKey","driver","meta","mounts","maskedMounts","allKeys","dispose","callback","unwatcher","_dispose","_$3","K$1","h$2","tryStringify","quickFormatUnescaped","format","ss","objects","argLen","lastPos","flen","pino","_console","pfGlobalThisOrFallback","stdSerializers","mock","passthrough","asErrValue","shouldSerialize","serialize","serializers","transmit","stdErrSerialize","levels","level","logger","noop","getLevelVal","getLevel","setLevel","setOpts","getTimeFunction","child","createLogEventShape","set","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","parent","bind","nullTime","epochTime","unixTime","isoTime","fallback","wrap","write","ts","asObject","transmitLevel","transmitValue","methodValue","argsCloned","lvl","send","methodLevel","arg","defd","O$4","d$4","m$2","B$2","I$1","y$3","d$3","f$3","P$4","S$2","M$2","R$1","J$2","V$2","PARSE_ERROR","INVALID_REQUEST","METHOD_NOT_FOUND","INVALID_PARAMS","INTERNAL_ERROR","SERVER_ERROR","RESERVED_ERROR_CODES","STANDARD_ERROR_MAP","DEFAULT_ERROR","isReservedErrorCode","code","getError","getErrorByCode","parseConnectionError","getBrowerCrypto","getSubtleCrypto","browserCrypto","isBrowserCryptoAvailable","env","isReactNative","isBrowser","payloadId","date","extra","getBigIntRpcId","formatJsonRpcRequest","method","id","formatJsonRpcResult","formatJsonRpcError","formatErrorMessage","IEvents","IBaseJsonRpcProvider","IJsonRpcProvider","connection","HTTP_REGEX","WS_REGEX","getUrlProtocol","matches","matchRegexProtocol","protocol","isHttpUrl","isWsUrl","isLocalhostUrl","isJsonRpcPayload","payload","isJsonRpcRequest","isJsonRpcResponse","isJsonRpcResult","isJsonRpcError","o$3","f$2","cs","Xs","Qs","ei","ti","si","ri","ni","ai","oi","tn","Fe","ci","li","ui","di","gi","pi","yi","bi","mi","fi","Di","vi","De.generateKeyPair","De.encodeIss","ls","De.signJWT","us","ds","gs","hs","ps","ys","bs","ms","fs","Ds","Us","vs","wi","_i","Xi","Ei","Zi","Ii","Ti","Qi","Ci","Pi","Si","es","Yi","_s","Es","Ms","Bs","Is","Ts","Ri","Oi","Ai","xi","Ni","$i","Cs","Ps","Li","Gi","Rs","Os","Fs","Ks","As","xs","Ss","ki","is","ji","Ns","$s","Ui","rs","Vs","Ls","Mi","Fi","ns","Ki","Bi","ks","js","Vi","qi","as","Ji","Wi","Hi","qs","global","__self__","support","isDataView","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","iterator","Headers","headers","header","oldValue","consumed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","promise","readBlobAsText","readArrayBufferAsText","view","chars","bufferClone","Body","methods","normalizeMethod","upcased","Request","form","parseHeaders","rawHeaders","preProcessedHeaders","line","parts","Response","bodyInit","response","redirectStatuses","status","fetch","init","request","xhr","abortXhr","x$1"],"sources":["../../node_modules/detect-browser/es/index.js","../../node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js","../../node_modules/@walletconnect/time/dist/cjs/utils/delay.js","../../node_modules/@walletconnect/time/dist/cjs/constants/misc.js","../../node_modules/@walletconnect/time/dist/cjs/constants/time.js","../../node_modules/@walletconnect/time/dist/cjs/constants/index.js","../../node_modules/@walletconnect/time/dist/cjs/utils/convert.js","../../node_modules/@walletconnect/time/dist/cjs/utils/index.js","../../node_modules/@walletconnect/time/dist/cjs/watch.js","../../node_modules/@walletconnect/time/dist/cjs/types/watch.js","../../node_modules/@walletconnect/time/dist/cjs/types/index.js","../../node_modules/@walletconnect/time/dist/cjs/index.js","../../node_modules/@walletconnect/window-getters/dist/cjs/index.js","../../node_modules/@walletconnect/window-metadata/dist/cjs/index.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/data/isHex.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/data/size.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/version.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/base.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/data.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/data/pad.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/errors/encoding.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/encoding/fromHex.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/encoding/toHex.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/encoding/toBytes.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/hash/keccak256.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/lru.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/address/getAddress.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/signature/recoverPublicKey.js","../../node_modules/@walletconnect/utils/node_modules/viem/_esm/utils/signature/recoverAddress.js","../../node_modules/base-x/src/esm/index.js","../../node_modules/bs58/src/esm/index.js","../../node_modules/@walletconnect/safe-json/dist/esm/index.js","../../node_modules/@walletconnect/relay-auth/dist/index.es.js","../../node_modules/uint8arrays/esm/src/alloc.js","../../node_modules/uint8arrays/esm/src/concat.js","../../node_modules/multiformats/esm/vendor/base-x.js","../../node_modules/multiformats/esm/src/bytes.js","../../node_modules/multiformats/esm/src/bases/base.js","../../node_modules/multiformats/esm/src/bases/identity.js","../../node_modules/multiformats/esm/src/bases/base2.js","../../node_modules/multiformats/esm/src/bases/base8.js","../../node_modules/multiformats/esm/src/bases/base10.js","../../node_modules/multiformats/esm/src/bases/base16.js","../../node_modules/multiformats/esm/src/bases/base32.js","../../node_modules/multiformats/esm/src/bases/base36.js","../../node_modules/multiformats/esm/src/bases/base58.js","../../node_modules/multiformats/esm/src/bases/base64.js","../../node_modules/multiformats/esm/src/bases/base256emoji.js","../../node_modules/multiformats/esm/src/codecs/json.js","../../node_modules/multiformats/esm/src/basics.js","../../node_modules/uint8arrays/esm/src/util/bases.js","../../node_modules/uint8arrays/esm/src/from-string.js","../../node_modules/uint8arrays/esm/src/to-string.js","../../node_modules/bn.js/lib/bn.js","../../node_modules/minimalistic-crypto-utils/lib/utils.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/utils.js","../../node_modules/brorand/index.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/curve/base.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/curve/short.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/curve/mont.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/curve/edwards.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/curve/index.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/curves.js","../../node_modules/hmac-drbg/lib/hmac-drbg.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/ec/key.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/ec/signature.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/ec/index.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/eddsa/key.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/eddsa/signature.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic/eddsa/index.js","../../node_modules/@walletconnect/utils/node_modules/elliptic/lib/elliptic.js","../../node_modules/@walletconnect/relay-api/dist/index.es.js","../../node_modules/@walletconnect/utils/dist/index.es.js","../../node_modules/@walletconnect/events/dist/esm/events.js","../../node_modules/@walletconnect/heartbeat/dist/index.es.js","../../node_modules/destr/dist/index.mjs","../../node_modules/unstorage/dist/shared/unstorage.8581f561.mjs","../../node_modules/unstorage/dist/index.mjs","../../node_modules/@walletconnect/keyvaluestorage/dist/index.es.js","../../node_modules/quick-format-unescaped/index.js","../../node_modules/pino/browser.js","../../node_modules/@walletconnect/logger/dist/index.es.js","../../node_modules/@walletconnect/types/dist/index.es.js","../../node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js","../../node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js","../../node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js","../../node_modules/@walletconnect/environment/dist/cjs/crypto.js","../../node_modules/@walletconnect/environment/dist/cjs/env.js","../../node_modules/@walletconnect/environment/dist/cjs/index.js","../../node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js","../../node_modules/@walletconnect/jsonrpc-utils/node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js","../../node_modules/@walletconnect/jsonrpc-utils/node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js","../../node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js","../../node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js","../../node_modules/@walletconnect/jsonrpc-provider/dist/index.es.js","../../node_modules/@walletconnect/jsonrpc-ws-connection/dist/index.es.js","../../node_modules/@walletconnect/core/dist/index.es.js","../../node_modules/@walletconnect/sign-client/dist/index.es.js","../../node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch/dist/browser-ponyfill.js","../../node_modules/@walletconnect/jsonrpc-http-connection/dist/index.es.js","../../node_modules/@walletconnect/universal-provider/dist/index.es.js","../../node_modules/@walletconnect/ethereum-provider/dist/index.es.js"],"sourcesContent":["var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./misc\"), exports);\ntslib_1.__exportStar(require(\"./time\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = require(\"../constants\");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./delay\"), exports);\ntslib_1.__exportStar(require(\"./convert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== \"undefined\") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === \"undefined\") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports.default = Watch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./watch\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./utils\"), exports);\ntslib_1.__exportStar(require(\"./watch\"), exports);\ntslib_1.__exportStar(require(\"./types\"), exports);\ntslib_1.__exportStar(require(\"./constants\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== \"undefined\" && typeof window[name] !== \"undefined\") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow(\"document\");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow(\"document\");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow(\"navigator\");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow(\"navigator\");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow(\"location\");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow(\"location\");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow(\"crypto\");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow(\"crypto\");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow(\"localStorage\");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow(\"localStorage\");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = require(\"@walletconnect/window-getters\");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName(\"link\");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute(\"rel\");\n if (rel) {\n if (rel.toLowerCase().indexOf(\"icon\") > -1) {\n const href = link.getAttribute(\"href\");\n if (href) {\n if (href.toLowerCase().indexOf(\"https:\") === -1 &&\n href.toLowerCase().indexOf(\"http:\") === -1 &&\n href.indexOf(\"//\") !== 0) {\n let absoluteHref = loc.protocol + \"//\" + loc.host;\n if (href.indexOf(\"/\") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split(\"/\");\n path.pop();\n const finalPath = path.join(\"/\");\n absoluteHref += finalPath + \"/\" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf(\"//\") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = [\"itemprop\", \"property\", \"name\"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute(\"content\");\n if (content) {\n return content;\n }\n }\n }\n return \"\";\n }\n function getName() {\n let name = getWindowMetadataOfAny(\"name\", \"og:site_name\", \"og:title\", \"twitter:title\");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny(\"description\", \"og:description\", \"twitter:description\", \"keywords\");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map","export function isHex(value, { strict = true } = {}) {\n if (!value)\n return false;\n if (typeof value !== 'string')\n return false;\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\n//# sourceMappingURL=isHex.js.map","import { isHex } from './isHex.js';\n/**\n * @description Retrieves the size of the value (in bytes).\n *\n * @param value The value (hex or byte array) to retrieve the size of.\n * @returns The size of the value (in bytes).\n */\nexport function size(value) {\n if (isHex(value, { strict: false }))\n return Math.ceil((value.length - 2) / 2);\n return value.length;\n}\n//# sourceMappingURL=size.js.map","export const version = '2.23.2';\n//# sourceMappingURL=version.js.map","import { version } from './version.js';\nlet errorConfig = {\n getDocsUrl: ({ docsBaseUrl, docsPath = '', docsSlug, }) => docsPath\n ? `${docsBaseUrl ?? 'https://viem.sh'}${docsPath}${docsSlug ? `#${docsSlug}` : ''}`\n : undefined,\n version: `viem@${version}`,\n};\nexport function setErrorConfig(config) {\n errorConfig = config;\n}\nexport class BaseError extends Error {\n constructor(shortMessage, args = {}) {\n const details = (() => {\n if (args.cause instanceof BaseError)\n return args.cause.details;\n if (args.cause?.message)\n return args.cause.message;\n return args.details;\n })();\n const docsPath = (() => {\n if (args.cause instanceof BaseError)\n return args.cause.docsPath || args.docsPath;\n return args.docsPath;\n })();\n const docsUrl = errorConfig.getDocsUrl?.({ ...args, docsPath });\n const message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsUrl ? [`Docs: ${docsUrl}`] : []),\n ...(details ? [`Details: ${details}`] : []),\n ...(errorConfig.version ? [`Version: ${errorConfig.version}`] : []),\n ].join('\\n');\n super(message, args.cause ? { cause: args.cause } : undefined);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BaseError'\n });\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.name = args.name ?? this.name;\n this.shortMessage = shortMessage;\n this.version = version;\n }\n walk(fn) {\n return walk(this, fn);\n }\n}\nfunction walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err &&\n typeof err === 'object' &&\n 'cause' in err &&\n err.cause !== undefined)\n return walk(err.cause, fn);\n return fn ? null : err;\n}\n//# sourceMappingURL=base.js.map","import { BaseError } from './base.js';\nexport class SliceOffsetOutOfBoundsError extends BaseError {\n constructor({ offset, position, size, }) {\n super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`, { name: 'SliceOffsetOutOfBoundsError' });\n }\n}\nexport class SizeExceedsPaddingSizeError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`, { name: 'SizeExceedsPaddingSizeError' });\n }\n}\nexport class InvalidBytesLengthError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} is expected to be ${targetSize} ${type} long, but is ${size} ${type} long.`, { name: 'InvalidBytesLengthError' });\n }\n}\n//# sourceMappingURL=data.js.map","import { SizeExceedsPaddingSizeError, } from '../../errors/data.js';\nexport function pad(hexOrBytes, { dir, size = 32 } = {}) {\n if (typeof hexOrBytes === 'string')\n return padHex(hexOrBytes, { dir, size });\n return padBytes(hexOrBytes, { dir, size });\n}\nexport function padHex(hex_, { dir, size = 32 } = {}) {\n if (size === null)\n return hex_;\n const hex = hex_.replace('0x', '');\n if (hex.length > size * 2)\n throw new SizeExceedsPaddingSizeError({\n size: Math.ceil(hex.length / 2),\n targetSize: size,\n type: 'hex',\n });\n return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nexport function padBytes(bytes, { dir, size = 32 } = {}) {\n if (size === null)\n return bytes;\n if (bytes.length > size)\n throw new SizeExceedsPaddingSizeError({\n size: bytes.length,\n targetSize: size,\n type: 'bytes',\n });\n const paddedBytes = new Uint8Array(size);\n for (let i = 0; i < size; i++) {\n const padEnd = dir === 'right';\n paddedBytes[padEnd ? i : size - i - 1] =\n bytes[padEnd ? i : bytes.length - i - 1];\n }\n return paddedBytes;\n}\n//# sourceMappingURL=pad.js.map","import { BaseError } from './base.js';\nexport class IntegerOutOfRangeError extends BaseError {\n constructor({ max, min, signed, size, value, }) {\n super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`, { name: 'IntegerOutOfRangeError' });\n }\n}\nexport class InvalidBytesBooleanError extends BaseError {\n constructor(bytes) {\n super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`, {\n name: 'InvalidBytesBooleanError',\n });\n }\n}\nexport class InvalidHexBooleanError extends BaseError {\n constructor(hex) {\n super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`, { name: 'InvalidHexBooleanError' });\n }\n}\nexport class InvalidHexValueError extends BaseError {\n constructor(value) {\n super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`, { name: 'InvalidHexValueError' });\n }\n}\nexport class SizeOverflowError extends BaseError {\n constructor({ givenSize, maxSize }) {\n super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`, { name: 'SizeOverflowError' });\n }\n}\n//# sourceMappingURL=encoding.js.map","import { InvalidHexBooleanError, SizeOverflowError, } from '../../errors/encoding.js';\nimport { size as size_ } from '../data/size.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBytes } from './toBytes.js';\nexport function assertSize(hexOrBytes, { size }) {\n if (size_(hexOrBytes) > size)\n throw new SizeOverflowError({\n givenSize: size_(hexOrBytes),\n maxSize: size,\n });\n}\n/**\n * Decodes a hex string into a string, number, bigint, boolean, or byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex\n * - Example: https://viem.sh/docs/utilities/fromHex#usage\n *\n * @param hex Hex string to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x1a4', 'number')\n * // 420\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c6421', 'string')\n * // 'Hello world'\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * to: 'string'\n * })\n * // 'Hello world'\n */\nexport function fromHex(hex, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return hexToNumber(hex, opts);\n if (to === 'bigint')\n return hexToBigInt(hex, opts);\n if (to === 'string')\n return hexToString(hex, opts);\n if (to === 'boolean')\n return hexToBool(hex, opts);\n return hexToBytes(hex, opts);\n}\n/**\n * Decodes a hex value into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobigint\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x1a4', { signed: true })\n * // 420n\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420n\n */\nexport function hexToBigInt(hex, opts = {}) {\n const { signed } = opts;\n if (opts.size)\n assertSize(hex, { size: opts.size });\n const value = BigInt(hex);\n if (!signed)\n return value;\n const size = (hex.length - 2) / 2;\n const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n if (value <= max)\n return value;\n return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\n/**\n * Decodes a hex value into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextobool\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x01')\n * // true\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })\n * // true\n */\nexport function hexToBool(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = trim(hex);\n }\n if (trim(hex) === '0x00')\n return false;\n if (trim(hex) === '0x01')\n return true;\n throw new InvalidHexBooleanError(hex);\n}\n/**\n * Decodes a hex string into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextonumber\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToNumber('0x1a4')\n * // 420\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420\n */\nexport function hexToNumber(hex, opts = {}) {\n return Number(hexToBigInt(hex, opts));\n}\n/**\n * Decodes a hex value into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex#hextostring\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c6421')\n * // 'Hello world!'\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * })\n * // 'Hello world'\n */\nexport function hexToString(hex, opts = {}) {\n let bytes = hexToBytes(hex);\n if (opts.size) {\n assertSize(bytes, { size: opts.size });\n bytes = trim(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromHex.js.map","import { IntegerOutOfRangeError, } from '../../errors/encoding.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nconst hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\n/**\n * Encodes a string, number, bigint, or ByteArray into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex\n * - Example: https://viem.sh/docs/utilities/toHex#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world')\n * // '0x48656c6c6f20776f726c6421'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex(420)\n * // '0x1a4'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world', { size: 32 })\n * // '0x48656c6c6f20776f726c64210000000000000000000000000000000000000000'\n */\nexport function toHex(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToHex(value, opts);\n if (typeof value === 'string') {\n return stringToHex(value, opts);\n }\n if (typeof value === 'boolean')\n return boolToHex(value, opts);\n return bytesToHex(value, opts);\n}\n/**\n * Encodes a boolean into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#booltohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true)\n * // '0x1'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(false)\n * // '0x0'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true, { size: 32 })\n * // '0x0000000000000000000000000000000000000000000000000000000000000001'\n */\nexport function boolToHex(value, opts = {}) {\n const hex = `0x${Number(value)}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a bytes array into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#bytestohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]), { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function bytesToHex(value, opts = {}) {\n let string = '';\n for (let i = 0; i < value.length; i++) {\n string += hexes[value[i]];\n }\n const hex = `0x${string}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { dir: 'right', size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a number or bigint into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#numbertohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420)\n * // '0x1a4'\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420, { size: 32 })\n * // '0x00000000000000000000000000000000000000000000000000000000000001a4'\n */\nexport function numberToHex(value_, opts = {}) {\n const { signed, size } = opts;\n const value = BigInt(value_);\n let maxValue;\n if (size) {\n if (signed)\n maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n else\n maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n }\n else if (typeof value_ === 'number') {\n maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n }\n const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n if ((maxValue && value > maxValue) || value < minValue) {\n const suffix = typeof value_ === 'bigint' ? 'n' : '';\n throw new IntegerOutOfRangeError({\n max: maxValue ? `${maxValue}${suffix}` : undefined,\n min: `${minValue}${suffix}`,\n signed,\n size,\n value: `${value_}${suffix}`,\n });\n }\n const hex = `0x${(signed && value < 0 ? (1n << BigInt(size * 8)) + BigInt(value) : value).toString(16)}`;\n if (size)\n return pad(hex, { size });\n return hex;\n}\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex#stringtohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!')\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!', { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function stringToHex(value_, opts = {}) {\n const value = encoder.encode(value_);\n return bytesToHex(value, opts);\n}\n//# sourceMappingURL=toHex.js.map","import { BaseError } from '../../errors/base.js';\nimport { isHex } from '../data/isHex.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nimport { numberToHex, } from './toHex.js';\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes\n * - Example: https://viem.sh/docs/utilities/toBytes#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes('Hello world')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function toBytes(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToBytes(value, opts);\n if (typeof value === 'boolean')\n return boolToBytes(value, opts);\n if (isHex(value))\n return hexToBytes(value, opts);\n return stringToBytes(value, opts);\n}\n/**\n * Encodes a boolean into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#booltobytes\n *\n * @param value Boolean value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true)\n * // Uint8Array([1])\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true, { size: 32 })\n * // Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\n */\nexport function boolToBytes(value, opts = {}) {\n const bytes = new Uint8Array(1);\n bytes[0] = Number(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { size: opts.size });\n }\n return bytes;\n}\n// We use very optimized technique to convert hex string to byte array\nconst charCodeMap = {\n zero: 48,\n nine: 57,\n A: 65,\n F: 70,\n a: 97,\n f: 102,\n};\nfunction charCodeToBase16(char) {\n if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n return char - charCodeMap.zero;\n if (char >= charCodeMap.A && char <= charCodeMap.F)\n return char - (charCodeMap.A - 10);\n if (char >= charCodeMap.a && char <= charCodeMap.f)\n return char - (charCodeMap.a - 10);\n return undefined;\n}\n/**\n * Encodes a hex string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#hextobytes\n *\n * @param hex Hex string to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function hexToBytes(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = pad(hex, { dir: 'right', size: opts.size });\n }\n let hexString = hex.slice(2);\n if (hexString.length % 2)\n hexString = `0${hexString}`;\n const length = hexString.length / 2;\n const bytes = new Uint8Array(length);\n for (let index = 0, j = 0; index < length; index++) {\n const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++));\n const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++));\n if (nibbleLeft === undefined || nibbleRight === undefined) {\n throw new BaseError(`Invalid byte sequence (\"${hexString[j - 2]}${hexString[j - 1]}\" in \"${hexString}\").`);\n }\n bytes[index] = nibbleLeft * 16 + nibbleRight;\n }\n return bytes;\n}\n/**\n * Encodes a number into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#numbertobytes\n *\n * @param value Number to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function numberToBytes(value, opts) {\n const hex = numberToHex(value, opts);\n return hexToBytes(hex);\n}\n/**\n * Encodes a UTF-8 string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes#stringtobytes\n *\n * @param value String to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33])\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function stringToBytes(value, opts = {}) {\n const bytes = encoder.encode(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { dir: 'right', size: opts.size });\n }\n return bytes;\n}\n//# sourceMappingURL=toBytes.js.map","import { keccak_256 } from '@noble/hashes/sha3';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function keccak256(value, to_) {\n const to = to_ || 'hex';\n const bytes = keccak_256(isHex(value, { strict: false }) ? toBytes(value) : value);\n if (to === 'bytes')\n return bytes;\n return toHex(bytes);\n}\n//# sourceMappingURL=keccak256.js.map","/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap extends Map {\n constructor(size) {\n super();\n Object.defineProperty(this, \"maxSize\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.maxSize = size;\n }\n get(key) {\n const value = super.get(key);\n if (super.has(key) && value !== undefined) {\n this.delete(key);\n super.set(key, value);\n }\n return value;\n }\n set(key, value) {\n super.set(key, value);\n if (this.maxSize && this.size > this.maxSize) {\n const firstKey = this.keys().next().value;\n if (firstKey)\n this.delete(firstKey);\n }\n return this;\n }\n}\n//# sourceMappingURL=lru.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { stringToBytes, } from '../encoding/toBytes.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { LruMap } from '../lru.js';\nimport { isAddress } from './isAddress.js';\nconst checksumAddressCache = /*#__PURE__*/ new LruMap(8192);\nexport function checksumAddress(address_, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n if (checksumAddressCache.has(`${address_}.${chainId}`))\n return checksumAddressCache.get(`${address_}.${chainId}`);\n const hexAddress = chainId\n ? `${chainId}${address_.toLowerCase()}`\n : address_.substring(2).toLowerCase();\n const hash = keccak256(stringToBytes(hexAddress), 'bytes');\n const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n for (let i = 0; i < 40; i += 2) {\n if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n address[i] = address[i].toUpperCase();\n }\n if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n address[i + 1] = address[i + 1].toUpperCase();\n }\n }\n const result = `0x${address.join('')}`;\n checksumAddressCache.set(`${address_}.${chainId}`, result);\n return result;\n}\nexport function getAddress(address, \n/**\n * Warning: EIP-1191 checksum addresses are generally not backwards compatible with the\n * wider Ethereum ecosystem, meaning it will break when validated against an application/tool\n * that relies on EIP-55 checksum encoding (checksum without chainId).\n *\n * It is highly recommended to not use this feature unless you\n * know what you are doing.\n *\n * See more: https://github.com/ethereum/EIPs/issues/1121\n */\nchainId) {\n if (!isAddress(address, { strict: false }))\n throw new InvalidAddressError({ address });\n return checksumAddress(address, chainId);\n}\n//# sourceMappingURL=getAddress.js.map","import { checksumAddress, } from '../../utils/address/getAddress.js';\nimport { keccak256, } from '../../utils/hash/keccak256.js';\n/**\n * @description Converts an ECDSA public key to an address.\n *\n * @param publicKey The public key to convert.\n *\n * @returns The address.\n */\nexport function publicKeyToAddress(publicKey) {\n const address = keccak256(`0x${publicKey.substring(4)}`).substring(26);\n return checksumAddress(`0x${address}`);\n}\n//# sourceMappingURL=publicKeyToAddress.js.map","import { isHex } from '../data/isHex.js';\nimport { hexToBigInt, hexToNumber, } from '../encoding/fromHex.js';\nimport { toHex } from '../encoding/toHex.js';\nexport async function recoverPublicKey({ hash, signature, }) {\n const hashHex = isHex(hash) ? hash : toHex(hash);\n const { secp256k1 } = await import('@noble/curves/secp256k1');\n const signature_ = (() => {\n // typeof signature: `Signature`\n if (typeof signature === 'object' && 'r' in signature && 's' in signature) {\n const { r, s, v, yParity } = signature;\n const yParityOrV = Number(yParity ?? v);\n const recoveryBit = toRecoveryBit(yParityOrV);\n return new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).addRecoveryBit(recoveryBit);\n }\n // typeof signature: `Hex | ByteArray`\n const signatureHex = isHex(signature) ? signature : toHex(signature);\n const yParityOrV = hexToNumber(`0x${signatureHex.slice(130)}`);\n const recoveryBit = toRecoveryBit(yParityOrV);\n return secp256k1.Signature.fromCompact(signatureHex.substring(2, 130)).addRecoveryBit(recoveryBit);\n })();\n const publicKey = signature_\n .recoverPublicKey(hashHex.substring(2))\n .toHex(false);\n return `0x${publicKey}`;\n}\nfunction toRecoveryBit(yParityOrV) {\n if (yParityOrV === 0 || yParityOrV === 1)\n return yParityOrV;\n if (yParityOrV === 27)\n return 0;\n if (yParityOrV === 28)\n return 1;\n throw new Error('Invalid yParityOrV value');\n}\n//# sourceMappingURL=recoverPublicKey.js.map","import { publicKeyToAddress } from '../../accounts/utils/publicKeyToAddress.js';\nimport { recoverPublicKey } from './recoverPublicKey.js';\nexport async function recoverAddress({ hash, signature, }) {\n return publicKeyToAddress(await recoverPublicKey({ hash: hash, signature }));\n}\n//# sourceMappingURL=recoverAddress.js.map","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (psz < source.length) {\n // Find code of next character\n const charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n let carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import basex from 'base-x';\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nexport default basex(ALPHABET);\n","const JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === \"bigint\" ? value.toString() + \"n\" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, \"$1\\\"$2n\\\"$3\");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === \"string\" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nexport function safeJsonParse(value) {\n if (typeof value !== \"string\") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nexport function safeJsonStringify(value) {\n return typeof value === \"string\" ? value : JSONStringify(value) || \"\";\n}\n//# sourceMappingURL=index.js.map","import{fromMiliseconds as bn}from\"@walletconnect/time\";import{safeJsonParse as pn,safeJsonStringify as wn}from\"@walletconnect/safe-json\";function En(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function fe(t,...e){if(!En(t))throw new Error(\"Uint8Array expected\");if(e.length>0&&!e.includes(t.length))throw new Error(\"Uint8Array expected of length \"+e+\", got length=\"+t.length)}function De(t,e=!0){if(t.destroyed)throw new Error(\"Hash instance has been destroyed\");if(e&&t.finished)throw new Error(\"Hash#digest() has already been called\")}function gn(t,e){fe(t);const n=e.outputLen;if(t.lengthnew DataView(t.buffer,t.byteOffset,t.byteLength);function yn(t){if(typeof t!=\"string\")throw new Error(\"utf8ToBytes expected string, got \"+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function de(t){return typeof t==\"string\"&&(t=yn(t)),fe(t),t}class xn{clone(){return this._cloneInto()}}function Bn(t){const e=r=>t().update(de(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function he(t=32){if(it&&typeof it.getRandomValues==\"function\")return it.getRandomValues(new Uint8Array(t));if(it&&typeof it.randomBytes==\"function\")return it.randomBytes(t);throw new Error(\"crypto.getRandomValues must be defined\")}function Cn(t,e,n,r){if(typeof t.setBigUint64==\"function\")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),u=Number(n&s),i=r?4:0,D=r?0:4;t.setUint32(e+i,a,r),t.setUint32(e+D,u,r)}class An extends xn{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=_t(this.buffer)}update(e){De(this);const{view:n,buffer:r,blockLen:o}=this;e=de(e);const s=e.length;for(let a=0;ao-a&&(this.process(r,0),a=0);for(let l=a;lc.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let l=0;l>St&wt)}:{h:Number(t>>St&wt)|0,l:Number(t&wt)|0}}function mn(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let o=0;oBigInt(t>>>0)<>>0),Sn=(t,e,n)=>t>>>n,vn=(t,e,n)=>t<<32-n|e>>>n,In=(t,e,n)=>t>>>n|e<<32-n,Un=(t,e,n)=>t<<32-n|e>>>n,Tn=(t,e,n)=>t<<64-n|e>>>n-32,Fn=(t,e,n)=>t>>>n-32|e<<64-n,Nn=(t,e)=>e,Ln=(t,e)=>t,On=(t,e,n)=>t<>>32-n,Hn=(t,e,n)=>e<>>32-n,zn=(t,e,n)=>e<>>64-n,Mn=(t,e,n)=>t<>>64-n;function qn(t,e,n,r){const o=(e>>>0)+(r>>>0);return{h:t+n+(o/2**32|0)|0,l:o|0}}const $n=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),kn=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Rn=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),jn=(t,e,n,r,o)=>e+n+r+o+(t/2**32|0)|0,Zn=(t,e,n,r,o)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(o>>>0),Gn=(t,e,n,r,o,s)=>e+n+r+o+s+(t/2**32|0)|0,x={fromBig:le,split:mn,toBig:_n,shrSH:Sn,shrSL:vn,rotrSH:In,rotrSL:Un,rotrBH:Tn,rotrBL:Fn,rotr32H:Nn,rotr32L:Ln,rotlSH:On,rotlSL:Hn,rotlBH:zn,rotlBL:Mn,add:qn,add3L:$n,add3H:kn,add4L:Rn,add4H:jn,add5H:Gn,add5L:Zn},[Vn,Yn]=(()=>x.split([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map(t=>BigInt(t))))(),P=new Uint32Array(80),Q=new Uint32Array(80);class Jn extends An{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:n,Bh:r,Bl:o,Ch:s,Cl:a,Dh:u,Dl:i,Eh:D,El:c,Fh:l,Fl:p,Gh:w,Gl:h,Hh:g,Hl:S}=this;return[e,n,r,o,s,a,u,i,D,c,l,p,w,h,g,S]}set(e,n,r,o,s,a,u,i,D,c,l,p,w,h,g,S){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=o|0,this.Ch=s|0,this.Cl=a|0,this.Dh=u|0,this.Dl=i|0,this.Eh=D|0,this.El=c|0,this.Fh=l|0,this.Fl=p|0,this.Gh=w|0,this.Gl=h|0,this.Hh=g|0,this.Hl=S|0}process(e,n){for(let d=0;d<16;d++,n+=4)P[d]=e.getUint32(n),Q[d]=e.getUint32(n+=4);for(let d=16;d<80;d++){const m=P[d-15]|0,F=Q[d-15]|0,q=x.rotrSH(m,F,1)^x.rotrSH(m,F,8)^x.shrSH(m,F,7),z=x.rotrSL(m,F,1)^x.rotrSL(m,F,8)^x.shrSL(m,F,7),I=P[d-2]|0,O=Q[d-2]|0,ot=x.rotrSH(I,O,19)^x.rotrBH(I,O,61)^x.shrSH(I,O,6),tt=x.rotrSL(I,O,19)^x.rotrBL(I,O,61)^x.shrSL(I,O,6),st=x.add4L(z,tt,Q[d-7],Q[d-16]),at=x.add4H(st,q,ot,P[d-7],P[d-16]);P[d]=at|0,Q[d]=st|0}let{Ah:r,Al:o,Bh:s,Bl:a,Ch:u,Cl:i,Dh:D,Dl:c,Eh:l,El:p,Fh:w,Fl:h,Gh:g,Gl:S,Hh:v,Hl:L}=this;for(let d=0;d<80;d++){const m=x.rotrSH(l,p,14)^x.rotrSH(l,p,18)^x.rotrBH(l,p,41),F=x.rotrSL(l,p,14)^x.rotrSL(l,p,18)^x.rotrBL(l,p,41),q=l&w^~l&g,z=p&h^~p&S,I=x.add5L(L,F,z,Yn[d],Q[d]),O=x.add5H(I,v,m,q,Vn[d],P[d]),ot=I|0,tt=x.rotrSH(r,o,28)^x.rotrBH(r,o,34)^x.rotrBH(r,o,39),st=x.rotrSL(r,o,28)^x.rotrBL(r,o,34)^x.rotrBL(r,o,39),at=r&s^r&u^s&u,Ct=o&a^o&i^a&i;v=g|0,L=S|0,g=w|0,S=h|0,w=l|0,h=p|0,{h:l,l:p}=x.add(D|0,c|0,O|0,ot|0),D=u|0,c=i|0,u=s|0,i=a|0,s=r|0,a=o|0;const At=x.add3L(ot,st,Ct);r=x.add3H(At,O,tt,at),o=At|0}({h:r,l:o}=x.add(this.Ah|0,this.Al|0,r|0,o|0)),{h:s,l:a}=x.add(this.Bh|0,this.Bl|0,s|0,a|0),{h:u,l:i}=x.add(this.Ch|0,this.Cl|0,u|0,i|0),{h:D,l:c}=x.add(this.Dh|0,this.Dl|0,D|0,c|0),{h:l,l:p}=x.add(this.Eh|0,this.El|0,l|0,p|0),{h:w,l:h}=x.add(this.Fh|0,this.Fl|0,w|0,h|0),{h:g,l:S}=x.add(this.Gh|0,this.Gl|0,g|0,S|0),{h:v,l:L}=x.add(this.Hh|0,this.Hl|0,v|0,L|0),this.set(r,o,s,a,u,i,D,c,l,p,w,h,g,S,v,L)}roundClean(){P.fill(0),Q.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Kn=Bn(()=>new Jn);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const vt=BigInt(0),be=BigInt(1),Wn=BigInt(2);function It(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name===\"Uint8Array\"}function Ut(t){if(!It(t))throw new Error(\"Uint8Array expected\")}function Tt(t,e){if(typeof e!=\"boolean\")throw new Error(t+\" boolean expected, got \"+e)}const Xn=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,\"0\"));function Ft(t){Ut(t);let e=\"\";for(let n=0;n=K._0&&t<=K._9)return t-K._0;if(t>=K.A&&t<=K.F)return t-(K.A-10);if(t>=K.a&&t<=K.f)return t-(K.a-10)}function Ee(t){if(typeof t!=\"string\")throw new Error(\"hex string expected, got \"+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error(\"hex string expected, got unpadded hex of length \"+e);const r=new Uint8Array(n);for(let o=0,s=0;otypeof t==\"bigint\"&&vt<=t;function Qn(t,e,n){return Lt(t)&&Lt(e)&&Lt(n)&&e<=t&&tvt;t>>=be,e+=1);return e}const er=t=>(Wn<typeof t==\"bigint\",function:t=>typeof t==\"function\",boolean:t=>typeof t==\"boolean\",string:t=>typeof t==\"string\",stringOrUint8Array:t=>typeof t==\"string\"||It(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t==\"function\"&&Number.isSafeInteger(t.outputLen)};function Ot(t,e,n={}){const r=(o,s,a)=>{const u=nr[s];if(typeof u!=\"function\")throw new Error(\"invalid validator function\");const i=t[o];if(!(a&&i===void 0)&&!u(i,t))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+s+\", got \"+i)};for(const[o,s]of Object.entries(e))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return t}function xe(t){const e=new WeakMap;return(n,...r)=>{const o=e.get(n);if(o!==void 0)return o;const s=t(n,...r);return e.set(n,s),s}}const M=BigInt(0),N=BigInt(1),nt=BigInt(2),rr=BigInt(3),Ht=BigInt(4),Be=BigInt(5),Ce=BigInt(8);function H(t,e){const n=t%e;return n>=M?n:e+n}function or(t,e,n){if(eM;)e&N&&(r=r*t%n),t=t*t%n,e>>=N;return r}function J(t,e,n){let r=t;for(;e-- >M;)r*=r,r%=n;return r}function Ae(t,e){if(t===M)throw new Error(\"invert: expected non-zero number\");if(e<=M)throw new Error(\"invert: expected positive modulus, got \"+e);let n=H(t,e),r=e,o=M,s=N;for(;n!==M;){const u=r/n,i=r%n,D=o-s*u;r=n,n=i,o=s,s=D}if(r!==N)throw new Error(\"invert: does not exist\");return H(o,e)}function sr(t){const e=(t-N)/nt;let n,r,o;for(n=t-N,r=0;n%nt===M;n/=nt,r++);for(o=nt;o1e3)throw new Error(\"Cannot find square root: likely non-prime P\");if(r===1){const a=(t+N)/Ht;return function(i,D){const c=i.pow(D,a);if(!i.eql(i.sqr(c),D))throw new Error(\"Cannot find square root\");return c}}const s=(n+N)/nt;return function(u,i){if(u.pow(i,e)===u.neg(u.ONE))throw new Error(\"Cannot find square root\");let D=r,c=u.pow(u.mul(u.ONE,o),n),l=u.pow(i,s),p=u.pow(i,n);for(;!u.eql(p,u.ONE);){if(u.eql(p,u.ZERO))return u.ZERO;let w=1;for(let g=u.sqr(p);w(H(t,e)&N)===N,cr=[\"create\",\"isValid\",\"is0\",\"neg\",\"inv\",\"sqrt\",\"sqr\",\"eql\",\"add\",\"sub\",\"mul\",\"pow\",\"div\",\"addN\",\"subN\",\"mulN\",\"sqrN\"];function ar(t){const e={ORDER:\"bigint\",MASK:\"bigint\",BYTES:\"isSafeInteger\",BITS:\"isSafeInteger\"},n=cr.reduce((r,o)=>(r[o]=\"function\",r),e);return Ot(t,n)}function fr(t,e,n){if(nM;)n&N&&(r=t.mul(r,o)),o=t.sqr(o),n>>=N;return r}function Dr(t,e){const n=new Array(e.length),r=e.reduce((s,a,u)=>t.is0(a)?s:(n[u]=s,t.mul(s,a)),t.ONE),o=t.inv(r);return e.reduceRight((s,a,u)=>t.is0(a)?s:(n[u]=t.mul(s,n[u]),t.mul(s,a)),o),n}function me(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function _e(t,e,n=!1,r={}){if(t<=M)throw new Error(\"invalid field: expected ORDER > 0, got \"+t);const{nBitLength:o,nByteLength:s}=me(t,e);if(s>2048)throw new Error(\"invalid field: expected ORDER of <= 2048 bytes\");let a;const u=Object.freeze({ORDER:t,isLE:n,BITS:o,BYTES:s,MASK:er(o),ZERO:M,ONE:N,create:i=>H(i,t),isValid:i=>{if(typeof i!=\"bigint\")throw new Error(\"invalid field element: expected bigint, got \"+typeof i);return M<=i&&ii===M,isOdd:i=>(i&N)===N,neg:i=>H(-i,t),eql:(i,D)=>i===D,sqr:i=>H(i*i,t),add:(i,D)=>H(i+D,t),sub:(i,D)=>H(i-D,t),mul:(i,D)=>H(i*D,t),pow:(i,D)=>fr(u,i,D),div:(i,D)=>H(i*Ae(D,t),t),sqrN:i=>i*i,addN:(i,D)=>i+D,subN:(i,D)=>i-D,mulN:(i,D)=>i*D,inv:i=>Ae(i,t),sqrt:r.sqrt||(i=>(a||(a=ir(t)),a(u,i))),invertBatch:i=>Dr(u,i),cmov:(i,D,c)=>c?D:i,toBytes:i=>n?Nt(i,s):ge(i,s),fromBytes:i=>{if(i.length!==s)throw new Error(\"Field.fromBytes: expected \"+s+\" bytes, got \"+i.length);return n?Et(i):Pn(i)}});return Object.freeze(u)}const Se=BigInt(0),gt=BigInt(1);function zt(t,e){const n=e.negate();return t?n:e}function ve(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error(\"invalid window size, expected [1..\"+e+\"], got W=\"+t)}function Mt(t,e){ve(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1);return{windows:n,windowSize:r}}function dr(t,e){if(!Array.isArray(t))throw new Error(\"array expected\");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error(\"invalid point at index \"+r)})}function hr(t,e){if(!Array.isArray(t))throw new Error(\"array of scalars expected\");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error(\"invalid scalar at index \"+r)})}const qt=new WeakMap,Ie=new WeakMap;function $t(t){return Ie.get(t)||1}function lr(t,e){return{constTimeNegate:zt,hasPrecomputes(n){return $t(n)!==1},unsafeLadder(n,r,o=t.ZERO){let s=n;for(;r>Se;)r>&&(o=o.add(s)),s=s.double(),r>>=gt;return o},precomputeWindow(n,r){const{windows:o,windowSize:s}=Mt(r,e),a=[];let u=n,i=u;for(let D=0;D>=l,h>a&&(h-=c,o+=gt);const g=w,S=w+Math.abs(h)-1,v=p%2!==0,L=h<0;h===0?i=i.add(zt(v,r[g])):u=u.add(zt(L,r[S]))}return{p:u,f:i}},wNAFUnsafe(n,r,o,s=t.ZERO){const{windows:a,windowSize:u}=Mt(n,e),i=BigInt(2**n-1),D=2**n,c=BigInt(n);for(let l=0;l>=c,w>u&&(w-=D,o+=gt),w===0)continue;let h=r[p+Math.abs(w)-1];w<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(n,r,o){let s=qt.get(r);return s||(s=this.precomputeWindow(r,n),n!==1&&qt.set(r,o(s))),s},wNAFCached(n,r,o){const s=$t(n);return this.wNAF(s,this.getPrecomputes(s,n,o),r)},wNAFCachedUnsafe(n,r,o,s){const a=$t(n);return a===1?this.unsafeLadder(n,r,s):this.wNAFUnsafe(a,this.getPrecomputes(a,n,o),r,s)},setWindowSize(n,r){ve(r,e),Ie.set(n,r),qt.delete(n)}}}function br(t,e,n,r){if(dr(n,t),hr(r,e),n.length!==r.length)throw new Error(\"arrays of points and scalars must have equal length\");const o=t.ZERO,s=tr(BigInt(n.length)),a=s>12?s-3:s>4?s-2:s?2:1,u=(1<=0;l-=a){i.fill(o);for(let w=0;w>BigInt(l)&BigInt(u));i[g]=i[g].add(n[w])}let p=o;for(let w=i.length-1,h=o;w>0;w--)h=h.add(i[w]),p=p.add(h);if(c=c.add(p),l!==0)for(let w=0;w{try{return{isValid:!0,value:n.sqrt(y*n.inv(f))}}catch{return{isValid:!1,value:G}}}),w=e.adjustScalarBytes||(y=>y),h=e.domain||((y,f,b)=>{if(Tt(\"phflag\",b),f.length||b)throw new Error(\"Contexts/pre-hash are not supported\");return y});function g(y,f){ft(\"coordinate \"+y,f,G,D)}function S(y){if(!(y instanceof d))throw new Error(\"ExtendedPoint expected\")}const v=xe((y,f)=>{const{ex:b,ey:E,ez:B}=y,C=y.is0();f==null&&(f=C?wr:n.inv(B));const A=c(b*f),U=c(E*f),_=c(B*f);if(C)return{x:G,y:j};if(_!==j)throw new Error(\"invZ was invalid\");return{x:A,y:U}}),L=xe(y=>{const{a:f,d:b}=e;if(y.is0())throw new Error(\"bad point: ZERO\");const{ex:E,ey:B,ez:C,et:A}=y,U=c(E*E),_=c(B*B),T=c(C*C),$=c(T*T),R=c(U*f),V=c(T*c(R+_)),Y=c($+c(b*c(U*_)));if(V!==Y)throw new Error(\"bad point: equation left != right (1)\");const Z=c(E*B),X=c(C*A);if(Z!==X)throw new Error(\"bad point: equation left != right (2)\");return!0});class d{constructor(f,b,E,B){this.ex=f,this.ey=b,this.ez=E,this.et=B,g(\"x\",f),g(\"y\",b),g(\"z\",E),g(\"t\",B),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(f){if(f instanceof d)throw new Error(\"extended point not allowed\");const{x:b,y:E}=f||{};return g(\"x\",b),g(\"y\",E),new d(b,E,j,c(b*E))}static normalizeZ(f){const b=n.invertBatch(f.map(E=>E.ez));return f.map((E,B)=>E.toAffine(b[B])).map(d.fromAffine)}static msm(f,b){return br(d,l,f,b)}_setWindowSize(f){q.setWindowSize(this,f)}assertValidity(){L(this)}equals(f){S(f);const{ex:b,ey:E,ez:B}=this,{ex:C,ey:A,ez:U}=f,_=c(b*U),T=c(C*B),$=c(E*U),R=c(A*B);return _===T&&$===R}is0(){return this.equals(d.ZERO)}negate(){return new d(c(-this.ex),this.ey,this.ez,c(-this.et))}double(){const{a:f}=e,{ex:b,ey:E,ez:B}=this,C=c(b*b),A=c(E*E),U=c(yt*c(B*B)),_=c(f*C),T=b+E,$=c(c(T*T)-C-A),R=_+A,V=R-U,Y=_-A,Z=c($*V),X=c(R*Y),et=c($*Y),pt=c(V*R);return new d(Z,X,pt,et)}add(f){S(f);const{a:b,d:E}=e,{ex:B,ey:C,ez:A,et:U}=this,{ex:_,ey:T,ez:$,et:R}=f;if(b===BigInt(-1)){const re=c((C-B)*(T+_)),oe=c((C+B)*(T-_)),mt=c(oe-re);if(mt===G)return this.double();const se=c(A*yt*R),ie=c(U*yt*$),ue=ie+se,ce=oe+re,ae=ie-se,Dn=c(ue*mt),dn=c(ce*ae),hn=c(ue*ae),ln=c(mt*ce);return new d(Dn,dn,ln,hn)}const V=c(B*_),Y=c(C*T),Z=c(U*E*R),X=c(A*$),et=c((B+C)*(_+T)-V-Y),pt=X-Z,ee=X+Z,ne=c(Y-b*V),un=c(et*pt),cn=c(ee*ne),an=c(et*ne),fn=c(pt*ee);return new d(un,cn,fn,an)}subtract(f){return this.add(f.negate())}wNAF(f){return q.wNAFCached(this,f,d.normalizeZ)}multiply(f){const b=f;ft(\"scalar\",b,j,r);const{p:E,f:B}=this.wNAF(b);return d.normalizeZ([E,B])[0]}multiplyUnsafe(f,b=d.ZERO){const E=f;return ft(\"scalar\",E,G,r),E===G?F:this.is0()||E===j?this:q.wNAFCachedUnsafe(this,E,d.normalizeZ,b)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return q.unsafeLadder(this,r).is0()}toAffine(f){return v(this,f)}clearCofactor(){const{h:f}=e;return f===j?this:this.multiplyUnsafe(f)}static fromHex(f,b=!1){const{d:E,a:B}=e,C=n.BYTES;f=W(\"pointHex\",f,C),Tt(\"zip215\",b);const A=f.slice(),U=f[C-1];A[C-1]=U&-129;const _=Et(A),T=b?D:n.ORDER;ft(\"pointHex.y\",_,G,T);const $=c(_*_),R=c($-j),V=c(E*$-B);let{isValid:Y,value:Z}=p(R,V);if(!Y)throw new Error(\"Point.fromHex: invalid y coordinate\");const X=(Z&j)===j,et=(U&128)!==0;if(!b&&Z===G&&et)throw new Error(\"Point.fromHex: x=0 and x_0=1\");return et!==X&&(Z=c(-Z)),d.fromAffine({x:Z,y:_})}static fromPrivateKey(f){return O(f).point}toRawBytes(){const{x:f,y:b}=this.toAffine(),E=Nt(b,n.BYTES);return E[E.length-1]|=f&j?128:0,E}toHex(){return Ft(this.toRawBytes())}}d.BASE=new d(e.Gx,e.Gy,j,c(e.Gx*e.Gy)),d.ZERO=new d(G,j,j,G);const{BASE:m,ZERO:F}=d,q=lr(d,u*8);function z(y){return H(y,r)}function I(y){return z(Et(y))}function O(y){const f=n.BYTES;y=W(\"private key\",y,f);const b=W(\"hashed private key\",s(y),2*f),E=w(b.slice(0,f)),B=b.slice(f,2*f),C=I(E),A=m.multiply(C),U=A.toRawBytes();return{head:E,prefix:B,scalar:C,point:A,pointBytes:U}}function ot(y){return O(y).pointBytes}function tt(y=new Uint8Array,...f){const b=ye(...f);return I(s(h(b,W(\"context\",y),!!o)))}function st(y,f,b={}){y=W(\"message\",y),o&&(y=o(y));const{prefix:E,scalar:B,pointBytes:C}=O(f),A=tt(b.context,E,y),U=m.multiply(A).toRawBytes(),_=tt(b.context,U,C,y),T=z(A+_*B);ft(\"signature.s\",T,G,r);const $=ye(U,Nt(T,n.BYTES));return W(\"result\",$,n.BYTES*2)}const at=Er;function Ct(y,f,b,E=at){const{context:B,zip215:C}=E,A=n.BYTES;y=W(\"signature\",y,2*A),f=W(\"message\",f),b=W(\"publicKey\",b,A),C!==void 0&&Tt(\"zip215\",C),o&&(f=o(f));const U=Et(y.slice(A,2*A));let _,T,$;try{_=d.fromHex(b,C),T=d.fromHex(y.slice(0,A),C),$=m.multiplyUnsafe(U)}catch{return!1}if(!C&&_.isSmallOrder())return!1;const R=tt(B,T.toRawBytes(),_.toRawBytes(),f);return T.add(_.multiplyUnsafe(R)).subtract($).clearCofactor().equals(d.ZERO)}return m._setWindowSize(8),{CURVE:e,getPublicKey:ot,sign:st,verify:Ct,ExtendedPoint:d,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>a(n.BYTES),precompute(y=8,f=d.BASE){return f._setWindowSize(y),f.multiply(BigInt(3)),f}}}}BigInt(0),BigInt(1);const kt=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\"),Ue=BigInt(\"19681161376707505956807079304988542015446066515923890162744021073123829784752\");BigInt(0);const xr=BigInt(1),Te=BigInt(2);BigInt(3);const Br=BigInt(5),Cr=BigInt(8);function Ar(t){const e=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),s=kt,u=t*t%s*t%s,i=J(u,Te,s)*u%s,D=J(i,xr,s)*t%s,c=J(D,Br,s)*D%s,l=J(c,e,s)*c%s,p=J(l,n,s)*l%s,w=J(p,r,s)*p%s,h=J(w,o,s)*w%s,g=J(h,o,s)*w%s,S=J(g,e,s)*c%s;return{pow_p_5_8:J(S,Te,s)*t%s,b2:u}}function mr(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function _r(t,e){const n=kt,r=H(e*e*e,n),o=H(r*r*e,n),s=Ar(t*o).pow_p_5_8;let a=H(t*r*s,n);const u=H(e*a*a,n),i=a,D=H(a*Ue,n),c=u===t,l=u===H(-t,n),p=u===H(-t*Ue,n);return c&&(a=i),(l||p)&&(a=D),ur(a,n)&&(a=H(-a,n)),{isValid:c||l,value:a}}const Sr=(()=>_e(kt,void 0,!0))(),vr=(()=>({a:BigInt(-1),d:BigInt(\"37095705934669439343138083508754565189542113879843219016388785533085940283555\"),Fp:Sr,n:BigInt(\"7237005577332262213973186563042994240857116359379907606001950938285454250989\"),h:Cr,Gx:BigInt(\"15112221349535400772501151409588531511454012693041857206046113283949847762202\"),Gy:BigInt(\"46316835694926478169428394003475163141307993866256225615783033603165251855960\"),hash:Kn,randomBytes:he,adjustScalarBytes:mr,uvRatio:_r}))(),Rt=(()=>yr(vr))(),jt=\"EdDSA\",Zt=\"JWT\",ut=\".\",Dt=\"base64url\",Gt=\"utf8\",xt=\"utf8\",Vt=\":\",Yt=\"did\",Jt=\"key\",dt=\"base58btc\",Kt=\"z\",Wt=\"K36\",Fe=32,Ne=32;function Xt(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Le(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Xt(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Oe(t,e){e||(e=t.reduce((o,s)=>o+s.length,0));const n=Le(e);let r=0;for(const o of t)n.set(o,r),r+=o.length;return Xt(n)}function Ir(t,e){if(t.length>=255)throw new TypeError(\"Alphabet too long\");for(var n=new Uint8Array(256),r=0;r>>0,m=new Uint8Array(d);v!==L;){for(var F=h[v],q=0,z=d-1;(F!==0||q>>0,m[z]=F%u>>>0,F=F/u>>>0;if(F!==0)throw new Error(\"Non-zero carry\");S=q,v++}for(var I=d-S;I!==d&&m[I]===0;)I++;for(var O=i.repeat(g);I>>0,d=new Uint8Array(L);h[g];){var m=n[h.charCodeAt(g)];if(m===255)return;for(var F=0,q=L-1;(m!==0||F>>0,d[q]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error(\"Non-zero carry\");v=F,g++}if(h[g]!==\" \"){for(var z=L-v;z!==L&&d[z]===0;)z++;for(var I=new Uint8Array(S+(L-z)),O=S;z!==L;)I[O++]=d[z++];return I}}}function w(h){var g=p(h);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:w}}var Ur=Ir,Tr=Ur;const He=t=>{if(t instanceof Uint8Array&&t.constructor.name===\"Uint8Array\")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error(\"Unknown type, must be binary type\")},Fr=t=>new TextEncoder().encode(t),Nr=t=>new TextDecoder().decode(t);class Lr{constructor(e,n,r){this.name=e,this.prefix=n,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class Or{constructor(e,n,r){if(this.name=e,this.prefix=n,n.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=n.codePointAt(0),this.baseDecode=r}decode(e){if(typeof e==\"string\"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(\"Can only multibase decode strings\")}or(e){return ze(this,e)}}class Hr{constructor(e){this.decoders=e}or(e){return ze(this,e)}decode(e){const n=e[0],r=this.decoders[n];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ze=(t,e)=>new Hr({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class zr{constructor(e,n,r,o){this.name=e,this.prefix=n,this.baseEncode=r,this.baseDecode=o,this.encoder=new Lr(e,n,r),this.decoder=new Or(e,n,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Bt=({name:t,prefix:e,encode:n,decode:r})=>new zr(t,e,n,r),ht=({prefix:t,name:e,alphabet:n})=>{const{encode:r,decode:o}=Tr(n,e);return Bt({prefix:t,name:e,encode:r,decode:s=>He(o(s))})},Mr=(t,e,n,r)=>{const o={};for(let c=0;c=8&&(u-=8,a[D++]=255&i>>u)}if(u>=n||255&i<<8-u)throw new SyntaxError(\"Unexpected end of data\");return a},qr=(t,e,n)=>{const r=e[e.length-1]===\"=\",o=(1<n;)a-=n,s+=e[o&u>>a];if(a&&(s+=e[o&u<Bt({prefix:e,name:t,encode(o){return qr(o,r,n)},decode(o){return Mr(o,r,n,t)}}),$r=Bt({prefix:\"\\0\",name:\"identity\",encode:t=>Nr(t),decode:t=>Fr(t)});var kr=Object.freeze({__proto__:null,identity:$r});const Rr=k({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var jr=Object.freeze({__proto__:null,base2:Rr});const Zr=k({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var Gr=Object.freeze({__proto__:null,base8:Zr});const Vr=ht({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var Yr=Object.freeze({__proto__:null,base10:Vr});const Jr=k({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Kr=k({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Wr=Object.freeze({__proto__:null,base16:Jr,base16upper:Kr});const Xr=k({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Pr=k({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Qr=k({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),to=k({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),eo=k({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),no=k({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),ro=k({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),oo=k({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),so=k({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var io=Object.freeze({__proto__:null,base32:Xr,base32upper:Pr,base32pad:Qr,base32padupper:to,base32hex:eo,base32hexupper:no,base32hexpad:ro,base32hexpadupper:oo,base32z:so});const uo=ht({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),co=ht({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var ao=Object.freeze({__proto__:null,base36:uo,base36upper:co});const fo=ht({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Do=ht({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var ho=Object.freeze({__proto__:null,base58btc:fo,base58flickr:Do});const lo=k({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),bo=k({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),po=k({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),wo=k({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var Eo=Object.freeze({__proto__:null,base64:lo,base64pad:bo,base64url:po,base64urlpad:wo});const Me=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),go=Me.reduce((t,e,n)=>(t[n]=e,t),[]),yo=Me.reduce((t,e,n)=>(t[e.codePointAt(0)]=n,t),[]);function xo(t){return t.reduce((e,n)=>(e+=go[n],e),\"\")}function Bo(t){const e=[];for(const n of t){const r=yo[n.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${n}`);e.push(r)}return new Uint8Array(e)}const Co=Bt({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:xo,decode:Bo});var Ao=Object.freeze({__proto__:null,base256emoji:Co}),mo=$e,qe=128,_o=127,So=~_o,vo=Math.pow(2,31);function $e(t,e,n){e=e||[],n=n||0;for(var r=n;t>=vo;)e[n++]=t&255|qe,t/=128;for(;t&So;)e[n++]=t&255|qe,t>>>=7;return e[n]=t|0,$e.bytes=n-r+1,e}var Io=Pt,Uo=128,ke=127;function Pt(t,r){var n=0,r=r||0,o=0,s=r,a,u=t.length;do{if(s>=u)throw Pt.bytes=0,new RangeError(\"Could not decode varint\");a=t[s++],n+=o<28?(a&ke)<=Uo);return Pt.bytes=s-r,n}var To=Math.pow(2,7),Fo=Math.pow(2,14),No=Math.pow(2,21),Lo=Math.pow(2,28),Oo=Math.pow(2,35),Ho=Math.pow(2,42),zo=Math.pow(2,49),Mo=Math.pow(2,56),qo=Math.pow(2,63),$o=function(t){return t(Re.encode(t,e,n),e),Ze=t=>Re.encodingLength(t),Qt=(t,e)=>{const n=e.byteLength,r=Ze(t),o=r+Ze(n),s=new Uint8Array(o+n);return je(t,s,0),je(n,s,r),s.set(e,o),new Ro(t,n,e,s)};class Ro{constructor(e,n,r,o){this.code=e,this.size=n,this.digest=r,this.bytes=o}}const Ge=({name:t,code:e,encode:n})=>new jo(t,e,n);class jo{constructor(e,n,r){this.name=e,this.code=n,this.encode=r}digest(e){if(e instanceof Uint8Array){const n=this.encode(e);return n instanceof Uint8Array?Qt(this.code,n):n.then(r=>Qt(this.code,r))}else throw Error(\"Unknown type, must be binary type\")}}const Ve=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Zo=Ge({name:\"sha2-256\",code:18,encode:Ve(\"SHA-256\")}),Go=Ge({name:\"sha2-512\",code:19,encode:Ve(\"SHA-512\")});var Vo=Object.freeze({__proto__:null,sha256:Zo,sha512:Go});const Ye=0,Yo=\"identity\",Je=He,Jo=t=>Qt(Ye,Je(t)),Ko={code:Ye,name:Yo,encode:Je,digest:Jo};var Wo=Object.freeze({__proto__:null,identity:Ko});new TextEncoder,new TextDecoder;const Ke={...kr,...jr,...Gr,...Yr,...Wr,...io,...ao,...ho,...Eo,...Ao};({...Vo,...Wo});function We(t,e,n,r){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:n},decoder:{decode:r}}}const Xe=We(\"utf8\",\"u\",t=>\"u\"+new TextDecoder(\"utf8\").decode(t),t=>new TextEncoder().encode(t.substring(1))),te=We(\"ascii\",\"a\",t=>{let e=\"a\";for(let n=0;n{t=t.substring(1);const e=Le(t.length);for(let n=0;n acc + curr.length, 0);\n }\n const output = allocUnsafe(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return output;\n}","function base(ALPHABET, name) {\n if (ALPHABET.length >= 255) {\n throw new TypeError('Alphabet too long');\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + ' is ambiguous');\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode(source) {\n if (source instanceof Uint8Array);\n else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError('Expected Uint8Array');\n }\n if (source.length === 0) {\n return '';\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i = 0;\n for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== 'string') {\n throw new TypeError('Expected String');\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n if (source[psz] === ' ') {\n return;\n }\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i = 0;\n for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n psz++;\n }\n if (source[psz] === ' ') {\n return;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j = zeroes;\n while (it4 !== size) {\n vch[j++] = b256[it4++];\n }\n return vch;\n }\n function decode(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error(`Non-${ name } character`);\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n };\n}\nvar src = base;\nvar _brrp__multiformats_scope_baseX = src;\nexport default _brrp__multiformats_scope_baseX;","const empty = new Uint8Array(0);\nconst toHex = d => d.reduce((hex, byte) => hex + byte.toString(16).padStart(2, '0'), '');\nconst fromHex = hex => {\n const hexes = hex.match(/../g);\n return hexes ? new Uint8Array(hexes.map(b => parseInt(b, 16))) : empty;\n};\nconst equals = (aa, bb) => {\n if (aa === bb)\n return true;\n if (aa.byteLength !== bb.byteLength) {\n return false;\n }\n for (let ii = 0; ii < aa.byteLength; ii++) {\n if (aa[ii] !== bb[ii]) {\n return false;\n }\n }\n return true;\n};\nconst coerce = o => {\n if (o instanceof Uint8Array && o.constructor.name === 'Uint8Array')\n return o;\n if (o instanceof ArrayBuffer)\n return new Uint8Array(o);\n if (ArrayBuffer.isView(o)) {\n return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);\n }\n throw new Error('Unknown type, must be binary type');\n};\nconst isBinary = o => o instanceof ArrayBuffer || ArrayBuffer.isView(o);\nconst fromString = str => new TextEncoder().encode(str);\nconst toString = b => new TextDecoder().decode(b);\nexport {\n equals,\n coerce,\n isBinary,\n fromHex,\n toHex,\n fromString,\n toString,\n empty\n};","import basex from '../../vendor/base-x.js';\nimport { coerce } from '../bytes.js';\nclass Encoder {\n constructor(name, prefix, baseEncode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n }\n encode(bytes) {\n if (bytes instanceof Uint8Array) {\n return `${ this.prefix }${ this.baseEncode(bytes) }`;\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}\nclass Decoder {\n constructor(name, prefix, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n if (prefix.codePointAt(0) === undefined) {\n throw new Error('Invalid prefix character');\n }\n this.prefixCodePoint = prefix.codePointAt(0);\n this.baseDecode = baseDecode;\n }\n decode(text) {\n if (typeof text === 'string') {\n if (text.codePointAt(0) !== this.prefixCodePoint) {\n throw Error(`Unable to decode multibase string ${ JSON.stringify(text) }, ${ this.name } decoder only supports inputs prefixed with ${ this.prefix }`);\n }\n return this.baseDecode(text.slice(this.prefix.length));\n } else {\n throw Error('Can only multibase decode strings');\n }\n }\n or(decoder) {\n return or(this, decoder);\n }\n}\nclass ComposedDecoder {\n constructor(decoders) {\n this.decoders = decoders;\n }\n or(decoder) {\n return or(this, decoder);\n }\n decode(input) {\n const prefix = input[0];\n const decoder = this.decoders[prefix];\n if (decoder) {\n return decoder.decode(input);\n } else {\n throw RangeError(`Unable to decode multibase string ${ JSON.stringify(input) }, only inputs prefixed with ${ Object.keys(this.decoders) } are supported`);\n }\n }\n}\nexport const or = (left, right) => new ComposedDecoder({\n ...left.decoders || { [left.prefix]: left },\n ...right.decoders || { [right.prefix]: right }\n});\nexport class Codec {\n constructor(name, prefix, baseEncode, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n this.baseDecode = baseDecode;\n this.encoder = new Encoder(name, prefix, baseEncode);\n this.decoder = new Decoder(name, prefix, baseDecode);\n }\n encode(input) {\n return this.encoder.encode(input);\n }\n decode(input) {\n return this.decoder.decode(input);\n }\n}\nexport const from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);\nexport const baseX = ({prefix, name, alphabet}) => {\n const {encode, decode} = basex(alphabet, name);\n return from({\n prefix,\n name,\n encode,\n decode: text => coerce(decode(text))\n });\n};\nconst decode = (string, alphabet, bitsPerChar, name) => {\n const codes = {};\n for (let i = 0; i < alphabet.length; ++i) {\n codes[alphabet[i]] = i;\n }\n let end = string.length;\n while (string[end - 1] === '=') {\n --end;\n }\n const out = new Uint8Array(end * bitsPerChar / 8 | 0);\n let bits = 0;\n let buffer = 0;\n let written = 0;\n for (let i = 0; i < end; ++i) {\n const value = codes[string[i]];\n if (value === undefined) {\n throw new SyntaxError(`Non-${ name } character`);\n }\n buffer = buffer << bitsPerChar | value;\n bits += bitsPerChar;\n if (bits >= 8) {\n bits -= 8;\n out[written++] = 255 & buffer >> bits;\n }\n }\n if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {\n throw new SyntaxError('Unexpected end of data');\n }\n return out;\n};\nconst encode = (data, alphabet, bitsPerChar) => {\n const pad = alphabet[alphabet.length - 1] === '=';\n const mask = (1 << bitsPerChar) - 1;\n let out = '';\n let bits = 0;\n let buffer = 0;\n for (let i = 0; i < data.length; ++i) {\n buffer = buffer << 8 | data[i];\n bits += 8;\n while (bits > bitsPerChar) {\n bits -= bitsPerChar;\n out += alphabet[mask & buffer >> bits];\n }\n }\n if (bits) {\n out += alphabet[mask & buffer << bitsPerChar - bits];\n }\n if (pad) {\n while (out.length * bitsPerChar & 7) {\n out += '=';\n }\n }\n return out;\n};\nexport const rfc4648 = ({name, prefix, bitsPerChar, alphabet}) => {\n return from({\n prefix,\n name,\n encode(input) {\n return encode(input, alphabet, bitsPerChar);\n },\n decode(input) {\n return decode(input, alphabet, bitsPerChar, name);\n }\n });\n};","import { from } from './base.js';\nimport {\n fromString,\n toString\n} from '../bytes.js';\nexport const identity = from({\n prefix: '\\0',\n name: 'identity',\n encode: buf => toString(buf),\n decode: str => fromString(str)\n});","import { rfc4648 } from './base.js';\nexport const base2 = rfc4648({\n prefix: '0',\n name: 'base2',\n alphabet: '01',\n bitsPerChar: 1\n});","import { rfc4648 } from './base.js';\nexport const base8 = rfc4648({\n prefix: '7',\n name: 'base8',\n alphabet: '01234567',\n bitsPerChar: 3\n});","import { baseX } from './base.js';\nexport const base10 = baseX({\n prefix: '9',\n name: 'base10',\n alphabet: '0123456789'\n});","import { rfc4648 } from './base.js';\nexport const base16 = rfc4648({\n prefix: 'f',\n name: 'base16',\n alphabet: '0123456789abcdef',\n bitsPerChar: 4\n});\nexport const base16upper = rfc4648({\n prefix: 'F',\n name: 'base16upper',\n alphabet: '0123456789ABCDEF',\n bitsPerChar: 4\n});","import { rfc4648 } from './base.js';\nexport const base32 = rfc4648({\n prefix: 'b',\n name: 'base32',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567',\n bitsPerChar: 5\n});\nexport const base32upper = rfc4648({\n prefix: 'B',\n name: 'base32upper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',\n bitsPerChar: 5\n});\nexport const base32pad = rfc4648({\n prefix: 'c',\n name: 'base32pad',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',\n bitsPerChar: 5\n});\nexport const base32padupper = rfc4648({\n prefix: 'C',\n name: 'base32padupper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',\n bitsPerChar: 5\n});\nexport const base32hex = rfc4648({\n prefix: 'v',\n name: 'base32hex',\n alphabet: '0123456789abcdefghijklmnopqrstuv',\n bitsPerChar: 5\n});\nexport const base32hexupper = rfc4648({\n prefix: 'V',\n name: 'base32hexupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',\n bitsPerChar: 5\n});\nexport const base32hexpad = rfc4648({\n prefix: 't',\n name: 'base32hexpad',\n alphabet: '0123456789abcdefghijklmnopqrstuv=',\n bitsPerChar: 5\n});\nexport const base32hexpadupper = rfc4648({\n prefix: 'T',\n name: 'base32hexpadupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',\n bitsPerChar: 5\n});\nexport const base32z = rfc4648({\n prefix: 'h',\n name: 'base32z',\n alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',\n bitsPerChar: 5\n});","import { baseX } from './base.js';\nexport const base36 = baseX({\n prefix: 'k',\n name: 'base36',\n alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'\n});\nexport const base36upper = baseX({\n prefix: 'K',\n name: 'base36upper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n});","import { baseX } from './base.js';\nexport const base58btc = baseX({\n name: 'base58btc',\n prefix: 'z',\n alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n});\nexport const base58flickr = baseX({\n name: 'base58flickr',\n prefix: 'Z',\n alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'\n});","import { rfc4648 } from './base.js';\nexport const base64 = rfc4648({\n prefix: 'm',\n name: 'base64',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n bitsPerChar: 6\n});\nexport const base64pad = rfc4648({\n prefix: 'M',\n name: 'base64pad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n bitsPerChar: 6\n});\nexport const base64url = rfc4648({\n prefix: 'u',\n name: 'base64url',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n bitsPerChar: 6\n});\nexport const base64urlpad = rfc4648({\n prefix: 'U',\n name: 'base64urlpad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',\n bitsPerChar: 6\n});","import { from } from './base.js';\nconst alphabet = Array.from('\\uD83D\\uDE80\\uD83E\\uDE90\\u2604\\uD83D\\uDEF0\\uD83C\\uDF0C\\uD83C\\uDF11\\uD83C\\uDF12\\uD83C\\uDF13\\uD83C\\uDF14\\uD83C\\uDF15\\uD83C\\uDF16\\uD83C\\uDF17\\uD83C\\uDF18\\uD83C\\uDF0D\\uD83C\\uDF0F\\uD83C\\uDF0E\\uD83D\\uDC09\\u2600\\uD83D\\uDCBB\\uD83D\\uDDA5\\uD83D\\uDCBE\\uD83D\\uDCBF\\uD83D\\uDE02\\u2764\\uD83D\\uDE0D\\uD83E\\uDD23\\uD83D\\uDE0A\\uD83D\\uDE4F\\uD83D\\uDC95\\uD83D\\uDE2D\\uD83D\\uDE18\\uD83D\\uDC4D\\uD83D\\uDE05\\uD83D\\uDC4F\\uD83D\\uDE01\\uD83D\\uDD25\\uD83E\\uDD70\\uD83D\\uDC94\\uD83D\\uDC96\\uD83D\\uDC99\\uD83D\\uDE22\\uD83E\\uDD14\\uD83D\\uDE06\\uD83D\\uDE44\\uD83D\\uDCAA\\uD83D\\uDE09\\u263A\\uD83D\\uDC4C\\uD83E\\uDD17\\uD83D\\uDC9C\\uD83D\\uDE14\\uD83D\\uDE0E\\uD83D\\uDE07\\uD83C\\uDF39\\uD83E\\uDD26\\uD83C\\uDF89\\uD83D\\uDC9E\\u270C\\u2728\\uD83E\\uDD37\\uD83D\\uDE31\\uD83D\\uDE0C\\uD83C\\uDF38\\uD83D\\uDE4C\\uD83D\\uDE0B\\uD83D\\uDC97\\uD83D\\uDC9A\\uD83D\\uDE0F\\uD83D\\uDC9B\\uD83D\\uDE42\\uD83D\\uDC93\\uD83E\\uDD29\\uD83D\\uDE04\\uD83D\\uDE00\\uD83D\\uDDA4\\uD83D\\uDE03\\uD83D\\uDCAF\\uD83D\\uDE48\\uD83D\\uDC47\\uD83C\\uDFB6\\uD83D\\uDE12\\uD83E\\uDD2D\\u2763\\uD83D\\uDE1C\\uD83D\\uDC8B\\uD83D\\uDC40\\uD83D\\uDE2A\\uD83D\\uDE11\\uD83D\\uDCA5\\uD83D\\uDE4B\\uD83D\\uDE1E\\uD83D\\uDE29\\uD83D\\uDE21\\uD83E\\uDD2A\\uD83D\\uDC4A\\uD83E\\uDD73\\uD83D\\uDE25\\uD83E\\uDD24\\uD83D\\uDC49\\uD83D\\uDC83\\uD83D\\uDE33\\u270B\\uD83D\\uDE1A\\uD83D\\uDE1D\\uD83D\\uDE34\\uD83C\\uDF1F\\uD83D\\uDE2C\\uD83D\\uDE43\\uD83C\\uDF40\\uD83C\\uDF37\\uD83D\\uDE3B\\uD83D\\uDE13\\u2B50\\u2705\\uD83E\\uDD7A\\uD83C\\uDF08\\uD83D\\uDE08\\uD83E\\uDD18\\uD83D\\uDCA6\\u2714\\uD83D\\uDE23\\uD83C\\uDFC3\\uD83D\\uDC90\\u2639\\uD83C\\uDF8A\\uD83D\\uDC98\\uD83D\\uDE20\\u261D\\uD83D\\uDE15\\uD83C\\uDF3A\\uD83C\\uDF82\\uD83C\\uDF3B\\uD83D\\uDE10\\uD83D\\uDD95\\uD83D\\uDC9D\\uD83D\\uDE4A\\uD83D\\uDE39\\uD83D\\uDDE3\\uD83D\\uDCAB\\uD83D\\uDC80\\uD83D\\uDC51\\uD83C\\uDFB5\\uD83E\\uDD1E\\uD83D\\uDE1B\\uD83D\\uDD34\\uD83D\\uDE24\\uD83C\\uDF3C\\uD83D\\uDE2B\\u26BD\\uD83E\\uDD19\\u2615\\uD83C\\uDFC6\\uD83E\\uDD2B\\uD83D\\uDC48\\uD83D\\uDE2E\\uD83D\\uDE46\\uD83C\\uDF7B\\uD83C\\uDF43\\uD83D\\uDC36\\uD83D\\uDC81\\uD83D\\uDE32\\uD83C\\uDF3F\\uD83E\\uDDE1\\uD83C\\uDF81\\u26A1\\uD83C\\uDF1E\\uD83C\\uDF88\\u274C\\u270A\\uD83D\\uDC4B\\uD83D\\uDE30\\uD83E\\uDD28\\uD83D\\uDE36\\uD83E\\uDD1D\\uD83D\\uDEB6\\uD83D\\uDCB0\\uD83C\\uDF53\\uD83D\\uDCA2\\uD83E\\uDD1F\\uD83D\\uDE41\\uD83D\\uDEA8\\uD83D\\uDCA8\\uD83E\\uDD2C\\u2708\\uD83C\\uDF80\\uD83C\\uDF7A\\uD83E\\uDD13\\uD83D\\uDE19\\uD83D\\uDC9F\\uD83C\\uDF31\\uD83D\\uDE16\\uD83D\\uDC76\\uD83E\\uDD74\\u25B6\\u27A1\\u2753\\uD83D\\uDC8E\\uD83D\\uDCB8\\u2B07\\uD83D\\uDE28\\uD83C\\uDF1A\\uD83E\\uDD8B\\uD83D\\uDE37\\uD83D\\uDD7A\\u26A0\\uD83D\\uDE45\\uD83D\\uDE1F\\uD83D\\uDE35\\uD83D\\uDC4E\\uD83E\\uDD32\\uD83E\\uDD20\\uD83E\\uDD27\\uD83D\\uDCCC\\uD83D\\uDD35\\uD83D\\uDC85\\uD83E\\uDDD0\\uD83D\\uDC3E\\uD83C\\uDF52\\uD83D\\uDE17\\uD83E\\uDD11\\uD83C\\uDF0A\\uD83E\\uDD2F\\uD83D\\uDC37\\u260E\\uD83D\\uDCA7\\uD83D\\uDE2F\\uD83D\\uDC86\\uD83D\\uDC46\\uD83C\\uDFA4\\uD83D\\uDE47\\uD83C\\uDF51\\u2744\\uD83C\\uDF34\\uD83D\\uDCA3\\uD83D\\uDC38\\uD83D\\uDC8C\\uD83D\\uDCCD\\uD83E\\uDD40\\uD83E\\uDD22\\uD83D\\uDC45\\uD83D\\uDCA1\\uD83D\\uDCA9\\uD83D\\uDC50\\uD83D\\uDCF8\\uD83D\\uDC7B\\uD83E\\uDD10\\uD83E\\uDD2E\\uD83C\\uDFBC\\uD83E\\uDD75\\uD83D\\uDEA9\\uD83C\\uDF4E\\uD83C\\uDF4A\\uD83D\\uDC7C\\uD83D\\uDC8D\\uD83D\\uDCE3\\uD83E\\uDD42');\nconst alphabetBytesToChars = alphabet.reduce((p, c, i) => {\n p[i] = c;\n return p;\n}, []);\nconst alphabetCharsToBytes = alphabet.reduce((p, c, i) => {\n p[c.codePointAt(0)] = i;\n return p;\n}, []);\nfunction encode(data) {\n return data.reduce((p, c) => {\n p += alphabetBytesToChars[c];\n return p;\n }, '');\n}\nfunction decode(str) {\n const byts = [];\n for (const char of str) {\n const byt = alphabetCharsToBytes[char.codePointAt(0)];\n if (byt === undefined) {\n throw new Error(`Non-base256emoji character: ${ char }`);\n }\n byts.push(byt);\n }\n return new Uint8Array(byts);\n}\nexport const base256emoji = from({\n prefix: '\\uD83D\\uDE80',\n name: 'base256emoji',\n encode,\n decode\n});","const textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nexport const name = 'json';\nexport const code = 512;\nexport const encode = node => textEncoder.encode(JSON.stringify(node));\nexport const decode = data => JSON.parse(textDecoder.decode(data));","import * as identityBase from './bases/identity.js';\nimport * as base2 from './bases/base2.js';\nimport * as base8 from './bases/base8.js';\nimport * as base10 from './bases/base10.js';\nimport * as base16 from './bases/base16.js';\nimport * as base32 from './bases/base32.js';\nimport * as base36 from './bases/base36.js';\nimport * as base58 from './bases/base58.js';\nimport * as base64 from './bases/base64.js';\nimport * as base256emoji from './bases/base256emoji.js';\nimport * as sha2 from './hashes/sha2.js';\nimport * as identity from './hashes/identity.js';\nimport * as raw from './codecs/raw.js';\nimport * as json from './codecs/json.js';\nimport {\n CID,\n hasher,\n digest,\n varint,\n bytes\n} from './index.js';\nconst bases = {\n ...identityBase,\n ...base2,\n ...base8,\n ...base10,\n ...base16,\n ...base32,\n ...base36,\n ...base58,\n ...base64,\n ...base256emoji\n};\nconst hashes = {\n ...sha2,\n ...identity\n};\nconst codecs = {\n raw,\n json\n};\nexport {\n CID,\n hasher,\n digest,\n varint,\n bytes,\n hashes,\n bases,\n codecs\n};","import { bases } from 'multiformats/basics';\nimport { allocUnsafe } from '../alloc.js';\nfunction createCodec(name, prefix, encode, decode) {\n return {\n name,\n prefix,\n encoder: {\n name,\n prefix,\n encode\n },\n decoder: { decode }\n };\n}\nconst string = createCodec('utf8', 'u', buf => {\n const decoder = new TextDecoder('utf8');\n return 'u' + decoder.decode(buf);\n}, str => {\n const encoder = new TextEncoder();\n return encoder.encode(str.substring(1));\n});\nconst ascii = createCodec('ascii', 'a', buf => {\n let string = 'a';\n for (let i = 0; i < buf.length; i++) {\n string += String.fromCharCode(buf[i]);\n }\n return string;\n}, str => {\n str = str.substring(1);\n const buf = allocUnsafe(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n});\nconst BASES = {\n utf8: string,\n 'utf-8': string,\n hex: bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...bases\n};\nexport default BASES;","import bases from './util/bases.js';\nexport function fromString(string, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(string, 'utf8');\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}","import bases from './util/bases.js';\nexport function toString(array, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString('utf8');\n }\n return base.encoder.encode(array).substring(1);\n}","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n var i;\n for (i = 0; i < naf.length; i += 1) {\n naf[i] = 0;\n }\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature, options) {\n return this.ec.verify(msg, signature, this, undefined, options);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n if(buf[p.place] === 0x00) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly, bitLength) {\n var byteLength;\n if (BN.isBN(msg) || typeof msg === 'number') {\n msg = new BN(msg, 16);\n byteLength = msg.byteLength();\n } else if (typeof msg === 'object') {\n // BN assumes an array-like input and asserts length\n byteLength = msg.length;\n msg = new BN(msg, 16);\n } else {\n // BN converts the value to string\n var str = msg.toString();\n // HEX encoding\n byteLength = (str.length + 1) >>> 1;\n msg = new BN(str, 16);\n }\n // Allow overriding\n if (typeof bitLength !== 'number') {\n bitLength = byteLength * 8;\n }\n var delta = bitLength - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n if (typeof msg !== 'string' && typeof msg !== 'number' && !BN.isBN(msg)) {\n assert(typeof msg === 'object' && msg && typeof msg.length === 'number',\n 'Expected message to be an array-like, a hex string, or a BN instance');\n assert((msg.length >>> 0) === msg.length); // non-negative 32-bit integer\n for (var i = 0; i < msg.length; i++) assert((msg[i] & 255) === msg[i]);\n }\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(msg, false, options.msgBitLength);\n\n // Would fail further checks, but let's make the error message clear\n assert(!msg.isNeg(), 'Can not sign a negative message');\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Recheck nonce to be bijective to msg\n assert((new BN(nonce)).eq(msg), 'Can not sign message');\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc, options) {\n if (!options)\n options = {};\n\n msg = this._truncateToN(msg, false, options.msgBitLength);\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n assert(sig.length === eddsa.encodingLength * 2, 'Signature has invalid size');\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n if (sig.S().gte(sig.eddsa.curve.n) || sig.S().isNeg()) {\n return false;\n }\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","function e(s,r,i=\"string\"){if(!s[r]||typeof s[r]!==i)throw new Error(`Missing or invalid \"${r}\" param`)}function l(s,r){let i=!0;return r.forEach(t=>{t in s||(i=!1)}),i}function f(s,r){return Array.isArray(s)?s.length===r:Object.keys(s).length===r}function w(s,r){return Array.isArray(s)?s.length>=r:Object.keys(s).length>=r}function u(s,r,i){return(i.length?w(s,r.length):f(s,r.length))?l(s,r):!1}function n(s,r,i=\"_\"){const t=s.split(i);return t[t.length-1].trim().toLowerCase()===r.trim().toLowerCase()}function R(s){return b(s.method)&&a(s.params)}function b(s){return n(s,\"subscribe\")}function a(s){return u(s,[\"topic\"],[])}function P(s){return c(s.method)&&h(s.params)}function c(s){return n(s,\"publish\")}function h(s){return u(s,[\"message\",\"topic\",\"ttl\"],[\"prompt\",\"tag\"])}function _(s){return o(s.method)&&p(s.params)}function o(s){return n(s,\"unsubscribe\")}function p(s){return u(s,[\"id\",\"topic\"],[])}function S(s){return m(s.method)&&d(s.params)}function m(s){return n(s,\"subscription\")}function d(s){return u(s,[\"id\",\"data\"],[])}function g(s){if(!b(s.method))throw new Error(\"JSON-RPC Request has invalid subscribe method\");if(!a(s.params))throw new Error(\"JSON-RPC Request has invalid subscribe params\");const r=s.params;return e(r,\"topic\"),r}function q(s){if(!c(s.method))throw new Error(\"JSON-RPC Request has invalid publish method\");if(!h(s.params))throw new Error(\"JSON-RPC Request has invalid publish params\");const r=s.params;return e(r,\"topic\"),e(r,\"message\"),e(r,\"ttl\",\"number\"),r}function E(s){if(!o(s.method))throw new Error(\"JSON-RPC Request has invalid unsubscribe method\");if(!p(s.params))throw new Error(\"JSON-RPC Request has invalid unsubscribe params\");const r=s.params;return e(r,\"id\"),r}function k(s){if(!m(s.method))throw new Error(\"JSON-RPC Request has invalid subscription method\");if(!d(s.params))throw new Error(\"JSON-RPC Request has invalid subscription params\");const r=s.params;return e(r,\"id\"),e(r,\"data\"),r}const C={waku:{publish:\"waku_publish\",batchPublish:\"waku_batchPublish\",subscribe:\"waku_subscribe\",batchSubscribe:\"waku_batchSubscribe\",subscription:\"waku_subscription\",unsubscribe:\"waku_unsubscribe\",batchUnsubscribe:\"waku_batchUnsubscribe\",batchFetchMessages:\"waku_batchFetchMessages\"},irn:{publish:\"irn_publish\",batchPublish:\"irn_batchPublish\",subscribe:\"irn_subscribe\",batchSubscribe:\"irn_batchSubscribe\",subscription:\"irn_subscription\",unsubscribe:\"irn_unsubscribe\",batchUnsubscribe:\"irn_batchUnsubscribe\",batchFetchMessages:\"irn_batchFetchMessages\"},iridium:{publish:\"iridium_publish\",batchPublish:\"iridium_batchPublish\",subscribe:\"iridium_subscribe\",batchSubscribe:\"iridium_batchSubscribe\",subscription:\"iridium_subscription\",unsubscribe:\"iridium_unsubscribe\",batchUnsubscribe:\"iridium_batchUnsubscribe\",batchFetchMessages:\"iridium_batchFetchMessages\"}};export{C as RELAY_JSONRPC,c as isPublishMethod,h as isPublishParams,P as isPublishRequest,b as isSubscribeMethod,a as isSubscribeParams,R as isSubscribeRequest,m as isSubscriptionMethod,d as isSubscriptionParams,S as isSubscriptionRequest,o as isUnsubscribeMethod,p as isUnsubscribeParams,_ as isUnsubscribeRequest,q as parsePublishRequest,g as parseSubscribeRequest,k as parseSubscriptionRequest,E as parseUnsubscribeRequest};\n//# sourceMappingURL=index.es.js.map\n","import{detect as Pr}from\"detect-browser\";import{toMiliseconds as We,FIVE_MINUTES as jt,fromMiliseconds as Br}from\"@walletconnect/time\";import{getDocument as ze,getNavigator as Ct,getLocation as kt}from\"@walletconnect/window-getters\";import{getWindowMetadata as Lr}from\"@walletconnect/window-metadata\";import{recoverAddress as jr}from\"viem\";import Cr from\"bs58\";import{decodeJWT as kr}from\"@walletconnect/relay-auth\";import{toString as K,fromString as W,concat as Je}from\"uint8arrays\";import{ec as Dr}from\"elliptic\";import{RELAY_JSONRPC as Mr}from\"@walletconnect/relay-api\";const Pe=\":\";function Ye(e){const[t,n]=e.split(Pe);return{namespace:t,reference:n}}function Dt(e){const{namespace:t,reference:n}=e;return[t,n].join(Pe)}function Xe(e){const[t,n,r]=e.split(Pe);return{namespace:t,reference:n,address:r}}function Mt(e){const{namespace:t,reference:n,address:r}=e;return[t,n,r].join(Pe)}function Ze(e,t){const n=[];return e.forEach(r=>{const o=t(r);n.includes(o)||n.push(o)}),n}function Vt(e){const{address:t}=Xe(e);return t}function Ht(e){const{namespace:t,reference:n}=Xe(e);return Dt({namespace:t,reference:n})}function Vr(e,t){const{namespace:n,reference:r}=Ye(t);return Mt({namespace:n,reference:r,address:e})}function Hr(e){return Ze(e,Vt)}function Kt(e){return Ze(e,Ht)}function Kr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...o.accounts)}),n}function Fr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...Kt(o.accounts))}),n}function qr(e,t=[]){const n=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;const o=e[r];n.push(...Be(r,o))}),n}function Be(e,t){return e.includes(\":\")?[e]:t.chains||[]}const Ft=\"ReactNative\",H={reactNative:\"react-native\",node:\"node\",browser:\"browser\",unknown:\"unknown\"},Le=\" \",Gr=\":\",qt=\"/\",Qe=2,Wr=1e3,Gt=\"js\";function et(){return typeof process<\"u\"&&typeof process.versions<\"u\"&&typeof process.versions.node<\"u\"}function ne(){return!ze()&&!!Ct()&&navigator.product===Ft}function zr(){return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"android\"}function Jr(){return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"&&(global==null?void 0:global.Platform.OS)===\"ios\"}function Ae(){return!et()&&!!Ct()&&!!ze()}function ue(){return ne()?H.reactNative:et()?H.node:Ae()?H.browser:H.unknown}function Yr(){var e;try{return ne()&&typeof global<\"u\"&&typeof(global==null?void 0:global.Application)<\"u\"?(e=global.Application)==null?void 0:e.applicationId:void 0}catch{return}}function Wt(e,t){const n=new URLSearchParams(e);for(const r of Object.keys(t).sort())if(t.hasOwnProperty(r)){const o=t[r];o!==void 0&&n.set(r,o)}return n.toString()}function Xr(){return Lr()||{name:\"\",description:\"\",url:\"\",icons:[\"\"]}}function Zr(e,t){var n;const r=ue(),o={protocol:e,version:t,env:r};return r===\"browser\"&&(o.host=((n=kt())==null?void 0:n.host)||\"unknown\"),o}function zt(){if(ue()===H.reactNative&&typeof global<\"u\"&&typeof(global==null?void 0:global.Platform)<\"u\"){const{OS:n,Version:r}=global.Platform;return[n,r].join(\"-\")}const e=Pr();if(e===null)return\"unknown\";const t=e.os?e.os.replace(\" \",\"\").toLowerCase():\"unknown\";return e.type===\"browser\"?[t,e.name,e.version].join(\"-\"):[t,e.version].join(\"-\")}function Jt(){var e;const t=ue();return t===H.browser?[t,((e=kt())==null?void 0:e.host)||\"unknown\"].join(\":\"):t}function Yt(e,t,n){const r=zt(),o=Jt();return[[e,t].join(\"-\"),[Gt,n].join(\"-\"),r,o].join(\"/\")}function Qr({protocol:e,version:t,relayUrl:n,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i,bundleId:c,packageName:u}){const a=n.split(\"?\"),l=Yt(e,t,r),f={auth:o,ua:l,projectId:s,useOnCloseEvent:i||void 0,packageName:u||void 0,bundleId:c||void 0},d=Wt(a[1]||\"\",f);return a[0]+\"?\"+d}function eo(e){let t=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const n=typeof t<\"u\"?e.split(\"://\")[1]:e;return t=t===\"wss\"?\"https\":\"http\",[t,n].join(\"://\")}function to(e,t,n){if(!e[t]||typeof e[t]!==n)throw new Error(`Missing or invalid \"${t}\" param`)}function Xt(e,t=Qe){return Zt(e.split(qt),t)}function no(e){return Xt(e).join(Le)}function re(e,t){return e.filter(n=>t.includes(n)).length===e.length}function Zt(e,t=Qe){return e.slice(Math.max(e.length-t,0))}function ro(e){return Object.fromEntries(e.entries())}function oo(e){return new Map(Object.entries(e))}function so(e,t){const n={};return Object.keys(e).forEach(r=>{n[r]=t(e[r])}),n}const io=e=>e;function Qt(e){return e.trim().replace(/^\\w/,t=>t.toUpperCase())}function co(e){return e.split(Le).map(t=>Qt(t)).join(Le)}function ao(e=jt,t){const n=We(e||jt);let r,o,s,i;return{resolve:c=>{s&&r&&(clearTimeout(s),r(c),i=Promise.resolve(c))},reject:c=>{s&&o&&(clearTimeout(s),o(c))},done:()=>new Promise((c,u)=>{if(i)return c(i);s=setTimeout(()=>{const a=new Error(t);i=Promise.reject(a),u(a)},n),r=c,o=u})}}function uo(e,t,n){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(n)),t);try{const i=await e;r(i)}catch(i){o(i)}clearTimeout(s)})}function tt(e,t){if(typeof t==\"string\"&&t.startsWith(`${e}:`))return t;if(e.toLowerCase()===\"topic\"){if(typeof t!=\"string\")throw new Error('Value must be \"string\" for expirer target type: topic');return`topic:${t}`}else if(e.toLowerCase()===\"id\"){if(typeof t!=\"number\")throw new Error('Value must be \"number\" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${e}`)}function fo(e){return tt(\"topic\",e)}function lo(e){return tt(\"id\",e)}function ho(e){const[t,n]=e.split(\":\"),r={id:void 0,topic:void 0};if(t===\"topic\"&&typeof n==\"string\")r.topic=n;else if(t===\"id\"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${n}`);return r}function po(e,t){return Br((t||Date.now())+We(e))}function go(e){return Date.now()>=We(e)}function yo(e,t){return`${e}${t?`:${t}`:\"\"}`}function Q(e=[],t=[]){return[...new Set([...e,...t])]}async function mo({id:e,topic:t,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n==\"string\"?JSON.parse(n):n,s=o?.href;if(typeof s!=\"string\")return;const i=en(s,e,t),c=ue();if(c===H.browser){if(!((r=ze())!=null&&r.hasFocus())){console.warn(\"Document does not have focus, skipping deeplink.\");return}tn(i)}else c===H.reactNative&&typeof(global==null?void 0:global.Linking)<\"u\"&&await global.Linking.openURL(i)}catch(o){console.error(o)}}function en(e,t,n){const r=`requestId=${t}&sessionTopic=${n}`;e.endsWith(\"/\")&&(e=e.slice(0,-1));let o=`${e}`;if(e.startsWith(\"https://t.me\")){const s=e.includes(\"?\")?\"&startapp=\":\"?startapp=\";o=`${o}${s}${on(r,!0)}`}else o=`${o}/wc?${r}`;return o}function tn(e){let t=\"_self\";rn()?t=\"_top\":(nn()||e.startsWith(\"https://\")||e.startsWith(\"http://\"))&&(t=\"_blank\"),window.open(e,t,\"noreferrer noopener\")}async function bo(e,t){let n=\"\";try{if(Ae()&&(n=localStorage.getItem(t),n))return n;n=await e.getItem(t)}catch(r){console.error(r)}return n}function nt(e,t){return e.filter(n=>t.includes(n))}function wo(e,t){if(!e.includes(t))return null;const n=e.split(/([&,?,=])/),r=n.indexOf(t);return n[r+2]}function Eo(){return typeof crypto<\"u\"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/gu,e=>{const t=Math.random()*16|0;return(e===\"x\"?t:t&3|8).toString(16)})}function vo(){return typeof process<\"u\"&&process.env.IS_VITEST===\"true\"}function nn(){return typeof window<\"u\"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function rn(){try{return window.self!==window.top}catch{return!1}}function on(e,t=!1){const n=Buffer.from(e).toString(\"base64\");return t?n.replace(/[=]/g,\"\"):n}function rt(e){return Buffer.from(e,\"base64\").toString(\"utf-8\")}function xo(e){return new Promise(t=>setTimeout(t,e))}function Ne(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function Io(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function je(e,...t){if(!Io(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function ot(e){if(typeof e!=\"function\"||typeof e.create!=\"function\")throw new Error(\"Hash should be wrapped by utils.wrapConstructor\");Ne(e.outputLen),Ne(e.blockLen)}function me(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function sn(e,t){je(e);const n=t.outputLen;if(e.length>cn&Ce)}:{h:Number(e>>cn&Ce)|0,l:Number(e&Ce)|0}}function Ao(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let o=0;oe<>>32-n,So=(e,t,n)=>t<>>32-n,Uo=(e,t,n)=>t<>>64-n,_o=(e,t,n)=>e<>>64-n,be=typeof globalThis==\"object\"&&\"crypto\"in globalThis?globalThis.crypto:void 0;function To(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function st(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function J(e,t){return e<<32-t|e>>>t}const an=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function $o(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function un(e){for(let t=0;te().update(we(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Se(e=32){if(be&&typeof be.getRandomValues==\"function\")return be.getRandomValues(new Uint8Array(e));if(be&&typeof be.randomBytes==\"function\")return be.randomBytes(e);throw new Error(\"crypto.getRandomValues must be defined\")}const ln=[],dn=[],hn=[],Po=BigInt(0),Ue=BigInt(1),Bo=BigInt(2),Lo=BigInt(7),jo=BigInt(256),Co=BigInt(113);for(let e=0,t=Ue,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ln.push(2*(5*r+n)),dn.push((e+1)*(e+2)/2%64);let o=Po;for(let s=0;s<7;s++)t=(t<>Lo)*Co)%jo,t&Bo&&(o^=Ue<<(Ue<n>32?Uo(e,t,n):No(e,t,n),gn=(e,t,n)=>n>32?_o(e,t,n):So(e,t,n);function Mo(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,u=(i+2)%10,a=n[u],l=n[u+1],f=pn(a,l,1)^n[c],d=gn(a,l,1)^n[c+1];for(let g=0;g<50;g+=10)e[i+g]^=f,e[i+g+1]^=d}let o=e[2],s=e[3];for(let i=0;i<24;i++){const c=dn[i],u=pn(o,s,c),a=gn(o,s,c),l=ln[i];o=e[l],s=e[l+1],e[l]=u,e[l+1]=a}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=ko[r],e[1]^=Do[r]}n.fill(0)}class Lt extends it{constructor(t,n,r,o=!1,s=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ne(r),0>=this.blockLen||this.blockLen>=200)throw new Error(\"Sha3 supports only keccak-f1600 function\");this.state=new Uint8Array(200),this.state32=To(this.state)}keccak(){an||un(this.state32),Mo(this.state32,this.rounds),an||un(this.state32),this.posOut=0,this.pos=0}update(t){me(this);const{blockLen:n,state:r}=this;t=we(t);const o=t.length;for(let s=0;s=r&&this.keccak();const i=Math.min(r-this.posOut,s-o);t.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(t)}xof(t){return Ne(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(sn(t,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:o,rounds:s,enableXOF:i}=this;return t||(t=new Lt(n,r,o,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=o,t.enableXOF=i,t.destroyed=this.destroyed,t}}const Vo=(e,t,n)=>fn(()=>new Lt(t,e,n)),Ho=Vo(1,136,256/8),Ko=\"https://rpc.walletconnect.org/v1\";function ct(e){const t=`\u0019Ethereum Signed Message:\n${e.length}`,n=new TextEncoder().encode(t+e);return\"0x\"+Buffer.from(Ho(n)).toString(\"hex\")}async function yn(e,t,n,r,o,s){switch(n.t){case\"eip191\":return await mn(e,t,n.s);case\"eip1271\":return await bn(e,t,n.s,r,o,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}async function mn(e,t,n){return(await jr({hash:ct(t),signature:n})).toLowerCase()===e.toLowerCase()}async function bn(e,t,n,r,o,s){const i=Ye(r);if(!i.namespace||!i.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c=\"0x1626ba7e\",u=\"0000000000000000000000000000000000000000000000000000000000000040\",a=\"0000000000000000000000000000000000000000000000000000000000000041\",l=n.substring(2),f=ct(t).substring(2),d=c+f+u+a+l,g=await fetch(`${s||Ko}/?chainId=${r}&projectId=${o}`,{method:\"POST\",body:JSON.stringify({id:Fo(),jsonrpc:\"2.0\",method:\"eth_call\",params:[{to:e,data:d},\"latest\"]})}),{result:y}=await g.json();return y?y.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error(\"isValidEip1271Signature: \",c),!1}}function Fo(){return Date.now()+Math.floor(Math.random()*1e3)}function qo(e){const t=atob(e),n=new Uint8Array(t.length);for(let i=0;it in e?Go(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,at=(e,t)=>{for(var n in t||(t={}))Jo.call(t,n)&&En(e,n,t[n]);if(wn)for(var n of wn(t))Yo.call(t,n)&&En(e,n,t[n]);return e},vn=(e,t)=>Wo(e,zo(t));const Xo=\"did:pkh:\",ke=e=>e?.split(\":\"),xn=e=>{const t=e&&ke(e);if(t)return e.includes(Xo)?t[3]:t[1]},In=e=>{const t=e&&ke(e);if(t)return t[2]+\":\"+t[3]},ut=e=>{const t=e&&ke(e);if(t)return t.pop()};async function Zo(e){const{cacao:t,projectId:n}=e,{s:r,p:o}=t,s=On(o,o.iss),i=ut(o.iss);return await yn(i,s,r,In(o.iss),n)}const On=(e,t)=>{const n=`${e.domain} wants you to sign in with your Ethereum account:`,r=ut(t);if(!e.aud&&!e.uri)throw new Error(\"Either `aud` or `uri` is required to construct the message\");let o=e.statement||void 0;const s=`URI: ${e.aud||e.uri}`,i=`Version: ${e.version}`,c=`Chain ID: ${xn(t)}`,u=`Nonce: ${e.nonce}`,a=`Issued At: ${e.iat}`,l=e.exp?`Expiration Time: ${e.exp}`:void 0,f=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,g=e.resources?`Resources:${e.resources.map(h=>`\n- ${h}`).join(\"\")}`:void 0,y=Me(e.resources);if(y){const h=oe(y);o=dt(o,h)}return[n,r,\"\",o,\"\",s,i,c,u,a,l,f,d,g].filter(h=>h!=null).join(`\n`)};function Qo(e,t,n){return n.includes(\"did:pkh:\")||(n=`did:pkh:${n}`),{h:{t:\"caip122\"},p:{iss:n,domain:e.domain,aud:e.aud,version:e.version,nonce:e.nonce,iat:e.iat,statement:e.statement,requestId:e.requestId,resources:e.resources,nbf:e.nbf,exp:e.exp},s:t}}function es(e){var t;const{authPayload:n,chains:r,methods:o}=e,s=n.statement||\"\";if(!(r!=null&&r.length))return n;const i=n.chains,c=nt(i,r);if(!(c!=null&&c.length))throw new Error(\"No supported chains\");const u=An(n.resources);if(!u)return n;Y(u);const a=Nn(u,\"eip155\");let l=n?.resources||[];if(a!=null&&a.length){const f=Sn(a),d=nt(f,o);if(!(d!=null&&d.length))throw new Error(`Supported methods don't satisfy the requested: ${JSON.stringify(f)}, supported: ${JSON.stringify(o)}`);const g=ft(\"request\",d,{chains:c}),y=$n(u,\"eip155\",g);l=((t=n?.resources)==null?void 0:t.slice(0,-1))||[],l.push(De(y))}return vn(at({},n),{statement:Pn(s,Me(l)),chains:c,resources:n!=null&&n.resources||l.length>0?l:void 0})}function An(e){const t=Me(e);if(t&<(t))return oe(t)}function ts(e,t){var n;return(n=e?.att)==null?void 0:n.hasOwnProperty(t)}function Nn(e,t){var n,r;return(n=e?.att)!=null&&n[t]?Object.keys((r=e?.att)==null?void 0:r[t]):[]}function ns(e){return e?.map(t=>Object.keys(t))||[]}function Sn(e){return e?.map(t=>{var n;return(n=t.split(\"/\"))==null?void 0:n[1]})||[]}function Un(e){return Buffer.from(JSON.stringify(e)).toString(\"base64\")}function _n(e){return JSON.parse(Buffer.from(e,\"base64\").toString(\"utf-8\"))}function Y(e){if(!e)throw new Error(\"No recap provided, value is undefined\");if(!e.att)throw new Error(\"No `att` property found\");const t=Object.keys(e.att);if(!(t!=null&&t.length))throw new Error(\"No resources found in `att` property\");t.forEach(n=>{const r=e.att[n];if(Array.isArray(r))throw new Error(`Resource must be an object: ${n}`);if(typeof r!=\"object\")throw new Error(`Resource must be an object: ${n}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${n}`);Object.keys(r).forEach(o=>{const s=r[o];if(!Array.isArray(s))throw new Error(`Ability limits ${o} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${o} is empty array, must be an array with objects`);s.forEach(i=>{if(typeof i!=\"object\")throw new Error(`Ability limits (${o}) must be an array of objects, found: ${i}`)})})})}function Tn(e,t,n,r={}){return n?.sort((o,s)=>o.localeCompare(s)),{att:{[e]:ft(t,n,r)}}}function $n(e,t,n){var r;e.att[t]=at({},n);const o=(r=Object.keys(e.att))==null?void 0:r.sort((i,c)=>i.localeCompare(c)),s={att:{}};return o.reduce((i,c)=>(i.att[c]=e.att[c],i),s)}function ft(e,t,n={}){t=t?.sort((o,s)=>o.localeCompare(s));const r=t.map(o=>({[`${e}/${o}`]:[n]}));return Object.assign({},...r)}function De(e){return Y(e),`urn:recap:${Un(e).replace(/=/g,\"\")}`}function oe(e){const t=_n(e.replace(\"urn:recap:\",\"\"));return Y(t),t}function rs(e,t,n){const r=Tn(e,t,n);return De(r)}function lt(e){return e&&e.includes(\"urn:recap:\")}function os(e,t){const n=oe(e),r=oe(t),o=Rn(n,r);return De(o)}function Rn(e,t){Y(e),Y(t);const n=Object.keys(e.att).concat(Object.keys(t.att)).sort((o,s)=>o.localeCompare(s)),r={att:{}};return n.forEach(o=>{var s,i;Object.keys(((s=e.att)==null?void 0:s[o])||{}).concat(Object.keys(((i=t.att)==null?void 0:i[o])||{})).sort((c,u)=>c.localeCompare(u)).forEach(c=>{var u,a;r.att[o]=vn(at({},r.att[o]),{[c]:((u=e.att[o])==null?void 0:u[c])||((a=t.att[o])==null?void 0:a[c])})})}),r}function dt(e=\"\",t){Y(t);const n=\"I further authorize the stated URI to perform the following actions on my behalf: \";if(e.includes(n))return e;const r=[];let o=0;Object.keys(t.att).forEach(c=>{const u=Object.keys(t.att[c]).map(f=>({ability:f.split(\"/\")[0],action:f.split(\"/\")[1]}));u.sort((f,d)=>f.action.localeCompare(d.action));const a={};u.forEach(f=>{a[f.ability]||(a[f.ability]=[]),a[f.ability].push(f.action)});const l=Object.keys(a).map(f=>(o++,`(${o}) '${f}': '${a[f].join(\"', '\")}' for '${c}'.`));r.push(l.join(\", \").replace(\".,\",\".\"))});const s=r.join(\" \"),i=`${n}${s}`;return`${e?e+\" \":\"\"}${i}`}function ss(e){var t;const n=oe(e);Y(n);const r=(t=n.att)==null?void 0:t.eip155;return r?Object.keys(r).map(o=>o.split(\"/\")[1]):[]}function is(e){const t=oe(e);Y(t);const n=[];return Object.values(t.att).forEach(r=>{Object.values(r).forEach(o=>{var s;(s=o?.[0])!=null&&s.chains&&n.push(o[0].chains)})}),[...new Set(n.flat())]}function Pn(e,t){if(!t)return e;const n=oe(t);return Y(n),dt(e,n)}function Me(e){if(!e)return;const t=e?.[e.length-1];return lt(t)?t:void 0}function ht(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function Bn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function F(e,...t){if(!Bn(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function Ln(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function cs(e,t){F(e);const n=t.outputLen;if(e.lengthnew Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),as=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),us=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!us)throw new Error(\"Non little-endian hardware is not supported\");function fs(e){if(typeof e!=\"string\")throw new Error(\"string expected\");return new Uint8Array(new TextEncoder().encode(e))}function pt(e){if(typeof e==\"string\")e=fs(e);else if(Bn(e))e=gt(e);else throw new Error(\"Uint8Array expected, got \"+typeof e);return e}function ls(e,t){if(t==null||typeof t!=\"object\")throw new Error(\"options must be defined\");return Object.assign(e,t)}function ds(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r{function n(r,...o){if(F(r),e.nonceLength!==void 0){const l=o[0];if(!l)throw new Error(\"nonce / iv required\");e.varSizeNonce?F(l):F(l,e.nonceLength)}const s=e.tagLength;s&&o[1]!==void 0&&F(o[1]);const i=t(r,...o),c=(l,f)=>{if(f!==void 0){if(l!==2)throw new Error(\"cipher output not supported\");F(f)}};let u=!1;return{encrypt(l,f){if(u)throw new Error(\"cannot encrypt() twice with same key + nonce\");return u=!0,F(l),c(i.encrypt.length,f),i.encrypt(l,f)},decrypt(l,f){if(F(l),s&&l.length>o&s),c=Number(n&s),u=r?4:0,a=r?0:4;e.setUint32(t+u,i,r),e.setUint32(t+a,c,r)}function ps(e){return e.byteOffset%4===0}function gt(e){return Uint8Array.from(e)}function Ee(...e){for(let t=0;tUint8Array.from(e.split(\"\").map(t=>t.charCodeAt(0))),gs=Dn(\"expand 16-byte k\"),ys=Dn(\"expand 32-byte k\"),ms=se(gs),bs=se(ys);function x(e,t){return e<>>32-t}function yt(e){return e.byteOffset%4===0}const Ve=64,ws=16,Mn=2**32-1,Vn=new Uint32Array;function Es(e,t,n,r,o,s,i,c){const u=o.length,a=new Uint8Array(Ve),l=se(a),f=yt(o)&&yt(s),d=f?se(o):Vn,g=f?se(s):Vn;for(let y=0;y=Mn)throw new Error(\"arx: counter overflow\");const h=Math.min(Ve,u-y);if(f&&h===Ve){const m=y/4;if(y%4!==0)throw new Error(\"arx: invalid block position\");for(let L=0,b;L{F(c),F(u),F(a);const d=a.length;if(l===void 0&&(l=new Uint8Array(d)),F(l),ht(f),f<0||f>=Mn)throw new Error(\"arx: counter overflow\");if(l.lengthe[t++]&255|(e[t++]&255)<<8;class xs{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=pt(t),F(t,32);const n=M(t,0),r=M(t,2),o=M(t,4),s=M(t,6),i=M(t,8),c=M(t,10),u=M(t,12),a=M(t,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|c<<2)&8191,this.r[7]=(c>>>11|u<<5)&8065,this.r[8]=(u>>>8|a<<8)&8191,this.r[9]=a>>>5&127;for(let l=0;l<8;l++)this.pad[l]=M(t,16+2*l)}process(t,n,r=!1){const o=r?0:2048,{h:s,r:i}=this,c=i[0],u=i[1],a=i[2],l=i[3],f=i[4],d=i[5],g=i[6],y=i[7],h=i[8],m=i[9],L=M(t,n+0),b=M(t,n+2),_=M(t,n+4),O=M(t,n+6),k=M(t,n+8),E=M(t,n+10),B=M(t,n+12),j=M(t,n+14);let v=s[0]+(L&8191),I=s[1]+((L>>>13|b<<3)&8191),w=s[2]+((b>>>10|_<<6)&8191),R=s[3]+((_>>>7|O<<9)&8191),A=s[4]+((O>>>4|k<<12)&8191),T=s[5]+(k>>>1&8191),N=s[6]+((k>>>14|E<<2)&8191),S=s[7]+((E>>>11|B<<5)&8191),U=s[8]+((B>>>8|j<<8)&8191),$=s[9]+(j>>>5|o),p=0,C=p+v*c+I*(5*m)+w*(5*h)+R*(5*y)+A*(5*g);p=C>>>13,C&=8191,C+=T*(5*d)+N*(5*f)+S*(5*l)+U*(5*a)+$*(5*u),p+=C>>>13,C&=8191;let D=p+v*u+I*c+w*(5*m)+R*(5*h)+A*(5*y);p=D>>>13,D&=8191,D+=T*(5*g)+N*(5*d)+S*(5*f)+U*(5*l)+$*(5*a),p+=D>>>13,D&=8191;let P=p+v*a+I*u+w*c+R*(5*m)+A*(5*h);p=P>>>13,P&=8191,P+=T*(5*y)+N*(5*g)+S*(5*d)+U*(5*f)+$*(5*l),p+=P>>>13,P&=8191;let G=p+v*l+I*a+w*u+R*c+A*(5*m);p=G>>>13,G&=8191,G+=T*(5*h)+N*(5*y)+S*(5*g)+U*(5*d)+$*(5*f),p+=G>>>13,G&=8191;let X=p+v*f+I*l+w*a+R*u+A*c;p=X>>>13,X&=8191,X+=T*(5*m)+N*(5*h)+S*(5*y)+U*(5*g)+$*(5*d),p+=X>>>13,X&=8191;let Z=p+v*d+I*f+w*l+R*a+A*u;p=Z>>>13,Z&=8191,Z+=T*c+N*(5*m)+S*(5*h)+U*(5*y)+$*(5*g),p+=Z>>>13,Z&=8191;let he=p+v*g+I*d+w*f+R*l+A*a;p=he>>>13,he&=8191,he+=T*u+N*c+S*(5*m)+U*(5*h)+$*(5*y),p+=he>>>13,he&=8191;let pe=p+v*y+I*g+w*d+R*f+A*l;p=pe>>>13,pe&=8191,pe+=T*a+N*u+S*c+U*(5*m)+$*(5*h),p+=pe>>>13,pe&=8191;let ge=p+v*h+I*y+w*g+R*d+A*f;p=ge>>>13,ge&=8191,ge+=T*l+N*a+S*u+U*c+$*(5*m),p+=ge>>>13,ge&=8191;let ye=p+v*m+I*h+w*y+R*g+A*d;p=ye>>>13,ye&=8191,ye+=T*f+N*l+S*a+U*u+$*c,p+=ye>>>13,ye&=8191,p=(p<<2)+p|0,p=p+C|0,C=p&8191,p=p>>>13,D+=p,s[0]=C,s[1]=D,s[2]=P,s[3]=G,s[4]=X,s[5]=Z,s[6]=he,s[7]=pe,s[8]=ge,s[9]=ye}finalize(){const{h:t,pad:n}=this,r=new Uint16Array(10);let o=t[1]>>>13;t[1]&=8191;for(let c=2;c<10;c++)t[c]+=o,o=t[c]>>>13,t[c]&=8191;t[0]+=o*5,o=t[0]>>>13,t[0]&=8191,t[1]+=o,o=t[1]>>>13,t[1]&=8191,t[2]+=o,r[0]=t[0]+5,o=r[0]>>>13,r[0]&=8191;for(let c=1;c<10;c++)r[c]=t[c]+o,o=r[c]>>>13,r[c]&=8191;r[9]-=8192;let s=(o^1)-1;for(let c=0;c<10;c++)r[c]&=s;s=~s;for(let c=0;c<10;c++)t[c]=t[c]&s|r[c];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let i=t[0]+n[0];t[0]=i&65535;for(let c=1;c<8;c++)i=(t[c]+n[c]|0)+(i>>>16)|0,t[c]=i&65535;Ee(r)}update(t){Ln(this);const{buffer:n,blockLen:r}=this;t=pt(t);const o=t.length;for(let s=0;s>>0,t[s++]=r[i]>>>8;return t}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}}function Is(e){const t=(r,o)=>e(o).update(pt(r)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=r=>e(r),t}const Os=Is(e=>new xs(e));function As(e,t,n,r,o,s=20){let i=e[0],c=e[1],u=e[2],a=e[3],l=t[0],f=t[1],d=t[2],g=t[3],y=t[4],h=t[5],m=t[6],L=t[7],b=o,_=n[0],O=n[1],k=n[2],E=i,B=c,j=u,v=a,I=l,w=f,R=d,A=g,T=y,N=h,S=m,U=L,$=b,p=_,C=O,D=k;for(let G=0;G{e.update(t);const n=t.length%16;n&&e.update(Ss.subarray(n))},Us=new Uint8Array(32);function Kn(e,t,n,r,o){const s=e(t,n,Us),i=Os.create(s);o&&Hn(i,o),Hn(i,r);const c=new Uint8Array(16),u=as(c);kn(u,0,BigInt(o?o.length:0),!0),kn(u,8,BigInt(r.length),!0),i.update(c);const a=i.digest();return Ee(s,c),a}const _s=e=>(t,n,r)=>({encrypt(s,i){const c=s.length;i=Cn(c+16,i,!1),i.set(s);const u=i.subarray(0,-16);e(t,n,u,u,1);const a=Kn(e,t,n,u,r);return i.set(a,c),Ee(a),i},decrypt(s,i){i=Cn(s.length-16,i,!1);const c=s.subarray(0,-16),u=s.subarray(-16),a=Kn(e,t,n,c,r);if(!ds(u,a))throw new Error(\"invalid tag\");return i.set(s.subarray(0,-16)),e(t,n,i,i,1),Ee(a),i}}),Fn=hs({blockSize:64,nonceLength:12,tagLength:16},_s(Ns));class qn extends it{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,ot(t);const r=we(n);if(this.iHash=t.create(),typeof this.iHash.update!=\"function\")throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?t.create().update(r).digest():r);for(let i=0;inew qn(e,t).update(n).digest();mt.create=(e,t)=>new qn(e,t);function Ts(e,t,n){return ot(e),n===void 0&&(n=new Uint8Array(e.outputLen)),mt(e,we(n),we(t))}const bt=new Uint8Array([0]),Gn=new Uint8Array;function $s(e,t,n,r=32){if(ot(e),Ne(r),r>255*e.outputLen)throw new Error(\"Length should be <= 255*HashLen\");const o=Math.ceil(r/e.outputLen);n===void 0&&(n=Gn);const s=new Uint8Array(o*e.outputLen),i=mt.create(e,t),c=i._cloneInto(),u=new Uint8Array(i.outputLen);for(let a=0;a$s(e,Ts(e,t,n),r,o);function Ps(e,t,n,r){if(typeof e.setBigUint64==\"function\")return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),c=Number(n&s),u=r?4:0,a=r?0:4;e.setUint32(t+u,i,r),e.setUint32(t+a,c,r)}function Bs(e,t,n){return e&t^~e&n}function Ls(e,t,n){return e&t^e&n^t&n}class js extends it{constructor(t,n,r,o){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=st(this.buffer)}update(t){me(this);const{view:n,buffer:r,blockLen:o}=this;t=we(t);const s=t.length;for(let i=0;io-i&&(this.process(r,0),i=0);for(let f=i;fl.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let f=0;f>>3,h=J(g,17)^J(g,19)^g>>>10;ce[f]=h+ce[f-7]+y+ce[f-16]|0}let{A:r,B:o,C:s,D:i,E:c,F:u,G:a,H:l}=this;for(let f=0;f<64;f++){const d=J(c,6)^J(c,11)^J(c,25),g=l+d+Bs(c,u,a)+Cs[f]+ce[f]|0,h=(J(r,2)^J(r,13)^J(r,22))+Ls(r,o,s)|0;l=a,a=u,u=c,c=i+g|0,i=s,s=o,o=r,r=g+h|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,u=u+this.F|0,a=a+this.G|0,l=l+this.H|0,this.set(r,o,s,i,c,u,a,l)}roundClean(){ce.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const He=fn(()=>new ks);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Wn=BigInt(0);function wt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===\"Uint8Array\"}function zn(e){if(!wt(e))throw new Error(\"Uint8Array expected\")}const Ds=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function Ms(e){zn(e);let t=\"\";for(let n=0;n=ee._0&&e<=ee._9)return e-ee._0;if(e>=ee.A&&e<=ee.F)return e-(ee.A-10);if(e>=ee.a&&e<=ee.f)return e-(ee.a-10)}function Yn(e){if(typeof e!=\"string\")throw new Error(\"hex string expected, got \"+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error(\"hex string expected, got unpadded hex of length \"+t);const r=new Uint8Array(n);for(let o=0,s=0;otypeof e==\"bigint\"&&Wn<=e;function Fs(e,t,n){return Et(e)&&Et(t)&&Et(n)&&t<=e&&etypeof e==\"bigint\",function:e=>typeof e==\"function\",boolean:e=>typeof e==\"boolean\",string:e=>typeof e==\"string\",stringOrUint8Array:e=>typeof e==\"string\"||wt(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==\"function\"&&Number.isSafeInteger(e.outputLen)};function Gs(e,t,n={}){const r=(o,s,i)=>{const c=qs[s];if(typeof c!=\"function\")throw new Error(\"invalid validator function\");const u=e[o];if(!(i&&u===void 0)&&!c(u,e))throw new Error(\"param \"+String(o)+\" is invalid. Expected \"+s+\", got \"+u)};for(const[o,s]of Object.entries(t))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return e}const ve=BigInt(0),Ke=BigInt(1);function er(e,t){const n=e%t;return n>=ve?n:t+n}function Ws(e,t,n){if(tve;)t&Ke&&(r=r*e%n),e=e*e%n,t>>=Ke;return r}function z(e,t,n){let r=e;for(;t-- >ve;)r*=r,r%=n;return r}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const xe=BigInt(0),vt=BigInt(1);function zs(e){return Gs(e,{a:\"bigint\"},{montgomeryBits:\"isSafeInteger\",nByteLength:\"isSafeInteger\",adjustScalarBytes:\"function\",domain:\"function\",powPminus2:\"function\",Gu:\"bigint\"}),Object.freeze({...e})}function Js(e){const t=zs(e),{P:n}=t,r=b=>er(b,n),o=t.montgomeryBits,s=Math.ceil(o/8),i=t.nByteLength,c=t.adjustScalarBytes||(b=>b),u=t.powPminus2||(b=>Ws(b,n-BigInt(2),n));function a(b,_,O){const k=r(b*(_-O));return _=r(_-k),O=r(O+k),[_,O]}const l=(t.a-BigInt(2))/BigInt(4);function f(b,_){Qn(\"u\",b,xe,n),Qn(\"scalar\",_,xe,n);const O=_,k=b;let E=vt,B=xe,j=b,v=vt,I=xe,w;for(let A=BigInt(o-1);A>=xe;A--){const T=O>>A&vt;I^=T,w=a(I,E,j),E=w[0],j=w[1],w=a(I,B,v),B=w[0],v=w[1],I=T;const N=E+B,S=r(N*N),U=E-B,$=r(U*U),p=S-$,C=j+v,D=j-v,P=r(D*N),G=r(C*U),X=P+G,Z=P-G;j=r(X*X),v=r(k*r(Z*Z)),E=r(S*$),B=r(p*(S+r(l*p)))}w=a(I,E,j),E=w[0],j=w[1],w=a(I,B,v),B=w[0],v=w[1];const R=u(B);return r(E*R)}function d(b){return Ks(r(b),s)}function g(b){const _=Zn(\"u coordinate\",b,s);return i===32&&(_[31]&=127),Xn(_)}function y(b){const _=Zn(\"scalar\",b),O=_.length;if(O!==s&&O!==i){let k=\"\"+s+\" or \"+i;throw new Error(\"invalid scalar, expected \"+k+\" bytes, got \"+O)}return Xn(c(_))}function h(b,_){const O=g(_),k=y(b),E=f(O,k);if(E===xe)throw new Error(\"invalid private or public key received\");return d(E)}const m=d(t.Gu);function L(b){return h(b,m)}return{scalarMult:h,scalarMultBase:L,getSharedSecret:(b,_)=>h(b,_),getPublicKey:b=>L(b),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:m}}const xt=BigInt(\"57896044618658097711785492504343953926634992332820282019728792003956564819949\");BigInt(0);const Ys=BigInt(1),tr=BigInt(2),Xs=BigInt(3),Zs=BigInt(5);BigInt(8);function Qs(e){const t=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),s=xt,c=e*e%s*e%s,u=z(c,tr,s)*c%s,a=z(u,Ys,s)*e%s,l=z(a,Zs,s)*a%s,f=z(l,t,s)*l%s,d=z(f,n,s)*f%s,g=z(d,r,s)*d%s,y=z(g,o,s)*g%s,h=z(y,o,s)*g%s,m=z(h,t,s)*l%s;return{pow_p_5_8:z(m,tr,s)*e%s,b2:c}}function ei(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}const It=Js({P:xt,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=xt,{pow_p_5_8:n,b2:r}=Qs(e);return er(z(n,Xs,t)*r,t)},adjustScalarBytes:ei,randomBytes:Se}),Ot=\"base10\",V=\"base16\",At=\"base64pad\",ti=\"base64url\",Ie=\"utf8\",Nt=0,Oe=1,_e=2,ni=0,nr=1,Te=12,St=32;function ri(){const e=It.utils.randomPrivateKey(),t=It.getPublicKey(e);return{privateKey:K(e,V),publicKey:K(t,V)}}function oi(){const e=Se(St);return K(e,V)}function si(e,t){const n=It.getSharedSecret(W(e,V),W(t,V)),r=Rs(He,n,void 0,void 0,St);return K(r,V)}function ii(e){const t=He(W(e,V));return K(t,V)}function ci(e){const t=He(W(e,Ie));return K(t,V)}function Ut(e){return W(`${e}`,Ot)}function fe(e){return Number(K(e,Ot))}function ai(e){const t=Ut(typeof e.type<\"u\"?e.type:Nt);if(fe(t)===Oe&&typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");const n=typeof e.senderPublicKey<\"u\"?W(e.senderPublicKey,V):void 0,r=typeof e.iv<\"u\"?W(e.iv,V):Se(Te),o=W(e.symKey,V),s=Fn(o,r).encrypt(W(e.message,Ie));return _t({type:t,sealed:s,iv:r,senderPublicKey:n,encoding:e.encoding})}function ui(e){const t=W(e.symKey,V),{sealed:n,iv:r}=Fe(e),o=Fn(t,r).decrypt(n);if(o===null)throw new Error(\"Failed to decrypt\");return K(o,Ie)}function fi(e,t){const n=Ut(_e),r=Se(Te),o=W(e,Ie);return _t({type:n,sealed:o,iv:r,encoding:t})}function li(e,t){const{sealed:n}=Fe({encoded:e,encoding:t});return K(n,Ie)}function _t(e){const{encoding:t=At}=e;if(fe(e.type)===_e)return K(Je([e.type,e.sealed]),t);if(fe(e.type)===Oe){if(typeof e.senderPublicKey>\"u\")throw new Error(\"Missing sender public key for type 1 envelope\");return K(Je([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return K(Je([e.type,e.iv,e.sealed]),t)}function Fe(e){const{encoded:t,encoding:n=At}=e,r=W(t,n),o=r.slice(ni,nr),s=nr;if(fe(o)===Oe){const a=s+St,l=a+Te,f=r.slice(s,a),d=r.slice(a,l),g=r.slice(l);return{type:o,sealed:g,iv:d,senderPublicKey:f}}if(fe(o)===_e){const a=r.slice(s),l=Se(Te);return{type:o,sealed:a,iv:l}}const i=s+Te,c=r.slice(s,i),u=r.slice(i);return{type:o,sealed:u,iv:c}}function di(e,t){const n=Fe({encoded:e,encoding:t?.encoding});return rr({type:fe(n.type),senderPublicKey:typeof n.senderPublicKey<\"u\"?K(n.senderPublicKey,V):void 0,receiverPublicKey:t?.receiverPublicKey})}function rr(e){const t=e?.type||Nt;if(t===Oe){if(typeof e?.senderPublicKey>\"u\")throw new Error(\"missing sender public key\");if(typeof e?.receiverPublicKey>\"u\")throw new Error(\"missing receiver public key\")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function hi(e){return e.type===Oe&&typeof e.senderPublicKey==\"string\"&&typeof e.receiverPublicKey==\"string\"}function pi(e){return e.type===_e}function or(e){return new Dr(\"p256\").keyFromPublic({x:Buffer.from(e.x,\"base64\").toString(\"hex\"),y:Buffer.from(e.y,\"base64\").toString(\"hex\")},\"hex\")}function gi(e){let t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");const n=t.length%4;return n>0&&(t+=\"=\".repeat(4-n)),t}function yi(e){return Buffer.from(gi(e),\"base64\")}function mi(e,t){const[n,r,o]=e.split(\".\"),s=yi(o);if(s.length!==64)throw new Error(\"Invalid signature length\");const i=s.slice(0,32).toString(\"hex\"),c=s.slice(32,64).toString(\"hex\"),u=`${n}.${r}`,a=He(u),l=or(t),f=K(a,V);if(!l.verify(f,{r:i,s:c}))throw new Error(\"Invalid signature\");return kr(e).payload}const sr=\"irn\";function bi(e){return e?.relay||{protocol:sr}}function wi(e){const t=Mr[e];if(typeof t>\"u\")throw new Error(`Relay Protocol not supported: ${e}`);return t}function ir(e,t=\"-\"){const n={},r=\"relay\"+t;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,\"\"),i=e[o];n[s]=i}}),n}function Ei(e){if(!e.includes(\"wc:\")){const a=rt(e);a!=null&&a.includes(\"wc:\")&&(e=a)}e=e.includes(\"wc://\")?e.replace(\"wc://\",\"\"):e,e=e.includes(\"wc:\")?e.replace(\"wc:\",\"\"):e;const t=e.indexOf(\":\"),n=e.indexOf(\"?\")!==-1?e.indexOf(\"?\"):void 0,r=e.substring(0,t),o=e.substring(t+1,n).split(\"@\"),s=typeof n<\"u\"?e.substring(n):\"\",i=new URLSearchParams(s),c={};i.forEach((a,l)=>{c[l]=a});const u=typeof c.methods==\"string\"?c.methods.split(\",\"):void 0;return{protocol:r,topic:cr(o[0]),version:parseInt(o[1],10),symKey:c.symKey,relay:ir(c),methods:u,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function cr(e){return e.startsWith(\"//\")?e.substring(2):e}function ar(e,t=\"-\"){const n=\"relay\",r={};return Object.keys(e).forEach(o=>{const s=o,i=n+t+s;e[s]&&(r[i]=e[s])}),r}function vi(e){const t=new URLSearchParams,n=ar(e.relay);Object.keys(n).sort().forEach(o=>{t.set(o,n[o])}),t.set(\"symKey\",e.symKey),e.expiryTimestamp&&t.set(\"expiryTimestamp\",e.expiryTimestamp.toString()),e.methods&&t.set(\"methods\",e.methods.join(\",\"));const r=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${r}`}function xi(e,t,n){return`${e}?wc_ev=${n}&topic=${t}`}var Ii=Object.defineProperty,Oi=Object.defineProperties,Ai=Object.getOwnPropertyDescriptors,ur=Object.getOwnPropertySymbols,Ni=Object.prototype.hasOwnProperty,Si=Object.prototype.propertyIsEnumerable,fr=(e,t,n)=>t in e?Ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ui=(e,t)=>{for(var n in t||(t={}))Ni.call(t,n)&&fr(e,n,t[n]);if(ur)for(var n of ur(t))Si.call(t,n)&&fr(e,n,t[n]);return e},_i=(e,t)=>Oi(e,Ai(t));function le(e){const t=[];return e.forEach(n=>{const[r,o]=n.split(\":\");t.push(`${r}:${o}`)}),t}function lr(e){const t=[];return Object.values(e).forEach(n=>{t.push(...le(n.accounts))}),t}function dr(e,t){const n=[];return Object.values(e).forEach(r=>{le(r.accounts).includes(t)&&n.push(...r.methods)}),n}function hr(e,t){const n=[];return Object.values(e).forEach(r=>{le(r.accounts).includes(t)&&n.push(...r.events)}),n}function Ti(e,t){const n=Or(e,t);if(n)throw new Error(n.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(i=>`${i.split(\":\")[0]}:${i.split(\":\")[1]}`)};return r}function $i(e){const{proposal:{requiredNamespaces:t,optionalNamespaces:n={}},supportedNamespaces:r}=e,o=$t(t),s=$t(n),i={};Object.keys(r).forEach(a=>{const l=r[a].chains,f=r[a].methods,d=r[a].events,g=r[a].accounts;l.forEach(y=>{if(!g.some(h=>h.includes(y)))throw new Error(`No accounts provided for chain ${y} in namespace ${a}`)}),i[a]={chains:l,methods:f,events:d,accounts:g}});const c=Nr(t,i,\"approve()\");if(c)throw new Error(c.message);const u={};return!Object.keys(t).length&&!Object.keys(n).length?i:(Object.keys(o).forEach(a=>{const l=r[a].chains.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.chains)==null?void 0:m.includes(y)}),f=r[a].methods.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.methods)==null?void 0:m.includes(y)}),d=r[a].events.filter(y=>{var h,m;return(m=(h=o[a])==null?void 0:h.events)==null?void 0:m.includes(y)}),g=l.map(y=>r[a].accounts.filter(h=>h.includes(`${y}:`))).flat();u[a]={chains:l,methods:f,events:d,accounts:g}}),Object.keys(s).forEach(a=>{var l,f,d,g,y,h;if(!r[a])return;const m=(f=(l=s[a])==null?void 0:l.chains)==null?void 0:f.filter(O=>r[a].chains.includes(O)),L=r[a].methods.filter(O=>{var k,E;return(E=(k=s[a])==null?void 0:k.methods)==null?void 0:E.includes(O)}),b=r[a].events.filter(O=>{var k,E;return(E=(k=s[a])==null?void 0:k.events)==null?void 0:E.includes(O)}),_=m?.map(O=>r[a].accounts.filter(k=>k.includes(`${O}:`))).flat();u[a]={chains:Q((d=u[a])==null?void 0:d.chains,m),methods:Q((g=u[a])==null?void 0:g.methods,L),events:Q((y=u[a])==null?void 0:y.events,b),accounts:Q((h=u[a])==null?void 0:h.accounts,_)}}),u)}function Tt(e){return e.includes(\":\")}function pr(e){return Tt(e)?e.split(\":\")[0]:e}function $t(e){var t,n,r;const o={};if(!qe(e))return o;for(const[s,i]of Object.entries(e)){const c=Tt(s)?[s]:i.chains,u=i.methods||[],a=i.events||[],l=pr(s);o[l]=_i(Ui({},o[l]),{chains:Q(c,(t=o[l])==null?void 0:t.chains),methods:Q(u,(n=o[l])==null?void 0:n.methods),events:Q(a,(r=o[l])==null?void 0:r.events)})}return o}function gr(e){const t={};return e?.forEach(n=>{var r;const[o,s]=n.split(\":\");t[o]||(t[o]={accounts:[],chains:[],events:[],methods:[]}),t[o].accounts.push(n),(r=t[o].chains)==null||r.push(`${o}:${s}`)}),t}function Ri(e,t){t=t.map(r=>r.replace(\"did:pkh:\",\"\"));const n=gr(t);for(const[r,o]of Object.entries(n))o.methods?o.methods=Q(o.methods,e):o.methods=e,o.events=[\"chainChanged\",\"accountsChanged\"];return n}const yr={INVALID_METHOD:{message:\"Invalid method.\",code:1001},INVALID_EVENT:{message:\"Invalid event.\",code:1002},INVALID_UPDATE_REQUEST:{message:\"Invalid update request.\",code:1003},INVALID_EXTEND_REQUEST:{message:\"Invalid extend request.\",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:\"Invalid session settle request.\",code:1005},UNAUTHORIZED_METHOD:{message:\"Unauthorized method.\",code:3001},UNAUTHORIZED_EVENT:{message:\"Unauthorized event.\",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:\"Unauthorized update request.\",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:\"Unauthorized extend request.\",code:3004},USER_REJECTED:{message:\"User rejected.\",code:5e3},USER_REJECTED_CHAINS:{message:\"User rejected chains.\",code:5001},USER_REJECTED_METHODS:{message:\"User rejected methods.\",code:5002},USER_REJECTED_EVENTS:{message:\"User rejected events.\",code:5003},UNSUPPORTED_CHAINS:{message:\"Unsupported chains.\",code:5100},UNSUPPORTED_METHODS:{message:\"Unsupported methods.\",code:5101},UNSUPPORTED_EVENTS:{message:\"Unsupported events.\",code:5102},UNSUPPORTED_ACCOUNTS:{message:\"Unsupported accounts.\",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:\"Unsupported namespace key.\",code:5104},USER_DISCONNECTED:{message:\"User disconnected.\",code:6e3},SESSION_SETTLEMENT_FAILED:{message:\"Session settlement failed.\",code:7e3},WC_METHOD_UNSUPPORTED:{message:\"Unsupported wc_ method.\",code:10001}},mr={NOT_INITIALIZED:{message:\"Not initialized.\",code:1},NO_MATCHING_KEY:{message:\"No matching key.\",code:2},RESTORE_WILL_OVERRIDE:{message:\"Restore will override.\",code:3},RESUBSCRIBED:{message:\"Resubscribed.\",code:4},MISSING_OR_INVALID:{message:\"Missing or invalid.\",code:5},EXPIRED:{message:\"Expired.\",code:6},UNKNOWN_TYPE:{message:\"Unknown type.\",code:7},MISMATCHED_TOPIC:{message:\"Mismatched topic.\",code:8},NON_CONFORMING_NAMESPACES:{message:\"Non conforming namespaces.\",code:9}};function te(e,t){const{message:n,code:r}=mr[e];return{message:t?`${n} ${t}`:n,code:r}}function de(e,t){const{message:n,code:r}=yr[e];return{message:t?`${n} ${t}`:n,code:r}}function $e(e,t){return Array.isArray(e)?typeof t<\"u\"&&e.length?e.every(t):!0:!1}function qe(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function ae(e){return typeof e>\"u\"}function q(e,t){return t&&ae(e)?!0:typeof e==\"string\"&&!!e.trim().length}function Ge(e,t){return t&&ae(e)?!0:typeof e==\"number\"&&!isNaN(e)}function Pi(e,t){const{requiredNamespaces:n}=t,r=Object.keys(e.namespaces),o=Object.keys(n);let s=!0;return re(o,r)?(r.forEach(i=>{const{accounts:c,methods:u,events:a}=e.namespaces[i],l=le(c),f=n[i];(!re(Be(i,f),l)||!re(f.methods,u)||!re(f.events,a))&&(s=!1)}),s):!1}function Re(e){return q(e,!1)&&e.includes(\":\")?e.split(\":\").length===2:!1}function br(e){if(q(e,!1)&&e.includes(\":\")){const t=e.split(\":\");if(t.length===3){const n=t[0]+\":\"+t[1];return!!t[2]&&Re(n)}}return!1}function Bi(e){function t(n){try{return typeof new URL(n)<\"u\"}catch{return!1}}try{if(q(e,!1)){if(t(e))return!0;const n=rt(e);return t(n)}}catch{}return!1}function Li(e){var t;return(t=e?.proposer)==null?void 0:t.publicKey}function ji(e){return e?.topic}function Ci(e,t){let n=null;return q(e?.publicKey,!1)||(n=te(\"MISSING_OR_INVALID\",`${t} controller public key should be a string`)),n}function Rt(e){let t=!0;return $e(e)?e.length&&(t=e.every(n=>q(n,!1))):t=!1,t}function wr(e,t,n){let r=null;return $e(t)&&t.length?t.forEach(o=>{r||Re(o)||(r=de(\"UNSUPPORTED_CHAINS\",`${n}, chain ${o} should be a string and conform to \"namespace:chainId\" format`))}):Re(e)||(r=de(\"UNSUPPORTED_CHAINS\",`${n}, chains must be defined as \"namespace:chainId\" e.g. \"eip155:1\": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: [\"eip155:1\", \"eip155:5\"] }`)),r}function Er(e,t,n){let r=null;return Object.entries(e).forEach(([o,s])=>{if(r)return;const i=wr(o,Be(o,s),`${t} ${n}`);i&&(r=i)}),r}function vr(e,t){let n=null;return $e(e)?e.forEach(r=>{n||br(r)||(n=de(\"UNSUPPORTED_ACCOUNTS\",`${t}, account ${r} should be a string and conform to \"namespace:chainId:address\" format`))}):n=de(\"UNSUPPORTED_ACCOUNTS\",`${t}, accounts should be an array of strings conforming to \"namespace:chainId:address\" format`),n}function xr(e,t){let n=null;return Object.values(e).forEach(r=>{if(n)return;const o=vr(r?.accounts,`${t} namespace`);o&&(n=o)}),n}function Ir(e,t){let n=null;return Rt(e?.methods)?Rt(e?.events)||(n=de(\"UNSUPPORTED_EVENTS\",`${t}, events should be an array of strings or empty array for no events`)):n=de(\"UNSUPPORTED_METHODS\",`${t}, methods should be an array of strings or empty array for no methods`),n}function Pt(e,t){let n=null;return Object.values(e).forEach(r=>{if(n)return;const o=Ir(r,`${t}, namespace`);o&&(n=o)}),n}function ki(e,t,n){let r=null;if(e&&qe(e)){const o=Pt(e,t);o&&(r=o);const s=Er(e,t,n);s&&(r=s)}else r=te(\"MISSING_OR_INVALID\",`${t}, ${n} should be an object with data`);return r}function Or(e,t){let n=null;if(e&&qe(e)){const r=Pt(e,t);r&&(n=r);const o=xr(e,t);o&&(n=o)}else n=te(\"MISSING_OR_INVALID\",`${t}, namespaces should be an object with data`);return n}function Ar(e){return q(e.protocol,!0)}function Di(e,t){let n=!1;return t&&!e?n=!0:e&&$e(e)&&e.length&&e.forEach(r=>{n=Ar(r)}),n}function Mi(e){return typeof e==\"number\"}function Vi(e){return typeof e<\"u\"&&typeof e!==null}function Hi(e){return!(!e||typeof e!=\"object\"||!e.code||!Ge(e.code,!1)||!e.message||!q(e.message,!1))}function Ki(e){return!(ae(e)||!q(e.method,!1))}function Fi(e){return!(ae(e)||ae(e.result)&&ae(e.error)||!Ge(e.id,!1)||!q(e.jsonrpc,!1))}function qi(e){return!(ae(e)||!q(e.name,!1))}function Gi(e,t){return!(!Re(t)||!lr(e).includes(t))}function Wi(e,t,n){return q(n,!1)?dr(e,t).includes(n):!1}function zi(e,t,n){return q(n,!1)?hr(e,t).includes(n):!1}function Nr(e,t,n){let r=null;const o=Ji(e),s=Yi(t),i=Object.keys(o),c=Object.keys(s),u=Sr(Object.keys(e)),a=Sr(Object.keys(t)),l=u.filter(f=>!a.includes(f));return l.length&&(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(t).toString()}`)),re(i,c)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces chains don't satisfy required namespaces.\n Required: ${i.toString()}\n Approved: ${c.toString()}`)),Object.keys(t).forEach(f=>{if(!f.includes(\":\")||r)return;const d=le(t[f].accounts);d.includes(f)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces accounts don't satisfy namespace accounts for ${f}\n Required: ${f}\n Approved: ${d.toString()}`))}),i.forEach(f=>{r||(re(o[f].methods,s[f].methods)?re(o[f].events,s[f].events)||(r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces events don't satisfy namespace events for ${f}`)):r=te(\"NON_CONFORMING_NAMESPACES\",`${n} namespaces methods don't satisfy namespace methods for ${f}`))}),r}function Ji(e){const t={};return Object.keys(e).forEach(n=>{var r;n.includes(\":\")?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(o=>{t[o]={methods:e[n].methods,events:e[n].events}})}),t}function Sr(e){return[...new Set(e.map(t=>t.includes(\":\")?t.split(\":\")[0]:t))]}function Yi(e){const t={};return Object.keys(e).forEach(n=>{if(n.includes(\":\"))t[n]=e[n];else{const r=le(e[n].accounts);r?.forEach(o=>{t[o]={accounts:e[n].accounts.filter(s=>s.includes(`${o}:`)),methods:e[n].methods,events:e[n].events}})}}),t}function Xi(e,t){return Ge(e,!1)&&e<=t.max&&e>=t.min}function Zi(){const e=ue();return new Promise(t=>{switch(e){case H.browser:t(Ur());break;case H.reactNative:t(_r());break;case H.node:t(Tr());break;default:t(!0)}})}function Ur(){return Ae()&&navigator?.onLine}async function _r(){if(ne()&&typeof global<\"u\"&&global!=null&&global.NetInfo){const e=await(global==null?void 0:global.NetInfo.fetch());return e?.isConnected}return!0}function Tr(){return!0}function Qi(e){switch(ue()){case H.browser:$r(e);break;case H.reactNative:Rr(e);break;case H.node:break}}function $r(e){!ne()&&Ae()&&(window.addEventListener(\"online\",()=>e(!0)),window.addEventListener(\"offline\",()=>e(!1)))}function Rr(e){ne()&&typeof global<\"u\"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}const Bt={};class ec{static get(t){return Bt[t]}static set(t,n){Bt[t]=n}static delete(t){delete Bt[t]}}export{Ot as BASE10,V as BASE16,At as BASE64,ti as BASE64URL,Gr as COLON,Qe as DEFAULT_DEPTH,Le as EMPTY_SPACE,H as ENV_MAP,mr as INTERNAL_ERRORS,ec as MemoryStore,Wr as ONE_THOUSAND,Ft as REACT_NATIVE_PRODUCT,sr as RELAYER_DEFAULT_PROTOCOL,yr as SDK_ERRORS,Gt as SDK_TYPE,qt as SLASH,Nt as TYPE_0,Oe as TYPE_1,_e as TYPE_2,Ie as UTF8,$n as addResourceToRecap,Wt as appendToQueryString,to as assertType,ft as assignAbilityToActions,_n as base64Decode,Un as base64Encode,$i as buildApprovedNamespaces,Qo as buildAuthObject,Ri as buildNamespacesFromAuth,Pn as buildRecapStatement,po as calcExpiry,co as capitalize,Qt as capitalizeWord,ao as createDelayedPromise,rs as createEncodedRecap,uo as createExpiringPromise,Tn as createRecap,oe as decodeRecap,fe as decodeTypeByte,li as decodeTypeTwoEnvelope,ui as decrypt,si as deriveSymKey,Fe as deserialize,De as encodeRecap,Ut as encodeTypeByte,fi as encodeTypeTwoEnvelope,ai as encrypt,yo as engineEvent,io as enumify,qo as extractSolanaTransactionId,Mt as formatAccountId,Vr as formatAccountWithChain,Dt as formatChainId,en as formatDeeplinkUrl,tt as formatExpirerTarget,lo as formatIdTarget,On as formatMessage,no as formatMessageContext,ar as formatRelayParams,Qr as formatRelayRpcUrl,dt as formatStatementFromRecap,fo as formatTopicTarget,Yt as formatUA,vi as formatUri,rt as fromBase64,ri as generateKeyPair,oi as generateRandomBytes32,le as getAccountsChains,Kr as getAccountsFromNamespaces,Vt as getAddressFromAccount,Hr as getAddressesFromAccounts,Yr as getAppId,Xr as getAppMetadata,Ur as getBrowserOnlineStatus,Ht as getChainFromAccount,Kt as getChainsFromAccounts,Be as getChainsFromNamespace,Fr as getChainsFromNamespaces,is as getChainsFromRecap,qr as getChainsFromRequiredNamespaces,nt as getCommonValuesInArrays,or as getCryptoKeyFromKeyData,An as getDecodedRecapFromResources,bo as getDeepLink,ut as getDidAddress,ke as getDidAddressSegments,xn as getDidChainId,ue as getEnvironment,eo as getHttpUrl,te as getInternalError,Jt as getJavascriptID,zt as getJavascriptOS,Zt as getLastItems,xi as getLinkModeURL,ss as getMethodsFromRecap,In as getNamespacedDidChainId,lr as getNamespacesChains,hr as getNamespacesEventsForChainId,gr as getNamespacesFromAccounts,dr as getNamespacesMethodsForChainId,Tr as getNodeOnlineStatus,Sn as getReCapActions,_r as getReactNativeOnlineStatus,ns as getRecapAbilitiesFromResource,Me as getRecapFromResources,Nn as getRecapResource,Zr as getRelayClientMetadata,wi as getRelayProtocolApi,bi as getRelayProtocolName,Ti as getRequiredNamespacesFromNamespaces,de as getSdkError,wo as getSearchParamFromURL,Ze as getUniqueValues,mo as handleDeeplinkRedirect,re as hasOverlap,ct as hashEthereumMessage,ii as hashKey,ci as hashMessage,zr as isAndroid,Ae as isBrowser,Tt as isCaipNamespace,Nr as isConformingNamespaces,go as isExpired,rn as isIframe,Jr as isIos,et as isNode,Zi as isOnline,Li as isProposalStruct,ne as isReactNative,lt as isRecap,Pi as isSessionCompatible,ji as isSessionStruct,nn as isTelegram,vo as isTestRun,hi as isTypeOneEnvelope,pi as isTypeTwoEnvelope,ae as isUndefined,br as isValidAccountId,vr as isValidAccounts,Ir as isValidActions,$e as isValidArray,Re as isValidChainId,wr as isValidChains,Ci as isValidController,bn as isValidEip1271Signature,mn as isValidEip191Signature,Hi as isValidErrorReason,qi as isValidEvent,Mi as isValidId,xr as isValidNamespaceAccounts,Pt as isValidNamespaceActions,Er as isValidNamespaceChains,Rt as isValidNamespaceMethodsOrEvents,Or as isValidNamespaces,Gi as isValidNamespacesChainId,zi as isValidNamespacesEvent,Wi as isValidNamespacesRequest,Ge as isValidNumber,qe as isValidObject,Vi as isValidParams,Y as isValidRecap,Ar as isValidRelay,Di as isValidRelays,Ki as isValidRequest,Xi as isValidRequestExpiry,ki as isValidRequiredNamespaces,Fi as isValidResponse,q as isValidString,Bi as isValidUrl,so as mapEntries,ro as mapToObj,Q as mergeArrays,os as mergeEncodedRecaps,Rn as mergeRecaps,$t as normalizeNamespaces,oo as objToMap,tn as openDeeplink,Xe as parseAccountId,Ye as parseChainId,Xt as parseContextNames,ho as parseExpirerTarget,pr as parseNamespaceKey,ir as parseRelayParams,cr as parseTopic,Ei as parseUri,es as populateAuthPayload,ts as recapHasResource,_t as serialize,xo as sleep,$r as subscribeToBrowserNetworkChange,Qi as subscribeToNetworkChange,Rr as subscribeToReactNativeNetworkChange,on as toBase64,Eo as uuidv4,di as validateDecoding,rr as validateEncoding,Zo as validateSignedCacao,mi as verifyP256Jwt,yn as verifySignature};\n//# sourceMappingURL=index.es.js.map\n","export class IEvents {\n}\n//# sourceMappingURL=events.js.map","import{EventEmitter as a}from\"events\";import{FIVE_SECONDS as o,toMiliseconds as l}from\"@walletconnect/time\";import{IEvents as v}from\"@walletconnect/events\";class n extends v{constructor(e){super()}}const s=o,r={pulse:\"heartbeat_pulse\"};class i extends n{constructor(e){super(e),this.events=new a,this.interval=s,this.interval=e?.interval||s}static async init(e){const t=new i(e);return await t.init(),t}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),l(this.interval))}pulse(){this.events.emit(r.pulse)}}export{r as HEARTBEAT_EVENTS,s as HEARTBEAT_INTERVAL,i as HeartBeat,n as IHeartBeat};\n//# sourceMappingURL=index.es.js.map\n","const suspectProtoRx = /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/;\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nconst JsonSigRx = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nfunction jsonParseTransform(key, value) {\n if (key === \"__proto__\" || key === \"constructor\" && value && typeof value === \"object\" && \"prototype\" in value) {\n warnKeyDropped(key);\n return;\n }\n return value;\n}\nfunction warnKeyDropped(key) {\n console.warn(`[destr] Dropping \"${key}\" key to prevent prototype pollution.`);\n}\nfunction destr(value, options = {}) {\n if (typeof value !== \"string\") {\n return value;\n }\n const _value = value.trim();\n if (\n // eslint-disable-next-line unicorn/prefer-at\n value[0] === '\"' && value.endsWith('\"') && !value.includes(\"\\\\\")\n ) {\n return _value.slice(1, -1);\n }\n if (_value.length <= 9) {\n const _lval = _value.toLowerCase();\n if (_lval === \"true\") {\n return true;\n }\n if (_lval === \"false\") {\n return false;\n }\n if (_lval === \"undefined\") {\n return void 0;\n }\n if (_lval === \"null\") {\n return null;\n }\n if (_lval === \"nan\") {\n return Number.NaN;\n }\n if (_lval === \"infinity\") {\n return Number.POSITIVE_INFINITY;\n }\n if (_lval === \"-infinity\") {\n return Number.NEGATIVE_INFINITY;\n }\n }\n if (!JsonSigRx.test(value)) {\n if (options.strict) {\n throw new SyntaxError(\"[destr] Invalid JSON\");\n }\n return value;\n }\n try {\n if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) {\n if (options.strict) {\n throw new Error(\"[destr] Possible prototype pollution\");\n }\n return JSON.parse(value, jsonParseTransform);\n }\n return JSON.parse(value);\n } catch (error) {\n if (options.strict) {\n throw error;\n }\n return value;\n }\n}\nfunction safeDestr(value, options = {}) {\n return destr(value, { ...options, strict: true });\n}\n\nexport { destr as default, destr, safeDestr };\n","function wrapToPromise(value) {\n if (!value || typeof value.then !== \"function\") {\n return Promise.resolve(value);\n }\n return value;\n}\nfunction asyncCall(function_, ...arguments_) {\n try {\n return wrapToPromise(function_(...arguments_));\n } catch (error) {\n return Promise.reject(error);\n }\n}\nfunction isPrimitive(value) {\n const type = typeof value;\n return value === null || type !== \"object\" && type !== \"function\";\n}\nfunction isPureObject(value) {\n const proto = Object.getPrototypeOf(value);\n return !proto || proto.isPrototypeOf(Object);\n}\nfunction stringify(value) {\n if (isPrimitive(value)) {\n return String(value);\n }\n if (isPureObject(value) || Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (typeof value.toJSON === \"function\") {\n return stringify(value.toJSON());\n }\n throw new Error(\"[unstorage] Cannot stringify value!\");\n}\nfunction checkBufferSupport() {\n if (typeof Buffer === void 0) {\n throw new TypeError(\"[unstorage] Buffer is not supported!\");\n }\n}\nconst BASE64_PREFIX = \"base64:\";\nfunction serializeRaw(value) {\n if (typeof value === \"string\") {\n return value;\n }\n checkBufferSupport();\n const base64 = Buffer.from(value).toString(\"base64\");\n return BASE64_PREFIX + base64;\n}\nfunction deserializeRaw(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (!value.startsWith(BASE64_PREFIX)) {\n return value;\n }\n checkBufferSupport();\n return Buffer.from(value.slice(BASE64_PREFIX.length), \"base64\");\n}\n\nconst storageKeyProperties = [\n \"hasItem\",\n \"getItem\",\n \"getItemRaw\",\n \"setItem\",\n \"setItemRaw\",\n \"removeItem\",\n \"getMeta\",\n \"setMeta\",\n \"removeMeta\",\n \"getKeys\",\n \"clear\",\n \"mount\",\n \"unmount\"\n];\nfunction prefixStorage(storage, base) {\n base = normalizeBaseKey(base);\n if (!base) {\n return storage;\n }\n const nsStorage = { ...storage };\n for (const property of storageKeyProperties) {\n nsStorage[property] = (key = \"\", ...args) => (\n // @ts-ignore\n storage[property](base + key, ...args)\n );\n }\n nsStorage.getKeys = (key = \"\", ...arguments_) => storage.getKeys(base + key, ...arguments_).then((keys) => keys.map((key2) => key2.slice(base.length)));\n return nsStorage;\n}\nfunction normalizeKey(key) {\n if (!key) {\n return \"\";\n }\n return key.split(\"?\")[0].replace(/[/\\\\]/g, \":\").replace(/:+/g, \":\").replace(/^:|:$/g, \"\");\n}\nfunction joinKeys(...keys) {\n return normalizeKey(keys.join(\":\"));\n}\nfunction normalizeBaseKey(base) {\n base = normalizeKey(base);\n return base ? base + \":\" : \"\";\n}\n\nexport { normalizeKey as a, asyncCall as b, serializeRaw as c, deserializeRaw as d, joinKeys as j, normalizeBaseKey as n, prefixStorage as p, stringify as s };\n","import destr from 'destr';\nimport { n as normalizeBaseKey, a as normalizeKey, b as asyncCall, d as deserializeRaw, s as stringify, c as serializeRaw, j as joinKeys } from './shared/unstorage.8581f561.mjs';\nexport { p as prefixStorage } from './shared/unstorage.8581f561.mjs';\n\nfunction defineDriver(factory) {\n return factory;\n}\n\nconst DRIVER_NAME = \"memory\";\nconst memory = defineDriver(() => {\n const data = /* @__PURE__ */ new Map();\n return {\n name: DRIVER_NAME,\n options: {},\n hasItem(key) {\n return data.has(key);\n },\n getItem(key) {\n return data.get(key) ?? null;\n },\n getItemRaw(key) {\n return data.get(key) ?? null;\n },\n setItem(key, value) {\n data.set(key, value);\n },\n setItemRaw(key, value) {\n data.set(key, value);\n },\n removeItem(key) {\n data.delete(key);\n },\n getKeys() {\n return Array.from(data.keys());\n },\n clear() {\n data.clear();\n },\n dispose() {\n data.clear();\n }\n };\n});\n\nfunction createStorage(options = {}) {\n const context = {\n mounts: { \"\": options.driver || memory() },\n mountpoints: [\"\"],\n watching: false,\n watchListeners: [],\n unwatch: {}\n };\n const getMount = (key) => {\n for (const base of context.mountpoints) {\n if (key.startsWith(base)) {\n return {\n base,\n relativeKey: key.slice(base.length),\n driver: context.mounts[base]\n };\n }\n }\n return {\n base: \"\",\n relativeKey: key,\n driver: context.mounts[\"\"]\n };\n };\n const getMounts = (base, includeParent) => {\n return context.mountpoints.filter(\n (mountpoint) => mountpoint.startsWith(base) || includeParent && base.startsWith(mountpoint)\n ).map((mountpoint) => ({\n relativeBase: base.length > mountpoint.length ? base.slice(mountpoint.length) : void 0,\n mountpoint,\n driver: context.mounts[mountpoint]\n }));\n };\n const onChange = (event, key) => {\n if (!context.watching) {\n return;\n }\n key = normalizeKey(key);\n for (const listener of context.watchListeners) {\n listener(event, key);\n }\n };\n const startWatch = async () => {\n if (context.watching) {\n return;\n }\n context.watching = true;\n for (const mountpoint in context.mounts) {\n context.unwatch[mountpoint] = await watch(\n context.mounts[mountpoint],\n onChange,\n mountpoint\n );\n }\n };\n const stopWatch = async () => {\n if (!context.watching) {\n return;\n }\n for (const mountpoint in context.unwatch) {\n await context.unwatch[mountpoint]();\n }\n context.unwatch = {};\n context.watching = false;\n };\n const runBatch = (items, commonOptions, cb) => {\n const batches = /* @__PURE__ */ new Map();\n const getBatch = (mount) => {\n let batch = batches.get(mount.base);\n if (!batch) {\n batch = {\n driver: mount.driver,\n base: mount.base,\n items: []\n };\n batches.set(mount.base, batch);\n }\n return batch;\n };\n for (const item of items) {\n const isStringItem = typeof item === \"string\";\n const key = normalizeKey(isStringItem ? item : item.key);\n const value = isStringItem ? void 0 : item.value;\n const options2 = isStringItem || !item.options ? commonOptions : { ...commonOptions, ...item.options };\n const mount = getMount(key);\n getBatch(mount).items.push({\n key,\n value,\n relativeKey: mount.relativeKey,\n options: options2\n });\n }\n return Promise.all([...batches.values()].map((batch) => cb(batch))).then(\n (r) => r.flat()\n );\n };\n const storage = {\n // Item\n hasItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.hasItem, relativeKey, opts);\n },\n getItem(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => destr(value)\n );\n },\n getItems(items, commonOptions) {\n return runBatch(items, commonOptions, (batch) => {\n if (batch.driver.getItems) {\n return asyncCall(\n batch.driver.getItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n options: item.options\n })),\n commonOptions\n ).then(\n (r) => r.map((item) => ({\n key: joinKeys(batch.base, item.key),\n value: destr(item.value)\n }))\n );\n }\n return Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.getItem,\n item.relativeKey,\n item.options\n ).then((value) => ({\n key: item.key,\n value: destr(value)\n }));\n })\n );\n });\n },\n getItemRaw(key, opts = {}) {\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.getItemRaw) {\n return asyncCall(driver.getItemRaw, relativeKey, opts);\n }\n return asyncCall(driver.getItem, relativeKey, opts).then(\n (value) => deserializeRaw(value)\n );\n },\n async setItem(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.setItem) {\n return;\n }\n await asyncCall(driver.setItem, relativeKey, stringify(value), opts);\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async setItems(items, commonOptions) {\n await runBatch(items, commonOptions, async (batch) => {\n if (batch.driver.setItems) {\n await asyncCall(\n batch.driver.setItems,\n batch.items.map((item) => ({\n key: item.relativeKey,\n value: stringify(item.value),\n options: item.options\n })),\n commonOptions\n );\n }\n if (!batch.driver.setItem) {\n return;\n }\n await Promise.all(\n batch.items.map((item) => {\n return asyncCall(\n batch.driver.setItem,\n item.relativeKey,\n stringify(item.value),\n item.options\n );\n })\n );\n });\n },\n async setItemRaw(key, value, opts = {}) {\n if (value === void 0) {\n return storage.removeItem(key, opts);\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (driver.setItemRaw) {\n await asyncCall(driver.setItemRaw, relativeKey, value, opts);\n } else if (driver.setItem) {\n await asyncCall(driver.setItem, relativeKey, serializeRaw(value), opts);\n } else {\n return;\n }\n if (!driver.watch) {\n onChange(\"update\", key);\n }\n },\n async removeItem(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { removeMeta: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n if (!driver.removeItem) {\n return;\n }\n await asyncCall(driver.removeItem, relativeKey, opts);\n if (opts.removeMeta || opts.removeMata) {\n await asyncCall(driver.removeItem, relativeKey + \"$\", opts);\n }\n if (!driver.watch) {\n onChange(\"remove\", key);\n }\n },\n // Meta\n async getMeta(key, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { nativeOnly: opts };\n }\n key = normalizeKey(key);\n const { relativeKey, driver } = getMount(key);\n const meta = /* @__PURE__ */ Object.create(null);\n if (driver.getMeta) {\n Object.assign(meta, await asyncCall(driver.getMeta, relativeKey, opts));\n }\n if (!opts.nativeOnly) {\n const value = await asyncCall(\n driver.getItem,\n relativeKey + \"$\",\n opts\n ).then((value_) => destr(value_));\n if (value && typeof value === \"object\") {\n if (typeof value.atime === \"string\") {\n value.atime = new Date(value.atime);\n }\n if (typeof value.mtime === \"string\") {\n value.mtime = new Date(value.mtime);\n }\n Object.assign(meta, value);\n }\n }\n return meta;\n },\n setMeta(key, value, opts = {}) {\n return this.setItem(key + \"$\", value, opts);\n },\n removeMeta(key, opts = {}) {\n return this.removeItem(key + \"$\", opts);\n },\n // Keys\n async getKeys(base, opts = {}) {\n base = normalizeBaseKey(base);\n const mounts = getMounts(base, true);\n let maskedMounts = [];\n const allKeys = [];\n for (const mount of mounts) {\n const rawKeys = await asyncCall(\n mount.driver.getKeys,\n mount.relativeBase,\n opts\n );\n const keys = rawKeys.map((key) => mount.mountpoint + normalizeKey(key)).filter((key) => !maskedMounts.some((p) => key.startsWith(p)));\n allKeys.push(...keys);\n maskedMounts = [\n mount.mountpoint,\n ...maskedMounts.filter((p) => !p.startsWith(mount.mountpoint))\n ];\n }\n return base ? allKeys.filter((key) => key.startsWith(base) && !key.endsWith(\"$\")) : allKeys.filter((key) => !key.endsWith(\"$\"));\n },\n // Utils\n async clear(base, opts = {}) {\n base = normalizeBaseKey(base);\n await Promise.all(\n getMounts(base, false).map(async (m) => {\n if (m.driver.clear) {\n return asyncCall(m.driver.clear, m.relativeBase, opts);\n }\n if (m.driver.removeItem) {\n const keys = await m.driver.getKeys(m.relativeBase || \"\", opts);\n return Promise.all(\n keys.map((key) => m.driver.removeItem(key, opts))\n );\n }\n })\n );\n },\n async dispose() {\n await Promise.all(\n Object.values(context.mounts).map((driver) => dispose(driver))\n );\n },\n async watch(callback) {\n await startWatch();\n context.watchListeners.push(callback);\n return async () => {\n context.watchListeners = context.watchListeners.filter(\n (listener) => listener !== callback\n );\n if (context.watchListeners.length === 0) {\n await stopWatch();\n }\n };\n },\n async unwatch() {\n context.watchListeners = [];\n await stopWatch();\n },\n // Mount\n mount(base, driver) {\n base = normalizeBaseKey(base);\n if (base && context.mounts[base]) {\n throw new Error(`already mounted at ${base}`);\n }\n if (base) {\n context.mountpoints.push(base);\n context.mountpoints.sort((a, b) => b.length - a.length);\n }\n context.mounts[base] = driver;\n if (context.watching) {\n Promise.resolve(watch(driver, onChange, base)).then((unwatcher) => {\n context.unwatch[base] = unwatcher;\n }).catch(console.error);\n }\n return storage;\n },\n async unmount(base, _dispose = true) {\n base = normalizeBaseKey(base);\n if (!base || !context.mounts[base]) {\n return;\n }\n if (context.watching && base in context.unwatch) {\n context.unwatch[base]();\n delete context.unwatch[base];\n }\n if (_dispose) {\n await dispose(context.mounts[base]);\n }\n context.mountpoints = context.mountpoints.filter((key) => key !== base);\n delete context.mounts[base];\n },\n getMount(key = \"\") {\n key = normalizeKey(key) + \":\";\n const m = getMount(key);\n return {\n driver: m.driver,\n base: m.base\n };\n },\n getMounts(base = \"\", opts = {}) {\n base = normalizeKey(base);\n const mounts = getMounts(base, opts.parents);\n return mounts.map((m) => ({\n driver: m.driver,\n base: m.mountpoint\n }));\n }\n };\n return storage;\n}\nasync function snapshot(storage, base) {\n base = normalizeBaseKey(base);\n const keys = await storage.getKeys(base);\n const snapshot2 = {};\n await Promise.all(\n keys.map(async (key) => {\n snapshot2[key.slice(base.length)] = await storage.getItem(key);\n })\n );\n return snapshot2;\n}\nasync function restoreSnapshot(driver, snapshot2, base = \"\") {\n base = normalizeBaseKey(base);\n await Promise.all(\n Object.entries(snapshot2).map((e) => driver.setItem(base + e[0], e[1]))\n );\n}\nfunction watch(driver, onChange, base) {\n return driver.watch ? driver.watch((event, key) => onChange(event, base + key)) : () => {\n };\n}\nasync function dispose(driver) {\n if (typeof driver.dispose === \"function\") {\n await asyncCall(driver.dispose);\n }\n}\n\nconst builtinDrivers = {\n azureAppConfiguration: \"unstorage/drivers/azure-app-configuration\",\n azureCosmos: \"unstorage/drivers/azure-cosmos\",\n azureKeyVault: \"unstorage/drivers/azure-key-vault\",\n azureStorageBlob: \"unstorage/drivers/azure-storage-blob\",\n azureStorageTable: \"unstorage/drivers/azure-storage-table\",\n cloudflareKVBinding: \"unstorage/drivers/cloudflare-kv-binding\",\n cloudflareKVHTTP: \"unstorage/drivers/cloudflare-kv-http\",\n cloudflareR2Binding: \"unstorage/drivers/cloudflare-r2-binding\",\n fs: \"unstorage/drivers/fs\",\n fsLite: \"unstorage/drivers/fs-lite\",\n github: \"unstorage/drivers/github\",\n http: \"unstorage/drivers/http\",\n indexedb: \"unstorage/drivers/indexedb\",\n localStorage: \"unstorage/drivers/localstorage\",\n lruCache: \"unstorage/drivers/lru-cache\",\n memory: \"unstorage/drivers/memory\",\n mongodb: \"unstorage/drivers/mongodb\",\n netlifyBlobs: \"unstorage/drivers/netlify-blobs\",\n overlay: \"unstorage/drivers/overlay\",\n planetscale: \"unstorage/drivers/planetscale\",\n redis: \"unstorage/drivers/redis\",\n sessionStorage: \"unstorage/drivers/session-storage\",\n vercelKV: \"unstorage/drivers/vercel-kv\",\n /** @deprecated */\n \"cloudflare-kv-binding\": \"unstorage/drivers/cloudflare-kv-binding\",\n /** @deprecated */\n \"cloudflare-kv-http\": \"unstorage/drivers/cloudflare-kv-http\"\n};\n\nexport { builtinDrivers, createStorage, defineDriver, joinKeys, normalizeBaseKey, normalizeKey, restoreSnapshot, snapshot };\n","import{createStorage as w}from\"unstorage\";import{createStore as I,get as u,set as p,del as b,keys as v,clear as S}from\"idb-keyval\";import{safeJsonStringify as g,safeJsonParse as d}from\"@walletconnect/safe-json\";function C(i){return i}const x=\"idb-keyval\";var z=(i={})=>{const t=i.base&&i.base.length>0?`${i.base}:`:\"\",e=s=>t+s;let n;return i.dbName&&i.storeName&&(n=I(i.dbName,i.storeName)),{name:x,options:i,async hasItem(s){return!(typeof await u(e(s),n)>\"u\")},async getItem(s){return await u(e(s),n)??null},setItem(s,a){return p(e(s),a,n)},removeItem(s){return b(e(s),n)},getKeys(){return v(n)},clear(){return S(n)}}};const D=\"WALLET_CONNECT_V2_INDEXED_DB\",E=\"keyvaluestorage\";class _{constructor(){this.indexedDb=w({driver:z({dbName:D,storeName:E})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(t=>[t.key,t.value])}async getItem(t){const e=await this.indexedDb.getItem(t);if(e!==null)return e}async setItem(t,e){await this.indexedDb.setItem(t,g(e))}async removeItem(t){await this.indexedDb.removeItem(t)}}var l=typeof globalThis<\"u\"?globalThis:typeof window<\"u\"?window:typeof global<\"u\"?global:typeof self<\"u\"?self:{},c={exports:{}};(function(){let i;function t(){}i=t,i.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},i.prototype.setItem=function(e,n){this[e]=String(n)},i.prototype.removeItem=function(e){delete this[e]},i.prototype.clear=function(){const e=this;Object.keys(e).forEach(function(n){e[n]=void 0,delete e[n]})},i.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},i.prototype.__defineGetter__(\"length\",function(){return Object.keys(this).length}),typeof l<\"u\"&&l.localStorage?c.exports=l.localStorage:typeof window<\"u\"&&window.localStorage?c.exports=window.localStorage:c.exports=new t})();function k(i){var t;return[i[0],d((t=i[1])!=null?t:\"\")]}class K{constructor(){this.localStorage=c.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(k)}async getItem(t){const e=this.localStorage.getItem(t);if(e!==null)return d(e)}async setItem(t,e){this.localStorage.setItem(t,g(e))}async removeItem(t){this.localStorage.removeItem(t)}}const N=\"wc_storage_version\",y=1,O=async(i,t,e)=>{const n=N,s=await t.getItem(n);if(s&&s>=y){e(t);return}const a=await i.getKeys();if(!a.length){e(t);return}const m=[];for(;a.length;){const r=a.shift();if(!r)continue;const o=r.toLowerCase();if(o.includes(\"wc@\")||o.includes(\"walletconnect\")||o.includes(\"wc_\")||o.includes(\"wallet_connect\")){const f=await i.getItem(r);await t.setItem(r,f),m.push(r)}}await t.setItem(n,y),e(t),j(i,m)},j=async(i,t)=>{t.length&&t.forEach(async e=>{await i.removeItem(e)})};class h{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};const t=new K;this.storage=t;try{const e=new _;O(t,e,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(t){return await this.initialize(),this.storage.getItem(t)}async setItem(t,e){return await this.initialize(),this.storage.setItem(t,e)}async removeItem(t){return await this.initialize(),this.storage.removeItem(t)}async initialize(){this.initialized||await new Promise(t=>{const e=setInterval(()=>{this.initialized&&(clearInterval(e),t())},20)})}}export{h as KeyValueStorage,h as default};\n//# sourceMappingURL=index.es.js.map\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || ''\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n","import h,{levels as s}from\"pino\";import{default as U}from\"pino\";import{safeJsonStringify as u}from\"@walletconnect/safe-json\";const c={level:\"info\"},n=\"custom_context\",l=1e3*1024;class O{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class d{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new O(e);if(t.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=t),this.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const t=e.value;return e=e.next,{done:!1,value:t}}}}}class L{constructor(e,t=l){this.level=e??\"error\",this.levelValue=s.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===s.values.error?console.error(e):t===s.values.warn?console.warn(e):t===s.values.debug?console.debug(e):t===s.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(u({timestamp:new Date().toISOString(),log:e}));const t=typeof e==\"string\"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new d(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(u({extraMetadata:e})),new Blob(t,{type:\"application/json\"})}}class m{constructor(e,t=l){this.baseChunkLogger=new L(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const t=URL.createObjectURL(this.logsToBlob(e)),o=document.createElement(\"a\");o.href=t,o.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(t)}}class B{constructor(e,t=l){this.baseChunkLogger=new L(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var x=Object.defineProperty,S=Object.defineProperties,_=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,f=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))T.call(e,t)&&f(r,t,e[t]);if(p)for(var t of p(e))z.call(e,t)&&f(r,t,e[t]);return r},g=(r,e)=>S(r,_(e));function k(r){return g(i({},r),{level:r?.level||c.level})}function v(r,e=n){return r[e]||\"\"}function b(r,e,t=n){return r[t]=e,r}function y(r,e=n){let t=\"\";return typeof r.bindings>\"u\"?t=v(r,e):t=r.bindings().context||\"\",t}function w(r,e,t=n){const o=y(r,t);return o.trim()?`${o}/${e}`:e}function E(r,e,t=n){const o=w(r,e,t),a=r.child({context:o});return b(a,o,t)}function C(r){var e,t;const o=new m((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\",browser:g(i({},(t=r.opts)==null?void 0:t.browser),{write:a=>o.write(a)})})),chunkLoggerController:o}}function I(r){var e;const t=new B((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:h(g(i({},r.opts),{level:\"trace\"}),t),chunkLoggerController:t}}function A(r){return typeof r.loggerOverride<\"u\"&&typeof r.loggerOverride!=\"string\"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<\"u\"?C(r):I(r)}export{l as MAX_LOG_SIZE_IN_BYTES_DEFAULT,n as PINO_CUSTOM_CONTEXT_KEY,c as PINO_LOGGER_DEFAULTS,w as formatChildLoggerContext,E as generateChildLogger,C as generateClientLogger,A as generatePlatformLogger,I as generateServerLogger,v as getBrowserLoggerContext,k as getDefaultLoggerOptions,y as getLoggerContext,U as pino,b as setBrowserLoggerContext};\n//# sourceMappingURL=index.es.js.map\n","import{IEvents as o}from\"@walletconnect/events\";import n,{EventEmitter as l}from\"events\";var a=Object.defineProperty,u=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,c=(e,s,r)=>u(e,typeof s!=\"symbol\"?s+\"\":s,r);class h extends o{constructor(s){super(),this.opts=s,c(this,\"protocol\",\"wc\"),c(this,\"version\",2)}}class g{constructor(s,r,t){this.core=s,this.logger=r}}var p=Object.defineProperty,b=(e,s,r)=>s in e?p(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,v=(e,s,r)=>b(e,typeof s!=\"symbol\"?s+\"\":s,r);class I extends o{constructor(s,r){super(),this.core=s,this.logger=r,v(this,\"records\",new Map)}}class y{constructor(s,r){this.logger=s,this.core=r}}class m extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class d extends o{constructor(s){super()}}class f{constructor(s,r,t,q){this.core=s,this.logger=r,this.name=t}}var E=Object.defineProperty,x=(e,s,r)=>s in e?E(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,w=(e,s,r)=>x(e,typeof s!=\"symbol\"?s+\"\":s,r);class C{constructor(){w(this,\"map\",new Map)}}class P extends o{constructor(s,r){super(),this.relayer=s,this.logger=r}}class j{constructor(s,r){this.core=s,this.logger=r}}class S extends o{constructor(s,r){super(),this.core=s,this.logger=r}}class ${constructor(s,r){this.logger=s,this.core=r}}class M{constructor(s,r,t){this.core=s,this.logger=r,this.store=t}}class O{constructor(s,r){this.projectId=s,this.logger=r}}class R{constructor(s,r,t){this.core=s,this.logger=r,this.telemetryEnabled=t}}var T=Object.defineProperty,k=(e,s,r)=>s in e?T(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r,i=(e,s,r)=>k(e,typeof s!=\"symbol\"?s+\"\":s,r);class H extends n{constructor(){super()}}class J{constructor(s){this.opts=s,i(this,\"protocol\",\"wc\"),i(this,\"version\",2)}}class K extends l{constructor(){super()}}class V{constructor(s){this.client=s}}export{h as ICore,g as ICrypto,O as IEchoClient,V as IEngine,K as IEngineEvents,R as IEventClient,S as IExpirer,I as IJsonRpcHistory,j as IKeyChain,y as IMessageTracker,$ as IPairing,m as IPublisher,d as IRelayer,J as ISignClient,H as ISignClientEvents,f as IStore,P as ISubscriber,C as ISubscriberTopicMap,M as IVerify};\n//# sourceMappingURL=index.es.js.map\n","export const PARSE_ERROR = \"PARSE_ERROR\";\nexport const INVALID_REQUEST = \"INVALID_REQUEST\";\nexport const METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nexport const INVALID_PARAMS = \"INVALID_PARAMS\";\nexport const INTERNAL_ERROR = \"INTERNAL_ERROR\";\nexport const SERVER_ERROR = \"SERVER_ERROR\";\nexport const RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nexport const SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nexport const STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nexport const DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map","import { SERVER_ERROR_CODE_RANGE, RESERVED_ERROR_CODES, STANDARD_ERROR_MAP, DEFAULT_ERROR, } from \"./constants\";\nexport function isServerErrorCode(code) {\n return code <= SERVER_ERROR_CODE_RANGE[0] && code >= SERVER_ERROR_CODE_RANGE[1];\n}\nexport function isReservedErrorCode(code) {\n return RESERVED_ERROR_CODES.includes(code);\n}\nexport function isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nexport function getError(type) {\n if (!Object.keys(STANDARD_ERROR_MAP).includes(type)) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return STANDARD_ERROR_MAP[type];\n}\nexport function getErrorByCode(code) {\n const match = Object.values(STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return match;\n}\nexport function validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== STANDARD_ERROR_MAP[DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nexport function parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (global === null || global === void 0 ? void 0 : global.crypto) || (global === null || global === void 0 ? void 0 : global.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./crypto\"), exports);\ntslib_1.__exportStar(require(\"./env\"), exports);\n//# sourceMappingURL=index.js.map","import { getError, getErrorByCode, isReservedErrorCode } from \"./error\";\nimport { INTERNAL_ERROR, SERVER_ERROR } from \"./constants\";\nexport function payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nexport function getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nexport function formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nexport function formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nexport function formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nexport function formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return getError(INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, getError(SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if (isReservedErrorCode(error.code)) {\n error = getErrorByCode(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map","export class IEvents {\n}\n//# sourceMappingURL=misc.js.map","import { IEvents } from \"./misc\";\nexport class IJsonRpcConnection extends IEvents {\n constructor(opts) {\n super();\n }\n}\nexport class IBaseJsonRpcProvider extends IEvents {\n constructor() {\n super();\n }\n}\nexport class IJsonRpcProvider extends IBaseJsonRpcProvider {\n constructor(connection) {\n super();\n }\n}\n//# sourceMappingURL=provider.js.map","const HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nexport function isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nexport function isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nexport function isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map","export function isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nexport function isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nexport function isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nexport function isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nexport function isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nexport function isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map","import{EventEmitter as c}from\"events\";import{IJsonRpcProvider as r,formatJsonRpcRequest as h,getBigIntRpcId as a,isJsonRpcError as d,isJsonRpcResponse as v}from\"@walletconnect/jsonrpc-utils\";class o extends r{constructor(t){super(t),this.events=new c,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(t),this.connection.connected&&this.registerEventListeners()}async connect(t=this.connection){await this.open(t)}async disconnect(){await this.close()}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}off(t,e){this.events.off(t,e)}removeListener(t,e){this.events.removeListener(t,e)}async request(t,e){return this.requestStrict(h(t.method,t.params||[],t.id||a().toString()),e)}async requestStrict(t,e){return new Promise(async(i,s)=>{if(!this.connection.connected)try{await this.open()}catch(n){s(n)}this.events.on(`${t.id}`,n=>{d(n)?s(n.error):i(n.result)});try{await this.connection.send(t,e)}catch(n){s(n)}})}setConnection(t=this.connection){return t}onPayload(t){this.events.emit(\"payload\",t),v(t)?this.events.emit(`${t.id}`,t):this.events.emit(\"message\",{type:t.method,data:t.params})}onClose(t){t&&t.code===3e3&&this.events.emit(\"error\",new Error(`WebSocket connection closed abnormally with code: ${t.code} ${t.reason?`(${t.reason})`:\"\"}`)),this.events.emit(\"disconnect\")}async open(t=this.connection){this.connection===t&&this.connection.connected||(this.connection.connected&&this.close(),typeof t==\"string\"&&(await this.connection.open(t),t=this.connection),this.connection=this.setConnection(t),await this.connection.open(),this.registerEventListeners(),this.events.emit(\"connect\"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on(\"payload\",t=>this.onPayload(t)),this.connection.on(\"close\",t=>this.onClose(t)),this.connection.on(\"error\",t=>this.events.emit(\"error\",t)),this.connection.on(\"register_error\",t=>this.onClose()),this.hasRegisteredEventListeners=!0)}}export{o as JsonRpcProvider,o as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as l}from\"events\";import{safeJsonStringify as u,safeJsonParse as p}from\"@walletconnect/safe-json\";import{isWsUrl as c,isReactNative as g,isLocalhostUrl as y,formatJsonRpcError as k,parseConnectionError as m}from\"@walletconnect/jsonrpc-utils\";const v=()=>typeof WebSocket<\"u\"?WebSocket:typeof global<\"u\"&&typeof global.WebSocket<\"u\"?global.WebSocket:typeof window<\"u\"&&typeof window.WebSocket<\"u\"?window.WebSocket:typeof self<\"u\"&&typeof self.WebSocket<\"u\"?self.WebSocket:require(\"ws\"),w=()=>typeof WebSocket<\"u\"||typeof global<\"u\"&&typeof global.WebSocket<\"u\"||typeof window<\"u\"&&typeof window.WebSocket<\"u\"||typeof self<\"u\"&&typeof self.WebSocket<\"u\",d=r=>r.split(\"?\")[0],h=10,b=v();class f{constructor(e){if(this.url=e,this.events=new l,this.registering=!1,!c(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<\"u\"}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>\"u\"){t(new Error(\"Connection already closed\"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>\"u\"&&(this.socket=await this.register());try{this.socket.send(u(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!c(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount(\"register_error\")>=t||this.events.listenerCount(\"open\")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,s)=>{this.events.once(\"register_error\",o=>{this.resetMaxListeners(),s(o)}),this.events.once(\"open\",()=>{if(this.resetMaxListeners(),typeof this.socket>\"u\")return s(new Error(\"WebSocket connection is missing or invalid\"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const s=g()?void 0:{rejectUnauthorized:!y(e)},o=new b(e,[],s);w()?o.onerror=i=>{const a=i;n(this.emitError(a.error))}:o.on(\"error\",i=>{n(this.emitError(i))}),o.onopen=()=>{this.onOpen(o),t(o)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit(\"open\")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(\"close\",e)}onPayload(e){if(typeof e.data>\"u\")return;const t=typeof e.data==\"string\"?p(e.data):e.data;this.events.emit(\"payload\",t)}onError(e,t){const n=this.parseError(t),s=n.message||n.toString(),o=k(e,s);this.events.emit(\"payload\",o)}parseError(e,t=this.url){return m(e,d(t),\"WS\")}resetMaxListeners(){this.events.getMaxListeners()>h&&this.events.setMaxListeners(h)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${d(this.url)}`));return this.events.emit(\"register_error\",t),t}}export{f as WsConnection,f as default};\n//# sourceMappingURL=index.es.js.map\n","import Gi,{EventEmitter as ee}from\"events\";import{HEARTBEAT_EVENTS as ne,HeartBeat as Wi}from\"@walletconnect/heartbeat\";import Hi from\"@walletconnect/keyvaluestorage\";import{generateChildLogger as N,getLoggerContext as U,pino as Yi,getDefaultLoggerOptions as et,generatePlatformLogger as Ji}from\"@walletconnect/logger\";import{IMessageTracker as Xi,IPublisher as Zi,ISubscriber as Qi,IRelayer as es,IStore as ts,IJsonRpcHistory as is,IExpirer as ss,IVerify as rs,IEchoClient as ns,IEventClient as os,ICore as as}from\"@walletconnect/types\";import{ONE_DAY as te,SIX_HOURS as cs,THIRTY_DAYS as Ce,FIVE_SECONDS as Pe,THIRTY_SECONDS as Se,toMiliseconds as O,ONE_MINUTE as tt,ONE_SECOND as Z,FIVE_MINUTES as fe,fromMiliseconds as it}from\"@walletconnect/time\";import{safeJsonStringify as hs,safeJsonParse as st}from\"@walletconnect/safe-json\";import*as De from\"@walletconnect/relay-auth\";import{decodeJWT as rt}from\"@walletconnect/relay-auth\";import{mapToObj as Re,objToMap as Oe,getInternalError as m,generateRandomBytes32 as Ae,generateKeyPair as ls,deriveSymKey as us,hashKey as ds,validateEncoding as gs,isTypeTwoEnvelope as nt,encodeTypeTwoEnvelope as ps,isTypeOneEnvelope as ot,encrypt as ys,validateDecoding as bs,decodeTypeTwoEnvelope as ms,decrypt as fs,deserialize as at,decodeTypeByte as Ds,BASE64 as ct,BASE16 as vs,hashMessage as ve,getRelayProtocolApi as oe,getRelayProtocolName as we,isUndefined as xe,createExpiringPromise as X,getSdkError as ae,sleep as ws,isAndroid as _s,getAppId as ht,isIos as Es,isOnline as lt,calcExpiry as ce,isNode as ut,formatRelayRpcUrl as Is,subscribeToNetworkChange as Ts,isProposalStruct as Cs,isSessionStruct as Ps,parseExpirerTarget as Ss,TYPE_1 as Rs,formatUri as dt,parseUri as gt,createDelayedPromise as Os,engineEvent as Ne,isExpired as pt,isValidParams as $e,isValidUrl as As,isValidString as xs,formatTopicTarget as Ns,formatIdTarget as $s,isTestRun as yt,isBrowser as zs,verifyP256Jwt as Ls,uuidv4 as bt,formatUA as ks,getAppMetadata as js}from\"@walletconnect/utils\";import{toString as Us}from\"uint8arrays\";import{JsonRpcProvider as Ms}from\"@walletconnect/jsonrpc-provider\";import{getBigIntRpcId as mt,isJsonRpcRequest as ft,isJsonRpcResponse as Dt,formatJsonRpcResult as vt,formatJsonRpcRequest as wt,formatJsonRpcError as Fs,isJsonRpcResult as Ks,isJsonRpcError as _t}from\"@walletconnect/jsonrpc-utils\";import Bs from\"@walletconnect/jsonrpc-ws-connection\";import{getDocument as Vs}from\"@walletconnect/window-getters\";const ze=\"wc\",Le=2,he=\"core\",B=`${ze}@2:${he}:`,Et={name:he,logger:\"error\"},It={database:\":memory:\"},Tt=\"crypto\",ke=\"client_ed25519_seed\",Ct=te,Pt=\"keychain\",St=\"0.3\",Rt=\"messages\",Ot=\"0.3\",je=cs,At=\"publisher\",xt=\"irn\",Nt=\"error\",Ue=\"wss://relay.walletconnect.org\",$t=\"relayer\",C={message:\"relayer_message\",message_ack:\"relayer_message_ack\",connect:\"relayer_connect\",disconnect:\"relayer_disconnect\",error:\"relayer_error\",connection_stalled:\"relayer_connection_stalled\",transport_closed:\"relayer_transport_closed\",publish:\"relayer_publish\"},zt=\"_subscription\",L={payload:\"payload\",connect:\"connect\",disconnect:\"disconnect\",error:\"error\"},Lt=.1,qs={database:\":memory:\"},_e=\"2.19.1\",Gs=1e4,Q={link_mode:\"link_mode\",relay:\"relay\"},le={inbound:\"inbound\",outbound:\"outbound\"},kt=\"0.3\",jt=\"WALLETCONNECT_CLIENT_ID\",Me=\"WALLETCONNECT_LINK_MODE_APPS\",$={created:\"subscription_created\",deleted:\"subscription_deleted\",expired:\"subscription_expired\",disabled:\"subscription_disabled\",sync:\"subscription_sync\",resubscribed:\"subscription_resubscribed\"},Ws=Ce,Ut=\"subscription\",Mt=\"0.3\",Hs=Pe*1e3,Ft=\"pairing\",Kt=\"0.3\",Ys=Ce,ie={wc_pairingDelete:{req:{ttl:te,prompt:!1,tag:1e3},res:{ttl:te,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Se,prompt:!1,tag:1002},res:{ttl:Se,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:te,prompt:!1,tag:0},res:{ttl:te,prompt:!1,tag:0}}},se={create:\"pairing_create\",expire:\"pairing_expire\",delete:\"pairing_delete\",ping:\"pairing_ping\"},M={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},Bt=\"history\",Vt=\"0.3\",qt=\"expirer\",F={created:\"expirer_created\",deleted:\"expirer_deleted\",expired:\"expirer_expired\",sync:\"expirer_sync\"},Gt=\"0.3\",Js=te,Wt=\"verify-api\",Xs=\"https://verify.walletconnect.com\",Ht=\"https://verify.walletconnect.org\",ue=Ht,Yt=`${ue}/v3`,Jt=[Xs,Ht],Xt=\"echo\",Zt=\"https://echo.walletconnect.com\",Zs=\"event-client\",G={pairing_started:\"pairing_started\",pairing_uri_validation_success:\"pairing_uri_validation_success\",pairing_uri_not_expired:\"pairing_uri_not_expired\",store_new_pairing:\"store_new_pairing\",subscribing_pairing_topic:\"subscribing_pairing_topic\",subscribe_pairing_topic_success:\"subscribe_pairing_topic_success\",existing_pairing:\"existing_pairing\",pairing_not_expired:\"pairing_not_expired\",emit_inactive_pairing:\"emit_inactive_pairing\",emit_session_proposal:\"emit_session_proposal\",subscribing_to_pairing_topic:\"subscribing_to_pairing_topic\"},Y={no_wss_connection:\"no_wss_connection\",no_internet_connection:\"no_internet_connection\",malformed_pairing_uri:\"malformed_pairing_uri\",active_pairing_already_exists:\"active_pairing_already_exists\",subscribe_pairing_topic_failure:\"subscribe_pairing_topic_failure\",pairing_expired:\"pairing_expired\",proposal_expired:\"proposal_expired\",proposal_listener_not_found:\"proposal_listener_not_found\"},Qs={session_approve_started:\"session_approve_started\",proposal_not_expired:\"proposal_not_expired\",session_namespaces_validation_success:\"session_namespaces_validation_success\",create_session_topic:\"create_session_topic\",subscribing_session_topic:\"subscribing_session_topic\",subscribe_session_topic_success:\"subscribe_session_topic_success\",publishing_session_approve:\"publishing_session_approve\",session_approve_publish_success:\"session_approve_publish_success\",store_session:\"store_session\",publishing_session_settle:\"publishing_session_settle\",session_settle_publish_success:\"session_settle_publish_success\"},er={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",proposal_expired:\"proposal_expired\",subscribe_session_topic_failure:\"subscribe_session_topic_failure\",session_approve_publish_failure:\"session_approve_publish_failure\",session_settle_publish_failure:\"session_settle_publish_failure\",session_approve_namespace_validation_failure:\"session_approve_namespace_validation_failure\",proposal_not_found:\"proposal_not_found\"},tr={authenticated_session_approve_started:\"authenticated_session_approve_started\",authenticated_session_not_expired:\"authenticated_session_not_expired\",chains_caip2_compliant:\"chains_caip2_compliant\",chains_evm_compliant:\"chains_evm_compliant\",create_authenticated_session_topic:\"create_authenticated_session_topic\",cacaos_verified:\"cacaos_verified\",store_authenticated_session:\"store_authenticated_session\",subscribing_authenticated_session_topic:\"subscribing_authenticated_session_topic\",subscribe_authenticated_session_topic_success:\"subscribe_authenticated_session_topic_success\",publishing_authenticated_session_approve:\"publishing_authenticated_session_approve\",authenticated_session_approve_publish_success:\"authenticated_session_approve_publish_success\"},ir={no_internet_connection:\"no_internet_connection\",no_wss_connection:\"no_wss_connection\",missing_session_authenticate_request:\"missing_session_authenticate_request\",session_authenticate_request_expired:\"session_authenticate_request_expired\",chains_caip2_compliant_failure:\"chains_caip2_compliant_failure\",chains_evm_compliant_failure:\"chains_evm_compliant_failure\",invalid_cacao:\"invalid_cacao\",subscribe_authenticated_session_topic_failure:\"subscribe_authenticated_session_topic_failure\",authenticated_session_approve_publish_failure:\"authenticated_session_approve_publish_failure\",authenticated_session_pending_request_not_found:\"authenticated_session_pending_request_not_found\"},Qt=.1,ei=\"event-client\",ti=86400,ii=\"https://pulse.walletconnect.org/batch\";function sr(r,e){if(r.length>=255)throw new TypeError(\"Alphabet too long\");for(var t=new Uint8Array(256),s=0;s>>0,T=new Uint8Array(j);I!==D;){for(var q=l[I],J=0,K=j-1;(q!==0||J>>0,T[K]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error(\"Non-zero carry\");x=J,I++}for(var H=j-x;H!==j&&T[H]===0;)H++;for(var me=c.repeat(b);H>>0,j=new Uint8Array(D);l[b];){var T=t[l.charCodeAt(b)];if(T===255)return;for(var q=0,J=D-1;(T!==0||q>>0,j[J]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error(\"Non-zero carry\");I=q,b++}if(l[b]!==\" \"){for(var K=D-I;K!==D&&j[K]===0;)K++;for(var H=new Uint8Array(x+(D-K)),me=x;K!==D;)H[me++]=j[K++];return H}}}function _(l){var b=g(l);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:g,decode:_}}var rr=sr,nr=rr;const si=r=>{if(r instanceof Uint8Array&&r.constructor.name===\"Uint8Array\")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error(\"Unknown type, must be binary type\")},or=r=>new TextEncoder().encode(r),ar=r=>new TextDecoder().decode(r);class cr{constructor(e,t,s){this.name=e,this.prefix=t,this.baseEncode=s}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(\"Unknown type, must be binary type\")}}class hr{constructor(e,t,s){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error(\"Invalid prefix character\");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=s}decode(e){if(typeof e==\"string\"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(\"Can only multibase decode strings\")}or(e){return ri(this,e)}}class lr{constructor(e){this.decoders=e}or(e){return ri(this,e)}decode(e){const t=e[0],s=this.decoders[t];if(s)return s.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ri=(r,e)=>new lr({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class ur{constructor(e,t,s,i){this.name=e,this.prefix=t,this.baseEncode=s,this.baseDecode=i,this.encoder=new cr(e,t,s),this.decoder=new hr(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ee=({name:r,prefix:e,encode:t,decode:s})=>new ur(r,e,t,s),de=({prefix:r,name:e,alphabet:t})=>{const{encode:s,decode:i}=nr(t,e);return Ee({prefix:r,name:e,encode:s,decode:n=>si(i(n))})},dr=(r,e,t,s)=>{const i={};for(let u=0;u=8&&(a-=8,o[h++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError(\"Unexpected end of data\");return o},gr=(r,e,t)=>{const s=e[e.length-1]===\"=\",i=(1<t;)o-=t,n+=e[i&a>>o];if(o&&(n+=e[i&a<Ee({prefix:e,name:r,encode(i){return gr(i,s,t)},decode(i){return dr(i,s,t,r)}}),pr=Ee({prefix:\"\\0\",name:\"identity\",encode:r=>ar(r),decode:r=>or(r)});var yr=Object.freeze({__proto__:null,identity:pr});const br=P({prefix:\"0\",name:\"base2\",alphabet:\"01\",bitsPerChar:1});var mr=Object.freeze({__proto__:null,base2:br});const fr=P({prefix:\"7\",name:\"base8\",alphabet:\"01234567\",bitsPerChar:3});var Dr=Object.freeze({__proto__:null,base8:fr});const vr=de({prefix:\"9\",name:\"base10\",alphabet:\"0123456789\"});var wr=Object.freeze({__proto__:null,base10:vr});const _r=P({prefix:\"f\",name:\"base16\",alphabet:\"0123456789abcdef\",bitsPerChar:4}),Er=P({prefix:\"F\",name:\"base16upper\",alphabet:\"0123456789ABCDEF\",bitsPerChar:4});var Ir=Object.freeze({__proto__:null,base16:_r,base16upper:Er});const Tr=P({prefix:\"b\",name:\"base32\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567\",bitsPerChar:5}),Cr=P({prefix:\"B\",name:\"base32upper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",bitsPerChar:5}),Pr=P({prefix:\"c\",name:\"base32pad\",alphabet:\"abcdefghijklmnopqrstuvwxyz234567=\",bitsPerChar:5}),Sr=P({prefix:\"C\",name:\"base32padupper\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=\",bitsPerChar:5}),Rr=P({prefix:\"v\",name:\"base32hex\",alphabet:\"0123456789abcdefghijklmnopqrstuv\",bitsPerChar:5}),Or=P({prefix:\"V\",name:\"base32hexupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",bitsPerChar:5}),Ar=P({prefix:\"t\",name:\"base32hexpad\",alphabet:\"0123456789abcdefghijklmnopqrstuv=\",bitsPerChar:5}),xr=P({prefix:\"T\",name:\"base32hexpadupper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUV=\",bitsPerChar:5}),Nr=P({prefix:\"h\",name:\"base32z\",alphabet:\"ybndrfg8ejkmcpqxot1uwisza345h769\",bitsPerChar:5});var $r=Object.freeze({__proto__:null,base32:Tr,base32upper:Cr,base32pad:Pr,base32padupper:Sr,base32hex:Rr,base32hexupper:Or,base32hexpad:Ar,base32hexpadupper:xr,base32z:Nr});const zr=de({prefix:\"k\",name:\"base36\",alphabet:\"0123456789abcdefghijklmnopqrstuvwxyz\"}),Lr=de({prefix:\"K\",name:\"base36upper\",alphabet:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"});var kr=Object.freeze({__proto__:null,base36:zr,base36upper:Lr});const jr=de({name:\"base58btc\",prefix:\"z\",alphabet:\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"}),Ur=de({name:\"base58flickr\",prefix:\"Z\",alphabet:\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"});var Mr=Object.freeze({__proto__:null,base58btc:jr,base58flickr:Ur});const Fr=P({prefix:\"m\",name:\"base64\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",bitsPerChar:6}),Kr=P({prefix:\"M\",name:\"base64pad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",bitsPerChar:6}),Br=P({prefix:\"u\",name:\"base64url\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\",bitsPerChar:6}),Vr=P({prefix:\"U\",name:\"base64urlpad\",alphabet:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=\",bitsPerChar:6});var qr=Object.freeze({__proto__:null,base64:Fr,base64pad:Kr,base64url:Br,base64urlpad:Vr});const ni=Array.from(\"\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}\"),Gr=ni.reduce((r,e,t)=>(r[t]=e,r),[]),Wr=ni.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Hr(r){return r.reduce((e,t)=>(e+=Gr[t],e),\"\")}function Yr(r){const e=[];for(const t of r){const s=Wr[t.codePointAt(0)];if(s===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(s)}return new Uint8Array(e)}const Jr=Ee({prefix:\"\\u{1F680}\",name:\"base256emoji\",encode:Hr,decode:Yr});var Xr=Object.freeze({__proto__:null,base256emoji:Jr}),Zr=ai,oi=128,Qr=127,en=~Qr,tn=Math.pow(2,31);function ai(r,e,t){e=e||[],t=t||0;for(var s=t;r>=tn;)e[t++]=r&255|oi,r/=128;for(;r&en;)e[t++]=r&255|oi,r>>>=7;return e[t]=r|0,ai.bytes=t-s+1,e}var sn=Fe,rn=128,ci=127;function Fe(r,s){var t=0,s=s||0,i=0,n=s,o,a=r.length;do{if(n>=a)throw Fe.bytes=0,new RangeError(\"Could not decode varint\");o=r[n++],t+=i<28?(o&ci)<=rn);return Fe.bytes=n-s,t}var nn=Math.pow(2,7),on=Math.pow(2,14),an=Math.pow(2,21),cn=Math.pow(2,28),hn=Math.pow(2,35),ln=Math.pow(2,42),un=Math.pow(2,49),dn=Math.pow(2,56),gn=Math.pow(2,63),pn=function(r){return r(hi.encode(r,e,t),e),ui=r=>hi.encodingLength(r),Ke=(r,e)=>{const t=e.byteLength,s=ui(r),i=s+ui(t),n=new Uint8Array(i+t);return li(r,n,0),li(t,n,s),n.set(e,i),new bn(r,t,e,n)};class bn{constructor(e,t,s,i){this.code=e,this.size=t,this.digest=s,this.bytes=i}}const di=({name:r,code:e,encode:t})=>new mn(r,e,t);class mn{constructor(e,t,s){this.name=e,this.code=t,this.encode=s}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Ke(this.code,t):t.then(s=>Ke(this.code,s))}else throw Error(\"Unknown type, must be binary type\")}}const gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),fn=di({name:\"sha2-256\",code:18,encode:gi(\"SHA-256\")}),Dn=di({name:\"sha2-512\",code:19,encode:gi(\"SHA-512\")});var vn=Object.freeze({__proto__:null,sha256:fn,sha512:Dn});const pi=0,wn=\"identity\",yi=si,_n=r=>Ke(pi,yi(r)),En={code:pi,name:wn,encode:yi,digest:_n};var In=Object.freeze({__proto__:null,identity:En});new TextEncoder,new TextDecoder;const bi={...yr,...mr,...Dr,...wr,...Ir,...$r,...kr,...Mr,...qr,...Xr};({...vn,...In});function Tn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function mi(r,e,t,s){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:s}}}const fi=mi(\"utf8\",\"u\",r=>\"u\"+new TextDecoder(\"utf8\").decode(r),r=>new TextEncoder().encode(r.substring(1))),Be=mi(\"ascii\",\"a\",r=>{let e=\"a\";for(let t=0;t{r=r.substring(1);const e=Tn(r.length);for(let t=0;te in r?Sn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>Rn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Di{constructor(e,t){this.core=e,this.logger=t,W(this,\"keychain\",new Map),W(this,\"name\",Pt),W(this,\"version\",St),W(this,\"initialized\",!1),W(this,\"storagePrefix\",B),W(this,\"init\",async()=>{if(!this.initialized){const s=await this.getKeyChain();typeof s<\"u\"&&(this.keychain=s),this.initialized=!0}}),W(this,\"has\",s=>(this.isInitialized(),this.keychain.has(s))),W(this,\"set\",async(s,i)=>{this.isInitialized(),this.keychain.set(s,i),await this.persist()}),W(this,\"get\",s=>{this.isInitialized();const i=this.keychain.get(s);if(typeof i>\"u\"){const{message:n}=m(\"NO_MATCHING_KEY\",`${this.name}: ${s}`);throw new Error(n)}return i}),W(this,\"del\",async s=>{this.isInitialized(),this.keychain.delete(s),await this.persist()}),this.core=e,this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Re(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Oe(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var On=Object.defineProperty,An=(r,e,t)=>e in r?On(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e,t)=>An(r,typeof e!=\"symbol\"?e+\"\":e,t);class vi{constructor(e,t,s){this.core=e,this.logger=t,S(this,\"name\",Tt),S(this,\"keychain\"),S(this,\"randomSessionIdentifier\",Ae()),S(this,\"initialized\",!1),S(this,\"init\",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),S(this,\"hasKeys\",i=>(this.isInitialized(),this.keychain.has(i))),S(this,\"getClientId\",async()=>{this.isInitialized();const i=await this.getClientSeed(),n=De.generateKeyPair(i);return De.encodeIss(n.publicKey)}),S(this,\"generateKeyPair\",()=>{this.isInitialized();const i=ls();return this.setPrivateKey(i.publicKey,i.privateKey)}),S(this,\"signJWT\",async i=>{this.isInitialized();const n=await this.getClientSeed(),o=De.generateKeyPair(n),a=this.randomSessionIdentifier,c=Ct;return await De.signJWT(a,i,c,o)}),S(this,\"generateSharedKey\",(i,n,o)=>{this.isInitialized();const a=this.getPrivateKey(i),c=us(a,n);return this.setSymKey(c,o)}),S(this,\"setSymKey\",async(i,n)=>{this.isInitialized();const o=n||ds(i);return await this.keychain.set(o,i),o}),S(this,\"deleteKeyPair\",async i=>{this.isInitialized(),await this.keychain.del(i)}),S(this,\"deleteSymKey\",async i=>{this.isInitialized(),await this.keychain.del(i)}),S(this,\"encode\",async(i,n,o)=>{this.isInitialized();const a=gs(o),c=hs(n);if(nt(a))return ps(c,o?.encoding);if(ot(a)){const g=a.senderPublicKey,_=a.receiverPublicKey;i=await this.generateSharedKey(g,_)}const h=this.getSymKey(i),{type:u,senderPublicKey:d}=a;return ys({type:u,symKey:h,message:c,senderPublicKey:d,encoding:o?.encoding})}),S(this,\"decode\",async(i,n,o)=>{this.isInitialized();const a=bs(n,o);if(nt(a)){const c=ms(n,o?.encoding);return st(c)}if(ot(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;i=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(i),h=fs({symKey:c,encoded:n,encoding:o?.encoding});return st(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),S(this,\"getPayloadType\",(i,n=ct)=>{const o=at({encoded:i,encoding:n});return Ds(o.type)}),S(this,\"getPayloadSenderPublicKey\",(i,n=ct)=>{const o=at({encoded:i,encoding:n});return o.senderPublicKey?Us(o.senderPublicKey,vs):void 0}),this.core=e,this.logger=N(t,this.name),this.keychain=s||new Di(this.core,this.logger)}get context(){return U(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=\"\";try{e=this.keychain.get(ke)}catch{e=Ae(),await this.keychain.set(ke,e)}return Pn(e,\"base16\")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var xn=Object.defineProperty,Nn=Object.defineProperties,$n=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,zn=Object.prototype.hasOwnProperty,Ln=Object.prototype.propertyIsEnumerable,Ve=(r,e,t)=>e in r?xn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,kn=(r,e)=>{for(var t in e||(e={}))zn.call(e,t)&&Ve(r,t,e[t]);if(wi)for(var t of wi(e))Ln.call(e,t)&&Ve(r,t,e[t]);return r},jn=(r,e)=>Nn(r,$n(e)),k=(r,e,t)=>Ve(r,typeof e!=\"symbol\"?e+\"\":e,t);class _i extends Xi{constructor(e,t){super(e,t),this.logger=e,this.core=t,k(this,\"messages\",new Map),k(this,\"messagesWithoutClientAck\",new Map),k(this,\"name\",Rt),k(this,\"version\",Ot),k(this,\"initialized\",!1),k(this,\"storagePrefix\",B),k(this,\"init\",async()=>{if(!this.initialized){this.logger.trace(\"Initialized\");try{const s=await this.getRelayerMessages();typeof s<\"u\"&&(this.messages=s);const i=await this.getRelayerMessagesWithoutClientAck();typeof i<\"u\"&&(this.messagesWithoutClientAck=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",size:this.messages.size})}catch(s){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(s)}finally{this.initialized=!0}}}),k(this,\"set\",async(s,i,n)=>{this.isInitialized();const o=ve(i);let a=this.messages.get(s);if(typeof a>\"u\"&&(a={}),typeof a[o]<\"u\")return o;if(a[o]=i,this.messages.set(s,a),n===le.inbound){const c=this.messagesWithoutClientAck.get(s)||{};this.messagesWithoutClientAck.set(s,jn(kn({},c),{[o]:i}))}return await this.persist(),o}),k(this,\"get\",s=>{this.isInitialized();let i=this.messages.get(s);return typeof i>\"u\"&&(i={}),i}),k(this,\"getWithoutAck\",s=>{this.isInitialized();const i={};for(const n of s){const o=this.messagesWithoutClientAck.get(n)||{};i[n]=Object.values(o)}return i}),k(this,\"has\",(s,i)=>{this.isInitialized();const n=this.get(s),o=ve(i);return typeof n[o]<\"u\"}),k(this,\"ack\",async(s,i)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(s);if(typeof n>\"u\")return;const o=ve(i);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(s):this.messagesWithoutClientAck.set(s,n),await this.persist()}),k(this,\"del\",async s=>{this.isInitialized(),this.messages.delete(s),this.messagesWithoutClientAck.delete(s),await this.persist()}),this.logger=N(e,this.name),this.core=t}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name+\"_withoutClientAck\"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Re(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Re(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<\"u\"?Oe(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<\"u\"?Oe(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Un=Object.defineProperty,Mn=Object.defineProperties,Fn=Object.getOwnPropertyDescriptors,Ei=Object.getOwnPropertySymbols,Kn=Object.prototype.hasOwnProperty,Bn=Object.prototype.propertyIsEnumerable,qe=(r,e,t)=>e in r?Un(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e)=>{for(var t in e||(e={}))Kn.call(e,t)&&qe(r,t,e[t]);if(Ei)for(var t of Ei(e))Bn.call(e,t)&&qe(r,t,e[t]);return r},Ge=(r,e)=>Mn(r,Fn(e)),V=(r,e,t)=>qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Vn extends Zi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,V(this,\"events\",new ee),V(this,\"name\",At),V(this,\"queue\",new Map),V(this,\"publishTimeout\",O(tt)),V(this,\"initialPublishTimeout\",O(Z*15)),V(this,\"needsTransportRestart\",!1),V(this,\"publish\",async(s,i,n)=>{var o;this.logger.debug(\"Publishing Payload\"),this.logger.trace({type:\"method\",method:\"publish\",params:{topic:s,message:i,opts:n}});const a=n?.ttl||je,c=we(n),h=n?.prompt||!1,u=n?.tag||0,d=n?.id||mt().toString(),g={topic:s,message:i,opts:{ttl:a,relay:c,prompt:h,tag:u,id:d,attestation:n?.attestation,tvf:n?.tvf}},_=`Failed to publish payload, please try again. id:${d} tag:${u}`;try{const l=new Promise(async b=>{const x=({id:D})=>{g.opts.id===D&&(this.removeRequestFromQueue(D),this.relayer.events.removeListener(C.publish,x),b(g))};this.relayer.events.on(C.publish,x);const I=X(new Promise((D,j)=>{this.rpcPublish({topic:s,message:i,ttl:a,prompt:h,tag:u,id:d,attestation:n?.attestation,tvf:n?.tvf}).then(D).catch(T=>{this.logger.warn(T,T?.message),j(T)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${d} tag:${u}`);try{await I,this.events.removeListener(C.publish,x)}catch(D){this.queue.set(d,Ge(Ie({},g),{attempt:1})),this.logger.warn(D,D?.message)}});this.logger.trace({type:\"method\",method:\"publish\",params:{id:d,topic:s,message:i,opts:n}}),await X(l,this.publishTimeout,_)}catch(l){if(this.logger.debug(\"Failed to Publish Payload\"),this.logger.error(l),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw l}finally{this.queue.delete(d)}}),V(this,\"on\",(s,i)=>{this.events.on(s,i)}),V(this,\"once\",(s,i)=>{this.events.once(s,i)}),V(this,\"off\",(s,i)=>{this.events.off(s,i)}),V(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),this.relayer=e,this.logger=N(t,this.name),this.registerEventListeners()}get context(){return U(this.logger)}async rpcPublish(e){var t,s,i,n;const{topic:o,message:a,ttl:c=je,prompt:h,tag:u,id:d,attestation:g,tvf:_}=e,l={method:oe(we().protocol).publish,params:Ie({topic:o,message:a,ttl:c,prompt:h,tag:u,attestation:g},_),id:d};xe((t=l.params)==null?void 0:t.prompt)&&((s=l.params)==null||delete s.prompt),xe((i=l.params)==null?void 0:i.tag)&&((n=l.params)==null||delete n.tag),this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"message\",direction:\"outgoing\",request:l});const b=await this.relayer.request(l);return this.relayer.events.emit(C.publish,e),this.logger.debug(\"Successfully Published Payload\"),b}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const s=e.attempt+1;this.queue.set(t,Ge(Ie({},e),{attempt:s}));const{topic:i,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${s}`),await this.rpcPublish(Ge(Ie({},e),{topic:i,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(ne.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(C.connection_stalled);return}this.checkQueue()}),this.relayer.on(C.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var qn=Object.defineProperty,Gn=(r,e,t)=>e in r?qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,re=(r,e,t)=>Gn(r,typeof e!=\"symbol\"?e+\"\":e,t);class Wn{constructor(){re(this,\"map\",new Map),re(this,\"set\",(e,t)=>{const s=this.get(e);this.exists(e,t)||this.map.set(e,[...s,t])}),re(this,\"get\",e=>this.map.get(e)||[]),re(this,\"exists\",(e,t)=>this.get(e).includes(t)),re(this,\"delete\",(e,t)=>{if(typeof t>\"u\"){this.map.delete(e);return}if(!this.map.has(e))return;const s=this.get(e);if(!this.exists(e,t))return;const i=s.filter(n=>n!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),re(this,\"clear\",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Hn=Object.defineProperty,Yn=Object.defineProperties,Jn=Object.getOwnPropertyDescriptors,Ii=Object.getOwnPropertySymbols,Xn=Object.prototype.hasOwnProperty,Zn=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?Hn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ge=(r,e)=>{for(var t in e||(e={}))Xn.call(e,t)&&We(r,t,e[t]);if(Ii)for(var t of Ii(e))Zn.call(e,t)&&We(r,t,e[t]);return r},He=(r,e)=>Yn(r,Jn(e)),f=(r,e,t)=>We(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ti extends Qi{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,f(this,\"subscriptions\",new Map),f(this,\"topicMap\",new Wn),f(this,\"events\",new ee),f(this,\"name\",Ut),f(this,\"version\",Mt),f(this,\"pending\",new Map),f(this,\"cached\",[]),f(this,\"initialized\",!1),f(this,\"storagePrefix\",B),f(this,\"subscribeTimeout\",O(tt)),f(this,\"initialSubscribeTimeout\",O(Z*15)),f(this,\"clientId\"),f(this,\"batchSubscribeTopicsLimit\",500),f(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),f(this,\"subscribe\",async(s,i)=>{this.isInitialized(),this.logger.debug(\"Subscribing Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:s,opts:i}});try{const n=we(i),o={topic:s,relay:n,transportType:i?.transportType};this.pending.set(s,o);const a=await this.rpcSubscribe(s,n,i);return typeof a==\"string\"&&(this.onSubscribe(a,o),this.logger.debug(\"Successfully Subscribed Topic\"),this.logger.trace({type:\"method\",method:\"subscribe\",params:{topic:s,opts:i}})),a}catch(n){throw this.logger.debug(\"Failed to Subscribe Topic\"),this.logger.error(n),n}}),f(this,\"unsubscribe\",async(s,i)=>{this.isInitialized(),typeof i?.id<\"u\"?await this.unsubscribeById(s,i.id,i):await this.unsubscribeByTopic(s,i)}),f(this,\"isSubscribed\",s=>new Promise(i=>{i(this.topicMap.topics.includes(s))})),f(this,\"isKnownTopic\",s=>new Promise(i=>{i(this.topicMap.topics.includes(s)||this.pending.has(s)||this.cached.some(n=>n.topic===s))})),f(this,\"on\",(s,i)=>{this.events.on(s,i)}),f(this,\"once\",(s,i)=>{this.events.once(s,i)}),f(this,\"off\",(s,i)=>{this.events.off(s,i)}),f(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),f(this,\"start\",async()=>{await this.onConnect()}),f(this,\"stop\",async()=>{await this.onDisconnect()}),f(this,\"restart\",async()=>{await this.restore(),await this.onRestart()}),f(this,\"checkPending\",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const s=[];this.pending.forEach(i=>{s.push(i)}),await this.batchSubscribe(s)}),f(this,\"registerEventListeners\",()=>{this.relayer.core.heartbeat.on(ne.pulse,async()=>{await this.checkPending()}),this.events.on($.created,async s=>{const i=$.created;this.logger.info(`Emitting ${i}`),this.logger.debug({type:\"event\",event:i,data:s}),await this.persist()}),this.events.on($.deleted,async s=>{const i=$.deleted;this.logger.info(`Emitting ${i}`),this.logger.debug({type:\"event\",event:i,data:s}),await this.persist()})}),this.relayer=e,this.logger=N(t,this.name),this.clientId=\"\"}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+\"//\"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let s=!1;try{s=this.getSubscription(e).topic===t}catch{}return s}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const s=this.topicMap.get(e);await Promise.all(s.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,s){this.logger.debug(\"Unsubscribing Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:s}});try{const i=we(s);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);const n=ae(\"USER_DISCONNECTED\",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug(\"Successfully Unsubscribed Topic\"),this.logger.trace({type:\"method\",method:\"unsubscribe\",params:{topic:e,id:t,opts:s}})}catch(i){throw this.logger.debug(\"Failed to Unsubscribe Topic\"),this.logger.error(i),i}}async rpcSubscribe(e,t,s){var i;(!s||s?.transportType===Q.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:oe(t.protocol).subscribe,params:{topic:e}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:n});const o=(i=s?.internal)==null?void 0:i.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(s?.transportType===Q.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(u=>this.logger.warn(u))},O(Z)),a;const c=new Promise(async u=>{const d=g=>{g.topic===e&&(this.events.removeListener($.created,d),u(g.id))};this.events.on($.created,d);try{const g=await X(new Promise((_,l)=>{this.relayer.request(n).catch(b=>{this.logger.warn(b,b?.message),l(b)}).then(_)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener($.created,d),u(g)}catch{}}),h=await X(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug(\"Outgoing Relay Subscribe Payload stalled\"),this.relayer.events.emit(C.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,s={method:oe(t.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s});try{await await X(new Promise(i=>{this.relayer.request(s).catch(n=>this.logger.warn(n)).then(i)}),this.subscribeTimeout,\"rpcBatchSubscribe failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,s={method:oe(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:s});let i;try{i=await await X(new Promise((n,o)=>{this.relayer.request(s).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,\"rpcBatchFetchMessages failed, please try again\")}catch{this.relayer.events.emit(C.connection_stalled)}return i}rpcUnsubscribe(e,t,s){const i={method:oe(s.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(\"Outgoing Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"outgoing\",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,He(ge({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ge({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,s){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,s),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug(\"Setting subscription\"),this.logger.trace({type:\"method\",method:\"setSubscription\",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,ge({},t)),this.topicMap.set(t.topic,e),this.events.emit($.created,t)}getSubscription(e){this.logger.debug(\"Getting subscription\"),this.logger.trace({type:\"method\",method:\"getSubscription\",id:e});const t=this.subscriptions.get(e);if(!t){const{message:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(s)}return t}deleteSubscription(e,t){this.logger.debug(\"Deleting subscription\"),this.logger.trace({type:\"method\",method:\"deleteSubscription\",id:e,reason:t});const s=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(s.topic,e),this.events.emit($.deleted,He(ge({},s),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit($.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let s=0;s\"u\"||!e.length)return;if(this.subscriptions.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async t=>He(ge({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await ws(O(Z)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return ve(e+await this.getClientId())}}var Qn=Object.defineProperty,Ci=Object.getOwnPropertySymbols,eo=Object.prototype.hasOwnProperty,to=Object.prototype.propertyIsEnumerable,Ye=(r,e,t)=>e in r?Qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pi=(r,e)=>{for(var t in e||(e={}))eo.call(e,t)&&Ye(r,t,e[t]);if(Ci)for(var t of Ci(e))to.call(e,t)&&Ye(r,t,e[t]);return r},y=(r,e,t)=>Ye(r,typeof e!=\"symbol\"?e+\"\":e,t);class Si extends es{constructor(e){super(e),y(this,\"protocol\",\"wc\"),y(this,\"version\",2),y(this,\"core\"),y(this,\"logger\"),y(this,\"events\",new ee),y(this,\"provider\"),y(this,\"messages\"),y(this,\"subscriber\"),y(this,\"publisher\"),y(this,\"name\",$t),y(this,\"transportExplicitlyClosed\",!1),y(this,\"initialized\",!1),y(this,\"connectionAttemptInProgress\",!1),y(this,\"relayUrl\"),y(this,\"projectId\"),y(this,\"packageName\"),y(this,\"bundleId\"),y(this,\"hasExperiencedNetworkDisruption\",!1),y(this,\"pingTimeout\"),y(this,\"heartBeatTimeout\",O(Se+Pe)),y(this,\"reconnectTimeout\"),y(this,\"connectPromise\"),y(this,\"reconnectInProgress\",!1),y(this,\"requestsInFlight\",[]),y(this,\"connectTimeout\",O(Z*15)),y(this,\"request\",async t=>{var s,i;this.logger.debug(\"Publishing Request Payload\");const n=t.id||mt().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:t.method,topic:(s=t.params)==null?void 0:s.topic},\"relayer.request - publishing...\");const o=`${n}:${((i=t.params)==null?void 0:i.tag)||\"\"}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),y(this,\"resetPingTimeout\",()=>{ut()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,s,i,n;try{this.logger.debug({},\"pingTimeout: Connection stalled, terminating...\"),(n=(i=(s=(t=this.provider)==null?void 0:t.connection)==null?void 0:s.socket)==null?void 0:i.terminate)==null||n.call(i)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),y(this,\"onPayloadHandler\",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),y(this,\"onConnectHandler\",()=>{this.logger.warn({},\"Relayer connected \\u{1F6DC}\"),this.startPingTimeout(),this.events.emit(C.connect)}),y(this,\"onDisconnectHandler\",()=>{this.logger.warn({},\"Relayer disconnected \\u{1F6D1}\"),this.requestsInFlight=[],this.onProviderDisconnect()}),y(this,\"onProviderErrorHandler\",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(C.error,t),this.logger.fatal(\"Fatal socket error received, closing transport\"),this.transportClose()}),y(this,\"registerProviderListeners\",()=>{this.provider.on(L.payload,this.onPayloadHandler),this.provider.on(L.connect,this.onConnectHandler),this.provider.on(L.disconnect,this.onDisconnectHandler),this.provider.on(L.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<\"u\"&&typeof e.logger!=\"string\"?N(e.logger,this.name):Yi(et({level:e.logger||Nt})),this.messages=new _i(this.logger,e.core),this.subscriber=new Ti(this,this.logger),this.publisher=new Vn(this,this.logger),this.relayUrl=e?.relayUrl||Ue,this.projectId=e.projectId,_s()?this.packageName=ht():Es()&&(this.bundleId=ht()),this.provider={}}async init(){if(this.logger.trace(\"Initialized\"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return U(this.logger)}get connected(){var e,t,s;return((s=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:s.readyState)===1||!1}get connecting(){var e,t,s;return((s=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:s.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,s){this.isInitialized(),await this.publisher.publish(e,t,s),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:Q.relay},le.outbound)}async subscribe(e,t){var s,i,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===\"relay\")&&await this.toEstablishConnection();const o=typeof((s=t?.internal)==null?void 0:s.throwOnFailedPublish)>\"u\"?!0:(i=t?.internal)==null?void 0:i.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||\"\",c;const h=u=>{u.topic===e&&(this.subscriber.off($.created,h),c())};return await Promise.all([new Promise(u=>{c=u,this.subscriber.on($.created,h)}),new Promise(async(u,d)=>{a=await this.subscriber.subscribe(e,Pi({internal:{throwOnFailedPublish:o}},t)).catch(g=>{o&&d(g)})||a,u()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await X(this.provider.disconnect(),2e3,\"provider.disconnect()\").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn(\"Starting WS connection skipped because the client has no topics to work with.\");return}if(this.connectPromise?(this.logger.debug({},\"Waiting for existing connection attempt to resolve...\"),await this.connectPromise,this.logger.debug({},\"Existing connection attempt resolved\")):(this.connectPromise=new Promise(async(t,s)=>{await this.connect(e).then(t).catch(s).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},\"Restarting transport...\"),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await lt())throw new Error(\"No internet connection detected. Please restart your network and try again.\")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(\"Batch message events is empty. Ignoring...\");return}const t=e.sort((s,i)=>s.publishedAt-i.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const s of t)try{await this.onMessageEvent(s)}catch(i){this.logger.warn(i,\"Error while processing batch message event: \"+i?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:s}=e;if(!t.sessionExists){const i=ce(fe),n={topic:s,expiry:i,relay:{protocol:\"irn\"},active:!1};await this.core.pairing.pairings.set(s,n)}this.events.emit(C.message,e),await this.recordMessageEvent(e,le.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(s,i)=>{const n=()=>{i(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,n),await X(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{i(o)}).finally(()=>{this.provider.off(L.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error(\"Connection interrupted while trying to subscribe\"))};this.provider.once(L.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(L.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,s()})}catch(s){await this.subscriber.stop();const i=s;this.logger.warn({},i.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(s=>setTimeout(s,O(t*1))),t++}}startPingTimeout(){var e,t,s,i,n;if(ut())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(i=(s=this.provider)==null?void 0:s.connection)==null?void 0:i.socket)==null||n.on(\"ping\",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Ms(new Bs(Is({sdkVersion:_e,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){const{topic:s,message:i}=e;await this.messages.set(s,i,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:s}=e;if(!s||s.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${s}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const i=this.messages.has(t,s);return i&&this.logger.warn(`Ignoring duplicate message: ${s}`),i}async onProviderPayload(e){if(this.logger.debug(\"Incoming Relay Payload\"),this.logger.trace({type:\"payload\",direction:\"incoming\",payload:e}),ft(e)){if(!e.method.endsWith(zt))return;const t=e.params,{topic:s,message:i,publishedAt:n,attestation:o}=t.data,a={topic:s,message:i,publishedAt:n,transportType:Q.relay,attestation:o};this.logger.debug(\"Emitting Relayer Payload\"),this.logger.trace(Pi({type:\"event\",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Dt(e)&&this.events.emit(C.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,le.inbound),this.events.emit(C.message,e))}async acknowledgePayload(e){const t=vt(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(L.payload,this.onPayloadHandler),this.provider.off(L.connect,this.onConnectHandler),this.provider.off(L.disconnect,this.onDisconnectHandler),this.provider.off(L.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await lt();Ts(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(s=>this.logger.error(s,s?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(C.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},O(Lt)))))}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}}function io(){}function Ri(r){if(!r||typeof r!=\"object\")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)===\"[object Object]\":!1}function Oi(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function Ai(r){return r==null?r===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(r)}const so=\"[object RegExp]\",ro=\"[object String]\",no=\"[object Number]\",oo=\"[object Boolean]\",xi=\"[object Arguments]\",ao=\"[object Symbol]\",co=\"[object Date]\",ho=\"[object Map]\",lo=\"[object Set]\",uo=\"[object Array]\",go=\"[object Function]\",po=\"[object ArrayBuffer]\",Je=\"[object Object]\",yo=\"[object Error]\",bo=\"[object DataView]\",mo=\"[object Uint8Array]\",fo=\"[object Uint8ClampedArray]\",Do=\"[object Uint16Array]\",vo=\"[object Uint32Array]\",wo=\"[object BigUint64Array]\",_o=\"[object Int8Array]\",Eo=\"[object Int16Array]\",Io=\"[object Int32Array]\",To=\"[object BigInt64Array]\",Co=\"[object Float32Array]\",Po=\"[object Float64Array]\";function So(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function Ro(r,e,t){return pe(r,e,void 0,void 0,void 0,void 0,t)}function pe(r,e,t,s,i,n,o){const a=o(r,e,t,s,i,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case\"bigint\":case\"string\":case\"boolean\":case\"symbol\":case\"undefined\":return r===e;case\"number\":return r===e||Object.is(r,e);case\"function\":return r===e;case\"object\":return ye(r,e,n,o)}return ye(r,e,n,o)}function ye(r,e,t,s){if(Object.is(r,e))return!0;let i=Ai(r),n=Ai(e);if(i===xi&&(i=Je),n===xi&&(n=Je),i!==n)return!1;switch(i){case ro:return r.toString()===e.toString();case no:{const c=r.valueOf(),h=e.valueOf();return So(c,h)}case oo:case co:case ao:return Object.is(r.valueOf(),e.valueOf());case so:return r.source===e.source&&r.flags===e.flags;case go:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(i){case ho:{if(r.size!==e.size)return!1;for(const[c,h]of r.entries())if(!e.has(c)||!pe(h,e.get(c),c,r,e,t,s))return!1;return!0}case lo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let u=0;upe(d,_,void 0,r,e,t,s));if(g===-1)return!1;h.splice(g,1)}return!0}case uo:case mo:case fo:case Do:case vo:case wo:case _o:case Eo:case Io:case To:case Co:case Po:{if(typeof Buffer<\"u\"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;ce in r?Ao(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$i=(r,e)=>{for(var t in e||(e={}))xo.call(e,t)&&Xe(r,t,e[t]);if(Ni)for(var t of Ni(e))No.call(e,t)&&Xe(r,t,e[t]);return r},z=(r,e,t)=>Xe(r,typeof e!=\"symbol\"?e+\"\":e,t);class zi extends ts{constructor(e,t,s,i=B,n=void 0){super(e,t,s,i),this.core=e,this.logger=t,this.name=s,z(this,\"map\",new Map),z(this,\"version\",kt),z(this,\"cached\",[]),z(this,\"initialized\",!1),z(this,\"getKey\"),z(this,\"storagePrefix\",B),z(this,\"recentlyDeleted\",[]),z(this,\"recentlyDeletedLimit\",200),z(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!xe(o)?this.map.set(this.getKey(o),o):Cs(o)?this.map.set(o.id,o):Ps(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),z(this,\"set\",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug(\"Setting value\"),this.logger.trace({type:\"method\",method:\"set\",key:o,value:a}),this.map.set(o,a),await this.persist())}),z(this,\"get\",o=>(this.isInitialized(),this.logger.debug(\"Getting value\"),this.logger.trace({type:\"method\",method:\"get\",key:o}),this.getData(o))),z(this,\"getAll\",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>Oo(a[c],o[c]))):this.values)),z(this,\"update\",async(o,a)=>{this.isInitialized(),this.logger.debug(\"Updating value\"),this.logger.trace({type:\"method\",method:\"update\",key:o,update:a});const c=$i($i({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),z(this,\"delete\",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug(\"Deleting value\"),this.logger.trace({type:\"method\",method:\"delete\",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=N(t,this.name),this.storagePrefix=i,this.getKey=n}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:i}=m(\"MISSING_OR_INVALID\",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>\"u\"||!e.length)return;if(this.map.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var $o=Object.defineProperty,zo=(r,e,t)=>e in r?$o(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e,t)=>zo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Li{constructor(e,t){this.core=e,this.logger=t,p(this,\"name\",Ft),p(this,\"version\",Kt),p(this,\"events\",new Gi),p(this,\"pairings\"),p(this,\"initialized\",!1),p(this,\"storagePrefix\",B),p(this,\"ignoredPayloadTypes\",[Rs]),p(this,\"registeredMethods\",[]),p(this,\"init\",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(\"Initialized\"))}),p(this,\"register\",({methods:s})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...s])]}),p(this,\"create\",async s=>{this.isInitialized();const i=Ae(),n=await this.core.crypto.setSymKey(i),o=ce(fe),a={protocol:xt},c={topic:n,expiry:o,relay:a,active:!1,methods:s?.methods},h=dt({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:a,expiryTimestamp:o,methods:s?.methods});return this.events.emit(se.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:s?.transportType}),{topic:n,uri:h}}),p(this,\"pair\",async s=>{this.isInitialized();const i=this.core.eventClient.createEvent({properties:{topic:s?.uri,trace:[G.pairing_started]}});this.isValidPair(s,i);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=gt(s.uri);i.props.properties.topic=n,i.addTrace(G.pairing_uri_validation_success),i.addTrace(G.pairing_uri_not_expired);let u;if(this.pairings.keys.includes(n)){if(u=this.pairings.get(n),i.addTrace(G.existing_pairing),u.active)throw i.setError(Y.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);i.addTrace(G.pairing_not_expired)}const d=c||ce(fe),g={topic:n,relay:a,expiry:d,active:!1,methods:h};this.core.expirer.set(n,d),await this.pairings.set(n,g),i.addTrace(G.store_new_pairing),s.activatePairing&&await this.activate({topic:n}),this.events.emit(se.create,g),i.addTrace(G.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),i.addTrace(G.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(Y.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw i.setError(Y.subscribe_pairing_topic_failure),_}return i.addTrace(G.subscribe_pairing_topic_success),g}),p(this,\"activate\",async({topic:s})=>{this.isInitialized();const i=ce(fe);this.core.expirer.set(s,i),await this.pairings.update(s,{active:!0,expiry:i})}),p(this,\"ping\",async s=>{this.isInitialized(),await this.isValidPing(s),this.logger.warn(\"ping() is deprecated and will be removed in the next major release.\");const{topic:i}=s;if(this.pairings.keys.includes(i)){const n=await this.sendRequest(i,\"wc_pairingPing\",{}),{done:o,resolve:a,reject:c}=Os();this.events.once(Ne(\"pairing_ping\",n),({error:h})=>{h?c(h):a()}),await o()}}),p(this,\"updateExpiry\",async({topic:s,expiry:i})=>{this.isInitialized(),await this.pairings.update(s,{expiry:i})}),p(this,\"updateMetadata\",async({topic:s,metadata:i})=>{this.isInitialized(),await this.pairings.update(s,{peerMetadata:i})}),p(this,\"getPairings\",()=>(this.isInitialized(),this.pairings.values)),p(this,\"disconnect\",async s=>{this.isInitialized(),await this.isValidDisconnect(s);const{topic:i}=s;this.pairings.keys.includes(i)&&(await this.sendRequest(i,\"wc_pairingDelete\",ae(\"USER_DISCONNECTED\")),await this.deletePairing(i))}),p(this,\"formatUriFromPairing\",s=>{this.isInitialized();const{topic:i,relay:n,expiry:o,methods:a}=s,c=this.core.crypto.keychain.get(i);return dt({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),p(this,\"sendRequest\",async(s,i,n)=>{const o=wt(i,n),a=await this.core.crypto.encode(s,o),c=ie[i].req;return this.core.history.set(s,o),this.core.relayer.publish(s,a,c),o.id}),p(this,\"sendResult\",async(s,i,n)=>{const o=vt(s,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,s)).request.method,h=ie[c].res;await this.core.relayer.publish(i,a,h),await this.core.history.resolve(o)}),p(this,\"sendError\",async(s,i,n)=>{const o=Fs(s,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,s)).request.method,h=ie[c]?ie[c].res:ie.unregistered_method.res;await this.core.relayer.publish(i,a,h),await this.core.history.resolve(o)}),p(this,\"deletePairing\",async(s,i)=>{await this.core.relayer.unsubscribe(s),await Promise.all([this.pairings.delete(s,ae(\"USER_DISCONNECTED\")),this.core.crypto.deleteSymKey(s),i?Promise.resolve():this.core.expirer.del(s)])}),p(this,\"cleanup\",async()=>{const s=this.pairings.getAll().filter(i=>pt(i.expiry));await Promise.all(s.map(i=>this.deletePairing(i.topic)))}),p(this,\"onRelayEventRequest\",async s=>{const{topic:i,payload:n}=s;switch(n.method){case\"wc_pairingPing\":return await this.onPairingPingRequest(i,n);case\"wc_pairingDelete\":return await this.onPairingDeleteRequest(i,n);default:return await this.onUnknownRpcMethodRequest(i,n)}}),p(this,\"onRelayEventResponse\",async s=>{const{topic:i,payload:n}=s,o=(await this.core.history.get(i,n.id)).request.method;switch(o){case\"wc_pairingPing\":return this.onPairingPingResponse(i,n);default:return this.onUnknownRpcMethodResponse(o)}}),p(this,\"onPairingPingRequest\",async(s,i)=>{const{id:n}=i;try{this.isValidPing({topic:s}),await this.sendResult(n,s,!0),this.events.emit(se.ping,{id:n,topic:s})}catch(o){await this.sendError(n,s,o),this.logger.error(o)}}),p(this,\"onPairingPingResponse\",(s,i)=>{const{id:n}=i;setTimeout(()=>{Ks(i)?this.events.emit(Ne(\"pairing_ping\",n),{}):_t(i)&&this.events.emit(Ne(\"pairing_ping\",n),{error:i.error})},500)}),p(this,\"onPairingDeleteRequest\",async(s,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:s}),await this.deletePairing(s),this.events.emit(se.delete,{id:n,topic:s})}catch(o){await this.sendError(n,s,o),this.logger.error(o)}}),p(this,\"onUnknownRpcMethodRequest\",async(s,i)=>{const{id:n,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=ae(\"WC_METHOD_UNSUPPORTED\",o);await this.sendError(n,s,a),this.logger.error(a)}catch(a){await this.sendError(n,s,a),this.logger.error(a)}}),p(this,\"onUnknownRpcMethodResponse\",s=>{this.registeredMethods.includes(s)||this.logger.error(ae(\"WC_METHOD_UNSUPPORTED\",s))}),p(this,\"isValidPair\",(s,i)=>{var n;if(!$e(s)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() params: ${s}`);throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(!As(s.uri)){const{message:a}=m(\"MISSING_OR_INVALID\",`pair() uri: ${s.uri}`);throw i.setError(Y.malformed_pairing_uri),new Error(a)}const o=gt(s?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#relay-protocol\");throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=m(\"MISSING_OR_INVALID\",\"pair() uri#symKey\");throw i.setError(Y.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&O(o?.expiryTimestamp){if(!$e(s)){const{message:n}=m(\"MISSING_OR_INVALID\",`ping() params: ${s}`);throw new Error(n)}const{topic:i}=s;await this.isValidPairingTopic(i)}),p(this,\"isValidDisconnect\",async s=>{if(!$e(s)){const{message:n}=m(\"MISSING_OR_INVALID\",`disconnect() params: ${s}`);throw new Error(n)}const{topic:i}=s;await this.isValidPairingTopic(i)}),p(this,\"isValidPairingTopic\",async s=>{if(!xs(s,!1)){const{message:i}=m(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${s}`);throw new Error(i)}if(!this.pairings.keys.includes(s)){const{message:i}=m(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${s}`);throw new Error(i)}if(pt(this.pairings.get(s).expiry)){await this.deletePairing(s);const{message:i}=m(\"EXPIRED\",`pairing topic: ${s}`);throw new Error(i)}}),this.core=e,this.logger=N(t,this.name),this.pairings=new zi(this.core,this.logger,this.name,this.storagePrefix)}get context(){return U(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(C.message,async e=>{const{topic:t,message:s,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==Q.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(s)))try{const n=await this.core.crypto.decode(t,s);ft(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):Dt(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,s)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(F.expired,async e=>{const{topic:t}=Ss(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(se.expire,{topic:t}))})}}var Lo=Object.defineProperty,ko=(r,e,t)=>e in r?Lo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e,t)=>ko(r,typeof e!=\"symbol\"?e+\"\":e,t);class ki extends is{constructor(e,t){super(e,t),this.core=e,this.logger=t,R(this,\"records\",new Map),R(this,\"events\",new ee),R(this,\"name\",Bt),R(this,\"version\",Vt),R(this,\"cached\",[]),R(this,\"initialized\",!1),R(this,\"storagePrefix\",B),R(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(s=>this.records.set(s.id,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),R(this,\"set\",(s,i,n)=>{if(this.isInitialized(),this.logger.debug(\"Setting JSON-RPC request history record\"),this.logger.trace({type:\"method\",method:\"set\",topic:s,request:i,chainId:n}),this.records.has(i.id))return;const o={id:i.id,topic:s,request:{method:i.method,params:i.params||null},chainId:n,expiry:ce(Ce)};this.records.set(o.id,o),this.persist(),this.events.emit(M.created,o)}),R(this,\"resolve\",async s=>{if(this.isInitialized(),this.logger.debug(\"Updating JSON-RPC response history record\"),this.logger.trace({type:\"method\",method:\"update\",response:s}),!this.records.has(s.id))return;const i=await this.getRecord(s.id);typeof i.response>\"u\"&&(i.response=_t(s)?{error:s.error}:{result:s.result},this.records.set(i.id,i),this.persist(),this.events.emit(M.updated,i))}),R(this,\"get\",async(s,i)=>(this.isInitialized(),this.logger.debug(\"Getting record\"),this.logger.trace({type:\"method\",method:\"get\",topic:s,id:i}),await this.getRecord(i))),R(this,\"delete\",(s,i)=>{this.isInitialized(),this.logger.debug(\"Deleting record\"),this.logger.trace({type:\"method\",method:\"delete\",id:i}),this.values.forEach(n=>{if(n.topic===s){if(typeof i<\"u\"&&n.id!==i)return;this.records.delete(n.id),this.events.emit(M.deleted,n)}}),this.persist()}),R(this,\"exists\",async(s,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===s:!1)),R(this,\"on\",(s,i)=>{this.events.on(s,i)}),R(this,\"once\",(s,i)=>{this.events.once(s,i)}),R(this,\"off\",(s,i)=>{this.events.off(s,i)}),R(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<\"u\")return;const s={topic:t.topic,request:wt(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(s)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw new Error(s)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(M.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>\"u\"||!e.length)return;if(this.records.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(M.created,e=>{const t=M.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(M.updated,e=>{const t=M.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.events.on(M.deleted,e=>{const t=M.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,record:e})}),this.core.heartbeat.on(ne.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{O(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(M.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var jo=Object.defineProperty,Uo=(r,e,t)=>e in r?jo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,A=(r,e,t)=>Uo(r,typeof e!=\"symbol\"?e+\"\":e,t);class ji extends ss{constructor(e,t){super(e,t),this.core=e,this.logger=t,A(this,\"expirations\",new Map),A(this,\"events\",new ee),A(this,\"name\",qt),A(this,\"version\",Gt),A(this,\"cached\",[]),A(this,\"initialized\",!1),A(this,\"storagePrefix\",B),A(this,\"init\",async()=>{this.initialized||(this.logger.trace(\"Initialized\"),await this.restore(),this.cached.forEach(s=>this.expirations.set(s.target,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),A(this,\"has\",s=>{try{const i=this.formatTarget(s);return typeof this.getExpiration(i)<\"u\"}catch{return!1}}),A(this,\"set\",(s,i)=>{this.isInitialized();const n=this.formatTarget(s),o={target:n,expiry:i};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(F.created,{target:n,expiration:o})}),A(this,\"get\",s=>{this.isInitialized();const i=this.formatTarget(s);return this.getExpiration(i)}),A(this,\"del\",s=>{if(this.isInitialized(),this.has(s)){const i=this.formatTarget(s),n=this.getExpiration(i);this.expirations.delete(i),this.events.emit(F.deleted,{target:i,expiration:n})}}),A(this,\"on\",(s,i)=>{this.events.on(s,i)}),A(this,\"once\",(s,i)=>{this.events.once(s,i)}),A(this,\"off\",(s,i)=>{this.events.off(s,i)}),A(this,\"removeListener\",(s,i)=>{this.events.removeListener(s,i)}),this.logger=N(t,this.name)}get context(){return U(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+\"//\"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==\"string\")return Ns(e);if(typeof e==\"number\")return $s(e);const{message:t}=m(\"UNKNOWN_TYPE\",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(F.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>\"u\"||!e.length)return;if(this.expirations.size){const{message:t}=m(\"RESTORE_WILL_OVERRIDE\",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:\"method\",method:\"restore\",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:s}=m(\"NO_MATCHING_KEY\",`${this.name}: ${e}`);throw this.logger.warn(s),new Error(s)}return t}checkExpiry(e,t){const{expiry:s}=t;O(s)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(F.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(ne.pulse,()=>this.checkExpirations()),this.events.on(F.created,e=>{const t=F.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(F.expired,e=>{const t=F.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()}),this.events.on(F.deleted,e=>{const t=F.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:\"event\",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=m(\"NOT_INITIALIZED\",this.name);throw new Error(e)}}}var Mo=Object.defineProperty,Fo=(r,e,t)=>e in r?Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e,t)=>Fo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Ui extends rs{constructor(e,t,s){super(e,t,s),this.core=e,this.logger=t,this.store=s,w(this,\"name\",Wt),w(this,\"abortController\"),w(this,\"isDevEnv\"),w(this,\"verifyUrlV3\",Yt),w(this,\"storagePrefix\",B),w(this,\"version\",Le),w(this,\"publicKey\"),w(this,\"fetchPromise\"),w(this,\"init\",async()=>{var i;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&O((i=this.publicKey)==null?void 0:i.expiresAt){if(!zs()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=i,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=Vs(),u=this.startAbortTimer(Z*5),d=await new Promise((g,_)=>{const l=()=>{window.removeEventListener(\"message\",x),h.body.removeChild(b),_(\"attestation aborted\")};this.abortController.signal.addEventListener(\"abort\",l);const b=h.createElement(\"iframe\");b.src=c,b.style.display=\"none\",b.addEventListener(\"error\",l,{signal:this.abortController.signal});const x=I=>{if(I.data&&typeof I.data==\"string\")try{const D=JSON.parse(I.data);if(D.type===\"verify_attestation\"){if(rt(D.attestation).payload.id!==o)return;clearInterval(u),h.body.removeChild(b),this.abortController.signal.removeEventListener(\"abort\",l),window.removeEventListener(\"message\",x),g(D.attestation===null?\"\":D.attestation)}}catch(D){this.logger.warn(D)}};h.body.appendChild(b),window.addEventListener(\"message\",x,{signal:this.abortController.signal})});return this.logger.debug(\"jwt attestation\",d),d}catch(h){this.logger.warn(h)}return\"\"}),w(this,\"resolve\",async i=>{if(this.isDevEnv)return\"\";const{attestationId:n,hash:o,encryptedId:a}=i;if(n===\"\"){this.logger.debug(\"resolve: attestationId is empty, skipping\");return}if(n){if(rt(n).payload.id!==a)return;const h=await this.isValidJwtAttestation(n);if(h){if(!h.isVerified){this.logger.warn(\"resolve: jwt attestation: origin url not verified\");return}return h}}if(!o)return;const c=this.getVerifyUrl(i?.verifyUrl);return this.fetchAttestation(o,c)}),w(this,\"fetchAttestation\",async(i,n)=>{this.logger.debug(`resolving attestation: ${i} from url: ${n}`);const o=this.startAbortTimer(Z*5),a=await fetch(`${n}/attestation/${i}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),w(this,\"getVerifyUrl\",i=>{let n=i||ue;return Jt.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${ue}`),n=ue),n}),w(this,\"fetchPublicKey\",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const i=this.startAbortTimer(Pe),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(i),await n.json()}catch(i){this.logger.warn(i)}}),w(this,\"persistPublicKey\",async i=>{this.logger.debug(\"persisting public key to local storage\",i),await this.store.setItem(this.storeKey,i),this.publicKey=i}),w(this,\"removePublicKey\",async()=>{this.logger.debug(\"removing verify v2 public key from storage\"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),w(this,\"isValidJwtAttestation\",async i=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(i,n)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(i,o)}catch(a){this.logger.error(a),this.logger.warn(\"error validating attestation\")}}),w(this,\"getPublicKey\",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),w(this,\"fetchAndPersistPublicKey\",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const i=await this.fetchPromise;return this.fetchPromise=void 0,i}),w(this,\"validateAttestation\",(i,n)=>{const o=Ls(i,n.publicKey),a={hasExpired:O(o.exp)this.abortController.abort(),O(e))}}var Ko=Object.defineProperty,Bo=(r,e,t)=>e in r?Ko(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mi=(r,e,t)=>Bo(r,typeof e!=\"symbol\"?e+\"\":e,t);class Fi extends ns{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Mi(this,\"context\",Xt),Mi(this,\"registerDeviceToken\",async s=>{const{clientId:i,token:n,notificationType:o,enableEncrypted:a=!1}=s,c=`${Zt}/${this.projectId}/clients`;await fetch(c,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({client_id:i,type:o,token:n,always_raw:a})})}),this.logger=N(t,this.context)}}var Vo=Object.defineProperty,Ki=Object.getOwnPropertySymbols,qo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,Ze=(r,e,t)=>e in r?Vo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,be=(r,e)=>{for(var t in e||(e={}))qo.call(e,t)&&Ze(r,t,e[t]);if(Ki)for(var t of Ki(e))Go.call(e,t)&&Ze(r,t,e[t]);return r},E=(r,e,t)=>Ze(r,typeof e!=\"symbol\"?e+\"\":e,t);class Bi extends os{constructor(e,t,s=!0){super(e,t,s),this.core=e,this.logger=t,E(this,\"context\",ei),E(this,\"storagePrefix\",B),E(this,\"storageVersion\",Qt),E(this,\"events\",new Map),E(this,\"shouldPersist\",!1),E(this,\"init\",async()=>{if(!yt())try{const i={eventId:bt(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:\"INIT\",type:\"\",properties:{client_id:await this.core.crypto.getClientId(),user_agent:ks(this.core.relayer.protocol,this.core.relayer.version,_e)}}};await this.sendEvent([i])}catch(i){this.logger.warn(i)}}),E(this,\"createEvent\",i=>{const{event:n=\"ERROR\",type:o=\"\",properties:{topic:a,trace:c}}=i,h=bt(),u=this.core.projectId||\"\",d=Date.now(),g=be({eventId:h,timestamp:d,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:u,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,g),this.shouldPersist=!0),g}),E(this,\"getEvent\",i=>{const{eventId:n,topic:o}=i;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return be(be({},a),this.setMethods(a.eventId))}),E(this,\"deleteEvent\",i=>{const{eventId:n}=i;this.events.delete(n),this.shouldPersist=!0}),E(this,\"setEventListeners\",()=>{this.core.heartbeat.on(ne.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(i=>{it(Date.now())-it(i.timestamp)>ti&&(this.events.delete(i.eventId),this.shouldPersist=!0)})})}),E(this,\"setMethods\",i=>({addTrace:n=>this.addTrace(i,n),setError:n=>this.setError(i,n)})),E(this,\"addTrace\",(i,n)=>{const o=this.events.get(i);o&&(o.props.properties.trace.push(n),this.events.set(i,o),this.shouldPersist=!0)}),E(this,\"setError\",(i,n)=>{const o=this.events.get(i);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(i,o),this.shouldPersist=!0)}),E(this,\"persist\",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),E(this,\"restore\",async()=>{try{const i=await this.core.storage.getItem(this.storageKey)||[];if(!i.length)return;i.forEach(n=>{this.events.set(n.eventId,be(be({},n),this.setMethods(n.eventId)))})}catch(i){this.logger.warn(i)}}),E(this,\"submit\",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const i=[];for(const[n,o]of this.events)o.props.type&&i.push(o);if(i.length!==0)try{if((await this.sendEvent(i)).ok)for(const n of i)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),E(this,\"sendEvent\",async i=>{const n=this.getAppDomain()?\"\":\"&sp=desktop\";return await fetch(`${ii}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${_e}${n}`,{method:\"POST\",body:JSON.stringify(i)})}),E(this,\"getAppDomain\",()=>js().url),this.logger=N(t,this.context),this.telemetryEnabled=s,s?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+\"//\"+this.context}}var Wo=Object.defineProperty,Vi=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Yo=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?Wo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qi=(r,e)=>{for(var t in e||(e={}))Ho.call(e,t)&&Qe(r,t,e[t]);if(Vi)for(var t of Vi(e))Yo.call(e,t)&&Qe(r,t,e[t]);return r},v=(r,e,t)=>Qe(r,typeof e!=\"symbol\"?e+\"\":e,t);class Te extends as{constructor(e){var t;super(e),v(this,\"protocol\",ze),v(this,\"version\",Le),v(this,\"name\",he),v(this,\"relayUrl\"),v(this,\"projectId\"),v(this,\"customStoragePrefix\"),v(this,\"events\",new ee),v(this,\"logger\"),v(this,\"heartbeat\"),v(this,\"relayer\"),v(this,\"crypto\"),v(this,\"storage\"),v(this,\"history\"),v(this,\"expirer\"),v(this,\"pairing\"),v(this,\"verify\"),v(this,\"echoClient\"),v(this,\"linkModeSupportedApps\"),v(this,\"eventClient\"),v(this,\"initialized\",!1),v(this,\"logChunkController\"),v(this,\"on\",(o,a)=>this.events.on(o,a)),v(this,\"once\",(o,a)=>this.events.once(o,a)),v(this,\"off\",(o,a)=>this.events.off(o,a)),v(this,\"removeListener\",(o,a)=>this.events.removeListener(o,a)),v(this,\"dispatchEnvelope\",({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const h={topic:o,message:a,publishedAt:Date.now(),transportType:Q.link_mode};this.relayer.onLinkMessageEvent(h,{sessionExists:c})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Ue,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:\"\";const s=et({level:typeof e?.logger==\"string\"&&e.logger?e.logger:Et.logger,name:he}),{logger:i,chunkLoggerController:n}=Ji({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=n,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=N(i,this.name),this.heartbeat=new Wi,this.crypto=new vi(this,this.logger,e?.keychain),this.history=new ki(this,this.logger),this.expirer=new ji(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Hi(qi(qi({},It),e?.storageOptions)),this.relayer=new Si({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Li(this,this.logger),this.verify=new Ui(this,this.logger,this.storage),this.echoClient=new Fi(this.projectId||\"\",this.logger),this.linkModeSupportedApps=[],this.eventClient=new Bi(this,this.logger,e?.telemetryEnabled)}static async init(e){const t=new Te(e);await t.initialize();const s=await t.crypto.getClientId();return await t.storage.setItem(jt,s),t}get context(){return U(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(Me,this.linkModeSupportedApps))}async initialize(){this.logger.trace(\"Initialized\");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(Me)||[],this.initialized=!0,this.logger.info(\"Core Initialization Success\")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Jo=Te;export{he as CORE_CONTEXT,Et as CORE_DEFAULT,ze as CORE_PROTOCOL,It as CORE_STORAGE_OPTIONS,B as CORE_STORAGE_PREFIX,Le as CORE_VERSION,ke as CRYPTO_CLIENT_SEED,Tt as CRYPTO_CONTEXT,Ct as CRYPTO_JWT_TTL,Jo as Core,vi as Crypto,Xt as ECHO_CONTEXT,Zt as ECHO_URL,ii as EVENTS_CLIENT_API_URL,ti as EVENTS_STORAGE_CLEANUP_INTERVAL,ei as EVENTS_STORAGE_CONTEXT,Qt as EVENTS_STORAGE_VERSION,ir as EVENT_CLIENT_AUTHENTICATE_ERRORS,tr as EVENT_CLIENT_AUTHENTICATE_TRACES,Zs as EVENT_CLIENT_CONTEXT,Y as EVENT_CLIENT_PAIRING_ERRORS,G as EVENT_CLIENT_PAIRING_TRACES,er as EVENT_CLIENT_SESSION_ERRORS,Qs as EVENT_CLIENT_SESSION_TRACES,qt as EXPIRER_CONTEXT,Js as EXPIRER_DEFAULT_TTL,F as EXPIRER_EVENTS,Gt as EXPIRER_STORAGE_VERSION,Fi as EchoClient,Bi as EventClient,ji as Expirer,Bt as HISTORY_CONTEXT,M as HISTORY_EVENTS,Vt as HISTORY_STORAGE_VERSION,ki as JsonRpcHistory,Pt as KEYCHAIN_CONTEXT,St as KEYCHAIN_STORAGE_VERSION,Di as KeyChain,Rt as MESSAGES_CONTEXT,Ot as MESSAGES_STORAGE_VERSION,le as MESSAGE_DIRECTION,_i as MessageTracker,Ft as PAIRING_CONTEXT,Ys as PAIRING_DEFAULT_TTL,se as PAIRING_EVENTS,ie as PAIRING_RPC_OPTS,Kt as PAIRING_STORAGE_VERSION,Hs as PENDING_SUB_RESOLUTION_TIMEOUT,At as PUBLISHER_CONTEXT,je as PUBLISHER_DEFAULT_TTL,Li as Pairing,$t as RELAYER_CONTEXT,Nt as RELAYER_DEFAULT_LOGGER,xt as RELAYER_DEFAULT_PROTOCOL,Ue as RELAYER_DEFAULT_RELAY_URL,C as RELAYER_EVENTS,L as RELAYER_PROVIDER_EVENTS,Lt as RELAYER_RECONNECT_TIMEOUT,_e as RELAYER_SDK_VERSION,qs as RELAYER_STORAGE_OPTIONS,zt as RELAYER_SUBSCRIBER_SUFFIX,Gs as RELAYER_TRANSPORT_CUTOFF,Si as Relayer,kt as STORE_STORAGE_VERSION,Ut as SUBSCRIBER_CONTEXT,Ws as SUBSCRIBER_DEFAULT_TTL,$ as SUBSCRIBER_EVENTS,Mt as SUBSCRIBER_STORAGE_VERSION,zi as Store,Ti as Subscriber,Q as TRANSPORT_TYPES,Jt as TRUSTED_VERIFY_URLS,Wt as VERIFY_CONTEXT,ue as VERIFY_SERVER,Yt as VERIFY_SERVER_V3,Ui as Verify,jt as WALLETCONNECT_CLIENT_ID,Me as WALLETCONNECT_LINK_MODE_APPS,Te as default};\n//# sourceMappingURL=index.es.js.map\n","import{RELAYER_EVENTS as Xe,TRANSPORT_TYPES as P,EXPIRER_EVENTS as Tt,PAIRING_EVENTS as Je,RELAYER_DEFAULT_PROTOCOL as qt,EVENT_CLIENT_SESSION_TRACES as k,EVENT_CLIENT_SESSION_ERRORS as H,EVENT_CLIENT_AUTHENTICATE_TRACES as z,EVENT_CLIENT_AUTHENTICATE_ERRORS as re,EVENT_CLIENT_PAIRING_ERRORS as Pt,EVENT_CLIENT_PAIRING_TRACES as Nt,VERIFY_SERVER as Ot,Store as B,Core as bt}from\"@walletconnect/core\";import{pino as At,getDefaultLoggerOptions as xt,generateChildLogger as Ct,getLoggerContext as Vt}from\"@walletconnect/logger\";import{IEngine as Dt,ISignClient as Lt}from\"@walletconnect/types\";import{THIRTY_DAYS as kt,SEVEN_DAYS as Be,FIVE_MINUTES as C,ONE_DAY as K,ONE_HOUR as We,ONE_SECOND as Ze,toMiliseconds as Oe}from\"@walletconnect/time\";import{getInternalError as y,BASE64URL as ne,BASE64 as de,hashMessage as W,parseExpirerTarget as Mt,isValidString as Y,isExpired as Z,isValidId as $t,calcExpiry as V,engineEvent as R,createDelayedPromise as ee,getSdkError as O,getDeepLink as Ut,handleDeeplinkRedirect as Kt,isSessionCompatible as Gt,hashKey as be,parseChainId as Ae,createEncodedRecap as jt,getRecapFromResources as xe,mergeEncodedRecaps as Ft,TYPE_2 as Qt,getLinkModeURL as ue,validateSignedCacao as et,getNamespacedDidChainId as tt,getDidAddress as st,getMethodsFromRecap as it,getChainsFromRecap as rt,buildNamespacesFromAuth as nt,formatMessage as Ht,MemoryStore as oe,isValidParams as M,isUndefined as X,isValidRelays as zt,isValidObject as ot,isValidRequiredNamespaces as Yt,isValidNamespaces as Ce,isConformingNamespaces as at,isValidErrorReason as Xt,isValidRelay as Jt,isValidController as Bt,isValidNamespacesChainId as ct,isValidRequest as Wt,isValidNamespacesRequest as Zt,isValidRequestExpiry as es,isValidResponse as ts,isValidEvent as ss,isValidNamespacesEvent as is,getSearchParamFromURL as lt,isTestRun as rs,isReactNative as ns,isValidArray as os,extractSolanaTransactionId as as,TYPE_1 as Ve,getAppMetadata as cs}from\"@walletconnect/utils\";import ls,{EventEmitter as ps}from\"events\";import{isJsonRpcRequest as hs,isJsonRpcResponse as ds,payloadId as G,getBigIntRpcId as ge,isJsonRpcResult as j,isJsonRpcError as F,formatJsonRpcRequest as ye,formatJsonRpcResult as us,formatJsonRpcError as gs}from\"@walletconnect/jsonrpc-utils\";const De=\"wc\",Le=2,ke=\"client\",we=`${De}@${Le}:${ke}:`,me={name:ke,logger:\"error\",controller:!1,relayUrl:\"wss://relay.walletconnect.org\"},ys={session_proposal:\"session_proposal\",session_update:\"session_update\",session_extend:\"session_extend\",session_ping:\"session_ping\",session_delete:\"session_delete\",session_expire:\"session_expire\",session_request:\"session_request\",session_request_sent:\"session_request_sent\",session_event:\"session_event\",proposal_expire:\"proposal_expire\",session_authenticate:\"session_authenticate\",session_request_expire:\"session_request_expire\",session_connect:\"session_connect\"},ws={database:\":memory:\"},Me=\"WALLETCONNECT_DEEPLINK_CHOICE\",ms={created:\"history_created\",updated:\"history_updated\",deleted:\"history_deleted\",sync:\"history_sync\"},_s=\"history\",Es=\"0.3\",pt=\"proposal\",fs=kt,$e=\"Proposal expired\",ht=\"session\",J=Be,dt=\"engine\",N={wc_sessionPropose:{req:{ttl:C,prompt:!0,tag:1100},res:{ttl:C,prompt:!1,tag:1101},reject:{ttl:C,prompt:!1,tag:1120},autoReject:{ttl:C,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:C,prompt:!1,tag:1102},res:{ttl:C,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:K,prompt:!1,tag:1104},res:{ttl:K,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:K,prompt:!1,tag:1106},res:{ttl:K,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:C,prompt:!0,tag:1108},res:{ttl:C,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:C,prompt:!0,tag:1110},res:{ttl:C,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:K,prompt:!1,tag:1112},res:{ttl:K,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:K,prompt:!1,tag:1114},res:{ttl:K,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:We,prompt:!0,tag:1116},res:{ttl:We,prompt:!1,tag:1117},reject:{ttl:C,prompt:!1,tag:1118},autoReject:{ttl:C,prompt:!1,tag:1119}}},_e={min:C,max:Be},$={idle:\"IDLE\",active:\"ACTIVE\"},Ue={eth_sendTransaction:{key:\"\"},eth_sendRawTransaction:{key:\"\"},wallet_sendCalls:{key:\"\"},solana_signTransaction:{key:\"signature\"},solana_signAllTransactions:{key:\"transactions\"},solana_signAndSendTransaction:{key:\"signature\"}},ut=\"request\",gt=[\"wc_sessionPropose\",\"wc_sessionRequest\",\"wc_authRequest\",\"wc_sessionAuthenticate\"],yt=\"wc\",Ss=1.5,wt=\"auth\",mt=\"authKeys\",_t=\"pairingTopics\",Et=\"requests\",ae=`${yt}@${1.5}:${wt}:`,ce=`${ae}:PUB_KEY`;var Rs=Object.defineProperty,vs=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,qs=Object.prototype.propertyIsEnumerable,Ke=(S,n,e)=>n in S?Rs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,v=(S,n)=>{for(var e in n||(n={}))Ts.call(n,e)&&Ke(S,e,n[e]);if(ft)for(var e of ft(n))qs.call(n,e)&&Ke(S,e,n[e]);return S},b=(S,n)=>vs(S,Is(n)),c=(S,n,e)=>Ke(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ps extends Dt{constructor(n){super(n),c(this,\"name\",dt),c(this,\"events\",new ls),c(this,\"initialized\",!1),c(this,\"requestQueue\",{state:$.idle,queue:[]}),c(this,\"sessionRequestQueue\",{state:$.idle,queue:[]}),c(this,\"requestQueueDelay\",Ze),c(this,\"expectedPairingMethodMap\",new Map),c(this,\"recentlyDeletedMap\",new Map),c(this,\"recentlyDeletedLimit\",200),c(this,\"relayMessageCache\",[]),c(this,\"pendingSessions\",new Map),c(this,\"init\",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(N)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Oe(this.requestQueueDelay)))}),c(this,\"connect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const t=b(v({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t);const{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,scopedProperties:a,relays:l}=t;let p=s,h,u=!1;try{if(p){const T=this.client.core.pairing.pairings.get(p);this.client.logger.warn(\"connect() with existing pairing topic is deprecated and will be removed in the next major release.\"),u=T.active}}catch(T){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),T}if(!p||!u){const{topic:T,uri:U}=await this.client.core.pairing.create();p=T,h=U}if(!p){const{message:T}=y(\"NO_MATCHING_KEY\",`connect() pairing topic: ${p}`);throw new Error(T)}const d=await this.client.core.crypto.generateKeyPair(),w=N.wc_sessionPropose.req.ttl||C,m=V(w),f=b(v(v({requiredNamespaces:i,optionalNamespaces:r,relays:l??[{protocol:qt}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:m,pairingTopic:p},o&&{sessionProperties:o}),a&&{scopedProperties:a}),{id:G()}),_=R(\"session_connect\",f.id),{reject:g,resolve:A,done:D}=ee(w,$e),I=({id:T})=>{T===f.id&&(this.client.events.off(\"proposal_expire\",I),this.pendingSessions.delete(f.id),this.events.emit(_,{error:{message:$e,code:0}}))};return this.client.events.on(\"proposal_expire\",I),this.events.once(_,({error:T,session:U})=>{this.client.events.off(\"proposal_expire\",I),T?g(T):U&&A(U)}),await this.sendRequest({topic:p,method:\"wc_sessionPropose\",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:h,approval:D}}),c(this,\"pair\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(t){throw this.client.logger.error(\"pair() failed\"),t}}),c(this,\"approve\",async e=>{var t,s,i;const r=this.client.core.eventClient.createEvent({properties:{topic:(t=e?.id)==null?void 0:t.toString(),trace:[k.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw r.setError(H.no_internet_connection),q}try{await this.isValidProposalId(e?.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(H.proposal_not_found),q}try{await this.isValidApprove(e)}catch(q){throw this.client.logger.error(\"approve() -> isValidApprove() failed\"),r.setError(H.session_approve_namespace_validation_failure),q}const{id:o,relayProtocol:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=e,d=this.client.proposal.get(o);this.client.core.eventClient.deleteEvent({eventId:r.eventId});const{pairingTopic:w,proposer:m,requiredNamespaces:f,optionalNamespaces:_}=d;let g=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:w});g||(g=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:k.session_approve_started,properties:{topic:w,trace:[k.session_approve_started,k.session_namespaces_validation_success]}}));const A=await this.client.core.crypto.generateKeyPair(),D=m.publicKey,I=await this.client.core.crypto.generateSharedKey(A,D),T=v(v(v({relay:{protocol:a??\"irn\"},namespaces:l,controller:{publicKey:A,metadata:this.client.metadata},expiry:V(J)},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),U=P.relay;g.addTrace(k.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:U})}catch(q){throw g.setError(H.subscribe_session_topic_failure),q}g.addTrace(k.subscribe_session_topic_success);const fe=b(v({},T),{topic:I,requiredNamespaces:f,optionalNamespaces:_,pairingTopic:w,acknowledged:!1,self:T.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:A,transportType:P.relay});await this.client.session.set(I,fe),g.addTrace(k.store_session);try{g.addTrace(k.publishing_session_settle),await this.sendRequest({topic:I,method:\"wc_sessionSettle\",params:T,throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_settle_publish_failure),q}),g.addTrace(k.session_settle_publish_success),g.addTrace(k.publishing_session_approve),await this.sendResult({id:o,topic:w,result:{relay:{protocol:a??\"irn\"},responderPublicKey:A},throwOnFailedPublish:!0}).catch(q=>{throw g?.setError(H.session_approve_publish_failure),q}),g.addTrace(k.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete(I,O(\"USER_DISCONNECTED\")),await this.client.core.relayer.unsubscribe(I),q}return this.client.core.eventClient.deleteEvent({eventId:g.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:m.metadata}),await this.client.proposal.delete(o,O(\"USER_DISCONNECTED\")),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(I,V(J)),{topic:I,acknowledged:()=>Promise.resolve(this.client.session.get(I))}}),c(this,\"reject\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(r){throw this.client.logger.error(\"reject() -> isValidReject() failed\"),r}const{id:t,reason:s}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),r}i&&(await this.sendError({id:t,topic:i,error:s,rpcOpts:N.wc_sessionPropose.reject}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\")))}),c(this,\"update\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(h){throw this.client.logger.error(\"update() -> isValidUpdate() failed\"),h}const{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:o}=ee(),a=G(),l=ge().toString(),p=this.client.session.get(t).namespaces;return this.events.once(R(\"session_update\",a),({error:h})=>{h?o(h):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:\"wc_sessionUpdate\",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(t,{namespaces:p}),o(h)}),{acknowledged:i}}),c(this,\"extend\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(a){throw this.client.logger.error(\"extend() -> isValidExtend() failed\"),a}const{topic:t}=e,s=G(),{done:i,resolve:r,reject:o}=ee();return this.events.once(R(\"session_extend\",s),({error:a})=>{a?o(a):r()}),await this.setExpiry(t,V(J)),this.sendRequest({topic:t,method:\"wc_sessionExtend\",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{o(a)}),{acknowledged:i}}),c(this,\"request\",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(_){throw this.client.logger.error(\"request() -> isValidRequest() failed\"),_}const{chainId:t,request:s,topic:i,expiry:r=N.wc_sessionRequest.req.ttl}=e,o=this.client.session.get(i);o?.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const a=G(),l=ge().toString(),{done:p,resolve:h,reject:u}=ee(r,\"Request expired. Please try again.\");this.events.once(R(\"session_request\",a),({error:_,result:g})=>{_?u(_):h(g)});const d=\"wc_sessionRequest\",w=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);if(w)return await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:{request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:w}).catch(_=>u(_)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),await p();const m={request:b(v({},s),{expiryTimestamp:V(r)}),chainId:t},f=this.shouldSetTVF(d,m);return await Promise.all([new Promise(async _=>{await this.sendRequest(v({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:m,expiry:r,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(a,m)})).catch(g=>u(g)),this.client.events.emit(\"session_request_sent\",{topic:i,request:s,chainId:t,id:a}),_()}),new Promise(async _=>{var g;if(!((g=o.sessionConfig)!=null&&g.disableDeepLink)){const A=await Ut(this.client.core.storage,Me);await Kt({id:a,topic:i,wcDeepLink:A})}_()}),p()]).then(_=>_[2])}),c(this,\"respond\",async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:t,response:s}=e,{id:i}=s,r=this.client.session.get(t);r.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const o=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);j(s)?await this.sendResult({id:i,topic:t,result:s.result,throwOnFailedPublish:!0,appLink:o}):F(s)&&await this.sendError({id:i,topic:t,error:s.error,appLink:o}),this.cleanupAfterResponse(e)}),c(this,\"ping\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(s){throw this.client.logger.error(\"ping() -> isValidPing() failed\"),s}const{topic:t}=e;if(this.client.session.keys.includes(t)){const s=G(),i=ge().toString(),{done:r,resolve:o,reject:a}=ee();this.events.once(R(\"session_ping\",s),({error:l})=>{l?a(l):o()}),await Promise.all([this.sendRequest({topic:t,method:\"wc_sessionPing\",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(\"ping() on pairing topic is deprecated and will be removed in the next major release.\"),await this.client.core.pairing.ping({topic:t}))}),c(this,\"emit\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:s,chainId:i}=e,r=ge().toString(),o=G();await this.sendRequest({topic:t,method:\"wc_sessionEvent\",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:o})}),c(this,\"disconnect\",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);const{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:\"wc_sessionDelete\",params:O(\"USER_DISCONNECTED\"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{const{message:s}=y(\"MISMATCHED_TOPIC\",`Session or pairing topic not found: ${t}`);throw new Error(s)}}),c(this,\"find\",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>Gt(t,e)))),c(this,\"getPendingSessionRequests\",()=>this.client.pendingRequest.getAll()),c(this,\"authenticate\",async(e,t)=>{var s;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),r=i?P.link_mode:P.relay;r===P.relay&&await this.confirmOnlineStateOrThrow();const{chains:o,statement:a=\"\",uri:l,domain:p,nonce:h,type:u,exp:d,nbf:w,methods:m=[],expiry:f}=e,_=[...e.resources||[]],{topic:g,uri:A}=await this.client.core.pairing.create({methods:[\"wc_sessionAuthenticate\"],transportType:r});this.client.logger.info({message:\"Generated new pairing\",pairing:{topic:g,uri:A}});const D=await this.client.core.crypto.generateKeyPair(),I=be(D);if(await Promise.all([this.client.auth.authKeys.set(ce,{responseTopic:I,publicKey:D}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:g})]),await this.client.core.relayer.subscribe(I,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${g}`),m.length>0){const{namespace:x}=Ae(o[0]);let L=jt(x,\"request\",m);xe(_)&&(L=Ft(L,_.pop())),_.push(L)}const T=f&&f>N.wc_sessionAuthenticate.req.ttl?f:N.wc_sessionAuthenticate.req.ttl,U={authPayload:{type:u??\"caip122\",chains:o,statement:a,aud:l,domain:p,version:\"1\",nonce:h,iat:new Date().toISOString(),exp:d,nbf:w,resources:_},requester:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(T)},fe={eip155:{chains:o,methods:[...new Set([\"personal_sign\",...m])],events:[\"chainChanged\",\"accountsChanged\"]}},q={requiredNamespaces:{},optionalNamespaces:fe,relays:[{protocol:\"irn\"}],pairingTopic:g,proposer:{publicKey:D,metadata:this.client.metadata},expiryTimestamp:V(N.wc_sessionPropose.req.ttl),id:G()},{done:Rt,resolve:je,reject:Se}=ee(T,\"Request expired\"),te=G(),le=R(\"session_connect\",q.id),Re=R(\"session_request\",te),pe=async({error:x,session:L})=>{this.events.off(Re,ve),x?Se(x):L&&je({session:L})},ve=async x=>{var L,Fe,Qe;if(await this.deletePendingAuthRequest(te,{message:\"fulfilled\",code:0}),x.error){const ie=O(\"WC_METHOD_UNSUPPORTED\",\"wc_sessionAuthenticate\");return x.error.code===ie.code?void 0:(this.events.off(le,pe),Se(x.error.message))}await this.deleteProposal(q.id),this.events.off(le,pe);const{cacaos:He,responder:Q}=x.result,Te=[],ze=[];for(const ie of He){await et({cacao:ie,projectId:this.client.core.projectId})||(this.client.logger.error(ie,\"Signature verification failed\"),Se(O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\")));const{p:qe}=ie,Pe=xe(qe.resources),Ye=[tt(qe.iss)],vt=st(qe.iss);if(Pe){const Ne=it(Pe),It=rt(Pe);Te.push(...Ne),Ye.push(...It)}for(const Ne of Ye)ze.push(`${Ne}:${vt}`)}const se=await this.client.core.crypto.generateSharedKey(D,Q.publicKey);let he;Te.length>0&&(he={topic:se,acknowledged:!0,self:{publicKey:D,metadata:this.client.metadata},peer:Q,controller:Q.publicKey,expiry:V(J),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:g,namespaces:nt([...new Set(Te)],[...new Set(ze)]),transportType:r},await this.client.core.relayer.subscribe(se,{transportType:r}),await this.client.session.set(se,he),g&&await this.client.core.pairing.updateMetadata({topic:g,metadata:Q.metadata}),he=this.client.session.get(se)),(L=this.client.metadata.redirect)!=null&&L.linkMode&&(Fe=Q.metadata.redirect)!=null&&Fe.linkMode&&(Qe=Q.metadata.redirect)!=null&&Qe.universal&&t&&(this.client.core.addLinkModeSupportedApp(Q.metadata.redirect.universal),this.client.session.update(se,{transportType:P.link_mode})),je({auths:He,session:he})};this.events.once(le,pe),this.events.once(Re,ve);let Ie;try{if(i){const x=ye(\"wc_sessionAuthenticate\",U,te);this.client.core.history.set(g,x);const L=await this.client.core.crypto.encode(\"\",x,{type:Qt,encoding:ne});Ie=ue(t,g,L)}else await Promise.all([this.sendRequest({topic:g,method:\"wc_sessionAuthenticate\",params:U,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:te}),this.sendRequest({topic:g,method:\"wc_sessionPropose\",params:q,expiry:N.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:q.id})])}catch(x){throw this.events.off(le,pe),this.events.off(Re,ve),x}return await this.setProposal(q.id,q),await this.setAuthRequest(te,{request:b(v({},U),{verifyContext:{}}),pairingTopic:g,transportType:r}),{uri:Ie??A,response:Rt}}),c(this,\"approveSessionAuthenticate\",async e=>{const{id:t,auths:s}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[z.authenticated_session_approve_started]}});try{this.isInitialized()}catch(f){throw i.setError(re.no_internet_connection),f}const r=this.getPendingAuthRequest(t);if(!r)throw i.setError(re.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${t}`);const o=r.transportType||P.relay;o===P.relay&&await this.confirmOnlineStateOrThrow();const a=r.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),p=be(a),h={type:Ve,receiverPublicKey:a,senderPublicKey:l},u=[],d=[];for(const f of s){if(!await et({cacao:f,projectId:this.client.core.projectId})){i.setError(re.invalid_cacao);const I=O(\"SESSION_SETTLEMENT_FAILED\",\"Signature verification failed\");throw await this.sendError({id:t,topic:p,error:I,encodeOpts:h}),new Error(I.message)}i.addTrace(z.cacaos_verified);const{p:_}=f,g=xe(_.resources),A=[tt(_.iss)],D=st(_.iss);if(g){const I=it(g),T=rt(g);u.push(...I),A.push(...T)}for(const I of A)d.push(`${I}:${D}`)}const w=await this.client.core.crypto.generateSharedKey(l,a);i.addTrace(z.create_authenticated_session_topic);let m;if(u?.length>0){m={topic:w,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:a,metadata:r.requester.metadata},controller:a,expiry:V(J),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:\"irn\"},pairingTopic:r.pairingTopic,namespaces:nt([...new Set(u)],[...new Set(d)]),transportType:o},i.addTrace(z.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:o})}catch(f){throw i.setError(re.subscribe_authenticated_session_topic_failure),f}i.addTrace(z.subscribe_authenticated_session_topic_success),await this.client.session.set(w,m),i.addTrace(z.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:r.pairingTopic,metadata:r.requester.metadata})}i.addTrace(z.publishing_authenticated_session_approve);try{await this.sendResult({topic:p,id:t,result:{cacaos:s,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(r.requester.metadata,o)})}catch(f){throw i.setError(re.authenticated_session_approve_publish_failure),f}return await this.client.auth.requests.delete(t,{message:\"fulfilled\",code:0}),await this.client.core.pairing.activate({topic:r.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:m}}),c(this,\"rejectSessionAuthenticate\",async e=>{this.isInitialized();const{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===P.relay&&await this.confirmOnlineStateOrThrow();const r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),a=be(r),l={type:Ve,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:t,topic:a,error:s,encodeOpts:l,rpcOpts:N.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:\"rejected\",code:0}),await this.client.proposal.delete(t,O(\"USER_DISCONNECTED\"))}),c(this,\"formatAuthMessage\",e=>{this.isInitialized();const{request:t,iss:s}=e;return Ht(t,s)}),c(this,\"processRelayMessageCache\",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),c(this,\"cleanupDuplicatePairings\",async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,o;return((r=i.peerMetadata)==null?void 0:r.url)&&((o=i.peerMetadata)==null?void 0:o.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info(\"Duplicate pairings clean up finished\")}catch(t){this.client.logger.error(t)}}),c(this,\"deleteSession\",async e=>{var t;const{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:o=0}=e,{self:a}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,O(\"USER_DISCONNECTED\")),this.addToRecentlyDeleted(s,\"session\"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(Me).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===s&&this.deletePendingSessionRequest(l.id,O(\"USER_DISCONNECTED\"))}),s===((t=this.sessionRequestQueue.queue[0])==null?void 0:t.topic)&&(this.sessionRequestQueue.state=$.idle),r&&this.client.events.emit(\"session_delete\",{id:o,topic:s})}),c(this,\"deleteProposal\",async(e,t)=>{if(t)try{const s=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:s.pairingTopic});i?.setError(H.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,O(\"USER_DISCONNECTED\")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"proposal\")}),c(this,\"deletePendingSessionRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,\"request\"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),s&&(this.sessionRequestQueue.state=$.idle,this.client.events.emit(\"session_request_expire\",{id:e}))}),c(this,\"deletePendingAuthRequest\",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),c(this,\"setExpiry\",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),c(this,\"setProposal\",async(e,t)=>{this.client.core.expirer.set(e,V(N.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),c(this,\"setAuthRequest\",async(e,t)=>{const{request:s,pairingTopic:i,transportType:r=P.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),c(this,\"setPendingSessionRequest\",async e=>{const{id:t,topic:s,params:i,verifyContext:r}=e,o=i.request.expiryTimestamp||V(N.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,o),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),c(this,\"sendRequest\",async e=>{const{topic:t,method:s,params:i,expiry:r,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:l,appLink:p,tvf:h}=e,u=ye(s,i,a);let d;const w=!!p;try{const _=w?ne:de;d=await this.client.core.crypto.encode(t,u,{encoding:_})}catch(_){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),_}let m;if(gt.includes(s)){const _=W(JSON.stringify(u)),g=W(d);m=await this.client.core.verify.register({id:g,decryptedId:_})}const f=N[s].req;if(f.attestation=m,r&&(f.ttl=r),o&&(f.id=o),this.client.core.history.set(t,u),w){const _=ue(p,t,d);await global.Linking.openURL(_,this.client.name)}else{const _=N[s].req;r&&(_.ttl=r),o&&(_.id=o),_.tvf=b(v({},h),{correlationId:u.id}),l?(_.internal=b(v({},_.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,_)):this.client.core.relayer.publish(t,d,_).catch(g=>this.client.logger.error(g))}return u.id}),c(this,\"sendResult\",async e=>{const{id:t,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:o,appLink:a}=e,l=us(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const w=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},o||{}),{encoding:w}))}catch(w){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),w}let u,d;try{u=await this.client.core.history.get(s,t);const w=u.request;try{this.shouldSetTVF(w.method,w.params)&&(d=this.getTVFParams(t,w.params,i))}catch(m){this.client.logger.warn(\"sendResult() -> getTVFParams() failed\",m)}}catch(w){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${t}) failed`),w}if(h){const w=ue(a,s,p);await global.Linking.openURL(w,this.client.name)}else{const w=u.request.method,m=N[w].res;m.tvf=b(v({},d),{correlationId:t}),r?(m.internal=b(v({},m.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,p,m)):this.client.core.relayer.publish(s,p,m).catch(f=>this.client.logger.error(f))}await this.client.core.history.resolve(l)}),c(this,\"sendError\",async e=>{const{id:t,topic:s,error:i,encodeOpts:r,rpcOpts:o,appLink:a}=e,l=gs(t,i);let p;const h=a&&typeof(global==null?void 0:global.Linking)<\"u\";try{const d=h?ne:de;p=await this.client.core.crypto.encode(s,l,b(v({},r||{}),{encoding:d}))}catch(d){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),d}let u;try{u=await this.client.core.history.get(s,t)}catch(d){throw this.client.logger.error(`sendError() -> history.get(${s}, ${t}) failed`),d}if(h){const d=ue(a,s,p);await global.Linking.openURL(d,this.client.name)}else{const d=u.request.method,w=o||N[d].res;this.client.core.relayer.publish(s,p,w)}await this.client.core.history.resolve(l)}),c(this,\"cleanup\",async()=>{const e=[],t=[];this.client.session.getAll().forEach(s=>{let i=!1;Z(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&e.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{Z(s.expiryTimestamp)&&t.push(s.id)}),await Promise.all([...e.map(s=>this.deleteSession({topic:s})),...t.map(s=>this.deleteProposal(s))])}),c(this,\"onProviderMessageEvent\",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),c(this,\"onRelayEventRequest\",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),c(this,\"processRequestsQueue\",async()=>{if(this.requestQueue.state===$.active){this.client.logger.info(\"Request queue already active, skipping...\");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=$.active;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(t){this.client.logger.warn(t)}}this.requestQueue.state=$.idle}),c(this,\"processRequest\",async e=>{const{topic:t,payload:s,attestation:i,transportType:r,encryptedId:o}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case\"wc_sessionPropose\":return await this.onSessionProposeRequest({topic:t,payload:s,attestation:i,encryptedId:o});case\"wc_sessionSettle\":return await this.onSessionSettleRequest(t,s);case\"wc_sessionUpdate\":return await this.onSessionUpdateRequest(t,s);case\"wc_sessionExtend\":return await this.onSessionExtendRequest(t,s);case\"wc_sessionPing\":return await this.onSessionPingRequest(t,s);case\"wc_sessionDelete\":return await this.onSessionDeleteRequest(t,s);case\"wc_sessionRequest\":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});case\"wc_sessionEvent\":return await this.onSessionEventRequest(t,s);case\"wc_sessionAuthenticate\":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:o,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),c(this,\"onRelayEventResponse\",async e=>{const{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case\"wc_sessionPropose\":return this.onSessionProposeResponse(t,s,i);case\"wc_sessionSettle\":return this.onSessionSettleResponse(t,s);case\"wc_sessionUpdate\":return this.onSessionUpdateResponse(t,s);case\"wc_sessionExtend\":return this.onSessionExtendResponse(t,s);case\"wc_sessionPing\":return this.onSessionPingResponse(t,s);case\"wc_sessionRequest\":return this.onSessionRequestResponse(t,s);case\"wc_sessionAuthenticate\":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),c(this,\"onRelayEventUnknownPayload\",e=>{const{topic:t}=e,{message:s}=y(\"MISSING_OR_INVALID\",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),c(this,\"shouldIgnorePairingRequest\",e=>{const{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!i||i.includes(s)?!1:!!(i.includes(\"wc_sessionAuthenticate\")&&this.client.events.listenerCount(\"session_authenticate\")>0)}),c(this,\"onSessionProposeRequest\",async e=>{const{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:o,id:a}=s;try{const l=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(\"session_proposal\")===0&&(console.warn(\"No listener for session_proposal event\"),l?.setError(Pt.proposal_listener_not_found)),this.isValidConnect(v({},s.params));const p=o.expiryTimestamp||V(N.wc_sessionPropose.req.ttl),h=v({id:a,pairingTopic:t,expiryTimestamp:p},o);await this.setProposal(a,h);const u=await this.getVerifyContext({attestationId:i,hash:W(JSON.stringify(s)),encryptedId:r,metadata:h.proposer.metadata});l?.addTrace(Nt.emit_session_proposal),this.client.events.emit(\"session_proposal\",{id:a,params:h,verifyContext:u})}catch(l){await this.sendError({id:a,topic:t,error:l,rpcOpts:N.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),c(this,\"onSessionProposeResponse\",async(e,t,s)=>{const{id:i}=t;if(j(t)){const{result:r}=t;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",result:r});const o=this.client.proposal.get(i);this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",proposal:o});const a=o.proposer.publicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",selfPublicKey:a});const l=r.responderPublicKey;this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",peerPublicKey:l});const p=await this.client.core.crypto.generateSharedKey(a,l);this.pendingSessions.set(i,{sessionTopic:p,pairingTopic:e,proposalId:i,publicKey:a});const h=await this.client.core.relayer.subscribe(p,{transportType:s});this.client.logger.trace({type:\"method\",method:\"onSessionProposeResponse\",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if(F(t)){await this.client.proposal.delete(i,O(\"USER_DISCONNECTED\"));const r=R(\"session_connect\",i);if(this.events.listenerCount(r)===0)throw new Error(`emitting ${r} without any listeners, 954`);this.events.emit(r,{error:t.error})}}),c(this,\"onSessionSettleRequest\",async(e,t)=>{const{id:s,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:o,expiry:a,namespaces:l,sessionProperties:p,scopedProperties:h,sessionConfig:u}=t.params,d=[...this.pendingSessions.values()].find(f=>f.sessionTopic===e);if(!d)return this.client.logger.error(`Pending session not found for topic ${e}`);const w=this.client.proposal.get(d.proposalId),m=b(v(v(v({topic:e,relay:r,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:d.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:o.publicKey,self:{publicKey:d.publicKey,metadata:this.client.metadata},peer:{publicKey:o.publicKey,metadata:o.metadata}},p&&{sessionProperties:p}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),{transportType:P.relay});await this.client.session.set(m.topic,m),await this.setExpiry(m.topic,m.expiry),await this.client.core.pairing.updateMetadata({topic:d.pairingTopic,metadata:m.peer.metadata}),this.client.events.emit(\"session_connect\",{session:m}),this.events.emit(R(\"session_connect\",d.proposalId),{session:m}),this.pendingSessions.delete(d.proposalId),this.deleteProposal(d.proposalId,!1),this.cleanupDuplicatePairings(m),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionSettleResponse\",async(e,t)=>{const{id:s}=t;j(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(R(\"session_approve\",s),{})):F(t)&&(await this.client.session.delete(e,O(\"USER_DISCONNECTED\")),this.events.emit(R(\"session_approve\",s),{error:t.error}))}),c(this,\"onSessionUpdateRequest\",async(e,t)=>{const{params:s,id:i}=t;try{const r=`${e}_session_update`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:O(\"INVALID_UPDATE_REQUEST\")});return}this.isValidUpdate(v({topic:e},s));try{oe.set(r,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(a){throw oe.delete(r),a}this.client.events.emit(\"session_update\",{id:i,topic:e,params:s})}catch(r){await this.sendError({id:i,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"isRequestOutOfSync\",(e,t)=>t.toString().slice(0,-3){const{id:s}=t,i=R(\"session_update\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_update\",s),{}):F(t)&&this.events.emit(R(\"session_update\",s),{error:t.error})}),c(this,\"onSessionExtendRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,V(J)),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_extend\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionExtendResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_extend\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_extend\",s),{}):F(t)&&this.events.emit(R(\"session_extend\",s),{error:t.error})}),c(this,\"onSessionPingRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(\"session_ping\",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),c(this,\"onSessionPingResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_ping\",s);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);j(t)?this.events.emit(R(\"session_ping\",s),{}):F(t)&&this.events.emit(R(\"session_ping\",s),{error:t.error})},500)}),c(this,\"onSessionDeleteRequest\",async(e,t)=>{const{id:s}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(i=>{this.client.core.relayer.once(Xe.publish,async()=>{i(await this.deleteSession({topic:e,id:s}))})}),this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:O(\"USER_DISCONNECTED\")})]).catch(i=>this.client.logger.error(i))}catch(i){this.client.logger.error(i)}}),c(this,\"onSessionRequest\",async e=>{var t,s,i;const{topic:r,payload:o,attestation:a,encryptedId:l,transportType:p}=e,{id:h,params:u}=o;try{await this.isValidRequest(v({topic:r},u));const d=this.client.session.get(r),w=await this.getVerifyContext({attestationId:a,hash:W(JSON.stringify(ye(\"wc_sessionRequest\",u,h))),encryptedId:l,metadata:d.peer.metadata,transportType:p}),m={id:h,topic:r,params:u,verifyContext:w};await this.setPendingSessionRequest(m),p===P.link_mode&&(t=d.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp((s=d.peer.metadata.redirect)==null?void 0:s.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(m):(this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue())}catch(d){await this.sendError({id:h,topic:r,error:d}),this.client.logger.error(d)}}),c(this,\"onSessionRequestResponse\",(e,t)=>{const{id:s}=t,i=R(\"session_request\",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionEventRequest\",async(e,t)=>{const{id:s,params:i}=t;try{const r=`${e}_session_event_${i.event.name}`,o=oe.get(r);if(o&&this.isRequestOutOfSync(o,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(v({topic:e},i)),this.client.events.emit(\"session_event\",{id:s,topic:e,params:i}),oe.set(r,s)}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),c(this,\"onSessionAuthenticateResponse\",(e,t)=>{const{id:s}=t;this.client.logger.trace({type:\"method\",method:\"onSessionAuthenticateResponse\",topic:e,payload:t}),j(t)?this.events.emit(R(\"session_request\",s),{result:t.result}):F(t)&&this.events.emit(R(\"session_request\",s),{error:t.error})}),c(this,\"onSessionAuthenticateRequest\",async e=>{var t;const{topic:s,payload:i,attestation:r,encryptedId:o,transportType:a}=e;try{const{requester:l,authPayload:p,expiryTimestamp:h}=i.params,u=await this.getVerifyContext({attestationId:r,hash:W(JSON.stringify(i)),encryptedId:o,metadata:l.metadata,transportType:a}),d={requester:l,pairingTopic:s,id:i.id,authPayload:p,verifyContext:u,expiryTimestamp:h};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:a}),a===P.link_mode&&(t=l.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit(\"session_authenticate\",{topic:s,params:i.params,id:i.id,verifyContext:u})}catch(l){this.client.logger.error(l);const p=i.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),u=this.getAppLinkIfEnabled(i.params.requester.metadata,a),d={type:Ve,receiverPublicKey:p,senderPublicKey:h};await this.sendError({id:i.id,topic:s,error:l,encodeOpts:d,rpcOpts:N.wc_sessionAuthenticate.autoReject,appLink:u})}}),c(this,\"addSessionRequestToSessionRequestQueue\",e=>{this.sessionRequestQueue.queue.push(e)}),c(this,\"cleanupAfterResponse\",e=>{this.deletePendingSessionRequest(e.response.id,{message:\"fulfilled\",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=$.idle,this.processSessionRequestQueue()},Oe(this.requestQueueDelay))}),c(this,\"cleanupPendingSentRequestsForTopic\",({topic:e,error:t})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===e&&i.request.method===\"wc_sessionRequest\").forEach(i=>{const r=i.request.id,o=R(\"session_request\",r);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners`);this.events.emit(R(\"session_request\",i.request.id),{error:t})})}),c(this,\"processSessionRequestQueue\",()=>{if(this.sessionRequestQueue.state===$.active){this.client.logger.info(\"session request queue is already active.\");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(\"session request queue is empty.\");return}try{this.sessionRequestQueue.state=$.active,this.emitSessionRequest(e)}catch(t){this.client.logger.error(t)}}),c(this,\"emitSessionRequest\",e=>{this.client.events.emit(\"session_request\",e)}),c(this,\"onPairingCreated\",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find(s=>s.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:ye(\"wc_sessionPropose\",b(v({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),c(this,\"isValidConnect\",async e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() params: ${JSON.stringify(e)}`);throw new Error(l)}const{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:o,relays:a}=e;if(X(t)||await this.isValidPairingTopic(t),!zt(a,!0)){const{message:l}=y(\"MISSING_OR_INVALID\",`connect() relays: ${a}`);throw new Error(l)}if(!X(s)&&ot(s)!==0&&this.validateNamespaces(s,\"requiredNamespaces\"),!X(i)&&ot(i)!==0&&this.validateNamespaces(i,\"optionalNamespaces\"),X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const l=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(o).every(p=>l.includes(p)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),c(this,\"validateNamespaces\",(e,t)=>{const s=Yt(e,\"connect()\",t);if(s)throw new Error(s.message)}),c(this,\"isValidApprove\",async e=>{if(!M(e))throw new Error(y(\"MISSING_OR_INVALID\",`approve() params: ${e}`).message);const{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:o}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const a=this.client.proposal.get(t),l=Ce(s,\"approve()\");if(l)throw new Error(l.message);const p=at(a.requiredNamespaces,s,\"approve()\");if(p)throw new Error(p.message);if(!Y(i,!0)){const{message:h}=y(\"MISSING_OR_INVALID\",`approve() relayProtocol: ${i}`);throw new Error(h)}if(X(r)||this.validateSessionProps(r,\"sessionProperties\"),!X(o)){this.validateSessionProps(o,\"scopedProperties\");const h=new Set(Object.keys(s));if(!Object.keys(o).every(u=>h.has(u)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(o)}, approved namespaces: ${Array.from(h).join(\", \")}`)}}),c(this,\"isValidReject\",async e=>{if(!M(e)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() params: ${e}`);throw new Error(i)}const{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Xt(s)){const{message:i}=y(\"MISSING_OR_INVALID\",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}}),c(this,\"isValidSessionSettleRequest\",e=>{if(!M(e)){const{message:l}=y(\"MISSING_OR_INVALID\",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!Jt(t)){const{message:l}=y(\"MISSING_OR_INVALID\",\"onSessionSettleRequest() relay protocol should be a string\");throw new Error(l)}const o=Bt(s,\"onSessionSettleRequest()\");if(o)throw new Error(o.message);const a=Ce(i,\"onSessionSettleRequest()\");if(a)throw new Error(a.message);if(Z(r)){const{message:l}=y(\"EXPIRED\",\"onSessionSettleRequest()\");throw new Error(l)}}),c(this,\"isValidUpdate\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`update() params: ${e}`);throw new Error(a)}const{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),r=Ce(s,\"update()\");if(r)throw new Error(r.message);const o=at(i.requiredNamespaces,s,\"update()\");if(o)throw new Error(o.message)}),c(this,\"isValidExtend\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`extend() params: ${e}`);throw new Error(s)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),c(this,\"isValidRequest\",async e=>{if(!M(e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() params: ${e}`);throw new Error(a)}const{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:o}=this.client.session.get(t);if(!ct(o,i)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() chainId: ${i}`);throw new Error(a)}if(!Wt(s)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!Zt(o,i,s.method)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() method: ${s.method}`);throw new Error(a)}if(r&&!es(r,_e)){const{message:a}=y(\"MISSING_OR_INVALID\",`request() expiry: ${r}. Expiry must be a number (in seconds) between ${_e.min} and ${_e.max}`);throw new Error(a)}}),c(this,\"isValidRespond\",async e=>{var t;if(!M(e)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() params: ${e}`);throw new Error(r)}const{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(r){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),r}if(!ts(i)){const{message:r}=y(\"MISSING_OR_INVALID\",`respond() response: ${JSON.stringify(i)}`);throw new Error(r)}}),c(this,\"isValidPing\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`ping() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidEmit\",async e=>{if(!M(e)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() params: ${e}`);throw new Error(o)}const{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:r}=this.client.session.get(t);if(!ct(r,i)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() chainId: ${i}`);throw new Error(o)}if(!ss(s)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}if(!is(r,i,s.name)){const{message:o}=y(\"MISSING_OR_INVALID\",`emit() event: ${JSON.stringify(s)}`);throw new Error(o)}}),c(this,\"isValidDisconnect\",async e=>{if(!M(e)){const{message:s}=y(\"MISSING_OR_INVALID\",`disconnect() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),c(this,\"isValidAuthenticate\",e=>{const{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||t.length===0)throw new Error(\"chains is required and must be a non-empty array\");if(!Y(s,!1))throw new Error(\"uri is required parameter\");if(!Y(i,!1))throw new Error(\"domain is required parameter\");if(!Y(r,!1))throw new Error(\"nonce is required parameter\");if([...new Set(t.map(a=>Ae(a).namespace))].length>1)throw new Error(\"Multi-namespace requests are not supported. Please request single namespace only.\");const{namespace:o}=Ae(t[0]);if(o!==\"eip155\")throw new Error(\"Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.\")}),c(this,\"getVerifyContext\",async e=>{const{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:o}=e,a={verified:{verifyUrl:r.verifyUrl||Ot,validation:\"UNKNOWN\",origin:r.url||\"\"}};try{if(o===P.link_mode){const p=this.getAppLinkIfEnabled(r,o);return a.verified.validation=p&&new URL(p).origin===new URL(r.url).origin?\"VALID\":\"INVALID\",a}const l=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});l&&(a.verified.origin=l.origin,a.verified.isScam=l.isScam,a.verified.validation=l.origin===new URL(r.url).origin?\"VALID\":\"INVALID\")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),c(this,\"validateSessionProps\",(e,t)=>{Object.values(e).forEach((s,i)=>{if(s==null){const{message:r}=y(\"MISSING_OR_INVALID\",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw new Error(r)}})}),c(this,\"getPendingAuthRequest\",e=>{const t=this.client.auth.requests.get(e);return typeof t==\"object\"?t:void 0}),c(this,\"addToRecentlyDeleted\",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}}),c(this,\"checkRecentlyDeleted\",e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:s}=y(\"MISSING_OR_INVALID\",`Record was recently deleted - ${t}: ${e}`);throw new Error(s)}}),c(this,\"isLinkModeEnabled\",(e,t)=>{var s,i,r,o,a,l,p,h,u;return!e||t!==P.link_mode?!1:((i=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:i.linkMode)===!0&&((o=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:o.universal)!==void 0&&((l=(a=this.client.metadata)==null?void 0:a.redirect)==null?void 0:l.universal)!==\"\"&&((p=e?.redirect)==null?void 0:p.universal)!==void 0&&((h=e?.redirect)==null?void 0:h.universal)!==\"\"&&((u=e?.redirect)==null?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<\"u\"}),c(this,\"getAppLinkIfEnabled\",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?(s=e?.redirect)==null?void 0:s.universal:void 0}),c(this,\"handleLinkModeMessage\",({url:e})=>{if(!e||!e.includes(\"wc_ev\")||!e.includes(\"topic\"))return;const t=lt(e,\"topic\")||\"\",s=decodeURIComponent(lt(e,\"wc_ev\")||\"\"),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:P.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),c(this,\"registerLinkModeListeners\",async()=>{var e;if(rs()||ns()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){const t=global==null?void 0:global.Linking;if(typeof t<\"u\"){t.addEventListener(\"url\",this.handleLinkModeMessage,this.client.name);const s=await t.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),c(this,\"shouldSetTVF\",(e,t)=>{if(!t||e!==\"wc_sessionRequest\")return!1;const{request:s}=t;return Object.keys(Ue).includes(s.method)}),c(this,\"getTVFParams\",(e,t,s)=>{var i,r;try{const o=t.request.method,a=this.extractTxHashesFromResult(o,s);return b(v({correlationId:e,rpcMethods:[o],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[(r=(i=t.request.params)==null?void 0:i[0])==null?void 0:r.to]}),{txHashes:a})}catch(o){this.client.logger.warn(\"Error getting TVF params\",o)}return{}}),c(this,\"isValidContractData\",e=>{var t;if(!e)return!1;try{const s=e?.data||((t=e?.[0])==null?void 0:t.data);if(!s.startsWith(\"0x\"))return!1;const i=s.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),c(this,\"extractTxHashesFromResult\",(e,t)=>{try{const s=Ue[e];if(typeof t==\"string\")return[t];const i=t[s.key];if(os(i))return e===\"solana_signAllTransactions\"?i.map(r=>as(r)):i;if(typeof i==\"string\")return[i]}catch(s){this.client.logger.warn(\"Error extracting tx hashes from result\",s)}return[]})}async processPendingMessageEvents(){try{const n=this.client.session.keys,e=this.client.core.relayer.messages.getWithoutAck(n);for(const[t,s]of Object.entries(e))for(const i of s)try{await this.onProviderMessageEvent({topic:t,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${t}, message: ${i}`)}}catch(n){this.client.logger.warn(\"processPendingMessageEvents failed\",n)}}isInitialized(){if(!this.initialized){const{message:n}=y(\"NOT_INITIALIZED\",this.name);throw new Error(n)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Xe.message,n=>{this.onProviderMessageEvent(n)})}async onRelayMessage(n){const{topic:e,message:t,attestation:s,transportType:i}=n,{publicKey:r}=this.client.auth.authKeys.keys.includes(ce)?this.client.auth.authKeys.get(ce):{responseTopic:void 0,publicKey:void 0};try{const o=await this.client.core.crypto.decode(e,t,{receiverPublicKey:r,encoding:i===P.link_mode?ne:de});hs(o)?(this.client.core.history.set(e,o),await this.onRelayEventRequest({topic:e,payload:o,attestation:s,transportType:i,encryptedId:W(t)})):ds(o)?(await this.client.core.history.resolve(o),await this.onRelayEventResponse({topic:e,payload:o,transportType:i}),this.client.core.history.delete(e,o.id)):await this.onRelayEventUnknownPayload({topic:e,payload:o,transportType:i}),await this.client.core.relayer.messages.ack(e,t)}catch(o){this.client.logger.error(o)}}registerExpirerEvents(){this.client.core.expirer.on(Tt.expired,async n=>{const{topic:e,id:t}=Mt(n.target);if(t&&this.client.pendingRequest.keys.includes(t))return await this.deletePendingSessionRequest(t,y(\"EXPIRED\"),!0);if(t&&this.client.auth.requests.keys.includes(t))return await this.deletePendingAuthRequest(t,y(\"EXPIRED\"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit(\"session_expire\",{topic:e})):t&&(await this.deleteProposal(t,!0),this.client.events.emit(\"proposal_expire\",{id:t}))})}registerPairingEvents(){this.client.core.pairing.events.on(Je.create,n=>this.onPairingCreated(n)),this.client.core.pairing.events.on(Je.delete,n=>{this.addToRecentlyDeleted(n.topic,\"pairing\")})}isValidPairingTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`pairing topic should be a string: ${n}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`pairing topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.core.pairing.pairings.get(n).expiry)){const{message:e}=y(\"EXPIRED\",`pairing topic: ${n}`);throw new Error(e)}}async isValidSessionTopic(n){if(!Y(n,!1)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic should be a string: ${n}`);throw new Error(e)}if(this.checkRecentlyDeleted(n),!this.client.session.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`session topic doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.session.get(n).expiry)){await this.deleteSession({topic:n});const{message:e}=y(\"EXPIRED\",`session topic: ${n}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`session topic does not exist in keychain: ${n}`);throw await this.deleteSession({topic:n}),new Error(e)}}async isValidSessionOrPairingTopic(n){if(this.checkRecentlyDeleted(n),this.client.session.keys.includes(n))await this.isValidSessionTopic(n);else if(this.client.core.pairing.pairings.keys.includes(n))this.isValidPairingTopic(n);else if(Y(n,!1)){const{message:e}=y(\"NO_MATCHING_KEY\",`session or pairing topic doesn't exist: ${n}`);throw new Error(e)}else{const{message:e}=y(\"MISSING_OR_INVALID\",`session or pairing topic should be a string: ${n}`);throw new Error(e)}}async isValidProposalId(n){if(!$t(n)){const{message:e}=y(\"MISSING_OR_INVALID\",`proposal id should be a number: ${n}`);throw new Error(e)}if(!this.client.proposal.keys.includes(n)){const{message:e}=y(\"NO_MATCHING_KEY\",`proposal id doesn't exist: ${n}`);throw new Error(e)}if(Z(this.client.proposal.get(n).expiryTimestamp)){await this.deleteProposal(n);const{message:e}=y(\"EXPIRED\",`proposal id: ${n}`);throw new Error(e)}}}class Ns extends B{constructor(n,e){super(n,e,pt,we),this.core=n,this.logger=e}}class St extends B{constructor(n,e){super(n,e,ht,we),this.core=n,this.logger=e}}class Os extends B{constructor(n,e){super(n,e,ut,we,t=>t.id),this.core=n,this.logger=e}}class bs extends B{constructor(n,e){super(n,e,mt,ae,()=>ce),this.core=n,this.logger=e}}class As extends B{constructor(n,e){super(n,e,_t,ae),this.core=n,this.logger=e}}class xs extends B{constructor(n,e){super(n,e,Et,ae,t=>t.id),this.core=n,this.logger=e}}var Cs=Object.defineProperty,Vs=(S,n,e)=>n in S?Cs(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,Ge=(S,n,e)=>Vs(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ds{constructor(n,e){this.core=n,this.logger=e,Ge(this,\"authKeys\"),Ge(this,\"pairingTopics\"),Ge(this,\"requests\"),this.authKeys=new bs(this.core,this.logger),this.pairingTopics=new As(this.core,this.logger),this.requests=new xs(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var Ls=Object.defineProperty,ks=(S,n,e)=>n in S?Ls(S,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[n]=e,E=(S,n,e)=>ks(S,typeof n!=\"symbol\"?n+\"\":n,e);class Ee extends Lt{constructor(n){super(n),E(this,\"protocol\",De),E(this,\"version\",Le),E(this,\"name\",me.name),E(this,\"metadata\"),E(this,\"core\"),E(this,\"logger\"),E(this,\"events\",new ps),E(this,\"engine\"),E(this,\"session\"),E(this,\"proposal\"),E(this,\"pendingRequest\"),E(this,\"auth\"),E(this,\"signConfig\"),E(this,\"on\",(t,s)=>this.events.on(t,s)),E(this,\"once\",(t,s)=>this.events.once(t,s)),E(this,\"off\",(t,s)=>this.events.off(t,s)),E(this,\"removeListener\",(t,s)=>this.events.removeListener(t,s)),E(this,\"removeAllListeners\",t=>this.events.removeAllListeners(t)),E(this,\"connect\",async t=>{try{return await this.engine.connect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"pair\",async t=>{try{return await this.engine.pair(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approve\",async t=>{try{return await this.engine.approve(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"reject\",async t=>{try{return await this.engine.reject(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"update\",async t=>{try{return await this.engine.update(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"extend\",async t=>{try{return await this.engine.extend(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"request\",async t=>{try{return await this.engine.request(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"respond\",async t=>{try{return await this.engine.respond(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"ping\",async t=>{try{return await this.engine.ping(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"emit\",async t=>{try{return await this.engine.emit(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"disconnect\",async t=>{try{return await this.engine.disconnect(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"find\",t=>{try{return this.engine.find(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"getPendingSessionRequests\",()=>{try{return this.engine.getPendingSessionRequests()}catch(t){throw this.logger.error(t.message),t}}),E(this,\"authenticate\",async(t,s)=>{try{return await this.engine.authenticate(t,s)}catch(i){throw this.logger.error(i.message),i}}),E(this,\"formatAuthMessage\",t=>{try{return this.engine.formatAuthMessage(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"approveSessionAuthenticate\",async t=>{try{return await this.engine.approveSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),E(this,\"rejectSessionAuthenticate\",async t=>{try{return await this.engine.rejectSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),this.name=n?.name||me.name,this.metadata=n?.metadata||cs(),this.signConfig=n?.signConfig;const e=typeof n?.logger<\"u\"&&typeof n?.logger!=\"string\"?n.logger:At(xt({level:n?.logger||me.logger}));this.core=n?.core||new bt(n),this.logger=Ct(e,this.name),this.session=new St(this.core,this.logger),this.proposal=new Ns(this.core,this.logger),this.pendingRequest=new Os(this.core,this.logger),this.engine=new Ps(this),this.auth=new Ds(this.core,this.logger)}static async init(n){const e=new Ee(n);return await e.initialize(),e}get context(){return Vt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(\"Initialized\");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(\"SignClient Initialization Success\"),setTimeout(()=>{this.engine.processRelayMessageCache()},Oe(Ze))}catch(n){throw this.logger.info(\"SignClient Initialization Failure\"),this.logger.error(n.message),n}}}const Ms=St,$s=Ee;export{wt as AUTH_CONTEXT,mt as AUTH_KEYS_CONTEXT,_t as AUTH_PAIRING_TOPIC_CONTEXT,yt as AUTH_PROTOCOL,ce as AUTH_PUBLIC_KEY_NAME,Et as AUTH_REQUEST_CONTEXT,ae as AUTH_STORAGE_PREFIX,Ss as AUTH_VERSION,dt as ENGINE_CONTEXT,$ as ENGINE_QUEUE_STATES,N as ENGINE_RPC_OPTS,_s as HISTORY_CONTEXT,ms as HISTORY_EVENTS,Es as HISTORY_STORAGE_VERSION,gt as METHODS_TO_VERIFY,pt as PROPOSAL_CONTEXT,fs as PROPOSAL_EXPIRY,$e as PROPOSAL_EXPIRY_MESSAGE,ut as REQUEST_CONTEXT,ht as SESSION_CONTEXT,J as SESSION_EXPIRY,_e as SESSION_REQUEST_EXPIRY_BOUNDARIES,ke as SIGN_CLIENT_CONTEXT,me as SIGN_CLIENT_DEFAULT,ys as SIGN_CLIENT_EVENTS,De as SIGN_CLIENT_PROTOCOL,ws as SIGN_CLIENT_STORAGE_OPTIONS,we as SIGN_CLIENT_STORAGE_PREFIX,Le as SIGN_CLIENT_VERSION,Ms as SessionStore,$s as SignClient,Ue as TVF_METHODS,Me as WALLETCONNECT_DEEPLINK_CHOICE,Ee as default};\n//# sourceMappingURL=index.es.js.map\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","import{EventEmitter as m}from\"events\";import o from\"cross-fetch\";import{safeJsonStringify as a,safeJsonParse as y}from\"@walletconnect/safe-json\";import{isHttpUrl as h,formatJsonRpcError as b,parseConnectionError as u}from\"@walletconnect/jsonrpc-utils\";var P=Object.defineProperty,w=Object.defineProperties,E=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,l=(r,t,e)=>t in r?P(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,p=(r,t)=>{for(var e in t||(t={}))L.call(t,e)&&l(r,e,t[e]);if(c)for(var e of c(t))O.call(t,e)&&l(r,e,t[e]);return r},v=(r,t)=>w(r,E(t));const j={Accept:\"application/json\",\"Content-Type\":\"application/json\"},T=\"POST\",d={headers:j,method:T},g=10;class f{constructor(t,e=!1){if(this.url=t,this.disableProviderPing=e,this.events=new m,this.isAvailable=!1,this.registering=!1,!h(t))throw new Error(`Provided URL is not compatible with HTTP connection: ${t}`);this.url=t,this.disableProviderPing=e}get connected(){return this.isAvailable}get connecting(){return this.registering}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}off(t,e){this.events.off(t,e)}removeListener(t,e){this.events.removeListener(t,e)}async open(t=this.url){await this.register(t)}async close(){if(!this.isAvailable)throw new Error(\"Connection already closed\");this.onClose()}async send(t){this.isAvailable||await this.register();try{const e=a(t),s=await(await o(this.url,v(p({},d),{body:e}))).json();this.onPayload({data:s})}catch(e){this.onError(t.id,e)}}async register(t=this.url){if(!h(t))throw new Error(`Provided URL is not compatible with HTTP connection: ${t}`);if(this.registering){const e=this.events.getMaxListeners();return(this.events.listenerCount(\"register_error\")>=e||this.events.listenerCount(\"open\")>=e)&&this.events.setMaxListeners(e+1),new Promise((s,i)=>{this.events.once(\"register_error\",n=>{this.resetMaxListeners(),i(n)}),this.events.once(\"open\",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>\"u\")return i(new Error(\"HTTP connection is missing or invalid\"));s()})})}this.url=t,this.registering=!0;try{if(!this.disableProviderPing){const e=a({id:1,jsonrpc:\"2.0\",method:\"test\",params:[]});await o(t,v(p({},d),{body:e}))}this.onOpen()}catch(e){const s=this.parseError(e);throw this.events.emit(\"register_error\",s),this.onClose(),s}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit(\"open\")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit(\"close\")}onPayload(t){if(typeof t.data>\"u\")return;const e=typeof t.data==\"string\"?y(t.data):t.data;this.events.emit(\"payload\",e)}onError(t,e){const s=this.parseError(e),i=s.message||s.toString(),n=b(t,i);this.events.emit(\"payload\",n)}parseError(t,e=this.url){return u(t,e,\"HTTP\")}resetMaxListeners(){this.events.getMaxListeners()>g&&this.events.setMaxListeners(g)}}export{f as HttpConnection,f as default};\n//# sourceMappingURL=index.es.js.map\n","import bt from\"@walletconnect/sign-client\";import{isValidObject as It,isCaipNamespace as Y,parseNamespaceKey as q,mergeArrays as M,parseChainId as Q,getSdkError as Z,isValidArray as T}from\"@walletconnect/utils\";import{pino as $t,getDefaultLoggerOptions as Ot}from\"@walletconnect/logger\";import m,{HttpConnection as At}from\"@walletconnect/jsonrpc-http-connection\";import{JsonRpcProvider as l}from\"@walletconnect/jsonrpc-provider\";import{formatJsonRpcRequest as Ht,formatJsonRpcResult as Et}from\"@walletconnect/jsonrpc-utils\";import Ct from\"events\";const tt=\"error\",Nt=\"wss://relay.walletconnect.org\",St=\"wc\",Dt=\"universal_provider\",_=`${St}@2:${Dt}:`,et=\"https://rpc.walletconnect.org/v1/\",w=\"generic\",qt=`${et}bundler`,d={DEFAULT_CHAIN_CHANGED:\"default_chain_changed\"};function jt(){}function B(s){return s==null||typeof s!=\"object\"&&typeof s!=\"function\"}function G(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function Rt(s){if(B(s))return s;if(Array.isArray(s)||G(s)||s instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&s instanceof SharedArrayBuffer)return s.slice(0);const t=Object.getPrototypeOf(s),e=t.constructor;if(s instanceof Date||s instanceof Map||s instanceof Set)return new e(s);if(s instanceof RegExp){const i=new e(s);return i.lastIndex=s.lastIndex,i}if(s instanceof DataView)return new e(s.buffer.slice(0));if(s instanceof Error){const i=new e(s.message);return i.stack=s.stack,i.name=s.name,i.cause=s.cause,i}if(typeof File<\"u\"&&s instanceof File)return new e([s],s.name,{type:s.type,lastModified:s.lastModified});if(typeof s==\"object\"){const i=Object.create(t);return Object.assign(i,s)}return s}function st(s){return typeof s==\"object\"&&s!==null}function it(s){return Object.getOwnPropertySymbols(s).filter(t=>Object.prototype.propertyIsEnumerable.call(s,t))}function rt(s){return s==null?s===void 0?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(s)}const _t=\"[object RegExp]\",nt=\"[object String]\",at=\"[object Number]\",ct=\"[object Boolean]\",ot=\"[object Arguments]\",Ut=\"[object Symbol]\",Ft=\"[object Date]\",Lt=\"[object Map]\",xt=\"[object Set]\",Mt=\"[object Array]\",Bt=\"[object ArrayBuffer]\",Gt=\"[object Object]\",Jt=\"[object DataView]\",zt=\"[object Uint8Array]\",kt=\"[object Uint8ClampedArray]\",Wt=\"[object Uint16Array]\",Kt=\"[object Uint32Array]\",Vt=\"[object Int8Array]\",Xt=\"[object Int16Array]\",Yt=\"[object Int32Array]\",Qt=\"[object Float32Array]\",Zt=\"[object Float64Array]\";function Tt(s,t){return y(s,void 0,s,new Map,t)}function y(s,t,e,i=new Map,r=void 0){const a=r?.(s,t,e,i);if(a!=null)return a;if(B(s))return s;if(i.has(s))return i.get(s);if(Array.isArray(s)){const n=new Array(s.length);i.set(s,n);for(let c=0;c{const n=t?.(e,i,r,a);if(n!=null)return n;if(typeof s==\"object\")switch(Object.prototype.toString.call(s)){case at:case nt:case ct:{const c=new s.constructor(s?.valueOf());return g(c,s),c}case ot:{const c={};return g(c,s),c.length=s.length,c[Symbol.iterator]=s[Symbol.iterator],c}default:return}})}function ht(s){return ee(s)}function pt(s){return s!==null&&typeof s==\"object\"&&rt(s)===\"[object Arguments]\"}function se(s){return G(s)}function ie(s){if(typeof s!=\"object\"||s==null)return!1;if(Object.getPrototypeOf(s)===null)return!0;if(Object.prototype.toString.call(s)!==\"[object Object]\"){const e=s[Symbol.toStringTag];return e==null||!Object.getOwnPropertyDescriptor(s,Symbol.toStringTag)?.writable?!1:s.toString()===`[object ${e}]`}let t=s;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(s)===t}function re(s,...t){const e=t.slice(0,-1),i=t[t.length-1];let r=s;for(let a=0;at in s?ae(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,F=(s,t)=>{for(var e in t||(t={}))he.call(t,e)&&ut(s,e,t[e]);if(dt)for(var e of dt(t))pe.call(t,e)&&ut(s,e,t[e]);return s},de=(s,t)=>ce(s,oe(t));function p(s,t,e){var i;const r=Q(s);return((i=t.rpcMap)==null?void 0:i[r.reference])||`${et}?chainId=${r.namespace}:${r.reference}&projectId=${e}`}function P(s){return s.includes(\":\")?s.split(\":\")[1]:s}function lt(s){return s.map(t=>`${t.split(\":\")[0]}:${t.split(\":\")[1]}`)}function ue(s,t){const e=Object.keys(t.namespaces).filter(r=>r.includes(s));if(!e.length)return[];const i=[];return e.forEach(r=>{const a=t.namespaces[r].accounts;i.push(...a)}),i}function J(s={},t={}){const e=ft(s),i=ft(t);return ne(e,i)}function ft(s){var t,e,i,r;const a={};if(!It(s))return a;for(const[n,c]of Object.entries(s)){const h=Y(n)?[n]:c.chains,v=c.methods||[],j=c.events||[],R=c.rpcMap||{},f=q(n);a[f]=de(F(F({},a[f]),c),{chains:M(h,(t=a[f])==null?void 0:t.chains),methods:M(v,(e=a[f])==null?void 0:e.methods),events:M(j,(i=a[f])==null?void 0:i.events),rpcMap:F(F({},R),(r=a[f])==null?void 0:r.rpcMap)})}return a}function le(s){return s.includes(\":\")?s.split(\":\")[2]:s}function mt(s){const t={};for(const[e,i]of Object.entries(s)){const r=i.methods||[],a=i.events||[],n=i.accounts||[],c=Y(e)?[e]:i.chains?i.chains:lt(i.accounts);t[e]={chains:c,methods:r,events:a,accounts:n}}return t}function z(s){return typeof s==\"number\"?s:s.includes(\"0x\")?parseInt(s,16):(s=s.includes(\":\")?s.split(\":\")[1]:s,isNaN(Number(s))?s:Number(s))}const vt={},o=s=>vt[s],k=(s,t)=>{vt[s]=t};var fe=Object.defineProperty,me=(s,t,e)=>t in s?fe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,b=(s,t,e)=>me(s,typeof t!=\"symbol\"?t+\"\":t,e);class ve{constructor(t){b(this,\"name\",\"polkadot\"),b(this,\"client\"),b(this,\"httpProviders\"),b(this,\"events\"),b(this,\"namespace\"),b(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const r=P(e);t[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var ge=Object.defineProperty,Pe=Object.defineProperties,we=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,W=(s,t,e)=>t in s?ge(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,Pt=(s,t)=>{for(var e in t||(t={}))ye.call(t,e)&&W(s,e,t[e]);if(gt)for(var e of gt(t))be.call(t,e)&&W(s,e,t[e]);return s},wt=(s,t)=>Pe(s,we(t)),I=(s,t,e)=>W(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ie{constructor(t){I(this,\"name\",\"eip155\"),I(this,\"client\"),I(this,\"chainId\"),I(this,\"namespace\"),I(this,\"httpProviders\"),I(this,\"events\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case\"eth_requestAccounts\":return this.getAccounts();case\"eth_accounts\":return this.getAccounts();case\"wallet_switchEthereumChain\":return await this.handleSwitchChain(t);case\"eth_chainId\":return parseInt(this.getDefaultChain());case\"wallet_getCapabilities\":return await this.getCapabilities(t);case\"wallet_getCallsStatus\":return await this.getCallStatus(t)}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(parseInt(t),e),this.chainId=parseInt(t),this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}createHttpProvider(t,e){const i=e||p(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new At(i,o(\"disableProviderPing\")))}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const r=parseInt(P(e));t[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}getHttpProvider(){const t=this.chainId,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}async handleSwitchChain(t){var e,i;let r=t.request.params?(e=t.request.params[0])==null?void 0:e.chainId:\"0x0\";r=r.startsWith(\"0x\")?r:`0x${r}`;const a=parseInt(r,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes(\"wallet_switchEthereumChain\"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:r}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}async getCapabilities(t){var e,i,r;const a=(i=(e=t.request)==null?void 0:e.params)==null?void 0:i[0];if(!a)throw new Error(\"Missing address parameter in `wallet_getCapabilities` request\");const n=this.client.session.get(t.topic),c=((r=n?.sessionProperties)==null?void 0:r.capabilities)||{};if(c!=null&&c[a])return c?.[a];const h=await this.client.request(t);try{await this.client.session.update(t.topic,{sessionProperties:wt(Pt({},n.sessionProperties||{}),{capabilities:wt(Pt({},c||{}),{[a]:h})})})}catch(v){console.warn(\"Failed to update session with capabilities\",v)}return h}async getCallStatus(t){var e,i;const r=this.client.session.get(t.topic),a=(e=r.sessionProperties)==null?void 0:e.bundler_name;if(a){const c=this.getBundlerUrl(t.chainId,a);try{return await this.getUserOperationReceipt(c,t)}catch(h){console.warn(\"Failed to fetch call status from bundler\",h,c)}}const n=(i=r.sessionProperties)==null?void 0:i.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,t)}catch(c){console.warn(\"Failed to fetch call status from custom bundler\",c,n)}if(this.namespace.methods.includes(t.request.method))return await this.client.request(t);throw new Error(\"Fetching call status not approved by the wallet.\")}async getUserOperationReceipt(t,e){var i;const r=new URL(t),a=await fetch(r,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(Ht(\"eth_getUserOperationReceipt\",[(i=e.request.params)==null?void 0:i[0]]))});if(!a.ok)throw new Error(`Failed to fetch user operation receipt - ${a.status}`);return await a.json()}getBundlerUrl(t,e){return`${qt}?projectId=${this.client.core.projectId}&chainId=${t}&bundler=${e}`}}var $e=Object.defineProperty,Oe=(s,t,e)=>t in s?$e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,$=(s,t,e)=>Oe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ae{constructor(t){$(this,\"name\",\"solana\"),$(this,\"client\"),$(this,\"httpProviders\"),$(this,\"events\"),$(this,\"namespace\"),$(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const r=P(e);t[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var He=Object.defineProperty,Ee=(s,t,e)=>t in s?He(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,O=(s,t,e)=>Ee(s,typeof t!=\"symbol\"?t+\"\":t,e);class Ce{constructor(t){O(this,\"name\",\"cosmos\"),O(this,\"client\"),O(this,\"httpProviders\"),O(this,\"events\"),O(this,\"namespace\"),O(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const r=P(e);t[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Ne=Object.defineProperty,Se=(s,t,e)=>t in s?Ne(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,A=(s,t,e)=>Se(s,typeof t!=\"symbol\"?t+\"\":t,e);class De{constructor(t){A(this,\"name\",\"algorand\"),A(this,\"client\"),A(this,\"httpProviders\"),A(this,\"events\"),A(this,\"namespace\"),A(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(!this.httpProviders[t]){const i=e||p(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);return typeof i>\"u\"?void 0:new l(new m(i,o(\"disableProviderPing\")))}}var qe=Object.defineProperty,je=(s,t,e)=>t in s?qe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,H=(s,t,e)=>je(s,typeof t!=\"symbol\"?t+\"\":t,e);class Re{constructor(t){H(this,\"name\",\"cip34\"),H(this,\"client\"),H(this,\"httpProviders\"),H(this,\"events\"),H(this,\"namespace\"),H(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{const i=this.getCardanoRPCUrl(e),r=P(e);t[r]=this.createHttpProvider(r,i)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}getCardanoRPCUrl(t){const e=this.namespace.rpcMap;if(e)return e[t]}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||this.getCardanoRPCUrl(t);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var _e=Object.defineProperty,Ue=(s,t,e)=>t in s?_e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,E=(s,t,e)=>Ue(s,typeof t!=\"symbol\"?t+\"\":t,e);class Fe{constructor(t){E(this,\"name\",\"elrond\"),E(this,\"client\"),E(this,\"httpProviders\"),E(this,\"events\"),E(this,\"namespace\"),E(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const r=P(e);t[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Le=Object.defineProperty,xe=(s,t,e)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t,e)=>xe(s,typeof t!=\"symbol\"?t+\"\":t,e);class Me{constructor(t){C(this,\"name\",\"multiversx\"),C(this,\"client\"),C(this,\"httpProviders\"),C(this,\"events\"),C(this,\"namespace\"),C(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;const r=P(e);t[r]=this.createHttpProvider(r,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Be=Object.defineProperty,Ge=(s,t,e)=>t in s?Be(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t,e)=>Ge(s,typeof t!=\"symbol\"?t+\"\":t,e);class Je{constructor(t){N(this,\"name\",\"near\"),N(this,\"client\"),N(this,\"httpProviders\"),N(this,\"events\"),N(this,\"namespace\"),N(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||p(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{var i;t[e]=this.createHttpProvider(e,(i=this.namespace.rpcMap)==null?void 0:i[e])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace);return typeof i>\"u\"?void 0:new l(new m(i,o(\"disableProviderPing\")))}}var ze=Object.defineProperty,ke=(s,t,e)=>t in s?ze(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,S=(s,t,e)=>ke(s,typeof t!=\"symbol\"?t+\"\":t,e);class We{constructor(t){S(this,\"name\",\"tezos\"),S(this,\"client\"),S(this,\"httpProviders\"),S(this,\"events\"),S(this,\"namespace\"),S(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,e){if(this.chainId=t,!this.httpProviders[t]){const i=e||p(`${this.name}:${t}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,i)}this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(e=>{t[e]=this.createHttpProvider(e)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace);return typeof i>\"u\"?void 0:new l(new m(i))}}var Ke=Object.defineProperty,Ve=(s,t,e)=>t in s?Ke(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,D=(s,t,e)=>Ve(s,typeof t!=\"symbol\"?t+\"\":t,e);class Xe{constructor(t){D(this,\"name\",w),D(this,\"client\"),D(this,\"httpProviders\"),D(this,\"events\"),D(this,\"namespace\"),D(this,\"chainId\"),this.namespace=t.namespace,this.events=o(\"events\"),this.client=o(\"client\"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(t.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(t.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(t.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(t.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider(t.chainId).request(t.request)}setDefaultChain(t,e){this.httpProviders[t]||this.setHttpProvider(t,e),this.chainId=t,this.events.emit(d.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error(\"ChainId not found\");return t.split(\":\")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(e=>e.split(\":\")[1]===this.chainId.toString()).map(e=>e.split(\":\")[2]))]:[]}createHttpProviders(){var t,e;const i={};return(e=(t=this.namespace)==null?void 0:t.accounts)==null||e.forEach(r=>{const a=Q(r);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(r)}),i}getHttpProvider(t){const e=this.httpProviders[t];if(typeof e>\"u\")throw new Error(`JSON-RPC provider for ${t} not found`);return e}setHttpProvider(t,e){const i=this.createHttpProvider(t,e);i&&(this.httpProviders[t]=i)}createHttpProvider(t,e){const i=e||p(t,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${t}`);return new l(new m(i,o(\"disableProviderPing\")))}}var Ye=Object.defineProperty,Qe=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ts=Object.prototype.propertyIsEnumerable,K=(s,t,e)=>t in s?Ye(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,L=(s,t)=>{for(var e in t||(t={}))Te.call(t,e)&&K(s,e,t[e]);if(yt)for(var e of yt(t))ts.call(t,e)&&K(s,e,t[e]);return s},V=(s,t)=>Qe(s,Ze(t)),u=(s,t,e)=>K(s,typeof t!=\"symbol\"?t+\"\":t,e);class x{constructor(t){u(this,\"client\"),u(this,\"namespaces\"),u(this,\"optionalNamespaces\"),u(this,\"sessionProperties\"),u(this,\"scopedProperties\"),u(this,\"events\",new Ct),u(this,\"rpcProviders\",{}),u(this,\"session\"),u(this,\"providerOpts\"),u(this,\"logger\"),u(this,\"uri\"),u(this,\"disableProviderPing\",!1),this.providerOpts=t,this.logger=typeof t?.logger<\"u\"&&typeof t?.logger!=\"string\"?t.logger:$t(Ot({level:t?.logger||tt})),this.disableProviderPing=t?.disableProviderPing||!1}static async init(t){const e=new x(t);return await e.initialize(),e}async request(t,e,i){const[r,a]=this.validateChain(e);if(!this.session)throw new Error(\"Please call connect() before request()\");return await this.getProvider(r).request({request:L({},t),chainId:`${r}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(t,e,i,r){const a=new Date().getTime();this.request(t,i,r).then(n=>e(null,Et(a,n))).catch(n=>e(n,void 0))}async enable(){if(!this.client)throw new Error(\"Sign Client not initialized\");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error(\"Please call connect() before enable()\");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:Z(\"USER_DISCONNECTED\")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error(\"Sign Client not initialized\");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}async authenticate(t,e){if(!this.client)throw new Error(\"Sign Client not initialized\");this.setNamespaces(t),await this.cleanupPendingPairings();const{uri:i,response:r}=await this.client.authenticate(t,e);i&&(this.uri=i,this.events.emit(\"display_uri\",i));const a=await r();if(this.session=a.session,this.session){const n=mt(this.session.namespaces);this.namespaces=J(this.namespaces,n),await this.persist(\"namespaces\",this.namespaces),this.onConnect()}return a}on(t,e){this.events.on(t,e)}once(t,e){this.events.once(t,e)}removeListener(t,e){this.events.removeListener(t,e)}off(t,e){this.events.off(t,e)}get isWalletConnect(){return!0}async pair(t){const{uri:e,approval:i}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});e&&(this.uri=e,this.events.emit(\"display_uri\",e));const r=await i();this.session=r;const a=mt(r.namespaces);return this.namespaces=J(this.namespaces,a),await this.persist(\"namespaces\",this.namespaces),await this.persist(\"optionalNamespaces\",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(t,e){try{if(!this.session)return;const[i,r]=this.validateChain(t),a=this.getProvider(i);a.name===w?a.setDefaultChain(`${i}:${r}`,e):a.setDefaultChain(r,e)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(t={}){this.logger.info(\"Cleaning up inactive pairings...\");const e=this.client.pairing.getAll();if(T(e)){for(const i of e)t.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${e.length}`)}}abortPairingAttempt(){this.logger.warn(\"abortPairingAttempt is deprecated. This is now a no-op.\")}async checkStorage(){this.namespaces=await this.getFromStore(\"namespaces\")||{},this.optionalNamespaces=await this.getFromStore(\"optionalNamespaces\")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(\"Initialized\"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var t,e;if(this.client=this.providerOpts.client||await bt.init({core:this.providerOpts.core,logger:this.providerOpts.logger||tt,relayUrl:this.providerOpts.relayUrl||Nt,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(i){throw this.logger.error(\"Failed to get session\",i),new Error(`The provided session: ${(e=(t=this.providerOpts)==null?void 0:t.session)==null?void 0:e.topic} doesn't exist in the Sign client`)}else{const i=this.client.session.getAll();this.session=i[0]}this.logger.trace(\"SignClient Initialized\")}createProviders(){if(!this.client)throw new Error(\"Sign Client not initialized\");if(!this.session)throw new Error(\"Session not initialized. Please call connect() before enable()\");const t=[...new Set(Object.keys(this.session.namespaces).map(e=>q(e)))];k(\"client\",this.client),k(\"events\",this.events),k(\"disableProviderPing\",this.disableProviderPing),t.forEach(e=>{if(!this.session)return;const i=ue(e,this.session),r=lt(i),a=J(this.namespaces,this.optionalNamespaces),n=V(L({},a[e]),{accounts:i,chains:r});switch(e){case\"eip155\":this.rpcProviders[e]=new Ie({namespace:n});break;case\"algorand\":this.rpcProviders[e]=new De({namespace:n});break;case\"solana\":this.rpcProviders[e]=new Ae({namespace:n});break;case\"cosmos\":this.rpcProviders[e]=new Ce({namespace:n});break;case\"polkadot\":this.rpcProviders[e]=new ve({namespace:n});break;case\"cip34\":this.rpcProviders[e]=new Re({namespace:n});break;case\"elrond\":this.rpcProviders[e]=new Fe({namespace:n});break;case\"multiversx\":this.rpcProviders[e]=new Me({namespace:n});break;case\"near\":this.rpcProviders[e]=new Je({namespace:n});break;case\"tezos\":this.rpcProviders[e]=new We({namespace:n});break;default:this.rpcProviders[w]?this.rpcProviders[w].updateNamespace(n):this.rpcProviders[w]=new Xe({namespace:n})}})}registerEventListeners(){if(typeof this.client>\"u\")throw new Error(\"Sign Client is not initialized\");this.client.on(\"session_ping\",t=>{var e;const{topic:i}=t;i===((e=this.session)==null?void 0:e.topic)&&this.events.emit(\"session_ping\",t)}),this.client.on(\"session_event\",t=>{var e;const{params:i,topic:r}=t;if(r!==((e=this.session)==null?void 0:e.topic))return;const{event:a}=i;if(a.name===\"accountsChanged\"){const n=a.data;n&&T(n)&&this.events.emit(\"accountsChanged\",n.map(le))}else if(a.name===\"chainChanged\"){const n=i.chainId,c=i.event.data,h=q(n),v=z(n)!==z(c)?`${h}:${z(c)}`:n;this.onChainChanged(v)}else this.events.emit(a.name,a.data);this.events.emit(\"session_event\",t)}),this.client.on(\"session_update\",({topic:t,params:e})=>{var i,r;if(t!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:a}=e,n=(r=this.client)==null?void 0:r.session.get(t);this.session=V(L({},n),{namespaces:a}),this.onSessionUpdate(),this.events.emit(\"session_update\",{topic:t,params:e})}),this.client.on(\"session_delete\",async t=>{var e;t.topic===((e=this.session)==null?void 0:e.topic)&&(await this.cleanup(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",V(L({},Z(\"USER_DISCONNECTED\")),{data:t.topic})))}),this.on(d.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){return this.rpcProviders[t]||this.rpcProviders[w]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var e;this.getProvider(t).updateNamespace((e=this.session)==null?void 0:e.namespaces[t])})}setNamespaces(t){const{namespaces:e,optionalNamespaces:i,sessionProperties:r,scopedProperties:a}=t;e&&Object.keys(e).length&&(this.namespaces=e),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=r,this.scopedProperties=a}validateChain(t){const[e,i]=t?.split(\":\")||[\"\",\"\"];if(!this.namespaces||!Object.keys(this.namespaces).length)return[e,i];if(e&&!Object.keys(this.namespaces||{}).map(n=>q(n)).includes(e))throw new Error(`Namespace '${e}' is not configured. Please call connect() first with namespace config.`);if(e&&i)return[e,i];const r=q(Object.keys(this.namespaces)[0]),a=this.rpcProviders[r].getDefaultChain();return[r,a]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}async onChainChanged(t,e=!1){if(!this.namespaces)return;const[i,r]=this.validateChain(t);r&&(e||this.getProvider(i).setDefaultChain(r),this.namespaces[i]?this.namespaces[i].defaultChain=r:this.namespaces[`${i}:${r}`]?this.namespaces[`${i}:${r}`].defaultChain=r:this.namespaces[`${i}:${r}`]={defaultChain:r},this.events.emit(\"chainChanged\",r),await this.persist(\"namespaces\",this.namespaces))}onConnect(){this.createProviders(),this.events.emit(\"connect\",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(\"namespaces\"),await this.deleteFromStore(\"optionalNamespaces\"),await this.deleteFromStore(\"sessionProperties\"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(t,e){var i;const r=((i=this.session)==null?void 0:i.topic)||\"\";await this.client.core.storage.setItem(`${_}/${t}${r}`,e)}async getFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";return await this.client.core.storage.getItem(`${_}/${t}${i}`)}async deleteFromStore(t){var e;const i=((e=this.session)==null?void 0:e.topic)||\"\";await this.client.core.storage.removeItem(`${_}/${t}${i}`)}async cleanupStorage(){var t;try{if(((t=this.client)==null?void 0:t.session.length)>0)return;const e=await this.client.core.storage.getKeys();for(const i of e)i.startsWith(_)&&await this.client.core.storage.removeItem(i)}catch(e){this.logger.warn(\"Failed to cleanup storage\",e)}}}const es=x;export{es as UniversalProvider,x as default};\n//# sourceMappingURL=index.es.js.map\n","import{EventEmitter as A}from\"events\";import{getAccountsFromNamespaces as b,getSdkError as S,isValidArray as E}from\"@walletconnect/utils\";import{UniversalProvider as R}from\"@walletconnect/universal-provider\";const T=\"wc\",$=\"ethereum_provider\",j=`${T}@2:${$}:`,q=\"https://rpc.walletconnect.org/v1/\",u=[\"eth_sendTransaction\",\"personal_sign\"],M=[\"eth_accounts\",\"eth_requestAccounts\",\"eth_sendRawTransaction\",\"eth_sign\",\"eth_signTransaction\",\"eth_signTypedData\",\"eth_signTypedData_v3\",\"eth_signTypedData_v4\",\"eth_sendTransaction\",\"personal_sign\",\"wallet_switchEthereumChain\",\"wallet_addEthereumChain\",\"wallet_getPermissions\",\"wallet_requestPermissions\",\"wallet_registerOnboarding\",\"wallet_watchAsset\",\"wallet_scanQRCode\",\"wallet_sendCalls\",\"wallet_getCapabilities\",\"wallet_getCallsStatus\",\"wallet_showCallsStatus\"],m=[\"chainChanged\",\"accountsChanged\"],O=[\"chainChanged\",\"accountsChanged\",\"message\",\"disconnect\",\"connect\"];var N=Object.defineProperty,D=Object.defineProperties,U=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,y=(a,t,s)=>t in a?N(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,g=(a,t)=>{for(var s in t||(t={}))Q.call(t,s)&&y(a,s,t[s]);if(P)for(var s of P(t))L.call(t,s)&&y(a,s,t[s]);return a},_=(a,t)=>D(a,U(t)),o=(a,t,s)=>y(a,typeof t!=\"symbol\"?t+\"\":t,s);function v(a){return Number(a[0].split(\":\")[1])}function C(a){return`0x${a.toString(16)}`}function x(a){const{chains:t,optionalChains:s,methods:i,optionalMethods:e,events:n,optionalEvents:h,rpcMap:l}=a;if(!E(t))throw new Error(\"Invalid chains\");const r={chains:t,methods:i||u,events:n||m,rpcMap:g({},t.length?{[v(t)]:l[v(t)]}:{})},d=n?.filter(p=>!m.includes(p)),c=i?.filter(p=>!u.includes(p));if(!s&&!h&&!e&&!(d!=null&&d.length)&&!(c!=null&&c.length))return{required:t.length?r:void 0};const I=d?.length&&c?.length||!s,f={chains:[...new Set(I?r.chains.concat(s||[]):s)],methods:[...new Set(r.methods.concat(e!=null&&e.length?e:M))],events:[...new Set(r.events.concat(h!=null&&h.length?h:O))],rpcMap:l};return{required:t.length?r:void 0,optional:s.length?f:void 0}}class w{constructor(){o(this,\"events\",new A),o(this,\"namespace\",\"eip155\"),o(this,\"accounts\",[]),o(this,\"signer\"),o(this,\"chainId\",1),o(this,\"modal\"),o(this,\"rpc\"),o(this,\"STORAGE_KEY\",j),o(this,\"on\",(t,s)=>(this.events.on(t,s),this)),o(this,\"once\",(t,s)=>(this.events.once(t,s),this)),o(this,\"removeListener\",(t,s)=>(this.events.removeListener(t,s),this)),o(this,\"off\",(t,s)=>(this.events.off(t,s),this)),o(this,\"parseAccount\",t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t),this.signer={},this.rpc={}}static async init(t){const s=new w;return await s.initialize(t),s}async request(t,s){return await this.signer.request(t,this.formatChainId(this.chainId),s)}sendAsync(t,s,i){this.signer.sendAsync(t,s,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:\"eth_requestAccounts\"})}async connect(t){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts(t);const{required:s,optional:i}=x(this.rpc);try{const e=await new Promise(async(h,l)=>{var r;this.rpc.showQrModal&&((r=this.modal)==null||r.subscribeModal(c=>{!c.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),l(new Error(\"Connection request reset. Please try again.\")))}));const d=t!=null&&t.scopedProperties?{[this.namespace]:t.scopedProperties}:void 0;await this.signer.connect(_(g({namespaces:g({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:t?.pairingTopic,scopedProperties:d})).then(c=>{h(c)}).catch(c=>{l(new Error(c.message))})});if(!e)return;const n=b(e.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:C(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{this.modal&&this.modal.closeModal()}}async authenticate(t,s){if(!this.signer.client)throw new Error(\"Provider not initialized. Call init() first\");this.loadConnectOpts({chains:t?.chains});try{const i=await new Promise(async(n,h)=>{var l;this.rpc.showQrModal&&((l=this.modal)==null||l.subscribeModal(r=>{!r.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),h(new Error(\"Connection request reset. Please try again.\")))})),await this.signer.authenticate(_(g({},t),{chains:this.rpc.chains}),s).then(r=>{n(r)}).catch(r=>{h(new Error(r.message))})}),e=i.session;if(e){const n=b(e.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit(\"connect\",{chainId:C(this.chainId)})}return i}catch(i){throw this.signer.logger.error(i),i}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on(\"session_event\",t=>{const{params:s}=t,{event:i}=s;i.name===\"accountsChanged\"?(this.accounts=this.parseAccounts(i.data),this.events.emit(\"accountsChanged\",this.accounts)):i.name===\"chainChanged\"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit(\"session_event\",t)}),this.signer.on(\"chainChanged\",t=>{const s=parseInt(t);this.chainId=s,this.events.emit(\"chainChanged\",C(this.chainId)),this.persist()}),this.signer.on(\"session_update\",t=>{this.events.emit(\"session_update\",t)}),this.signer.on(\"session_delete\",t=>{this.reset(),this.events.emit(\"session_delete\",t),this.events.emit(\"disconnect\",_(g({},S(\"USER_DISCONNECTED\")),{data:t.topic,name:\"USER_DISCONNECTED\"}))}),this.signer.on(\"display_uri\",t=>{var s,i;this.rpc.showQrModal&&((s=this.modal)==null||s.closeModal(),(i=this.modal)==null||i.openModal({uri:t})),this.events.emit(\"display_uri\",t)})}switchEthereumChain(t){this.request({method:\"wallet_switchEthereumChain\",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t==\"string\"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(\":\")[1])}setChainIds(t){const s=t.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));s.length&&(this.chainId=s[0],this.events.emit(\"chainChanged\",C(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const s=this.parseChainId(t);this.chainId=s,this.switchEthereumChain(s)}}parseAccountId(t){const[s,i,e]=t.split(\":\");return{chainId:`${s}:${i}`,address:e}}setAccounts(t){this.accounts=t.filter(s=>this.parseChainId(this.parseAccountId(s).chainId)===this.chainId).map(s=>this.parseAccountId(s).address),this.events.emit(\"accountsChanged\",this.accounts)}getRpcConfig(t){var s,i;const e=(s=t?.chains)!=null?s:[],n=(i=t?.optionalChains)!=null?i:[],h=e.concat(n);if(!h.length)throw new Error(\"No chains specified in either `chains` or `optionalChains`\");const l=e.length?t?.methods||u:[],r=e.length?t?.events||m:[],d=t?.optionalMethods||[],c=t?.optionalEvents||[],I=t?.rpcMap||this.buildRpcMap(h,t.projectId),f=t?.qrModalOptions||void 0;return{chains:e?.map(p=>this.formatChainId(p)),optionalChains:n.map(p=>this.formatChainId(p)),methods:l,events:r,optionalMethods:d,optionalEvents:c,rpcMap:I,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:f,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,s){const i={};return t.forEach(e=>{i[e]=this.getRpcUrl(e,s)}),i}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?v(this.rpc.chains):v(this.rpc.optionalChains),this.signer=await R.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storage:t.storage,storageOptions:t.storageOptions,customStoragePrefix:t.customStoragePrefix,telemetryEnabled:t.telemetryEnabled,logger:t.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let s;try{const{WalletConnectModal:i}=await import(\"@walletconnect/modal\");s=i}catch{throw new Error(\"To use QR modal, please install @walletconnect/modal package\")}if(s)try{this.modal=new s(g({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error(\"Could not generate WalletConnectModal Instance\")}}}loadConnectOpts(t){if(!t)return;const{chains:s,optionalChains:i,rpcMap:e}=t;s&&E(s)&&(this.rpc.chains=s.map(n=>this.formatChainId(n)),s.forEach(n=>{this.rpc.rpcMap[n]=e?.[n]||this.getRpcUrl(n)})),i&&E(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(n=>this.formatChainId(n)),i.forEach(n=>{this.rpc.rpcMap[n]=e?.[n]||this.getRpcUrl(n)}))}getRpcUrl(t,s){var i;return((i=this.rpc.rpcMap)==null?void 0:i[t])||`${q}?chainId=eip155:${t}&projectId=${s||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),s=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:s?.accounts),this.setAccounts(s?.accounts)}catch(t){this.signer.logger.error(\"Failed to load persisted session, clearing state...\"),this.signer.logger.error(t),await this.disconnect().catch(s=>this.signer.logger.warn(s))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t==\"string\"||t instanceof String?[this.parseAccount(t)]:t.map(s=>this.parseAccount(s))}}const z=w;export{z as EthereumProvider,O as OPTIONAL_EVENTS,M as OPTIONAL_METHODS,m as REQUIRED_EVENTS,u as REQUIRED_METHODS,w as default};\n//# sourceMappingURL=index.es.js.map\n"],"file":"assets/index.es-CnH9LV7v.js"}