{"version":3,"file":"components/chunks/1339.16716c52233d9618a1fd.js","mappings":";;;;;;;;;;AASA,IAAiDA,OAS9B,IAATC,MAA8BC,OATSF,EASD,SAASG,GACzD,OAAgB,SAAUC,GAEhB,IAAIC,EAAmB,CAAC,EAGxB,SAAS,EAAoBC,GAG5B,GAAGD,EAAiBC,GACnB,OAAOD,EAAiBC,GAAUC,QAGnC,IAAIC,EAASH,EAAiBC,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,CAAC,GAUX,OANAH,EAAQE,GAAUK,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAAS,GAG/DC,EAAOE,GAAI,EAGJF,EAAOD,OACf,CAyDA,OArDA,EAAoBK,EAAIR,EAGxB,EAAoBS,EAAIR,EAGxB,EAAoBS,EAAI,SAASP,EAASQ,EAAMC,GAC3C,EAAoBC,EAAEV,EAASQ,IAClCG,OAAOC,eAAeZ,EAASQ,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGA,EAAoBM,EAAI,SAASf,GACX,oBAAXgB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeZ,EAASgB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,GACvD,EAOA,EAAoBC,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQ,EAAoBA,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA,EAAoBR,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAO,EAAoBX,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGA,EAAoBI,EAAI,SAASzB,GAChC,IAAIQ,EAASR,GAAUA,EAAOoB,WAC7B,WAAwB,OAAOpB,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADA,EAAoBM,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGA,EAAoBC,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH,EAAoBG,EAAI,GAIjB,EAAoB,EAAoBC,EAAI,GACnD,CApFM,CAsFN,CAEJ,SAAU/B,EAAQD,EAASiC,GAEjC,aAuBA,SAASC,EAAaC,EAAWC,GAC7B,IAAIC,EAAWF,EAAY,EACvBG,EAAiBF,GAA2B,IAAdA,EAClC,OAAIC,GAAYC,EACL,KAEFD,EACE,IAEFC,EACE,IAGA,IAEf,CApCA3B,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQuC,aAAevC,EAAQkC,aAAelC,EAAQwC,eAAiBxC,EAAQyC,oBAAiB,EAShGzC,EAAQyC,eARR,SAAwBC,EAAMC,EAAQC,GAMlC,OALAA,EAAIC,YAAYF,GAAQ,IACVG,MAAMC,QAAQL,GAAQA,EAAO,CAACA,IAEvCM,KAAI,SAAUN,GAAQ,OAAOE,EAAIK,aAAaP,EAAO,IACrDQ,QAAO,SAAUC,EAAGC,GAAK,OAAOC,KAAKC,IAAIH,EAAGC,EAAI,GAAG,EAE5D,EAWApD,EAAQwC,eATR,SAAwBI,EAAKW,EAAOC,EAAUC,GAC1C,IAAItB,EAAYoB,EAAMG,SAASC,eAC3BC,EAAYL,EAAMG,SAASG,eAC/BjB,EAAIC,YAAY,CAAEV,UAAWA,EAAWyB,UAAWA,IACnD,IAAIE,EAAY5B,EAAaC,GAAW,GACpC2B,GACAlB,EAAImB,KAAKP,EAASQ,EAAGR,EAASS,EAAGV,EAAMW,SAAStB,EAAIuB,WAAWC,OAAQX,EAAOQ,EAAIT,EAASS,EAAGH,EAEtG,EAkBA9D,EAAQkC,aAAeA,EAyDvBlC,EAAQuC,aAxDR,SAAsBrB,EAAOmD,GACzB,IAAIC,EAAIC,EAAIC,EAAIC,EAEhB,GADAvD,EAAQA,GAASmD,EACbvB,MAAMC,QAAQ7B,GAAQ,CACtB,GAAIA,EAAMwD,QAAU,EAChB,MAAO,CACHC,IAAKzD,EAAM,GACX0D,MAAO1D,EAAM,GACb2D,OAAQ3D,EAAM,GACd4D,KAAM5D,EAAM,IAGf,GAAqB,IAAjBA,EAAMwD,OACX,MAAO,CACHC,IAAKzD,EAAM,GACX0D,MAAO1D,EAAM,GACb2D,OAAQ3D,EAAM,GACd4D,KAAM5D,EAAM,IAGf,GAAqB,IAAjBA,EAAMwD,OACX,MAAO,CACHC,IAAKzD,EAAM,GACX0D,MAAO1D,EAAM,GACb2D,OAAQ3D,EAAM,GACd4D,KAAM5D,EAAM,IAIhBA,EADsB,IAAjBA,EAAMwD,OACHxD,EAAM,GAGNmD,CAEhB,CACA,MAAqB,iBAAVnD,GACuB,iBAAnBA,EAAM6D,WACb7D,EAAMyD,IAAMzD,EAAM6D,SAClB7D,EAAM2D,OAAS3D,EAAM6D,UAEO,iBAArB7D,EAAM8D,aACb9D,EAAM0D,MAAQ1D,EAAM8D,WACpB9D,EAAM4D,KAAO5D,EAAM8D,YAEhB,CACHF,KAA4B,QAArBR,EAAKpD,EAAM4D,YAAyB,IAAPR,EAAgBA,EAAKD,EACzDM,IAA0B,QAApBJ,EAAKrD,EAAMyD,WAAwB,IAAPJ,EAAgBA,EAAKF,EACvDO,MAA8B,QAAtBJ,EAAKtD,EAAM0D,aAA0B,IAAPJ,EAAgBA,EAAKH,EAC3DQ,OAAgC,QAAvBJ,EAAKvD,EAAM2D,cAA2B,IAAPJ,EAAgBA,EAAKJ,KAGhD,iBAAVnD,IACPA,EAAQmD,GAEL,CAAEM,IAAKzD,EAAO0D,MAAO1D,EAAO2D,OAAQ3D,EAAO4D,KAAM5D,GAC5D,CAIO,EAED,SAAUjB,EAAQD,EAASiC,GAEjC,aAEA,IACQgD,EADJC,EAAaxF,MAAQA,KAAKwF,YACtBD,EAAgB,SAAU1E,EAAG6C,GAI7B,OAHA6B,EAAgBtE,OAAOwE,gBAClB,CAAEC,UAAW,cAAgBtC,OAAS,SAAUvC,EAAG6C,GAAK7C,EAAE6E,UAAYhC,CAAG,GAC1E,SAAU7C,EAAG6C,GAAK,IAAK,IAAIrB,KAAKqB,EAAOzC,OAAOkB,UAAUC,eAAe1B,KAAKgD,EAAGrB,KAAIxB,EAAEwB,GAAKqB,EAAErB,GAAI,EAC7FkD,EAAc1E,EAAG6C,EAC5B,EACO,SAAU7C,EAAG6C,GAEhB,SAASiC,IAAO3F,KAAK4F,YAAc/E,CAAG,CADtC0E,EAAc1E,EAAG6C,GAEjB7C,EAAEsB,UAAkB,OAANuB,EAAazC,OAAOY,OAAO6B,IAAMiC,EAAGxD,UAAYuB,EAAEvB,UAAW,IAAIwD,EACnF,GAEJ1E,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQuF,SAAWvF,EAAQwF,cAAgBxF,EAAQyF,aAAezF,EAAQ0F,oBAAiB,EAI3F1F,EAAQ0F,eAAiB,KACzB,IAAID,EAA8B,SAAUE,GAExC,SAASF,EAAaG,GAClB,IAAIC,EAAQF,EAAOvF,KAAKV,OAASA,KAEjC,OADAmG,EAAMC,SAAWF,EACVC,CACX,CACA,OANAX,EAAUO,EAAcE,GAMjBF,CACX,CARiC,CAQ/B3C,OACF9C,EAAQyF,aAAeA,EAoBvBzF,EAAQwF,cAlBR,SAAuBO,GACnB,MAAO,CACHC,KAAM,YACNC,UAAW,SACXC,SAAU,YACV9D,WAAW,EACX+D,UAAW,GACXC,OAAQ,OACRC,OAAQ,MACRC,SAAU,GACVC,YAAa,EAAIR,EACjBnC,UAAW,IACXzB,UAAW,EACXqE,UAAW,OACXC,cAAe,EACfC,aAAc,EAEtB,EAwCA1G,EAAQuF,SAtCR,SAAkB/E,GAoCd,MAnCa,CACTmG,QAAS,CACLpD,MAAO,CAAEnB,UAAW,IAAK+D,UAAW,GAAIF,UAAW,UACnDW,KAAM,CAAET,UAAW,IAAK/D,UAAW,CAAC,GAAI,IAAK,KAAM6D,UAAW,QAC9DY,KAAM,CAAC,EACPC,KAAM,CAAEX,UAAW,IAAK/D,UAAW,CAAC,GAAI,IAAK,KAAM6D,UAAW,QAC9Dc,aAAc,CAAE3E,UAAW,MAE/B4E,KAAM,CACFzD,MAAO,CACHnB,UAAW,IACX+D,UAAW,GACXF,UAAW,SACX9D,UAAW,IAEfyE,KAAM,CACFT,UAAW,IACX/D,UAAW,CAAC,GAAI,IAAK,KACrB6D,UAAW,OACX9D,UAAW,GAEf0E,KAAM,CAAC,EACPC,KAAM,CACFX,UAAW,IACX/D,UAAW,CAAC,GAAI,IAAK,KACrB6D,UAAW,OACX9D,UAAW,GAEf4E,aAAc,CAAC,GAEnBE,MAAO,CACHL,KAAM,CAAEX,UAAW,QACnBa,KAAM,CAAEb,UAAW,UAGbzF,EAClB,CAIO,EAED,SAAUP,EAAQD,EAASiC,GAEjC,aAEAtB,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQkH,gBAAa,EACrB,IAAIC,EAAiB,CAAC,EAClBD,EAA4B,WAC5B,SAASA,EAAWE,GAChB1H,KAAK0H,cAAgBA,EACrB1H,KAAK2H,WAAa,CAEdlB,UAAWiB,EAAcE,aACnB5H,KAAK0H,cAAcE,eACnB,EACNhB,SAAUc,EAAcG,SAASC,cACjCvB,UAAWmB,EAAcG,SAASE,UAAUxB,UAC5CD,KAAMoB,EAAcG,SAASE,UAAUC,SAE/C,CAoHA,OAnHAR,EAAWS,YAAc,SAAUC,EAAUhF,QAC7B,IAARA,IAAkBA,EAAM,MACxBA,EACAA,EAAIiF,4BAA8BD,EAGlCT,EAAiBS,CAEzB,EACAV,EAAWY,WAAa,SAAUxH,GAC9B,OAAIwC,MAAMC,QAAQzC,GACPA,EAEW,iBAANA,EACL,CAACA,EAAGA,EAAGA,GAEI,iBAANA,EACL,CAACA,GAGD,IAEf,EACA4G,EAAWrF,UAAUgB,YAAc,SAAUF,EAAQoF,GAGjD,IAAIzD,EAAIC,EAAIC,OACK,IAAbuD,IAAuBA,GAAW,GAClCpF,EAAOsD,WACPvG,KAAK0H,cAAcY,cAAgBtI,KAAK0H,cAAcY,aAAarF,EAAOsD,WAC9E,IAAIxB,EAAK/E,KAAK0H,cAAcG,SAASE,UAAWxB,EAAYxB,EAAGwB,UAAWyB,EAAWjD,EAAGiD,SAGxF,GAFI/E,EAAOqD,OACP0B,EAAW/E,EAAOqD,MAClBrD,EAAOsD,UAAW,CAClBA,EAAYtD,EAAOsD,UACnB,IAAIgC,EAAsBvI,KAAKwI,cAAcR,GACzCO,IAAmE,IAA5CA,EAAoBE,QAAQlC,KAInDvG,KAAK0H,cAAcY,cAAgBtI,KAAK0H,cAAcY,aAAaC,EAAoB,IACvFhC,EAAYgC,EAAoB,GAExC,CAIA,GAHAvI,KAAK0H,cAAcgB,QAAQV,EAAUzB,GACjCtD,EAAO2D,UACP5G,KAAK0H,cAAciB,YAAY1F,EAAO2D,WACtCyB,EAAJ,CAGA,IAAIO,EAAQpB,EAAWY,WAAWnF,EAAOP,WACrCkG,IACChE,EAAK5E,KAAK0H,eAAemB,aAAaC,MAAMlE,EAAIgE,IACrDA,EAAQpB,EAAWY,WAAWnF,EAAOwD,cAEhC5B,EAAK7E,KAAK0H,eAAeqB,aAAaD,MAAMjE,EAAI+D,IACrDA,EAAQpB,EAAWY,WAAWnF,EAAOiB,cAEhCY,EAAK9E,KAAK0H,eAAesB,aAAaF,MAAMhE,EAAI8D,GACrB,iBAArB3F,EAAOR,WACdzC,KAAK0H,cAAcuB,aAAahG,EAAOR,UAX3C,CAaJ,EACA+E,EAAWrF,UAAU+G,gBAAkB,SAAUlG,EAAMmG,EAAMC,GACzD,OAAOpJ,KAAK0H,cAAcwB,gBAAgBlG,EAAMmG,EAAMC,EAC1D,EACA5B,EAAWrF,UAAUkC,KAAO,SAAUC,EAAGC,EAAGG,EAAO2E,EAAQjF,GACvD,OAAOpE,KAAK0H,cAAcrD,KAAKC,EAAGC,EAAGG,EAAO2E,EAAQjF,EACxD,EACAoD,EAAWrF,UAAUmH,iBAAmB,WACpC,OAAOtJ,KAAK0H,cAAc6B,eAAiB,IAC/C,EACA/B,EAAWrF,UAAUoB,aAAe,SAAUP,GAC1C,OAAOhD,KAAK0H,cAAcnE,aAAaP,EAC3C,EACAwE,EAAWrF,UAAUqH,YAAc,WAC/B,OAAOxJ,KAAK0H,aAChB,EACAF,EAAWrF,UAAUsH,QAAU,SAAUC,GACrC1J,KAAK0H,cAAc+B,QAAQC,EAC/B,EACAlC,EAAWrF,UAAUwH,QAAU,WAC3B,OAAO3J,KAAK0H,cAAciC,SAC9B,EACAnC,EAAWrF,UAAUqG,YAAc,WAC/B,OAAOxI,KAAK0H,cAAcc,aAC9B,EACAhB,EAAWrF,UAAUyH,iBAAmB,WACpC,OAAOnC,GAAkB,CAAC,CAC9B,EACAD,EAAWrF,UAAU0H,mBAAqB,WACtC,OAAO7J,KAAK0H,cAAcS,6BAA+B,CAAC,CAC9D,EACAX,EAAWrF,UAAUsC,SAAW,WAC5B,IAAIA,EAAWzE,KAAK0H,cAAcG,SAASpD,SAQ3C,OANsB,MAAlBA,EAASC,QACTD,EAAW,CACPC,MAAOD,EAASD,WAChB6E,OAAQ5E,EAASqF,cAGlBrF,CACX,EACA+C,EAAWrF,UAAUkE,YAAc,WAC/B,OAAOrG,KAAK0H,cAAcG,SAASxB,WACvC,EACAmB,EAAWrF,UAAU4H,WAAa,WAC9B,IAAIC,EAAWhK,KAAK0H,cAAcG,SAASoC,qBAC3C,OAAKD,EAIEA,EAASD,WAFL/J,KAAK0H,cAAcG,SAASqC,kBAG3C,EACO1C,CACX,CAjI+B,GAkI/BlH,EAAQkH,WAAaA,CAGd,EAED,SAAUjH,EAAQD,EAASiC,GAEjC,aAGAtB,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQ6J,YAAS,EAsBjB7J,EAAQ6J,OApBR,SAAgBC,EAAQ9H,EAAG+H,EAAIC,EAAIC,GAC/B,GAAc,MAAVH,EACA,MAAM,IAAII,UAAU,8CAGxB,IADA,IAAIC,EAAKxJ,OAAOmJ,GACPM,EAAQ,EAAGA,EAAQC,UAAU3F,OAAQ0F,IAAS,CAEnD,IAAIE,EAAaD,UAAUD,GAC3B,GAAkB,MAAdE,EAEA,IAAK,IAAIC,KAAWD,EAEZ3J,OAAOkB,UAAUC,eAAe1B,KAAKkK,EAAYC,KACjDJ,EAAGI,GAAWD,EAAWC,GAIzC,CACA,OAAOJ,CACX,CAIO,EAED,SAAUlK,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQwK,eAAY,EACpB,IAAIC,EAAc,EAAoB,IAClCC,EAAW,EAAoB,GAuCnC,SAASC,EAAgBC,EAAgB7E,EAAapG,EAAQkL,EAAKC,EAAeC,GAE9E,IADA,IAAIC,EAAY,IAAIN,EAASjF,aAAaoF,GACjC3K,EAAI,EAAGA,EAAI2K,EAAII,MAAMvG,OAAQxE,IAAK,CACvC,IAAIgL,EAAOL,EAAII,MAAM/K,GACjBiL,EAAUxL,EAAOyL,iBAAiBF,GACtC,GAAIJ,GAAqC,SAApBK,EAAQE,QAAoB,CAC7C,IAAIC,OAAa,EACbP,IACAO,EAAab,EAAYc,SAASX,EAAgBM,EAAMnF,EAAaoF,EAASxL,IAElFqL,EAAUQ,KAAK,CACXC,QAASP,EAAKO,QACdC,QAASR,EAAKQ,QACd/I,OAAQ2I,EACRxF,SAAUoF,EACVS,QAASC,EAAiBV,IAElC,CACJ,CACA,IAAIW,EAAQlM,EAAOyL,iBAAiBP,GACpC,GAAIG,EAAUtG,OAAS,IAAMoG,GAAmC,SAAlBe,EAAMR,SAChD,OAAOL,CAEf,CACA,SAASY,EAAiBE,GAEtB,IAAIZ,EAAOY,EAAQC,WAAU,GAU7B,OAPAb,EAAKc,UAAYd,EAAKc,UAAUC,QAAQ,MAAO,IAAIA,QAAQ,MAAO,KAElEf,EAAKc,UAAYd,EAAKc,UACjBE,MAAM,QACNlJ,KAAI,SAAUmJ,GAAQ,OAAOA,EAAKC,MAAQ,IAC1CC,KAAK,MAEHnB,EAAKoB,WAAapB,EAAKqB,aAAe,EACjD,CAtCAvM,EAAQwK,UArCR,SAAmB5H,EAAK4J,EAAO7M,EAAQ8M,EAAmB1B,GACtD,IAAIzG,EAAIC,EAGJmI,OAFsB,IAAtBD,IAAgCA,GAAoB,QACzC,IAAX1B,IAAqBA,GAAS,GAG9B2B,EADiB,iBAAVF,EACQ7M,EAAOgN,SAASC,cAAcJ,GAG9BA,EAEnB,IAAI5B,EAAiBjK,OAAOkM,KAAKjK,EAAIsF,eACjCnC,EAAcnD,EAAImD,cAClBa,EAAO,GAAIC,EAAO,GAAIC,EAAO,GACjC,IAAK4F,EAED,OADAI,QAAQC,MAAM,6CAA8CP,GACrD,CAAE5F,KAAMA,EAAMC,KAAMA,EAAMC,KAAMA,GAE3C,IAAK,IAAI5G,EAAI,EAAGA,EAAIwM,EAAaM,KAAKtI,OAAQxE,IAAK,CAC/C,IAAI0F,EAAU8G,EAAaM,KAAK9M,GAC5B+M,EAAoJ,QAAzI1I,EAAwF,QAAlFD,EAAKsB,aAAyC,EAASA,EAAQsH,qBAAkC,IAAP5I,OAAgB,EAASA,EAAG2I,eAA4B,IAAP1I,OAAgB,EAASA,EAAG4I,cACxLtC,EAAMF,EAAgBC,EAAgB7E,EAAapG,EAAQiG,EAAS6G,EAAmB1B,GACtFF,IAEW,UAAZoC,EACArG,EAAK4E,KAAKX,GAEO,UAAZoC,EACLnG,EAAK0E,KAAKX,GAIVhE,EAAK2E,KAAKX,GAElB,CACA,MAAO,CAAEjE,KAAMA,EAAMC,KAAMA,EAAMC,KAAMA,EAC3C,CA0CO,EAED,SAAU7G,EAAQD,EAASiC,GAEjC,aAEAtB,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IAkDtDlB,EAAQoN,QA7CR,SAAmB1K,EAAMsB,EAAGC,EAAGtB,EAAQC,GACnCD,EAASA,GAAU,CAAC,EACpB,IAAI+C,EAAiB,KACjB2H,EAAIzK,EAAI2E,SAASxB,YACjBO,EAAW1D,EAAI2E,SAASC,cAAgB6F,EAExCC,EAAY,GACZC,EAAY,EAchB,GAbsB,WAAlB5K,EAAO0D,QACW,WAAlB1D,EAAO0D,QACW,WAAlB1D,EAAOyD,QACW,UAAlBzD,EAAOyD,SAEPmH,GADAD,EAA4B,iBAAT5K,EAAoBA,EAAKwJ,MAP/B,eAOmDxJ,GAC1CgC,QAAU,GAGpCT,GAAKqC,GAAY,EAAIZ,GACC,WAAlB/C,EAAO0D,OACPpC,GAAMsJ,EAAY,EAAKjH,EAAWZ,EACX,WAAlB/C,EAAO0D,SACZpC,GAAKsJ,EAAYjH,EAAWZ,GACV,WAAlB/C,EAAOyD,QAAyC,UAAlBzD,EAAOyD,OAAoB,CACzD,IAAIoH,EAAYlH,EAGhB,GAFsB,WAAlB3D,EAAOyD,SACPoH,GAAa,IACbF,GAAaC,GAAa,EAAG,CAC7B,IAAK,IAAIE,EAAQ,EAAGA,EAAQH,EAAU5I,OAAQ+I,IAC1C7K,EAAIF,KAAK4K,EAAUG,GAAQzJ,EAAIpB,EAAI8K,mBAAmBJ,EAAUG,IAAUD,EAAWvJ,GACrFA,GAAKqC,EAAWZ,EAEpB,OAAO9C,CACX,CACAoB,GAAKpB,EAAI8K,mBAAmBhL,GAAQ8K,CACxC,CAUA,MATsB,YAAlB7K,EAAOyD,OACPxD,EAAIF,KAAKA,EAAMsB,EAAGC,EAAG,CACjB0J,SAAUhL,EAAOgL,UAAY,IAC7BC,MAAO,YAIXhL,EAAIF,KAAKA,EAAMsB,EAAGC,GAEfrB,CACX,CAIO,EAED,SAAU3C,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQ6N,gBAAa,EACrB,IAAIC,EAAe,EAAoB,GACnCC,EAAc,EAAoB,GAClCC,EAAW,EAAoB,GAC/BC,EAAoB,EAAoB,GACxCC,EAAmB,EAAoB,IAuB3ClO,EAAQ6N,WAtBR,SAAoBtN,EAAG4N,GACnB,IAAIvL,EAAM,IAAIqL,EAAkB/G,WAAW3G,GACvCoM,EAAW/J,EAAI2G,qBACf6E,EAASxL,EAAI0G,mBACjB4E,EAAiBd,QAAQxK,EAAKwL,EAAQzB,EAAUwB,GAChD,IACIE,EADAC,EAAUP,EAAYlE,OAAO,CAAC,EAAGuE,EAAQzB,EAAUwB,GAEjC,oBAAXxO,SACP0O,EAAM1O,QAEV,IAAIgD,EAaR,SAAqB4L,EAAQC,EAAQC,GAsBjC,IArBA,IAAIC,EAAe,CACf/L,OAAQ,CAAC,EACTgM,WAAY,CAAC,EACbC,WAAY,CAAC,EACbC,WAAY,CAAC,EACbC,mBAAoB,CAAC,EACrBC,aAAc,CAAC,GAEfC,EAAU,SAAUC,GACpB,GAAa,iBAATA,EAAyB,CACzB,IAAIC,EAAWX,EAAOU,GAClBE,EAAaX,EAAOS,GACpBd,EAAUM,EAAOQ,GACrBP,EAAaK,aAAehB,EAAYlE,OAAO,CAAC,EAAGqF,EAAUC,EAAYhB,EAC7E,KACK,CACD,IACIxL,EADa,CAAC4L,EAAQC,EAAQC,GACVzL,KAAI,SAAU8F,GAAQ,OAAOA,EAAKmG,IAAS,CAAC,CAAG,IACvEP,EAAaO,GAAQlB,EAAYlE,OAAO,CAAC,EAAGlH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAC7E,CACJ,EACSyM,EAAK,EAAG9K,EAAK3D,OAAOkM,KAAK6B,GAAeU,EAAK9K,EAAGI,OAAQ0K,IAE7DJ,EADW1K,EAAG8K,IAGlB,OAAOV,CACX,CAxCiBW,CAAYjB,EAAQzB,EAAUwB,GACvCmB,EAwCR,SAAoBlB,EAAQzB,EAAUwB,GAQlC,IAPA,IACIoB,EAAS,CACTC,aAAc,GACdC,aAAc,GACdC,YAAa,GACbC,YAAa,IAERP,EAAK,EAAGQ,EAPA,CAACxB,EAAQzB,EAAUwB,GAOQiB,EAAKQ,EAAalL,OAAQ0K,IAAM,CACxE,IAAId,EAAUsB,EAAaR,GACvBd,EAAQkB,cACRD,EAAOC,aAAahE,KAAK8C,EAAQkB,cACjClB,EAAQmB,cACRF,EAAOE,aAAajE,KAAK8C,EAAQmB,cACjCnB,EAAQoB,aACRH,EAAOG,YAAYlE,KAAK8C,EAAQoB,aAChCpB,EAAQqB,aACRJ,EAAOI,YAAYnE,KAAK8C,EAAQqB,YACxC,CACA,OAAOJ,CACX,CA5DgBM,CAAWzB,EAAQzB,EAAUwB,GACrCzK,EA4DR,SAAuBd,EAAK0L,GACxB,IAAIhK,EAAIC,EAAIC,EAAIC,EAAIqL,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAGpCC,EAUAC,EAZAC,EAAStC,EAASzL,aAAa+L,EAAQgC,OAAQ,GAAK1N,EAAImD,eACxDwK,EAAmD,QAAzCjM,EAsClB,SAAmB1B,EAAK4N,GACpB,IAAIC,EAAW7N,EAAIoG,mBACf0H,EAAK9N,EAAImD,cACT4K,EAAc/N,EAAI6G,aAClBmH,GAA4B,EAKhC,OAJIH,GAAYA,EAASI,kBAErBD,EADiBH,EAASI,gBAAkBJ,EAAShH,WAAa,IACvBkH,GAErB,iBAAfH,EACAA,EAEY,MAAdA,IAAqC,IAAfA,IACvBI,GAAsG,OAAxEH,aAA2C,EAASA,EAASK,QAM5F,KAHQL,EAASK,OAAS,GAAKJ,CAI1C,CA1DuBK,CAAUnO,EAAK0L,EAAQiC,eAA4B,IAAPjM,EAAgBA,EAAKgM,EAAO3L,IAGvFyL,GADqB,IAArB9B,EAAQ8B,SACG,aAEe,IAArB9B,EAAQ8B,SACF,QAG4B,QAA3B7L,EAAK+J,EAAQ8B,gBAA6B,IAAP7L,EAAgBA,EAAK,YAIpE8L,GADqB,IAArB/B,EAAQ+B,SACG,aAEe,IAArB/B,EAAQ+B,SACF,QAG4B,QAA3B7L,EAAK8J,EAAQ+B,gBAA6B,IAAP7L,EAAgBA,EAAK,YAExE,IAAIuG,EAAmC,QAAzBtG,EAAK6J,EAAQvD,cAA2B,IAAPtG,GAAgBA,EAC3DuM,EAAQ1C,EAAQ0C,QAAUjG,EAAS,QAAU,WACjD,MAAO,CACH0B,kBAAwD,QAApCqD,EAAKxB,EAAQ7B,yBAAsC,IAAPqD,GAAgBA,EAChF/E,OAAQA,EACRiG,MAAOA,EACPT,OAAQA,EACRD,OAAQA,EACRW,UAAwC,QAA5BlB,EAAKzB,EAAQ2C,iBAA8B,IAAPlB,EAAgBA,EAAK,OACrEmB,aAA8C,QAA/BlB,EAAK1B,EAAQ4C,oBAAiC,IAAPlB,EAAgBA,EAAK,OAC3EmB,WAA0C,QAA7BlB,EAAK3B,EAAQ6C,kBAA+B,IAAPlB,EAAgBA,EAAK,OACvEI,SAAUA,EACVD,SAAUA,EACVzM,eAAkD,QAAjCuM,EAAK5B,EAAQ3K,sBAAmC,IAAPuM,EAAgBA,EAAK,EAC/ErM,eAAkD,QAAjCsM,EAAK7B,EAAQzK,sBAAmC,IAAPsM,EAAgBA,EAAK,IAEvF,CApGmBiB,CAAcxO,EAAK0L,GAC9B3C,EAyHR,SAAsB/I,EAAK0L,EAAS3O,GAChC,IAAIiH,EAAO0H,EAAQ1H,MAAQ,GACvBC,EAAOyH,EAAQzH,MAAQ,GACvBC,EAAOwH,EAAQxH,MAAQ,GAC3B,GAAIwH,EAAQ+C,KAAM,CACd,IAAIC,EAAShD,EAAQ7B,kBACrB,GAAI9M,EAAQ,CACR,IAAI4R,EAAczD,EAAatD,UAAU5H,EAAK0L,EAAQ+C,KAAM1R,EAAQ2R,EAAQhD,EAAQvD,SAAW,CAAC,EAChGnE,EAAO2K,EAAY3K,MAAQA,EAC3BC,EAAO0K,EAAY1K,MAAQD,EAC3BE,EAAOyK,EAAYzK,MAAQF,CAC/B,MAEIkG,QAAQC,MAAM,+CAEtB,CACA,IAAIyE,EAAUlD,EAAQkD,SAQ1B,SAAsB5K,EAAMC,EAAMC,GAC9B,IAAI2K,EAAW7K,EAAK,IAAMC,EAAK,IAAMC,EAAK,IAAM,GAC5CyI,EAAS,GA2Bb,OA1BA5O,OAAOkM,KAAK4E,GACPC,QAAO,SAAUlQ,GAAO,MAAe,aAARA,CAAoB,IACnDmQ,SAAQ,SAAUnQ,GACnB,IACIgL,EADAd,EAAU,EAQO,iBALjBc,EADA1J,MAAMC,QAAQ0O,GACNA,EAASG,SAASpQ,IAGlBiQ,EAASjQ,KAEasB,MAAMC,QAAQyJ,KAC5Cd,GAAWc,aAAqC,EAASA,EAAMd,UAAY,GAE/E,IAAK,IAAIxL,EAAI,EAAGA,EAAIwL,EAASxL,IAAK,CAC9B,IAOI2R,EAAY,CAAEC,QANdhP,MAAMC,QAAQ0O,GACTlC,EAAO7K,OAGPlD,GAAOtB,EAAI,EAAI,IAAMA,EAAI,KAGlCqP,EAAO/D,KAAKqG,EAChB,CACJ,IACOtC,CACX,CAtCqCwC,CAAanL,EAAMC,EAAMC,GAC1D,MAAO,CACH0K,QAASA,EACT5K,KAAMA,EACNC,KAAMA,EACNC,KAAMA,EAEd,CAhJkBkL,CAAapP,EAAK0L,EAASD,GACzC,MAAO,CACH4D,GAAI9D,EAAQ+D,QACZvG,QAASA,EACT2D,MAAOA,EACP3M,OAAQA,EACRe,SAAUA,EAElB,CA0KO,EAED,SAAUzD,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQqJ,QAAUrJ,EAAQmS,eAAY,EACtC,IAAIzH,EAAW,EAAoB,GAC/BsD,EAAW,EAAoB,GAC/BoE,EAAW,EAAoB,GAC/BnE,EAAoB,EAAoB,GACxCF,EAAc,EAAoB,GAClCsE,EAAkB,EAAoB,GA+C1C,SAASC,EAAsBpH,EAAMqH,EAAoB3P,GACrD,IAAI4P,EAActH,EAAKvI,OAAO2D,SAAW1D,EAAImD,cAAiB2E,EAAShF,eACnE+M,EAAWvH,EAAKwH,QAAQ,YACxBC,EAAiBtP,KAAKuP,OAAOL,EAAqBE,GAAYD,GAClE,OAAOnP,KAAKC,IAAI,EAAGqP,EACvB,CAwFA,SAASE,EAAajQ,EAAKW,EAAOsH,EAAKiI,EAAWtP,EAAUC,GACxD,IAAIsP,EAkDR,SAA+BnQ,EAAKW,EAAOuP,EAAWrP,GAClD,IAAIuP,EAAsBzP,EAAMG,SAAS4M,OAAOzL,OAC5CuL,EAAW7M,EAAMG,SAAS0M,SAI9B,OAHiB,cAAbA,GAA0C,aAAbA,GAA2B0C,KACxDE,GAAuBzP,EAAM0P,cAAc1P,EAAMiO,UAE9C5O,EAAIuB,WAAW4E,OAAStF,EAAOQ,EAAI+O,CAC9C,CAzDyBE,CAAsBtQ,EAAKW,EAAOuP,EAAWrP,GAClE,GAAIoH,EAAIsI,gBAAgBJ,EAAgBxP,EAAMiO,SAC1C4B,EAASxQ,EAAKW,EAAOsH,EAAKpH,QAG1B,GA5CR,SAAkCb,EAAKiI,EAAK0H,EAAoBhP,GAC5D,IAAI8P,EAAazQ,EAAIuB,WAAW4E,OAC5BuH,EAAS/M,EAAMG,SAAS4M,OAExBgD,EAAeD,GADA/C,EAAO3L,IAAM2L,EAAOzL,QAEnB,SAAhBgG,EAAI0I,UAGJD,GACI/P,EAAMiQ,cAAcjQ,EAAMiO,SAAWjO,EAAM0P,cAAc1P,EAAMiO,UAEvE,IAAIiC,EAAe5I,EAAI6I,oBAAoBnQ,EAAMiO,QAAS5O,GACtD+Q,EAAaF,EAAelB,EAChC,GAAIkB,EAAeH,EAEf,OADAxG,QAAQC,MAAM,iCAAmClC,EAAIT,MAAQ,oEACtD,EAEX,IAAKuJ,EACD,OAAO,EAEX,IAAIC,EAAoB/I,EAAIgJ,WAAWtQ,EAAMiO,SAE7C,OADwB3G,EAAIiJ,iBAAiBvQ,EAAMiO,SAAW8B,GAEtDM,GACA9G,QAAQC,MAAM,sBAAwBlC,EAAIT,MAAQ,4IAE/C,IAEPwJ,GAIgC,UAAhCrQ,EAAMG,SAASwN,YAKvB,CAOY6C,CAAyBnR,EAAKiI,EAAKkI,EAAgBxP,GAAQ,CAC3D,IAAIyQ,EA9FhB,SAAwBnJ,EAAK0H,EAAoBhP,EAAOX,GACpD,IAAIqI,EAAQ,CAAC,EACbJ,EAAIoJ,oBAAqB,EAEzB,IADA,IAAIC,EAAY,EACP9E,EAAK,EAAG9K,EAAKf,EAAMiO,QAASpC,EAAK9K,EAAGI,OAAQ0K,IAAM,CACvD,IAAI+E,EAAS7P,EAAG8K,GAEhB,GADIlE,EAAOL,EAAII,MAAMkJ,EAAO/J,OAC5B,CAEKtH,MAAMC,QAAQmI,EAAKxI,QACpBwI,EAAKxI,KAAO,CAACwI,EAAKxI,OAEtB,IAAI0R,EAAgB,IAAIhC,EAASiC,KAAKnJ,EAAKoJ,IAAKpJ,EAAKvI,OAAQuI,EAAKqI,UAClEa,EAAgBrG,EAAYlE,OAAOuK,EAAelJ,IACpCxI,KAAO,GACrB,IAAI6R,EAAqBjC,EAAsBpH,EAAMqH,EAAoB3P,GACrEsI,EAAKxI,KAAKgC,OAAS6P,IACnBH,EAAc1R,KAAOwI,EAAKxI,KAAK8R,OAAOD,EAAoBrJ,EAAKxI,KAAKgC,SAExE,IAAIqB,EAAcnD,EAAImD,cACtBmF,EAAKuJ,cAAgBvJ,EAAKwJ,iBAAiB3O,GACvCmF,EAAKuJ,eAAiBlC,IACtBrH,EAAKuJ,cAAgBlC,EACrB6B,EAAczR,OAAO8D,eAAiB8L,GAEtCrH,EAAKuJ,cAAgB5J,EAAI9B,SACzB8B,EAAI9B,OAASmC,EAAKuJ,eAEtBL,EAAcK,cAAgBL,EAAcM,iBAAiB3O,GACzDqO,EAAcK,cAAgBP,IAC9BA,EAAYE,EAAcK,eAE9BxJ,EAAMkJ,EAAO/J,OAASgK,CAxBV,CAyBhB,CACA,IAAIJ,EAAe,IAAI5B,EAASuC,IAAI9J,EAAIyJ,KAAM,EAAGzJ,EAAI0I,QAAStI,GAAO,GACrE+I,EAAajL,OAASmL,EACtB,IAAK,IAAI3P,EAAK,EAAGC,EAAKjB,EAAMiO,QAASjN,EAAKC,EAAGE,OAAQH,IAAM,CACvD,IAKI2G,EALAiJ,EAAS3P,EAAGD,IACZ6P,EAAgBJ,EAAa/I,MAAMkJ,EAAO/J,UAE1CgK,EAAcrL,OAASiL,EAAajL,SAEpCmC,EAAOL,EAAII,MAAMkJ,EAAO/J,UAExBc,EAAKnC,OAAS8B,EAAI9B,OAE1B,CACA,OAAOiL,CACX,CA8C+BY,CAAe/J,EAAKkI,EAAgBxP,EAAOX,GAC9DwQ,EAASxQ,EAAKW,EAAOsH,EAAKpH,GAC1B4F,EAAQzG,EAAKW,EAAOC,EAAUC,GAC9BoP,EAAajQ,EAAKW,EAAOyQ,EAAclB,EAAWtP,EAAUC,EAChE,MAEI4F,EAAQzG,EAAKW,EAAOC,EAAUC,GAC9BoP,EAAajQ,EAAKW,EAAOsH,EAAKiI,EAAWtP,EAAUC,EAG/D,CACA,SAAS2P,EAASxQ,EAAKW,EAAOsH,EAAKpH,GAC/BA,EAAOO,EAAIT,EAAMG,SAAS4M,OAAOxL,KACjC,IAAK,IAAIsK,EAAK,EAAG9K,EAAKf,EAAMiO,QAASpC,EAAK9K,EAAGI,OAAQ0K,IAAM,CACvD,IAAI+E,EAAS7P,EAAG8K,GACZlE,EAAOL,EAAII,MAAMkJ,EAAO/J,OAC5B,GAAKc,EAQL,GAJAtI,EAAIC,YAAYqI,EAAKvI,QACrBuI,EAAKlH,EAAIP,EAAOO,EAChBkH,EAAKjH,EAAIR,EAAOQ,GAED,IADFV,EAAMsR,cAAcjS,EAAKW,EAAM+L,MAAMG,aAAcvE,EAAML,EAAKsJ,EAAQ1Q,GACnF,CAIA,IAAI6H,EAAaJ,EAAKvI,OAClBmB,EAAYkK,EAAS9L,aAAaoJ,EAAWnJ,UAAWmJ,EAAWlJ,WACnE0B,GACAlB,EAAImB,KAAKmH,EAAKlH,EAAGP,EAAOQ,EAAGiH,EAAK9G,MAAO8G,EAAKnC,OAAQjF,GAExD,IAAIgR,EAAU5J,EAAK6J,aACnB1C,EAAgBjF,QAAQlC,EAAKxI,KAAMoS,EAAQ9Q,EAAG8Q,EAAQ7Q,EAAG,CACrDmC,OAAQ8E,EAAKvI,OAAOyD,OACpBC,OAAQ6E,EAAKvI,OAAO0D,OACpBsH,SAAUtK,KAAK2R,KAAK9J,EAAK9G,MAAQ8G,EAAKwH,QAAQ,QAAUxH,EAAKwH,QAAQ,WACtE9P,EAAIsG,eACP3F,EAAMsR,cAAcjS,EAAKW,EAAM+L,MAAMI,YAAaxE,EAAML,EAAKsJ,EAAQ1Q,GACrEA,EAAOO,GAAKmQ,EAAO/P,KAbnB,MAFIX,EAAOO,GAAKmQ,EAAO/P,WARnBX,EAAOO,GAAKmQ,EAAO/P,KAwB3B,CACAX,EAAOQ,GAAK4G,EAAI9B,MACpB,CASA,SAASM,EAAQzG,EAAKW,EAAOC,EAAUC,GACnCb,EAAIC,YAAYD,EAAIyE,YACY,cAA5B9D,EAAMG,SAAS0M,UACf7M,EAAMuD,KAAK6K,SAAQ,SAAU9G,GAAO,OAAOuI,EAASxQ,EAAKW,EAAOsH,EAAKpH,EAAS,IAIlFF,EAAM0R,iBAAiBrS,EAAKa,GAC5B,IAAI6M,EAAS/M,EAAMG,SAAS4M,OAC5BtC,EAASxL,eAAeI,EAAKW,EAAOC,EAAUC,GAC9CyR,EAAStS,GACTW,EAAMkG,aACNlG,EAAM4R,YACN1R,EAAOO,EAAIsM,EAAOxL,KAClBrB,EAAOQ,EAAIqM,EAAO3L,IACc,cAA5BpB,EAAMG,SAAS2M,UACf9M,EAAMqD,KAAK+K,SAAQ,SAAU9G,GAAO,OAAOuI,EAASxQ,EAAKW,EAAOsH,EAAKpH,EAAS,GAEtF,CAEA,SAASyR,EAAStS,GACd,IAAIuL,EAAUvL,EAAI6G,aAClB7G,EAAIuG,QAAQgF,EAAU,GACLvL,EAAI6G,eACF0E,GACfvL,EAAIyG,SAEZ,CApLArJ,EAAQmS,UA7CR,SAAmBiD,EAAU7R,GACzB,IAAIG,EAAWH,EAAMG,SACjB6M,EAAS7M,EAAS6M,OAClBD,EAAS5M,EAAS4M,OAClB7M,EAAS,CACTO,EAAGsM,EAAOxL,KACVb,EAAGsM,GAEH8E,EAAiB9R,EAAMiQ,cAAcjQ,EAAMiO,SAAWjO,EAAM0P,cAAc1P,EAAMiO,SAChF8D,EAAoB/E,EAASD,EAAOzL,OAASwQ,EACtB,UAAvB3R,EAASuN,YAGTqE,GAFW/R,EAAMgS,UACMrS,QAAO,SAAUsS,EAAK3K,GAAO,OAAO2K,EAAM3K,EAAI9B,MAAQ,GAAG,IAGpF,IAAInG,EAAM,IAAIqL,EAAkB/G,WAAWkO,IAChB,WAAvB1R,EAASuN,WACW,MAAnBvN,EAAS6M,QAAkB+E,EAAoB1S,EAAIuB,WAAW4E,UAC/DmM,EAAStS,GACTa,EAAOQ,EAAIqM,EAAO3L,KAEtB,IAAInB,EAAWuK,EAAYlE,OAAO,CAAC,EAAGpG,GACtCF,EAAMsN,gBAAkBjO,EAAI6G,aAC5B7G,EAAIC,YAAYD,EAAIyE,YACM,cAAtB3D,EAAS2M,UAAkD,cAAtB3M,EAAS2M,UAC9C9M,EAAMqD,KAAK+K,SAAQ,SAAU9G,GAAO,OAAOuI,EAASxQ,EAAKW,EAAOsH,EAAKpH,EAAS,IAElFb,EAAIC,YAAYD,EAAIyE,YACpB9D,EAAMsD,KAAK8K,SAAQ,SAAU9G,EAAKT,GAC9B,IAAI0I,EAAY1I,IAAU7G,EAAMsD,KAAKnC,OAAS,EAC9CmO,EAAajQ,EAAKW,EAAOsH,EAAKiI,EAAWtP,EAAUC,EACvD,IACAb,EAAIC,YAAYD,EAAIyE,YACM,aAAtB3D,EAAS0M,UAAiD,cAAtB1M,EAAS0M,UAC7C7M,EAAMuD,KAAK6K,SAAQ,SAAU9G,GAAO,OAAOuI,EAASxQ,EAAKW,EAAOsH,EAAKpH,EAAS,IAElFuK,EAASxL,eAAeI,EAAKW,EAAOC,EAAUC,GAC9CF,EAAM0R,iBAAiBrS,EAAKa,GAC5BF,EAAMuN,OAASrN,EAAOQ,EACtBmR,EAASnM,cAAgB1F,EACzB6R,EAASK,kBAAoBlS,EACzB6R,EAASM,YACTN,EAASM,UAAUjF,SAAWlN,GAClCX,EAAIC,YAAYD,EAAIyE,WACxB,EA6KArH,EAAQqJ,QAAUA,CAWX,EAED,SAAUpJ,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQ2V,OAAS3V,EAAQqU,KAAOrU,EAAQ2U,IAAM3U,EAAQ4V,WAAQ,EAC9D,IAAIlL,EAAW,EAAoB,GAC/BmL,EAAa,EAAoB,IACjC7H,EAAW,EAAoB,GAC/B4H,EAAuB,WACvB,SAASA,EAAMpJ,EAAOb,GAClBjM,KAAK+J,WAAa,EAIlB/J,KAAKyV,UAAY,EACjBzV,KAAKuS,GAAKzF,EAAMyF,GAChBvS,KAAKgE,SAAW8I,EAAM9I,SACtBhE,KAAKiD,OAAS6J,EAAM7J,OACpBjD,KAAK4P,MAAQ9C,EAAM8C,MACnB5P,KAAK8R,QAAU7F,EAAQ6F,QACvB9R,KAAKkH,KAAO+E,EAAQ/E,KACpBlH,KAAKmH,KAAO8E,EAAQ9E,KACpBnH,KAAKoH,KAAO6E,EAAQ7E,IACxB,CA2CA,OA1CA8O,EAAM/T,UAAU2R,cAAgB,SAAUhC,GACtC,OAAO9R,KAAKkH,KAAK1D,QAAO,SAAUsS,EAAK3K,GAAO,OAAO2K,EAAM3K,EAAIiJ,iBAAiBtC,EAAU,GAAG,EACjG,EACAoE,EAAM/T,UAAUoR,cAAgB,SAAUzB,GACtC,OAAO9R,KAAKoH,KAAK5D,QAAO,SAAUsS,EAAK3K,GAAO,OAAO2K,EAAM3K,EAAIiJ,iBAAiBtC,EAAU,GAAG,EACjG,EACAoE,EAAM/T,UAAU0T,QAAU,WACtB,OAAO7V,KAAKkH,KAAKkP,OAAOpW,KAAKmH,MAAMiP,OAAOpW,KAAKoH,KACnD,EACA8O,EAAM/T,UAAUgT,cAAgB,SAAUjS,EAAKmT,EAAU7K,EAAML,EAAKsJ,EAAQ1Q,GACxE,IAAK,IAAI2L,EAAK,EAAG4G,EAAaD,EAAU3G,EAAK4G,EAAWtR,OAAQ0K,IAAM,CAClE,IAEIG,GAA2B,KAAlB0G,EAFCD,EAAW5G,IACd,IAAIyG,EAAWK,aAAatT,EAAKlD,KAAMwL,EAAML,EAAKsJ,EAAQ1Q,IAIrE,GADAyH,EAAKxI,KAAOI,MAAMC,QAAQmI,EAAKxI,MAAQwI,EAAKxI,KAAO,CAACwI,EAAKxI,MACrD6M,EACA,OAAO,CAEf,CACA,OAAO,CACX,EACAqG,EAAM/T,UAAUoT,iBAAmB,SAAUrS,EAAKa,GAC9Cb,EAAIC,YAAYD,EAAIyE,YACpB,IAAK,IAAI+H,EAAK,EAAG9K,EAAK5E,KAAK4P,MAAMK,YAAaP,EAAK9K,EAAGI,OAAQ0K,KAE1D6G,EADc3R,EAAG8K,IACT,IAAIyG,EAAWM,SAASvT,EAAKlD,KAAM+D,GAEnD,EACAmS,EAAM/T,UAAUqC,SAAW,SAAUkS,GACjC,GAAwC,iBAA7B1W,KAAKgE,SAASyN,WACrB,OAAOzR,KAAKgE,SAASyN,WAEpB,GAAiC,SAA7BzR,KAAKgE,SAASyN,WAEnB,OADmBzR,KAAK8R,QAAQtO,QAAO,SAAUmT,EAAOC,GAAO,OAAOD,EAAQC,EAAIC,YAAc,GAAG,GAInG,IAAIjG,EAAS5Q,KAAKgE,SAAS4M,OAC3B,OAAO8F,EAAY9F,EAAOxL,KAAOwL,EAAO1L,KAEhD,EACOgR,CACX,CA3D0B,GA4D1B5V,EAAQ4V,MAAQA,EAChB,IAAIjB,EAAqB,WACrB,SAASA,EAAIL,EAAKlK,EAAOmJ,EAAStI,EAAOgJ,QACV,IAAvBA,IAAiCA,GAAqB,GAC1DvU,KAAKqJ,OAAS,EACdrJ,KAAK4U,IAAMA,EACPA,aAAe5J,EAASjF,eACxB/F,KAAK4U,IAAMA,EAAIxO,SACfpG,KAAKkG,QAAU0O,EAAIxO,UAEvBpG,KAAK0K,MAAQA,EACb1K,KAAK6T,QAAUA,EACf7T,KAAKuL,MAAQA,EACbvL,KAAKuU,mBAAqBA,CAC9B,CA6BA,OA5BAU,EAAI9S,UAAUiS,iBAAmB,SAAUtC,GACvC,IAAI3L,EAAQnG,KACZ,OAAO8R,EAAQtO,QAAO,SAAUsS,EAAKrB,GAAU,IAAI7P,EAAI,OAAOjB,KAAKC,IAAIkS,GAA2C,QAApClR,EAAKuB,EAAMoF,MAAMkJ,EAAO/J,cAA2B,IAAP9F,OAAgB,EAASA,EAAGyE,SAAW,EAAI,GAAG,EAC5K,EACA4L,EAAI9S,UAAUgS,WAAa,SAAUrC,GACjC,IAAI3L,EAAQnG,KACZ,OAAQ8R,EAAQE,QAAO,SAAUyC,GAC7B,IAAIjJ,EAAOrF,EAAMoF,MAAMkJ,EAAO/J,OAC9B,QAAKc,GAEEA,EAAKO,QAAU,CAC1B,IAAG/G,OAAS,CAChB,EACAiQ,EAAI9S,UAAUsR,gBAAkB,SAAUpK,EAAQyI,GAC9C,OAAO9R,KAAKoU,iBAAiBtC,IAAYzI,CAC7C,EACA4L,EAAI9S,UAAU6R,oBAAsB,SAAUlC,EAAS5O,GACnD,IAAIiD,EAAQnG,KACZ,OAAO8R,EAAQtO,QAAO,SAAUsS,EAAKrB,GACjC,IAAIjJ,EAAOrF,EAAMoF,MAAMkJ,EAAO/J,OAC9B,IAAKc,EACD,OAAO,EACX,IAAIsH,EAActH,EAAKvI,OAAO2D,SAAW1D,EAAImD,cAAiB2E,EAAShF,eAEnE8Q,EADWtL,EAAKwH,QAAQ,YACEF,EAC9B,OAAOgE,EAAehB,EAAMgB,EAAehB,CAC/C,GAAG,EACP,EACOb,CACX,CA3CwB,GA4CxB3U,EAAQ2U,IAAMA,EACd,IAAIN,EAAsB,WACtB,SAASA,EAAKC,EAAK3R,EAAQ4Q,GACvB,IAAIjP,EAAIC,EACR7E,KAAK+U,cAAgB,EACrB/U,KAAK+W,aAAe,EACpB/W,KAAK6W,aAAe,EACpB7W,KAAKgX,iBAAmB,EACxBhX,KAAKiX,SAAW,EAChBjX,KAAK0E,MAAQ,EACb1E,KAAKqJ,OAAS,EACdrJ,KAAKsE,EAAI,EACTtE,KAAKuE,EAAI,EACTvE,KAAKiD,OAASA,EACdjD,KAAK6T,QAAUA,EACf7T,KAAK4U,IAAMA,EACX,IAAI3I,EAAU2I,EACH,MAAPA,GAA8B,iBAARA,GAAqBxR,MAAMC,QAAQuR,IASzD5U,KAAK+L,QAAU,EACf/L,KAAKgM,QAAU,IATfhM,KAAK+L,QAAU6I,EAAI7I,SAAW,EAC9B/L,KAAKgM,QAAU4I,EAAI5I,SAAW,EAC9BC,EAAmF,QAAxEpH,EAA4B,QAAtBD,EAAKgQ,EAAI3I,eAA4B,IAAPrH,EAAgBA,EAAKgQ,EAAIsC,aAA0B,IAAPrS,EAAgBA,EAAK+P,EAC5GA,EAAIxO,WACJpG,KAAK4U,IAAMA,EAAIxO,WAQvB,IAAIpD,EAAkB,MAAXiJ,EAAkB,GAAKA,EAAU,GAE5CjM,KAAKgD,KAAOA,EAAKwJ,MADA,cAErB,CA4CA,OA3CAmI,EAAKxS,UAAUkT,WAAa,WACxB,IAAI9Q,EAWAD,EAVJ,GAA2B,QAAvBtE,KAAKiD,OAAO0D,OACZpC,EAAIvE,KAAKuE,EAAIvE,KAAKgT,QAAQ,YAEzB,GAA2B,WAAvBhT,KAAKiD,OAAO0D,OACjBpC,EAAIvE,KAAKuE,EAAIvE,KAAKqJ,OAASrJ,KAAKgT,QAAQ,cAEvC,CACD,IAAImE,EAAYnX,KAAKqJ,OAASrJ,KAAKgT,QAAQ,YAC3CzO,EAAIvE,KAAKuE,EAAI4S,EAAY,EAAInX,KAAKgT,QAAQ,MAC9C,CAEA,GAA2B,UAAvBhT,KAAKiD,OAAOyD,OACZpC,EAAItE,KAAKsE,EAAItE,KAAK0E,MAAQ1E,KAAKgT,QAAQ,cAEtC,GAA2B,WAAvBhT,KAAKiD,OAAOyD,OAAqB,CACtC,IAAI0Q,EAAWpX,KAAK0E,MAAQ1E,KAAKgT,QAAQ,cACzC1O,EAAItE,KAAKsE,EAAI8S,EAAW,EAAIpX,KAAKgT,QAAQ,OAC7C,MAEI1O,EAAItE,KAAKsE,EAAItE,KAAKgT,QAAQ,QAE9B,MAAO,CAAE1O,EAAGA,EAAGC,EAAGA,EACtB,EACAoQ,EAAKxS,UAAU6S,iBAAmB,SAAU3O,GACxC,IAEIgD,GAFYjG,MAAMC,QAAQrD,KAAKgD,MAAQhD,KAAKgD,KAAKgC,OAAS,IAC5ChF,KAAKiD,OAAO2D,SAAWP,EAAe2E,EAAShF,gBAC3BhG,KAAKgT,QAAQ,YACnD,OAAOrP,KAAKC,IAAIyF,EAAQrJ,KAAKiD,OAAO8D,cACxC,EACA4N,EAAKxS,UAAU6Q,QAAU,SAAUlS,GAC/B,IAAIkS,EAAU1E,EAASzL,aAAa7C,KAAKiD,OAAO4D,YAAa,GAC7D,MAAa,aAAT/F,EACOkS,EAAQ/N,IAAM+N,EAAQ7N,OAEf,eAATrE,EACEkS,EAAQ5N,KAAO4N,EAAQ9N,MAGvB8N,EAAQlS,EAEvB,EACO6T,CACX,CA7EyB,GA8EzBrU,EAAQqU,KAAOA,EACf,IAAIsB,EAAwB,WACxB,SAASA,EAAO7D,EAASwC,EAAKlK,GAC1B1K,KAAK6W,aAAe,EACpB7W,KAAKgX,iBAAmB,EACxBhX,KAAKiX,SAAW,EAChBjX,KAAK0E,MAAQ,EACb1E,KAAKoS,QAAUA,EACfpS,KAAK4U,IAAMA,EACX5U,KAAK0K,MAAQA,CACjB,CAYA,OAXAuL,EAAO9T,UAAUkV,sBAAwB,SAAUxT,GAE/C,IADA,IAAID,EAAM,EACD8L,EAAK,EAAG9K,EAAKf,EAAMgS,UAAWnG,EAAK9K,EAAGI,OAAQ0K,IAAM,CACzD,IACIlE,EADM5G,EAAG8K,GACEnE,MAAMvL,KAAK0K,OACtBc,GAAyC,iBAA1BA,EAAKvI,OAAO6D,YAC3BlD,EAAMD,KAAKC,IAAIA,EAAK4H,EAAKvI,OAAO6D,WAExC,CACA,OAAOlD,CACX,EACOqS,CACX,CAtB2B,GAuB3B3V,EAAQ2V,OAASA,CAGV,EAED,SAAU1V,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQgX,iBAAc,EACtB,IAAI/I,EAAoB,EAAoB,GACxCmE,EAAW,EAAoB,GAC/B6E,EAAoB,EAAoB,IACxCvM,EAAW,EAAoB,GAC/BqD,EAAc,EAAoB,GAiCtC,SAASmJ,EAAaC,EAAaC,EAAa5F,EAAS6F,EAAYrG,EAAOjL,GACxE,IAAIuR,EAAwB,CAAC,EAgD7B,OA/CaF,EAAYpU,KAAI,SAAUuU,EAAQC,GAK3C,IAJA,IAAIC,EAAwB,EACxBxM,EAAQ,CAAC,EACTyM,EAAgB,EAChBC,EAAkB,EACbvI,EAAK,EAAGwI,EAAYpG,EAASpC,EAAKwI,EAAUlT,OAAQ0K,IAAM,CAC/D,IAAI+E,EAASyD,EAAUxI,GACvB,GAA2C,MAAvCkI,EAAsBnD,EAAO/J,QACgB,IAA7CkN,EAAsBnD,EAAO/J,OAAOtF,KACpC,GAAwB,IAApB6S,EAAuB,CACvB,IAAIE,OAAU,EAQVC,EAAkB,CAAC,EACA,iBAPnBD,EADA/U,MAAMC,QAAQwU,GAEVA,EAAOpD,EAAO/J,MAAQsN,EAAgBD,GAGhCF,EAAOpD,EAAOrC,WAGQhP,MAAMC,QAAQ8U,KAC9CC,GAAmBD,aAAyC,EAASA,EAAQlV,SAAW,CAAC,GAE7F,IAAIA,EAAS2I,EAAW6L,EAAahD,EAAQqD,EAAUxG,EAAOqG,EAAYtR,EAAa+R,GACnF5M,EAAO,IAAIkH,EAASiC,KAAKwD,EAASlV,EAAQwU,GAG9ClM,EAAMkJ,EAAOrC,SAAW5G,EACxBD,EAAMkJ,EAAO/J,OAASc,EACtByM,EAAkBzM,EAAKQ,QAAU,EACjC4L,EAAsBnD,EAAO/J,OAAS,CAClCtF,KAAMoG,EAAKO,QAAU,EACrBsM,MAAOJ,EAEf,MAEIA,IACAD,SAIJJ,EAAsBnD,EAAO/J,OAAOtF,OACpC6S,EAAkBL,EAAsBnD,EAAO/J,OAAO2N,MACtDN,GAER,CACA,OAAO,IAAIrF,EAASuC,IAAI4C,EAAQC,EAAUL,EAAalM,EAC3D,GAEJ,CACA,SAAS+M,EAAmBxG,EAAS+B,GACjC,IAAI0E,EAAa,CAAC,EAQlB,OAPAzG,EAAQG,SAAQ,SAAU2E,GACtB,GAAe,MAAXA,EAAIhC,IAAa,CACjB,IAAIsC,EAOhB,SAAyBrD,EAASY,GAC9B,GAAgB,SAAZZ,EAAoB,CACpB,GAAsB,iBAAXY,EACP,OAAOA,EAAO+D,QAAU/D,EAAOyC,OAAS,KAEvC,GAAsB,iBAAXzC,GAAyC,iBAAXA,EAC1C,OAAOA,CAEf,MACK,GAAgB,SAAZZ,GAAwC,iBAAXY,EAClC,OAAOA,EAAOgE,OAElB,OAAO,IACX,CApBwBC,CAAgB7E,EAAS+C,EAAIhC,KAC5B,MAATsC,IACAqB,EAAW3B,EAAIxE,SAAW8E,EAClC,CACJ,IACOjW,OAAOkM,KAAKoL,GAAYvT,OAAS,EAAIuT,EAAa,IAC7D,CA4BA,SAAS3M,EAAW6L,EAAahD,EAAQqD,EAAUa,EAAW1V,EAAQoD,EAAa+R,GAC/E,IACIQ,EADAtH,EAAQtG,EAASnF,SAAS8S,GAEV,SAAhBlB,EACAmB,EAAgB3V,EAAOgM,WAEF,SAAhBwI,EACLmB,EAAgB3V,EAAOiM,WAEF,SAAhBuI,IACLmB,EAAgB3V,EAAOkM,YAE3B,IAAI0J,EAAcxK,EAAYlE,OAAO,CAAC,EAAGmH,EAAMzN,MAAOyN,EAAMmG,GAAcxU,EAAOA,OAAQ2V,GACrFvJ,EAAepM,EAAOoM,aAAaoF,EAAOrC,UAC1CnP,EAAOoM,aAAaoF,EAAO/J,QAC3B,CAAC,EACDoO,EAA4B,SAAhBrB,EAAyBpI,EAAe,CAAC,EACrD0J,EAA4B,SAAhBtB,GAA0BK,EAAW,GAAM,EACrDzJ,EAAYlE,OAAO,CAAC,EAAGmH,EAAMjK,aAAcpE,EAAOmM,oBAClD,CAAC,EACH4J,EAAehO,EAASlF,cAAcO,GACtC4S,EAAc5K,EAAYlE,OAAO,CAAC,EAAG6O,EAAcH,EAAaE,EAAWD,GAC/E,OAAOzK,EAAYlE,OAAO8O,EAAab,EAC3C,CAxIA9X,EAAQgX,YARR,SAAqB5B,EAAU5I,GAC3B,IAAI5J,EAAM,IAAIqL,EAAkB/G,WAAWkO,GACvCzJ,EAOR,SAAsBa,EAAOkE,GACzB,IASQuH,EATJtM,EAAUa,EAAMb,QAChB6F,EAiGR,SAAuBA,GACnB,OAAOA,EAAQxO,KAAI,SAAUwJ,EAAOpC,GAChC,IAAI9F,EAAIC,EACJ/C,EAOJ,OALIA,EADiB,iBAAVgL,GAC0E,QAA1EjI,EAA8B,QAAxBD,EAAKkI,EAAMsF,eAA4B,IAAPxN,EAAgBA,EAAKkI,EAAMhL,WAAwB,IAAP+C,EAAgBA,EAGnG6F,EAEH,IAAIgI,EAASuD,OAAOnU,EAAKgL,EAAOpC,EAC3C,GACJ,CA7GkBwO,CAAcjN,EAAQ6F,UAER,IAAxB7F,EAAQ/E,KAAKlC,SACTuT,EAAaD,EAAmBxG,EAAS,UAEzC7F,EAAQ/E,KAAK4E,KAAKyM,GAEE,IAAxBtM,EAAQ7E,KAAKpC,WACTuT,EAAaD,EAAmBxG,EAAS,UAEzC7F,EAAQ7E,KAAK0E,KAAKyM,IAE1B,IAAIjH,EAAQxE,EAAM9I,SAASsN,MACvBrO,EAAS6J,EAAM7J,OACnB,MAAO,CACH6O,QAASA,EACT5K,KAAMsQ,EAAa,OAAQvL,EAAQ/E,KAAM4K,EAAS7O,EAAQqO,EAAON,GACjE7J,KAAMqQ,EAAa,OAAQvL,EAAQ9E,KAAM2K,EAAS7O,EAAQqO,EAAON,GACjE5J,KAAMoQ,EAAa,OAAQvL,EAAQ7E,KAAM0K,EAAS7O,EAAQqO,EAAON,GAEzE,CA7BkBsB,CAAaxF,EAAO5J,EAAImD,eAClCxC,EAAQ,IAAI6O,EAASwD,MAAMpJ,EAAOb,GAGtC,OAFAsL,EAAkB4B,gBAAgBjW,EAAKW,GACvCX,EAAIC,YAAYD,EAAIyE,YACb9D,CACX,CA4IO,EAED,SAAUtD,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQ8Y,YAAc9Y,EAAQ+Y,cAAgB/Y,EAAQgZ,iBAAc,EACpE,IAAIC,EAAgB,EAAoB,IACpCC,EAAgB,EAAoB,GACpCC,EAAgB,EAAoB,GACpCC,EAAoB,EAAoB,GAG5C,SAASJ,EAAYK,GACjBJ,EAAc7L,QAAQiM,EAC1B,CACArZ,EAAQgZ,YAAcA,EAMtBhZ,EAAQoN,QALR,SAAmB7M,EAAG+N,GAClB,IAAI9B,EAAQ0M,EAAcrL,WAAWtN,EAAG+N,GACpC/K,EAAQ6V,EAAkBpC,YAAYzW,EAAGiM,GAC7C2M,EAAchH,UAAU5R,EAAGgD,EAC/B,EAOAvD,EAAQ+Y,cAJR,SAAuBxY,EAAG+N,GACtB,IAAI9B,EAAQ0M,EAAcrL,WAAWtN,EAAG+N,GACxC,OAAO8K,EAAkBpC,YAAYzW,EAAGiM,EAC5C,EAKAxM,EAAQ8Y,YAHR,SAAqBvY,EAAGgD,GACpB4V,EAAchH,UAAU5R,EAAGgD,EAC/B,EAEA,IAEI,IAAI8V,EAAQ,EAAoB,IAG5BA,EAAMA,QACNA,EAAQA,EAAMA,OAClBL,EAAYK,EAChB,CACA,MAAOtM,GAIP,CAGO,EAED,SAAU9M,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtD,IAAI4M,EAAe,EAAoB,GACnCuE,EAAkB,EAAoB,GACtCpE,EAAoB,EAAoB,GACxCiL,EAAgB,EAAoB,GACpCC,EAAgB,EAAoB,GACpCC,EAAoB,EAAoB,GAiF5CpZ,EAAQoN,QAhFR,SAAmBiM,GAEfA,EAAMC,IAAI5D,UAAY,WAElB,IADA,IAIIpH,EAJAiL,EAAO,GACFnK,EAAK,EAAGA,EAAK/E,UAAU3F,OAAQ0K,IACpCmK,EAAKnK,GAAM/E,UAAU+E,GAGL,IAAhBmK,EAAK7U,OACL4J,EAAUiL,EAAK,IAGfzM,QAAQC,MAAM,2CACduB,EAAUiL,EAAK,IAAM,CAAC,GACd/H,QAAU+H,EAAK,GACvBjL,EAAQzH,KAAO0S,EAAK,IAExB,IAAI/M,EAAQ0M,EAAcrL,WAAWnO,KAAM4O,GACvC/K,EAAQ6V,EAAkBpC,YAAYtX,KAAM8M,GAEhD,OADA2M,EAAchH,UAAUzS,KAAM6D,GACvB7D,IACX,EAEA2Z,EAAMC,IAAIrQ,eAAgB,EAC1BoQ,EAAMC,IAAI7D,mBAAoB,EAC9B4D,EAAMC,IAAI5D,UAAUjF,UAAW,EAC/B4I,EAAMC,IAAIE,cAAgB,SAAU9W,EAAMsB,EAAGC,EAAGtB,GAC5C0P,EAAgBjF,QAAQ1K,EAAMsB,EAAGC,EAAGtB,EAAQjD,KAChD,EACA2Z,EAAMC,IAAIG,qBAAuB,SAAU7R,GAEvC,OADAqG,EAAkB/G,WAAWS,YAAYC,EAAUlI,MAC5CA,IACX,EACA2Z,EAAMI,qBAAuB,SAAU7R,EAAUhF,GAC7CqL,EAAkB/G,WAAWS,YAAYC,EAAUhF,EACvD,EACAyW,EAAMC,IAAII,oBAAsB,SAAUC,EAAWC,GAEjD,QAD8B,IAA1BA,IAAoCA,GAAwB,GAC1C,oBAAXja,OAEP,OADAmN,QAAQC,MAAM,6DACP,KAEX,IAAInK,EAAM,IAAIqL,EAAkB/G,WAAWxH,MACvC4E,EAAKwJ,EAAatD,UAAU5H,EAAK+W,EAAWha,OAAQia,GAAuB,GAAQhT,EAAOtC,EAAGsC,KAAMC,EAAOvC,EAAGuC,KAEjH,MAAO,CAAE2K,QADK5K,EAAK,GAAG5D,KAAI,SAAU1C,GAAK,OAAOA,EAAEqL,OAAS,IAChCqB,KAAMnG,EAAMgT,KAAMhT,EACjD,EAIAwS,EAAMC,IAAIQ,iBAAmB,WACzBhN,QAAQC,MAAM,uFACd,IAAIgN,EAAOra,KAAKuJ,cAChB,OAAI8Q,GAAQA,EAAKjJ,OACNiJ,EAAKjJ,OAGL,CAEf,EAIAuI,EAAMC,IAAIU,wBAA0B,SAAUC,GAM1C,OALAnN,QAAQC,MAAM,yHACTsM,EAAMC,IAAI5D,UAAUvO,iBACrBkS,EAAMC,IAAI5D,UAAUvO,eAAiB,CAAC,GAE1CkS,EAAMC,IAAI5D,UAAUvO,eAAe+S,eAAiBD,EAC7Cva,IACX,EAIA2Z,EAAMC,IAAIa,iBAAmB,WAGzB,OAFArN,QAAQC,MAAM,mEACdrN,KAAK2J,UACE3J,IACX,CACJ,CAIO,EAED,SAAUO,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQuL,cAAW,EAInB,IAAIyC,EAAW,EAAoB,GA4DnC,SAASoM,EAAWxU,EAASyU,GACzB,IAAIC,EAAWC,EAAU3U,EAASyU,GAClC,IAAKC,EACD,OAAO,KACX,IAAIE,EAAOF,EAASG,MAAM,0DAC1B,IAAKD,IAAS1X,MAAMC,QAAQyX,GACxB,OAAO,KAEX,IAAIlS,EAAQ,CACRsJ,SAAS4I,EAAK,IACd5I,SAAS4I,EAAK,IACd5I,SAAS4I,EAAK,KAGlB,OAAc,IADF5I,SAAS4I,EAAK,KACPE,MAAMpS,EAAM,KAAOoS,MAAMpS,EAAM,KAAOoS,MAAMpS,EAAM,IAC1D,KAEJA,CACX,CACA,SAASiS,EAAUI,EAAMN,GACrB,IAAIO,EAAKP,EAAYM,GACrB,MAAW,qBAAPC,GACO,gBAAPA,GACO,YAAPA,GACO,YAAPA,EAC0B,MAAtBD,EAAKzN,cACE,KAEJqN,EAAUI,EAAKzN,cAAemN,GAG9BO,CAEf,CA9CA5a,EAAQuL,SA9CR,SAAkBX,EAAgBhF,EAASG,EAAa8F,EAAOlM,GAC3D,IAAI4P,EAAS,CAAC,EACVsL,EAAgB,GAAK,GACrBvS,EAAQ8R,EAAWxU,GAAS,SAAU+U,GACtC,OAAOhb,EAAOyL,iBAAiBuP,GAAuB,eAC1D,IACa,MAATrS,IACAiH,EAAOnN,UAAYkG,GAIV,OAHbA,EAAQ8R,EAAWxU,GAAS,SAAU+U,GAClC,OAAOhb,EAAOyL,iBAAiBuP,GAAa,KAChD,OAEIpL,EAAOpJ,UAAYmC,GAIV,OAHbA,EAAQ8R,EAAWxU,GAAS,SAAU+U,GAClC,OAAOhb,EAAOyL,iBAAiBuP,GAAsB,cACzD,OAEIpL,EAAO3L,UAAY0E,GACvB,IAAIoK,EA2ER,SAAsB7G,EAAO9F,GACzB,IAAI+U,EAAM,CACNjP,EAAMkP,WACNlP,EAAMmP,aACNnP,EAAMoP,cACNpP,EAAMqP,aAENL,EAAgB,IAAM,GAAK9U,GAC3BoV,GAAevJ,SAAS/F,EAAMuP,YAAcxJ,SAAS/F,EAAMvF,WAAaP,EAAc,EACtFsV,EAAeP,EAAI9X,KAAI,SAAUtB,GACjC,OAAOkQ,SAASlQ,GAAKmZ,CACzB,IACInI,EAAU1E,EAASzL,aAAa8Y,EAAc,GAOlD,OANIF,EAAczI,EAAQ/N,MACtB+N,EAAQ/N,IAAMwW,GAEdA,EAAczI,EAAQ7N,SACtB6N,EAAQ7N,OAASsW,GAEdzI,CACX,CA/FkB4I,CAAazP,EAAO9F,GAC9B2M,IACAnD,EAAOhJ,YAAcmM,GAEzB,IAAI6I,EAAK3J,SAAS/F,EAAM2P,gBAAkB,KAC1CD,EAAKA,EAAKV,EAAgB9U,KAEtBwJ,EAAOpN,UAAYoZ,GACvB,IAAIE,EAAW,CAAC,OAAQ,QAAS,SAAU,YACA,IAAvCA,EAAStT,QAAQ0D,EAAM6P,aACvBnM,EAAOnJ,OAASyF,EAAM6P,YAGqB,KAD/CD,EAAW,CAAC,SAAU,SAAU,QACnBtT,QAAQ0D,EAAM8P,iBACvBpM,EAAOlJ,OAASwF,EAAM8P,eAE1B,IAAIC,EAAMhK,SAAS/F,EAAMvF,UAAY,IAChCoU,MAAMkB,KACPrM,EAAOjJ,SAAWsV,EAAMf,GAC5B,IAAI5U,EAUR,SAAwB4F,GACpB,IAAI+P,EAAM,GASV,OARyB,SAArB/P,EAAMgQ,YACe,WAArBhQ,EAAMgQ,YACNjK,SAAS/F,EAAMgQ,aAAe,OAC9BD,EAAM,QAEc,WAApB/P,EAAM5F,WAA8C,YAApB4F,EAAM5F,YACtC2V,GAAO,UAEJA,CACX,CArBoBE,CAAejQ,GAC3B5F,IACAsJ,EAAOtJ,UAAYA,GACvB,IAAID,GAAQ6F,EAAMkQ,YAAc,IAAI5O,cAIpC,OAHsC,IAAlCvC,EAAezC,QAAQnC,KACvBuJ,EAAOvJ,KAAOA,GAEXuJ,CACX,CAuEO,EAED,SAAUtP,EAAQD,EAASiC,GAEjC,aAyGA,SAAS+Z,EAAYrZ,GACbA,EAAOuR,WACPpH,QAAQC,MAAM,sEACTpK,EAAO8D,gBACR9D,EAAO8D,cAAgB9D,EAAOuR,YAG7BvR,EAAOsZ,cACZnP,QAAQC,MAAM,oEACTpK,EAAO6D,YACR7D,EAAO6D,UAAY7D,EAAOsZ,aAGtC,CApHAtb,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IAsGtDlB,EAAQoN,QArGR,SAAmBxK,EAAKwL,EAAQzB,EAAUwB,GAgGtC,IA/FA,IAAIa,EAAU,SAAUV,GAChBA,GAA8B,iBAAZA,GAClBxB,QAAQC,MAAM,8DAAgEuB,QAE/C,IAAxBA,EAAQ4N,cACf5N,EAAQ6C,WAAa7C,EAAQ4N,YAAc,OAAS,OACpDpP,QAAQC,MAAM,wEAEa,IAApBuB,EAAQ6N,eACe,IAAnB7N,EAAQgC,SACfhC,EAAQgC,OAAShC,EAAQ6N,SAC7BrP,QAAQC,MAAM,2DAEduB,EAAQiC,QAAoC,iBAAnBjC,EAAQiC,SACjCzD,QAAQC,MAAM,kCAAmCuB,EAAQiC,eAClDjC,EAAQiC,SAEdjC,EAAQqB,cACRrB,EAAQ8N,kBACL9N,EAAQ+N,mBACR/N,EAAQgO,gBACZxP,QAAQC,MAAM,0GACduB,EAAQqB,YAAc,SAAUkK,GAC5BjX,EAAIC,YAAYD,EAAIyE,YAChBiH,EAAQ+N,mBACR/N,EAAQ+N,kBAAkBxC,GAC9BjX,EAAIC,YAAYD,EAAIyE,YAChBiH,EAAQ8N,kBACR9N,EAAQ8N,iBAAiBvC,GAC7BjX,EAAIC,YAAYD,EAAIyE,YAChBiH,EAAQgO,cAAgBzC,EAAKpQ,WAAa,GAE1CoQ,EAAKyC,aAAazC,GAEtBjX,EAAIC,YAAYD,EAAIyE,WACxB,GAGJ,CACI,oBACA,gBACA,UACA,kBACFsK,SAAQ,SAAUnR,GACZ8N,EAAQ9N,IACRsM,QAAQC,MAAM,QAAWvM,EAAO,6EAExC,IACA,CACI,CAAC,WAAY,cACb,CAAC,WAAY,cACb,CAAC,cAAe,kBAChB,CAAC,eAAgB,eACjB,CAAC,aAAc,iBACjBmR,SAAQ,SAAUrN,GAChB,IAAI6J,EAAU7J,EAAG,GAAIiY,EAAajY,EAAG,GACjCgK,EAAQiO,KACRzP,QAAQC,MAAM,4BAA8BwP,EAAa,SAAWpO,EAAU,YAC9EG,EAAQH,GAAWG,EAAQiO,GAEnC,IACA,CACI,CAAC,UAAW,eACZ,CAAC,aAAc,aACf,WACA,YACF5K,SAAQ,SAAUjR,GAChB,IAAI8b,EAAgC,iBAAN9b,EAAiBA,EAAIA,EAAE,GACjDmL,EAAqB,iBAANnL,EAAiBA,EAAIA,EAAE,QACD,IAA9B4N,EAAQkO,UACsB,IAA1BlO,EAAQ3L,OAAOkJ,KACtByC,EAAQ3L,OAAOkJ,GAASyC,EAAQkO,IAEpC1P,QAAQC,MAAM,6BACVyP,EACA,mBACA3Q,EACA,aAEZ,IACA,IAAK,IAAIuD,EAAK,EAAG9K,EAAK,CAClB,SACA,aACA,aACA,cACD8K,EAAK9K,EAAGI,OAAQ0K,IAEf4M,EAAY1N,EADIhK,EAAG8K,KACe,CAAC,GAGvC,IADA,IAAIL,EAAeT,EAAsB,cAAK,CAAC,EACtC/J,EAAK,EAAGC,EAAK7D,OAAOkM,KAAKkC,GAAexK,EAAKC,EAAGE,OAAQH,IAE7DyX,EAAYjN,EADFvK,EAAGD,KACoB,CAAC,EAE1C,EACS6K,EAAK,EAAG9K,EAAK,CAAC8J,EAAQzB,EAAUwB,GAAUiB,EAAK9K,EAAGI,OAAQ0K,IAE/DJ,EADc1K,EAAG8K,GAGzB,CAkBO,EAED,SAAUnP,EAAQD,EAASiC,GAEjC,aAEA,IACQgD,EADJC,EAAaxF,MAAQA,KAAKwF,YACtBD,EAAgB,SAAU1E,EAAG6C,GAI7B,OAHA6B,EAAgBtE,OAAOwE,gBAClB,CAAEC,UAAW,cAAgBtC,OAAS,SAAUvC,EAAG6C,GAAK7C,EAAE6E,UAAYhC,CAAG,GAC1E,SAAU7C,EAAG6C,GAAK,IAAK,IAAIrB,KAAKqB,EAAOzC,OAAOkB,UAAUC,eAAe1B,KAAKgD,EAAGrB,KAAIxB,EAAEwB,GAAKqB,EAAErB,GAAI,EAC7FkD,EAAc1E,EAAG6C,EAC5B,EACO,SAAU7C,EAAG6C,GAEhB,SAASiC,IAAO3F,KAAK4F,YAAc/E,CAAG,CADtC0E,EAAc1E,EAAG6C,GAEjB7C,EAAEsB,UAAkB,OAANuB,EAAazC,OAAOY,OAAO6B,IAAMiC,EAAGxD,UAAYuB,EAAEvB,UAAW,IAAIwD,EACnF,GAEJ1E,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQkW,aAAelW,EAAQmW,cAAW,EAC1C,IAAIA,EACA,SAAkBvT,EAAKW,EAAOE,GAC1B/D,KAAK6D,MAAQA,EACb7D,KAAK+J,WAAalG,EAAMkG,WACxB/J,KAAKyV,UAAYzV,KAAK+J,WACtB/J,KAAKgE,SAAWH,EAAMG,SACtBhE,KAAK+D,OAASA,EACd/D,KAAKkD,IAAMA,EAAIsG,aACnB,EAGJlJ,EAAQmW,SAAWA,EACnB,IAAID,EAA8B,SAAUvQ,GAExC,SAASuQ,EAAatT,EAAKW,EAAO2H,EAAML,EAAKsJ,EAAQ1Q,GACjD,IAAIoC,EAAQF,EAAOvF,KAAKV,KAAMkD,EAAKW,EAAOE,IAAW/D,KAKrD,OAJAmG,EAAMqF,KAAOA,EACbrF,EAAMgF,IAAMA,EACZhF,EAAMsO,OAASA,EACftO,EAAM0N,QAAU1I,EAAI0I,QACb1N,CACX,CACA,OATAX,EAAUgR,EAAcvQ,GASjBuQ,CACX,CAXiC,CAW/BC,GACFnW,EAAQkW,aAAeA,CAGhB,EAED,SAAUjW,EAAQD,EAAS,GAEjC,aAEAW,OAAOC,eAAeZ,EAAS,aAAc,CAAEkB,OAAO,IACtDlB,EAAQyc,UAAYzc,EAAQ0c,cAAgB1c,EAAQ6Y,qBAAkB,EACtE,IAAI7K,EAAW,EAAoB,GA0HnC,SAAS0O,EAAclL,EAASmL,EAAaC,GAGzC,IAFA,IAAIC,EAAqBF,EACrBG,EAAkBtL,EAAQtO,QAAO,SAAUsS,EAAKrB,GAAU,OAAOqB,EAAMrB,EAAOoC,YAAc,GAAG,GAC1FrW,EAAI,EAAGA,EAAIsR,EAAQ9M,OAAQxE,IAAK,CACrC,IAAIiU,EAAS3C,EAAQtR,GAEjB6c,EAAkBF,GADV1I,EAAOoC,aAAeuG,GAE9BE,EAAiB7I,EAAO/P,MAAQ2Y,EAChCpG,EAAWiG,EAAYzI,GACvB8I,EAAWD,EAAiBrG,EAAWA,EAAWqG,EACtDL,GAAeM,EAAW9I,EAAO/P,MACjC+P,EAAO/P,MAAQ6Y,CACnB,CAIA,GAHAN,EAActZ,KAAK6Z,MAAoB,KAAdP,GAAsB,KAG9B,CACb,IAAIQ,EAAmB3L,EAAQE,QAAO,SAAUyC,GAC5C,QAAOwI,EAAc,IACfxI,EAAO/P,MAAQwY,EAAYzI,EAErC,IACIgJ,EAAiBzY,SACjBiY,EAAcD,EAAcS,EAAkBR,EAAaC,GAEnE,CACA,OAAOD,CACX,CAuHA,SAASF,EAAU/Z,EAAM0B,EAAOzB,EAAQC,EAAKsD,GACzC,OAAOxD,EAAKM,KAAI,SAAUoa,GAAO,OAGrC,SAAsB1a,EAAM0B,EAAOzB,EAAQC,EAAKsD,GAC5C,IAAImX,EAAY,IAAQza,EAAImD,cAE5B,IADA3B,EAAQf,KAAK2R,KAAK5Q,EAAQiZ,GAAaA,IAC1BrP,EAASvL,eAAeC,EAAMC,EAAQC,GAC/C,OAAOF,EAEX,KAAO0B,EAAQ4J,EAASvL,eAAeC,EAAOwD,EAAUvD,EAAQC,MACxDF,EAAKgC,QAAU,IAGnBhC,EAAOA,EAAK4a,UAAU,EAAG5a,EAAKgC,OAAS,GAE3C,OAAOhC,EAAK0J,OAASlG,CACzB,CAhB4CqX,CAAaH,EAAKhZ,EAAOzB,EAAQC,EAAKsD,EAAW,GAC7F,CAhOAlG,EAAQ6Y,gBA1CR,SAAyBjW,EAAKW,IA2C9B,SAAmBX,EAAKW,GACpB,IAAImN,EAAK9N,EAAImD,cACbxC,EAAMgS,UAAU5D,SAAQ,SAAU9G,GAC9B,IAAK,IAAIuE,EAAK,EAAG9K,EAAKf,EAAMiO,QAASpC,EAAK9K,EAAGI,OAAQ0K,IAAM,CACvD,IAAI+E,EAAS7P,EAAG8K,GACZlE,EAAOL,EAAII,MAAMkJ,EAAO/J,OAC5B,GAAKc,EAAL,CAEA,IAAIoE,EAAQ/L,EAAM+L,MAAME,aACxBjM,EAAMsR,cAAcjS,EAAK0M,EAAOpE,EAAML,EAAKsJ,EAAQ,MACnD,IAAIzB,EAAUxH,EAAKwH,QAAQ,cAC3BxH,EAAKuL,aAAezI,EAASvL,eAAeyI,EAAKxI,KAAMwI,EAAKvI,OAAQC,GAAO8P,EAC3E,IAAI8K,EAAmBxP,EAASvL,eAAeyI,EAAKxI,KAAK2J,KAAK,KAAKH,MAAM,OAAQhB,EAAKvI,OAAQC,GAE9F,GADAsI,EAAKwL,iBAAmB8G,EAAmBtS,EAAKwH,QAAQ,cACnB,iBAA1BxH,EAAKvI,OAAO6D,UACnB0E,EAAKyL,SAAWzL,EAAKvI,OAAO6D,UAC5B0E,EAAKqL,aAAerL,EAAKvI,OAAO6D,eAE/B,GAA8B,SAA1B0E,EAAKvI,OAAO6D,UACjB0E,EAAKyL,SAAWzL,EAAKuL,aACrBvL,EAAKqL,aAAerL,EAAKuL,iBAExB,CAED,IAAIgH,EAAkB,GAAK/M,EAC3BxF,EAAKyL,SAAWzL,EAAKvI,OAAO+D,cAAgB+W,EAC5CvS,EAAKqL,aAAerL,EAAKuL,aACrBvL,EAAKyL,SAAWzL,EAAKqL,eACrBrL,EAAKqL,aAAerL,EAAKyL,SAEjC,CAvBY,CAwBhB,CACJ,IACApT,EAAMgS,UAAU5D,SAAQ,SAAU9G,GAC9B,IAAK,IAAIuE,EAAK,EAAG9K,EAAKf,EAAMiO,QAASpC,EAAK9K,EAAGI,OAAQ0K,IAAM,CACvD,IAAI+E,EAAS7P,EAAG8K,GACZlE,EAAOL,EAAII,MAAMkJ,EAAO/J,OAG5B,GAAIc,GAAyB,IAAjBA,EAAKQ,QACbyI,EAAOoC,aAAelT,KAAKC,IAAI6Q,EAAOoC,aAAcrL,EAAKqL,cACzDpC,EAAOwC,SAAWtT,KAAKC,IAAI6Q,EAAOwC,SAAUzL,EAAKyL,UACjDxC,EAAOuC,iBAAmBrT,KAAKC,IAAI6Q,EAAOuC,iBAAkBxL,EAAKwL,sBAEhE,CAOD,IAAI3H,EAAexL,EAAMZ,OAAOoM,aAAaoF,EAAOrC,UAChDvO,EAAMZ,OAAOoM,aAAaoF,EAAO/J,QACjC,CAAC,EACD5D,EAAYuI,EAAavI,WAAauI,EAAarI,aACnDF,GAAkC,iBAAdA,IACpB2N,EAAOwC,SAAWnQ,EAClB2N,EAAOoC,aAAe/P,EAE9B,CACI0E,IAEIA,EAAKQ,QAAU,IAAMyI,EAAOwC,WAC5BxC,EAAOwC,SAAWzL,EAAKyL,UAEvBzL,EAAKQ,QAAU,IAAMyI,EAAOoC,eAC5BpC,EAAOoC,aAAerL,EAAKyL,UAGvC,CACJ,GACJ,CAjHI+G,CAAU9a,EAAKW,GACf,IAAI4Z,EAAmB,GACnBQ,EAAoB,EACxBpa,EAAMiO,QAAQG,SAAQ,SAAUwC,GAC5B,IAAIyJ,EAAczJ,EAAO4C,sBAAsBxT,GAC3Cqa,EAEAzJ,EAAO/P,MAAQwZ,GAIfzJ,EAAO/P,MAAQ+P,EAAOoC,aACtB4G,EAAiB3R,KAAK2I,IAE1BwJ,GAAqBxJ,EAAO/P,KAChC,IAEA,IAAIuY,EAAcpZ,EAAMW,SAAStB,EAAIuB,WAAWC,OAASuZ,EAErDhB,IACAA,EAAcD,EAAcS,EAAkBR,GAAa,SAAUxI,GACjE,OAAO9Q,KAAKC,IAAI6Q,EAAOuC,iBAAkBvC,EAAOwC,SACpD,KAGAgG,IACAA,EAAcD,EAAcS,EAAkBR,GAAa,SAAUxI,GAAU,OAAOA,EAAOwC,QAAU,MAE3GgG,EAActZ,KAAKwa,IAAIlB,IACL,GAAM/Z,EAAImD,gBAKxB4W,EAAcA,EAAc,EAAIA,EAActZ,KAAK6Z,MAAMP,GACzD7P,QAAQC,MAAM,yBAA2B4P,EAAc,oCAoJ/D,SAAuBpZ,GAEnB,IADA,IAAIua,EAAMva,EAAMgS,UACPiC,EAAW,EAAGA,EAAWsG,EAAIpZ,OAAQ8S,IAK1C,IAJA,IAAI3M,EAAMiT,EAAItG,GACVuG,EAAc,KACdC,EAAuB,EACvBC,EAAe,EACVC,EAAc,EAAGA,EAAc3a,EAAMiO,QAAQ9M,OAAQwZ,IAAe,CACzE,IAAI/J,EAAS5Q,EAAMiO,QAAQ0M,GAG3B,IADAD,GAAgB,GACG,GAAK1a,EAAMiO,QAAQ0M,EAAc,GAChDF,GAAwB7J,EAAO/P,aACxByG,EAAII,MAAMkJ,EAAO/J,YAEvB,GAAI2T,EAAa,CAClB,IAAI7S,EAAO6S,SACJlT,EAAII,MAAMkJ,EAAO/J,OACxB2T,EAAc,KACd7S,EAAK9G,MAAQ+P,EAAO/P,MAAQ4Z,CAChC,KACK,CAED,KADI9S,EAAOL,EAAII,MAAMkJ,EAAO/J,QAExB,SAGJ,GAFA6T,EAAe/S,EAAKQ,QACpBsS,EAAuB,EACnB9S,EAAKQ,QAAU,EAAG,CAClBqS,EAAc7S,EACd8S,GAAwB7J,EAAO/P,MAC/B,QACJ,CACA8G,EAAK9G,MAAQ+P,EAAO/P,MAAQ4Z,CAChC,CACJ,CAER,CAtLIG,CAAc5a,GAuLlB,SAAoBA,EAAOX,GAEvB,IADA,IAAIwb,EAAgB,CAAEC,MAAO,EAAGtV,OAAQ,GAC/BqG,EAAK,EAAG9K,EAAKf,EAAMgS,UAAWnG,EAAK9K,EAAGI,OAAQ0K,IAAM,CAEzD,IADA,IAAIvE,EAAMvG,EAAG8K,GACJ7K,EAAK,EAAGC,EAAKjB,EAAMiO,QAASjN,EAAKC,EAAGE,OAAQH,IAAM,CACvD,IAAI4P,EAAS3P,EAAGD,GACZ2G,EAAOL,EAAII,MAAMkJ,EAAO/J,OAC5B,GAAKc,EAAL,CAEAtI,EAAIC,YAAYqI,EAAKvI,QAAQ,GAC7B,IAAI2b,EAAYpT,EAAK9G,MAAQ8G,EAAKwH,QAAQ,cACb,cAAzBxH,EAAKvI,OAAOuD,SAEZgF,EAAKxI,KAAOE,EAAIgG,gBAAgBsC,EAAKxI,KAAM4b,EAAY,EAAI1b,EAAImD,cAAe,CAAEO,SAAU4E,EAAKvI,OAAO2D,WAExE,cAAzB4E,EAAKvI,OAAOuD,SACjBgF,EAAKxI,KAAO+Z,EAAUvR,EAAKxI,KAAM4b,EAAWpT,EAAKvI,OAAQC,EAAK,OAEhC,WAAzBsI,EAAKvI,OAAOuD,SACjBgF,EAAKxI,KAAO+Z,EAAUvR,EAAKxI,KAAM4b,EAAWpT,EAAKvI,OAAQC,EAAK,IAEzB,mBAAzBsI,EAAKvI,OAAOuD,WACxBgF,EAAKxI,KAAOwI,EAAKvI,OAAOuD,SAASgF,EAAKxI,KAAM4b,IAEhDpT,EAAKuJ,cAAgBvJ,EAAKwJ,iBAAiB9R,EAAImD,eAC/C,IAAIwY,EAAoBrT,EAAKuJ,cAAgBvJ,EAAKO,QAC9CP,EAAKO,QAAU,GACf2S,EAAcC,MAAQD,EAAcrV,OAChCwV,EAAoBrT,EAAKO,QAC7B2S,EAAgB,CAAErV,OAAQwV,EAAmBF,MAAOnT,EAAKO,SAEpD2S,GAAiBA,EAAcC,MAAQ,GACxCD,EAAcrV,OAASwV,IACvBA,EAAoBH,EAAcrV,QAGtCwV,EAAoB1T,EAAI9B,SACxB8B,EAAI9B,OAASwV,EA7BL,CA+BhB,CACAH,EAAcC,OAClB,CACJ,CAhOIG,CAAWjb,EAAOX,GA4GtB,SAAuBW,GAInB,IAHA,IAAIkb,EAAe,CAAC,EAChBC,EAAkB,EAClBZ,EAAMva,EAAMgS,UACPiC,EAAW,EAAGA,EAAWsG,EAAIpZ,OAAQ8S,IAE1C,IADA,IAAI3M,EAAMiT,EAAItG,GACLpI,EAAK,EAAG9K,EAAKf,EAAMiO,QAASpC,EAAK9K,EAAGI,OAAQ0K,IAAM,CACvD,IAAI+E,EAAS7P,EAAG8K,GACZyK,EAAO4E,EAAatK,EAAO/J,OAC/B,GAAIsU,EAAkB,EAClBA,WACO7T,EAAII,MAAMkJ,EAAO/J,YAEvB,GAAIyP,EACLA,EAAK3O,KAAKnC,QAAU8B,EAAI9B,OACxB2V,EAAkB7E,EAAK3O,KAAKQ,eACrBb,EAAII,MAAMkJ,EAAO/J,OACxByP,EAAK/U,OACD+U,EAAK/U,MAAQ,UACN2Z,EAAatK,EAAO/J,WAG9B,CACD,IAAIc,EAAOL,EAAII,MAAMkJ,EAAO/J,OAC5B,IAAKc,EACD,SAGJ,GADAA,EAAKnC,OAAS8B,EAAI9B,OACdmC,EAAKO,QAAU,EAAG,CAClB,IAAIkT,EAAYb,EAAIpZ,OAAS8S,EACzB1S,EAAOoG,EAAKO,QAAUkT,EAAYA,EAAYzT,EAAKO,QACvDgT,EAAatK,EAAO/J,OAAS,CAAEc,KAAMA,EAAMpG,KAAMA,EAAM+F,IAAKA,EAChE,CACJ,CACJ,CAER,CA/II+T,CAAcrb,EAClB,EAyGAvD,EAAQ0c,cAAgBA,EAyHxB1c,EAAQyc,UAAYA,CAiBb,EAED,SAAUxc,EAAQD,GAExB,QAA8C,IAApCJ,EAAiD,CAAC,IAAIif,EAAI,IAAIC,MAAM,kCAAgE,MAA7BD,EAAEE,KAAO,mBAA0BF,CAAE,CACtJ5e,EAAOD,QAAUJ,CAEV,GAEP,EAnpEEK,EAAOD,QAAUP,EAAS,WAA+C,IAAM,OAAO,EAAQ,MAAU,CAAE,MAAMof,GAAI,CAAE,CAA7F,G","sources":["webpack://oticon_us/./node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js"],"sourcesContent":["/*!\n * \n * jsPDF AutoTable plugin v3.5.13\n * \n * Copyright (c) 2020 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * \n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof this !== 'undefined' ? this : window, function(__WEBPACK_EXTERNAL_MODULE__16__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = exports.FONT_ROW_RATIO = void 0;\n/**\n * Ratio between font size and font height. The number comes from jspdf's source code\n */\nexports.FONT_ROW_RATIO = 1.15;\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica',\n fontStyle: 'normal',\n overflow: 'linebreak',\n fillColor: false,\n textColor: 20,\n halign: 'left',\n valign: 'top',\n fontSize: 10,\n cellPadding: 5 / scaleFactor,\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto',\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: {\n head: { fontStyle: 'bold' },\n foot: { fontStyle: 'bold' },\n },\n };\n return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle)\n this.jsPDFDocument.setFontStyle && this.jsPDFDocument.setFontStyle(styles.fontStyle);\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles && availableFontStyles.indexOf(fontStyle) === -1) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle && this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = {\n width: pageSize.getWidth(),\n height: pageSize.getHeight(),\n };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(12);\nvar config_1 = __webpack_require__(1);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new config_1.HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = cssParser_1.parseCss(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve
tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split('
')\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n styles = styles || {};\n var FONT_ROW_RATIO = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - FONT_ROW_RATIO);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * fontSize * FONT_ROW_RATIO;\n else if (styles.valign === 'bottom')\n y -= lineCount * fontSize * FONT_ROW_RATIO;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += fontSize * FONT_ROW_RATIO;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, {\n maxWidth: styles.maxWidth || 100,\n align: 'justify',\n });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\nexports.default = default_1;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(4);\nvar polyfills_1 = __webpack_require__(3);\nvar common_1 = __webpack_require__(0);\nvar documentHandler_1 = __webpack_require__(2);\nvar inputValidator_1 = __webpack_require__(13);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n inputValidator_1.default(doc, global, document, current);\n var options = polyfills_1.assign({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = polyfills_1.assign({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = polyfills_1.assign({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var margin = common_1.parseSpacing(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n return {\n includeHiddenHtml: (_e = options.includeHiddenHtml) !== null && _e !== void 0 ? _e : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_f = options.pageBreak) !== null && _f !== void 0 ? _f : 'auto',\n rowPageBreak: (_g = options.rowPageBreak) !== null && _g !== void 0 ? _g : 'auto',\n tableWidth: (_h = options.tableWidth) !== null && _h !== void 0 ? _h : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_j = options.tableLineWidth) !== null && _j !== void 0 ? _j : 0,\n tableLineColor: (_k = options.tableLineColor) !== null && _k !== void 0 ? _k : 200,\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = htmlParser_1.parseHtml(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\" + i : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addPage = exports.drawTable = void 0;\nvar config_1 = __webpack_require__(1);\nvar common_1 = __webpack_require__(0);\nvar models_1 = __webpack_require__(8);\nvar documentHandler_1 = __webpack_require__(2);\nvar polyfills_1 = __webpack_require__(3);\nvar autoTableText_1 = __webpack_require__(5);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.allRows();\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n var startPos = polyfills_1.assign({}, cursor);\n table.startPageNumber = doc.pageNumber();\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor); });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor); });\n }\n common_1.addTableBorder(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / fontHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = polyfills_1.assign(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \" + row.index + \" correctly since it's minimum height is larger than page height\");\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \" + row.index + \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\");\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, table.columns)) {\n printRow(doc, table, row, cursor);\n }\n else {\n if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor);\n addPage(doc, table, startPos, cursor);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor);\n }\n else {\n addPage(doc, table, startPos, cursor);\n printFullRow(doc, table, row, isLastRow, startPos, cursor);\n }\n }\n}\nfunction printRow(doc, table, row, cursor) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n var cellStyles = cell.styles;\n var fillStyle = common_1.getFillStyle(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n var textPos = cell.getTextPos();\n autoTableText_1.default(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor) {\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n common_1.addTableBorder(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor); });\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n }\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(1);\nvar HookData_1 = __webpack_require__(14);\nvar common_1 = __webpack_require__(0);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + fontHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n Cell.prototype.getContentHeight = function (scaleFactor) {\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var fontHeight = (this.styles.fontSize / scaleFactor) * config_1.FONT_ROW_RATIO;\n var height = lineCount * fontHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = common_1.parseSpacing(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(2);\nvar models_1 = __webpack_require__(8);\nvar widthCalculator_1 = __webpack_require__(15);\nvar config_1 = __webpack_require__(1);\nvar polyfills_1 = __webpack_require__(3);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n widthCalculator_1.calculateWidths(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = config_1.getTheme(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = polyfills_1.assign({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? polyfills_1.assign({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = config_1.defaultStyles(scaleFactor);\n var themeStyles = polyfills_1.assign({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return polyfills_1.assign(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(11);\nvar inputParser_1 = __webpack_require__(6);\nvar tableDrawer_1 = __webpack_require__(7);\nvar tableCalculator_1 = __webpack_require__(9);\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n applyPlugin_1.default(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = inputParser_1.parseInput(d, options);\n var table = tableCalculator_1.createTable(d, input);\n tableDrawer_1.drawTable(d, table);\n}\nexports.default = autoTable;\n// Experimental export\nfunction __createTable(d, options) {\n var input = inputParser_1.parseInput(d, options);\n return tableCalculator_1.createTable(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n tableDrawer_1.drawTable(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(16);\n // Webpack imported jspdf instead of jsPDF for some reason \n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar htmlParser_1 = __webpack_require__(4);\nvar autoTableText_1 = __webpack_require__(5);\nvar documentHandler_1 = __webpack_require__(2);\nvar inputParser_1 = __webpack_require__(6);\nvar tableDrawer_1 = __webpack_require__(7);\nvar tableCalculator_1 = __webpack_require__(9);\nfunction default_1(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options;\n if (args.length === 1) {\n options = args[0];\n }\n else {\n console.error('Use of deprecated autoTable initiation');\n options = args[2] || {};\n options.columns = args[0];\n options.body = args[1];\n }\n var input = inputParser_1.parseInput(this, options);\n var table = tableCalculator_1.createTable(this, input);\n tableDrawer_1.drawTable(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.previousAutoTable = false; // deprecated in v3\n jsPDF.API.autoTable.previous = false; // deprecated in v3\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n autoTableText_1.default(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n documentHandler_1.DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n documentHandler_1.DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new documentHandler_1.DocHandler(this);\n var _a = htmlParser_1.parseHtml(doc, tableElem, window, includeHiddenElements, false), head = _a.head, body = _a.body;\n var columns = head[0].map(function (c) { return c.content; });\n return { columns: columns, rows: body, data: body };\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableEndPosY = function () {\n console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n var prev = this.lastAutoTable;\n if (prev && prev.finalY) {\n return prev.finalY;\n }\n else {\n return 0;\n }\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPageContent = function (hook) {\n console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n if (!jsPDF.API.autoTable.globalDefaults) {\n jsPDF.API.autoTable.globalDefaults = {};\n }\n jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n return this;\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPage = function () {\n console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n this.addPage();\n return this;\n };\n}\nexports.default = default_1;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(0);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var color = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (color != null)\n result.fillColor = color;\n color = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (color != null)\n result.textColor = color;\n color = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['borderTopColor'];\n });\n if (color != null)\n result.lineColor = color;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n // style.borderWidth only works in chrome (borderTopWidth etc works in firefox and ie as well)\n var bw = parseInt(style.borderTopWidth || '');\n bw = bw / pxScaleFactor / scaleFactor;\n if (bw)\n result.lineWidth = bw;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n) / pxScaleFactor;\n });\n var padding = common_1.parseSpacing(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\" + name + \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\");\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \" + deprecated + \". Use \" + current + \" instead\");\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _i = 0, _a = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _i < _a.length; _i++) {\n var styleProp = _a[_i];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _b = 0, _c = Object.keys(columnStyles); _b < _c.length; _b++) {\n var key = _c[_b];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports.default = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.pageCount = this.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(0);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.error(\"Of the table content, \" + resizeWidth + \" units width could not fit page\");\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = common_1.getStringWidth(cell.text, cell.styles, doc) + padding;\n var longestWordWidth = common_1.getStringWidth(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap') {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n cell.text = cell.styles.overflow(cell.text, textSpace);\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= common_1.getStringWidth(text, styles, doc)) {\n return text;\n }\n while (width < common_1.getStringWidth(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__16__ === 'undefined') {var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__16__;\n\n/***/ })\n/******/ ]);\n});"],"names":["factory","this","window","__WEBPACK_EXTERNAL_MODULE__16__","modules","installedModules","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_require__","getFillStyle","lineWidth","fillColor","drawLine","drawBackground","parseSpacing","addTableBorder","getStringWidth","text","styles","doc","applyStyles","Array","isArray","map","getTextWidth","reduce","a","b","Math","max","table","startPos","cursor","settings","tableLineWidth","lineColor","tableLineColor","fillStyle","rect","x","y","getWidth","pageSize","width","defaultValue","_a","_b","_c","_d","length","top","right","bottom","left","vertical","horizontal","extendStatics","__extends","setPrototypeOf","__proto__","__","constructor","getTheme","defaultStyles","HtmlRowInput","FONT_ROW_RATIO","_super","element","_this","_element","scaleFactor","font","fontStyle","overflow","textColor","halign","valign","fontSize","cellPadding","cellWidth","minCellHeight","minCellWidth","striped","head","body","foot","alternateRow","grid","plain","DocHandler","globalDefaults","jsPDFDocument","userStyles","getTextColor","internal","getFontSize","getFont","fontName","setDefaults","defaults","__autoTableDocumentDefaults","unifyColor","fontOnly","setFontStyle","availableFontStyles","getFontList","indexOf","setFont","setFontSize","color","setFillColor","apply","setTextColor","setDrawColor","setLineWidth","splitTextToSize","size","opts","height","getLastAutoTable","lastAutoTable","getDocument","setPage","page","addPage","getGlobalOptions","getDocumentOptions","getHeight","pageNumber","pageInfo","getCurrentPageInfo","getNumberOfPages","assign","target","s1","s2","s3","TypeError","to","index","arguments","nextSource","nextKey","parseHtml","cssParser_1","config_1","parseRowContent","supportedFonts","row","includeHidden","useCss","resultRow","cells","cell","style_1","getComputedStyle","display","cellStyles","parseCss","push","rowSpan","colSpan","content","parseCellContent","style","orgCell","cloneNode","innerHTML","replace","split","part","trim","join","innerText","textContent","input","includeHiddenHtml","tableElement","document","querySelector","keys","console","error","rows","tagName","parentElement","toLowerCase","default","k","splitText","lineCount","alignSize","iLine","getStringUnitWidth","maxWidth","align","parseInput","htmlParser_1","polyfills_1","common_1","documentHandler_1","inputValidator_1","current","global","win","options","gInput","dInput","cInput","styleOptions","headStyles","bodyStyles","footStyles","alternateRowStyles","columnStyles","_loop_1","prop","global_1","document_1","_i","parseStyles","hooks","result","didParseCell","willDrawCell","didDrawCell","didDrawPage","allOptions_1","parseHooks","_e","_f","_g","_h","_j","_k","showFoot","showHead","margin","startY","userStartY","previous","sf","currentPage","isSamePageAsPreviousTable","startPageNumber","finalY","getStartY","theme","pageBreak","rowPageBreak","tableWidth","parseSettings","html","hidden","htmlContent","columns","firstRow","filter","forEach","parseInt","rowResult","dataKey","parseColumns","parseContent","id","tableId","drawTable","models_1","autoTableText_1","getRemainingLineCount","remainingPageSpace","fontHeight","vPadding","padding","remainingLines","floor","printFullRow","isLastRow","remainingSpace","bottomContentHeight","getFootHeight","getRemainingPageSpace","canEntireRowFit","printRow","pageHeight","maxRowHeight","section","getHeadHeight","minRowHeight","getMinimumRowHeight","minRowFits","rowHasRowSpanCell","hasRowSpan","getMaxCellHeight","shouldPrintOnCurrentPage","remainderRow","spansMultiplePages","rowHeight","column","remainderCell","Cell","raw","remainingLineCount","splice","contentHeight","getContentHeight","Row","modifyRowToFit","callCellHooks","textPos","getTextPos","ceil","callEndPageHooks","nextPage","pageCount","jsPDFDoc","sectionsHeight","minTableBottomPos","allRows","acc","previousAutoTable","autoTable","Column","Table","HookData_1","concat","handlers","handlers_1","handler","CellHookData","HookData","pageWidth","total","col","wrappedWidth","oneRowHeight","contentWidth","minReadableWidth","minWidth","title","netHeight","netWidth","getMaxCustomCellWidth","createTable","widthCalculator_1","parseSection","sectionName","sectionRows","styleProps","rowSpansLeftForColumn","rawRow","rowIndex","skippedRowForRowSpans","colSpansAdded","columnSpansLeft","columns_1","rawCell","cellInputStyles","times","generateSectionRow","sectionRow","header","footer","getSectionTitle","themeName","sectionStyles","otherStyles","colStyles","rowStyles","defaultStyle","themeStyles","createColumns","calculateWidths","__drawTable","__createTable","applyPlugin","applyPlugin_1","inputParser_1","tableDrawer_1","tableCalculator_1","jsPDF","API","args","autoTableText","autoTableSetDefaults","autoTableHtmlToJson","tableElem","includeHiddenElements","data","autoTableEndPosY","prev","autoTableAddPageContent","hook","addPageContent","autoTableAddPage","parseColor","styleGetter","cssColor","realColor","rgba","match","isNaN","elem","bg","pxScaleFactor","val","paddingTop","paddingRight","paddingBottom","paddingLeft","linePadding","lineHeight","inputPadding","parsePadding","bw","borderTopWidth","accepted","textAlign","verticalAlign","res","fontWeight","parseFontStyle","fontFamily","checkStyles","columnWidth","extendWidth","margins","afterPageContent","beforePageContent","afterPageAdd","deprecated","deprecatedOption","ellipsize","resizeColumns","resizeWidth","getMinWidth","initialResizeWidth","sumWrappedWidth","suggestedChange","suggestedWidth","newWidth","round","resizableColumns","str","precision","substring","ellipsizeStr","longestWordWidth","defaultMinWidth","calculate","initialTableWidth","customWidth","abs","all","colSpanCell","combinedColSpanWidth","colSpansLeft","columnIndex","applyColSpans","rowSpanHeight","count","textSpace","realContentHeight","fitContent","rowSpanCells","colRowSpansLeft","remaining","applyRowSpans","e","Error","code"],"sourceRoot":""}