{"version":3,"file":"static/js/7.05e7b403a2f68506a1c0.chunk.js","mappings":";szBAoCA,MAAMA,UAAqBC,EAAAA,cACvBC,YAAYC,GACRC,MAAMD,GAcH,KAAAE,gBAAkBC,UACrB,MAAMC,QAAwBC,EAAAA,EAAAA,IAAuB,CAAEC,cAAeC,KAAKP,MAAMQ,QAAQC,cAAeC,oBAAqB,KAC7H,GAAIN,EAAWO,QAAS,CAChBP,EAAWO,QAAQC,OAAS,SACtBL,KAAKM,qBAEf,MAAMC,EAAqB,GACrBC,EAAeR,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeC,KAYrE,GAXAb,EAAWO,QAAQO,KAAKC,IAChBA,EAASC,WAAaD,EAASE,eAC/BP,EAAcQ,KACV,IAAIC,EAAAA,iBACAJ,EAASC,UACTb,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeQ,aAChDC,EAAAA,EAAAA,0CAAyClB,KAAKP,MAAMQ,QAAQC,oBAKxEK,EAAcF,OAAS,EACvB,OAAOc,EAAAA,EAAAA,iBAAgBZ,EAAeP,KAAKP,MAAMQ,QAAQC,eAAekB,MAAKxB,MAAAA,IACrEyB,QACMrB,KAAKsB,gBAAgBzB,EAAWO,QAASiB,EAAUb,GAEzDR,KAAKuB,SAAS,CAAEC,UAAW,GAAIC,WAAW,EAAOC,oBAAgBC,EAAWC,iBAAaD,OAIjG3B,KAAKuB,SAAS,CAAEC,UAAW,GAAIC,WAAW,EAAOC,oBAAgBC,EAAWC,iBAAaD,MAK9F,KAAArB,mBAAqBV,UACxB,IAAIiC,QAAwBC,IAAAA,IAAU,GAAG9B,KAAKP,MAAMsC,IAAIC,OAAOC,aAAajC,KAAKP,MAAMsC,IAAIC,OAAOE,iCAClGL,EAAkBA,EAAgBM,KAClCnC,KAAKuB,SAAS,CAAEM,gBAAAA,KAGb,KAAAO,eAAiBxC,MAAOyC,EAAoBC,WACzCC,EAAAA,EAAAA,IACF,CAAExC,cAAeC,KAAKP,MAAMQ,QAAQC,cAAeC,oBAAqB,IACxEkC,EACAC,GACFlB,MAAKoB,IACHC,OAAOC,SAASC,aAGjB,KAAAC,YAAchD,UACjB,MAAM,QAAEK,GAAYD,KAAKP,MACnBe,EAAoBP,EAAQC,cAAcO,eAAeC,KAEzDmC,QAAyBC,EAAAA,EAAAA,IAC3B,CAAE/C,cAAeC,KAAKP,MAAMQ,QAAQC,cAAeC,oBAAqB,IACxEK,EAAeA,EAAauC,sBAAwB,IAElDC,EAA+B,GAkBrC,GAjBAhD,KAAKiD,MAAMzB,UAAU0B,SAASC,IAC1B,MAAMC,EAAgC,CAClCC,cACI7C,IAAiBA,EAAa8C,OAAS9C,EAAauC,sBAAwBvC,EAAauC,sBAAwB,GACrHQ,cAAeV,EAAYU,cAC3BC,SAAU,EACV3C,UAAWsC,EAAKM,eAAeC,SAC/BC,cAAeR,EAAKM,eAAeG,qBACnCC,WAAYV,EAAKW,WAAaX,EAAKW,WAAa,GAChDC,oBAAqBZ,EAAKM,eAAeM,oBACzCC,SAAUxD,GAAgBA,EAAa8C,OAASH,EAAKc,MAAMC,cAAgBf,EAAKc,MAAMC,cAAgB,EACtGC,SAAU3D,IAAiBA,EAAa8C,OAASH,EAAKc,MAAMC,cAAgBf,EAAKc,MAAMC,cAAgB,EACvGE,OAAQjB,EAAKM,eAAeW,QAEhCpB,EAAwBjC,KAAKqC,MAG7BnD,GAAW+C,EAAwB3C,OAAS,EAAG,CAC/C,MAAMgE,QAA6BC,EAAAA,EAAAA,IAC/B,CAAEvE,cAAeC,KAAKP,MAAMQ,QAAQC,eACpC8C,GAEJ,GAAIqB,EAAsB,CACtB,MAAME,EAAUvE,KAAKP,MAAMQ,QAAQsE,QACnC,IAAIC,EAAkBD,EAAQE,IAAIC,WAAWC,OACzCJ,EAAQK,WACRJ,GAAoCD,EAAQK,UAEhDnC,OAAOC,SAASmC,KAAO,GAAGL,IAAkBxE,KAAKP,MAAMuC,OAAO8C,4CAA4CT,EAAqBU,kBAGvIC,QAAQC,IAAIjC,IArGZhD,KAAKiD,MAAQ,CACTzB,UAAW,GACXE,oBAAgBC,EAChBF,WAAW,EACXG,iBAAaD,EACbE,qBAAiBF,GAIlB,gCACG3B,KAAKL,kBA8FR,sBAAsBuF,EAAY7D,EAAeb,GACpD,MAAMgB,EAAiB,GACjBI,QAAoBkB,EAAAA,EAAAA,IACtB,CAAE/C,cAAeC,KAAKP,MAAMQ,QAAQC,eACpCM,EAAauC,uBAEjB,IAAIoC,EAAuB,EAC3B,MAAMzD,EAAsB,GAC5B,IAAK,MAAO0D,EAAOxE,KAAasE,EAAMG,UAAW,CAC7C,MAAMC,EAAejE,EAASkE,MAAMC,GACzB5E,EAASC,YAAc2E,EAAE/B,eAAeC,WAEnD,GAAI4B,GAAW1E,EAASC,WAAaD,EAASE,eAAiBd,KAAKiD,MAAMpB,gBACtE,GAAKjB,EAASE,cAGP,CACH,MAAM2E,EAAoBzF,KAAKP,MAAMsC,IAAIC,OAAOyD,kBAAkBC,QAAQ,cAAe9E,EAASE,eAC5F6E,QAAe7D,IAAAA,IAAU,GAAG9B,KAAKP,MAAMsC,IAAIC,OAAOC,aAAawD,KAErE,IAAIG,EAAmB5F,KAAKP,MAAMsC,IAAIC,OAAO4D,iBAAiBF,QAAQ,cAAe9E,EAASE,eAC9F8E,EAAmBA,EAAiBF,QAAQ,cAAe9D,EAAYiE,mBACvE,MAAM5B,QAAcnC,IAAAA,IAAU,GAAG9B,KAAKP,MAAMsC,IAAIC,OAAOC,aAAa2D,KAE9DE,EAAmB9F,KAAKP,MAAMsC,IAAIC,OAAO8D,iBAAiBJ,QAAQ,cAAe9E,EAASE,eAC1FiF,QAAuBjE,IAAAA,IAAU,GAAG9B,KAAKP,MAAMsC,IAAIC,OAAOC,aAAa6D,KAEvEE,EAAY/B,EAAM9B,KAAK8D,MACvBC,EAAWC,EAAA,GAAab,GACxBc,EAAcD,EAAA,GAAab,EAAQ7B,gBACzC2C,EAAeC,gBAAkBN,EAAU5D,KAAK,GAChD+D,EAAYzC,eAAiB2C,EAC7BF,EAAYpC,WAAalD,EAASE,cAClCoF,EAAYI,IAAM1F,EAASE,cAC3BoF,EAAYP,OAASA,EAAOxD,KAC5B+D,EAAY5D,MAAQ1B,EAAS2F,MAC7BL,EAAYM,eAAgBC,EAAAA,EAAAA,qBACxBnB,EAAQ7B,eAAeW,OACvBpE,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeQ,aAEpDiF,EAAYD,MAAQ,GACpBC,EAAYQ,WAAazC,EAAM9B,KAAKwE,IAAIC,GAExCzB,GAA8ClB,EAAM9B,KAAKwE,IAAIC,GAC7D,MAAMC,EAAiBV,EAAA,GAAQb,EAAQwB,cACvCD,EAAkB3C,cAAgBgC,EAAYQ,WAC9CG,EAAkBE,UAAYb,EAAYQ,WAC1CG,EAAkBG,wBAA0Bd,EAAYQ,WACxDG,EAAkBI,oBAAsBf,EAAYQ,WACpDR,EAAYjC,MAAQ4C,EACpB,IAAK,MAAMK,KAAQlB,EAAW,CAC1B,MAAMmB,EAAajB,EAAYP,OAAOJ,MAAM6B,GACjCA,EAAEC,SAAWH,EAAKI,KAE7B,IAAIC,EAAS,MACTC,EAAQ,QACRL,EAAWM,YAAcN,EAAWM,WAAWC,UAC3CP,EAAWM,WAAWC,QAAQF,QAC9BA,EAAQ,GAAGL,EAAWM,WAAWC,QAAQF,MAAMG,SAASR,EAAWM,WAAWC,QAAQF,MAAMI,QAE5FT,EAAWM,WAAWC,QAAQH,SAC9BA,EAAS,GAAGJ,EAAWM,WAAWC,QAAQH,OAAOI,SAASR,EAAWM,WAAWC,QAAQH,OAAOK,SAGvG,IAAIC,EAAe,KACnBA,EACIV,EAAWM,WAAWK,MAAMC,OAAO1H,OAAS,GACC,SAA7C8G,EAAWM,WAAWK,MAAMC,OAAO,GAAGT,IACtCH,EAAWM,WAAWK,MAAME,SAASC,QAAO,SAAStB,EAAUuB,GAE3D,OAAOvB,EAAMuB,EAAQC,QACtB,GACP,MAAMC,EAAajB,EAAWM,WAAWP,KAAKmB,KAAKV,MAAQ,WACrDW,EAAgB,CAClBjB,OAAQH,EAAKI,GACbiB,SAAUpB,EAAWqB,KACrBC,MAAO,GAAGzI,KAAKiD,MAAMpB,gBAAgBsF,EAAWM,WAAWiB,KAAKC,SAAS,GAAGC,2CACjE5I,KAAKiD,MAAMpB,gBAAgBsF,EAAWM,WAAWiB,KAAKG,MAAM,GAAGD,SAC1EE,UAAW3B,EAAWM,WAAWP,KAAKmB,KAAKO,MAC3CG,UACIC,KAAKC,MAE+B,KAA/Bb,EAAac,OAAOC,UACrB,IACRC,eAAgBvB,EACV,GAAGA,eAA0BL,WAAeD,UAC5C,GAAGC,WAAeD,WAEtB8B,EAAYlD,EAAA,GAAQb,EAAQwB,cAClCuC,EAAanF,cAAgBgD,EAAKN,GAClCyC,EAAatC,UAAYG,EAAKN,GAC9ByC,EAAarC,wBAA0BE,EAAKN,GAC5CyC,EAAapC,oBAAsBC,EAAKN,GACxC0B,EAASrE,MAAQoF,EACjBnD,EAAYD,MAAMlF,KAAKuH,GACvB,MAAM5B,EAAUP,EAAA,GAAQb,EAAQwB,cAChCJ,EAAWxC,cAAgBiB,EAC3BuB,EAAWK,UAAY5B,EACvBuB,EAAWM,wBAA0B7B,EACrCuB,EAAWO,oBAAsB9B,EACjCzD,EAAeuC,MAAQyC,EAE3BlF,EAAUT,KAAKmF,QAxFfZ,EAAQgB,IAAM,mBAAmBlB,IACjC5D,EAAUT,KAAKuE,GA4F3BtF,KAAKuB,SAAS,CAAEC,UAAAA,EAAWE,eAAAA,EAAgBD,WAAW,EAAOG,YAAaA,IAGvE0H,SACH,MAAMC,EAASpD,EAAAA,EAAA,GACPnG,KAAKP,OAA6C,IACtD+B,UAAWxB,KAAKiD,MAAMzB,UACtBY,eAAgBpC,KAAKoC,eACrBV,eAAgB1B,KAAKiD,MAAMvB,eAC3BkB,YAAa5C,KAAK4C,YAClBnB,UAAWzB,KAAKiD,MAAMxB,UACtBG,YAAa5B,KAAKiD,MAAMrB,cAE5B,OAAO5B,KAAKP,MAAM+J,WAAWD,IAIrC,8GCxQc,MAAOE,UAAqBlK,EAAAA,UAA1CC,kCACY,KAAAkK,aAAe,CAACjK,EAAY0C,KAChC,MAAM,QAAElC,GAAYR,EACpB,OAAI0C,EAAK8B,MAED1E,EAAAA,cAACoK,EAAAA,eAAc,CACXrC,GAAI,eACJsC,SAAU,eACVzH,KAAMA,EACN0H,cAAe,OACfC,kBAAmB,iBACnBC,iBAAkB,gBAClB9J,QAASA,IAId,MAGJqJ,SACH,OACI/J,EAAAA,cAAA,OAAKyK,UAAW,qBACZzK,EAAAA,cAAA,MAAIyK,UAAW,6BAA2B,iBACzChK,KAAKP,MAAM+B,UAAUb,KAAKC,GAEnBrB,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKyK,UAAW,6BACZzK,EAAAA,cAAA,OAAKyK,UAAW,kCAAmCpJ,EAAS6C,eAAewG,MAC1ErJ,EAASqF,OACNrF,EAASqF,MAAMtF,KAAI,CAACuG,EAAW9B,IAEvB7F,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKyK,UAAW,4BACZzK,EAAAA,cAAA,YACK2H,EAAKqB,SAAQ,IAAG,GAAE,MAAK,GAAE,IAAGrB,EAAKuB,OAErC7H,EAASqF,MAAM5F,OAAS,IAAM+E,GAC3B7F,EAAAA,cAAA,QAAMyK,UAAW,2BACZhK,KAAK0J,aAAa1J,KAAKP,MAAOmB,YAW3ErB,EAAAA,cAAA,OAAKyK,UAAW,2BAA4BE,QAASA,IAAMlK,KAAKP,MAAMmD,eAClErD,EAAAA,cAAA,QAAMyK,UAAW,2BAA4BhK,KAAK0J,aAAa1J,KAAKP,MAAOO,KAAKP,MAAMiC,iBACtFnC,EAAAA,cAAA,QAAMyK,UAAW,sBAAoB,0CCzCzD,QAAgBvK,IACZ,MAAMiK,EAAeA,CAACjK,EAAYyH,KAC9B,MAAM,QAAEjH,GAAYR,EACpB,OAAIyH,EAAKjD,MAED1E,EAAAA,cAACoK,EAAAA,eAAc,CACXrC,GAAI,eACJsC,SAAU,eACVzH,KAAM+E,EACN2C,cAAe,OACfC,kBAAmB,iBACnBC,iBAAkB,gBAClB9J,QAASA,IAId,MAQLkK,EAAuC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG,kBAAmBC,EAAG,IAAKC,EAAG,KACvCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,IAAKC,EAAG,KACvCE,GAAI,CAAEJ,EAAG,kBAAmBC,EAAG,IAAKC,EAAG,MAE3CG,UAAU,EACVC,iBAAiB,GAErB,IAAIC,EAAsBpL,EAAMQ,QAAQsE,QAAQE,IAAIC,WAAWC,OAI/D,OAHIlF,EAAMQ,QAAQsE,QAAQK,WACtBiG,GAA4CpL,EAAMQ,QAAQsE,QAAQK,UAGlErF,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACuL,EAAAA,OAAM,CACHjG,KAAM,GAAGgG,IAAsBpL,EAAMuC,OAAO+I,gCAC5Cf,UAAU,2DACVgB,MAAO,qBAENvL,EAAMuC,OAAOiJ,2BAA6BxL,EAAMuC,OAAOiJ,2BAA6B,qBAExFxL,EAAM+B,UAAUnB,OAAS,IAAMZ,EAAMgC,UAClClC,EAAAA,cAAA,OAAKyK,UAAW,wBACZzK,EAAAA,cAAA,OAAKyK,UAAW,0CACXvK,EAAM+B,UAAUb,KAAI,CAACC,EAAewE,IAE7B7F,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKyK,UAAW,yBACZzK,EAAAA,cAAA,OAAKyK,UAAW,0CACZzK,EAAAA,cAAA,UACIyK,UAAU,2CAA0C,aACxC,mBACZE,QAASA,IAAMzK,EAAM2C,eAAexB,EAASkD,WAAYlD,EAAS0B,SAEtE/C,EAAAA,cAAC2L,EAAAA,GAAK,CACFzK,eAAgBhB,EAAMQ,QAAQC,cAAcO,eAC5C0K,QAASvK,EAAS6C,eAAewG,KACjCD,UAAU,mCACVgB,MAAOpK,EAAS6C,eAAewG,KAC/BmB,IAAKxK,EAAS6C,eAAe4C,gBAC7BgF,YAAazK,EAAS4F,cACtB8E,aAAc7L,EAAMQ,QAAQsE,QAAQ+G,aACpCC,cAAepB,EACfqB,oBAAqB,WAG7BjM,EAAAA,cAAA,OAAKyK,UAAW,0DACZzK,EAAAA,cAAA,OAAKyK,UAAW,oBAAqBpJ,EAAS6C,eAAewG,MAC5DrJ,EAASqF,OACNrF,EAASqF,MAAMtF,KAAKuG,IAChB,OACI3H,EAAAA,cAAA,OAAKyK,UAAW,eAAgB1D,IAAKY,EAAKG,QACtC9H,EAAAA,cAAA,QAAMyK,UAAW,uBACbzK,EAAAA,cAAA,QAAMyK,UAAW,+BAAgC9C,EAAKqB,UACtDhJ,EAAAA,cAAA,QAAMyK,UAAW,4BAA6B9C,EAAKuB,QAEvDlJ,EAAAA,cAAA,QAAMyK,UAAW,uBACbzK,EAAAA,cAAA,QAAMyK,UAAW,+BAAgC,QACjDzK,EAAAA,cAAA,QAAMyK,UAAW,4BAA0B,QACjC9C,EAAK4B,UAAS,SAlEnE2C,EAkEyFvE,EAAK6B,WAhEhG0C,EAASC,QAAQ,GAErB,GA8D8G,QAGjEnM,EAAAA,cAAA,QAAMyK,UAAW,uBACbzK,EAAAA,cAAA,QAAMyK,UAAW,+BAAgC,iBACjDzK,EAAAA,cAAA,QAAMyK,UAAW,4BAA6B9C,EAAKkC,iBAEvD7J,EAAAA,cAAA,QAAMyK,UAAW,uBACbzK,EAAAA,cAAA,QAAMyK,UAAW,+BAAgC,SACjDzK,EAAAA,cAAA,QAAMyK,UAAW,4BACZN,EAAajK,EAAOyH,MA5EpEuE,IAAAA,KAkFuBlM,EAAAA,cAAA,OAAKyK,UAAW,wBAAyBN,EAAajK,EAAOmB,UAOrFrB,EAAAA,cAAA,OAAKyK,UAAW,wDACXvK,EAAM+B,UAAUnB,OAAS,GACtBd,EAAAA,cAACkK,EAAY,CACTjI,UAAW/B,EAAM+B,UACjBvB,QAASR,EAAMQ,QACfyB,eAAgBjC,EAAMiC,eACtBkB,YAAanD,EAAMmD,cAG3BrD,EAAAA,cAAA,WACIA,EAAAA,cAAA,OAAKyK,UAAW,iBACX2B,EAAAA,gBAAgBC,YAAYnM,EAAMoM,MAAMC,WACrCvM,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,0BAA0BvK,EAAMoM,MAAMC,UAAU,IAChE,KACJvM,EAAAA,cAAA,QAAMyK,UAAW,0BAAwB,qBACxCvK,EAAMmC,aACHrC,EAAAA,cAAA,QAAMyK,UAAW,0BACZvK,EAAMmC,YAAYoK,gBACnBzM,EAAAA,cAAA,WACCE,EAAMmC,YAAYqK,QACnB1M,EAAAA,cAAA,WACC,MACAE,EAAMmC,YAAYsK,MACnB3M,EAAAA,cAAA,WACC,MACAE,EAAMmC,YAAYuK,SAKnC5M,EAAAA,cAAA,WACKoM,EAAAA,gBAAgBC,YAAYnM,EAAMoM,MAAMO,UACrC7M,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,0BAA0BvK,EAAMoM,MAAMO,SAAS,IAC/D,QAIW,IAA3B3M,EAAM+B,UAAUnB,QAAiBZ,EAAMgC,UAOvClC,EAAAA,cAAA,OAAKyK,UAAW,wBAAsB,cANtCzK,EAAAA,cAAA,OAAKyK,UAAW,wBACZzK,EAAAA,cAAA,OAAKyK,UAAU,sFACXzK,EAAAA,cAAA,KAAGyK,UAAU,mCAAmC,kNCHxE,MAAMqC,EAQuBC,CAAChH,EAAwBiH,IACzCjH,EAAQkH,WAINlH,EAAQkH,WAAW7L,KAAI8L,IAE8C,IAAAC,EAcQC,EAcTC,EAcCC,EA1CxE,OAAIJ,EAAiBK,qBAAuBC,EAAAA,qBAAqBC,MAEzDzN,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,wCACXuC,EAAiBU,YACjB,KACD1N,EAAAA,cAAA,QAAMyK,UAAU,QACoB,QADd0C,EACjBD,EAAiBS,sBAAc,IAAAR,OAAA,EAA/BA,EAAiCS,SAOlDV,EAAiBK,qBAAuBC,EAAAA,qBAAqBK,cAEzD7N,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,wCACXuC,EAAiBc,aACjB,KACD9N,EAAAA,cAAA,QAAMyK,UAAU,QACoB,QADd2C,EACjBF,EAAiBS,sBAAc,IAAAP,OAAA,EAA/BA,EAAiCQ,SAOlDV,EAAiBK,qBAAuBC,EAAAA,qBAAqBO,KAEzD/N,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,uCACXuC,EAAiBgB,WACjB,KACDhO,EAAAA,cAAA,QAAMyK,UAAU,QACoB,QADd4C,EACjBH,EAAiBS,sBAAc,IAAAN,OAAA,EAA/BA,EAAiCO,SAOlDV,EAAiBK,qBAAuBC,EAAAA,qBAAqBS,MAEzDjO,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,wCACX1E,EAAQmI,WAAalB,EAAiBmB,aAAenB,EAAiBoB,YACtE,KACDpO,EAAAA,cAAA,QAAMyK,UAAU,QACoB,QADd6C,EACjBJ,EAAiBS,sBAAc,IAAAL,OAAA,EAA/BA,EAAiCM,SAM/C,QA5DA,GAVbd,EA+EuB5M,IACrB,IAAKA,EAAM0C,KAAKyL,SAASC,MACrB,OAAO,KAGX,OACItO,EAAAA,cAAA,OAAKyK,UAAU,qCACXzK,EAAAA,cAAA,YACIA,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,MAAM1C,EAAM0C,KAAKyL,SAASpK,UAAY/D,EAAM0C,KAAKyL,SAASpK,SAA0B,CAChFS,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASC,SAOrD5N,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,cAnGlCyC,EA+GoB5M,IAElB,IAAKA,EAAM0C,KAAKyL,SAASE,gBAAkBnC,EAAAA,gBAAgBC,YAAYnM,EAAM0C,KAAKyL,SAASE,eACvF,OAAO,KAyBX,OAAOrO,EAAM0C,KAAKyL,SAASE,cAAcnN,KAAI,CAACoN,EAAc3I,KAAS,IAAA4I,EACjE,OACIzO,EAAAA,cAAA,OAAK+G,IAAyB,QAAtB0H,EAAED,EAAaE,eAAO,IAAAD,EAAAA,EAAI5I,EAAO4E,UAAU,mCAC/CzK,EAAAA,cAAA,YACKwO,EAAaG,UAAYH,EAAaG,UAAY,IAEvD3O,EAAAA,cAAA,QAAMyK,UAAU,6CACZzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM1C,EAAM0O,YAAc,CACtBlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASQ,mBAEjD,CACAnK,MAAO,CACH+C,wBAAyB+G,EAAaM,gBACtCtH,UAAWgH,EAAaM,kBAGhCpO,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,YAGxBrK,EAAAA,cAAA,QAAMyK,UAAU,8CACX,UAAiCrI,IAA5BoM,EAAaO,WAzCXC,EAACR,EAA4BH,KAA8B,IAAAY,EAI/E,IAAIC,EAAgD,QAAlCD,EAAWT,EAAaO,kBAAU,IAAAE,EAAAA,EAHjC,EAKnB,IALmB,IAKdT,EAAaO,YACbP,EAAaW,uBAAyBX,EAAaW,wBAA0BC,EAAAA,iBAAiBC,qBAC/FhB,EAASC,OAASD,EAASC,MAPZ,GAOkCD,EAASpK,UAP3C,IAOuDoK,EAASpK,SAAyB,KAAAqL,EACxG,MAAMC,EAA8C,QAA/BD,EAAGd,EAAaM,uBAAe,IAAAQ,EAAAA,EARrC,EASfJ,EAAiBvF,QAAS4F,GAAmBlB,EAASC,MAAQD,EAASpK,UAPpD,KAOiFkI,QAR/E,IAWzB,OAAO+C,GA4BmDF,CAAgBR,EAActO,EAAM0C,KAAKyL,UAAY,aApKrHvB,EAgLqB5M,IACnB,MAAMsP,EAAmBtP,EAAMuP,wBAC3B,0CAA0CvP,EAAMuP,0BAA6B,yCAEjF,OACIzP,EAAAA,cAAA,KAAGyK,UAAW+E,GACTtP,EAAMwP,4BAtLjB5C,EAgMoB5M,IAAyB,IAAAyP,EAAAC,EAC3C,MAAMC,EAAsD,QAAhCF,EAAGzP,EAAMQ,QAAQsE,QAAQ8K,eAAO,IAAAH,OAAA,EAA7BA,EAA+BI,uBACxDC,EAA8B9P,EAAM8P,4BACpCC,EAAW/P,EAAM0C,KAAKyL,SAC5B,IAAI6B,GAAoB,EACuB,IAAAC,OAAX/N,IAAhC4N,EACAE,KAAuBD,EAASG,cAAmE,QAAvDD,EAAIH,EAA4BK,+BAAuB,IAAAF,IAAnDA,EAAqDG,MACjGC,GAAgBA,IAAiBN,EAASG,gBAE9CF,KAAuBD,EAASG,cAAgBH,EAASG,eAAiBP,GAE9E,IAAKK,EACD,OAGJ,MAAMM,GAA2C,QAArBZ,EAACK,EAASQ,mBAAW,IAAAb,EAAAA,EAAI,IAAIc,QAAOC,GAAcA,EAAWC,aAEzF,IAAKxE,EAAAA,gBAAgBC,YAAYmE,GAC7B,OAGJ,MACMK,EAAaL,EAAoB9H,QAAO,CAACoI,EAAaH,KAAc,IAAAI,EACtE,OAAOD,GAA0C,QAA/BC,EAAIJ,EAAWK,wBAAgB,IAAAD,EAAAA,EAFvB,QAKxBE,EACFjR,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM,CACF8B,MAAO,CACH+C,wBAAyBoJ,IAGjCvG,cAAc,OACd5J,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,kCAGlB,OACIzK,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,SAAOyK,UAAU,gCACZ,GAAGvK,EAAMgR,UAAUC,wBAExBnR,EAAAA,cAAA,QAAMyK,UAAU,kBACXwG,KA9OfnE,EAyPmB5M,IAAyB,IAAAkR,EAAAC,EAC1C,MACMC,EAAmC,QAAvBF,EADDlR,EAAM0C,KAAKyL,SACEoC,mBAAW,IAAAW,OAAA,EAApBA,EAAsBV,QAAQa,IAAgBA,EAAWX,aAE9E,OAsBE,QAtBFS,EAAOC,MAAAA,OAAY,EAAZA,EAAclQ,KAAI,CAACoQ,EAAa3L,KACnC,MAAM4L,EAAY5L,EAClB,OAAO2L,EAAYR,iBACfhR,EAAAA,cAAA,OAAKyK,UAAU,+BAA+B1D,IAAK0K,GAC/CzR,EAAAA,cAAA,SAAOyK,UAAU,sCACZ,GAAGiH,OAAOF,EAAYG,iBAE3B3R,EAAAA,cAAA,QAAMyK,UAAU,sBACZzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM,CACF8B,MAAO,CACH+C,wBAAyB+J,EAAYR,mBAG7CtQ,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,0CAItB,aACN,IAAA4G,EAAAA,OAAIjP,GAiSd,EAxR4ClC,IAAyB,IAAA0R,EAAAC,EACjE,MAAM,YAAEjD,EAAW,WAAEkD,EAAU,UAAEZ,GAAchR,GACzC,QAAE6F,EAAO,SAAEsI,GAAanO,EAAM0C,KAE9BmP,EAA2B,CAC7B/D,WAAYkD,EAAUlD,WACtBN,YAAawD,EAAUxD,YACvBU,YAAa8C,EAAU9C,YACvBN,aAAcoD,EAAUpD,aACxBK,aAAc+C,EAAU/C,cAGtB6D,EAAmBjM,IAAWmB,EAAAA,EAAAA,qBAAoBnB,EAAQlB,OAAQ3E,EAAMQ,QAAQC,cAAcO,eAAeQ,aAC7GuQ,EAAoBlM,GAAW+G,EAA8C/G,EAASgM,GACtFG,EAAyBpF,EAA6C5M,GACtE8L,EAAgB9L,EAAM8L,cACxBA,IACAA,EAAcX,iBAAkB,GAEpC,MAAM8G,EAAsBrF,EAA0C5M,GAChEkS,EAAuBtF,EAA2C5M,GAClEmS,EAAsBvF,EAA0C5M,GAChEoS,EAAqBxF,EAAyC5M,GAC9DqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmB,GAAI1M,MAAAA,OAAO,EAAPA,EAAS5B,SAASuO,YACnFC,GAAmBC,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GACnEM,EAA2B,QAAhBjB,EAAG7L,MAAAA,OAAO,EAAPA,EAAS2E,YAAI,IAAAkH,EAAAA,EAAIvD,EAASsD,YACxCmB,EAAgB5S,EAAM0C,KAAKyL,SAAS0E,cAAgB,+BAAiC,+BACrFC,EAA2B9S,EAAM0C,KAAKyL,SAAS0E,cAAgB,iCAAmC,yBAOlGE,EAAYC,IACVhT,EAAMiT,kBACCjT,EAAMiT,iBAAiBjT,EAAM0C,KAAKyL,SAAU6E,GASrDE,EAAuBA,IACrBlT,EAAMmT,aAEFrT,EAAAA,cAAA,OAAKyK,UAAU,qBACXzK,EAAAA,cAAA,QAAMyK,UAAU,6BAChBzK,EAAAA,cAAA,YACKE,EAAMmT,eAMhB,KA+CLC,EAAsBA,IAEpBpT,EAAM0C,KAAKyL,SAAS0E,cACb,KAIN7S,EAAMQ,QAAQ8B,IAAIC,OAAO8Q,0BAAkF,SAAtDrT,EAAMQ,QAAQ8B,IAAIC,OAAO8Q,0BAI9ExN,GAAYA,EAAQ1B,qBAKrBrE,EAAAA,cAAA,OAAKyK,UAAU,0CACXzK,EAAAA,cAAA,YACK+F,EAAQ1B,4BAXrB,EA0GJ,OACIrE,EAAAA,cAAA,OAAKyK,UAAU,iBACXzK,EAAAA,cAAA,KAAGyK,UAAWqI,EAAexN,KAAMwM,EAAU,aAAce,GACvD7S,EAAAA,cAAC2L,EAAAA,GAAK,CACFzK,eAAgBhB,EAAMQ,QAAQC,cAAcO,eAAc,cAC9C,OACZ2K,IAA0B,QAAvBgG,EAAE3R,EAAMsT,uBAAe,IAAA3B,EAAAA,EAAI,QAAS/F,YAAakG,EAAkBpG,QAASiH,EAC/E9G,aAAc7L,EAAM6L,aAAcC,cAAeA,EAAeC,oBAAoB,WAE5FjM,EAAAA,cAAA,OAAKyK,UAAWuI,GACZhT,EAAAA,cAAA,OAAKyK,UAAU,0BACXzK,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CAAGjJ,UAAU,+BAA+BnF,KAAMwM,GAAgBa,GAC7DE,GAEJzG,EAAAA,gBAAgBC,YAAY4F,GAAqBjS,EAAAA,cAAA,OAAKyK,UAAU,mCAC5DwH,GACI,GACTjS,EAAAA,cAAA,OAAKyK,UAAU,gCACXzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAMgM,EAAc,CAChBlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASsF,UAC7CnM,UAAWtH,EAAM0C,KAAKyL,SAASC,QAEnC,CACA5J,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASuF,oBAC7CpM,UAAWtH,EAAM0C,KAAKyL,SAASwF,WAGvCnT,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,0CAEb6I,KAEJpB,EACAE,EACAD,EACAjS,EAAM4T,iCAAmC9T,EAAAA,cAAA,OAAKyK,UAAU,0BACpD4H,GAEJC,GAjIgByB,MAC7B,MAAMC,EAAQ,GAGRC,EAAgBX,IAIkC,IAAAY,EAAAC,EADnDjU,EAAM0C,KAAKyL,SAAS0E,gBACjB7S,EAAM0C,KAAKmD,SAAW7F,EAAMkU,mBAC5BJ,EAAMxS,KACFxB,EAAAA,cAAA,OAAKyK,UAAU,mCACXzK,EAAAA,cAAA,OAAKyK,UAAU,yCACVyG,EAAUmD,uBAGdjB,IAEDpT,EAAAA,cAACsU,EAAAA,oBAAmB,CAChBvM,GAAI,2BAA2B7H,EAAM0C,KAAKmD,QAAQ5B,0CAChDuN,OAAOxR,EAAM0C,KAAKyL,SAAS+B,iBAAiBsB,OAAOxR,EAAM0C,KAAKyL,SAASkG,UACzEC,IAAsB,QAAnBN,EAAEhU,EAAMuU,mBAAW,IAAAP,EAAAA,EAlBP,GAmBfQ,aAAcxU,EAAMyU,gBACpB1B,SAAUA,EACV2B,uBAAwB1D,EAAU0D,uBAClCC,yBAA0B3D,EAAU2D,yBACpCC,yBAA0B5D,EAAU4D,yBACpC/N,IAAK7G,EAAM0C,KAAKyL,SAASkG,OACzBQ,UAAW7U,EAAM8U,iBACjBC,WAAyC,QAA/Bd,EAAEjU,EAAM0C,KAAKmD,QAAQmI,kBAAU,IAAAiG,EAAAA,EAAIjU,EAAMgV,aACnDzC,iBAAkBvS,EAAMuS,mBAE3BwB,IAITD,EAAMxS,KACFxB,EAAAA,cAAA,OAAKyK,UAAW0K,GAAAA,CAAW,0BAA2B,CAAE,kBAjCrC,IAiCwDjV,EAAM0C,KAAKyL,SAASpK,YAC1FgQ,EACDjU,EAAAA,cAAA,SAAOyK,UAAU,kBACZyG,EAAUmD,sBACV,MAGJjB,IAEDpT,EAAAA,cAAA,QAAMyK,UAAU,kBACXvK,EAAM0C,KAAKyL,SAASpK,aAoCzC,OA7BA+P,EAAMxS,KACFxB,EAAAA,cAAA,OAAKyK,UAAU,kCACXzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAMgM,EAAc,CAChBlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASsF,UAC7CnM,UAAWtH,EAAM0C,KAAKyL,SAASC,QAEnC,CACA5J,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASuF,oBAC7CpM,UAAWtH,EAAM0C,KAAKyL,SAASwF,WAGvCnT,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,wCACVF,kBAAmB2G,EAAU3G,kBAC7BC,iBAAkB0G,EAAU1G,mBA3InCtK,EAAM0C,KAAKyL,SAAS+G,gBAKrBlV,EAAM0C,KAAKyL,SAAS+G,eAFW,EAI3BpV,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,QAAMyK,UAAU,wCACX,GAAGvK,EAAMgR,UAAUmE,oBAAsB,cAE9CrV,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM1C,EAAM0O,YAAc,CACtBlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASQ,mBAEjD,CACAnK,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASiH,yBAC7C9N,UAAWtH,EAAM0C,KAAKyL,SAAS+G,iBAGvC1U,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,yCAzBf,KA+IFvK,EAAMgV,aAAe9C,EAAuB,OAI9C4B,GAkDKD,GAGA7T,EAAM0C,KAAKyL,SAAS0E,eAAiB7S,EAAM0C,KAAK2S,WAAarV,EAAMgR,UAAUsE,sBAAwBxV,EAAAA,cAACyV,EAAAA,oBAAmB,CACrHhL,UAAU,wCACV/J,QAASR,EAAMQ,QACfwQ,UAAWhR,EAAMgR,UAAUsE,qBAC3BD,UAAWrV,EAAM0C,KAAK2S,UACtBlH,SAAUnO,EAAM0C,KAAKyL,0bC7pB7C,SAASqH,EAA8BC,GAAiC,IAAAC,EAAAC,EAAAC,EACpE,IAAKH,IAAgBA,EAAYI,gBAC7B,OAAO,KAGX,MAAMC,EAAiBL,EAAYI,gBAAgB/P,MAAKiQ,IAAc,IAAAC,EAAA,OAA0B,QAAtBA,EAAAD,EAAeE,eAAO,IAAAD,OAAA,EAAtBA,EAAwBE,uBAAwBC,EAAAA,eAAe/M,SACzI,IAAK0M,EACD,OAAO,KAGX,MAAMM,EAA8E,QAAjEV,EAA0B,QAA1BC,EAAGG,EAAeO,gBAAQ,IAAAV,OAAA,EAAvBA,EAAyB7P,MAAKpC,IAA2B,IAAnBA,EAAK4S,mBAAmB,IAAAZ,EAAAA,EAA2B,QAA3BE,EAAIE,EAAeO,gBAAQ,IAAAT,OAAA,EAAvBA,EAA0B,GAClH,OAAOQ,MAAAA,EAAAA,EAAiB,KA2B5B,SAASG,EAAiBC,EAA+BC,EAA2BC,GAChF,MAAMC,EAAY,IAAIC,IAAIJ,EAAuBC,EAAY3R,QAAQtD,YAAYqV,SAC7EF,EAAUG,OACVH,EAAUG,QAAU,IAAIJ,IAExBC,EAAUG,QAAUJ,EAIxB,OADmB,IAAIE,IAAID,EAAUvR,MACnB2R,SAAWJ,EAAUG,OAQ3C,SAASE,EAA2BjD,GAChC,OAAKA,EAIDjU,IAAAA,cAAA,OAAKyK,UAAU,gCACXzK,IAAAA,cAAA,YACKiU,IALF,KAoQf,SAASkD,EACLlO,EACAvE,EACA0S,EACAC,EACAC,EACAC,GACA,MAAMC,EAA2BC,EAAmBH,EAAaC,MAAAA,EAAAA,EAA4B,IAC7F,MACI,GAAGtO,MAAAA,EAAAA,EAAQ,MAAMvE,MAAAA,EAAAA,EAAS,MAAMgT,EAAmBN,EAAQC,KAAuBG,EAA2B,IAAIA,IAA6B,KAUtJ,SAASE,EAAmBN,EAAiBO,GACzC,GAAIP,GAAUO,EAAiB,CAC3B,MAAMC,EAAgBR,EAAOjL,QAAQ,GACrC,OAAO0L,EAAAA,EAAAA,QAAOF,GAAmB,GAAIC,EAAe,KAExD,MAAO,GAGX,SAASH,EAAmBH,EAAsBC,GAC9C,OAAID,GAAeC,GACRM,EAAAA,EAAAA,QAAON,GAA4B,GAAID,GAE3C,GA4BX,SAASQ,EAAYpX,EAAuB2J,EAAkBtC,EAAYgQ,EAAoBC,EAAwBC,EAAsB3N,EAAwBC,EAA4BC,EAA2B0N,EAAgCC,GACvP,MAAMzT,EAAsB,CACxB8C,UAAWuQ,EACXpT,cAAeqT,EACfvQ,wBAAyBuQ,GAG7B,OACIhY,IAAAA,cAACoK,EAAAA,eAAc,CACX1J,QAASA,EACTqH,GAAIA,EACJsC,SAAUA,EACVzH,KAAM,CAAE8B,MAAAA,GACRuT,YAAaA,EACb3N,cAAeA,EACfC,kBAAmBA,EACnB2N,qBAAsBA,EACtBC,eAAgBA,IAK5B,SAASC,EAA4BpM,EAAgCD,EACjEsM,EAAmBrG,EAA2BpG,EAC9ClL,GACA,IAAK2X,IAAatM,IAAiBC,EAC/B,OAAO,KAEX,MAAMsM,EAAkB,CACpBzM,IAAKwM,EACLzM,QAASA,GAAoB,GAC7BE,YAAakG,GAEXuG,EAAa,CACfxM,aAAAA,EACAC,cAAAA,GAGJ,OADAuM,EAAWvM,cAAcX,iBAAkB,EAEvCrL,IAAAA,cAAC2L,EAAAA,GAAK8H,OAAAC,OAAA,CACFxS,eAAgBR,MAAAA,OAAO,EAAPA,EAASC,cAAcO,gBAAoBoX,EAASC,EAAU,CAC9EtM,oBAAoB,WAIzB,MAAMuM,EAAoEC,EAAAA,GAAiBC,wBAC9F,+WAAS9R,CAAA,CACP+R,UAzTgDC,IAoBjD,IAAAhH,EAAAiH,EAAAC,EAAAC,EAAA,IApBkD,KACnDnW,EAAI,QACJlC,EAAO,cACPsL,EAAa,YACbiM,EAAW,cACX3N,EAAa,kBACbC,EAAiB,iBACjBC,EAAgB,gBAChBmN,EAAe,qBACfqB,EAAoB,UACpBC,EAAS,SACT5O,EAAQ,GACRtC,EAAE,iBACF0K,EAAgB,gBAChByG,EAAe,4BACfC,EAA2B,qBAC3BjB,EAAoB,eACpBC,EAAc,eACdiB,EAAc,wBACdC,GACHT,EACG,MAAM7S,EAAUnD,EAAKmD,QAErB,IAAI+L,GAAawH,EAAAA,EAAAA,uBAAmC,QAAd1H,EAAC7L,MAAAA,OAAO,EAAPA,EAAS2E,YAAI,IAAAkH,EAAAA,EAAI,GAAqB,QAAnBiH,EAAE9S,MAAAA,OAAO,EAAPA,EAAS5B,gBAAQ,IAAA0U,EAAAA,EAAIlP,OAAO4P,UAAW7Y,EAAQC,mBAAeyB,GACtH6W,IACAnH,EAAa2E,EAAiB3E,EAAYpR,EAAS,cAEvD,MAAM8Y,EAAsF,QAA7DV,EArHnC,SAAkDnC,EAA2BhB,GAGzE,GAFoBgB,EACkCnU,IAAIC,OAAOgX,oCACvBpD,EAAAA,eAAeqD,KACrD,OAAO/D,MAAAA,OAAW,EAAXA,EAAa7O,gBAExB,MAAMwP,EAAgBZ,EAA8BC,GACpD,OAAOW,GAAiBlK,EAAAA,gBAAgBC,YAAYiK,EAAcqD,mBAAoBC,EAAAA,EAAAA,kBAClFtD,EAAcqD,iBAAiB,GAAIhD,EAAY3R,QAAQtD,aAAeiU,MAAAA,OAAW,EAAXA,EAAa7O,gBA6GrD+S,CAAyCnZ,EAASqF,UAAQ,IAAA+S,EAAAA,EAAI/S,MAAAA,OAAO,EAAPA,EAASe,gBACnGgT,EAA2F,QAAnEf,EA5ClC,SAA4CpC,EAA2B7E,EAAoB6D,GAGvF,GAFoBgB,EACkCnU,IAAIC,OAAOgX,oCACvBpD,EAAAA,eAAeqD,KACrD,OAAO5H,EAGX,MAAMwE,EAAgBZ,EAA8BC,GACpD,OAAKW,GAAkBA,EAAcyD,YAK9BtD,EAAiB3E,EAAY6E,EADhB,SAASL,EAAcyD,eAHhCjI,EAmCsBkI,CAAmCtZ,EAASoR,EAAY/L,UAAQ,IAAAgT,EAAAA,EAAIjH,GAC9FmI,EAAiBH,EAA0BI,IAAqBC,EAAAA,EAAAA,aAChEC,EAAkBZ,EAA2Ba,IAAsBF,EAAAA,EAAAA,aACnEG,IAAuBH,EAAAA,EAAAA,UAAS,IAAII,EAAAA,YAErCC,EAAmB9Z,EAAQ8B,IAAIC,OAAO+X,iBAOtCC,EAAwBza,IAAAA,aAAkB,CAAC2W,EAA2B+D,KACxE,MAAMC,EAAgBD,EAAWC,cAEjC,GADAL,EAAoBM,SAASD,EAAeD,GACxCG,EAAAA,iBAAiBC,mBAAmBJ,EAAWtS,OAC/C,OAEJ,MAAMwO,EAAc,GAAG+D,KAAiBD,EAAWtS,QACnD,IAAI2S,EAA2B,GAC/B,GAAId,EAAee,SAASL,GAAgB,CACxC,MAAMM,EAAS,IAAInE,IAAImD,EAAgBtD,EAAY3R,QAAQtD,YAAYqV,SACvEkE,EAAOC,aAAaC,OAAOR,GAC3BI,EAA2BtE,EAAiBwE,EAAOvI,WAAYhS,EAASkW,QAExEmE,EAA2BtE,EAAiBwD,EAAgBvZ,EAASkW,GAGzE,GADAsD,EAAkBa,GACdJ,IAAkBtE,EAAAA,eAAe/M,MAAO,CACxC,MAAM8R,EAAwBhP,EAAAA,gBAAgBC,YAAYqO,EAAWW,kBAAoBX,EAAWW,iBAAiB,QAAKjZ,EACpHkZ,GAAc1B,EAAAA,EAAAA,kBAAiBwB,EAAuBzE,EAAY3R,QAAQtD,aAChF2Y,EAAmBiB,MAExB,CAAChB,EAAqB5Z,EAASuZ,IAElC,IAAKlU,EACD,OAAO,KAsFX,MAAMwM,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAmB,GAAI1M,EAAQ5B,SAASuO,YAE5E6I,GAAY3I,EAAAA,EAAAA,wBAAuBH,EAAmBF,GAGtDiJ,EAAyB9a,EAAQ8B,IAAIC,QAA0D,oBAAhD/B,EAAQ8B,IAAIC,OAAO8Q,yBAExE,OACIvT,IAAAA,cAAAA,IAAAA,SAAA,KACKmZ,EAA8BnZ,IAAAA,cAAA,IAAAyT,OAAAC,OAAA,CAC3BpO,KAAM2U,EACNtP,SAAS8Q,EAAAA,EAAAA,kBAAiBhJ,EAAmBF,EAASxM,EAAQ2E,MAAM,aACxDyM,EACRpR,EAAQ2E,KACRhK,EAAQgb,iBAAiBC,eAAe5V,EAAQuI,OAChDvI,EAAQ6V,cAAejE,EACvB5R,EAAQ8V,aAAc7C,GAC1BvO,UAAU,eAAkB8Q,GAC5Bvb,IAAAA,cAAA,OAAKyK,UAAU,mCACXzK,IAAAA,cAAA,OAAKyK,UAAU,sBACV2N,EAA4BpM,EAAetL,EAAQsE,QAAQ+G,aAAcqO,EACtErU,EAAQe,gBAAiBf,EAAQ2E,KAAMhK,IAE/CV,IAAAA,cAAA,OAAKyK,UAAU,kCACXzK,IAAAA,cAAA,MAAIyK,UAAU,4BACT1E,EAAQ2E,MAEZoN,EAAYpX,EAAS2J,EAAUtC,EAAIhC,EAAQyB,UAAWzB,EAAQuI,MAAO2J,EAAa3N,EAAeC,EAAmBC,EAAkB0N,EAAsBC,GAC5JqD,GAA0BtE,EAA2BnR,EAAQ1B,uBA0C3DyX,EAzCgB/V,EAAQ4L,YA0CvC3R,IAAAA,cAAA,KAAGyK,UAAU,qBAChBqR,OAxCU9b,IAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACHpO,KAAM2U,EACNtP,SAAS8Q,EAAAA,EAAAA,kBAAiBhJ,EAAmBF,EAASxM,EAAQ2E,MAAM,aACxDyM,EAAYpR,EAAQ2E,KAAMhK,EAAQgb,iBAAiBC,eAAe5V,EAAQuI,OAClFvI,EAAQ6V,cAAejE,GAC3BlN,UAAU,eAAkB8Q,GAC5Bvb,IAAAA,cAAA,OAAKyK,UAAU,sBACV2N,EAA4BpM,EAAetL,EAAQsE,QAAQ+G,aAAcqO,EAAiBrU,EAAQe,gBAAiBf,EAAQ2E,KAAMhK,IAEtIV,IAAAA,cAAA,OAAKyK,UAAU,wBACXzK,IAAAA,cAAA,MAAIyK,UAAU,sBACT1E,EAAQ2E,MAEZoN,EAAYpX,EAAS2J,EAAUtC,EAAIhC,EAAQyB,UAAWzB,EAAQuI,MAAO2J,EAAa3N,EAAeC,EAAmBC,GACpHgR,GAA0BtE,EAA2BnR,EAAQ1B,yBA/G7C0X,EAkHAhW,EAAQgQ,iBA5GjC/V,IAAAA,cAAA,OAAKyK,UAAU,2BAEPsR,EAAgB3a,KAAKwC,IAAwB,IAAAoY,EAAAC,EAAAC,EAAAC,EACzC,MAAMC,EAAsD,QAApCJ,EAAe,QAAfC,EAAGrY,EAAKuS,eAAO,IAAA8F,OAAA,EAAZA,EAAc7F,2BAAmB,IAAA4F,EAAAA,EAAI,GAChE,IAvBpB,SAAgCrB,GAC5B,MACM0B,EADoB3b,EACiC8B,IAAIC,OAAO6Z,wBACtE,OAAOlQ,EAAAA,gBAAgBC,YAAYgQ,KAC9BA,EAAiCrB,SAAS3E,EAAAA,eAAeqD,OAC1D2C,EAAiCrB,SAASL,EAAcvE,qBAkBvCmG,CAAuBH,GACxB,OAAO,KAGX,MACM3C,EADc/Y,EACkC8B,IAAIC,OAAOgX,kCAC3DkB,EAAgByB,EAChBI,EAYJ,QAZYN,EAAgB,QAAhBC,EAAGvY,EAAK2S,gBAAQ,IAAA4F,OAAA,EAAbA,EAAe/a,KAAiBsZ,IAAa,IAAA+B,EAAAC,EAAAC,EAAAC,EAC1D,MAAO,CACHC,OAAQ,GAAgB,QAAhBJ,EAAG7Y,EAAKO,gBAAQ,IAAAsY,EAAAA,EAAI,MAAML,KAA4C,QAA1BM,EAAIhC,EAAWX,mBAAW,IAAA2C,EAAAA,EAAI,KAClFtU,MAA6B,QAAxBuU,EAAEjC,EAAWX,mBAAW,IAAA4C,EAAAA,EAAI,GACjChC,cAAAA,EACAmC,aAAcpC,EAAWqC,mBACzB1E,SAAUqC,EAAWsC,eACrB3B,iBAAkBX,EAAWf,iBAC7BsD,UAAWvC,EAAWlE,UACtB0G,WAAY1C,IAAoBnB,MAAAA,GAC4D,QADrCuD,EAAvBvD,EAAyBrT,MACrDmX,IAAqB,IAAAC,EAAA,OAAID,EAAsB/U,SAAiC,QAA5BgV,EAAM1C,EAAWX,mBAAW,IAAAqD,EAAAA,EAAI,cAAI,IAAAR,OADrC,EAAvBA,EAC8DM,uBAEpG,IAAAhB,EAAAA,EAAI,GAKN,OAJIzC,IAAsCpD,EAAAA,eAAeqD,MAAQtN,EAAAA,gBAAgBC,YAAYmQ,KACxFA,EAASlM,MAAK+M,GAAUA,EAAOJ,aAActC,IAAkBtE,EAAAA,eAAe/M,QAC/EkT,EAAS,GAAGS,WAAY,GAGxBjd,IAAAA,cAACsd,EAAAA,gCAA+B,CAC5B5c,QAASA,EACT8b,SAAUA,EACVe,kBAAmB9C,EACnB1T,IAAKnD,EAAKO,eArCvB,MAiHLzD,EAAQ8B,IAAIC,OAAO+a,YAyCjC,SAAsB7G,EAA2B8G,EAAwBC,EAAkBC,EACvFC,EAAuBC,EAAoB7E,GAC3C,IAAK2E,EACD,OAAO,KAGX,MAAMG,GAAgBF,MAAAA,OAAY,EAAZA,EAAclL,kBAActQ,EAC5CiV,EAAsBK,EAAmBiG,EAAWE,GACpDtG,EAA2BE,EAAmB9N,OAAOmU,GAAgB9E,GAE3E,OACIhZ,IAAAA,cAAC+d,EAAAA,gBAAe,CACZrd,QAASiW,EACT5O,GAAI2V,EACJrT,SAAUoT,EACVE,UAAWA,EACXK,YAAaF,EACbG,UAAQ,EACRJ,UAAWxG,EACX2B,qBAAsBzB,EACtB3U,KAAM,KA7D6Bsb,CAAaxd,EAAS2J,EAAUtC,EAAIhC,EAAQ6V,cAAe7V,EAAQ8V,aAAclE,EAAiBqB,IA7O9GmF,EA8OI/E,IA7O+B,KAA/B+E,EAK/Bne,IAAAA,cAAA,OAAKyK,UAAU,6BACXzK,IAAAA,cAAA,YACKme,IANF,KA6OFjF,GArET,SAAyBkF,EAA4Bxa,GACjD,GAAkB,OAAdwa,EACA,OAEJ,MAAMC,EAAyC/D,EAAoBgE,YAAYld,KAAsBob,IAC1F,CACHjP,oBAAoBgR,EAAAA,EAAAA,4CAA2C/B,EAAS7B,eACxEhN,eAAgB,CACZxJ,SAAU,EACVyJ,MAAO4O,EAASpU,WAI5B,OAAOpI,IAAAA,aAAmBoe,EAAiC,CAAEI,kBAAmB5a,EAAMya,mBAAAA,IAwD9DI,CAAgBvF,EAAiBnT,EAAQ5B,WA/OzE,IAAmCga,EA0HEpC,EAuIVD,IAjVG,KAib9B,qwBC9bM,MAAO4C,UAAmB1e,EAAAA,cAG5BC,YAAmBC,GACfC,MAAMD,GAFF,KAAAye,YAAc,IAAIC,MAAM,cAAe,CAAEC,SAAS,EAAMC,YAAY,EAAMC,UAAU,IAiH3E,KAAAC,uBAAyB,KAEtC,MACMC,EAA4CC,SAASC,cAAc,oBACnEC,EAAgBH,EAAwBA,EAAsBI,aAF/C,EAKfC,EAAgBJ,SAASC,cAAc,6BACzCG,IACIC,EAAAA,GAASC,WAAaN,SAASO,gBAAgBC,UAPlC,GAQbJ,EAAcK,UAAUC,IAAI,eAC5BN,EAAcK,UAAUC,IAAI,WAE5BN,EAAcK,UAAUE,OAAO,eAC/BP,EAAcK,UAAUE,OAAO,WAKvC,MAAMC,EAAmCZ,SAASC,cAAc,8BAC1DY,EAAiCb,SAASC,cAAc,oBAE9D,GAAIW,GAAgBC,EAAY,CAE5B,MAAMC,EAAeD,EAAWV,aAAeD,EAC3CG,EAAAA,GAASC,WAAaN,SAASO,gBAAgBC,UAAYM,EAC3DF,EAAaH,UAAUC,IAAI,SAE3BE,EAAaH,UAAUE,OAAO,WAKzB,KAAAI,gBAAkB5f,UAC/B,MAAMC,QAAwBC,EAAAA,EAAAA,IAAuB,CAAEC,cAAeC,KAAKP,MAAMQ,QAAQC,cAAeC,oBAAqB,KACzHN,EAAWO,SAAWP,EAAWO,QAAQC,OAAS,GAClDL,KAAKuB,SAAS,CAAEke,UAAW5f,EAAWO,QAAQC,UA4CrC,KAAAqf,oBAAuBjgB,IAEpC,MAAM,mCACFkgB,EAAkC,0CAClCC,EAAyC,0BACzCC,EAAyB,YACzBC,EAAW,WACXC,EAAU,aACVC,GACAvgB,EACJ,GAAIkgB,EAAoC,CACpC,MAAMM,EAAmBC,GAAAA,CAAWP,EAAmC3V,UAAW,mBAClF,GAAI4V,EACA,OACIrgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0M,EAAkC,CAAE3V,UAAWiW,IACpDJ,EACDtgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK2M,KACLI,GAAeA,EAAarf,KAAKwf,GAA0BA,IAC3DL,IAIV,GAAIC,EACP,OACIxgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0M,EAAkC,CAAE3V,UAAWiW,IACrD1gB,EAAAA,cAAA,QAAM2K,QAASlK,KAAKogB,eAAgBL,IAKpD,OAAO,MAEM,KAAAK,cAAiBC,IAC9Brb,QAAQC,IAAI,iBACRxC,OAA8B,uBAC9B4d,EAAMC,iBAEV7d,OAAO8d,cAAcvgB,KAAKke,cAOb,KAAAsC,qBAAwBtb,GAEjC3F,EAAAA,cAAAA,EAAAA,SAAA,KACKoM,EAAAA,gBAAgBC,YAAY1G,GACvBA,EAAMvE,KAAK8f,GACAlhB,EAAAA,cAAAA,EAAAA,SAAA,KAAGkhB,KAEd,MAjPdzgB,KAAK0gB,SAAWnhB,EAAAA,YAChBS,KAAKiD,MAAQ,CACTwc,UAAW,GAIZkB,oBACC3gB,KAAKP,MAAMuC,OAAO4e,kBAEd9B,EAAAA,GAASC,WACTtc,OAAOoe,iBAAiB,UAAU,KAC9B7gB,KAAKue,4BAGbve,KAAKue,0BAELve,KAAKP,MAAM0C,KAAK2e,mBAAmBC,SAAW/gB,KAAKP,MAAM0C,KAAK2e,mBAAmBC,OAAOC,OACnFhhB,KAAKwf,kBAEd/c,OAAOoe,iBAAiB,YAAYR,IAChCrgB,KAAKuB,SAAS,CAAEke,UAAWzf,KAAKiD,MAAMwc,UAAY,OAInDnW,SAEH,MAAM,UACF2X,EAAS,gBACTC,EAAe,sBACfC,EAAqB,QACrBC,EAAO,oBACPC,EAAmB,wBACnBC,EAAuB,yBACvBC,GACAvhB,KAAKP,MAEH+hB,EAASxhB,KAAKP,MAAM0C,KAAK2e,mBAAmBC,OAC5CU,EAAQzhB,KAAKP,MAAM0C,KAAK2e,mBAAmBC,QAAU/gB,KAAKP,MAAM0C,KAAK2e,mBAAmBC,OAAOC,MAC/FU,GAAWC,EAAAA,EAAAA,IAAW,OAAQ3hB,KAAKP,MAAMQ,QAAQC,eAGvD,OAFA8E,QAAQC,IAAI,yBAA0Byc,GAGlCniB,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKgO,GACR1hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKiO,GACN3hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKkO,GAIN5hB,EAAAA,cAAA,OAAKyK,UAAU,4BAA4BhK,KAAKP,MAAMoiB,SACrD7hB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM8W,QACrCvW,KAAK8hB,qBACL9hB,KAAK+hB,oBAEL/hB,KAAKP,MAAMuiB,eACXhiB,KAAK0f,oBAAoB1f,KAAKP,OAC/BF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKmO,IAETphB,KAAKP,MAAMwiB,oBACXT,IAAWC,GACRliB,EAAAA,cAAA,KAAGsF,KAAM6c,GACLniB,EAAAA,cAAA,QAAMyK,UAAU,mBAAiB,IAE3BhK,KAAKiD,MAAMwc,UAAS,MAIjC+B,GAAUC,GACPliB,EAAAA,cAAA,KAAGsF,KAAM6c,GACLniB,EAAAA,cAAA,QAAMyK,UAAU,mBACXhK,KAAKP,MAAMyiB,WAKxB3iB,EAAAA,cAAA,OAAKyK,UAAU,4BAA4BmY,IAAKniB,KAAK0gB,UAChD1gB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM2iB,UAEzCpiB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM4iB,cAE1C9iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoO,GACN9hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKqO,GACLthB,KAAKP,MAAM6iB,iBACXtiB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM2iB,SACtC7iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKsO,KACLvhB,KAAKP,MAAMugB,cAAehgB,KAAKP,MAAMugB,aAAarf,KAAIwf,GAAQA,IAC9DngB,KAAKP,MAAM4iB,YACXriB,KAAKP,MAAM8iB,mBACXviB,KAAKP,MAAMsgB,WACX/f,KAAKP,MAAMqgB,YACX0B,IAAWC,GACRliB,EAAAA,cAAA,KAAGsF,KAAM6c,GACLniB,EAAAA,cAAA,QAAMyK,UAAU,mBAAiB,IAAGhK,KAAKiD,MAAMwc,UAAS,MAG/D+B,GAAUC,GACPliB,EAAAA,cAAA,KAAGsF,KAAM6c,GACLniB,EAAAA,cAAA,QAAMyK,UAAU,mBAAmBhK,KAAKiD,MAAMwc,iBAsD1EsC,oBACJ,MAAM,OAAE/f,EAAM,QAAE/B,EAAO,SAAE2J,GAAa5J,KAAKP,MACrC+iB,EAAQrc,EAAA,GAAanE,EAAOygB,iBAElC,OADAD,EAASpX,IAAMpJ,EAAO0gB,WAElBnjB,EAAAA,cAACojB,EAAAA,KAAI3P,OAAAC,OAAA,GACG,CACAkN,KAAMne,EAAO4gB,SACbC,MAAOL,MAAAA,EAAAA,EAAY,GACnBxY,UAAW,yBACXsB,aAAcrL,EAAQsE,QAAQ+G,aAC9B7K,eAAgBR,EAAQsE,QACxBqF,SAAAA,KAKRkY,qBACJ,MAAM,OAAE9f,EAAM,QAAE/B,EAAO,SAAE2J,GAAa5J,KAAKP,MACrC+iB,EAAQrc,EAAA,GAAQnE,EAAO8gB,WAE7B,OADAN,EAASpX,IAAMpJ,EAAO0gB,WAElBnjB,EAAAA,cAACojB,EAAAA,KAAI3P,OAAAC,OAAA,GACG,CACAkN,KAAMne,EAAO4gB,SACbC,MAAOL,MAAAA,EAAAA,EAAY,GACnBxY,UAAW,kBACXsB,aAAcrL,EAAQsE,QAAQ+G,aAC9B7K,eAAgBR,EAAQsE,QACxBqF,SAAAA,MAoEpB,4GChQA,MAwEA,EArBgGnK,IAC5F,MAAM,QAAEsjB,EAAO,eAAEC,EAAc,eAAEC,EAAc,YAAEC,EAAW,KAAE/gB,EAAI,UAAEsO,GAAchR,EAC5EQ,EAAUR,EAAMQ,QAChB2J,EAAWnK,EAAMmK,SACjBqT,EAAWxd,EAAM6H,GAEvB,OACI/H,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKiQ,GACPH,EACDxjB,EAAAA,cAAA,OAAKyK,UAAU,mCA1CLmZ,EAAChhB,EAA6BlC,EAAuB2J,EAAkBwZ,EAAqB3S,KAAyC,IAAA4S,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACvJ,MACMC,EAAuD,QAA3CN,EAA6B,QAA7BC,EAAGnhB,EAAKyhB,eAAe7C,cAAM,IAAAuC,OAAA,EAA1BA,EAA4BK,oBAAY,IAAAN,EAAAA,EADxB,EAE/BQ,EAAqBpT,EAAUqT,uBAAwB1M,EAAAA,EAAAA,QAAO3G,EAAUqT,sBAAuBH,GAAgB,GAAGA,YAExH,OACIpkB,EAAAA,cAAA,OAAKyK,UAAU,iCACXzK,EAAAA,cAAA,OAAKyK,UAAU,0CACgB,QADwBuZ,EAClDphB,EAAKyhB,eAAe7C,cAAM,IAAAwC,OAAA,EAA1BA,EAA4BJ,eAEjC5jB,EAAAA,cAAA,WACIA,EAAAA,cAAC+d,EAAAA,gBAAe,CACZrd,QAASA,EACTqH,GAAI8b,EACJxZ,SAAUA,EACVsT,UAAoD,QAA3CsG,EAA4B,QAA5BC,EAAEthB,EAAKyhB,eAAe7C,cAAM,IAAA0C,OAAA,EAA1BA,EAA4BN,qBAAa,IAAAK,EAAAA,EAd/B,EAerBhG,UAAQ,EACRJ,WAAWhG,EAAAA,EAAAA,QAAO3G,EAAUsT,uBAAkD,QAA5BL,EAAEvhB,EAAKyhB,eAAe7C,cAAM,IAAA2C,OAAA,EAA1BA,EAA4BP,cAAe,KAC/FhhB,KAAM,MAGd5C,EAAAA,cAAA,OAAKyK,UAAU,0CACV6Z,KAqBAV,CAAchhB,EAAMlC,EAAS2J,EAAUqT,EAAUxM,GAClDlR,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKgQ,GACLD,EAAeriB,KAAIwC,GA/DjB1D,CAAAA,GAEfF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMukB,aACXvkB,EAAMwkB,UACNxkB,EAAMykB,KA4DYC,CAAchhB,oFC3DxCihB,+CAAL,SAAKA,GACDA,EAAAA,EAAA,4DACAA,EAAAA,EAAA,+EACAA,EAAAA,EAAA,+EAHJ,CAAKA,IAAAA,EAAmB,KAWxB,MAAMC,EAAsB5kB,GAEpBF,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM6kB,mBACX7kB,EAAMmT,aACNnT,EAAM4B,UAYnB,SAASkjB,EAAkBC,EAAqDlf,GAC5E,IAAKkf,IAAoC7Y,EAAAA,gBAAgBC,YAAYtG,EAAQgQ,iBACzE,OAEJ,MAAMmP,EAAqBnf,EAAQgQ,gBAAgB/P,MAAKuV,GAAaA,EAAUpX,WAAa8gB,IAC5F,OAAIC,EACOA,EAAmBC,eAD9B,EAcJ,MAAMC,EAAgCA,CAClCllB,EACA6F,EACAF,EACAsT,KAA6D,IAAAkM,EAAAC,EAC7D,MAAM,OAAE7iB,EAAM,QAAE/B,EAAO,UAAEwQ,GAAchR,EACjCuS,GAAmB8S,EAAAA,EAAAA,oBAAmBrlB,EAAMQ,QAAQsE,QAAQwgB,kBAAoBtlB,EAAMulB,aAAcvlB,EAAMwlB,WAC1GC,EAAiBzlB,EAAMQ,QAAQ8B,IAAIC,OAAOmjB,eAC1CC,EAAc3lB,EAAMuC,OAAOqjB,sBAA2C,SAAnBH,GAAgD,oBAAnBA,GAChFI,EAAY5M,EAA8B,sDAAwD,iCAClG6M,EAAgB5Z,EAAAA,gBAAgBC,YAAYnM,EAAMoM,MAAM8R,WAAale,EAAMoM,MAAM8R,UAAU,QAAKhc,EAChG6iB,EAA4D,QAA7BI,EAAGnlB,EAAM0C,KAAKd,SAAS0f,cAAM,IAAA6D,OAAA,EAA1BA,EAA4BJ,gCAC9DgB,EAA0D,QAAjCX,EAAGplB,EAAM0C,KAAKsjB,aAAa1E,cAAM,IAAA8D,OAAA,EAA9BA,EAAgCtf,MAC9DkgB,GAAsC,0DAAtBA,EAAaxb,OAC3ByN,EAA2C,CAC7CgO,oBAAqBjV,EAAUiV,qBAEnC,OACInmB,IAAAA,cAAA,MAAIyK,UAAWsb,EAAWhf,IAAKlB,GAC3B7F,IAAAA,cAACwY,EAAAA,iBAAgB,CACb9X,QAASA,EACT+R,iBAAkBA,EAClBzG,cAAevJ,EAAOuJ,cACtB1B,cAAe4G,EAAUkV,UACzB7b,kBAAmB2G,EAAU3G,kBAC7BC,iBAAkB0G,EAAU1G,iBAC5BmN,gBAAiBzG,EAAUyG,gBAC3BsB,UAAW4M,EACX9d,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBzH,KAAM,CAAEmD,QAAAA,GACRmT,gBAAiB8M,EACjB7M,4BAA6BA,EAC7BC,eAAgB4L,EAAkBC,EAAiClf,GACnEmS,qBAAsB+N,MAAAA,OAAyB,EAAzBA,EAA2BI,UACjDlO,eAAgBA,MAW1BmO,EAAkBpmB,IAAgG,IAAAqmB,EACpH,MAAMzkB,EAA0C,QAAlCykB,EAAGrmB,EAAM0C,KAAK4jB,cAAchF,cAAM,IAAA+E,OAAA,EAA/BA,EAAiCE,eAClD,IAAK3kB,IAAasK,EAAAA,gBAAgBC,YAAYvK,GAC1C,OAAO,KAEX,MAAM4kB,EAAqC7B,EAAoB6B,2BACzDC,EAA+C9B,EAAoB8B,qCACnEC,EAA+C/B,EAAoB+B,qCACzE,OACI5mB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM6kB,mBACX7kB,EAAMmT,aACPrT,IAAAA,cAAA,MAAIyK,UAAU,iBACT3I,EAASV,KAAI,CAAC2E,EAA8BF,IAE2Cuf,EAA8BllB,EAAO6F,EACjHF,EAFPA,EAAQ6gB,IAA+BC,GACnC9gB,EAAQ6gB,IAA+BE,QAa1DC,EAAoB3mB,IACtB,MAAM,MAAEuL,EAAK,eAAEqb,GAAmB5mB,EAClC,OACIF,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoT,GACLrb,EAAMsb,aAUbC,EAA2B9mB,IAC7B,MAAM,2BAAE+mB,EAA0B,sBAAEC,EAAqB,2BAAEC,GAA+BjnB,EAC1F,OAAIgnB,EAEIlnB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKuT,GACLC,EAAsB9lB,KAAI,CAACgmB,EAAUvhB,IAClC7F,IAAAA,cAACA,IAAAA,SAAc,CAAC+G,IAAKlB,GAChBuhB,EACAF,EAAsBrhB,EAAQ,IAAMshB,MAOlD,MAwFLE,EAA0BA,CAACC,EAAyCC,EAAkCC,EACxGC,IACOznB,IAAAA,aAAmBsnB,EAAWI,MAAO,GAAIJ,EAAWK,YAAaC,EAAgBN,EAAYC,EAAYC,EAC5GC,GAAmBH,EAAWO,aAkChCD,EAAkBA,CAAC1nB,EAAoCqnB,EACzDC,EAAkCC,IAC9BD,EACOxnB,IAAAA,aAAmBE,EAAM4nB,UAAW,GAAIC,EAAWP,EAAgBC,GA7BrDvnB,CAAAA,IACzB,MAAM,SAAE8nB,EAAQ,oBAAEC,EAAmB,wBAAEC,GAA4BhoB,EACnE,OAAI8nB,EAEIhoB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKwU,GACNloB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKuU,GACLD,EAAS5mB,KAAI,CAAC+mB,EAAStiB,IACpB7F,IAAAA,cAACA,IAAAA,SAAc,CAAC+G,IAAKlB,GAChBsiB,OAOlB,MAc0FC,CAAoBb,IAE9G,KAQLc,EAAiBnoB,IACnB,MAAM,SAAE8nB,EAAQ,oBAAEC,EAAmB,wBAAEC,GAA4BhoB,EACnE,OAAI8nB,EAEIhoB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKwU,GACNloB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKuU,GACLD,EAAS5mB,KAAI,CAAC+mB,EAAStiB,IACpB7F,IAAAA,cAACA,IAAAA,SAAc,CAAC+G,IAAKlB,GAChBsiB,OAOlB,MASLJ,EAAaA,CAAC7nB,EAAyBunB,KACzC,MAAM,iBAAEa,EAAgB,eAAEd,GAAmBtnB,EAC7C,OAAIsnB,IAAmBC,EAEfznB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4U,GACLd,GAIN,MAQLe,EAAeroB,IACjB,MAAM,MAAEuL,EAAK,eAAEqb,GAAmB5mB,EAClC,OAAIuL,EAEIzL,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoT,GACN9mB,IAAAA,cAACwM,EAAAA,KAAI,CAACgc,IAAI,KAAK/d,UAAU,IACpBgB,EAAMgd,YACNhd,EAAMid,YAKhB,MAGX,EA1L+GxoB,IAAQ,IAAAyoB,EACnH,MAAM,sBAAEC,EAAqB,WAAEC,EAAU,wBAAEC,EAAuB,cAAEC,EAAa,SAAEC,EAAQ,YAAEC,EAAW,kBAAEC,EAAiB,eAAEC,EAAc,WACvI5B,EAAU,kBAAE6B,EAAiB,cAAEC,EAAa,qBAAEC,EAAoB,iCAAEC,EAAgC,uBAAEC,EAAsB,mBAC5HC,EAAkB,aAAEpW,EAAY,UAAEnC,GAAchR,GAC7CwpB,EAAYC,IAAiBxP,EAAAA,EAAAA,WAAkB,GAIhDsN,EAAmE,QAAnDkB,EAAGzoB,EAAMQ,QAAQC,cAAcO,eAAe0oB,aAAK,IAAAjB,OAAA,EAAhDA,EAAkDkB,eAC3E,OAAIb,EAEIhpB,IAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKkV,GACPa,EAAqB,KAAOzpB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4V,GAClCtC,EAAwBoC,GACxBb,EAAYY,GACZtC,EAAiBsC,IAErBJ,EACD/oB,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,2BACXwe,GAEJ5B,EAAwB6B,EAAmB3B,EAAY8B,EAAe5B,GACvEznB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK8V,GACLC,GAEJpW,EACAnT,EAAMuC,OAAOqnB,wBAA0BxD,EAAepmB,GAAS4kB,EAAmB5kB,GAClF2oB,GAKT7oB,IAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKkV,GACPa,EAAqB,KAAOzpB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4V,GAClCF,GAAqBpC,EAAwBoC,GAC7CD,GAAkBZ,EAAYY,GAC9BA,GAAkBtC,EAAiBsC,IAExCnpB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK8V,GACLC,GAELzpB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK6V,GACNvpB,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,sBACZzK,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,4BACZzK,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWif,EAAa,oCAAsC,qCAAoC,aACvF,SACX/e,QA1CTof,KACXJ,GAAeD,IAyCoB,gBACAA,EACfM,SAAU,GAET9Y,EAAU+Y,YAEfjqB,IAAAA,cAAA,OAAKyK,UAAU,iDACVse,GAEL/oB,IAAAA,cAAA,OAAKyK,UAAU,6CACV4e,IAAkB5B,GAAoBM,EAAWsB,KAGzD9B,GAAcmC,GAAcrB,EAAcd,IAE/CvnB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoV,GACLzV,EACAnT,EAAMuC,OAAOqnB,wBAA0BxD,EAAepmB,GAAS4kB,EAAmB5kB,GAClF2oB,+NC9KrB,SAAS3K,EACLxd,EACA2J,EACA6f,EACAvM,EACAC,EACAC,GAAkB,IAAAsM,EAElB,IAAKxM,EACD,OAAO,KAGX,MAAMG,EAAwC,QAA3BqM,EAAGvM,MAAAA,OAAY,EAAZA,EAAclL,kBAAU,IAAAyX,EAAAA,OAAI/nB,EAC5CuV,EAhCV,SAA4BP,EAAiBO,GAEzC,GAAIP,GAAUO,EAAiB,CAC3B,MAAMC,EAAgBR,EAAOjL,QAFP,GAGtB,OAAO0L,EAAAA,EAAAA,QAAOF,GAAmB,GAAIC,EAAe,KAExD,MAAO,GA0BiBF,CAAmBiG,EAAWE,GAEtD,OACI7d,IAAAA,cAAC+d,EAAAA,gBAAe,CACZrd,QAASA,EACTqH,GAAImiB,EACJ7f,SAAUA,EACVsT,UAAWA,EACXK,YAAaF,EACbG,UAAQ,EACRJ,UAAWlG,EACX/U,KAAM,KA2FX,MAAMwnB,EAAwDxR,IAWhE,IAXiE,KAClEhW,EAAI,QACJlC,EAAO,cACPsL,EAAa,YACbiM,EAAW,cACX3N,EAAa,kBACbC,EAAiB,gBACjBoN,EAAe,SACftN,EAAQ,GAERtC,GACH6Q,EACG,MAAM7S,EAAUnD,EAAKmD,QACrB,OAAKA,EAKD/F,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,OAAKyK,UAAU,4BACXzK,IAAAA,cAAA,OAAKyK,UAAU,mCAxD/B,SACIvJ,EACA8K,EACAD,EACAsM,EACAzM,GAEA,IAAKyM,IAAatM,IAAiBC,EAC/B,OAAO,KAEX,MAAMqe,EAAsB,CACxBxe,IAAKwM,EACLzM,QAASA,GAAoB,IAE3B2M,EAAa,CACfxM,aAAAA,EACAC,cAAAA,GAGJ,OADAuM,EAAWvM,cAAcX,iBAAkB,EACpCrL,IAAAA,cAAC2L,EAAAA,GAAK8H,OAAAC,OAAA,GAAK2W,EAAa9R,EAAU,CAAErX,eAAgBA,EAAgB+K,oBAAoB,WAsC9EmM,CACG1X,EAAQC,cAAcO,eACtB8K,EACAtL,EAAQsE,QAAQ+G,aAChBhG,EAAQe,gBACRf,EAAQ2E,OAGhB1K,IAAAA,cAAA,OAAKyK,UAAU,qCACXzK,IAAAA,cAAA,MAAIyK,UAAU,mCAAmC1E,EAAQ2E,MAxG7E,SACIhK,EACA2J,EACAigB,EACAvS,EACAC,EACAC,EACA3N,EACAC,GAEA,MAAM7F,EAAsB,CACxB8C,UAAWuQ,EACXpT,cAAeqT,EACfvQ,wBAAyBuQ,GAG7B,OACIhY,IAAAA,cAACoK,EAAAA,eAAc,CACX1J,QAASA,EACTqH,GAAIuiB,EACJjgB,SAAUA,EACVzH,KAAM,CAAE8B,MAAAA,GACRuT,YAAaA,EACb3N,cAAeA,EACfC,kBAAmBA,IAiFVuN,CAAYpX,EAAS2J,EAAUtC,EAAIhC,EAAQyB,UAAWzB,EAAQuI,MAAO2J,EAAa3N,EAAeC,IA/K3FuR,EAgLY/V,EAAQ4L,YA/KpC3R,IAAAA,cAAA,KAAGyK,UAAU,kCAAkCqR,KAgLpCpb,EAAQ8B,IAAIC,OAAO+a,YACjBU,EAAaxd,EAAS2J,EAAUtC,EAAIhC,EAAQ6V,cAAe7V,EAAQ8V,aAAclE,MApB1F,KA9Jf,IAA2BmE,GC2GrByO,EAAeA,CAAC3mB,EAA8B1D,KAAqF,IAAAsqB,EAOrI,MAAO,CACHC,sBAAuB,CAAEhgB,UAAW,iDACpC+Y,QARgB5f,EAAK4f,SA1FPkH,EAACC,EAAkCzqB,KACrD,MAAMgB,EAAiBhB,EAAMgB,eAC7B,OACIlB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVC,KAAMF,EACNnC,IAAI,IACJ/d,UAAU,sDACVqgB,UAAW,CAKPC,OAAQjK,IACJ5gB,EAAM8qB,2BAA2BlK,IAErC5f,eAAAA,MA2EwBwpB,CAAc9mB,EAAK4f,QAAStjB,GAS5D2qB,KARkBjnB,EAAKqnB,SAhEPC,EAACC,EAAwCjrB,KAC7D,MAAMgB,EAAiBhB,EAAMgB,eAC7B,OACIlB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVC,KAAMM,EACN3C,IAAI,IACJ/d,UAAU,2DACVqgB,UAAW,CAKPC,OAAQjK,IACJ5gB,EAAM8qB,2BAA2BlK,IAErC5f,eAAAA,MAiD0BgqB,CAAgBtnB,EAAKqnB,QAAS/qB,GAShEkrB,MARwB,QAAbZ,EAAG5mB,EAAKwnB,aAAK,IAAAZ,OAAA,EAAVA,EAAYppB,KAAI,CAACiqB,EAAqBxlB,IArCxCylB,EAACD,EAAqBnrB,EAA2CqrB,KACjF,MAAMC,EAAoC,CACtC3N,UAAWwN,EAAQxN,UACnBpT,UAAW,4DACXghB,SAAUJ,EAAQI,SAClBC,QAASL,EAAQK,QAAQC,eACzBC,aAAcP,EAAQQ,eACtBC,KAAM,UAEJ5qB,EAAiBhB,EAAMgB,eAC7B,OACIlB,EAAAA,cAAC4qB,EAAAA,GAAa,CACV7jB,IAAKwkB,EACL3K,KAAM4K,EACNV,UAAW,CAKPiB,aAAcjL,IACV5gB,EAAM8rB,+BAA+BT,EAAWzK,IAEpD5f,eAAAA,MAgBDoqB,CAAYD,EAASnrB,EAAO2F,KAQnComB,2BAA4B,CAAExhB,UAAW,4DACzCyhB,2BAA4B,CAAEzhB,UAAW,yDASpC0hB,EACTjsB,IAEA,MAAM,kBAAEksB,GAAsBlsB,EAC9B,GAAKksB,EAIL,OAAO7B,EAAa6B,EAAmBlsB,QCjI/BmsB,EAgCAC,imBAhCZ,SAAYD,GACRA,EAAAA,EAAA,+BACAA,EAAAA,EAAA,iCACAA,EAAAA,EAAA,uCACAA,EAAAA,EAAA,uCACAA,EAAAA,EAAA,+BACAA,EAAAA,EAAA,6BACAA,EAAAA,EAAA,uCACAA,EAAAA,EAAA,gCACAA,EAAAA,EAAA,kCACAA,EAAAA,EAAA,yCACAA,EAAAA,EAAA,0DACAA,EAAAA,EAAA,sDACAA,EAAAA,EAAA,8DACAA,EAAAA,EAAA,yDACAA,EAAAA,EAAA,gCACAA,EAAAA,EAAA,mCACAA,EAAAA,EAAA,0BACAA,EAAAA,EAAA,2BACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,8BACAA,EAAAA,EAAA,+BACAA,EAAAA,EAAA,6BACAA,EAAAA,EAAA,+CACAA,EAAAA,EAAA,kDACAA,EAAAA,EAAA,yCAzBJ,CAAYA,IAAAA,EAAkB,KAgC9B,SAAYC,GACRA,EAAA,gBACAA,EAAA,yBAFJ,CAAYA,IAAAA,EAAY,KAuCjB,MAAMC,UAAoBvsB,IAAAA,UAW7BC,YAAmBC,GACfC,MAAMD,GALF,KAAAssB,oBAA8B,EAE9B,KAAAC,SAAwD,KA8CzD,KAAAC,oBAAsB,KACzB,GAAInN,EAAAA,GAASC,UAAW,CACpB,MAAMmN,EAA4BlsB,KAAKP,MAAM0sB,gBAC7C,GAA0C,OAAtCD,EAA0BhkB,QAC1B,OAAOgkB,EAA0BhkB,QAAQkkB,cAU9C,KAAAC,qBAAuB,KAC1B,GAAIvN,EAAAA,GAASC,UAAW,CACpB,MAAMmN,EAA4BlsB,KAAKP,MAAM0sB,gBAC7C,GAA0C,OAAtCD,EAA0BhkB,QAC1B,OAAOgkB,EAA0BhkB,QAAQokB,eAW9C,KAAAC,gBAAmBC,IAEtB,MAGMzL,EAHQ,IAAI0L,OAAO,8CAA+C,KAGnDC,KAAKF,GAE1B,OAAOzL,EACD,CACI4L,OAAQzjB,OAAO0jB,SAAS7L,EAAO,GAAI,IACnC8L,OAAQ3jB,OAAO0jB,SAAS7L,EAAO,GAAI,IACnC+L,OAAQ5jB,OAAO0jB,SAAS7L,EAAO,GAAI,KAEvC,CACI4L,OARW,EASXE,OATW,EAUXC,OAVW,IAqBlB,KAAAC,sBAAwB,CAAC3C,EAAc4C,EAAkBC,EAAqBC,KAAuB,IAAAC,EAAAC,EACxG,MAAMC,EAAsBzB,EAAmByB,YACzCptB,EAAgD,QAAzCktB,EAAuB,QAAvBC,EAAGptB,KAAKstB,QAAQplB,eAAO,IAAAklB,OAAA,EAApBA,EAAsBG,WAAW,aAAK,IAAAJ,EAAAA,EAAIntB,KAAKgsB,SAC/D,GAAI/rB,GAAWD,KAAK+rB,mBAAoB,CACpC,MAAMyB,EAAgB5B,EAAmB4B,cACnCC,EAAoB7B,EAAmB6B,kBACvCC,EAAcztB,EAAQ0tB,YAAYvD,GAAM5iB,MAAQgmB,EACtDvtB,EAAQ2tB,UAAY,QAAQX,EAASN,WAAWM,EAASJ,WAAWI,EAASH,WAAWI,MACpFpO,EAAAA,GAASC,WAAaN,SAASoP,KAAKC,eAAqE,QAApDrP,SAASoP,KAAKC,cAAcC,aAAa,OAC9F9tB,EAAQ+tB,SAAS5D,EAAM4C,EAAO,GAAKU,EAAcL,EAAcG,EAAgBH,EAAaL,EAAO,GAAKS,GAExGxtB,EAAQ+tB,SAAS5D,EAAM4C,EAAO,GAAKU,EAAcL,EAAcG,EAAgBH,EAAaL,EAAO,GAAKS,KAU7G,KAAAQ,WAAa,CAAC7D,EAAc4C,KAA0B,IAAAkB,EAAAC,EACzD,MAAM,MAAEtlB,EAAQgjB,EAAahjB,MAAK,eAAEulB,EAAiBvC,EAAauC,gBAAmBpuB,KAAKP,MACpF4tB,EAAsBzB,EAAmByB,YACzCptB,EAAgD,QAAzCiuB,EAAuB,QAAvBC,EAAGnuB,KAAKstB,QAAQplB,eAAO,IAAAimB,OAAA,EAApBA,EAAsBZ,WAAW,aAAK,IAAAW,EAAAA,EAAIluB,KAAKgsB,SAC/D,GAAI/rB,GAAWD,KAAK+rB,mBAAoB,CACpC,MAAMsC,EAAezC,EAAmByC,aAClCb,EAAgB5B,EAAmB4B,cACnCC,EAAoB7B,EAAmB6B,kBACvCC,EAAcztB,EAAQ0tB,YAAYvD,GAAM5iB,MAAQgmB,EAChDc,EAAkBtB,EAAO,GAAKU,EAAcL,EAC5CkB,EAAkBvB,EAAO,GAAKqB,EAAehB,EAC7CmB,EAAUH,EAAehB,EAE/BptB,EAAQwuB,YACRxuB,EAAQyuB,OAAOJ,EAAkBE,EAASD,GAC1CtuB,EAAQ0uB,OAAOL,EAAkBZ,EAAcc,EAASD,GACxDtuB,EAAQ2uB,MACJN,EAAkBZ,EAClBa,EACAD,EAAkBZ,EAClBa,EAAkBC,EAClBA,GAEJvuB,EAAQ0uB,OAAOL,EAAkBZ,EAAaa,EAAkBF,EAAeG,GAC/EvuB,EAAQ2uB,MACJN,EAAkBZ,EAClBa,EAAkBF,EAClBC,EAAkBZ,EAAcc,EAChCD,EAAkBF,EAClBG,GAEJvuB,EAAQ0uB,OAAOL,EAAkBE,EAASD,EAAkBF,GAC5DpuB,EAAQ2uB,MAAMN,EAAiBC,EAAkBF,EAAcC,EAAiBC,EAAkBC,EAASA,GAC3GvuB,EAAQ0uB,OAAOL,EAAiBC,EAAkBC,GAClDvuB,EAAQ2uB,MAAMN,EAAiBC,EAAiBD,EAAkBE,EAASD,EAAiBC,GAC5FvuB,EAAQ0uB,OAAOL,EAAkBE,EAASD,GAC1CtuB,EAAQ4uB,SACR5uB,EAAQ6uB,YACR7uB,EAAQ2tB,UAAY/kB,EACpB5I,EAAQ8uB,OACR9uB,EAAQ2tB,UAAYQ,EAChBtP,EAAAA,GAASC,WAAaN,SAASoP,KAAKC,eAAqE,QAApDrP,SAASoP,KAAKC,cAAcC,aAAa,OAC9F9tB,EAAQ+tB,SAAS5D,EAAM4C,EAAO,GAAKU,EAAcL,EAAcG,EAAgBH,EAAaL,EAAO,GAAKS,GAExGxtB,EAAQ+tB,SAAS5D,EAAM4C,EAAO,GAAKU,EAAcL,EAAcG,EAAgBH,EAAaL,EAAO,GAAKS,KAS7G,KAAAuB,gBAAmBhC,IAA0B,IAAAiC,EAChD,MAAM,MAAEpmB,EAAQgjB,EAAahjB,MAAK,eAAEulB,EAAiBvC,EAAauC,gBAAmBpuB,KAAKP,MACpFyvB,EAA4C,QAAlCD,EAAGjvB,KAAKP,MAAM0vB,4BAAoB,IAAAF,OAAA,EAA/BA,EAAiCC,WACpD,IAAIE,EAAsBxD,EAAmByD,0BAC7C,MAAMC,EAAiBtC,EAAO,GACxBuC,EAAiBvC,EAAO,GACxBwC,EAAoB5D,EAAmB6D,wBACvCC,EAAS9D,EAAmB+D,aAC5BC,EAAWhE,EAAmBgE,SAC9BC,EAAajE,EAAmBiE,WAChCC,EAAWlE,EAAmBkE,SACpC,IAAIC,EAAkBnE,EAAmBoE,qBACzC,MAAMC,EAAsBjwB,KAAKusB,gBAAgB6B,EAAezY,qBAK1Dua,EAAUA,KAAK,IAAAC,EAAAC,EACjB,MAAMnwB,EAAgD,QAAzCkwB,EAAuB,QAAvBC,EAAGpwB,KAAKstB,QAAQplB,eAAO,IAAAkoB,OAAA,EAApBA,EAAsB7C,WAAW,aAAK,IAAA4C,EAAAA,EAAInwB,KAAKgsB,SAC1D/rB,IAGLA,EAAQwuB,YACRxuB,EAAQowB,QAAQf,EAAgBC,EAAgBG,EAAQN,EAAqBQ,EAAUC,EAAYC,GACnG7vB,EAAQ2tB,UAAY/kB,EACpB5I,EAAQ8uB,OACR9uB,EAAQ2tB,UAAY/kB,EAChBqmB,IACIE,EAAsBI,GACtBc,sBAAsBJ,GACtBlwB,KAAK+sB,sBAAsBmC,EAAYlC,EAAQiD,EAAqBF,GACpEA,GAAmBnE,EAAmB2E,iBACtCnB,KAEApvB,KAAKiuB,WAAWiB,EAAY,CAACI,EAAgBC,OAKrDvvB,KAAK+rB,oBACLmE,KAQD,KAAAM,kBAAqBxD,IAA0B,IAAAyD,EAClD,MAAM,MAAE5nB,EAAQgjB,EAAahjB,MAAK,eAAEulB,EAAiBvC,EAAauC,gBAAmBpuB,KAAKP,MACpFyvB,EAA4C,QAAlCuB,EAAGzwB,KAAKP,MAAM0vB,4BAAoB,IAAAsB,OAAA,EAA/BA,EAAiCvB,WACpD,IAAIE,EAAsBxD,EAAmB8E,4BAC7C,MAAMpB,EAAiBtC,EAAO,GACxBuC,EAAiBvC,EAAO,GACxBwC,EAAoB5D,EAAmB+E,0BACvCf,EAAWhE,EAAmBgE,SAC9BgB,EAAchF,EAAmBgF,YACjCC,EAAcjF,EAAmBiF,YACjCC,EAAalF,EAAmBkF,WAChCpB,EAAS9D,EAAmBmF,eAC5BlB,EAAajE,EAAmBiE,WAChCC,EAAWlE,EAAmBkE,SACpC,IAAIkB,EAAmBpF,EAAmBqF,sBAC1C,MAAMhB,EAAsBjwB,KAAKusB,gBAAgB6B,EAAezY,qBAK1Dua,EAAUA,KAAK,IAAAgB,EAAAC,EACjB,MAAMlxB,EAAgD,QAAzCixB,EAAuB,QAAvBC,EAAGnxB,KAAKstB,QAAQplB,eAAO,IAAAipB,OAAA,EAApBA,EAAsB5D,WAAW,aAAK,IAAA2D,EAAAA,EAAIlxB,KAAKgsB,SAC1D/rB,IAGLA,EAAQwuB,YACRxuB,EAAQmxB,UAAU9B,EAAiBsB,EAAarB,EAAiBqB,EAAaE,EAAYD,GAC1F5wB,EAAQowB,QAAQf,EAAgBC,EAAgBG,EAAQN,EAAqBQ,EAAUC,EAAYC,GACnG7vB,EAAQ2tB,UAAY/kB,EACpB5I,EAAQ8uB,OACJS,EAAoBJ,GAAuBF,IAC3CoB,sBAAsBJ,GACtBlwB,KAAK+sB,sBAAsBmC,EAAYlC,EAAQiD,EAAqBe,GACpEA,GAAoBpF,EAAmB2E,iBACvCnB,OAIJpvB,KAAK+rB,oBACLmE,KAQD,KAAAmB,WAAcrE,IAA0B,IAAAsE,EAAAC,EAC3C,MAAM,MAAE1oB,EAAQgjB,EAAahjB,MAAK,SAAE2oB,GAAaxxB,KAAKP,MAChDgyB,EAA2B7F,EAAmB6F,iBAC9C5B,EAAqBjE,EAAmBiE,WACxC5vB,EAAgD,QAAzCqxB,EAAuB,QAAvBC,EAAGvxB,KAAKstB,QAAQplB,eAAO,IAAAqpB,OAAA,EAApBA,EAAsBhE,WAAW,aAAK,IAAA+D,EAAAA,EAAItxB,KAAKgsB,SACzD0D,EAAsB,OAAb8B,GAAkC,OAAbA,EAAoBxE,EAAO,GAAKyE,EAAmBzE,EAAO,GACzF/sB,IAGLA,EAAQ2tB,UAAY/kB,EACpB5I,EAAQwuB,YACRxuB,EAAQyxB,YAAc7oB,EACtB5I,EAAQ0xB,IAAI3E,EAAO,GAAIA,EAAO,GAAI0C,EAAQG,EAAY7mB,KAAK4oB,GAAKH,GAChExxB,EAAQ6uB,YACR7uB,EAAQ4uB,SACR5uB,EAAQ8uB,SAQL,KAAA8C,YAAe7E,IAClB,MAAM,SAAE8E,GAAa9xB,KAAKP,MACpBsyB,EAAuBnG,EAAmBmG,aAC1CC,EAAuBpG,EAAmBoG,aAG1CxqB,EAAQxH,KAAKisB,sBACbgG,EAAQzqB,GAASsqB,GAAYA,EAAWC,EAAevqB,EAAQsqB,EAAWE,EAChF,OAAOhF,EAAOrsB,KAAIuxB,GAASA,EAAQD,KAMhC,KAAAE,qBAAuB,KAC1B,MAAM,QAAEC,GAAYpyB,KAAKP,MACzB2yB,EAAQC,MAAM1xB,KAAI2xB,IACdtyB,KAAKqxB,WAAWrxB,KAAK6xB,YAAYS,EAAKtF,SAC/B,SASR,KAAAuF,cAAiBD,IACpB,MAAME,EAAexyB,KAAK6xB,YAAYS,EAAKtF,QAC3C,MAAO,CAACwF,EAAa,GAAIA,EAAa,KAOnC,KAAAC,cAAiBH,IAChBA,EAAKI,QAAU1yB,KAAKstB,QAAQplB,UAC5BlI,KAAKqxB,WAAWrxB,KAAK6xB,YAAYS,EAAKtF,SACtChtB,KAAKgvB,gBAAgBsD,EAAKI,UAQ3B,KAAAC,eAAkBL,IACrB,GAAItyB,KAAKstB,QAAQplB,QAAS,CAAC,IAAD0qB,EACtB,MAAM3yB,EAA+C,QAAxC2yB,EAAG5yB,KAAKstB,QAAQplB,QAAQqlB,WAAW,aAAK,IAAAqF,EAAAA,EAAI5yB,KAAKgsB,SACxD6G,EAA0BjH,EAAmBkH,iBAC7CC,EAA0BnH,EAAmBoH,iBAEnD,IAAK/yB,EACD,OAEJA,EAAQmxB,UAAUyB,EAAiBE,EAAiB/yB,KAAKstB,QAAQplB,QAAQV,MAAOxH,KAAKstB,QAAQplB,QAAQX,QACrGvH,KAAKmyB,uBACDG,EAAKI,QACL1yB,KAAKwwB,kBAAkB8B,EAAKI,UAWjC,KAAAO,MAAQ,CAACX,EAAaltB,IAAmBib,IAC5C,MAAM,QAAEnW,GAAYlK,KAAKP,MACrByK,IACAmW,EAAMC,iBACNpW,EAAQooB,EAAMltB,EAAOib,KAUtB,KAAA6S,QAAU,CAACZ,EAAaltB,IAAmBib,IAC9C,MAAM,aAAE8S,GAAiBnzB,KAAKP,MAC9BO,KAAKyyB,cAAcH,GACfa,GACAA,EAAab,EAAMltB,EAAOib,IAU3B,KAAA+S,SAAW,CAACd,EAAaltB,IAAmBib,IAC/C,MAAM,aAAEgT,GAAiBrzB,KAAKP,MAE9BO,KAAK2yB,eAAeL,GAEhBe,GACAA,EAAaf,EAAMltB,EAAOib,IAQ3B,KAAAiT,YAAc,KAAoB,IAAAC,EAAAC,EACrC,MAAM,QAAEpB,EAAO,SAAEZ,GAAaxxB,KAAKP,MAC7ByvB,EAA4C,QAA/BqE,EAAAvzB,KAAKP,MAAM0vB,4BAAoB,IAAAoE,GAA/BA,EAAiCrE,WAAalvB,KAAKP,MAAM0vB,qBAAqBD,WAAa,GACxG/jB,EAAyC,QAA/BqoB,EAAAxzB,KAAKP,MAAM0vB,4BAAoB,IAAAqE,GAA/BA,EAAiCroB,QAAUnL,KAAKP,MAAM0vB,qBAAqBhkB,QAAU,GAC/FsmB,EAA2B7F,EAAmB6F,iBAEpD,OAAOW,EAAQC,MAAM1xB,KAAI,CAAC2xB,EAAMltB,KAAS,IAAAquB,EACrC,MAAMjB,EAAexyB,KAAK6xB,YAAYS,EAAKtF,QACrC0G,EAAWpB,EAAKtF,OAAO,GAAKyE,EACjB,OAAbD,IACAgB,EAAa,GAAKkB,GAEtB,MAAMhB,EAAS1yB,KAAKuyB,cAAcD,GAC5BqB,EAAYxtB,EAAAA,EAAA,GAAQmsB,GAAI,IAAEE,aAAAA,EAAcE,OAAAA,IACxCkB,EAAU,QAAQxuB,IAClByuB,EAAyB1oB,EAC1BzF,QAAQ,eAAgBwpB,GAA0B,IAClDxpB,QAAQ,gBAAyC,QAAxB+tB,EAAAnB,EAAKwB,2BAAmB,IAAAL,GAAxBA,EAA0BxpB,KAAOqoB,EAAKwB,oBAAoB7pB,KAAO,IAC/F,OACI1K,IAAAA,cAAA,QACI+G,IAAKstB,EACLG,MAAM,SACN/G,OAAQwF,EAAawB,KAAK,KAC1Bb,aAAcnzB,KAAKkzB,QAAQS,EAAcvuB,GACzCiuB,aAAcrzB,KAAKozB,SAASO,EAAcvuB,GAC1C8E,QAASlK,KAAKizB,MAAMU,EAAcvuB,GAClC6uB,QAASj0B,KAAKkzB,QAAQS,EAAcvuB,GACpC8uB,OAAQl0B,KAAKozB,SAASO,EAAcvuB,GACpCP,KAAMytB,EAAKjhB,WACXkY,SAAU,EACV4K,IAAKN,EAAsB,aACfA,QASrB,KAAAO,WAAa,KAAW,IAAAC,EAAAC,EAAAC,EAC3B,IAAKv0B,KAAKstB,QAAQplB,UAAYlI,KAAKw0B,iBAAiBtsB,UAAYlI,KAAKy0B,WAAWvsB,QAC5E,OAGJ,MAAM,MAAEW,EAAK,OAAE6rB,GAAW10B,KAAKP,MACzBsyB,EAAuBnG,EAAmBmG,aAC1C4C,EAAwB/I,EAAmB+I,cAE3CC,EAAwC,QAA7BP,EAAGr0B,KAAKisB,6BAAqB,IAAAoI,EAAAA,EAAItC,EAC5C8C,EAA0C,QAA9BP,EAAGt0B,KAAKqsB,8BAAsB,IAAAiI,EAAAA,EAAIK,EAEpD30B,KAAKstB,QAAQplB,QAAQV,MAAQotB,EAC7B50B,KAAKstB,QAAQplB,QAAQX,OAASstB,EAC9B70B,KAAKy0B,WAAWvsB,QAAQ4sB,MAAMttB,MAAQ,GAAGotB,MAEzC,MAAM30B,EAA+C,QAAxCs0B,EAAGv0B,KAAKstB,QAAQplB,QAAQqlB,WAAW,aAAK,IAAAgH,EAAAA,EAAIv0B,KAAKgsB,SACzD/rB,IAGLA,EAAQ2tB,UAAY/kB,MAAAA,EAAAA,EAAS,GAEzB6rB,GACAA,IAGJ10B,KAAKmyB,yBApdLnyB,KAAKw0B,iBAAmBj1B,IAAAA,YACxBS,KAAKy0B,WAAal1B,IAAAA,YAClBS,KAAKstB,QAAU/tB,IAAAA,YAMZohB,oBACH,MAAM,SAAE6Q,GAAaxxB,KAAKP,MAC1BO,KAAKo0B,aACLp0B,KAAK+rB,mBAAkC,OAAbyF,GAAkC,OAAbA,EAC/CxxB,KAAKszB,cACLtzB,KAAKgsB,SAAW,KAMb+I,qBACH,MAAM,SAAEvD,GAAaxxB,KAAKP,MAC1BO,KAAKo0B,aACLp0B,KAAK+rB,mBAAkC,OAAbyF,GAAkC,OAAbA,EAQ5CwD,sBAAsBC,GACzB,IAAIC,GAAe,EAInB,OAHID,IAAcj1B,KAAKP,QACnBy1B,GAAe,GAEZA,EAwbJ5rB,SAAM,IAAA6rB,EACT,MAAM,UAAEC,EAAS,QAAEhD,EAAO,eAAE3xB,GAAmBT,KAAKP,MAEpD,OACIF,IAAAA,cAAA,OAAKyK,UAAU,6BAA6BmY,IAAKniB,KAAKy0B,YAClDl1B,IAAAA,cAAC2L,EAAAA,GAAK,CACFE,IAAKgqB,EAAUhqB,IACfiqB,OAAQ,IAAIjD,EAAQ5pB,OACpB2rB,IAAK/B,EAAQ5pB,KACb2Z,IAAKniB,KAAKw0B,iBACVjtB,OAAQ6tB,EAAU7tB,OAClBC,MAAO4tB,EAAU5tB,MACjBwC,UAAU,uBACVuB,cAAe6pB,EAAU7pB,cACzBD,aAAyC,QAA7B6pB,EAAE10B,EAAe6K,oBAAY,IAAA6pB,EAAAA,EAAI,GAC7C10B,eAAgBA,IAEpBlB,IAAAA,cAAA,UAAQ4iB,IAAKniB,KAAKstB,QAAStjB,UAAU,4BACrCzK,IAAAA,cAAA,OAAKiJ,KAAM4pB,EAAQ5pB,KAAMwB,UAAU,wBAC9BhK,KAAKszB,slBC9hBnB,IAAKgC,GAAZ,SAAYA,GACRA,EAAAA,EAAA,uCACAA,EAAA,iBACAA,EAAA,gBAHJ,CAAYA,IAAAA,EAAoB,KAWzB,MAAMC,UAAoBh2B,EAAAA,cAiB7BC,YAAmBC,GACfC,MAAMD,GAbO,KAAA+1B,yBAAmC,IAEnC,KAAAC,wBAAkC,IAElC,KAAAC,cAAyB,GAuDnC,KAAAC,gBAAkB,CAACrD,EAAyBhtB,EAA8B0nB,EAAkB3b,KACnF,IAADukB,EAANtD,GACDtyB,KAAK01B,cAAc30B,KAAK,CACpB80B,OAAQvwB,EAAQ5B,SAASuO,WACzB+a,OAAAA,EACAja,gBAAwC,QAAzB6iB,EAAEtwB,EAAQe,uBAAe,IAAAuvB,EAAAA,EAAI,GAC5CvkB,WAAAA,EACAyiB,oBAAqBxuB,KAmB1B,KAAAwwB,kBAAoB,KACvB,MAAMC,GAAWxN,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAYC,QAASj2B,QAASD,KAAKP,MAAMQ,QAAQsE,UACtFvE,KAAKuB,SAAS,CAAE6qB,YAAapsB,KAAKisB,sBAAuB8J,SAAAA,IACzD/1B,KAAK+rB,mBAAkC,OAAbgK,GAAkC,OAAbA,GAiD5C,KAAAI,kBAAoB,KAA6B,IAAAC,EACpD,MAAM,OAAEp0B,EAAM,QAAE/B,GAAYD,KAAKP,MAG3B42B,EAAiBr2B,KAAKP,MAAM0C,KAAKd,SAAS0f,OAChD,GAAI/e,EAAOs0B,cAAgBD,EACvB,IAAK,MAAM/wB,KAAW+wB,EAClB,IAAK,MAAME,KAAiBv0B,EAAOs0B,aAC/B,GAAIhxB,EAAQlB,SAAWmyB,EAAcna,OAAQ,CAAC,IAADjL,EAAAqlB,EAAAC,EAAAC,EACzC,MAAMrlB,GAAawH,EAAAA,EAAAA,uBAAkC,QAAb1H,EAAC7L,EAAQ2E,YAAI,IAAAkH,EAAAA,EAAI,GAAI7L,EAAQ5B,SAAUzD,EAAQC,mBAAeyB,GAChGqrB,EAAS,CACY,QADZwJ,EACXD,EAAcI,iBAAS,IAAAH,EAAAA,EATX,EAUW,QADmBC,EAC1CF,EAAcK,iBAAS,IAAAH,EAAAA,EAVX,EAWQ,QADsBC,EAC1CH,EAAc7G,cAAM,IAAAgH,EAAAA,EAXR,GAaVpE,EAAOtyB,KAAK01B,cAAcnwB,MAAKsxB,GAAeC,KAAKC,UAAUF,EAAY7J,UAAY8J,KAAKC,UAAU/J,KAC1GhtB,KAAK21B,gBAAgBrD,EAAMhtB,EAAS0nB,EAAQ3b,GAK5D,MAAM2lB,EAAuB,CACzBxuB,KAAM,OAAOxI,KAAKi3B,oBAClB5E,MAAOryB,KAAK01B,cAAcr1B,OApBA,EAoByBL,KAAK01B,cAAgB,IAI5E,OACIn2B,EAAAA,cAACusB,EAAW,CACR0F,SAAUxxB,KAAKiD,MAAM8yB,SACrBt1B,eAAgBT,KAAKP,MAAMQ,QAAQC,cAAcO,eACjD+G,MAAOxH,KAAKiD,MAAMmpB,YAClB0F,SAAU9xB,KAAKP,MAAMuC,OAAO4yB,YAC5B1qB,QAASlK,KAAKk3B,UACdjD,QAASj0B,KAAKk3B,UACd/D,aAAcnzB,KAAKk3B,UACnB7D,aAAcrzB,KAAKm3B,UACnB/B,UAAwC,QAA/BgB,EAAEp2B,KAAKP,MAAMuC,OAAOo1B,mBAAW,IAAAhB,EAAAA,EAAI,GAC5ChE,QAAS4E,EACT7K,gBAAiBnsB,KAAKq3B,iBACtBlI,qBAAsB,CAClBhkB,QAASnL,KAAKP,MAAMgR,UAAU6mB,uCAC9BpI,WAAYlvB,KAAKP,MAAMgR,UAAU8mB,sBAY1C,KAAAL,UAAY,CAAC5E,EAAaltB,EAAeib,KAC5CrgB,KAAKuB,SAAS,CAAE+wB,KAAAA,EAAMkF,aAAc,6BAChCx3B,KAAKP,MAAM0zB,cACXnzB,KAAKP,MAAM0zB,aAAab,EAAMltB,EAAOib,GAEF,UAAnCA,EAAMzY,KAAK+N,qBAAmC3V,KAAK+rB,oBACnDtpB,OAAOg1B,KAAKnF,EAAKjhB,WAAY,UAO9B,KAAA8lB,UAAY,KACXn3B,KAAK+rB,oBACL/rB,KAAK03B,cAON,KAAAA,WAAa,KAChB13B,KAAKuB,SAAS,CAAE+wB,KAAM,KAAMkF,aAAc,MAOvC,KAAAG,uBAAyB,KAAsB,IAAAC,EAClD,GAAmB,QAAnBA,EAAI53B,KAAKiD,MAAMqvB,YAAI,IAAAsF,GAAfA,EAAiB9D,oBAAqB,CAAC,IAAD+D,EAAAC,EACtC,MAEM/kB,EAA0B,GAFH/S,KAAKP,MAAMQ,QAAQsE,QAAQtD,YAAY82B,eACZ,QAA1CF,EAAW73B,KAAKiD,MAAMqvB,KAAKvf,uBAAe,IAAA8kB,EAAAA,EAAI,KAEtDvyB,EAA+BtF,KAAKiD,MAAMqvB,KAAKwB,oBAGrD,OAFAxuB,EAAQe,gBAAkB0M,EAGtBxT,EAAAA,cAACoqB,EAAsB,CACnB1pB,QAASD,KAAKP,MAAMQ,QACpBsL,cAAevL,KAAKP,MAAMuC,OAAOg2B,qBACjC1wB,GAAkB,QAAhBwwB,EAAExyB,EAAQlB,cAAM,IAAA0zB,EAAAA,EAAI,GACtBluB,SAAU5J,KAAKP,MAAMmK,UAAY,GACjCzH,KAAM,CAAEmD,QAAAA,KAIpB,OAAO/F,EAAAA,UAOJ,KAAA04B,kBAAoB,KACvB,MAAM,KAAE3F,GAAStyB,KAAKiD,MAEtB,OACI1D,EAAAA,cAAAA,EAAAA,SAAA,MACK+yB,MAAAA,OAAI,EAAJA,EAAMI,SACHnzB,EAAAA,cAAA,OAAKyK,UAAU,gCAAgCmY,IAAKniB,KAAKk4B,oBACrD34B,EAAAA,cAAA,OAAKyK,UAAU,wCAAwC1D,IAAKgsB,EAAKuD,SAC3D71B,KAAK+rB,oBAAsBxsB,EAAAA,cAAA,UAAQ2K,QAASlK,KAAK03B,WAAY1tB,UAAU,iBACxEsoB,EAAKwB,qBAAuB9zB,KAAK23B,0BAChC33B,KAAK+rB,oBACHxsB,EAAAA,cAAA,KAAGsF,KAAMytB,EAAKjhB,WAAYrH,UAAU,mBAC/BhK,KAAKP,MAAMgR,UAAU8mB,uBAc/C,KAAAY,cAAgB,IACZ54B,EAAAA,cAAAA,EAAAA,SAAA,MAAIS,KAAK+rB,oBAAsBxsB,EAAAA,cAAA,OAAKyK,UAAWhK,KAAKiD,MAAMu0B,gBAQ9D,KAAAY,wBAA0B,KAAa,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1C,MAAMtuB,EAAuBnK,KAAK04B,0BAC5BC,EAAkE,QAAtCN,EAAAr4B,KAAKP,MAAMuC,OAAOg2B,4BAAoB,IAAAK,GAAtCA,EAAwCjuB,UACjB,QAD0BkuB,EAC7Et4B,KAAKP,MAAMuC,OAAOg2B,qBAAqB5tB,UAAUK,UAAE,IAAA6tB,OAAA,EAAnDA,EAAqD/tB,EACpB,QADqBguB,EACtDpuB,EAAqBC,UAAUK,UAAE,IAAA8tB,OAAA,EAAjCA,EAAmChuB,EAGnCquB,EAA2BD,GAAwD34B,KAAKw1B,0BACxF,KAAElD,EAAI,YAAElG,EAAW,SAAE2J,GAAa/1B,KAAKiD,MACvCqsB,EAAkC,QAApBkJ,EAAGlG,MAAAA,GAAY,QAARmG,EAAJnG,EAAMI,cAAM,IAAA+F,OAAR,EAAJA,EAAe,UAAE,IAAAD,EAAAA,EAAIpM,EAHhB,EAItByM,EAAqBvJ,EAAiBsJ,EAAmBA,EAJnC,EAM5B,IAAIE,GAAoB1M,EAAcwM,GANV,EAc5B,MAPiB,OAAb7C,GAAkC,OAAbA,GAAkC,OAAbA,IAEtC+C,EADAD,EATyB,EAMLvJ,EAAiBsJ,EALjB,EAWTC,GAGZC,GAQJ,KAAAC,wBAA0B,KAAa,IAAAC,EAAAC,EAAAC,EAC1C,MAAM/uB,EAAuBnK,KAAK04B,0BAC5BS,EAAmE,QAAtCH,EAAAh5B,KAAKP,MAAMuC,OAAOg2B,4BAAoB,IAAAgB,GAAtCA,EAAwC5uB,UAClB,QAD2B6uB,EAC9Ej5B,KAAKP,MAAMuC,OAAOg2B,qBAAqB5tB,UAAUK,UAAE,IAAAwuB,OAAA,EAAnDA,EAAqDzuB,EACpB,QADqB0uB,EACtD/uB,EAAqBC,UAAUK,UAAE,IAAAyuB,OAAA,EAAjCA,EAAmC1uB,GAEnC,KAAE8nB,EAAI,SAAEyD,GAAa/1B,KAAKiD,MAC1Bm2B,EAA0BD,GAA0Dn5B,KAAKy1B,wBAE/F,IAAIqD,GADoB94B,KAAKqsB,uBAAyB+M,GAH1B,EAKsC,IAADC,EAAAC,EAAhD,OAAbvD,GAAkC,OAAbA,GAAkC,OAAbA,IAC1C+C,GAA6B,QAAlBO,EAAC/G,MAAAA,GAAY,QAARgH,EAAJhH,EAAMI,cAAM,IAAA4G,OAAR,EAAJA,EAAe,UAAE,IAAAD,EAAAA,EAAIr5B,KAAKqsB,uBANd,GAMsD+M,EANtD,GAQ5B,OAAON,GAOJ,KAAAJ,wBAA0B,KACyB,CAClDtuB,UAAW,CACPC,GAAI,CAAEC,EAAG,kBAAmBC,EAAG,IAAKC,EAAG,KACvCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,IAAKC,EAAG,KACvCE,GAAI,CAAEJ,EAAG,kBAAmBC,EAAG,IAAKC,EAAG,MAE3CG,UAAU,IAUX,KAAA4uB,QAAWlZ,IACd,GAAIA,EAAM/Z,MAAQgvB,EAAqBkE,SAAU,CAC7C,MAAMC,EAAsBpZ,EAAMoZ,OAClC,GAAwB,SAApBA,EAAOC,SAAqB,CAC5B,MAAMpH,EAAwBmH,EAC1BnH,EAAKztB,MACLpC,OAAOg1B,KAAKnF,EAAKztB,KAAM,UAI/Bwb,EAAM/Z,MAAQgvB,EAAqBqE,QACnC35B,KAAK03B,cAQN,KAAAzL,oBAAsB,KAEzB,GAAInN,EAAAA,GAA0BC,UAAW,CACrC,MAAMmN,EAA4BlsB,KAAKq3B,iBACvC,GAA0C,OAAtCnL,EAA0BhkB,QAC1B,OAAOgkB,EAA0BhkB,QAAQkkB,YAGjD,OAP6B,GAc1B,KAAAC,qBAAuB,KAE1B,GAAIvN,EAAAA,GAA0BC,UAAW,CACrC,MAAMmN,EAA4BlsB,KAAKq3B,iBACvC,GAA0C,OAAtCnL,EAA0BhkB,QAC1B,OAAOgkB,EAA0BhkB,QAAQokB,aAGjD,OAP8B,GAyB3B,KAAAsN,iBAAoBvZ,IACvBrgB,KAAKP,MAAMuC,OAAO+gB,QAASqH,KAAO/J,EAAMoZ,OAAO9xB,OAO5C,KAAAkyB,sBAAyBxZ,IAC5BrgB,KAAKP,MAAMuC,OAAO83B,UAAYzZ,EAAMoZ,OAAO9xB,OAuCxC,KAAAoyB,8BAAgC,KACnC,MAAM,MAAEpP,GAAU3qB,KAAKP,MAAMuC,OACvB8P,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKg6B,kBAAmB,IAElE,OAAOrP,MAAAA,OAAK,EAALA,EAAOhqB,KAAI,CAACs5B,EAAiC70B,KAChD0M,EAAQooB,cAAcC,MAAQF,EAASjP,SACvC,MAAMoP,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKg6B,kBAAmBloB,GAC5DuoB,EAASj1B,EACT2lB,EAAoC,CACtC3N,UAAW6c,EAAS7c,UACpBpT,UAAW,uCACXghB,SAAUiP,EAASjP,SACnBC,QAASgP,EAAShP,QAAQC,eAC1BC,aAAc8O,EAASK,iBACvBjP,KAAM,SACNkP,qBAAsBH,GAG1B,OACI76B,EAAAA,cAACuf,EAAAA,GAAa,CACVxY,IAAK+zB,EACLla,KAAM4K,EACNV,UAAW,CAKPiB,aAAcjL,IACVrgB,KAAKw6B,qBAAqBp1B,EAAOib,IAErC5f,eAAgBT,KAAKP,MAAMQ,QAAQsE,eAWhD,KAAAk2B,gCAAkC,KAAkC,IAAAC,EACvE,MAAM,QAAE3X,GAAY/iB,KAAKP,MAAMuC,OAE/B,OACI+gB,GACIxjB,EAAAA,cAACuf,EAAAA,GAAa,CACV9U,UAAU,mCACV+d,IAAgB,QAAb2S,EAAE3X,EAAQgF,WAAG,IAAA2S,EAAAA,EAAI,KACpBtQ,KAAMrH,EAAQqH,KACdC,UAAW,CAAEC,OAAQtqB,KAAK45B,iBAAkBn5B,eAAgBT,KAAKP,MAAMQ,QAAQsE,YAUxF,KAAAo2B,kCAAoC,KACvC,MAAM,UAAEb,GAAc95B,KAAKP,MAAMuC,OAEjC,OACI83B,GACIv6B,EAAAA,cAACuf,EAAAA,GAA0B,CACvBsL,KAAM0P,EACN9vB,UAAU,kCACVqgB,UAAW,CAAEC,OAAQtqB,KAAK65B,sBAAuBp5B,eAAgBT,KAAKP,MAAMQ,QAAQsE,YAU7F,KAAAq2B,iBAAmB,KACtB,MAAM,YAAExD,GAAgBp3B,KAAKP,MAAMuC,OACnC,IAAI64B,EAAwB,GAC5B,GAAIzD,MAAAA,GAAAA,EAAahsB,IAAK,CAAC,IAAD0vB,EAClB,MAAMC,EAAoB3D,EAAYhsB,IAAI4vB,MAAM,KAC1CC,EAAuB,EAE7BJ,EAAoC,QAAvBC,EADaC,EAAkBA,EAAkB16B,OAAS46B,GAAcD,MAAM,KACzD,UAAE,IAAAF,EAAAA,EAAI,GAE5C,OAAOD,GAOM,KAAAK,oBAAuB7a,IAAqB,IAAA8a,EACtB,QAAnCA,EAAIn7B,KAAKk4B,mBAAmBhwB,eAAO,IAAAizB,GAA/BA,EAAiCC,SAAS/a,EAAMoZ,SAGpDz5B,KAAK03B,cA1hBL13B,KAAKg6B,mBAAoBlV,EAAAA,EAAAA,oBACrB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAEf,MAAM8Q,GAAWxN,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAYC,QAASj2B,QAASD,KAAKP,MAAMQ,QAAQsE,UACtFvE,KAAKi3B,kBAAoB,oBAAoBj3B,KAAK46B,qBAClD56B,KAAKiD,MAAQ,CACTmpB,YAAa,EACbkG,KAAM,KACNyD,SAAAA,EACAyB,aAAc,IAElBx3B,KAAK+rB,mBAAkC,OAAbgK,GAAkC,OAAbA,EAC/C/1B,KAAKq3B,iBAAmB93B,EAAAA,YACxBS,KAAKk4B,mBAAqB34B,EAAAA,YAGvBohB,oBAUH,GATI7B,EAAAA,GAA0BC,YAC1Btc,OAAOoe,iBAAiB,SAAU7gB,KAAK81B,mBACvCrX,SAASoC,iBAAiB,UAAW7gB,KAAKu5B,SAAS,GACnD9a,SAASoC,iBAAiB,YAAa7gB,KAAKk7B,sBAEhDG,YAAW,KACPr7B,KAAK81B,sBACNR,EAAqBgG,iBAEpBxc,EAAAA,GAA0BC,WAAa/e,KAAKq3B,iBAAiBnvB,QAAS,CACtE,MAAMqzB,EAAoCv7B,KAAKq3B,iBAAiBnvB,QAAQszB,uBACpE,4CAEA7vB,EAAAA,gBAAgBC,YAAY6vB,MAAMC,KAAKH,KACvCA,EAAO,GAAGI,gBAAgB,WA2B/BC,uBACC9c,EAAAA,GAA0BC,YAC1Btc,OAAOo5B,oBAAoB,SAAU77B,KAAK81B,mBAC1CrX,SAASod,oBAAoB,UAAY77B,KAAKu5B,SAAsC,GACpF9a,SAASod,oBAAoB,YAAa77B,KAAKk7B,qBAAqB,IAiBrE5xB,SACH,MAAMC,EAASpD,EAAAA,EAAA,GACPnG,KAAKP,OAAmD,IAC5Dq8B,qBAAsB,CAClB5Y,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,mBAAoBlgB,KAAKi3B,kBAAmBj3B,KAAKP,MAAMuC,OAAOgI,YAExF+xB,4BAA6B,CACzBhU,IAAK,MACL/d,UAAWkW,GAAAA,CAAW,2BAA4BlgB,KAAKi3B,kBAAmBj3B,KAAKP,MAAMuC,OAAOgI,WAC5FmY,IAAKniB,KAAKq3B,kBAEdvF,SAAU9xB,KAAKP,MAAMuC,OAAO4yB,YAC5BoH,YAAah8B,KAAKm2B,oBAClB8F,QAASj8B,KAAKm4B,gBACd+D,YAAal8B,KAAKi4B,oBAClBkE,wBAAyBn8B,KAAKo4B,0BAC9BgE,uBAAwBp8B,KAAK+4B,0BAC7B/tB,MAAOhL,KAAKy6B,kCACZrQ,KAAMpqB,KAAK26B,oCACXhQ,MAAO3qB,KAAK+5B,gCACZsC,iBAAkB,CAAEryB,UAAW,6BAC/BsyB,oBAAqB,CAAEtyB,UAAW,kCAClC2hB,kBAAmBD,EAA6B,CAC5CjrB,eAAgBT,KAAKP,MAAMQ,QAAQsE,QACnConB,kBAAmB3rB,KAAKP,MAAMuC,OAAO2pB,kBACrCpB,2BAA4BvqB,KAAKuqB,2BACjCgS,gCAAiCv8B,KAAKu8B,gCACtChR,+BAAgCvrB,KAAKurB,iCAEzCiR,qBAAsBx8B,KAAKuqB,2BAC3BkS,0BAA2Bz8B,KAAKu8B,gCAChCG,yBAA0B18B,KAAKuqB,6BAGnC,OAAOvqB,KAAKP,MAAM+J,WAAWD,GA0Q1BixB,qBAAqB1P,EAAmBzK,GACvCrgB,KAAKP,MAAMuC,OAAO2oB,OAAS3qB,KAAKP,MAAMuC,OAAO2oB,MAAMzhB,OAAO4hB,MAC1D9qB,KAAKP,MAAMuC,OAAO2oB,MAAMzhB,OAAO4hB,IAAYE,SAAW3K,EAAMoZ,OAAO9xB,OAwBpE4iB,2BAA2BlK,GAC1BrgB,KAAKP,MAAMuC,OAAO2pB,oBAClB3rB,KAAKP,MAAMuC,OAAO2pB,kBAAkB5I,QAAU1C,EAAMoZ,OAAO9xB,OAS5D4jB,+BAA+BT,EAAmBzK,GAAoC,IAAAsc,EACzF,MAAMhR,EAAuD,QAAtCgR,EAAG38B,KAAKP,MAAMuC,OAAO2pB,yBAAiB,IAAAgR,EAAAA,EAAI,GAC7DhR,EAAkBhB,QAClBgB,EAAkBhB,MAAMzhB,OAAO4hB,IAAYE,SAAW3K,EAAMoZ,OAAO9xB,OAQpE40B,gCAAgClc,GAC/BrgB,KAAKP,MAAMuC,OAAO2pB,oBAClB3rB,KAAKP,MAAMuC,OAAO2pB,kBAAkBnB,QAAUnK,EAAMoZ,OAAO9xB,QA6GvE,wHCloBA,MAiBai1B,EAAmDn9B,IAC5D,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAMq8B,sBACdv8B,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMs8B,6BACXt8B,EAAMu8B,YACPz8B,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM48B,iBAAgB,CAAEryB,UAAWvK,EAAM48B,iBAAmB58B,EAAM48B,iBAAiBryB,UAAY,KACpGvK,EAAMuL,MACNvL,EAAM2qB,KACN3qB,EAAMksB,oBAzBMA,EAyBuClsB,EAAMksB,kBAvBtEpsB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0Y,EAAkB3B,uBACvB2B,EAAkB5I,QACnBxjB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0Y,EAAkBH,4BACvBG,EAAkBvB,KACnB7qB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0Y,EAAkBF,4BAA6BE,EAAkBhB,UAoBvEprB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM68B,oBAAmB,CAAEtyB,UAAWvK,EAAM68B,oBAAsB78B,EAAM68B,oBAAoBtyB,UAAY,KAC7GvK,EAAMkrB,SAInBprB,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAU,0CACV8qB,MAAO,CAAE+H,IAAK,GAAGp9B,EAAM28B,2BAA4BU,KAAM,GAAGr9B,EAAM08B,8BAEjE18B,EAAMw8B,QACNx8B,EAAMy8B,cApCUvQ,IAAAA,GA0CjC,kuBChBO,MAAMoR,UAAqBx9B,EAAAA,cAG9BC,YAAmBC,GACfC,MAAMD,GA2FO,KAAAu9B,gBAAkB,KAC/Bh9B,KAAKuB,UAAS0B,IAAK,CACfgmB,YAAahmB,EAAMgmB,gBA3FvBjpB,KAAKiD,MAAQ,CACTgmB,YAAY,GAIb3f,SAAM,IAAA2zB,EACT,MAAMC,EAAuBvxB,EAAAA,gBAAgBC,YAAY5L,KAAKP,MAAM+R,mBAC9D2rB,EAAsBxxB,EAAAA,gBAAgBC,YAA6C,QAAlCqxB,EAACj9B,KAAKP,MAAM0C,KAAKqP,yBAAiB,IAAAyrB,OAAA,EAAjCA,EAAmClc,QAC3F,IAAKmc,IAAyBC,EAC1B,OAAO,KAGX,MAAM5zB,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACb29B,UAAW,CACPla,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW6c,EAAa/yB,UAAWhK,KAAKP,MAAMuC,OAAOgI,YAEpEqzB,QAASr9B,KAAKs9B,uBAAuB,GAAGP,EAAa/yB,wBAGzD,OAAOhK,KAAKP,MAAM+J,WAAWD,GAGzB+zB,uBAAuBtzB,GAC3B,OACIzK,EAAAA,cAAA,OAAKyK,UAAWA,GACXhK,KAAKu9B,sBAAsB,GAAGvzB,sBAC9BhK,KAAKw9B,gBAAgB,GAAGxzB,gBAK7BuzB,sBAAsBvzB,GAC1B,OACIzK,EAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWA,EACXE,QAASlK,KAAKg9B,gBAAe,gBACdh9B,KAAKiD,MAAMgmB,WAC1Bje,MAAOhL,KAAKP,MAAMgR,UAAUgtB,yBAE3Bz9B,KAAKP,MAAMgR,UAAUgtB,yBAK1BD,gBAAgBxzB,GACpB,OACIzK,EAAAA,cAACm+B,EAAAA,SAAQ,CAAC1zB,UAAWA,EAAW2zB,OAAQ39B,KAAKiD,MAAMgmB,YAC9CjpB,KAAK49B,mBAAmB,GAAG5zB,oBAKhC4zB,mBAAmB5zB,GACvB,MAAM6zB,EAAsG,QAArFtV,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAY6H,SAAU79B,QAASD,KAAKP,MAAMQ,QAAQsE,UAE7F,OACIhF,EAAAA,cAAA,OAAKyK,UAAWA,IACV6zB,GACEt+B,EAAAA,cAAA,OAAKyK,UAAW,GAAGA,kBACfzK,EAAAA,cAACw+B,EAAAA,GAAiB,CAAC3T,KAAMpqB,KAAKP,MAAMgR,UAAUutB,+BAGrDh+B,KAAKi+B,cAAc,GAAGj0B,wBAK3Bi0B,cAAcj0B,GAAiB,IAAAk0B,EAAAC,EACnC,MAAMjB,EAAuBvxB,EAAAA,gBAAgBC,YAAY5L,KAAKP,MAAM+R,mBAEpE,OACIjS,EAAAA,cAAC6+B,EAAAA,wBAAuB,CACpBp0B,UAAWA,EACX/J,QAASD,KAAKP,MAAMQ,QACpBkC,KAAM,CACFk8B,WAAYnB,EAAuBl9B,KAAKP,MAAM+R,kBAAqBxR,KAAKP,MAAM0C,KAAKqP,kBAAmBuP,OACtGud,eAA8C,QAAhCJ,EAAEl+B,KAAKP,MAAM0C,KAAKm8B,sBAAc,IAAAJ,OAAA,EAA9BA,EAAgCnd,OAChDwd,oBAAwD,QAArCJ,EAAEn+B,KAAKP,MAAM0C,KAAKo8B,2BAAmB,IAAAJ,OAAA,EAAnCA,EAAqCpd,QAE9DtQ,UAAWzQ,KAAKP,MAAMgR,aAtFXssB,EAAA/yB,UAAY,mBAqGvC,kICjIO,MAAMw0B,EAA8D/+B,GAChEF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAM29B,WAAY39B,EAAM49B,SAG/C,wrBCWA,MAAMoB,UAAuBl/B,EAAAA,cAKzBC,YAAYC,EAAsCwD,GAC9CvD,MAAMD,GAmDO,KAAAi/B,uBAAyB,KAClC1+B,KAAKP,MAAMQ,SAAWD,KAAKP,MAAMQ,QAAQsE,SAAWvE,KAAKP,MAAMQ,QAAQsE,QAAQo6B,UAC/E3+B,KAAKP,MAAMQ,QAAQsE,QAAQo6B,QAAQC,IAAI,mBAAmB5+B,KAAKP,MAAM6H,KAAM,QAC3EtH,KAAKuB,SAAS,CAAEs9B,iBAAiB,MAOxB,KAAAC,MAAQ,KACrB,MAAM,MAAEjzB,GAAU7L,KAAKP,MACjBs/B,EAAY/+B,KAAKiD,MAAM+7B,eAAiBnzB,GAASA,EAAMwxB,SAAWxxB,EAAMwxB,QAAQh9B,OAAS,GAAK,EAAIL,KAAKiD,MAAM+7B,YAAc,EAE7Hh/B,KAAKi/B,UACLj/B,KAAKuB,SAAS,CAAE29B,UAAU,EAAMF,YAAaD,IAE7C/+B,KAAKuB,SAAS,CAAEy9B,YAAaD,KAOpB,KAAAI,UAAY,KACzB,MAAMtzB,EAAQ7L,KAAKP,MAAMoM,OAAS7L,KAAKP,MAAMoM,MAAMwxB,QAC7C0B,EAAuC,IAA3B/+B,KAAKiD,MAAM+7B,YAAqBnzB,EAAQA,EAAMxL,OAAS,EAAI,EAAKL,KAAKiD,MAAM+7B,YAAc,EAEvGh/B,KAAKi/B,UACLj/B,KAAKuB,SAAS,CAAE29B,UAAU,EAAMF,YAAaD,IAE7C/+B,KAAKuB,SAAS,CAAEy9B,YAAaD,KAIpB,KAAAK,WAAa,KAC1Bp/B,KAAKi/B,WAAY,GAGJ,KAAAI,UAAY,KACzBr/B,KAAKi/B,WAAY,EACjBj/B,KAAKuB,SAAS,CAAE29B,UAAU,KAOb,KAAAI,WAAcC,IACvBv/B,KAAKi/B,WAGTj/B,KAAKuB,SAAS,CAAEy9B,YAAaO,KAtG7Bv/B,KAAKiD,MAAQ,CAAE+7B,YAAa,EAAGE,UAAU,EAAOL,iBAAiB,GACjE7+B,KAAKi/B,WAAY,EACjBj/B,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAIZtE,oBACC3gB,KAAKP,MAAMQ,SAAWD,KAAKP,MAAMQ,QAAQsE,SAAWvE,KAAKP,MAAMQ,QAAQsE,QAAQo6B,cACIh9B,IAA/E3B,KAAKP,MAAMQ,QAAQsE,QAAQo6B,QAAQa,IAAI,mBAAmBx/B,KAAKP,MAAM6H,QACrEtH,KAAKP,MAAMQ,QAAQsE,QAAQo6B,QAAQC,IAAI,mBAAmB5+B,KAAKP,MAAM6H,KAAM,SAC3EtH,KAAKuB,SAAS,CAAEs9B,iBAAiB,KAKtCv1B,SACH,GAAItJ,KAAKiD,MAAM47B,gBACX,OAAO,KAGX,MAAM,UAAE70B,GAAchK,KAAKP,MAAMuC,OAE3BuH,EAASpD,EAAAA,EAAAA,EAAA,GAGRnG,KAAKP,OACLO,KAAKiD,OAAK,IACb+O,iBAAkBhS,KAAKgS,iBACvBytB,kBAAmB,CACfvc,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,cAAelW,IAEzC01B,eAAgB1/B,KAAKiD,MAAMi8B,SAAW,YAAc,GACpDS,KAAM3/B,KAAK8+B,MACXc,SAAU5/B,KAAKm/B,UACfU,yBAA0B7/B,KAAKs/B,WAC/BQ,sBAAuB9/B,KAAK0+B,uBAC5BqB,eAAgB//B,KAAKq/B,UACrBW,gBAAiBhgC,KAAKo/B,aAG1B,OAAOp/B,KAAKP,MAAM+J,WAAWD,IA8DrC,8HC9HA,MAAM02B,EAAiBxgC,IACnB,IAAIyF,EAAQ,GAEZ,OADAA,EAAQzF,EAAMoM,OAASpM,EAAMoM,MAAMwxB,SAAW59B,EAAMoM,MAAMwxB,QAAQh9B,OAAS,EAAIZ,EAAMoM,MAAMwxB,QAAU,GAC9Fn4B,GA+BX,EA7BmDzF,GAC/CF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAMggC,kBAAuBhgC,EAAMygC,uBAAuBzgC,IAClEF,EAAAA,cAAC4gC,EAAAA,SAAQ,CACLn2B,UAAWkW,GAAAA,CAAWzgB,EAAMigC,gBAC5BV,YAAav/B,EAAMu/B,YACnBW,KAAMlgC,EAAMkgC,KACZC,SAAUngC,EAAMmgC,SAChBQ,QAAO3gC,EAAMuC,OAAOq+B,cAAe,QACnCC,KAAM7gC,EAAMuC,OAAOu+B,SAAW,gBAAa5+B,EAC3C4+B,SAAU9gC,EAAMuC,OAAOu+B,SACvBC,SAAU/gC,EAAMuC,OAAOw+B,SACvBC,eAAgBhhC,EAAMuC,OAAOy+B,eAAiBhhC,EAAMuC,OAAOy+B,oBAAiB9+B,EAC5EuD,MAAO+6B,EAAcxgC,GACrBihC,YAAajhC,EAAMuC,OAAO0+B,YAC1BC,eAAgBlhC,EAAMuC,OAAO2+B,eAC7Bd,yBAA0BpgC,EAAMogC,yBAChCC,sBAAuBrgC,EAAMqgC,sBAC7Bc,wBAAyBnhC,EAAMgR,WAAahR,EAAMgR,UAAUowB,0BAC5DC,kBAAmBrhC,EAAMgR,WAAahR,EAAMgR,UAAUswB,kBACtDC,kBAAmBvhC,EAAMgR,WAAahR,EAAMgR,UAAUwwB,gBACtDC,kBAAmBzhC,EAAMgR,WAAahR,EAAMgR,UAAU0wB,YACtDpB,eAAgBtgC,EAAMsgC,eACtBC,gBAAiBvgC,EAAMugC,gBACvBhuB,iBAAkBvS,EAAMuS,iBACxBovB,SAAU3hC,EAAMuC,OAAOo/B,mHCOnC,MAAMC,UAAkB9hC,EAAAA,UAGpBC,YAAYC,EAAwBwD,GAChCvD,MAAMD,GA8BO,KAAA6hC,sBAAyBC,IACtC,MAAMC,EAA2B,KAAnBD,EAAE9H,OAAO9xB,MAAe,GAAK3H,KAAKiD,MAAMu+B,MACtDxhC,KAAKuB,SAAS,CACVkgC,oBAAqBF,EAAE9H,OAAO9xB,MAAM+5B,OACpCF,MAAAA,EACAG,WAAYJ,EAAE9H,OAAO9xB,SAIZ,KAAAi6B,gBAAmB9sB,IAChC,IAAKA,IAAcA,EAAU+sB,KACzB,OAEJ,MAAMC,EAAe9hC,KAAKiD,MAAMw+B,oBAEhC3sB,EACKitB,aAAa,CAAEC,UAAWF,IAC1B1gC,MAAK2f,IACoB,YAAlBA,EAAOkhB,OAEPjiC,KAAKuB,SAAS,CAAEkgC,oBAAqB,GAAID,MAAO,GAAIG,UAAU,IAClC,iBAArB5gB,EAAOmhB,UACdliC,KAAKuB,SAAS,CAAEigC,MAAOxhC,KAAKP,MAAM0iC,8BAElCniC,KAAKuB,SAAS,CAAEigC,MAAOxhC,KAAKP,MAAM2iC,+BAGzCC,OAAMb,IACHxhC,KAAKuB,SAAS,CAAEigC,MAAOxhC,KAAKP,MAAM6iC,oCAS7B,KAAAC,iBAAoBztB,GAAuCuL,IACxEA,EAAMC,iBACNtgB,KAAKwiC,uBAAuB1tB,IAQf,KAAA0tB,uBAA0B1tB,GAAsC,KAC7E9U,KAAK4hC,gBAAgB9sB,IAGR,KAAA2tB,YAAc,CAACC,EAA8BC,EAAkC7tB,KAC5F,MAAMslB,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKP,MAAMuS,iBAAmBhS,KAAK8R,SAE7E,OACIvS,EAAAA,cAAA,QAAMqjC,SAAU5iC,KAAKuiC,iBAAiBztB,GAAY9K,UAAU,kCACxDzK,EAAAA,cAAA,OAAKyK,UAAU,yBACXzK,EAAAA,cAAA,SACIyK,UAAU,4BACVwI,SAAUxS,KAAKshC,sBACf35B,MAAO3H,KAAKiD,MAAMw+B,oBAClBoB,YAAaH,IAEjBnjC,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjI,MAAO23B,EACP34B,UAAU,gCACVE,QAASlK,KAAKwiC,uBAAuB1tB,GACrCR,UAAWtU,KAAKiD,MAAM0+B,UAClBvH,GAEHuI,MAOJ,KAAAG,iBAAmB,CAAChuB,EAAmCuL,KACpE,IAAKvL,EACD,OAEJ,MAAMiuB,EAAO1iB,EAAM2iB,cAAcjV,aAAa,eAAiB,GAC/DjZ,EACKmuB,iBAAiB,CACdC,WAAY,CAACH,KAEhB3hC,MAAK2f,IACoB,YAAlBA,EAAOkhB,QACPjiC,KAAKuB,SAAS,CAAEigC,MAAO,QAG9Ba,OAAM,KACHriC,KAAKuB,SAAS,CAAEigC,MAAOxhC,KAAKP,MAAM0jC,uCAI7B,KAAAC,mBAAqB,CAACL,EAAcjuB,KACjD,KAAKA,GAAcA,EAAU+sB,MAAS/sB,EAAU+sB,KAAKwB,WAAiD,IAApCvuB,EAAU+sB,KAAKwB,UAAUhjC,QAAiB0iC,GACxG,OAEJ,IAAIO,EAAiB,EACrB,IAAK,MAAMC,KAAQzuB,EAAU+sB,KAAKwB,UAC9B,GAAIE,EAAKz1B,cACL,IAAK,MAAMC,KAAgBw1B,EAAKz1B,cACxBC,EAAay1B,eAAiBT,IAC9BO,GAAkBv1B,EAAa01B,cAK/C,OAAyB,EAAlBH,GAGM,KAAAI,wBAA2BjkC,IACxC,IAAKA,EAAMoiC,OAASpiC,EAAMoiC,KAAKA,OAASpiC,EAAMoiC,KAAKA,KAAK8B,SAA8C,IAAnClkC,EAAMoiC,KAAKA,KAAK8B,QAAQtjC,OACvF,OAGJ,MAAMujC,EAA0BvjB,IAC5BrgB,KAAK8iC,iBAAiBrjC,EAAMoiC,KAAMxhB,IAGhCwjB,EAAwBpkC,EAAMoiC,KAAKA,KAAK8B,QAAQ17B,QAAO,CAACE,EAAe27B,IAClE37B,GAASnI,KAAKojC,mBAAmBU,EAAOC,MAAQ,GAAItkC,EAAMoiC,OAAS,IAC3E,GAEH,OACItiC,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKyK,UAAU,4BACXzK,EAAAA,cAAA,OAAKyK,UAAU,oCAAoChK,KAAKP,MAAMukC,6BAC9DzkC,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM,CACF8B,MAAO,CACH+C,wBAAyB68B,IAGjC5jC,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,oCAGjBvK,EAAMoiC,KAAKA,KAAK8B,QAAQhjC,KAAKmjC,IAC1B,MAAM1mB,EAAY3d,EAAMwkC,4BAClB7sB,EAAAA,EAAAA,QAAO3X,EAAMwkC,2BAA4BxkC,EAAMykC,gBAAiBJ,EAAOC,MACvE,GAEN,OACIxkC,EAAAA,cAAA,OAAK+G,IAAKw9B,EAAOC,KAAM/5B,UAAU,kCAC7BzK,EAAAA,cAAA,OAAKyK,UAAU,8BACV85B,EAAOC,KAAM,IACdxkC,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM,CACF8B,MAAO,CACH+C,wBAAyBhH,KAAKojC,mBAAmBU,EAAOC,MAAQ,GAAItkC,EAAMoiC,QAGlF5hC,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,yCAGlBzK,EAAAA,cAACuL,EAAAA,OAAM,CACHE,MAAOvL,EAAMykC,gBACbl6B,UAAU,mCACVE,QAAS05B,EAAsB,aACnBE,EAAOC,KAAI,aACX3mB,GAEX3d,EAAMykC,uBAvM/BlkC,KAAK8R,SAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKP,MAAMuS,iBAAmBmyB,EAAAA,kBAAkBC,gBACzFpkC,KAAKiD,MAAQ,CACTohC,gBAAgB,EAChB5C,oBAAqB,GACrBD,MAAO,GACPG,UAAU,GAIX3M,sBAAsBC,EAA4BqP,GACrD,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,MAAM0C,OAAS8yB,EAAU9yB,KAM3DmH,SACH,OACI/J,EAAAA,cAAA,WACIA,EAAAA,cAAA,OAAKyK,UAAU,0BAA0BhK,KAAKP,MAAM8kC,sBACnDvkC,KAAKyiC,YAAYziC,KAAKP,MAAMijC,qBAAsB1iC,KAAKP,MAAMkjC,yBAA0B3iC,KAAKP,MAAMoiC,MACnGtiC,EAAAA,cAAA,KAAGyK,UAAWhK,KAAKiD,MAAMu+B,MAAQ,mBAAqB,GAAE,YAAY,aAC/DxhC,KAAKiD,MAAMu+B,OAEfxhC,KAAK0jC,wBAAwB1jC,KAAKP,SAyLnD,mGC9PA,MAAM+kC,GAA+BC,EAAAA,EAAAA,MACrCD,EAAYl5B,aAAe,CACvBjB,GAAI,CAAEE,EAAG,IAAKC,EAAG,GACjBk6B,GAAI,CAAEn6B,EAAG,IAAKC,EAAG,GACjBm6B,GAAI,CAAEp6B,EAAG,KAAMC,EAAG,GAClBC,GAAI,CAAEF,EAAG,KAAMC,EAAG,GAClBE,GAAI,CAAEH,EAAG,KAAMC,EAAG,IAEtBg6B,EAAY9jC,KAAKkkC,iBAAkB,EACnCJ,EAAY9jC,KAAKmkC,UAAY,UAC7BL,EAAY9jC,KAAKokC,WAAa,WAC9BN,EAAY9jC,KAAKqkC,UAAY,UAE7B,MAAMC,GAAkBP,EAAAA,EAAAA,MACxBO,EAAgBtkC,KAAKkkC,iBAAkB,EACvCI,EAAgBtkC,KAAKmkC,UAAY,UACjCG,EAAgBtkC,KAAKokC,WAAa,WAClCE,EAAgBtkC,KAAKqkC,UAAY,UAEjC,MAAME,GAAyBR,EAAAA,EAAAA,MAC/BQ,EAAuBvkC,KAAKkkC,iBAAkB,EAC9CK,EAAuBvkC,KAAKwkC,sBAAwB,uEACpDD,EAAuBvkC,KAAKmkC,UAAY,UACxCI,EAAuBvkC,KAAKokC,WAAa,WACzCG,EAAuBvkC,KAAKqkC,UAAY,WAEdI,EAAAA,EAAAA,qHCvB1B,IAAaC,EAAb,cAA0C7lC,EAAAA,cAA1CC,cAAA,oBACqB,KAAA6lC,oBAA0D9lC,EAAAA,YAMpE,KAAA+lC,YAAc,IACVtlC,KAAKulC,2BAA2BvlC,KAAKP,OAGzC6J,SACH,MACInH,MACIqjC,2BAA6BzkB,OAAQykB,IACxC,MACD35B,EAAK,UACL4E,GACAzQ,KAAKP,MAGT,GAAIkM,EAAAA,gBAAgBC,YAAYC,MAAAA,OAAK,EAALA,EAAO45B,eAAgB,CACnD,MAAMC,EACFF,MAAAA,GAAAA,EAA2BxjB,gBAAkBwjB,EAA0BxjB,eAAe2jB,UAChFH,EAA0BxjB,eAAe2jB,UACzCl1B,EAAUm1B,yBAEpB,OACIrmC,EAAAA,cAAA,OAAKyK,UAAU,wCACXzK,EAAAA,cAAA,UACIyK,UAAU,yCACVnB,MAAM,YAAW,aACL4H,EAAUo1B,8BACtB37B,QAASlK,KAAKslC,YACdnjB,IAAKniB,KAAKqlC,qBAEV9lC,EAAAA,cAAA,QAAMyK,UAAU,mCAAmC07B,IAEtD75B,EAAM45B,gBAQf,iCAAiChmC,GACrC,MACI0C,MACIqjC,2BAA6BzkB,OAAQykB,IACxC,QACDM,GACArmC,EACJ,IAAK+lC,EACD,OAEJ,IAAIO,EAA0B,GAC1BD,GAAW9yB,OAAOgzB,KAAKF,GAASzlC,OAAS,GAAKsL,EAAAA,gBAAgBC,YAAYk6B,EAAQL,iBAClFM,EAAkBD,EAAQL,cAAc,GAAGn+B,UAEzCk+B,EACDS,WAAW,CACR3+B,GAAIy+B,EACJG,iBAAiB,EACjBC,iBAAkBnmC,KAAKqlC,oBACvBe,mBAAoBC,GACTC,QAAQC,YAGtBlE,OAAOb,IACA/hC,EAAMwlB,YACNxlB,EAAMwlB,UAAUuc,MAAMA,EAAMgF,SAC5B/mC,EAAMwlB,UAAUwhB,MAAM,uCAxE7BrB,GAAoBsB,EAAAA,EAAAA,IAAA,CADhCC,EAAAA,IACYvB,+BCeN,MAAMziB,UAAapjB,EAAAA,cAGtBC,YAAYC,GACRC,MAAMD,GACN,MAAMqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmBmyB,EAAAA,kBAAkBxhB,MACrF3iB,KAAKo6B,YAAajoB,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAG/DxI,SACH,OAAO/J,EAAAA,cAAA,OAAKyK,UAAWhK,KAAKP,MAAMuK,WAAYhK,KAAK4mC,YAAY5mC,KAAKP,QAGhEmnC,YAAY5kC,GAChB,OAAIA,EAAOme,MAAQne,EAAOme,KAAK8K,QAAQC,eAE/B3rB,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACIpO,KAAM7C,EAAOme,KAAK8K,QAAQC,eAAc,aAC5BlpB,EAAOme,KAAK/C,UACxBqc,OAAQz3B,EAAOme,KAAKgL,aAAe,cAAWxpB,EAC9CklC,IAAI,uBACA7mC,KAAKo6B,YAERp6B,KAAK8mC,aAAa9kC,IAIxBhC,KAAK8mC,aAAa9kC,GAGrB8kC,aAAa9kC,GASjB,OACIzC,EAAAA,cAAC4qB,EAAAA,GAAcnX,OAAAC,OAAA,GACPjR,EAAO6gB,MAAK,CAChBpiB,eAAgBT,KAAKP,MAAMgB,eAC3B6K,aAActL,KAAKP,MAAM6L,aACzBC,cAAgBvJ,GAAUA,EAAO6gB,OAAS7gB,EAAO6gB,MAAMtX,eAbT,CAClDnB,UAAW,CACPC,GAAI,CAAEC,EAAG,iBAAkBC,EAAG,EAAGC,EAAG,GACpCC,GAAI,CAAEH,EAAG,iBAAkBC,EAAG,EAAGC,EAAG,IAExCG,UAAU,GASNa,oBAAoB,UACpB6e,UAAW,CACP/jB,IAAKtE,EAAO6gB,OAAS,GACrBpiB,eAAgBT,KAAKP,MAAMgB,eAC3BsmC,WAAY/mC,KAAKP,MAAMmK,SACvBo9B,kBAAmB,SAEvBC,uBAAqB,MClDrC,IAAaC,EAAb,cAA6B3nC,EAAAA,cAGzBC,YAAYC,GACRC,MAAMD,GACN,MAAMqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmBmyB,EAAAA,kBAAkB+C,SACrFlnC,KAAKo6B,YAAajoB,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAG/DxI,SACH,OACI/J,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjJ,UAAU,sBACVE,QAASlK,KAAKP,MAAM0nC,aACpBn8B,MAAOhL,KAAKP,MAAMgR,UAAU22B,yBAAwB,aACxCpnC,KAAKP,MAAMgR,UAAU22B,yBAAwB,gBAC1CpnC,KAAKP,MAAMwpB,WAAU,gBACrBjpB,KAAKP,MAAM4nC,UACtBrnC,KAAKo6B,eAlBZ8M,GAAOR,EAAAA,EAAAA,IAAA,CADnBC,EAAAA,IACYO,sxBC+Cb,IAAMI,EAAN,cAAqB/nC,EAAAA,cAkCjBC,YAAmBC,GACfC,MAAMD,GA6NH,KAAA+6B,qBAAwB1P,GAAuBzK,IAA8C,IAAAknB,EAC5D,QAApCA,EAAIvnC,KAAKP,MAAMuC,OAAOwlC,sBAAc,IAAAD,GAAhCA,EAAmCzc,KACnC9qB,KAAKP,MAAMuC,OAAOwlC,eAAe1c,GAAWE,SAAW3K,EAAMoZ,OAAO9xB,QA9NxE3H,KAAKynC,WAAaloC,EAAAA,YAClBS,KAAK0nC,cAAgB1nC,KAAK0nC,cAAcC,KAAK3nC,MAC7CA,KAAK4nC,eAAiB5nC,KAAK4nC,eAAeD,KAAK3nC,MAC/CA,KAAK6nC,SAAW7nC,KAAK6nC,SAASF,KAAK3nC,MACnCA,KAAKiD,MAAQ,CACT6kC,qBAAqB,EACrBC,mBAAmB,EACnBC,gBAAgB,GAEpBhoC,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAtCT,kBACN,MAAMvkB,EAAOV,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KACxC,OAAOA,MAAAA,GAAAA,EAAMunC,aAAejoC,KAAKkoC,WAAaloC,KAAKmoC,aAM7C,iBACN,MAAMznC,EAAOV,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KACxC,OAAOA,MAAAA,OAAI,EAAJA,EAAM0nC,aAAa1nC,MAAAA,OAAI,EAAJA,EAAM8H,MAG1B,mBAAuB,IAAA6/B,EAC7B,MAAM3nC,EAAOV,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KAClC4nC,EAA6C,QAArCD,EAAGroC,KAAKP,MAAM0C,KAAK2e,0BAAkB,IAAAunB,OAAA,EAAlCA,EAAoCtnB,OACrD,OAAIrgB,MAAAA,GAAAA,EAAMunC,aAECK,EAAWA,EAASr+B,UAAOtI,EAE3B2mC,EAAWA,EAASC,WAAaD,EAASr+B,UAAOtI,EAsBzDgf,oBACC7B,EAAAA,GAA0BC,WAC1Btc,OAAOoe,iBAAiB,UAAW7gB,KAAK6nC,WAE5CW,EAAAA,EAAAA,KACI,IAAMxoC,KAAKP,MAAM0C,KAAK0/B,KAAK9gB,SAC3B,KACI/gB,KAAK6hC,KAAO7hC,KAAKP,MAAM0C,KAAK0/B,KAAK9gB,UAIzC,MACI9gB,SACIsE,SAAS,KAAE7D,IAEf+P,WAAW,4BAAEg4B,EAA2B,iCAAEC,EAAgC,uBAAEC,IAC5E3oC,KAAKP,MAEHmpC,EAA0B5oC,KAAK6oC,uBAAuBnoC,EAAMgoC,EAAkCD,QACpE9mC,IAA5BinC,IAAuE,IAA9B5oC,KAAKiD,MAAM+kC,gBAEpDc,EAAAA,qBAAqBC,WAAWC,gBAAgB,IAAIC,EAAAA,kBAAkBL,EAAyBD,IAIhG/M,uBACC9c,EAAAA,GAA0BC,WAC1Btc,OAAOo5B,oBAAoB,UAAW77B,KAAK6nC,UAAU,GAItDv+B,SACH,MAAM,GACFhC,EAAE,SACFsC,EACAzH,MAAM,mBAAE2e,EAAkB,UAAEooB,GAC5BjpC,SACIsE,SAAS,KAAE7D,IACd,QACDT,EACAwQ,WAAW,UAAE04B,EAAS,aAAEC,IACxBppC,KAAKP,OACH,SAAEmjB,EAAQ,UAAEE,EAAS,wBAAEumB,GAA4BrpC,KAAKP,MAAMuC,OAG9DsnC,EAAiBtpC,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOsnC,iBAAkB,EACjEC,EAAoBvpC,KAAKiD,MAAM6kC,oBAAsB,GAAK,iBAC1D0B,EAAkBtpB,GAAAA,CAAW,YAAalgB,KAAKP,MAAMuC,OAAOgI,UAAWu/B,GACvEE,EAAY,oBACZnB,EAAWxnB,GAAsBA,EAAmBC,OACpD2oB,EAAe1pC,KAAK2pC,SAAS,YAC7BC,EAAc5pC,KAAK2pC,SAAS,WAC5BE,EAAa7pC,KAAK2pC,SAAS,UACjC,IAAIG,EAAgB,EACpB,MAAMC,EAAkB/pC,KAAK2pC,SAAS,eAChCK,EAAqBhqC,KAAK2pC,SAAS,sBACvBhoC,IAAdunC,IASIY,EAPCZ,EAAUnoB,QACVpV,EAAAA,gBAAgBC,YAAYs9B,EAAUnoB,SACtCmoB,EAAUnoB,OAAO,GAAGkpB,mBACpBt+B,EAAAA,gBAAgBC,YAAYs9B,EAAUnoB,OAAO,GAAGkpB,mBAIjCf,EAAUnoB,OAAO,GAAGkpB,kBAAkB5pC,OAFtC,GAKxB,MAAMkJ,EAASpD,EAAAA,EAAAA,EAAA,GACPnG,KAAKP,OACNO,KAAKiD,OAAK,IACbinC,KACI3qC,EAAAA,cAACojB,EAAAA,GAAI3P,OAAAC,OAAA,GACG,CACAkN,KAAMyC,EACNC,MAAOC,EACP9Y,UAAW,kBACXsB,aAActL,KAAKP,MAAMQ,QAAQsE,QAAQ+G,aACzC7K,eAAgBT,KAAKP,MAAMQ,QAAQsE,QACnCyN,iBAAkBhS,KAAKgS,iBACvBpI,SAAU5J,KAAKP,MAAMmK,YAIjCqY,oBACI1iB,EAAAA,cAAC4qC,EAAAA,sBAAqB,CAClBngC,UAAU,8BACVogC,mBAAoBd,EACpBe,oBAAqBrqC,KAAKP,MAAMgR,UAAU45B,oBAC1CpqC,QAASA,EACTqH,GAAIA,EACJsC,SAAUA,EACVoI,iBAAkBhS,KAAKgS,iBACvB7P,KAAM,GACN2nC,cAAeA,EACfQ,mBAAoBtqC,KAAKP,MAAMgR,UAAU65B,mBACzCC,sBAAuBlB,IAG/B9mB,mBACIhjB,EAAAA,cAAC4qC,EAAAA,sBAAqB,CAClBngC,UAAU,6BACVogC,mBAAoBd,EACpBe,oBAAqBrqC,KAAKP,MAAMgR,UAAU45B,oBAC1CpqC,QAASA,EACTqH,GAAIA,EACJsC,SAAUA,EACVoI,iBAAkBhS,KAAKgS,iBACvB7P,KAAM,GACN2nC,cAAeA,EACfQ,mBAAoBtqC,KAAKP,MAAMgR,UAAU65B,mBACzCC,sBAAuBlB,IAG/BnnB,SAAUvW,EAAAA,gBAAgBC,YAAY89B,GAClCA,EAAa,GAEbnqC,EAAAA,cAACirC,EAAAA,kBAAiB,CACdrB,UAAWA,EACXC,aAAcA,EACdnpC,QAASA,EACTqH,GAAIA,EACJsC,SAAUA,EACVoI,iBAAkBhS,KAAKgS,iBACvB7P,KAAM,CAAE0/B,KAAM7hC,KAAK6hC,QAG3BhgB,QACItiB,EAAAA,cAAC2nC,EAAAA,GAAOl0B,OAAAC,OAAA,GACA,CACAxC,UAAWzQ,KAAKP,MAAMgR,UACtBwY,YAAajpB,KAAKiD,MAAM6kC,oBACxBT,SAAUoC,EACVtC,aAAcnnC,KAAK0nC,cACnB11B,iBAAkBhS,KAAKgS,oBAInCoQ,QAASzW,EAAAA,gBAAgBC,YAAYg+B,GAAeA,EAAc,GAClErzB,OAAQ5K,EAAAA,gBAAgBC,YAAYi+B,GAAcA,EAAa,GAC/DxnB,YAAa1W,EAAAA,gBAAgBC,YAAYm+B,GAAmBA,EAAkB,GAC9E//B,UAAWw/B,EACXvoB,UAAW,CACPiC,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAWspB,GACtB,aAAcxpC,KAAKP,MAAMgR,UAAUg6B,gBACnC1iB,IAAK,UAET7G,gBAAiB,CACblX,UAAWkW,GAAAA,CAAW,yBAE1BiB,sBAAuB,CACnBnX,UAAWkW,GAAAA,CAAW,sBAE1BkB,QAAS,CACLpX,UAAWkW,GAAAA,CAAW,uBAE1BmB,oBAAqB,CACjB0G,IAAK2iB,EAAAA,MACLpjC,GAAImiC,EACJz/B,UAAW,8BACX2zB,QAAS39B,KAAKiD,MAAM6kC,oBACpB6C,cAAe,mBACfrhB,OAAQtpB,KAAK0nC,eAEjBplB,iBAAkB/iB,EAAAA,cAACqrC,EAAAA,YAAW,CAAC5gC,UAAU,0CAA0Csf,OAAQtpB,KAAK0nC,gBAChGpmB,wBAAyB,CACrByG,IAAK8iB,EAAAA,UACL7gC,UAAW,yCAEfuX,yBAA0B,CACtBvX,UAAW,0CAEf2V,mCAAoC,CAChC3V,UAAW,2BAEf4V,0CAA2C5f,KAAK8qC,YAC1C,CACI/iB,IAAKgjB,EAAAA,QACLzjC,GAAI,mBACJ0C,UAAW,kCACXghC,UAAW,SACXrN,OAAQ39B,KAAKiD,MAAM8kC,kBACnBtO,OAAQz5B,KAAKynC,WACbne,OAAQtpB,KAAK4nC,qBAEjBjmC,EACNoe,WAAY/f,KAAKirC,iBAAiBvqC,EAAMV,KAAKP,MAAMgR,WACnDqP,YAAa9f,KAAKkrC,kBAAkBxqC,EAAMV,KAAKP,MAAMgR,WACrDw3B,aAAcvnC,MAAAA,OAAI,EAAJA,EAAMunC,aACpBkD,mBAAoBnrC,KAAKorC,yBAAyB1qC,EAAMV,KAAKP,MAAMgR,WACnEoP,0BAA2B7f,KAAKqrC,8BAA8B3qC,EAAMV,KAAKP,MAAMgR,WAC/EuP,aAAchgB,KAAKsrC,iBAAiBhD,GACpCtmB,eAAgBrW,EAAAA,gBAAgBC,YAAYo+B,IAAuBzqC,EAAAA,cAAC6lC,EAAAA,GAAoBpyB,OAAAC,OAAA,GAAKjT,KAAKP,UAGtG,OAAOO,KAAKP,MAAM+J,WAAWD,GAmBzBogC,SAAS4B,GACb,MAAM,MAAE1/B,GAAU7L,KAAKP,MACvB,OAAQoM,GAASA,EAAM0/B,IAAa1/B,EAAM0/B,GAAUlrC,QAAUwL,EAAM0/B,IAAc,KAS9EN,iBAAiBvqC,EAAgD+P,GACrE,MAAMqB,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKgS,iBAAkBmyB,EAAAA,kBAAkBqH,QAC7EpR,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKgS,iBAAkBF,GACjE,OACK9R,KAAK8qC,aACFvrC,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjJ,UAAU,2BACVgB,MAAOyF,EAAUg7B,eACjB5mC,KAAMnE,MAAAA,OAAI,EAAJA,EAAMmkC,UAAS,aACTp0B,EAAUi7B,mBACtBxhC,SAAS8Q,EAAAA,EAAAA,kBAAiBhb,KAAKgS,iBAAkBF,EAAS,YACtDsoB,GAEJ76B,EAAAA,cAAA,QAAMyK,UAAU,gCAA+B,kBAC1CyG,EAAUg7B,iBAavBP,kBAAkBxqC,EAAgD+P,GAA2B,IAAAk7B,EACjG,MAAM75B,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKgS,iBAAkBmyB,EAAAA,kBAAkByH,SAC7ExR,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKgS,iBAAkBF,GACjE,OACI9R,KAAK8qC,aACDvrC,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjJ,UAAU,4BACVgB,MAAOyF,EAAUo7B,gBACjBhnC,KAAsB,QAAlB8mC,EAAEjrC,MAAAA,OAAI,EAAJA,EAAMokC,kBAAU,IAAA6G,EAAAA,EAAI,GAAE,aAChBl7B,EAAUq7B,oBACtB5hC,SAAS8Q,EAAAA,EAAAA,kBAAiBhb,KAAKgS,iBAAkBF,EAAS,aACtDsoB,GAEJ76B,EAAAA,cAAA,QAAMyK,UAAU,iCAAgC,kBAC3CyG,EAAUo7B,kBAavBT,yBACJ1qC,EACA+P,GAEA,MAAMqB,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKgS,iBAAkBmyB,EAAAA,kBAAkB4H,gBAC7E3R,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKgS,iBAAkBF,GAC3Dk6B,GAAuBtrC,MAAAA,OAAI,EAAJA,EAAMunC,eAAgBjoC,KAAKP,MAAMQ,QAAQsE,QAAQo6B,QAAQsN,4BACtF,OACIjsC,KAAK8qC,aACLkB,GACIzsC,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,cACgBxC,EAAUy7B,2BACtBliC,UAAU,sCACVgB,MAAOyF,EAAU07B,uBACjBtnC,KAAM7E,KAAKosC,iCACX/gB,KAAK,OACLnhB,QAASA,IAAMlK,KAAKP,MAAMQ,QAAQsE,QAAQo6B,QAAQ0N,gCAC9CjS,GAEJ76B,EAAAA,cAAA,OAAKyK,UAAU,yCACXzK,EAAAA,cAAA,OAAKyK,UAAU,+BAA8BoN,EAAAA,EAAAA,QAAO3G,EAAU67B,eAAgBtsC,KAAKmoC,eACnF5oC,EAAAA,cAAA,WAAMkR,EAAU07B,0BAO5BC,iCACJ,MAAMG,EAAQztB,EAAAA,GAAoB,2BAA4B9e,KAAKP,MAAMQ,QAAQC,eACjF,IAAKqsC,IAAUztB,EAAAA,GAA0BC,UACrC,OAKJ,MACMta,EAAM,IAAI4R,IAAIk2B,EAAO9pC,OAAOC,SAASmC,MAE3C,MAH+B,CAAC,aAET3B,SAAQspC,GAAS/nC,EAAIgW,aAAaC,OAAO8xB,KACzD/nC,EAAII,KAGPgkC,uBACJnoC,EACAgoC,EACAD,GAEA,MAAM,uBAAEgE,EAAsB,4BAAEC,GAAgC1sC,KAAKP,MAAMuC,OAI3E,MAHsB,0EAGlBtB,MAAAA,OAAI,EAAJA,EAAMwkC,4BAC4BvjC,IAA3B8qC,EAAuCA,EAAyBhE,EAH9C,2FAIlB/nC,MAAAA,OAAI,EAAJA,EAAMwkC,4BAC0BvjC,IAAhC+qC,EAA4CA,EAA8BhE,OAD9E,EAMH2C,8BACJ3qC,EACA+P,GAEA,MAAMqB,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKgS,iBAAkBmyB,EAAAA,kBAAkBwI,WAC7EvS,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKgS,iBAAkBF,GACjE,OACI9R,KAAK8qC,aACDvrC,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACH25B,SAAU5sC,KAAKynC,WACfz9B,UAAU,4BAA2B,mBACpB,mBACjBE,QAASlK,KAAK4nC,eACd/+B,MAAM,OAAM,aACA7I,KAAK8qC,YAAW,gBACb9qC,KAAKiD,MAAM8kC,mBACtB3N,GAEJ76B,EAAAA,cAAA,OAAKyK,UAAU,0BACXzK,EAAAA,cAAA,WAAMS,KAAK8qC,cACVpqC,MAAAA,OAAI,EAAJA,EAAMunC,eAAgBjoC,KAAKmoC,cAAgB5oC,EAAAA,cAAA,YAAM6X,EAAAA,EAAAA,QAAO3G,EAAU67B,eAAgBtsC,KAAKmoC,iBAOpGmD,iBAAiBhD,GACrB,MAAM,eAAEd,GAAmBxnC,KAAKP,MAAMuC,OAChC8P,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKgS,iBAAkB,IACjE,GAAKs2B,GAAatoC,KAAK8qC,aAAgBtD,GAAmB77B,EAAAA,gBAAgBC,YAAY47B,GAGtF,OAAOA,EAAe7mC,KAAI,CAACksC,EAA0BznC,KACjD0M,EAAQooB,cAAcC,MAAQ0S,EAAI7hB,SAClC,MAAMoP,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKgS,iBAAkBF,GAC3DiZ,EAAoC,CACtC3N,UAAWyvB,EAAIzvB,UACfpT,UAAW,sCACXghB,SAAU6hB,EAAI7hB,SACdC,QAAS4hB,EAAI5hB,QAAQC,eACrBC,aAAc0hB,EAAI1hB,aAClBE,KAAM,OACNkP,qBAAsBH,GAG1B,OACI76B,EAAAA,cAACuf,EAAAA,GAAa,CACVxY,IAAKlB,EACL+a,KAAM4K,EACNV,UAAW,CAAEiB,aAActrB,KAAKw6B,qBAAqBp1B,GAAQ3E,eAAgBT,KAAKP,MAAMQ,QAAQsE,cAMxGmjC,gBACJ1nC,KAAKuB,SAAS,CACVumC,qBAAsB9nC,KAAKiD,MAAM6kC,sBAIjCF,iBACJ5nC,KAAKuB,SAAS,CACVwmC,mBAAoB/nC,KAAKiD,MAAM8kC,oBAI/BF,SAASxnB,GACTA,EAAMysB,UAAYC,EAAAA,SAASC,QAC3BhtC,KAAKuB,SAAS,CAAEumC,qBAAqB,OAncnCpB,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,iCAQCvG,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,gCAKCvG,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,iCAvBP3F,GAAMZ,EAAAA,EAAAA,IAAA,CADXC,EAAAA,IACKW,GAkdN,+GChdA,SAAS9mB,EAAqBtb,GAC1B,OACI3F,EAAAA,cAAAA,EAAAA,SAAA,KACK2F,GAASA,EAAM7E,OAAS,EACnB6E,EAAMvE,KAAI,CAAC8f,EAAuBrb,IACvB7F,EAAAA,cAACA,EAAAA,SAAc,CAAC+G,IAAKlB,GAAQqb,KAExC,MAKlB,QApF+ChhB,IAC3C,MAAM,UACFwhB,EAAS,gBACTC,EAAe,sBACfC,EAAqB,oBACrBE,EAAmB,wBACnBC,EAAuB,yBACvBC,EAAwB,QACxBH,GACA3hB,EACJ,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKgO,GACR1hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKiO,GACN3hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKkO,GACL1hB,EAAMoiB,QACNpiB,EAAMyqC,KACN1pB,EAAqB/gB,EAAM8W,QAC3B9W,EAAMuiB,eA0B3B,SAAoCviB,GAChC,MAAM,mCACFkgB,EAAkC,0CAClCC,EAAyC,0BACzCC,EAAyB,YACzBC,EAAW,WACXC,EAAU,aACVC,GACAvgB,EAEJ,GAAIkgB,EAAoC,CACpC,GAAIC,EACA,OACIrgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0M,GACLE,EACDtgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK2M,KACLI,GAAeA,EAAarf,KAAIwf,GAAQA,IACxCL,IAIV,GAAIC,EACP,OAAOxgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0M,GAAqCI,GAI9D,OADAtgB,EAAMQ,QAAQglB,UAAUuc,MAAM,gDACvB,KAnDU0L,CAA2BztC,GAC3BA,EAAMwiB,oBACP1iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKmO,IACT3hB,EAAMyiB,SACN1B,EAAqB/gB,EAAM4iB,cAEhC9iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoO,GACN9hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKqO,GACL7hB,EAAM6iB,iBACN9B,EAAqB/gB,EAAM2iB,SAC5B7iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKsO,KACL9hB,EAAMugB,cAAevgB,EAAMugB,aAAarf,KAAIwf,GAAQA,IACpD1gB,EAAM4iB,YACN5iB,EAAM8iB,mBACN9iB,EAAMsgB,WACNtgB,EAAMqgB,eAIlBU,EAAqB/gB,EAAM2iB,sHCO5C,MAOM+qB,EAPoC1tC,IACtC,MAAM,sBAAE2tC,GAA0B3tC,EAAM4tC,UAClC,QAAEC,GAAY7tC,EAEpB2tC,GAAyBE,GAAWF,EAAsBE,IAYxDC,EAAoCC,GAAqC,KAC3EL,EAAyCK,IAGhCC,EAAuBD,IAChC,MAAM,GACFE,EAAE,cACFC,EAAa,gCACbC,EAA+B,mBAC/BC,EAAkB,SAClBR,EAAQ,KACR7kC,EAAI,cACJ+C,EAAa,QACbtL,EAAO,iBACP+R,EAAgB,uBAChB87B,GACAN,EAEJ,IAAKE,EACD,OAAO,KAGX,MASM,UAAEK,GAAcV,EAEtB,MAAO,CACH/mC,IAAK,GAAGonC,aACRM,mBAAoBC,EAA2BhuC,EAAS0tC,EAAcO,mBAAoB3iC,EAAeuiC,GACzGK,uBAAwBC,EAAiBZ,GACzCa,kBACI9uC,EAAAA,cAAA,WACIA,EAAAA,cAAA,OAAKyK,UAAU,sCACXzK,EAAAA,cAAA,KAAGsF,KAlBcypC,MAAa,IAAAC,EAC1C,MAAM9pC,EAAwD,QAArD8pC,GAAG5sB,EAAAA,EAAAA,IAAW,gBAAiB1hB,EAAQC,sBAAc,IAAAquC,EAAAA,EAAI,GAC5DC,EAAY/pC,EAAI8V,SAAS,KAAO,IAAM,IAC5C,OAAImzB,EACO,GAAGjpC,IAAM+pC,OAAed,IAE5B,IAYcY,GAA0B,aAAc9lC,GAC5CA,IAGTjJ,EAAAA,cAAA,OAAKyK,UAAU,iCACV2jC,EAAcc,WACd,IAAG,cAGRlvC,EAAAA,cAAA,MAAIsJ,MAAM,aAGlB6lC,gBACInvC,EAAAA,cAAA,OAAKyK,UAAU,4CACXzK,EAAAA,cAACovC,EAAAA,gCAA+B,CAC5BrnC,GAAIomC,EACJztC,QAASA,EACT2J,SAAU4jC,EAAMxwB,eAChB7a,KAAM,CACFwrC,cAAeH,EAAMG,eAEzB3jC,UAAU,uCACV4kC,cAAepB,EAAMqB,aACrBC,cAAetB,EAAM/8B,UACrBuB,iBAAkBA,KAI9B+8B,aACIxvC,EAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAU,iCAAgC,aAC9B4jC,EACZ1jC,QAASqjC,EAAiCC,KAGlDwB,2BAA4BnB,GAAsBA,EAAmBlQ,QAAUkQ,EAAmBoB,aAC9F1vC,EAAAA,cAAA,OAAKyK,UAAU,4BACXzK,EAAAA,cAAC2vC,EAAAA,MAAK,CAACrmC,MAAOglC,EAAmBsB,gBAAiBxR,OAAQkQ,EAAmBlQ,OAAQrU,OAAQykB,GACzFxuC,EAAAA,cAAA,YAAOsuC,EAAmBoB,iBAYxCG,EAAkB/9B,GAAuB,KAC3C5O,OAAOC,SAASuQ,OAAO5B,IAGrB48B,EAA6BA,CAC/BhuC,EACAiuC,EACA3iC,EACAuiC,KAEA,MAAM3jC,EAAuC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCE,GAAI,CAAEJ,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,IAEzCG,UAAU,GAGd,GAAIujC,EAAoB,CACpB,MAAM/lC,EAAQ+lC,EAAmB7tC,OAAS,EAAI6tC,EAAmB7tC,OAAS,EAE1E,OACId,EAAAA,cAAA,OAAKyK,UAAU,sCACVkkC,MAAAA,OAAkB,EAAlBA,EAAoBmB,MAAM,EAAGlnC,GAAOxH,KAAI4iC,IAAO,IAAA+L,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC5C,MAAMz+B,EAAakyB,EAAKwM,aAClBC,EAAAA,EAAAA,mBAAkBzM,EAAKwM,YAAYtsC,eAAgBxD,EAAQC,mBAAeyB,GAC1E,GAEN,OACIpC,EAAAA,cAAC2L,EAAAA,GAAK,CACFipB,IAA0C,QAAvCmb,EAAkB,QAAlBC,EAAEhM,EAAKwM,mBAAW,IAAAR,OAAA,EAAhBA,EAAkB9rC,eAAewG,YAAI,IAAAqlC,EAAAA,EAAI,QAC9CnkC,QAA8C,QAAvCqkC,EAAkB,QAAlBC,EAAElM,EAAKwM,mBAAW,IAAAN,OAAA,EAAhBA,EAAkBhsC,eAAewG,YAAI,IAAAulC,EAAAA,EAAI,QAClD/uC,eAAgBR,EAAQC,cAAcO,eACtC6F,IAAqB,QAAlBopC,EAAEnM,EAAKwM,mBAAW,IAAAL,OAAA,EAAhBA,EAAkBjsC,eAAewG,KACtCmB,IAAqD,QAAlDukC,EAAkB,QAAlBC,EAAErM,EAAKwM,mBAAW,IAAAH,OAAA,EAAhBA,EAAkBnsC,eAAe4C,uBAAe,IAAAspC,EAAAA,EAAI,GACzDtkC,YAIK,QAJMwkC,GACPppC,EAAAA,EAAAA,qBACoB,QADDqpC,EACfvM,EAAKwM,mBAAW,IAAAD,OAAA,EAAhBA,EAAkBrsC,eAAeW,OACjCnE,EAAQC,cAAcO,eAAeQ,oBACxC,IAAA4uC,EAAAA,EAAI,GAETvkC,aAAcrL,EAAQsE,QAAQ+G,aAC9BC,cAAeA,MAAAA,EAAAA,EAAiBpB,EAChCqB,oBAAoB,QACpBtB,QAAS4jC,GAA0BsB,EAAe/9B,GAClDrH,UAAW8jC,EAAyB,eAAiB,SAO7E,OAAOvuC,EAAAA,cAAA,OAAKyK,UAAU,wCAGpBokC,EAAoB3uC,IACtB,MAAM,KAAE+I,GAAS/I,EACjB,MAAO,GAAG+I,2BC1MP,MAAMynC,EAAiF93B,IAAmC,IAAlC,UAAEnO,EAAS,UAAEkmC,EAAS,KAAE9lB,GAAMjS,EACzH,OAAQ+3B,GACJ,IAAK,QACD,OAAO3wC,EAAAA,cAAA,KAAGyK,UAAWkW,GAAAA,CAAW,sCAAuClW,IAAaogB,GACxF,IAAK,SACD,OAAO7qB,EAAAA,cAAA,KAAGyK,UAAWkW,GAAAA,CAAW,uCAAwClW,IAAaogB,GACzF,IAAK,UACL,QACI,OAAO7qB,EAAAA,cAAA,KAAGyK,UAAU,yCAAyCogB,kMCfzE,MAAM+lB,EAAgE5wC,IAAAA,YA4DtE,EAtC6EE,IACzE,MAAM2wC,EAAkB7wC,IAAAA,aAAkB,QAEvC,KACI8wC,EAAiCC,IAAkC52B,EAAAA,EAAAA,WAAS,GAC7E62B,EAAsBhxC,IAAAA,aAAkB,KAC1C+wC,GAA+B,KAChC,IAEH,OACI/wC,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,UACIyK,UAAU,6DACVnB,MAAM,UACNqB,QAASqmC,EACTpuB,IAAKguB,EAAyB,aAClB1wC,EAAM+wC,yBAEjB/wC,EAAM+wC,yBAEXjxC,IAAAA,cAACkxC,EAAAA,wBAAuB,CACpBzmC,UAAU,iCACV0mC,UAAWL,EACXM,gBAAgB,EAChBC,aAAcN,EACdrwC,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVnF,KAAM,GACNyH,SAAUnK,EAAMmK,SAChBklC,cAAervC,EAAMoxC,mCACrBC,SAAUV,EACVW,UAAWtxC,EAAMuxC,uBACjB7K,iBAAkBgK,2kBCVlC,IAAMc,EAAN,cAAgC1xC,EAAAA,UAC5BC,YAAYC,GACRC,MAAMD,GA+KO,KAAAyxC,WAAa,KAC1BlxC,KAAKuB,SAAS,CACVo8B,QAAQ,KAIC,KAAAwT,YAAcvxC,UAC3B6C,OAAOC,SAASC,UAGH,KAAAyuC,+BAAkCC,IAC/C,MAAM,QAAEpxC,EAAO,KAAEkC,EAAI,UAAE8iB,EAAS,UAAExU,GAAczQ,KAAKP,OAC/C,eAAE6+B,GAAmBn8B,EAE3B,GAAIlC,GAAWA,EAAQC,cAAe,CAElC,GADkBD,EAAQsE,QAAQ7D,KAAKkkC,iBAAmB3kC,EAAQsE,QAAQ7D,KAAK4wC,OAC9DhT,EAAevd,QAAUud,EAAevd,OAAO,IAAMswB,EAAe,CACjF,MAAM1D,EAAgBrP,EAAevd,OAAOxb,MAAKC,GAAKA,EAAE+rC,YAAY7D,KAAO2D,IACvE1D,GACA6D,EAAAA,EAAAA,aAAY,CAAEzxC,cAAeE,EAAQC,eAAiBytC,EAAc4D,aAC/DnwC,OACAihC,OAAOb,IACJvc,EAAUwsB,QAAQ,0DAClBxsB,EAAUuc,MAAMA,GAChBxhC,KAAKuB,SAAS,CACV+rC,QAAS+D,EACTK,oBAAqBjhC,EAAUkhC,8BAC/BxC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,OAGfv8B,KAAKpB,KAAKmxC,aACV9O,OAAOb,IACJvc,EAAUwsB,QAAQ,0DAClBxsB,EAAUuc,MAAMA,MAGxBvc,EAAUwsB,QAAQ,4FAGtBxsB,EAAUwsB,QAAQ,4DAvN1BzxC,KAAKiD,MAAQ,CACTqqC,QAAS,GACT2B,YAAa,GACbyC,oBAAqB,GACrBvC,gBAAiB,UACjByC,aAAc,eACdjU,QAAQ,GAIT,0BACH39B,KAAKuB,SAAS,IAGXyzB,sBACHC,EACAqP,GAEA,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,MAAM0C,OAAS8yB,EAAU9yB,KAM3DmH,SAAM,IAAAuoC,EAAAC,EACT,MAAM,UAAE9nC,EAAS,QAAE+Y,GAAY/iB,KAAKP,MAAMuC,QACpC,uBAAE+vC,EAAsB,4BAAEC,GAAgChyC,KAAKP,MAAMgR,WACrE,eAAE6tB,GAAmBt+B,KAAKP,MAAM0C,KAChC8vC,EAAqB3T,GAAkBA,EAAevd,OACtDmxB,EAAwC,QAAhBL,EAAG9uB,MAAAA,OAAO,EAAPA,EAASqH,YAAI,IAAAynB,EAAAA,EAAI7xC,KAAKP,MAAMgR,UAAU0hC,uBAEvE,GAA8B,YAA1B7T,EAAe2D,OAAsB,CAAC,IAADvH,EACrC,MAAM0X,EAAUjsC,EAAAA,EAAA,GACRnG,KAAKP,OAAyD,IAClEwxC,kBAAmB,CACf/tB,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,oBAAqBlW,IAE/Ci4B,OAAQ,UACRoQ,cAAe9yC,EAAAA,cAAC+yC,EAAAA,EAAO,CAACtoC,UAAU,oBAAoBuoC,IAAKvyC,KAAKP,MAAMgR,UAAU+hC,2BAChFzvB,QACIxjB,EAAAA,cAACkzC,EAAAA,QAAO,CAACzoC,UAAU,6BAA6B+d,IAAiB,QAAd2S,EAAE3X,MAAAA,OAAO,EAAPA,EAASgF,WAAG,IAAA2S,EAAAA,EAAA,KAAmBtQ,KAAM8nB,MAGlG,OAAOlyC,KAAKP,MAAM+J,WAAW4oC,GAGjC,GAAIH,GAAoD,IAA9BA,EAAmB5xC,OAAc,CAAC,IAADqyC,EAEvD,MAAMC,EAAcxsC,EAAAA,EAAA,GACZnG,KAAKP,OAAyD,IAClEwxC,kBAAmB,CACf/tB,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,oBAAqBlW,IAE/Ci4B,OAAQ,QACRoQ,cAAe9yC,EAAAA,cAAC0wC,EAAAA,EAA8B,CAACC,UAAU,QAAQ9lB,KAAM2nB,IACvEa,0BACIrzC,EAAAA,cAACszC,EAAgC,CAC7B5yC,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNquC,wBAAyBwB,EACzBhB,uBAAwBhxC,KAAKmxC,YAC7BN,mCAAoC7wC,KAAK8yC,0CAA0C9yC,KAAKP,MAAMgR,aAGtGsS,QACIxjB,EAAAA,cAACkzC,EAAAA,QAAO,CAACzoC,UAAU,6BAA6B+d,IAAiB,QAAd2qB,EAAE3vB,MAAAA,OAAO,EAAPA,EAASgF,WAAG,IAAA2qB,EAAAA,EAAA,KAAmBtoB,KAAM8nB,MAIlG,OAAOlyC,KAAKP,MAAM+J,WAAWmpC,GAGjC,MAAMppC,EAASpD,EAAAA,EAAA,GACPnG,KAAKP,OAAyD,IAClEwxC,kBAAmB,CACf/tB,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,oBAAqBlW,IAE/Ci4B,OAAQ,UACRlf,QAASxjB,EAAAA,cAACkzC,EAAAA,QAAO,CAACzoC,UAAU,6BAA6B+d,IAAiB,QAAd+pB,EAAE/uB,MAAAA,OAAO,EAAPA,EAASgF,WAAG,IAAA+pB,EAAAA,EAAA,KAAmB1nB,KAAM8nB,IACnGU,0BACIrzC,EAAAA,cAACszC,EAAgC,CAC7B5yC,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNquC,wBAAyBwB,EACzBhB,uBAAwBhxC,KAAKmxC,YAC7BN,mCAAoC7wC,KAAK8yC,0CAA0C9yC,KAAKP,MAAMgR,aAGtGsiC,4BAA6B/yC,KAAKiD,MAAM06B,QAAU39B,KAAKiD,MAAMyuC,qBACzDnyC,EAAAA,cAAA,OAAKyK,UAAU,sCACXzK,EAAAA,cAAC2vC,EAAAA,MAAK,CAACrmC,MAAO7I,KAAKiD,MAAMksC,gBAAiBxR,OAAQ39B,KAAKiD,MAAM06B,OAAQrU,OAAQtpB,KAAKkxC,YAC9E3xC,EAAAA,cAAA,YAAOS,KAAKiD,MAAMyuC,uBAI9BsB,eAAgB,CACZhpC,UAAW,+BACX+d,IAAK,MAETkrB,cAAe,CACXjpC,UAAW,0BACX+d,IAAK,MAETuW,eAAgB2T,GAAsBjyC,KAAKkzC,yBAAyBjB,KAGxE,OAAOjyC,KAAKP,MAAM+J,WAAWD,GAGzBupC,0CAA0CriC,GAC9C,MAAO,CACH0iC,yBAA0B1iC,EAAU2iC,0BACpCC,wBAAyB5iC,EAAU6iC,mBACnCC,2BAA4B9iC,EAAU8iC,2BACtCC,yBAA0B/iC,EAAUgjC,+BAEpCC,yBAA0BjjC,EAAUijC,yBAEpCC,yBAA0BljC,EAAUmjC,8BACpCC,+BAAgCpjC,EAAUqjC,0CAI1CZ,yBAAyB5U,GAC7B,MAAM,QAAEr+B,EAAO,UAAEglB,GAAcjlB,KAAKP,OAC9B,cAAE8L,EAAa,uBAAEuiC,GAA2B9tC,KAAKP,MAAMuC,OAC7D,OAAOs8B,EAAe39B,KAAI,CAACgtC,EAA8BvoC,KACrD,MAAM2uC,EAAkD,CACpDlG,mBAAoB7tC,KAAKiD,MACzByqC,GAAIC,EAAc4D,YAAY7D,GAC9BllC,KAAMmlC,EAAc4D,YAAYtnC,KAChC0jC,cAAAA,EACA1tC,QAAAA,EACAsL,cAAAA,EACAuiC,uBAAAA,EACAF,gCAAiC,SACjCiB,aAAc7uC,KAAKP,MAAMgR,UAAUujC,mBACnC5uC,MAAAA,EACAkoC,QAASK,EAAc4D,YAAY7D,GACnCzoB,UAAAA,EACAhI,SAAUjd,KAAKP,MAAM6H,GACrB0V,eAAgBhd,KAAKP,MAAMmK,SAC3ByjC,SAAU,CACND,sBAAuBptC,KAAKoxC,+BAC5BrD,UAAW/tC,KAAKkxC,YAEpBzgC,UAAW,CACPwjC,sBAAuBj0C,KAAKP,MAAMgR,UAAUwjC,sBAC5CC,wBAAyBl0C,KAAKP,MAAMgR,UAAUyjC,wBAC9CC,wBAAyBn0C,KAAKP,MAAMgR,UAAU0jC,wBAC9CC,wBAAyBp0C,KAAKP,MAAMgR,UAAU2jC,wBAC9CC,0BAA2Br0C,KAAKP,MAAMgR,UAAU4jC,0BAChDC,gCAAiC,CAC7BC,mBAAoBv0C,KAAKP,MAAMgR,UAAU8jC,mBACzCC,6BAA8Bx0C,KAAKP,MAAMgR,UAAU+jC,6BACnDC,mCAAoCz0C,KAAKP,MAAMgR,UAAUgkC,mCACzDC,mCAAoC10C,KAAKP,MAAMgR,UAAUikC,mCACzDC,sCAAuC30C,KAAKP,MAAMgR,UAAUkkC,sCAC5DC,kCAAmC50C,KAAKP,MAAMgR,UAAUmkC,qCAKpE,OAAOnH,EAAAA,EAAAA,GAAoBsG,QA7KjC9C,GAAiBvK,EAAAA,EAAAA,IAAA,CADtBC,EAAAA,IACKsK,GAgON,8HC1QO,MAAM4D,EAA+Dp1C,IACxE,MAAM,kBACFwxC,EAAiB,OACjBhP,EAAM,cACNoQ,EAAa,QACbtvB,EAAO,eACPiwB,EAAc,eACd1U,EAAc,cACd2U,EAAa,0BACbL,EAAyB,4BACzBG,GACAtzC,EAEJ,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKg+B,GACPluB,EACW,YAAXkf,GAAwBoQ,EACzB9yC,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,IACX4oC,EACAG,GAEJC,GAAkB1U,GAAkBA,EAAej+B,OAAS,GACzDd,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK+/B,GACL1U,GACGA,EAAe39B,KAAIgtC,GACRmH,EAAqBnH,EAAesF,QAQjE6B,EAAuBA,CAACnH,EAA8CsF,KACxE,MAAM,IAAE3sC,EAAG,gBAAEooC,EAAe,mBAAEV,EAAkB,2BAAEgB,EAA0B,aAAED,EAAY,kBAAEV,GAAsBV,EAClH,OACIpuC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,CAAC3M,IAAKA,EAAK0D,UAAWipC,EAAejpC,WAAeipC,GACpD5E,EACAL,EACAU,EACAK,EACAC,IAKb,8DClDA,QAAgBvvC,GACZF,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKyK,UAAW,GAAGvK,EAAMuK,8BACxBvK,MAAAA,OAAK,EAALA,EAAO8yC,MAAOhzC,EAAAA,cAAA,OAAKyK,UAAW,GAAGvK,EAAMuK,2BAA4BvK,MAAAA,OAAK,EAALA,EAAO8yC,2ECsD9EwC,2zBAAL,SAAKA,GACDA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,6BACAA,EAAAA,EAAA,+CACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,iBACAA,EAAAA,EAAA,qBANJ,CAAKA,IAAAA,EAAO,KAuBL,MAAMC,UAA0Bz1C,IAAAA,UAsBnCC,YAAYC,GACRC,MAAMD,GAtBH,KAAAwD,MAAiC,CACpC06B,QAAQ,EACRxU,MAAO,GACP9nB,SAAU,GACVg8B,QAAS0X,EAAQE,OACjBC,gBAAiB,MAGd,KAAA/qC,qBAAuC,CAC1CC,UAAW,CACPC,GAAI,CAAEC,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCC,GAAI,CAAEH,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCE,GAAI,CAAEJ,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,IAEvCG,UAAU,GAGP,KAAAwqC,gBAAqD51C,IAAAA,YAE3C,KAAA61C,iBAAuD71C,IAAAA,YAoEvD,KAAA81C,kBAAoB,KACjC,MACI5kC,WAAW,sBAAE6kC,EAAqB,2BAAEC,IACpCv1C,KAAKP,MAET,OACIF,IAAAA,cAAA,QACIyK,UAAU,wCAAuC,aACrCsrC,EACZ9sC,KAAK,mCACL6iB,KAAK,OACLmqB,aAAa,MACb5S,SAAU5iC,KAAKy1C,iBAEfl2C,IAAAA,cAAA,SACIqI,KAAK,OACL8tC,WAAS,eACGH,EACZvrC,UAAU,0DACV64B,YAAa0S,EACb5tC,MAAO3H,KAAKiD,MAAMkmB,MAClB3W,SAAUxS,KAAK21C,eACfxzB,IAAKniB,KAAKm1C,gBACVS,UAAW,MAEfr2C,IAAAA,cAAA,UAAQyK,UAAU,0CAAyC,aAAasrC,EAAuBzsC,MAAM,cAKhG,KAAA4sC,gBAAmBp1B,IAChCA,EAAMC,iBAEN,MAAM6I,EAAQ0sB,GAAAA,CAAI71C,KAAM,gCAAiC,MAEpDmpB,IAILnpB,KAAKuB,SAAS,CACV87B,QAAS0X,EAAQe,UAGrB91C,KAAK+1C,kBAAkB5sB,GAClB/nB,MAAK2f,IACoB,IAAlBA,EAAO1gB,OACPL,KAAKuB,SAAS,CACVF,SAAU0f,EACVsc,QAAS0X,EAAQiB,WAGrBh2C,KAAKuB,SAAS,CACVF,SAAU0f,EACVsc,QAAS0X,EAAQkB,iBAI5B5T,OAAMb,IACHxhC,KAAKuB,SAAS,CACV87B,QAAS0X,EAAQmB,aAKhB,KAAAC,yBAA4B91B,IACzCrgB,KAAKuB,SAAS,CACV60C,kBAAmB/1B,EAAMoZ,OAAO9xB,SAIvB,KAAA0uC,cAAgBz2C,MAAAA,IAC7B,MAAM,cACFM,EACAqE,SACItD,aAAa,UAAEq1C,KAEnBt2C,KAAKP,MAAMQ,QACTs2C,EAAgB,IAAIC,EAAAA,qBAAqBlxC,EAAQ5B,SAAU4yC,EAAW,QAAI30C,EAAW3B,KAAKP,MAAMQ,QAAQsE,SACxGkyC,QAAuBC,EAAAA,EAAAA,oBAAmBH,EAAer2C,GAE/D,IAAKu2C,EAED,OADAz2C,KAAKP,MAAMQ,QAAQglB,UAAUuc,MAAM,oCAC5B8E,QAAQC,QAAQ,IAG3B,MAAMlI,QAAmBr+B,KAAK22C,sBAAsBrxC,GAQpD,OANAtF,KAAKuB,SAAS,CACVq1C,0BAA2BvY,EAC3BhB,QAAS0X,EAAQ8B,qBACjB3B,gBAAiBuB,IAGdpY,GAGM,KAAAsX,eAAkBt1B,IAC/BrgB,KAAKuB,SAAS,CACV4nB,MAAO9I,EAAMoZ,OAAO9xB,SAIX,KAAAmvC,0BAA4B,KACzC92C,KAAKuB,SAAS,CACV87B,QAAS0X,EAAQkB,eAIR,KAAAc,qBAAwBvuC,IACrC,MAAMwuC,EAAaxuC,GAAQyuC,SAASzuC,EAAK9C,QAAQ,IAAI+mB,OAAOzsB,KAAKiD,MAAMkmB,MAAO,KAAM,oBAEpF,OACI5pB,IAAAA,cAAA,OACIyK,UAAU,0CAEVktC,wBAAyB,CAAEC,OAAQH,GAAc,OAK5C,KAAAI,iBAAmB,IACzBp3C,KAAKP,MAAMgR,UAAU4mC,0BACvB3xC,QAAQ,UAAW1F,KAAKiD,MAAM5B,SAAShB,OAAO4R,YAC9CvM,QAAQ,YAAa,GAAG1F,KAAKP,MAAMgR,UAAU6mC,4BAA4Bt3C,KAAKiD,MAAM5B,SAAShB,OAAS,EAAI,IAAM,MAuExG,KAAAk3C,0BAA4B33C,MAAAA,IACzC,MAAM,gBACF43C,EACAv3C,SAAS,cAAEC,IACXF,KAAKP,MACH+tC,EAAQ,IAAIiK,EAAAA,4BACdD,EACAx1C,EAAOsD,QAAQ5B,SACf1B,EAAOgG,SACPhG,EAAOsD,QAAQ1B,sBAAwB,MAGrCmd,QAAe22B,EAAAA,EAAAA,wBAAuBlK,EAAOttC,GAMnD,OAJAF,KAAKuB,SAAS,CACVo2C,YAAY,IAGT52B,GAyCM,KAAA62B,oBAAsB,KAC/B53C,KAAKiD,MAAM06B,QACX39B,KAAKo1C,iBAAiBltC,QAAS2vC,QAGnC73C,KAAKuB,SAAS,CACVo8B,QAAS39B,KAAKiD,MAAM06B,OACpBN,QAAS0X,EAAQE,SAGjBj1C,KAAKiD,MAAM00C,aACXl1C,OAAOC,SAASC,SAChB3C,KAAKuB,SAAS,CACVo2C,YAAY,MAxUjBG,sBAAmB,IAAAC,EACM,QAA5BA,EAAA/3C,KAAKm1C,gBAAgBjtC,eAAO,IAAA6vC,GAA5BA,EAA8BF,QAG3BG,uBAAoB,IAAAC,EACK,QAA5BA,EAAAj4C,KAAKm1C,gBAAgBjtC,eAAO,IAAA+vC,GAA5BA,EAA8BJ,QAGxB,oBACN,OAAO73C,KAAKiD,MAAMo6B,UAAY0X,EAAQ8B,qBAGnC7hB,sBAAsBC,EAAoCqP,GAC7D,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5C3rB,SACH,MACImH,WAAW,qBAAEynC,EAAoB,kBAAEC,IACnCn4C,KAAKP,MAEHonB,EAAU1gB,EAAAA,EAAA,GACTnG,KAAKP,OAAK,IACbuK,UAAW,2BACXsf,OAAQtpB,KAAK43C,oBACbja,OAAQ39B,KAAKiD,MAAM06B,OACnBvgB,UAAW86B,IAGf,OACI34C,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAACmrC,EAAAA,MAAK13B,OAAAC,OAAA,GAAK4T,GACPtnB,IAAAA,cAACqrC,EAAAA,YAAW,CAACthB,OAAQtpB,KAAK43C,qBACrB53C,KAAKo4C,eACF74C,IAAAA,cAAA,UACIqI,KAAK,SACLoC,UAAU,yBAAwB,aACtBmuC,EACZjuC,QAASlK,KAAK82C,4BAGrBoB,GAEJl4C,KAAKq4C,kBAEV94C,IAAAA,cAAA,UACIqI,KAAK,SACLoC,UAAU,2CAA0C,aACxCkuC,EACZhuC,QAASlK,KAAK43C,oBACdz1B,IAAKniB,KAAKo1C,kBAEV71C,IAAAA,cAAA,aACC24C,IAoITG,iBACJ,OAAQr4C,KAAKiD,MAAMo6B,SACf,KAAK0X,EAAQ8B,qBACT,MAAM,gBAAE3B,EAAe,0BAAE0B,GAA8B52C,KAAKiD,MACtDsG,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACb8L,cAAevL,KAAKP,MAAM8L,eAAiBvL,KAAKmK,qBAChD7E,QAAS4vC,EACT7W,WAAYuY,EACZ0B,qBAAsBt4C,KAAKu3C,0BAC3BgB,wBAAyBv4C,KAAKm2C,yBAC9BqC,oBAAqBx4C,KAAK+2C,qBAC1B0B,WAAYz4C,KAAKq1C,sBAGrB,OAAO91C,IAAAA,cAACs3C,EAAoB7jC,OAAAC,OAAA,GAAK1J,IAErC,KAAKwrC,EAAQkB,YACT,MAAMyC,EAAYvyC,EAAAA,EAAA,GACXnG,KAAKP,OAAK,IACb8L,cAAevL,KAAKP,MAAM8L,eAAiBvL,KAAKmK,qBAChDwuC,aAAc34C,KAAKq2C,cACnBh1C,SAAUrB,KAAKiD,MAAM5B,SACrBm3C,oBAAqBx4C,KAAK+2C,qBAC1B0B,WAAYz4C,KAAKq1C,oBACjBuD,sBAAuB54C,KAAKo3C,mBAGhC,OACI73C,IAAAA,cAACsrC,EAAAA,UAAS,KACNtrC,IAAAA,cAAC02C,EAAWjjC,OAAAC,OAAA,GAAKylC,KAI7B,KAAK3D,EAAQe,QACT,OACIv2C,IAAAA,cAACsrC,EAAAA,UAAS,KACL7qC,KAAKq1C,oBACN91C,IAAAA,cAAC+yC,EAAAA,EAAO,CAACtoC,UAAU,2BAA2BuoC,IAAKvyC,KAAKP,MAAMgR,UAAU+hC,4BAIpF,KAAKuC,EAAQiB,SACT,MAAM,0BAAE6C,EAAyB,+BAAEC,GAAmC94C,KAAKP,MAAMgR,UAEjF,OACIlR,IAAAA,cAACsrC,EAAAA,UAAS,KACNtrC,IAAAA,cAAA,KAAGyK,UAAU,iDAAiDhK,KAAKo3C,oBAClEp3C,KAAKq1C,oBACN91C,IAAAA,cAACw5C,EAAiB,CAACvX,MAAOqX,EAA2BtG,IAAKuG,KAItE,KAAK/D,EAAQmB,MACT,OACI32C,IAAAA,cAACsrC,EAAAA,UAAS,KACL7qC,KAAKq1C,oBACN91C,IAAAA,cAAA,OAAKyK,UAAU,mBAAkB,YAAW,aACvChK,KAAKP,MAAMgR,UAAUuoC,qBAKtC,QACI,OAAOz5C,IAAAA,cAACsrC,EAAAA,UAAS,KAAE7qC,KAAKq1C,sBAyB5BU,kBAAkBkD,GACtB,MACIh5C,SAAS,cACLC,EACAqE,SACItD,aAAa,UAAEq1C,MAGvBt2C,KAAKP,MACHy5C,EAA6C,GASnD,OAPAA,EAAoBC,QAAU,CAC1BC,UAAW9C,EACX+C,WAAWC,EAAAA,EAAAA,IAAat5C,KAAKP,MAAMQ,QAAQsE,UAE/C20C,EAAoBK,mBAAoB,EACxCL,EAAoBM,gBAAkBP,GAE/BQ,EAAAA,EAAAA,uBAAsB,CAAE15C,cAAeG,GAAiBg5C,GAG3D,4BAA4B5zC,GAChC,MACIrF,SAAS,cACLC,EACAqE,SACItD,aAAa,UAAEq1C,MAGvBt2C,KAAKP,MACH6H,EAAKhC,EAAQo0C,gBAAkBp0C,EAAQo0C,gBAAkBp0C,EAAQ5B,SAEvE,OAAOi2C,EAAAA,EAAAA,iCACH,IAAIC,EAAAA,qCAAqCtyC,EAAIgvC,EAAW,GAAIt2C,KAAKP,MAAMQ,QAAQsE,SAC/ErE,KA/SEwmC,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,kCCjFN,MAAM4M,UAAiBt6C,EAAAA,cAG1BC,YAAYC,EAAuBwD,GAC/BvD,MAAMD,GAHO,KAAAq6C,WAAiDv6C,EAAAA,YA2CjD,KAAAw6C,WAAc15B,IAC3BrgB,KAAKuB,SAAS,CAAEy4C,cAAe35B,EAAMoZ,OAAO9xB,QAExC3H,KAAKP,MAAM+S,UACXxS,KAAKP,MAAM+S,SAAS,CAChBynC,WAAYj6C,KAAKP,MAAMw6C,WACvBC,SAAU75B,EAAMoZ,OAAO9xB,MACvBwyC,cAAe95B,EAAMoZ,OAAO2gB,aA9CpCp6C,KAAKiD,MAAQ,CACT+2C,cAAe,IAIhBr5B,oBACC3gB,KAAK85C,WAAW5xC,UAChBlI,KAAK85C,WAAW5xC,QAAQ8xC,cAAgB,GAIzC1wC,SACH,MAAM,WAAE2wC,EAAU,aAAEI,EAAY,aAAEC,GAAiBt6C,KAAKP,MAExD,OACIF,EAAAA,cAAA,UACI+H,GAAI,uBAAuB2yC,IAC3B93B,IAAKniB,KAAK85C,WAAU,aACRQ,EACZtwC,UAAU,uBACVwI,SAAUxS,KAAK+5C,YAEdM,EAAa15C,KACTwC,GACGA,GACI5D,EAAAA,cAAA,UACIoI,MAAOxE,EAAKmE,GACZhB,IAAKnD,EAAKmE,GACVizC,UAAWv6C,KAAKiD,MAAM+2C,gBAAmB72C,EAAKmE,GAAE,iBAChCtH,KAAKiD,MAAM+2C,gBAAmB72C,EAAKmE,IAElDnE,EAAKwE,WCrE/B,MAAMoxC,EAAqBt5C,GAC9BF,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKyK,UAAU,8CACfzK,EAAAA,cAAA,OAAKyK,UAAU,4CAA4CvK,EAAM+hC,OACjEjiC,EAAAA,cAAA,OAAKyK,UAAU,iEAAiEvK,EAAM8yC,0BCqB9F,IAAqBiI,EAArB,cAAmDj7C,EAAAA,cAS/CC,YAAYC,GACRC,MAAMD,GAHO,KAAAg7C,SAA8Cl7C,EAAAA,YA2G9C,KAAAm7C,aAAe,KAC5B,MAAMC,OAA8Bh5C,IAAnB3B,KAAKP,MAAMm7C,IAAoB,EAAI56C,KAAKP,MAAMm7C,IAE3DC,MAAM76C,KAAKiD,MAAM63C,eAAiB96C,KAAKiD,MAAM63C,aAAeH,EAC5D36C,KAAKP,MAAM+S,UAAYxS,KAAKP,MAAM+S,SAASmoC,GAE3C36C,KAAKP,MAAM+S,UAAYxS,KAAKP,MAAM+S,SAASxS,KAAKiD,MAAM63C,eA7G1D96C,KAAKiD,MAAQ,CAAE63C,aAAcr7C,EAAMwU,cAAgB,GACnDjU,KAAK+6C,cAAgB/6C,KAAK+6C,cAAcpT,KAAK3nC,OAE7CwoC,EAAAA,EAAAA,KACI,IAAMxoC,KAAKP,MAAMwU,eACjB,KACIjU,KAAKuB,SAAS,CAAEu5C,aAAc96C,KAAKP,MAAMwU,cAAgB,OAK9D3K,SACH,MAAM0xC,EAA8B,GAAGh7C,KAAKP,MAAMw7C,+CAC5CC,EAA6B,GAAGl7C,KAAKP,MAAM07C,+CAC3C7mC,EAAWtU,KAAKP,MAAMwU,eAAiBjU,KAAKP,MAAMm7C,IAClDQ,EAAcp7C,KAAKP,MAAMwU,eAAiBjU,KAAKP,MAAMsU,IACrDsnC,EAAer7C,KAAKiD,MAAM63C,aAChC,IAAIQ,EAAa,GACbhnC,EAEAgnC,EAAa,WACNt7C,KAAKP,MAAM6U,WAElBgnC,EAAa,cAEjB,MAAMC,EAAoBC,GAAmB,KACzCx7C,KAAKy7C,qBAAqBD,IAG9B,OACIj8C,EAAAA,cAAA,OAAKyK,UAAU,YACXzK,EAAAA,cAAA,UACI+U,SAAUtU,KAAKP,MAAM6U,UAAYA,EACjCtJ,MAAOsJ,EAAW,GAAKtU,KAAKP,MAAM2U,yBAClCpK,UAAW,gCAAgCsxC,IAC3CpxC,QAASqxC,GAAkB,GAAE,8BAEjB,GAAGv7C,KAAKP,MAAM2U,2BAC1BmV,UAAW,EACX1gB,MAAM,aAENtJ,EAAAA,cAAA,QAAMyK,UAAWgxC,KAErBz7C,EAAAA,cAAA,SACIqI,KAAK,SACLoC,UAAU,iBACV0xC,QAAQ,SACR/zC,MAAO0zC,EACP7oC,SAAUxS,KAAK+6C,cACf7mB,OAAQl0B,KAAK06C,aAAY,YACf,SAAQ,aACN,GAAG16C,KAAKP,MAAM0U,yBAC1BkX,KAAK,aAAY,gBACF,EAAC,gBACDrrB,KAAKP,MAAMsU,IAAG,gBACdsnC,EACfl5B,IAAKniB,KAAKy6C,SACVnmC,SAAUtU,KAAKP,MAAM6U,WAEzB/U,EAAAA,cAAA,UACI+U,SAAUtU,KAAKP,MAAM6U,UAAY8mC,EACjCpwC,MAAOowC,EAAc,GAAKp7C,KAAKP,MAAM4U,yBACrCrK,UAAW,iCAAgCoxC,EAAc,WAAa,IACtElxC,QAASqxC,EAAiB,GAAE,8BAEhB,GAAGv7C,KAAKP,MAAM4U,2BAC1BkV,UAAW,EACX1gB,MAAM,aAENtJ,EAAAA,cAAA,QAAMyK,UAAWkxC,MAMzBO,qBAAqBD,GACzB,MAAMG,EAAkB37C,KAAKiD,MAAM63C,aAAeU,EAE9CG,GAAmB,GAAKA,GAAmB37C,KAAKP,MAAMsU,KACtD/T,KAAKP,MAAM+S,UAAYxS,KAAKP,MAAM+S,SAASmpC,GAI3CZ,cAAcxZ,GAClB,MAAM8Z,EAAenyC,OAAO0jB,SAAS2U,EAAE9H,OAAO9xB,MAAO,IAC/CgzC,OAA8Bh5C,IAAnB3B,KAAKP,MAAMm7C,IAAoB,EAAI56C,KAAKP,MAAMm7C,IACzDgB,EACF57C,KAAKy6C,UAAYz6C,KAAKy6C,SAASvyC,SAAWlI,KAAKy6C,SAASvyC,mBAAmB2zC,kBAAoB77C,KAAKy6C,SAASvyC,QAE7GmzC,EAAer7C,KAAKP,MAAMsU,IAC1B/T,KAAKuB,SAAS,CAAEu5C,aAAc96C,KAAKP,MAAMsU,MAEzC/T,KAAKuB,SAAS,CAAEu5C,aAAcO,IAAgB,KAC1CS,GAAAA,EAAS,KACAjB,MAAM76C,KAAKiD,MAAM63C,eAAmB96C,KAAKiD,MAAM63C,aAAeH,IAAaiB,IAC5EA,EAAaG,aAAa,gBAAiBV,EAAappC,YACxD2pC,EAAaG,aAAa,QAASV,EAAappC,eAErD,IALH6pC,QAvGEtB,EAAAwB,aAAwC,CAClDpB,IAAK,EACLK,oBAAqB,eACrBE,oBAAqB,eAJRX,GAAqB9T,EAAAA,EAAAA,IAAA,CADzCC,EAAAA,IACoB6T,GA2HpB,+kBCnGM,MAAM3D,UAA6Bt3C,IAAAA,UAGtCC,YAAYC,GACRC,MAAMD,GAHF,KAAAme,mBAAyB,GAuLhB,KAAAq+B,oBAAuBC,GACpCl8C,KAAKP,MAAMgR,UAAU0rC,sBAAsBz2C,QAAQ,mBAAoBw2C,GAE1D,KAAAE,sBAAwBx8C,MAAAA,IAErCI,KAAKuB,SAAS,CACV86C,QAAQ,EACRC,qBAAqB,EACrBC,OAAMp2C,EAAAA,EAAA,GAAOnG,KAAKiD,MAAMs5C,QAAM,IAAEp9B,SAAKxd,MAGzC,MAAM66C,EAAoBx8C,KAAKiD,MAAMo7B,WAChC19B,KAAI87C,GAAaA,EAAU3vC,mBAAmBmF,aAC9ChC,QAAOrI,IAAS5H,KAAK4d,mBAAmBhW,KAE7C5H,KAAKuB,SAAS,CACVg7C,OAAQ,CAAEE,UAAWD,KAErBA,EAAkBn8C,OAAS,EAC3BL,KAAKuB,SAAS,CACV86C,QAAQ,IAKhBr8C,KAAKP,MACA64C,qBAAoBnyC,EAAC,GAAKnG,KAAKiD,QAC/B7B,MAAK6gC,IAEEA,EAAOya,eACP18C,KAAKuB,SAAS,CACV86C,QAAQ,EACRC,qBAAqB,OAIhCja,OAAMb,IACH,MAAM,4BAAEmb,EAA2B,0BAAEC,GAA8B58C,KAAKP,MAAMgR,UAC9E,IAAImC,EAGAA,EADqB,wDAArB4uB,EAAMA,MAAMh5B,KACGm0C,EAEAC,EAGnB58C,KAAKuB,SAAS,CACV86C,QAAQ,EACRE,OAAMp2C,EAAAA,EAAA,GAAOnG,KAAKiD,MAAMs5C,QAAM,IAAEp9B,IAAKvM,MAEzC5S,KAAKP,MAAMQ,QAAQglB,UAAUuc,MAAM,2CAI9B,KAAAqb,kBAAqBpqC,IAClCzS,KAAKuB,SAAS,CACVyG,SAAUyK,EACV/L,WAAY+L,EAAWzS,KAAKP,MAAM6F,QAAQuI,SAIjC,KAAAivC,sBAAwB,CACrCC,EACAC,KAEA,GAAIA,GAAcD,EAAqBE,gBACnC,OAAOF,EAAqBE,gBAAgB13C,MAAKk3C,GAAaA,EAAU/4C,YAAcs5C,KAO7E,KAAAE,oBAAsBt9C,MAAAA,IAAyD,IAAAu9C,EAAAC,EAC5F,MAAM,QAAE93C,EAAO,WAAE+4B,EAAU,QAAEp+B,GAAYD,KAAKP,OACxC,cACFS,EACAqE,SACItD,aAAa,UAAEq1C,KAEnBr2C,EAGEo9C,EAA6C,QAApBF,EAAGn9C,KAAKiD,MAAMs5C,cAAM,IAAAY,GAAW,QAAXC,EAAjBD,EAAmBV,iBAAS,IAAAW,OAAX,EAAjBA,EAA8BntC,QAAO3I,GAAMA,IAAOg2C,EAAUrD,WAAWhoC,aAEzGjS,KAAKuB,SAAS,CACV86C,QAAQ,EACRC,qBAAqB,EACrBiB,gBAAgB,EAChBhB,OAAQ,CAAEp9B,SAAKxd,EAAW86C,UAAWY,KAIzCr9C,KAAK4d,mBAAmB0/B,EAAUrD,aAAeqD,EAAUpD,SAE3D,MAAMsD,EAAmBnf,MAAAA,OAAU,EAAVA,EACnB19B,KAAI87C,IACK,CACH3vC,mBAAoB2vC,EAAU3vC,mBAC9BI,eACIlN,KAAK88C,sBAAsBL,EAAWz8C,KAAK4d,mBAAmB6+B,EAAU3vC,sBACxE2vC,EAAUvvC,eACdnJ,oBAAqB04C,EAAU14C,wBAGtCkM,QAAOwsC,GACGA,GAAaA,EAAUvvC,iBAGhCuwC,QAAuB/G,EAAAA,EAAAA,oBACzB,IAAIF,EAAAA,qBACAlxC,EAAQo0C,gBAAkBp0C,EAAQo0C,gBAAkBp0C,EAAQ5B,SAC5D4yC,EACAkH,OACA77C,EACA3B,KAAKP,MAAMQ,QAAQsE,SAEvBrE,GAGJ,IAAKu9C,EAID,YAHAz9C,KAAKP,MAAMQ,QAAQglB,UAAUuc,MACzB,gDAAgDl8B,EAAQo0C,gBAAkBp0C,EAAQo0C,gBAAkBp0C,EAAQ5B,YAKpH,MAAMg6C,EAAiB,IAAI9D,EAAAA,qCACvB6D,EAAe/5C,SACf4yC,EACAkH,EACAx9C,KAAKP,MAAMQ,QAAQsE,SAEjBo5C,QAA0BhE,EAAAA,EAAAA,iCAAgC+D,EAAgBx9C,GAEhF,IAAKy9C,EAKD,OAJA39C,KAAKP,MAAMQ,QAAQglB,UAAUuc,MAAM,qEACnCxhC,KAAKuB,SAAS,CACVg8C,gBAAgB,IAKxB,MAAMK,EAAoB,IAAIC,EAAAA,6CAC1Bv4C,EAAQo0C,gBAAkBp0C,EAAQo0C,gBAAkBp0C,EAAQ5B,SAC5D4yC,GAIEwH,QAA6BC,EAAAA,EAAAA,4CAA2CH,EAAmB19C,GAC3F89C,EAAa,IAAIC,EAAAA,6BAA6B34C,EAAQ5B,SAAU4yC,GAChEjtC,QAAqB60C,EAAAA,EAAAA,4BAA2BF,EAAY99C,GAElE,IAAKmJ,EAKD,OAJArJ,KAAKP,MAAMQ,QAAQglB,UAAUuc,MAAM,gEACnCxhC,KAAKuB,SAAS,CACVg8C,gBAAgB,IAKxBv9C,KAAKuB,SAAS,CACVg8C,gBAAgB,EAChBY,yBAA2BL,GAAwBA,EAAqB,SAAOn8C,EAC/Ey8C,YAAa/0C,EAAatC,WAAazB,EAAQuI,OAC/CwwB,WAAYsf,EAAkBU,MAAK,CAACC,EAAGC,IAAMD,EAAExxC,mBAAqByxC,EAAEzxC,qBACtExH,QAASm4C,KAIA,KAAAe,iBAAmB,CAACtkC,EAAuBzJ,KACxD,OAAQyJ,GACJ,KAAK,EACD,OAAOzJ,EAAUguC,0BACrB,KAAK,EACD,OAAOhuC,EAAUiuC,kCACrB,KAAK,EACD,OAAOjuC,EAAUkuC,yBACrB,KAAK,EACD,OAAOluC,EAAUmuC,0BACrB,QACI,MAAO,KAvWf5+C,KAAKiD,MAAQ,CACT+E,SAAU,EACVo2C,UAAW3+C,EAAM6F,QAAQuI,MACzBnH,WAAYjH,EAAM6F,QAAQuI,MAC1BvI,QAAS7F,EAAM6F,QACf+4B,WAAY5+B,EAAM4+B,WAAWggB,MAAK,CAACC,EAAGC,IAAMD,EAAExxC,mBAAqByxC,EAAEzxC,qBACrE8Q,mBAAoB,GACpB2/B,gBAAgB,EAChBjB,qBAAqB,GAItBtnB,sBAAsBC,EAAuCqP,GAChE,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5C3rB,SAAM,IAAA6H,EAAAykB,EAAAia,EAAAgP,EACT,MACI5+C,SACIC,eACIO,gBAAgB,YAAEQ,IAEtBsD,SAAS,aAAE+G,IAEfmF,WAAW,sBACPquC,EAAqB,8BACrBC,EAA6B,yBAC7B3qC,EAAwB,yBACxBC,EAAwB,oBACxB2qC,EAAmB,kCACnBC,EAAiC,gBACjCC,GACH,cACD3zC,EAAa,oBACbitC,GACAx4C,KAAKP,OACH,eAAE89C,EAAc,QAAEj4C,EAAO,SAAE0C,EAAQ,UAAEo2C,EAAS,WAAE13C,EAAU,oBAAE41C,EAAmB,OAAEC,GAAWv8C,KAAKiD,MAEvG,OACI1D,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAACsrC,EAAAA,UAAS,KACL7qC,KAAKP,MAAMg5C,WACZl5C,IAAAA,cAAA,OAAKyK,UAAU,4CACXzK,IAAAA,cAAA,OAAKyK,UAAU,8DACXzK,IAAAA,cAAA,OAAKyK,UAAU,8DACXzK,IAAAA,cAAC2L,EAAAA,GAAK,CACFC,QAAqB,QAAdgG,EAAE7L,EAAQ2E,YAAI,IAAAkH,EAAAA,EAAI,QACzB1Q,eAAgBT,KAAKP,MAAMQ,QAAQC,cAAcO,eACjD2K,IAA6B,QAA1BwqB,EAAEtwB,MAAAA,OAAO,EAAPA,EAASe,uBAAe,IAAAuvB,EAAAA,EAAI,GACjCvqB,YAA8D,QAAnDwkC,GAAEppC,EAAAA,EAAAA,qBAAoBnB,MAAAA,OAAO,EAAPA,EAASlB,OAAQnD,UAAY,IAAA4uC,EAAAA,EAAI,GAClE7lC,UAAU,YACVuB,cAAeA,EACfD,aAAcA,EACdE,oBAAoB,UAExBjM,IAAAA,cAAA,OAAKyK,UAAU,iDACXzK,IAAAA,cAAA,OAAKyK,UAAU,yCAAyC1E,MAAAA,OAAO,EAAPA,EAASlB,QAChEo0C,EAAiC,QAAdqG,EAACv5C,MAAAA,OAAO,EAAPA,EAAS2E,YAAI,IAAA40C,EAAAA,EAAI,IACtCt/C,IAAAA,cAAA,OAAKyK,UAAU,iDACV+0C,EACA,IACA/+C,KAAKm/C,aAAaf,IAEvB7+C,IAAAA,cAAA,OAAKyK,UAAU,0CACVi1C,EACA,IACA35C,MAAAA,OAAO,EAAPA,EAAS1B,wBAItBrE,IAAAA,cAAA,OAAKyK,UAAU,wDAAwDhK,KAAKo/C,wBAEhF7/C,IAAAA,cAAA,OAAKyK,UAAU,sBACXzK,IAAAA,cAAA,WAAMy/C,GACNz/C,IAAAA,cAACi7C,EAAqB,CAClBlzC,GAAG,qDACH2M,aAAcjM,EACdwK,SAAUxS,KAAK68C,kBACf1oC,uBAAuB,mCACvBJ,IAAK,IACLK,yBAA0BA,EAC1BC,yBAA0BA,MAItC9U,IAAAA,cAAA,OAAKyK,UAAU,kDACVk1C,EACA,IACAl/C,KAAKm/C,aAAaz4C,KAG3BnH,IAAAA,cAAC8/C,EAAAA,YAAW,KACP/C,GACG/8C,IAAAA,cAAA,OACIyK,UAAU,oEAAmE,YACnE,YACVqhB,KAAK,SAEL9rB,IAAAA,cAAA,sBAAkB,SACjBS,KAAKs/C,4BAGb/C,MAAAA,OAAM,EAANA,EAAQp9B,MACL5f,IAAAA,cAAA,OAAKyK,UAAU,kEACXzK,IAAAA,cAAA,QAAMyK,UAAU,2BAA0B,cAAa,SACtDuyC,EAAOp9B,KAGhB5f,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWkW,GAAAA,CAAW,0DAA2D,CAAE,UAAWlgB,KAAKiD,MAAMo5C,SAAS,aACtGyC,EACZ50C,QAASlK,KAAKo8C,sBACd9nC,SAAUipC,GAETuB,KAObQ,0BACJ,MAAMC,EAAyBv/C,KAAKiD,MAAMo7B,WACrC19B,KAAI87C,IAAY,IAAA+C,EAAAC,EACb,IAAIzpB,EAAmC,QAA5BwpB,EAAG/C,EAAUQ,uBAAe,IAAAuC,GAEtC,QAFsCC,EAAzBD,EAA2Bj6C,MACrCoC,GAASA,EAAMjE,WAAa1D,KAAK4d,mBAAmB6+B,EAAU3vC,6BACjE,IAAA2yC,OAFsC,EAAzBA,EAEXtyC,MAIH,OAHqC,IAAjCsvC,EAAU3vC,qBACVkpB,EAAU,QAAQA,KAEfA,KAEV/lB,QAAOtI,GAASA,IAErB,OAAO3H,KAAKP,MAAMgR,UAAUivC,0BACvBh6C,QAAQ,UAAW1F,KAAKiD,MAAM+E,SAASiK,YACvCvM,QAAQ,yBAA0B,GAAG1F,KAAKiD,MAAMqC,QAAQ2E,SAAS+I,OAAO2sC,OAAOJ,GAAwBvrB,KAAK,SAG7GorB,sBACJ,MAAM,WAAE/gB,GAAer+B,KAAKiD,OACtB,UAAEwN,GAAczQ,KAAKP,MAE3B,OAAO4+B,MAAAA,OAAU,EAAVA,EAAY19B,KAAK87C,IAAmC,IAAAmD,EAAAC,EACvD,MAAM,gBAAE5C,EAAe,mBAAEnwC,GAAuB2vC,EAK1CP,EAAgBl8C,KAAKw+C,iBAAiB1xC,EAAoB2D,GAC1D4pC,EAAqC4C,EAAkBA,EAAgBt8C,KALtDgH,IAA4B,CAC/CL,GAAIK,EAAMjE,SACViE,MAAOA,EAAMwF,OAAS,OAG4F,GAGtH,OAFAktC,EAAayF,QAAQ,CAAEx4C,GAAI,EAAGK,MAAO,YAAYu0C,MAG7C38C,IAAAA,cAAA,OAAK+G,IAAKwG,GACNvN,IAAAA,cAAA,WAAM28C,IACY,QAAjB0D,EAAA5/C,KAAKiD,MAAMs5C,cAAM,IAAAqD,GAAW,QAAXC,EAAjBD,EAAmBnD,iBAAS,IAAAoD,OAAX,EAAjBA,EAA8BtlC,SAASzN,EAAmBmF,cACvD1S,IAAAA,cAAC2vC,EAAAA,MAAK,CAACrmC,MAAM,SAASk3C,WAAS,eAAa//C,KAAKi8C,oBAAoBC,IACjE38C,IAAAA,cAAA,OAAKyK,UAAU,oBAAmB,cAAa,QAC3CzK,IAAAA,cAAA,QAAMyK,UAAU,6BAChBzK,IAAAA,cAAA,YAAOS,KAAKi8C,oBAAoBC,MAI5C38C,IAAAA,cAACs6C,EAAQ,CACLI,WAAYntC,EACZwtC,aAAct6C,KAAKw+C,iBAAiB1xC,EAAoB2D,GACxD4pC,aAAcA,EACd7nC,SAAUxS,KAAKk9C,0BAgM3BiC,aAAal7C,GACjB,MACIhE,SACIgb,kBAAkB,eACdC,EAAc,aAGd8kC,KAGRhgD,KAAKP,MAET,OAAOyb,EAAejX,EAAMyH,QAAQ,GAAIs0C,IC7ZzC,MAAM/J,EAAex2C,IACxB,MAAM,SACF4B,EACApB,SACIC,eACIO,gBAAgB,YAAEQ,IAEtBsD,SAAS,aAAE+G,GACX2P,kBAAkB,eACdC,EAAc,aAGd8kC,IAEP,aACDrH,EAAY,oBACZH,EAAmB,sBACnBI,EACAnoC,WAAW,wBAAEwvC,GAAyB,cACtC10C,GACA9L,EAEJ,OACIF,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,KAAGyK,UAAU,gDAA+C,YAAW,aAClE4uC,KAEJn5C,EAAMg5C,WACPl5C,IAAAA,cAAA,OAAKyK,UAAU,0CACV3I,EAASV,KAAI,CAAC2E,EAA8BF,KAAiB,IAAA86C,EAAArQ,EAC1D,MAAM,MAAEhiC,EAAK,OAAEzJ,EAAM,KAAE6F,EAAI,gBAAE5D,GAAoBf,EAC3CrB,EAAQiX,EAAerN,EAAMnC,QAAQ,GAAIs0C,GACzCG,EAAyE,QAAvDD,GAAG/mC,EAAAA,EAAAA,kBAAiB9S,MAAAA,EAAAA,EAAmB,GAAIpF,UAAY,IAAAi/C,EAAAA,EAAI,GAC7EE,EAAsD,QAA3CvQ,GAAGppC,EAAAA,EAAAA,qBAAoBrC,EAAQnD,UAAY,IAAA4uC,EAAAA,EAAI,GAEhE,OACItwC,IAAAA,cAAA,OAAK+G,IAAK,WAAWlB,IAAS4E,UAAU,qCACpCzK,IAAAA,cAAA,OAAKyK,UAAU,8DACXzK,IAAAA,cAAC2L,EAAAA,GAAK,CACFC,QAASlB,MAAAA,EAAAA,EAAQ,QACjBxJ,eAAgBhB,EAAMQ,QAAQC,cAAcO,eAC5C2K,IAAK+0C,EACL90C,YAAa+0C,EACbp2C,UAAU,YACVsB,aAAcA,EACdC,cAAeA,EACfC,oBAAoB,UAExBjM,IAAAA,cAAA,OAAKyK,UAAU,gDAA+C,YAAW,UACrEzK,IAAAA,cAAA,OAAKyK,UAAU,yCAAyC5F,GACvDo0C,EAAoBvuC,MAAAA,EAAAA,EAAQ,MAGrC1K,IAAAA,cAAA,OAAKyK,UAAU,sDACXzK,IAAAA,cAAA,YAAO0E,GACP1E,IAAAA,cAAC8gD,EAAmB,CAAC/6C,QAASA,EAAS4pB,WAAY+wB,EAAyBtH,aAAcA,YAgBpH0H,EAAuB5gD,IACzB,MAAO48C,EAAQiE,IAAW5mC,EAAAA,EAAAA,WAAS,IAC7B,QAAEpU,EAAO,WAAE4pB,EAAU,aAAEypB,GAAiBl5C,EACxC8gD,EAAkBhhD,IAAAA,aAAkBK,UACtC0gD,GAASjE,SACH1D,EAAarzC,GACnBg7C,GAASjE,KACV,CAAC1D,EAAc0D,EAAQ/2C,IAE1B,OACI/F,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWkW,GAAAA,CAAW,mDAAoD,CAAE,UAAWm8B,IAAS,aACpF,GAAG/2C,EAAQ2E,QAASilB,IAChChlB,QAASq2C,GAERrxB,kOCjFN,MAAMsxB,UAAiCjhD,EAAAA,cAA9CC,cAAA,oBACW,KAAAyD,MAAwC,CAC3Cw9C,eAAe,EACfC,kBAAkB,GA4GL,KAAAC,WAActgC,IAC3BrgB,KAAKuB,SAAS,CACVk/C,eAAe,IAGnBzgD,KAAKP,MAAMmhD,sBAEX5gD,KAAKuB,SAAS,CACVk/C,eAAe,KAIN,KAAAI,cAAiBxgC,IAC9BrgB,KAAKuB,SAAS,CACVm/C,kBAAkB,IAGtB1gD,KAAKP,MAAMqhD,qBA1HR,gCACHrhD,EACAwD,GAEA,MAAM89C,EAAgBthD,EAAMshD,cAAc1gD,OAC1C,IAAIikC,uWAASn+B,CAAA,GAAQlD,GAKrB,OAJAqhC,EAAY,CACRmc,cAAiC,IAAlBM,EACfL,iBAAoC,IAAlBK,GAEfzc,EAGJh7B,SACH,MAAM,qBACF4uC,EAAoB,sBACpB5C,EAAqB,qBACrB0L,EAAoB,2BACpBzL,EAA0B,wBAC1B0K,EAAuB,sBACvBnB,EAAqB,8BACrBC,EAA6B,eAC7BkC,EAAc,yBACd7sC,EAAwB,yBACxBC,EAAwB,oBACxB2qC,EAAmB,kCACnBC,EAAiC,0BACjCpG,EAAyB,+BACzBC,EAA8B,mBAC9BE,EAAkB,0BAClByF,EAAyB,kCACzBC,EAAiC,yBACjCC,EAAwB,0BACxBC,EAAyB,2BACzBsC,EAA0B,8BAC1BC,EAA6B,0BAC7B9J,EAAyB,0BACzBC,EAAyB,0BACzBoI,EAAyB,gBACzBR,EAAe,yBACf1M,EAAwB,4BACxBmK,EAA2B,0BAC3BC,EAAyB,sBACzBT,GACAn8C,KAAKP,MAAMgR,UACT2wC,EAAe,CACjBnhD,QAASD,KAAKP,MAAMQ,QACpBwQ,UAAW,CACPynC,qBAAAA,EACA5C,sBAAAA,EACA0L,qBAAAA,EACAzL,2BAAAA,EACA0K,wBAAAA,EACAnB,sBAAAA,EACAC,8BAAAA,EACAkC,eAAAA,EACA7sC,yBAAAA,EACAC,yBAAAA,EACA2qC,oBAAAA,EACAC,kCAAAA,EACApG,0BAAAA,EACAC,+BAAAA,EACAE,mBAAAA,EACAyF,0BAAAA,EACAC,kCAAAA,EACAC,yBAAAA,EACAC,0BAAAA,EACAvH,0BAAAA,EACAC,0BAAAA,EACAoI,0BAAAA,EACAR,gBAAAA,EACA1M,yBAAAA,EACAmK,4BAAAA,EACAC,0BAAAA,EACAT,sBAAAA,GAEJ5wC,cAAevL,KAAKP,MAAMuC,OAAOuJ,cACjCisC,gBAAiBx3C,KAAKP,MAAM+3C,iBAGhC,OACIj4C,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACy1C,EAAiBhiC,OAAAC,OAAA,GAAKmuC,IACvB7hD,EAAAA,cAACuL,EAAAA,OAAM,CACHZ,QAASlK,KAAK2gD,WACdrsC,SAAUtU,KAAKiD,MAAMw9C,cACrBz2C,UAAU,sBAAqB,aACnBk3C,GAEZ3hD,EAAAA,cAAA,cACES,KAAKP,MAAM4hD,gBAAkBH,GAEnC3hD,EAAAA,cAACuL,EAAAA,OAAM,CACHZ,QAASlK,KAAK6gD,cACdvsC,SAAUtU,KAAKiD,MAAMy9C,iBACrB12C,UAAU,kBAAiB,aACfm3C,GAEZ5hD,EAAAA,cAAA,cACES,KAAKP,MAAM4hD,gBAAkBF,KCjFnD,MAAMG,EAA4B7hD,GAAsC,KACpE8hD,EAAqB9hD,IAkBnB8hD,EAAwB9hD,IAC1B,MACI0C,MAAM,cAAEwrC,GAAe,SACvBN,GACA5tC,GACE,iBAAE+hD,GAAqBnU,EAEzBmU,GACAA,EAAiB7T,EAAc4D,YAAY7D,KAI7C+T,EAAoChiD,IACtC,MACI0C,MAAM,cAAEwrC,GAAe,SACvB/jC,EAAQ,GACRtC,EAAE,QACFrH,EAAO,iBACP+R,EAAgB,UAChBvB,GACAhR,GACE,2BACFiiD,EAA0B,sBAC1BzN,EAAqB,wBACrBC,EAAuB,wBACvBC,EAAuB,wBACvBC,EAAuB,0BACvBC,EAAyB,gCACzBC,GACA7jC,EAEEq+B,EAAgB,CAClBmF,sBAAAA,EACAC,wBAAAA,EACAC,wBAAAA,EACAC,wBAAAA,EACAC,0BAAAA,EACAC,gCAAAA,GAGJ,OACI/0C,EAAAA,cAACovC,EAAAA,gCAA+B,CAC5B1uC,QAASA,EACTqH,GAAIA,EACJsC,SAAUA,EACVzH,KAAM,CAAEwrC,cAAAA,GACR3jC,UAAU,GACV4kC,cAAe8S,EACf5S,cAAeA,EACf98B,iBAAkBA,KAKxB2vC,EAAkCliD,IACpC,MAAM,iCAAEmiD,EAAgC,UAAEnxC,EAAS,QAAExQ,EAAO,SAAEotC,GAAa5tC,EAC3E,OACIF,EAAAA,cAACsiD,EAAAA,6BAA4B,CACzBC,iBAAkBzU,EAASyU,iBAC3B93C,UAAU,iCACV/J,QAASA,EACTqH,GAAI7H,EAAM6H,GACVnF,KAAM,CAAEwrC,cAAeluC,EAAM0C,KAAKwrC,cAAc4D,aAChD3nC,SAAUnK,EAAMmK,SAChBg4C,iCAAkCA,EAClCG,8BAA+BtxC,EAAUuxC,4BCrD/CC,EAA4BxiD,IAC9B,MAAM,kBAAEyiD,EAAiB,gBAAEC,EAAe,SAAEn6C,EAAQ,SAAEqlC,GAAa5tC,GAC7D,OAAEqU,GAAWquC,GACb,WAAEC,EAAU,aAAEC,GAAiBhV,EAErC,MAAO,CACHiV,YAAaA,IAAOjiC,IAChBvM,GAAUouC,EAAkBnS,aAAeqS,EAAWF,EAAkBnS,YAAYtsC,eAAgBuE,EAAU8L,IAElHyuC,cAAeA,IAAOliC,GAAyCvM,GAAUuuC,EAAa5iD,EAAMyiD,qBAS9FM,EAAS/iD,IACX,MAAM,mBAAEu0C,EAAkB,iCAAEyO,EAAgC,eAAEC,EAAc,uBAAEC,GAA2BljD,EAAMgR,WACxGmyC,EAAYC,IAAiBnpC,EAAAA,EAAAA,WAAS,GAOvC4P,EAAS/pB,IAAAA,aAAkB,KAC7BsjD,GAAeD,KAChB,CAACA,IAEJ,OACIrjD,IAAAA,cAAA,OAAKyK,UAAW,gCACZzK,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAW,6BAAyC,aACxC04C,EAAc,YACfjjD,EAAM2F,MACjB8E,QAASof,IAEZs5B,GACGrjD,IAAAA,cAAA,OAAKyK,UAAW,uBACZzK,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAU,2BACVE,QApBUmW,IAC1B5gB,EAAMqjD,uBAAuBrjD,IAoBbuL,MAAO23C,EAAsB,aACjBA,GAAsB,QAIrCI,EACGtjD,EAAM8oB,SACN9oB,EAAMujD,sBACNP,EACAR,EAAyBxiD,GAAO8iD,iBAEnCQ,EACGtjD,EAAM8oB,SACN9oB,EAAMwjD,mBACNjP,EACAiO,EAAyBxiD,GAAO6iD,kBAQlDS,EAAkBA,CACpBx6B,EACAve,EACAklB,EACAypB,IAEAp5C,IAAAA,cAACuL,EAAAA,OAAM,cAAaokB,EAAYllB,UAAWA,EAAWE,QAASyuC,EAAc3tC,MAAOkkB,GAC/E3G,EAAW2G,EAAa,IAU3Bg0B,EAAsBA,CAAChB,EAAgD1U,IACzEntB,IAEA6hC,EAAkBiB,WAAajB,EAAkBiB,UAEjD3V,EAAMH,SAAS+V,SAASlB,EAAmB7hC,EAAMoZ,OAAO4pB,UAuE/CC,EAA+B9V,IACxC,MAAM,kBAAE0U,EAAiB,gBAAEC,EAAe,MAAEl+C,EAAK,QAAEhE,EAAO,cAAEsL,GAAkBiiC,EACxEloC,EAAU48C,EAAkBnS,aAC5B,OAAEj8B,EAAM,cAAEnQ,GAAkBw+C,EAClC,IAAK78C,EACD,OAEJ,MAAM,OAAElB,EAAM,KAAE6F,EAAI,gBAAE5D,GAAoBf,EAAQ7B,eAC5C+C,GAAgBC,EAAAA,EAAAA,qBAAoBrC,EAAQnE,EAAQC,cAAcO,eAAeQ,aAEvF,MAAO,CACHsiD,aACIl9C,GACA4D,GACAu5C,EAAoB,YAAavjD,EAASqF,EAAQ7B,eAAewG,KAAO5D,EAAiBG,EAAe+E,GAC5GrF,YAAau9C,EAAkBjW,GAC/BnkC,aAAcpF,GAASyF,EAAa8jC,GACpCkW,cAAet/C,EACfu/C,qBAAsBhgD,IAAiBM,MAAAA,OAAK,EAALA,EAAON,eAC9CigD,oBAAqBC,EAAkBrW,EAAO15B,KAgBhDgwC,EAAkBA,CACpBC,EACAzW,EACA7tC,IACEgT,IACEsxC,GACAA,EAAiBzW,EAAS76B,EAAUhT,IAItCokD,EAAoBA,CAACpkD,EAAgC6tC,KACvD,MAAM,SAAED,EAAQ,UAAE58B,EAAS,SAAEzI,GAAavI,GACpC,iBAAEskD,GAAqB1W,EAC7B,OACI9tC,IAAAA,cAACi7C,EAAqB,CAClBvmC,aAAcjM,EACdwK,SAAUsxC,EAAgBC,EAAkBzW,EAAS7tC,GACrDsU,IAAK,UACLI,uBAAwB1D,EAAU0D,uBAClCE,yBAA0B5D,EAAU4D,yBACpCD,yBAA0B3D,EAAU2D,yBACpCE,SAAU7U,EAAMukD,+BAKfR,EAAsBA,CAC/Bx5C,EACA/J,EACA8iB,EACAF,EACArc,EACA+E,KAEA,MAAMpB,EAAuC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCC,GAAI,CAAEH,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCE,GAAI,CAAEJ,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,IAEvCG,UAAU,GAGd,OAAIkY,EAEItjB,IAAAA,cAAC2L,EAAAA,GAAK,CACFzK,eAAgBR,EAAQC,cAAcO,eACtCuJ,UAAWA,EACXmB,QAAS4X,EACT/X,MAAO+X,EACP3X,IAAKyX,EACLxX,YAAa7E,EACb8E,aAAcrL,EAAQsE,QAAQ+G,aAC9BC,cAAeA,GAAiBpB,EAChCqB,oBAAoB,QACpB+d,SAAU,IAIf,MAGL7f,EAAgBjK,IAClB,MAAM,MAAEwE,EAAK,QAAEhE,EAAO,SAAEgd,EAAQ,eAAED,EAAc,UAAEvM,GAAchR,EAEhE,OAAIwE,EAEI1E,IAAAA,cAACoK,EAAAA,eAAc,CACXrC,GAAI2V,EACJrT,SAAUoT,EACV7a,KAAM,CAAE8B,MAAAA,GACR+F,UAAU,8CACVH,cAAe4G,EAAU5G,cACzBC,kBAAmB2G,EAAU3G,kBAC7BC,iBAAkB0G,EAAU1G,iBAC5B9J,QAASA,IAId,MAmBEwjD,EAAqBhkD,IAA+D,IAAAwkD,EAC7F,MAAM,kBAAE/B,EAAiB,WAAE7wC,GAAe5R,EACpC+I,EAAoC,QAAhCy7C,EAAG/B,EAAkBnS,mBAAW,IAAAkU,OAAA,EAA7BA,EAA+BxgD,eAAewG,KAErDo0B,EApBwB5+B,CAAAA,IAC9B,MAAM,kBAAEyiD,GAAsBziD,EAE9B,OAAKyiD,EAAkBnS,aAAgBmS,EAAkBnS,YAAYtsC,eAAe+I,WAI7E01C,EAAkBnS,YAAYtsC,eAAe+I,WAAW7L,KAAI87C,IAC/D,GAAKA,EAAUvvC,gBAAmBuvC,EAAUvvC,eAAeC,MAI3D,OAAOsvC,EAAUvvC,eAAeC,SARzB,IAgBQ+2C,CAAyBzkD,GAC5C,IAAKyiD,EAAkBnS,YACnB,MAAO,GAGX,MAAM39B,EAAcf,EAChB9R,IAAAA,cAAA,KAAGyK,UAAU,kDAAkDnF,KAAMwM,GAChE7I,GAGLjJ,IAAAA,cAAA,OAAKyK,UAAU,mDAAmDxB,GAGhE27C,EAAyB9lB,EAAWrK,KAAK,MAE/C,OACIz0B,IAAAA,cAAA,OAAKyK,UAAU,8CACXzK,IAAAA,cAAA,OAAKyK,UAAU,mDAAmDoI,GAClE7S,IAAAA,cAAA,OAAKyK,UAAU,wDAAwDm6C,KC/XtEC,EAAmFjsC,IAAmC,IAAlC,UAAEnO,EAAS,UAAEkmC,EAAS,KAAE9lB,GAAMjS,EAC3H,OAAQ+3B,GACJ,IAAK,QACD,OAAO3wC,EAAAA,cAAA,KAAGyK,UAAWkW,GAAAA,CAAW,yCAA0ClW,IAAaogB,GAC3F,IAAK,SACD,OAAO7qB,EAAAA,cAAA,KAAGyK,UAAWkW,GAAAA,CAAW,0CAA2ClW,IAAaogB,GAC5F,IAAK,UACL,QACI,OAAO7qB,EAAAA,cAAA,KAAGyK,UAAU,4CAA4CogB,mOCcrE,MAAMi6B,WAAkC9kD,EAAAA,cAA/CC,cAAA,oBACW,KAAAyD,MAAyC,CAC5CkgD,WAAW,GAGE,KAAAmB,mBAA6B,WAYvC,KAAAC,YAAc,IAAOlkC,IACxBrgB,KAAKuB,SACD,CACI4hD,UAAWnjD,KAAKiD,MAAMkgD,YAE1B,KACInjD,KAAKP,MAAMk5C,cAAc34C,KAAKiD,MAAMkgD,eAhBzC,gCACH1jD,EACAwD,GAEA,MAAMuhD,EAAe/kD,EAAMglD,MAAMx0C,QAAOszB,IAASA,EAAK4f,YAAW9iD,OACjE,IAAIikC,uWAASn+B,CAAA,GAAQlD,GAErB,OADAqhC,EAAY,CAAE6e,UAA4B,IAAjBqB,GAClBlgB,EAcJh7B,SACH,OACI/J,EAAAA,cAAA,aACIA,EAAAA,cAAA,MAAIyK,UAAW,GAAGhK,KAAKskD,mCACnB/kD,EAAAA,cAAA,MAAImlD,MAAM,MAAK,aAAa1kD,KAAKP,MAAMklD,mBACnCplD,EAAAA,cAAA,SAAOyK,UAAU,sBACbzK,EAAAA,cAAA,sBACgBS,KAAKP,MAAMklD,kBACvB36C,UAAU,iBACVpC,KAAK,WAAU,eACD5H,KAAKiD,MAAMkgD,UACzBE,QAASrjD,KAAKiD,MAAMkgD,UACpB3wC,SAAUxS,KAAKukD,gBAEnBhlD,EAAAA,cAAA,QAAMyK,UAAU,gBAGtBhK,KAAKP,MAAM8oB,SAA4D,KAAjDhpB,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAM8jD,cACpDhkD,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAMikD,eAC1B1jD,KAAKP,MAAM8oB,SAA2D,KAAhDhpB,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAM2S,aAClDpS,KAAKP,MAAM8oB,SAAgE,KAArDhpB,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAMmlD,kBAClD5kD,KAAKP,MAAM8oB,SAA0D,KAA/ChpB,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAMolD,YAClD7kD,KAAKP,MAAM8oB,SAA+D,KAApDhpB,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAMqlD,iBAClD9kD,KAAKP,MAAM8oB,SAA8DhpB,EAAAA,cAAA,WAAnDA,EAAAA,cAAA,MAAImlD,MAAM,OAAO1kD,KAAKP,MAAMslD,2pBCkCxE,IAAMC,GAAN,cAAiCzlD,EAAAA,UAY7BC,YAAYC,EAAgDwD,GACxDvD,MAAMD,GA8QO,KAAAwlD,mBAAqB,KAClC,MAAM,QAAEhlD,EAAO,UAAEwQ,GAAczQ,KAAKP,OAC9B,UAAEwlB,GAAchlB,GAChB,6BAAEilD,EAA4B,6BAAEC,GAAiC10C,EACjEg0C,EAAQzkD,KAAKiD,MAAMmiD,iBACnBC,EAAmBZ,GAASA,EAAMpkD,QAAUokD,EAAMx0C,QAAOszB,GAAQA,EAAK4f,YAAWxiD,KAAI4iC,GAAQA,EAAK4e,kBAExG,GAAIkD,GAAoBA,EAAiBhlD,OAAS,EAAG,CACjD,MAAMgxC,EAAgBgU,EAAiB,GAAG3I,cAEpC4I,EAAoC,KAC1CC,EAAAA,EAAAA,6BAA4B,CAAExlD,cAAeE,EAAQC,eAAiBmxC,EAAgBgU,GACjFjkD,MAAKxB,UACFI,KAAKuB,SAAS,CACV0tC,YAAakW,EACbhW,gBAAiB,UACjByC,aAAc,eACdjU,QAAQ,UAGN,IAAI2I,SAAQC,GAAWlL,WAAWkL,EAAS+e,KACjD7iD,OAAOC,SAASC,YAEnB0/B,OAAMb,IACHvc,EAAUwsB,QAAQ,4EAClBxsB,EAAUuc,MAAMA,GAChBxhC,KAAKuB,SAAS,CACV0tC,YAAaiW,EACb/V,gBAAiB,UACjByC,aAAc,eACdjU,QAAQ,SAMX,KAAA2Q,yBAA2B,KAAa,IAAApQ,EAAAsnB,EACrD,IAAI/gD,GAAMkd,EAAAA,EAAAA,IAAW,gBAAiB3hB,KAAKP,MAAMQ,QAAQC,gBAAkB,GAE3E,OADAuE,EAAMA,EAAI8V,SAAS,KAAO9V,EAAIghD,OAAO,EAAGhhD,EAAIihD,QAAQ,MAAQjhD,EAC3B,QAAjCy5B,EAAIl+B,KAAKP,MAAM0C,KAAKwrC,qBAAa,IAAAzP,GAAQ,QAARsnB,EAA7BtnB,EAA+Bnd,cAAM,IAAAykC,GAArCA,EAAuCjU,YAAY7D,GAC5C,GAAGjpC,QAAUzE,KAAKP,MAAM0C,KAAKwrC,cAAc5sB,OAAOwwB,YAAY7D,KAElE,IAGM,KAAAiY,qBAAuB/lD,UACpC,MACMmhD,EADQ/gD,KAAKiD,MAAMmiD,iBACGn1C,QAAOszB,GAAQA,EAAK4f,YAChD,GAAIpC,EAAc1gD,OAAS,EACvB,IAAK,MAAMulD,KAAe7E,EAAe,CAAC,IAAD8E,EAAAC,EAAAC,EAAAC,EAAAC,EACrC,MAAM3Y,EAAwD,QAAjDuY,EAA0B,QAA1BC,EAAGF,EAAY7V,mBAAW,IAAA+V,OAAA,EAAvBA,EAAyBriD,eAAeW,cAAM,IAAAyhD,EAAAA,EAAI,GAC5DvgD,EAAiD,QAA1CygD,EAA0B,QAA1BC,EAAGJ,EAAY7V,mBAAW,IAAAiW,OAAA,EAAvBA,EAAyBviD,sBAAc,IAAAsiD,EAAAA,EAAI,CACvDriD,SAAU,EACVwiD,iBAAkB,EAClBn/C,UAAW,EACX8G,MAAO,EACP3J,cAAe,GAEb8D,EAA+C,QAAvCi+C,EAAGL,EAAYzD,gBAAgB3+C,gBAAQ,IAAAyiD,EAAAA,EAAI,EACzDjmD,KAAKmmD,cAAc7gD,EAAS0C,EAAUslC,GAG9C,OAAOhH,QAAQC,aAAQ,IAuDV,KAAA6f,eAAkBC,GAC3BvnC,EAAAA,GAASC,UACF,IAAI1I,IAAI5T,OAAOC,SAASmC,MAE5B,IAAIwR,IAAIgwC,EAAW5hD,IAAIC,WAAWG,MAM5B,KAAAyhD,eAAiB,KAC9BtmD,KAAKuB,SAAS,CACV+rC,QAASttC,KAAKiD,MAAMqqC,QACpB2B,YAAajvC,KAAKiD,MAAMgsC,YACxBE,gBAAiBnvC,KAAKiD,MAAMksC,gBAC5ByC,aAAc5xC,KAAKiD,MAAM2uC,aACzBjU,OAAQ39B,KAAKiD,MAAM06B,OACnB4oB,gCAAgC,KAIvB,KAAAC,6BAA+B,IACvCxmD,KAAKiD,MAAMwjD,0BAKZlnD,EAAAA,cAACmnD,EAAAA,sBAAqB,CAClB18C,UAAU,gCACV1C,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrB3J,QAASD,KAAKP,MAAMQ,QACpB6uC,cAAe9uC,KAAK2mD,0CACpBxkD,KAAMnC,KAAKiD,MAAMwjD,0BACjB/V,UAAW1wC,KAAKiD,MAAMsjD,+BACtBK,QAAS5mD,KAAKsmD,iBAZX,KA0BE,KAAAO,kBAAoB,KACjC,MAAM,OAAE7kD,EAAM,QAAE/B,EAAO,KAAEkC,EAAI,UAAEsO,GAAczQ,KAAKP,MAC5CkuC,EAAgBxrC,GAAQA,EAAKwrC,eAAiBxrC,EAAKwrC,cAAc5sB,OACvE,IAAK4sB,EACD,OAAO,KAGX,MAAMmZ,EAAU9mD,KAAKomD,eAAenmD,EAAQsE,SACtCwiD,EAAe/kD,EAAO+kD,cAAgB,GAEtCC,EADoBhnD,KAAKinD,wBACOF,EAChCG,EAAavZ,GAAiBA,EAAcc,WAC5C0Y,EAAe12C,EAAUwwB,gBACzBmmB,EAAW32C,EAAU0wB,YAE3B,OAAI+lB,GAAcH,EACP,KAIPxnD,EAAAA,cAAC8nD,EAAAA,uBAAsB,CACnBr9C,UAAW,GAAGhK,KAAKgK,wBACnBqhB,KAAK,aAAY,aACL5a,EAAU62C,oBACtB7iD,IAAKqiD,EAAQjiD,KACb0iD,IAAI,OACJriD,MAAOgiD,EACPH,aAAcA,EACdS,aAAcR,EACdG,aAAcnnD,KAAKynD,YAAYN,GAC/BC,SAAUpnD,KAAK0nD,YAAYN,GAC3BO,kBAAmBR,EACnBS,cAAeR,KAwEV,KAAAS,wBAA2BpoD,IACxC,IAAIwD,EAAQ,CACR6kD,oBAAqB9nD,KAAKiD,MAAM6kD,oBAEhCroD,IACAwD,EAAKkD,GAAAA,GAAA,GACElD,GACA,CACC8kD,oBAAqBzE,EAA4B7jD,MAI7DO,KAAKuB,SAAS0B,IAID,KAAAiuC,WAAa,KAC1BlxC,KAAKuB,SAAS,CACVo8B,QAAQ,KAIC,KAAAqqB,gBAAkB,CAAC1a,EAAiBtlC,EAAkBvI,KACnE,MAAM,QAAEQ,EAAO,KAAEkC,EAAI,UAAE8iB,EAAS,OAAEjjB,EAAM,UAAEyO,GAAczQ,KAAKP,OACvD,cAAEkuC,GAAkBxrC,EAE1B,GAAIlC,GACI0tC,MAAAA,GAAAA,EAAe5sB,OAAQ,CACvB,MAAMknC,EAAyBta,EAAc5sB,OAAOmtB,mBACpD,GAAI+Z,EAAwB,CACxB,MAAMC,EAAiBD,EAAuBE,WACzC1D,GAA6BA,EAAMtC,gBAAgBruC,SAAWw5B,IAE7D8a,EAAkBjiD,GAAA,GAAQ8hD,EAAuBC,IACvD,GAAID,EAAuBC,GAAgB/F,gBAAgB3+C,WAAawE,EACpE,OAEJ,MAAMqgD,EAAeD,EAAmBjG,gBAAgB3+C,SACxD4kD,EAAmBjG,gBAAgB3+C,SAAWwE,EAC9C,MAAM,YAAE+nC,GAAyBqY,EAAT7kB,GAAI+kB,EAAAA,EAAAA,GAAKF,EAAkBG,IAG/C9oD,IACAA,EAAMuI,SAAWA,EACjBhI,KAAKuB,SAAS,CACVwmD,oBAAqBzE,EAA4B7jD,MAIzDO,KAAKuB,SAAS,CACVyiD,6BAA6B,KAGjCwE,EAAAA,EAAAA,6BAA4B,CAAEzoD,cAAeE,EAAQC,eAAiBytC,EAAc5sB,OAAOwwB,YAAY7D,GAAI,CACvGnK,EAAK4e,kBAEJ/gD,MAAKqnD,IASF,GARAzoD,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,YAAa,GACbE,gBAAiB,UACjByC,aAAc,eACdoS,6BAA6B,EAC7BrmB,QAAQ,IAER8qB,EAAM,CACN,MAAMC,EAAUD,EAAKljD,MAAKk/C,GAASA,EAAM3wC,SAAWw5B,IACpD2a,EAAuBC,GAAgB/F,gBAAkBuG,EACzD,MAAMC,EAAe,IAAIV,GACzBU,EAAaT,GAAkB,CAAEnY,YAAAA,EAAaoS,gBAAiBuG,GAC/D,MAAME,EAAoBziD,GAAAA,GAAA,GAAQwnC,EAAc5sB,QAAM,IAAE8nC,iBAAkBF,IAC1E1oD,EAAQC,cAAc4oD,OAClB,IAAIC,GAAAA,8BAA8B9oD,EAAQC,cAAcO,eAAgBuB,GACxE4mD,OAIXvmB,OAAMb,IACHvc,EAAUwsB,QAAQ,6DAClBxsB,EAAUuc,MAAMA,GAChB,MAAMyN,EAAcx+B,EAAUu4C,mCAC1BvpD,GACAA,IAAUA,EAAM0iD,gBAAgB3+C,SAAW6kD,GAC3CroD,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,YAAAA,EACAE,gBAAiB,SACjByC,aAAc,8BACdoS,6BAA6B,EAC7BrmB,QAAQ,EACRoqB,oBAAqBzE,EAA4B7jD,OAGrD2oD,EAAmBjG,gBAAgB3+C,SAAW6kD,EAC9CroD,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,YAAAA,EACAE,gBAAiB,SACjByC,aAAc,8BACdoS,6BAA6B,EAC7BrmB,QAAQ,WASvB,KAAAwoB,cAAgB,CAAC7gD,EAAwB0C,EAAkBslC,KACxE,MAAM,QAAErtC,EAAO,KAAEkC,EAAI,UAAEsO,EAAS,UAAEwU,GAAcjlB,KAAKP,OAC/C,KAAEoiC,GAAS1/B,GACX,qBAAE8mD,EAAoB,0BAAEC,GAA8Bz4C,EAE5D,GAAIxQ,GACI4hC,EAAK9gB,OAAQ,CACb,MAAMooC,EAAwB,CAC1B7jD,QAAAA,EACA6C,MAAOH,GAGX65B,EAAK9gB,OACAqoC,iBAAiBD,GACjB/nD,MAAM2f,IACH,GAAsB,YAAlBA,EAAOkhB,OACP,OAAOic,EAAAA,EAAAA,4BACH,IAAID,EAAAA,6BACA34C,EAAQ5B,SACR1D,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeQ,YAAYq1C,UAC5DhxC,GAEJtF,KAAKP,MAAMQ,QAAQC,eACrBkB,MAAKioD,IACH,IAAKA,EACD,OAAOC,EAAAA,GAAYC,OAAO,oCAG9B,MAAMC,EAAsD,iBAAzCvpD,EAAQ8B,IAAIC,OAAOynD,kBAetC,OAdAzpD,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,YAAa,GACbE,gBAAiB,UACjByC,aAAc,eACdjU,QAAQ,EACR4oB,gCAAiCiD,EACjC/C,0BAA2B,CACvBnhD,QAAAA,EACA+D,aAAcggD,EACdrhD,SAAAA,GAEJ8/C,oBAAoB,IAEjBwB,EAAAA,GAAY/iB,aAEpB,GAAyB,gBAArBxlB,EAAOmhB,UAA6B,CAAC,IAADwnB,EAAAC,EAAAC,EAC3C,MAAMC,GACS,QAAXH,EAAA7nB,EAAK9gB,cAAM,IAAA2oC,OAAA,EAAXA,EAAa7nB,KAAKwB,aACP,QADgBsmB,EAC3B9nB,EAAK9gB,cAAM,IAAA4oC,GAAsE,QAAtEC,EAAXD,EAAa9nB,KAAKwB,UAAU99B,MAAKwb,GAAUA,EAAOlgB,YAAcyE,EAAQ5B,kBAAS,IAAAkmD,OAAtE,EAAXA,EAAmFpmD,UACjFsmD,EAAiB,oBAAoB7pD,EAAQ8B,IAAIC,OAAO+nD,+DAc9D,OAbA/pD,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,iBACyBttC,IAArBkoD,GACMZ,EACKvjD,QAAQ,gBAAiBmkD,EAAiB53C,YAC1CvM,QAAQ,gBAAiBzF,EAAQ8B,IAAIC,OAAO+nD,2BAA2B93C,aAE5E63C,EACV3a,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,IAEL2rB,EAAAA,GAAY/iB,UAUvB,OARAthB,EAAUwhB,MAAM,mFAChBzmC,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,YAAaia,EACb/Z,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,IAEL2rB,EAAAA,GAAY/iB,aAEtBlE,OAAOb,IACJvc,EAAUwsB,QAAQjQ,EAAMgF,SACxBvhB,EAAUwhB,MAAM,yFAChBzmC,KAAKuB,SAAS,CACV+rC,QAAAA,EACA2B,YAAaia,EACb/Z,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,SAOf,KAAAqsB,kCAAqCzmB,IAClD,MAAM,QAAEtjC,EAAO,KAAEkC,EAAI,UAAE8iB,GAAcjlB,KAAKP,OACpC,cAAEkuC,GAAkBxrC,EAE1B,GAAIlC,GAAWA,EAAQC,cAAe,CAClC,MAAMolD,EAAoC,IACxBrlD,EAAQsE,QAAQ7D,KAAKkkC,iBAAmB3kC,EAAQsE,QAAQ7D,KAAK4wC,OAC3E2Y,MAAatc,GAAAA,EAAe5sB,QAAUwiB,GACtCgiB,EAAAA,EAAAA,6BAA4B,CAAExlD,cAAeE,EAAQC,eAAiBqjC,EAAK4e,gBAAgBzF,cAAgB,CACvGnZ,EAAK4e,kBAEJ/gD,MAAKxB,gBAEI,IAAI0mC,SAAQC,GAAWlL,WAAWkL,EAAS+e,KACjD7iD,OAAOC,SAASC,YAEnB0/B,OAAMb,IACHvc,EAAUwsB,QAAQ,4EAClBxsB,EAAUuc,MAAMA,MAGxBvc,EAAUwsB,QACN,qHAMC,KAAAyY,gBAAkBtqD,MAAAA,IAC/B6C,OAAOC,SAASC,SACT2jC,QAAQC,WAGF,KAAA4jB,gBAAkB,KAC/B,MAAM,QAAElqD,EAAO,KAAEkC,EAAI,UAAE8iB,EAAS,UAAExU,GAAczQ,KAAKP,OAC/C,cAAEkuC,GAAkBxrC,EAE1B,GAAIlC,GAAWA,EAAQC,cAAe,CAElC,GADkBD,EAAQsE,QAAQ7D,KAAKkkC,iBAAmB3kC,EAAQsE,QAAQ7D,KAAK4wC,OAC9D3D,GAAiBA,EAAc5sB,OAAQ,EACpDywB,EAAAA,EAAAA,aAAY,CAAEzxC,cAAeE,EAAQC,eAAiBytC,EAAc5sB,OAAOwwB,aACtEnwC,OACAihC,OAAOb,IAAiB,IAAA4oB,EACrBnlC,EAAUwsB,QAAQ,qDAClBxsB,EAAUuc,MAAMA,GAChBxhC,KAAKuB,SAAS,CACV+rC,SAA6B,QAApB8c,EAAAzc,EAAc5sB,cAAM,IAAAqpC,OAAA,EAApBA,EAAsB7Y,YAAY7D,KAAM,GACjDuB,YAAax+B,EAAUkhC,8BACvBxC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,OAGpB,MAAM0sB,GAAU1oC,EAAAA,EAAAA,IAAW,oBAAqB3hB,KAAKP,MAAMQ,QAAQC,eAC/DmqD,GACA5nD,OAAOC,SAASuQ,OAAOo3C,QAG3BplC,EAAUwsB,QAAQ,uFAGtBxsB,EAAUwsB,QAAQ,sDAQT,KAAA6Y,aAAe,KAC5B,MAAM,QAAErqD,GAAYD,KAAKP,MAGzB,GAAIQ,EAAQsE,SAAWtE,EAAQsE,QAAQgmD,QAA0C,WAAhCtqD,EAAQsE,QAAQgmD,OAAOC,KACpE,MAAO,KAGX,GAAI1rC,EAAAA,GAASC,WAAatc,OAAOgoD,WAAY,CACzC,MAAMn/C,EAAerL,EAAQsE,QAAQ+G,aACrC,GAAIA,EACA,OAAIA,EAAajB,IAAM5H,OAAOgoD,YAAcn/C,EAAajB,GAAGE,EACjD,KACAe,EAAao5B,IAAMjiC,OAAOgoD,YAAcn/C,EAAao5B,GAAGn6B,EACxD,KACAe,EAAaq5B,IAAMliC,OAAOgoD,YAAcn/C,EAAaq5B,GAAGp6B,EACxD,KACAe,EAAab,IAAMhI,OAAOgoD,YAAcn/C,EAAab,GAAGF,EACxD,KAEJ,KAIf,MAAO,MAQM,KAAAk9C,YAAeiD,GAExBnrD,EAAAA,cAAA,OAAKyK,UAAU,wBACXzK,EAAAA,cAAA,QAAMyK,UAAW,GAAGhK,KAAKP,MAAMuC,OAAOgI,6BAA4B,cAAc,SAChFzK,EAAAA,cAAA,QAAMyK,UAAU,aAAa0gD,IAUxB,KAAAhD,YAAeiD,GAExBprD,EAAAA,cAAA,OAAKyK,UAAU,wBACXzK,EAAAA,cAAA,QAAMyK,UAAU,aAAa2gD,GAC7BprD,EAAAA,cAAA,QAAMyK,UAAW,GAAGhK,KAAKP,MAAMuC,OAAOgI,8BAA6B,cAAc,UAz1BzFhK,KAAKgK,UAAY,oBACjBhK,KAAK4qD,UACDnrD,EAAMQ,QAAQsE,SAAW9E,EAAMQ,QAAQsE,QAAQgmD,QAAgD,WAAtC9qD,EAAMQ,QAAQsE,QAAQgmD,OAAOC,KAAoB,KAAO,KACrHxqD,KAAK6qD,gBAAkB7qD,KAAK6qD,gBAAgBljB,KAAK3nC,MAEjDA,KAAKiD,MAAQ,CACTqqC,QAAS,GACT2B,YAAa,GACbE,gBAAiB,UACjByC,aAAc,eACdjU,QAAQ,EACR4oB,gCAAgC,EAChCuE,qCAAqC,EACrC1F,iBAAkB,GAClB0C,oBAAoB,EACpB9D,6BAA6B,GAEjChkD,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAEfjlB,KAAK6qD,mBAED/rC,EAAAA,GAASC,WAAc/e,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KAAKkkC,iBAAoB5kC,KAAKP,MAAMQ,QAAQsE,QAAQwmD,OAAOC,UAC7GvoD,OAAOC,SAASuQ,OAAOjT,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KAAKmkC,WAAa,KA/BlE,eACN,MAA0B,OAAnB7kC,KAAK4qD,WAAyC,OAAnB5qD,KAAK4qD,UAmCpC,0BACH5qD,KAAKuB,SAAS,IACd,MAAMosC,QAAsB3tC,KAAKP,MAAM0C,KAAKwrC,cAC5C3tC,KAAKP,MAAMuC,OAAO+gB,QAASqH,MAAOujB,MAAAA,OAAa,EAAbA,EAAe4D,YAAYtnC,OAAQ,GACrEjK,KAAKuB,SAAS,CACV6jD,iBAAkBzX,MAAAA,OAAa,EAAbA,EAAeO,qBAGjCpvB,EAAAA,GAASC,YACTtc,OAAOoe,iBAAiB,SAAU7gB,KAAK6qD,iBACvC7qD,KAAK6qD,mBAINjvB,uBACC9c,EAAAA,GAASC,WACTtc,OAAOo5B,oBAAoB,SAAU77B,KAAK6qD,iBAI3C71B,sBACHC,EACAqP,GAEA,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5C3rB,SACH,MAAM,QAAEyZ,EAAO,UAAE/Y,GAAchK,KAAKP,MAAMuC,QACpC,4BAAEipD,EAA2B,+BAAEC,GAAmClrD,KAAKP,MAAMgR,WAC7E,cAAEk9B,EAAa,KAAE9L,GAAS7hC,KAAKP,MAAM0C,KAE3C,GAAoB,YAAhB0/B,EAAKI,QAAwBkpB,EAAAA,iBAAiBC,kBAAkBzd,IAA2C,YAAzBA,EAAc1L,OAAsB,CACtH,MAAMmQ,EAAUjsC,GAAAA,GAAA,GACRnG,KAAKP,OAAiD,IAC1DulD,mBAAoB,CAChB9hC,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAWlgB,KAAKgK,UAAWA,IAE1Ci4B,OAAQ,UACRoQ,cAAe9yC,EAAAA,cAAC+yC,EAAAA,EAAO,CAACtoC,UAAWhK,KAAKgK,UAAWuoC,IAAKvyC,KAAKP,MAAMgR,UAAU+hC,2BAC7EzvB,QAASA,GAAWxjB,EAAAA,cAACkzC,EAAAA,QAAOz/B,OAAAC,OAAA,CAACjJ,UAAW,GAAGhK,KAAKgK,sBAA0B+Y,IAC1EtS,UAAWzQ,KAAKP,MAAMgR,YAE1B,OAAOzQ,KAAKP,MAAM+J,WAAW4oC,GAGjC,GAAoB,WAAhBvQ,EAAKI,QAAgD,WAAzB0L,EAAc1L,OAAqB,CAC/D,MAAMmQ,EAAUjsC,GAAAA,GAAA,GACRnG,KAAKP,OAAiD,IAC1DulD,mBAAoB,CAChB9hC,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,GAAGlgB,KAAKgK,YAAaA,IAE/Ci4B,OAAQ,SACRoQ,cAAe9yC,EAAAA,cAAC6kD,EAA+B,CAAClU,UAAU,SAAS9lB,KAAM8gC,IACzEnoC,QAASA,GAAWxjB,EAAAA,cAACkzC,EAAAA,QAAOz/B,OAAAC,OAAA,CAACjJ,UAAW,GAAGhK,KAAKgK,sBAA0B+Y,IAC1EtS,UAAWzQ,KAAKP,MAAMgR,YAG1B,OAAOzQ,KAAKP,MAAM+J,WAAW4oC,GAGjC,MAAMiZ,EAAsB1d,GAAiBA,EAAc5sB,OACrDmtB,EAAqBmd,GAAuBA,EAAoBnd,mBAEtE,IAAKmd,IAAwBnd,GAAoD,IAA9BA,EAAmB7tC,OAAc,CAChF,GAAIgrD,IAAwBrrD,KAAKsrD,gBAAkBxsC,EAAAA,GAASC,UAExD,OADAtc,OAAOC,SAASmC,KAAO7E,KAAKsuC,2BACrB,KAGX,MAAMqE,EAAcxsC,GAAAA,GAAA,GACZnG,KAAKP,OAAiD,IAC1DulD,mBAAoB,CAChB9hC,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,GAAGlgB,KAAKgK,YAAaA,IAE/Ci4B,OAAQ,QACRoQ,cAAe9yC,EAAAA,cAAC6kD,EAA+B,CAAClU,UAAU,QAAQ9lB,KAAM6gC,IACxEloC,QAASA,GAAWxjB,EAAAA,cAACkzC,EAAAA,QAAOz/B,OAAAC,OAAA,CAACjJ,UAAW,GAAGhK,KAAKgK,sBAA0B+Y,IAC1EtS,UAAWzQ,KAAKP,MAAMgR,UACtB86C,aAAcF,GAAuBrrD,KAAKwrD,4BAA4BH,GACtEI,qBAAsBJ,GAAuBrrD,KAAK0rD,6BAA6BL,EAAoB9Z,YAAY7D,IAC/GP,qBAAsB,CAClBnjC,UAAW,GAAGhK,KAAKgK,uBACnB+d,IAAK,SAIb,OAAO/nB,KAAKP,MAAM+J,WAAWmpC,GAGjC,MAAMppC,EAASpD,GAAAA,GAAA,GACPnG,KAAKP,OAAiD,IAC1DulD,mBAAoB,CAChB9hC,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,GAAGlgB,KAAKgK,YAAaA,IAE/Ci4B,OAAQ,UACR0pB,sBAAuB3rD,KAAKiD,MAAM06B,QAC9Bp+B,EAAAA,cAAA,OAAKyK,UAAW,GAAGhK,KAAKgK,6BACpBzK,EAAAA,cAAC2vC,EAAAA,MAAK,CAACrmC,MAAO7I,KAAKiD,MAAMksC,gBAAiBxR,OAAQ39B,KAAKiD,MAAM06B,OAAQrU,OAAQtpB,KAAKkxC,YAC9E3xC,EAAAA,cAAA,oBAAgB,aAAaS,KAAKiD,MAAMgsC,eAIpDlsB,QAASA,GAAWxjB,EAAAA,cAACkzC,EAAAA,QAAOz/B,OAAAC,OAAA,CAACjJ,UAAW,GAAGhK,KAAKgK,sBAA0B+Y,IAC1EoqB,qBAAsB,CAClBnjC,UAAW,GAAGhK,KAAKgK,uBACnB+d,IAAK,OAET6jC,cAAe,CACX5hD,UAAW,GAAGhK,KAAKgK,mBACnB+d,IAAK,QACLsD,KAAM,QAEVwgC,iBAAkB,CACd7hD,UAAW,GAAGhK,KAAKgK,uBACnB+d,IAAK,MAET+jC,qBAAsB9rD,KAAK+rD,yBAAyB/rD,KAAKP,MAAMgR,WAC/DhN,eAAgB,CACZuG,UAAW,GAAGhK,KAAKgK,6BACnB+d,IAAK,KAETikC,WAAYhsD,KAAKisD,qBACjBC,UAAW,CAAEC,eAAgBC,GAAAA,CAASpsD,KAAKgoD,gBAAiB,MAC5DuD,aAAcvrD,KAAKwrD,4BAA4BH,GAC/CjjC,WAAYpoB,KAAK6mD,oBACjBwF,sBAAuBrsD,KAAKwmD,+BAC5BiF,qBAAsBzrD,KAAK0rD,6BAA6BL,EAAoB9Z,YAAY7D,IACxFoa,mBAAoB9nD,KAAKiD,MAAM6kD,mBAC/BhF,uBAAwB9iD,KAAK6nD,wBAC7BE,oBAAqB/nD,KAAKiD,MAAM8kD,oBAChCx/B,SAAUvoB,KAAKuoB,WAGnB,OAAOvoB,KAAKP,MAAM+J,WAAWD,GAG1B65C,SAAS7f,EAAmC4f,GAC/C5f,EAAK4f,UAAYA,EAEjB,MAAMmJ,EACFtsD,KAAKiD,MAAMmiD,iBAAiBzkD,KAAI2E,IAAU,IAAAinD,EAAAhd,EAItC,OAHuB,QAAnBgd,EAAAjnD,EAAQyqC,mBAAW,IAAAwc,OAAA,EAAnBA,EAAqB9oD,eAAeW,WAA2B,QAArBmrC,EAAKhM,EAAKwM,mBAAW,IAAAR,OAAA,EAAhBA,EAAkB9rC,eAAeW,UAChFm/B,EAAK4f,UAAYA,GAEd79C,MACL,GAEVtF,KAAKuB,SAAS,CACV6jD,iBAAkBkH,IAInBE,YAAYrJ,GACf,MAAMmJ,EACFtsD,KAAKiD,MAAMmiD,iBAAiBzkD,KAAI4iC,IAC5BA,EAAK4f,UAAYA,EACV5f,MACL,GAEVvjC,KAAKuB,SAAS,CACV6jD,iBAAkBkH,IAIlBP,yBAAyBt7C,GAC7B,MAAM,aACF8yC,EAAY,kBACZkJ,EAAiB,YACjBC,EAAW,qBACXC,EAAoB,eACpBC,EAAc,oBACdC,EAAmB,mBACnBC,EAAkB,kBAClBnI,GACAl0C,EACEs8C,EAA2C,CAC7CxJ,aAAcA,EACdG,cAAe+I,EACfr6C,YAAas6C,EACb9H,iBAAkB+H,EAClB9H,WAAY+H,EACZ9H,gBAAiB+H,EACjB9H,eAAgB+H,EAChBnI,kBAAAA,EACAF,MAAOzkD,KAAKiD,MAAMmiD,iBAClB78B,SAAUvoB,KAAKuoB,SACfowB,aAAewK,IACXnjD,KAAKwsD,YAAYrJ,KAIzB,OAAO5jD,EAAAA,cAAC8kD,GAAyBrxC,OAAAC,OAAA,GAAK85C,IAGlCrB,6BAA6BlU,GACjC,OACIj4C,EAAAA,cAACihD,EAAwBxtC,OAAAC,OAAA,GACjBjT,KAAKP,MAAK,CACd+3C,gBAAiBA,EACjBuJ,cAAe/gD,KAAKiD,MAAMmiD,kBAAoBplD,KAAKiD,MAAMmiD,iBAAiBn1C,QAAOszB,GAAQA,EAAK4f,YAC9FvC,oBAAqB5gD,KAAK2lD,qBAC1B7E,kBAAmB9gD,KAAKilD,mBACxB5D,eAAgBrhD,KAAKuoB,YAKzBykC,2CACJ,MAAO,CACHzY,mBAAoBv0C,KAAKP,MAAMgR,UAAU8jC,mBACzCC,6BAA8Bx0C,KAAKP,MAAMgR,UAAU+jC,6BACnDC,mCAAoCz0C,KAAKP,MAAMgR,UAAUgkC,mCACzDC,mCAAoC10C,KAAKP,MAAMgR,UAAUikC,mCACzDC,sCAAuC30C,KAAKP,MAAMgR,UAAUkkC,sCAC5DC,kCAAmC50C,KAAKP,MAAMgR,UAAUmkC,mCAIxD+R,0CACJ,MAAO,CACHpS,mBAAoBv0C,KAAKP,MAAMgR,UAAU8jC,mBACzCC,6BAA8Bx0C,KAAKP,MAAMgR,UAAU+jC,6BACnDyY,iCAAkCjtD,KAAKP,MAAMgR,UAAUw8C,iCACvDC,oCAAqCltD,KAAKP,MAAMgR,UAAUy8C,oCAC1DC,iCAAkCntD,KAAKP,MAAMgR,UAAU08C,iCACvDtjD,cAAe7J,KAAKP,MAAMgR,UAAU5G,cACpCC,kBAAmB9J,KAAKP,MAAMgR,UAAU3G,kBACxCC,iBAAkB/J,KAAKP,MAAMgR,UAAU1G,kBAqEvCyhD,4BAA4B7d,GAChC,MAAM,GAAErmC,EAAE,SAAEsC,EAAQ,QAAE3J,EAAO,UAAEwQ,GAAczQ,KAAKP,OAC5C,2BACFiiD,EAA0B,yBAC1BM,EAAwB,yBACxBoL,EAAwB,sBACxBnZ,EAAqB,wBACrBC,EAAuB,wBACvBC,EAAuB,wBACvBC,EAAuB,0BACvBC,GACA5jC,EA0BJ,MJnciChR,CAAAA,IACrC,MAAM,UAAEgR,GAAchR,GAChB,yBAAE2tD,GAA6B38C,EAErC,MAAO,CACH48C,iBAAkB5L,EAAiChiD,GACnD6tD,eAAgB3L,EAA+BliD,GAC/C8tD,eACIhuD,EAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAU,uDAAuDE,QAASo3C,EAAyB7hD,IACtG2tD,KI0bFI,CAxBkD,CACrDrrD,KAAM,CAAEwrC,cAAAA,GACRrmC,GAAAA,EACAsC,SAAAA,EACA3J,QAAAA,EACA+R,iBAAkBhS,KAAKgS,iBACvBq7B,SAAU,CACNyU,iBAAkB9hD,KAAKkqD,gBACvB1I,iBAAkBxhD,KAAKmqD,iBAE3BvI,iCAAkC5hD,KAAK8yC,0CAA0CriC,GACjFA,UAAW,CACPixC,2BAAAA,EACAM,yBAAAA,EACAoL,yBAAAA,EACAlZ,wBAAAA,EACAC,wBAAAA,EACAC,wBAAAA,EACAH,sBAAAA,EACAI,0BAAAA,EACAC,gCAAiCt0C,KAAKgtD,8CAO1Cla,0CAA0CriC,GAC9C,MAAO,CACH0iC,yBAA0B1iC,EAAUg9C,6BACpCpa,wBAAyB5iC,EAAU6iC,mBACnCC,2BAA4B9iC,EAAU6iC,mBACtCE,yBAA0B,GAC1BE,yBAA0BjjC,EAAUijC,yBACpCC,yBAA0BljC,EAAUsxC,8BACpClO,+BAAgCpjC,EAAUi9C,gBA4C1CpC,eACJ,OAAwC,IAAjCtrD,KAAKinD,wBAGRA,wBACJ,MAAMF,EAAe/mD,KAAKP,MAAMuC,OAAO+kD,cAAgB,GACvD,OAAQ/mD,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,QAAUnpB,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,MAAMwkC,KAAO5G,GAAiB,EAwClGkF,qBACJ,MAAM,iBACF2B,EAAgB,eAChBlL,EAAc,uBACdC,EAAsB,UACtBh9B,EAAS,kBACT7b,EAAiB,iBACjBC,EAAgB,oCAChB8jD,EAAmC,sCACnCC,EAAqC,0BACrCrP,EAAyB,yBACzBE,EAAwB,0BACxBC,EAAyB,uBACzBzqC,EAAsB,iBACtB45C,EAAgB,yBAChB15C,EAAwB,yBACxBD,GACApU,KAAKP,MAAMgR,WAET,QAAExQ,EAAO,UAAEglB,GAAcjlB,KAAKP,OAC9B,cAAE8L,GAAkBvL,KAAKP,MAAMuC,OAErC,OAAOhC,KAAKiD,MAAMmiD,iBAAiBzkD,KAAI,CAAC4iC,EAAMn+B,KAAS,IAAAqqC,EAyCnD,MHhf0BjC,CAAAA,IAClC,MAAM,kBAAE0U,EAAiB,gBAAEC,EAAe,MAAEl+C,EAAK,QAAEhE,EAAO,cAAEsL,EAAa,SAAEvD,EAAQ,UAAEyI,EAAS,SAAE8X,GAAailB,EACvGloC,EAAU48C,EAAkBnS,aAC5B,OAAEj8B,EAAM,cAAEnQ,GAAkBw+C,GAC5B,iCAAEM,EAAgC,mBAAEzO,EAAkB,iBAAE4Z,GAAqBn9C,EACnF,IAAKnL,EACD,OAAO,KAGX,MAAM,OAAElB,EAAM,KAAE6F,EAAI,gBAAE5D,GAAoBf,EAAQ7B,eAC5C+C,GAAgBC,EAAAA,EAAAA,qBAAoBrC,EAAQnE,EAAQC,cAAcO,eAAeQ,aACjFgiD,EAAqBzV,EAAMjlB,SAAW,0BAA4B,mDAClEy6B,EAAwBxV,EAAMjlB,SAAW,6BAA+B,sDAE9E,MAAO,CACHA,SAAAA,EACAylC,WACIzuD,IAAAA,cAAA,SAAOyK,UAAU,sBACbzK,IAAAA,cAAA,sBACgBquD,EACZ5jD,UAAU,iBACVpC,KAAK,WACLy7C,QAASnB,EAAkBiB,UAAS,eACtBjB,EAAkBiB,UAChC3wC,SAAU0wC,EAAoBhB,EAAmB1U,KAErDjuC,IAAAA,cAAA,QAAMyK,UAAU,eAGxB1D,IAAKwN,EACLyvC,aACIl9C,GACA4D,GACAu5C,EACI,8CACAvjD,EACAqF,EAAQ7B,eAAewG,KACvB5D,EACAG,EACA+E,GAERrF,YAAau9C,EAAkBjW,GAC/BnkC,aAAcpF,GAASyF,EAAa8jC,GACpCkW,cAAep+C,GAAW/F,IAAAA,cAAA,OAAKyK,UAAU,gDAAgD5F,GACzFu/C,qBAAsB1/C,EAClB1E,IAAAA,cAAA,OAAKyK,UAAU,yDAAyDrG,GAAiBM,EAAMN,oBAE/FhC,EAEJ0vC,cAAev9B,EACfi7B,aAAcgU,EACVvV,EAAMjlB,SACNy6B,EACAP,EACAR,EAAyBzU,GAAO+U,iBAEpCqB,oBAAqBrkD,IAAAA,cAAA,WAAMskD,EAAkBrW,EAAO15B,IACpDgxC,gBAAiB98C,EACjBimD,eAAgBlL,EACZvV,EAAMjlB,SACN06B,EACAjP,EACAiO,EAAyBzU,GAAO8U,eAEpC4L,MAAO3uD,IAAAA,cAACijD,EAAKxvC,OAAAC,OAAA,GAAKu6B,EAAK,CAAEyV,mBAAoBA,EAAoBD,sBAAuBA,OGgb7EmL,CAxC8C,CACjDjM,kBAAmB3e,EACnB4e,gBAAiB5e,EAAK4e,gBACtBl+C,MAAuB,QAAlBwrC,EAAElM,EAAKwM,mBAAW,IAAAN,OAAA,EAAhBA,EAAkB3oC,aACzB7G,QAAAA,EACA+jD,4BAA6BhkD,KAAKiD,MAAM+gD,4BACxC3yC,WAAYkyB,EAAKwM,aAAcC,EAAAA,EAAAA,mBAAkBzM,EAAKwM,YAAYtsC,eAAgBxD,EAAQC,mBAAeyB,GAAa,GACtH4J,cAAAA,EACA0Z,UAAAA,EACAhI,SAAUjd,KAAKP,MAAM6H,GACrB0V,eAAgBhd,KAAKP,MAAMmK,SAC3B5B,SAAUu7B,EAAK4e,gBAAgB3+C,SAC/B6pC,SAAU,CACN+U,WAAYpiD,KAAKmmD,cACjB9D,aAAcriD,KAAKgqD,kCACnBjG,iBAAkB/jD,KAAKgoD,gBACvB5E,SAAUpjD,KAAKojD,SAASzb,KAAK3nC,OAEjCyQ,UAAW,CACPm9C,iBAAAA,EACAlL,eAAAA,EACAC,uBAAAA,EACAlE,0BAAAA,EACAE,yBAAAA,EACAC,0BAAAA,EACA/0C,cAAe8b,EACf7b,kBAAAA,EACAC,iBAAAA,EACAoK,uBAAAA,EACAsuC,iCAAkCqL,EAClC9Z,mBAAoB6Z,EACpBE,iBAAAA,EACA15C,yBAAAA,EACAD,yBAAAA,GAEJhP,MAAAA,EACAmjB,SAAUvoB,KAAKuoB,SACfu6B,uBAAwB9iD,KAAK6nD,6BA+QjCgD,kBACJ7qD,KAAK4qD,UAAY5qD,KAAKsqD,kBA5yB1B5jB,EAAAA,EAAAA,IAAA,CADC0nB,EAAAA,IAAU,kCAGD1nB,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,+BAoCTvG,EAAAA,EAAAA,IAAA,CADC2nB,EAAAA,IAAM,uCA3CLrJ,IAAkBte,EAAAA,EAAAA,IAAA,CADvBC,EAAAA,IACKqe,IA62BN,mGC79BA,MAmGMsJ,EAAcA,CAAChpD,EAAsCipD,EAAuB1C,KAC9E,IAAKvmD,EACD,OAAO,KAGX,MAAM,IACFgB,EAAG,WACH0nD,EAAU,aACVzK,EAAY,aACZl6C,EAAY,cACZq6C,EAAa,eACbuK,EAAc,aACdlf,EAAY,YACZ7oC,EAAW,qBACXy9C,EAAoB,oBACpBC,EAAmB,gBACnBkB,EAAe,MACfoJ,EAAK,SACL3lC,GACAjjB,EAEJ,OACI/F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,CAAC3M,IAAKA,EAAK0D,UAAW6hD,EAAkB7hD,WAAe6hD,GACxDtsD,EAAAA,cAAA,UAAKyuD,GACLzuD,EAAAA,cAAA,UAAKgkD,GACJh7B,EACGhpB,EAAAA,cAAA,UACIA,EAAAA,cAAA,WAAMmkD,GACNnkD,EAAAA,cAAA,WACKgvD,EAAa,IAAG,IAChBzJ,IAITvlD,EAAAA,cAAA,UAAKmkD,IAEPn7B,GAAYhpB,EAAAA,cAAA,UAAK2G,IACjBqiB,GAAYhpB,EAAAA,cAAA,UAAK8J,IACjBkf,GAAYhpB,EAAAA,cAAA,UAAKokD,IACjBp7B,GAAYhpB,EAAAA,cAAA,UAAKqkD,GAClBr7B,GAAYhpB,EAAAA,cAAA,UAAK2uD,IAChB3lC,GACEhpB,EAAAA,cAAA,UACK0uD,EACAlf,KAOrB,EAtJmEtvC,IAC/D,MAAM,mBACFulD,EAAkB,OAClB/iB,EAAM,cACNoQ,EAAa,QACbtvB,EAAO,cACP6oC,EAAa,qBACbE,EAAoB,WACpBE,EAAU,iBACVH,EAAgB,sBAChBF,EAAqB,qBACrBxe,EAAoB,aACpBoe,EAAY,WACZnjC,EAAU,sBACVikC,EAAqB,qBACrBZ,EAAoB,mBACpB3D,EAAkB,oBAClBC,EAAmB,uBACnBjF,EACAryC,WAAW,eAAEi9C,EAAc,kBAAEjB,EAAiB,YAAEC,EAAW,qBAAEC,EAAoB,eAAEC,EAAc,oBAAEC,IACnGptD,EAEE+uD,EAAgBjvD,EAAAA,aAAkB,KACpCujD,GAA0BA,OAAuBnhD,KAClD,CAACmhD,IAEJ,OACIvjD,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAK+xC,GACPjiC,EACAoqB,GACG5tC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKk6B,GACLoe,MAAAA,OAAY,EAAZA,EAAc8B,iBACd9B,MAAAA,OAAY,EAAZA,EAAc+B,eACd/B,MAAAA,OAAY,EAAZA,EAAcgC,gBACbzF,GAAsB6D,GAG/BF,EACW,YAAXxpB,GAAwBoQ,EACxBuZ,GAAiBI,GAAcA,EAAW3rD,OAAS,GAChDd,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,8BACZzK,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK24C,GACLE,EACDvsD,EAAAA,cAAA,aACKysD,GACGA,EAAWrrD,KAAI2E,GACJgpD,EAAYhpD,EAASunD,EAAqBhB,OAIhEzjC,GAGRikC,EACD9sD,EAAAA,cAACmrC,EAAAA,MAAK,CACFC,cAAc,sCACd+K,WAAS,EACT+Y,MAAM,EACNC,gBAAgB,aAChB/wB,OAAQmqB,EACRx+B,OAAQklC,GAERjvD,EAAAA,cAACqrC,EAAAA,YAAW,CAACthB,OAAQklC,GAAa,mBAClCjvD,EAAAA,cAACsrC,EAAAA,UAAS,KACNtrC,EAAAA,cAAA,UACIA,EAAAA,cAAA,UAAKwoD,MAAAA,OAAmB,EAAnBA,EAAqBxE,cAC1BhkD,EAAAA,cAAA,MAAIyK,UAAU,gBACVzK,EAAAA,cAAA,YAAOmtD,EAAW,KACjB3E,MAAAA,OAAmB,EAAnBA,EAAqB7hD,aAE1B3G,EAAAA,cAAA,UACIA,EAAAA,cAAA,YAAOktD,EAAiB,KACvB1E,MAAAA,OAAmB,EAAnBA,EAAqBrE,eAE1BnkD,EAAAA,cAAA,UACIA,EAAAA,cAAA,YAAOotD,EAAoB,KAC1B,IACA5E,MAAAA,OAAmB,EAAnBA,EAAqB1+C,cAE1B9J,EAAAA,cAAA,UACIA,EAAAA,cAAA,YAAOqtD,EAAc,KACpB,IACA7E,MAAAA,OAAmB,EAAnBA,EAAqBpE,sBAE1BpkD,EAAAA,cAAA,UACIA,EAAAA,cAAA,YAAOstD,EAAmB,KACzB9E,MAAAA,OAAmB,EAAnBA,EAAqBnE,qBAEzB+H,GAAyBpsD,EAAAA,cAAA,UAAKosD,KAGvCpsD,EAAAA,cAAC8/C,EAAAA,YAAW,KACR9/C,EAAAA,cAACuL,EAAAA,OAAM,CAACZ,QAASskD,GAAgBd,guBC1CrD,MAAMiB,UAA0BpvD,EAAAA,cAK5BC,YAAYC,GACRC,MAAMD,GAgFH,KAAAmvD,oBAAuBvuC,GAA0CrgB,KAAKP,MAAMuC,OAAO+gB,QAASqH,KAAO/J,EAAMoZ,OAAO9xB,MAOtG,KAAAknD,qCAAuCjvD,MAAAA,IACpD,MAAMK,EAAUD,KAAKP,MAAMQ,QACrB2b,EAAmC3b,EAAQ8B,IAAIC,OAAO6Z,wBACtDizC,EAA8B7uD,EAAQ8B,IAAIC,OAAO+sD,uBACjDC,EAAgBrjD,EAAAA,gBAAgBsjD,YAAY5tD,GAClD,GACIsK,EAAAA,gBAAgBC,YAAYojD,IAC5BrjD,EAAAA,gBAAgBC,YAAYgQ,KAC3BA,EAAiCrB,SAAS3E,EAAAA,eAAeqD,OAC1DtN,EAAAA,gBAAgBC,YAAYkjD,KAC3BA,EAA4Bv0C,SAAS3E,EAAAA,eAAeqD,MACvD,CACE,MAAMi2C,QAAwCC,EAAAA,EAAAA,wDAC1C,IAAIC,EAAAA,mDACAJ,EACAhvD,KAAKP,MAAMQ,QACXovD,EAAAA,4BAA4BnzB,aAEhCl8B,KAAKP,MAAMQ,QAAQC,eAGnByL,EAAAA,gBAAgBC,YAAYsjD,IAC5BlvD,KAAKuB,SAAS,CAAE2tD,gCAAAA,MASX,KAAAI,iBAAmB1vD,MAAAA,IAChC,IAAIyB,EAAWrB,KAAKiD,MAAM5B,SAC1B,MAAMkuD,EAA4BC,EAAkBnuD,UAC/CsK,EAAAA,gBAAgBC,YAAYvK,IAAasK,EAAAA,gBAAgBC,YAAY2jD,IAItE5jD,EAAAA,gBAAgBC,YAAYvK,IAC5BsK,EAAAA,gBAAgBC,YAAY2jD,KAC3B5jD,EAAAA,gBAAgB8jD,OAAOpuD,EAAUkuD,IALlCluD,EAAWkuD,EACXvvD,KAAKuB,SAAS,CAAEF,SAAAA,UAQqBM,IAA9B4tD,GAA2C5jD,EAAAA,gBAAgBC,YAAY5L,KAAKiD,MAAM5B,YACzFA,EAAW,GACXrB,KAAKuB,SAAS,CAAEF,SAAUA,KAG1B8oB,EAAAA,GAA0BpL,YAAcpT,EAAAA,gBAAgBC,YAAY5L,KAAKiD,MAAMisD,wCACzElvD,KAAK6uD,qCAAqCxtD,IAIvC,KAAAquD,YAAc,CAACpqD,EAA8BF,KAAoD,IAAAuqD,EAAAC,EAC9G,IAAKtqD,IAAYA,EAAQ2E,KAErB,OADAjK,KAAKP,MAAMwlB,UAAU4qC,MAAM,wDACpB,KAEX,MAAM79C,GAAmB8S,EAAAA,EAAAA,oBACrB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,YAET,cAAE1Z,EAAa,oBAAE8Z,GAAwBrlB,KAAKP,MAAMuC,OACpDyO,EAAYzQ,KAAKP,MAAMgR,UACvBq/C,EAAgB9vD,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOmjB,eAC9C3M,EAAY6M,IAA0C,SAAlByqC,GAA8C,oBAAlBA,GAChEC,EACF/vD,KAAKP,MAAMoM,OAAS7L,KAAKP,MAAMoM,MAAM8R,WAAa3d,KAAKP,MAAMoM,MAAM8R,UAAUtd,OAAS,EAAIL,KAAKP,MAAMoM,MAAM8R,UAAU,GAAK,KACxHqyC,EAA8BrkD,EAAAA,gBAAgBC,YAAY5L,KAAKP,MAAMoM,MAAMokD,yBAC3EjwD,KAAKP,MAAMoM,MAAMokD,wBAAwB,GACzC,KAIAC,EADqBhnD,OAAO5D,EAAQ8V,cADtB,EAGmB3K,EAAU8H,qBAAuB9H,EAAU0/C,+BAC5E14C,EAA0D,QAAtCk4C,EAAG3vD,KAAKP,MAAM0C,KAAKsjB,aAAa1E,cAAM,IAAA4uC,OAAA,EAAnCA,EAAqCpqD,MAC9DkgB,GAAsC,0DAAtBA,EAAaxb,OAE3ByN,EAA2C,CAC7CgO,oBAAqBjV,EAAUiV,qBAEnC,MAAO,CACH0qC,iBAAkB,CACdroC,IAAK,KACL/d,UAAW,8BACXqhB,KAAM,WACN/kB,IAAKlB,GAETirD,iBACI9wD,EAAAA,cAACwY,EAAAA,iBAAgB,CACb9X,QAASD,KAAKP,MAAMQ,QACpB+R,iBAAkBA,EAClBzG,cAAeA,EACf1B,cAAe4G,EAAUkV,UACzB7b,kBAAmB2G,EAAU3G,kBAC7BC,iBAAkB0G,EAAU1G,iBAC5BmN,gBAAiBzG,EAAUyG,gBAC3BqB,qBAAsB23C,EACtB13C,UAAWA,EACXlR,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,CAAEmD,QAAAA,GACRmT,gBAAiBs3C,EACjBE,wBAAyBD,EACzBv4C,qBAAsBA,MAAAA,OAAoB,EAApBA,EAAsBmO,UAC5ClO,eAAgBA,EAChBkB,wBAAmE,QAA5Cg3C,EAAE5vD,KAAKiD,MAAMisD,uCAA+B,IAAAU,OAAA,EAA1CA,EAA4CrqD,MACjEmX,IAAqB,IAAA4zC,EAAA,OACjB3kD,EAAAA,gBAAgBC,YAAY8Q,IAC5BA,EAAsB,GAAG6zC,mBAA4C,QAA7BD,EAAMhrD,EAAQo0C,uBAAe,IAAA4W,EAAAA,EAAIhrD,EAAQ5B,iBAUxF,KAAA8sD,gBAAkB5wD,UAC/B,MAAM6wD,EAAezwD,KAAKiD,MAAM5B,SAC1BA,QAAiBqvD,EAAAA,EAAAA,gCACnB,IAAIC,EAAAA,iCAAiCF,GACrCzwD,KAAKP,MAAMQ,QAAQC,eAEnBiqB,EAAAA,GAA0BpL,iBACpB/e,KAAK6uD,qCAAqCxtD,GAGpDrB,KAAKuB,SAAS,CAAEF,SAAAA,KASH,KAAAuvD,iBAAmB,CAACxnC,EAAwBynC,KACzD,MACMC,EAAa,0BAA0B1nC,WAAwBynC,gBADnDvX,EAAAA,EAAAA,IAAat5C,KAAKP,MAAMQ,QAAQsE,WAElD,OACIhF,EAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAU,sDACVgB,MAAOhL,KAAKP,MAAMgR,UAAUsgD,iBAC5BlsD,KAAMisD,GAEL9wD,KAAKP,MAAMgR,UAAUsgD,mBA5O9B/wD,KAAKgxD,cAAgB,GACrBhxD,KAAKiD,MAAQ,CACT5B,SAAUrB,KAAKP,MAAMuC,OAAOwtD,kBAAkBnuD,UAAY,IAE9DrB,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAIZ,0BACCjlB,KAAKP,MAAMuC,OAAOivD,+BAAiCjxD,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeC,KAAKkkC,uBAClG5kC,KAAKwwD,kBAIZlnD,SACH,MAAM,QAAEyZ,EAAO,UAAE/Y,EAAS,0BAAEknD,GAA8BlxD,KAAKP,MAAMuC,QAC/D,UAAEyO,GAAczQ,KAAKP,MACrB2pB,EAAiBppB,KAAKP,MAAMuC,OAAOwtD,kBAAkB2B,qBAI3DnxD,KAAKsvD,iBAAiBtvD,KAAKP,MAAMuC,OAAOwtD,mBAExC,MAAMnuD,EAAWrB,KAAKiD,MAAM5B,SACtB+vD,EAAqC,aAAxBpxD,KAAKP,MAAMuC,OAAOqvD,OAC/BR,EAAe9tC,EAAUA,EAAQqH,KAAO,GACxCknC,EAAmBvuC,GACrBxjB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVngB,UAAU,iCACV+d,IAAKhF,EAAQgF,KAAO,KACpBqC,KAAMymC,EACNxmC,UAAW,CAAEC,OAAQtqB,KAAK4uD,oBAAqBnuD,eAAgBT,KAAKP,MAAMQ,QAAQsE,WAKpFgtD,EAAkBlwD,MAAAA,OAAQ,EAARA,EAAUV,KAAI,CAACwC,EAA2BiC,KAC9D,MAAMosD,EAAiBxxD,KAAK0vD,YAAYvsD,EAAMiC,GAC9C,OAAQ+lD,EAAAA,iBAAiBC,kBAAkBoG,QAAmC7vD,EAAjB6vD,KAG3DC,EAA0BtrD,EAAAA,EAAA,GACzBnG,KAAKP,OAAK,IACbsjB,QAASuuC,EACTI,kCAAmC,CAC/B3pC,IAAK4pC,EAAAA,oBACL3nD,UAAW,GACX4nD,iBAAkB,GAAGf,KAAgBpgD,EAAUwwB,kBAC/C4wB,iBAAkB,GAAGhB,KAAgBpgD,EAAU0wB,cAC/C2wB,SAAU9xD,KAAKP,MAAM6H,GACrB0K,iBAAkBhS,KAAKgS,kBAE3B+/C,2BAA4B,CACxB7uC,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,wBAAyBlW,IAEnDgoD,mBAAoB,CAChBjqC,IAAK,KACL/d,UAAW,gCAEfonD,WAAAA,EAEA/vD,SACIsK,EAAAA,gBAAgBC,YAAY2lD,IAC5BA,EAAgBthD,QAAO9M,QACHxB,IAATwB,IAEf6tD,cAAehxD,KAAKgxD,cACpBiB,aACI7oC,GAAkB8nC,GAA6BvlD,EAAAA,gBAAgBC,YAAY2lD,GACrEvxD,KAAK4wD,iBAAiBxnC,EAAgBynC,QACtClvD,IAEd,OAAO3B,KAAKP,MAAM+J,WAAWioD,IAsKrC,kGC5SA,MAwBMS,EAAkBA,CAACzyB,EAA+Bv6B,IAC7C3F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKwsB,GAAoBv6B,GAASA,EAAMvE,IAAIwxD,IAGtDC,EAAcA,CAACC,EAA2BntD,IACrC3F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKo/C,GAAgBntD,GAASA,EAAMvE,IAAIwxD,IAGlDA,EAAkB7sD,IACpB,MAAM,iBAAE8qD,EAAgB,iBAAEC,GAAqB/qD,EAE/C,OAAO/F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKm9C,GAAmBC,IAGxC,EAtCqE5wD,IACjE,MAAM,QACFsjB,EAAO,2BACPgvC,EAA0B,SAC1B1wD,EAAQ,kCACRqwD,EAAiC,mBACjCM,EAAkB,WAClBZ,EAAU,aACVa,GACAxyD,EAEJ,OAAI4B,EAEI9B,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAK8+C,GACPhvC,EACAkvC,EACAb,EAAac,EAAgBR,EAAmCrwD,GAAY+wD,EAAYJ,EAAoB3wD,KAIzH5B,EAAMQ,QAAQglB,UAAUuc,MAAM,4DACvB,i1BCmDJ,MAAM8wB,UAAiC/yD,IAAAA,cAyB1CC,YAAmBC,GACfC,MAAMD,GAkKF,KAAA8yD,wBAA2Br9C,IAC/B,MAAMs9C,EAASxyD,KAAKiD,MAAMwvD,sBAC1B,GAAIzyD,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO0wD,yBAA2BF,EAAU,EAAG,CACtE,MAAMG,EAAW,GACjB,IAAK,IAAIvtD,EAAQ,EAAGA,EAAQotD,EAASptD,IACjCutD,EAAS5xD,KACLxB,IAAAA,cAAA,MAAIyK,UAAU,GAAG1D,IAAKlB,GAClB7F,IAAAA,cAAA,OAAKyK,UAAU,0BAI3B,OAAO2oD,IASE,KAAAC,uBAA0Bx2C,IACvCy2C,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASuuD,eAAe12C,GAC3Epc,KAAKuB,UAASwxD,IAAgB,IAAAC,EAC1B,MAAO,CACHC,aAAwC,QAA5BD,EAAED,EAAcE,oBAAY,IAAAD,OAAA,EAA1BA,EAA4B/iD,QAAO9M,GAAQA,EAAKiZ,SAAWA,SAQpE,KAAA82C,qBAAmC,KAChDlzD,KAAKuB,UAASwxD,IAAgB,IAAAI,EAC1B,MAAO,CACHlqC,aAAsC,QAA1BkqC,EAAEJ,EAAc9pC,kBAAU,IAAAkqC,EAAAA,EAAInzD,KAAKozD,uCAQ1C,KAAAC,mCAAqC,KAClDR,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAAS+uD,WAC5DtzD,KAAKuB,SAAS,CAAE0xD,aAAc,MA7M9BjzD,KAAKiD,MAAQ,GAEbjD,KAAKuzD,YAAc,GAAGjB,EAAyBtoD,aAAahK,KAAKP,MAAM6H,MAAMksD,EAAAA,OAAOC,KAAKC,iBACzFpB,EAAyBqB,qBAAuB3zD,KAAKuzD,YAErDvzD,KAAKozD,kCAAmC,EAGrCzyC,oBACC3gB,KAAKuzD,cAAgBjB,EAAyBqB,uBAIlD3zD,KAAK4zD,gBACLf,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASsvD,kBAAkBC,UAAU,CACpFC,WAAY/zD,KAAKuzD,YAKjBS,QAASA,KACLh0D,KAAKozD,kCAAmC,EAExCpzD,KAAK4zD,oBAKVh4B,uBACHi3B,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASsvD,kBAAkBI,YAAYj0D,KAAKuzD,aAG5FjqD,SAAM,IAAAsmD,EAAA3yB,EACT,GAAIj9B,KAAKuzD,cAAgBjB,EAAyBqB,qBAC9C,OAAO,KAGX,MAAMpqD,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACbyjB,YAAa,CACTA,YAAaljB,KAAKP,MAClBuK,UAAWsoD,EAAyBtoD,UACpC1C,GAAItH,KAAKuzD,aAEbW,eAAgBl0D,KAAKu9B,wBACrB42B,oBAAoB,EACpBC,gCAAiCp0D,KAAKozD,mCAGpCl+C,EAAclV,KAAKq0D,oCAA2D,QAAxBzE,EAAC5vD,KAAKiD,MAAMgwD,oBAAY,IAAArD,EAAAA,EAAgC,QAAhC3yB,EAAIj9B,KAAKP,MAAM0C,KAAK8wD,oBAAY,IAAAh2B,OAAA,EAA5BA,EAA8Blc,QAEtH,IAAKpV,EAAAA,gBAAgBC,YAAYsJ,GAC7B,OAAOlV,KAAKP,MAAM+J,WAAWD,GAGjCA,EAAU4qD,oBAAqB,EAE/B,MAAMG,EAAgBt0D,KAAKu0D,oBAiB3B,OAhBKpJ,EAAAA,iBAAiBC,kBAAkBkJ,KACpC/qD,EAAUirD,cAAgBx0D,KAAKP,MAAMgR,UAAUgkD,4CAC1C/uD,QAAQ,MAAOwP,EAAY7U,OAAO4R,YAClCvM,QAAQ,MAAO4uD,EAAcriD,aAGtC1I,EAAU0f,WAAajpB,KAAKiD,MAAMgmB,WAClC1f,EAAUmrD,oBAAsB10D,KAAKkzD,qBACrC3pD,EAAUorD,iBAAmB30D,KAAK40D,qBAAqB1/C,GACvD3L,EAAUsrD,wBAA0B70D,KAAKuyD,wBAAwBr9C,GACjE3L,EAAUurD,uBAAwBnzC,EAAAA,EAAAA,IAAW,qBAAsB3hB,KAAKP,MAAMQ,QAAQC,eACtFqJ,EAAUwrD,kCAAoC/0D,KAAKqzD,mCACnD9pD,EAAUyrD,sBAAwBh1D,KAAK4yD,uBACvCrpD,EAAU0rD,qBAAuBj1D,KAAKk1D,4BAA4B3rD,EAAUurD,uBAC5EvrD,EAAU4rD,eAAiBn1D,KAAKo1D,wBAEzBp1D,KAAKP,MAAM+J,WAAWD,GAEzB8qD,oCAAoCn/C,GAAwD,IAAAmgD,EAChG,MAAMC,GAAYhc,EAAAA,EAAAA,IAAat5C,KAAKP,MAAMQ,QAAQsE,SAElD,OAD0F,QAAlE8wD,EAAGngD,MAAAA,OAAW,EAAXA,EAAajF,QAAO3K,GAAWA,EAAQgwD,YAAcA,WAAU,IAAAD,EAAAA,EAAI,GAG1F,sBACJ,MAAMnwD,EAAQ2tD,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASW,MACpEsoC,EAAQ,IAAI+nB,EAAAA,2CAA2CrwD,GACvDgQ,QAAoBsgD,EAAAA,EAAAA,6CAA4ChoB,EAAOxtC,KAAKP,MAAMQ,QAAQC,eAC1Fu1D,EAAyBz1D,KAAKq0D,oCAAoCn/C,GACxElV,KAAKuB,SAAS,CAAE0xD,aAAcwC,IAC9Bz1D,KAAK01D,0BAA0BD,GAG3BC,0BAA0BxgD,GAC9B,GAAIA,GAAevJ,EAAAA,gBAAgBC,YAAYsJ,GAAc,CACzD,MAAMygD,EAAQ31D,KAAKu0D,oBACnB,GAAIoB,GAAS31D,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO0wD,wBAAyB,CAChE,MAAMkD,EAAcD,EAAQzgD,EAAY7U,OAExC,OADAL,KAAKuB,SAAS,CAAEkxD,sBAAuBmD,IAChCA,IAMXhB,qBAAqBvzD,GACzB,MAAMw0D,EAAiC,GAAGvD,EAAyBwD,6CAC7DC,EAAwB,GAAGF,mBAC3BG,EAAuB,GAAG1D,EAAyBwD,kCAEzD,OAAOz0D,EAASV,KAAIuU,IAChB,MAAM5P,EAAU4P,EAAY5P,QAE5B,IAAI2wD,EACJ,GAAIj+C,EAAAA,GAAiB+G,UAAW,CAAC,IAADm3C,EAC5B,MAAM7kD,GAAa2+B,EAAAA,EAAAA,mBAAkB1qC,EAAStF,KAAKP,MAAMQ,QAAQC,eAC3D4mD,EAAU,IAAIzwC,IAAIhF,EAAY5O,OAAOC,SAASmC,MAChD7E,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KAAK4C,OAChCwjD,EAAQrsC,aAAamkB,IAAI,YAAa,GAAG1pB,EAAYogD,aAEvC,QAAlBY,EAAA5wD,EAAQkH,kBAAU,IAAA0pD,GAAlBA,EAAoBv1D,KAAI87C,IAAY,IAAA+C,EAChC,MAAM2W,EAAyC,QAA3B3W,EAAG/C,EAAUvvC,sBAAc,IAAAsyC,OAAA,EAAxBA,EAA0BryC,MACjD,IAAKiN,EAAAA,iBAAiBC,mBAAmB87C,GAAiB,CACtD,MAAMja,GAAgBka,EAAAA,EAAAA,6CAA4C3Z,EAAU3vC,oBAC5Eg6C,EAAQrsC,aAAamkB,IAAIsd,EAAeia,OAGhDF,EAAkBnP,EAAQjiD,KAG9B,MAAO,CACHoxD,gBAAAA,EACA/gD,YAAAA,EACAmhD,2BACI92D,IAAAA,cAAC+2D,EAAAA,GAAmC,CAChCtsD,UAAW,GAAGsoD,EAAyBwD,4BACvCrlD,UAAWzQ,KAAKP,MAAMgR,UACtB2L,OAAQlH,EAAYkH,OACpBgzB,eAAgBpvC,KAAK4yD,uBACrB3yD,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,KAGdohD,aACIhkD,IAAAA,cAAA,KAAGyK,UAAW6rD,EAAgChxD,KAAMoxD,GAC/Cj2D,KAAKwjD,oBAAoBuS,EAAuB7gD,EAAY5P,UAGrEixD,YACIh3D,IAAAA,cAAA,KAAGyK,UAAWgsD,EAAsBnxD,KAAMoxD,GACrC/gD,EAAY5P,QAAQ2E,UA2DjCsqD,oBACJ,MAAMx+B,GAAWxN,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAYC,QAASj2B,QAASD,KAAKP,MAAMQ,QAAQsE,UACtF,MAAiB,OAAbwxB,GAAkC,OAAbA,EACd/1B,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOw0D,qCAElCx2D,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOy0D,sCASjCjT,oBAAoBx5C,EAAmB1E,GAAuB,IAAAswB,EAAAia,EAClE,GAAIsb,EAAAA,iBAAiBC,kBAAkB9lD,GACnC,OAGJ,MAAMoxD,EAAuB,kBACvBvsD,EAAuC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAGosD,EAAsBnsD,EAAG,EAAGC,EAAG,GACxCC,GAAI,CAAEH,EAAGosD,EAAsBnsD,EAAG,EAAGC,EAAG,GACxCE,GAAI,CAAEJ,EAAGosD,EAAsBnsD,EAAG,EAAGC,EAAG,IAE5CG,UAAU,GAGd,OACIpL,IAAAA,cAAC2L,EAAAA,GAAK,CACF5E,IAAKhB,EAAQ2E,KACbmB,IAA4B,QAAzBwqB,EAAEtwB,EAAQe,uBAAe,IAAAuvB,EAAAA,EAAI,GAChCvqB,YAA6G,QAAlGwkC,GAAEppC,EAAAA,EAAAA,qBAAoBnB,EAAQlB,OAAQpE,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeQ,oBAAY,IAAA4uC,EAAAA,EAAI,GACjHvkC,aAActL,KAAKP,MAAMQ,QAAQsE,QAAQ+G,aACzCC,cAAepB,EACfqB,oBAAoB,QACpBxB,UAAWA,EACXvJ,eAAgBT,KAAKP,MAAMQ,QAAQC,cAAcO,iBAKrD88B,wBAAqB,IAAAo5B,EACzB,MAAMC,EAAwC,QAAxBD,EAAG32D,KAAKiD,MAAMgmB,kBAAU,IAAA0tC,EAAAA,EAAI32D,KAAKozD,iCACjDyD,EAA2B,GAAGvE,EAAyBwE,wCAC7D,IAAIC,EAAoB,GAAGzE,EAAyB0E,oCAKpD,OAJKJ,IACDG,EAAoB,GAAGzE,EAAyB0E,sCAG7C,CACHhtD,UAAWkW,GAAAA,CAAW22C,EAA0BvE,EAAyB0E,wBAAyBD,GAClG7sD,QAASlK,KAAKkzD,qBACd7nC,KAAM,SACN9B,SAAU,GAIV2rC,4BAA4BJ,GAChC,OACIv1D,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAW,GAAGsoD,EAAyB2E,oCACvCpyD,KAAMiwD,EACN9pD,MAAOhL,KAAKP,MAAMgR,UAAUymD,4CAE3Bl3D,KAAKP,MAAMgR,UAAUymD,4CAK1B9B,wBACJ,OACI71D,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAW,GAAGsoD,EAAyB2E,6BACvCjsD,MAAOhL,KAAKP,MAAMgR,UAAU0mD,4CAC5BjtD,QAASlK,KAAKqzD,oCAEbrzD,KAAKP,MAAMgR,UAAU0mD,8CAzTX7E,EAAAtoD,UAAY,gCAEZsoD,EAAA8E,mBAAqB,GAAG9E,EAAyBtoD,uBAEjDsoD,EAAAwE,uBAAyB,GAAGxE,EAAyB8E,qCAErD9E,EAAA9oB,gBAAkB,GAAG8oB,EAAyBwE,iCAE9CxE,EAAA+E,qBAAuB,GAAG/E,EAAyB9oB,yBAEnD8oB,EAAAgF,eAAiB,GAAGhF,EAAyBwE,gCAE7CxE,EAAAwD,kBAAoB,GAAGxD,EAAyBgF,8BAEhDhF,EAAA2E,gBAAkB,GAAG3E,EAAyBwE,iCAE9CxE,EAAA0E,wBAA0B,GAAG1E,EAAyB9oB,4BA+SjF,2LCjYO,MAAM+tB,EAAgG93D,IAAQ,IAAA+3D,EAAAC,EAAAC,EACjH,IAAKj4D,EAAM00D,mBACP,OAAO,KAGX,MAAMyC,EAAmC,QAAnBY,EAAG/3D,EAAMwpB,kBAAU,IAAAuuC,EAAAA,EAAI/3D,EAAM20D,gCAE7CgD,EAAqBl3C,GAAAA,CACvBoyC,EAAAA,yBAAyBwE,uBACzBF,EAAmB,GAAK,GAAGtE,EAAAA,yBAAyBwE,qCAGxD,OACIv3D,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAMyjB,aACd3jB,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyB8E,oBACtC73D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWotD,GACb73D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW,GAAGsoD,EAAAA,yBAAyBwE,2CACzCv3D,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMy0D,gBACZ30D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyB9oB,iBACtCjqC,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyB+E,sBACtC93D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW,GAAGsoD,EAAAA,yBAAyB+E,+BAC7C93D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW,GAAGsoD,EAAAA,yBAAyB+E,mCACxC53D,EAAMgR,UAAUknD,oCAErBp4D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW,GAAGsoD,EAAAA,yBAAyB+E,kCACxC53D,EAAM+0D,kBAKvBj1D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyBgF,eAAgBvvC,IAAI,SAC1DxoB,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,GAAG+d,IAAI,SACnBxoB,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyBwD,kBAAmB/tC,IAAI,MACtC,QAD0C0vC,EAChEh4D,EAAMk1D,wBAAgB,IAAA8C,OAAA,EAAtBA,EAAwB92D,KAAIi3D,GAErBr4D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,GAAG+d,IAAI,KAAKzhB,IAAKsxD,EAAK1iD,YAAYkH,QAC7Cw7C,EAAKvB,2BACLuB,EAAKrU,gBAIjB9jD,EAAMo1D,yBAEXt1D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyBwD,kBAAmB/tC,IAAI,MACtC,QAD0C2vC,EAChEj4D,EAAMk1D,wBAAgB,IAAA+C,OAAA,EAAtBA,EAAwB/2D,KAAIi3D,GAErBr4D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,GAAG+d,IAAI,KAAKzhB,IAAKsxD,EAAK1iD,YAAYkH,QAC7CpE,EAAAA,GAAiB+G,UAAY64C,EAAKrB,iBAAc50D,SAQ7EpC,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWsoD,EAAAA,yBAAyB2E,iBACrCx3D,EAAM01D,eACN11D,EAAMw1D,0BAQ/B,8MClDY4C,kCAAZ,SAAYA,GACRA,EAAAA,EAAA,eACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,kBACAA,EAAAA,EAAA,kBATJ,CAAYA,IAAAA,EAA2B,KAehC,MAAMC,UAA6Bv4D,IAAAA,cAC9B,2BAA2B+F,GAC/B,OAAI6lD,EAAAA,iBAAiBC,kBAAkB9lD,EAAQyyD,eACpC,KAIPx4D,IAAAA,cAAA,YACK+F,EAAQ0yD,aACR1yD,EAAQyyD,eAKb,2BAA2BzyD,GAAuB,IAAA2yD,EACtD,OAAI9M,EAAAA,iBAAiB+M,WAAsC,QAA5BD,EAAC3yD,EAAQ6yD,2BAAmB,IAAAF,OAAA,EAA3BA,EAA6BG,aAClD,KAGJ74D,IAAAA,cAAA,YAAO+F,EAAQ6yD,oBAAqBC,eAGvC,0BAA0B9yD,GAC9B,OAAI6lD,EAAAA,iBAAiBC,kBAAkB9lD,EAAQ+yD,cACpC,KAGJ94D,IAAAA,cAAA,YAAO+F,EAAQ+yD,cAGlB,0BAA0B/yD,GAC9B,OAAI6lD,EAAAA,iBAAiBC,kBAAkB9lD,EAAQgzD,YACpC,KAGJ/4D,IAAAA,cAAA,YAAO+F,EAAQgzD,YAGlB,uBAAuBhzD,GAC3B,OAAI6lD,EAAAA,iBAAiBC,kBAAkB9lD,EAAQof,WACpC,KAIJnlB,IAAAA,cAAA,QAAM23C,yBAAyBqhB,EAAAA,EAAAA,IAAgBjzD,EAAQof,aAGlEllB,YAAmBC,GACfC,MAAMD,GAGH6J,SAAM,IAAAkvD,EACT,MAAMC,EAAgBz4D,KAAKP,MAAMg5D,cACjC,GAAItN,EAAAA,iBAAiBC,kBAAkBqN,GACnC,OAAO,KAGX,OAAQA,EAAcC,eAClB,KAAKb,EAA4B5+C,KAE7B,OAAO1Z,IAAAA,cAAA,aACX,KAAKs4D,EAA4Bc,SAC7B,OAAOb,EAAqBc,oBAAoBH,GACpD,KAAKZ,EAA4BgB,SAC7B,OAAOf,EAAqBgB,oBAAoBL,GACpD,KAAKZ,EAA4BkB,QAC7B,OAAOjB,EAAqBkB,mBAAmBP,GACnD,KAAKZ,EAA4BoB,QAC7B,OAAOnB,EAAqBoB,mBAAmBT,GACnD,KAAKZ,EAA4BztC,KAC7B,OAAO0tC,EAAqBqB,gBAAgBV,GAChD,KAAKZ,EAA4BuB,QAC7B,OAAOp5D,KAAKq5D,qBAAqBZ,GACrC,KAAKZ,EAA4ByB,MAE7B,OADAt5D,KAAKP,MAAMwlB,UAAUwsB,QAAQ,oEACtB,KACX,KAAKomB,EAA4Bh1C,MAE7B,OADA7iB,KAAKP,MAAMwlB,UAAUwsB,QAAQ,oEACtB,KACX,QAEI,OADAzxC,KAAKP,MAAMwlB,UAAUwsB,QAAQ,kCAA6D,QAA7D+mB,EAAkCC,EAAcC,qBAAa,IAAAF,EAAAA,EAAI,2BACvF,MAIXa,qBAAqB/zD,GACzB,OAAIA,EAAQi0D,aACDh6D,IAAAA,cAAA,YAAOS,KAAKP,MAAMgR,UAAU+oD,+CAEhCj6D,IAAAA,cAAA,YAAOS,KAAKP,MAAMgR,UAAUgpD,+DCvG3C,MAAMC,EACFj6D,IAEA,MAAMyK,GAAUyvD,EAAAA,EAAAA,cAAY,KACxBl6D,EAAM2vC,eAAe3vC,EAAM2c,UAC5B,CAAC3c,KAEE,UAAEuK,GAAcvK,EAEtB,OAAOF,IAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAWA,EAAWgB,MAAOvL,EAAMgR,UAAUmpD,gDAAiD1vD,QAASA,KAQ7GosD,EACT72D,GACCF,IAAAA,cAAoBm6D,EAA+Cj6D,iJCS5Do6D,EA2FAC,gwBA3FZ,SAAYD,GACRA,EAAA,YACAA,EAAA,gBAFJ,CAAYA,IAAAA,EAAa,KA2FzB,SAAYC,GACRA,EAAAA,EAAA,eACAA,EAAAA,EAAA,iBAFJ,CAAYA,IAAAA,EAAwB,KAQ7B,MAAMC,UAA0Bx6D,IAAAA,UA8FnCC,YAAmBC,GACfC,MAAMD,GA8IO,KAAAu6D,gCAAkC,KAC/CnH,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAAS+uD,WAC5DtzD,KAAKuB,SAAS,CAAE0xD,aAAc,MAMjB,KAAAgH,4BAA8B,KAAW,IAAAC,EAEtD,GAAwB,QAAxBA,EAAIl6D,KAAKm6D,uBAAe,IAAAD,GAApBA,EAAsBhyD,QAAS,CAC/B,MAAMkyD,EAAyDp6D,KAAKm6D,gBAAgBjyD,QAAQszB,uBACxFu+B,EAAkBM,sBAElB1uD,EAAAA,gBAAgBC,YAAY6vB,MAAMC,KAAK0+B,MACnCt7C,EAAAA,GAASC,WAAaN,SAASO,gBAAgBC,UANtC,EAOTm7C,EAA4B,GAAGl7C,UAAUC,IAAI46C,EAAkBO,4BAE/DF,EAA4B,GAAGl7C,UAAUE,OAAO26C,EAAkBO,+BA8BjE,KAAAC,cAAiBl6C,IAAwC,IAAAm6C,EAAAC,EAC5C,QAA1BD,EAAAx6D,KAAK06D,6BAAqB,IAAAF,GAAS,QAATC,EAA1BD,EAA4BtyD,eAAO,IAAAuyD,GAAnCA,EAAqCE,SAAS,CAAE99B,IAAKxc,EAAM2iB,cAAc/jB,UAAW6d,KAAMzc,EAAM2iB,cAAc43B,aAC9G56D,KAAK66D,uBAQQ,KAAAC,mBAAsBC,IAAuC,IAAAC,EAAAC,EAAAC,EAAAC,EAC1E,MAAMC,EAAoC,QAA3BJ,EAAGh7D,KAAKq7D,2BAAmB,IAAAL,OAAA,EAAxBA,EAA0B9yD,QAC5C,IAAKkzD,EACD,OAGJ,IAKIE,EALAC,EAAoC,QAA3BN,EAAGj7D,KAAKw7D,2BAAmB,IAAAP,GAAS,QAATC,EAAxBD,EAA0B/yD,eAAO,IAAAgzD,OAAT,EAAxBA,EAAmC9uC,iBACjCzqB,IAAd45D,IACAA,EAAYv7D,KAAKy7D,iBAIrB,MAAMC,EAAiB1yD,KAAK2yD,KAAKP,EAAUR,YAC3C,GAAIG,IAAcjB,EAAyBh9B,KAAM,CAC7Cw+B,EAAkBI,EAAiBH,EACnC,MAAMK,EAAkB,EACxBN,EAAkBtyD,KAAK+K,IAAIunD,EAAiBM,OACzC,CACH,MAAMC,EAAYT,EAAUU,YAAcV,EAAUhvC,YACpDkvC,EAAkBI,EAAiBH,EACnCD,EAAkBtyD,KAAK4xC,IAAI0gB,EAAiBO,GAG5C/8C,EAAAA,GAASC,WAAkE,SAA1B,QAA3Bo8C,EAAA18C,SAASoP,KAAKC,qBAAa,IAAAqtC,OAAA,EAA3BA,EAA6BptC,aAAa,UAChEutC,GAAmBA,GAGvBF,EAAUT,SAAS,CACf99B,IAAKu+B,EAAUn8C,UACf6d,KAAMw+B,IAGVt7D,KAAKuB,UAASwxD,IACV,QAA6CpxD,IAAzCoxD,EAAcgJ,uBACd,MAAO,GAEX,IAAIC,EAAS,EAIb,OAHIjB,IAAcjB,EAAyBh9B,OACvCk/B,GAAU,GAEP,CACHD,uBAAwBhJ,EAAcgJ,uBAAyBC,EAC/DC,qBAAsBC,KAAKC,MAC3BC,wBAAoBz6D,MAI5B3B,KAAK66D,uBAOQ,KAAAwB,qBAAuB,KAAK,IAAAC,EACrCx9C,EAAAA,GAASC,WAAkE,SAA1B,QAA3Bu9C,EAAA79C,SAASoP,KAAKC,qBAAa,IAAAwuC,OAAA,EAA3BA,EAA6BvuC,aAAa,QAChE/tB,KAAK86D,mBAAmBhB,EAAyByC,OAEjDv8D,KAAK86D,mBAAmBhB,EAAyBh9B,OAQxC,KAAA0/B,iBAAmB,KAAK,IAAAC,EACjC39C,EAAAA,GAASC,WAAkE,SAA1B,QAA3B09C,EAAAh+C,SAASoP,KAAKC,qBAAa,IAAA2uC,OAAA,EAA3BA,EAA6B1uC,aAAa,QAChE/tB,KAAK86D,mBAAmBhB,EAAyBh9B,MAEjD98B,KAAK86D,mBAAmBhB,EAAyByC,QAOxC,KAAAd,cAAgB,KAAa,IAAAiB,EAC1C,MAAMtB,EAAoC,QAA3BsB,EAAG18D,KAAKq7D,2BAAmB,IAAAqB,OAAA,EAAxBA,EAA0Bx0D,QACtC6tB,GAAWxN,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAYC,QAASj2B,QAASD,KAAKP,MAAMQ,QAAQsE,UACtF,IAAIg3D,EAAoB,IAcxB,MAZiB,OAAbxlC,GAAqBqlC,EACrBG,EAAYH,GAAaA,EAAUhvC,YAAc,EAC5B,OAAb2J,GAAkC,OAAbA,IAAsBqlC,EAG/CA,IACAG,EAAYH,GAAaA,EAAUhvC,YAAc,GAHrDmvC,EAAYH,GAAaA,EAAUhvC,YAAc,EAOrDmvC,EAAYvyD,KAAK2zD,MAAMpB,GAEhBA,GAMM,KAAAV,oBAAsB,KAAK,IAAA+B,EAAAC,EACxC,MAAMzB,EAAoC,QAA3BwB,EAAG58D,KAAKq7D,2BAAmB,IAAAuB,OAAA,EAAxBA,EAA0B10D,QAC5C,IAAKkzD,EACD,OAGJ,MACMS,EAAYT,EAAUU,YAAcV,EAAUhvC,YAC9CsvC,EAAiB1yD,KAAK2yD,KAAKP,EAAUR,YAEvC97C,EAAAA,GAASC,WAAkE,SAA1B,QAA3B89C,EAAAp+C,SAASoP,KAAKC,qBAAa,IAAA+uC,OAAA,EAA3BA,EAA6B9uC,aAAa,SAC5D2tC,GALuB,EAMnB17D,KAAK88D,yBACL98D,KAAK88D,wBAAyB,EAC9B98D,KAAK+8D,eAED/8D,KAAK88D,yBACb98D,KAAK88D,wBAAyB,EAC9B98D,KAAK+8D,eAGLrB,GAAkBG,EACd77D,KAAKg9D,6BACLh9D,KAAKg9D,4BAA6B,EAClCh9D,KAAK+8D,eAED/8D,KAAKg9D,6BACbh9D,KAAKg9D,4BAA6B,EAClCh9D,KAAK+8D,iBAGLrB,GAzBuB,EA0BnB17D,KAAKg9D,6BACLh9D,KAAKg9D,4BAA6B,EAClCh9D,KAAK+8D,eAED/8D,KAAKg9D,6BACbh9D,KAAKg9D,4BAA6B,EAClCh9D,KAAK+8D,eAGLrB,GAAkBG,EACd77D,KAAK88D,yBACL98D,KAAK88D,wBAAyB,EAC9B98D,KAAK+8D,eAED/8D,KAAK88D,yBACb98D,KAAK88D,wBAAyB,EAC9B98D,KAAK+8D,iBASA,KAAAnK,uBAA0Bx2C,IACvCy2C,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASuuD,eAAe12C,GAC3Epc,KAAKuB,UAASwxD,IAAgB,IAAAC,EAC1B,IAAIiK,EAAqBlK,EAAcgJ,uBAIvC,OAHIkB,IAAuBj9D,KAAK88D,wBAA0B98D,KAAKg9D,6BAC3DC,GAAsB,GAEnB,CACHhK,aAAwC,QAA5BD,EAAED,EAAcE,oBAAY,IAAAD,OAAA,EAA1BA,EAA4B/iD,QAAO9M,GAAQA,EAAKiZ,SAAWA,IACzE6/C,qBAAsBC,KAAKC,MAC3BC,wBAAoBz6D,EACpBo6D,uBAAwBkB,OA6BnB,KAAAC,eAAkB9gD,GAAmB,KAClDpc,KAAKm9D,oBAAsB/gD,EAE3Bpc,KAAKuB,SAAS,CACV06D,qBAAsBC,KAAKC,MAC3BC,mBAAoBhgD,KASX,KAAAghD,gBAAmBhhD,GAAmB,KAC/Cpc,KAAKm9D,sBAAwB/gD,IAIjCpc,KAAKm9D,yBAAsBx7D,EAC3Bm6C,GAAAA,EAAS,KACL97C,KAAKuB,SAAS,CACV06D,qBAAsBC,KAAKC,MAC3BC,wBAAoBz6D,MAEzB,MA4GU,KAAA07D,QAAU,KACvB,MAAMC,GAAoB37C,EAAAA,EAAAA,IAAW,OAAQ3hB,KAAKP,MAAMQ,QAAQC,gBAAkB,GACxD,KAAtBue,SAAS8+C,SACT96D,OAAOC,SAASmC,KAAOy4D,EAEvB76D,OAAO+6D,QAAQC,QArhBnBz9D,KAAKuzD,YAAc,GAAGwG,EAAkB/vD,aAAahK,KAAKP,MAAM6H,MAAMksD,EAAAA,OAAOC,KAAKC,iBAElF1zD,KAAKiD,MAAQ,CACTgwD,kBAActxD,EACds6D,qBAAsBC,KAAKC,MAC3BC,wBAAoBz6D,EACpBo6D,uBAAwB,GAG5B/7D,KAAKm6D,gBAAkB56D,IAAAA,YACvBS,KAAK06D,sBAAwBn7D,IAAAA,YAC7BS,KAAKq7D,oBAAsB97D,IAAAA,YAC3BS,KAAKw7D,oBAAsBj8D,IAAAA,YA1DvB,kCAAkC8B,GACtC,MAAM+H,EAAiB/H,EAASV,KAAI2E,IAAO,IAAAo4D,EAAA,OAA0B,QAA1BA,EAAIp4D,EAAQ8D,sBAAc,IAAAs0D,OAAA,EAAtBA,EAAwBC,sBACjEC,EAAsCjyD,EAAAA,gBAAgBkyD,QAAQz0D,GAG9D00D,EAAqBnyD,EAAAA,gBAAgBsjD,YACvC2O,EACK3tD,QAAOwoD,GAHY,IAGKA,EAAcsF,mBACtCp9D,KAAI83D,GAAiBA,EAAcxuD,QAEtC+zD,EAA2BryD,EAAAA,gBAAgBsyD,OAAOH,GAKxD,OAJ6BnyD,EAAAA,gBAAgBsjD,YACzC+O,EAAyBr9D,KAAI6H,GAAQo1D,EAAkBr4D,MAAKkzD,GAAiBA,EAAcxuD,OAASzB,OAMpG,8BAA8BnH,GAClC,MAAMg9B,EAAah9B,EAASV,KAAI2E,GAAWA,EAAQY,YAAYsG,aACzD0xD,EAAoCvyD,EAAAA,gBAAgBkyD,QAAQx/B,GAAYpuB,QAC1EwsC,IAAc0O,EAAAA,iBAAiBC,kBAAkB3O,EAAUvvC,kBAGzDixD,EAAexyD,EAAAA,gBAAgBsjD,YAAYiP,EAAcv9D,KAAI87C,GAAaA,EAAU3vC,sBAG1F,OAF2BnB,EAAAA,gBAAgBsyD,OAAOE,GAK9C,iCAAiC74D,GACrC,OAAI8U,EAAAA,iBAAiBC,mBAAmB/U,MAAAA,OAAO,EAAPA,EAAS4L,aACtC,KAEJ3R,IAAAA,cAAA,KAAGyK,UAAW,GAAG+vD,EAAkB/vD,0BAA2B1E,EAAS4L,aAG1E,qCACJ,MAAO,CACHlH,UAAW+vD,EAAkBqE,oBAsB9Bz9C,oBACH3gB,KAAK4zD,gBACLf,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASsvD,kBAAkBC,UAAU,CACpFC,WAAY/zD,KAAKuzD,YAKjBS,QAASA,KAELh0D,KAAK4zD,mBAGT90C,EAAAA,GAASC,WACTtc,OAAOoe,iBAAiB,UAAU,KAC9B7gB,KAAKi6D,iCAGbj6D,KAAKi6D,8BAGFr+B,uBACHi3B,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASsvD,kBAAkBI,YAAYj0D,KAAKuzD,aAG5Fv+B,sBACHC,EACAqP,GAEA,OAAItkC,KAAKiD,MAAMgwD,eAAiB3uB,EAAU2uB,cAAgBjzD,KAAKP,QAAUw1B,IAKrEj1B,KAAKiD,MAAMm5D,qBAAuB93B,EAAU83B,oBAC5Cp8D,KAAKiD,MAAM84D,yBAA2Bz3B,EAAUy3B,wBAIjDzyD,SAAM,IAAAsmD,EAAA3yB,EACT,MAAM1zB,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACbyjB,YAAa,CACTA,YAAaljB,KAAKP,MAClBuK,UAAW+vD,EAAkB/vD,WAEjCq0D,+BAAgCr+D,KAAKg6D,gCACrC7F,oBAAoB,EACpBmK,gBAAgB,EAChBv7C,QAAS/iB,KAAKu+D,iBACdC,QAASx+D,KAAKy+D,iBACdtJ,eAAgBn1D,KAAKo1D,wBACrBsJ,wBAAyB3E,EAAkB4E,8BAC3CC,gBAAiB5+D,KAAK6+D,yBACtBC,YAAa9+D,KAAK++D,qBAClBC,eAAgBh/D,KAAKi/D,8BACrBC,gBACI3/D,IAAAA,cAAA,OAAKyK,UAAW,GAAG+vD,EAAkB/vD,8BAA+BhK,KAAKP,MAAMoM,MAAMszD,+BAIvFlM,EAAsC,QAA1BrD,EAAG5vD,KAAKiD,MAAMgwD,oBAAY,IAAArD,EAAAA,EAAI5vD,KAAKo/D,qCAAiE,QAA7BniC,EAACj9B,KAAKP,MAAM0C,KAAK8wD,oBAAY,IAAAh2B,OAAA,EAA5BA,EAA8Blc,QACxH,QAAqBpf,IAAjBsxD,EACA,OAAOjzD,KAAKP,MAAM+J,WAAWD,GAIjC,IADuBvJ,KAAKP,MAAMQ,QAAQsE,QAAQo6B,QAAQ0gC,mBAClC1zD,EAAAA,gBAAgBC,YAAYqnD,GAEhD,OADA1pD,EAAU+0D,gBAAiB,EACpBt+D,KAAKP,MAAM+J,WAAWD,GAG7BoC,EAAAA,gBAAgBC,YAAYqnD,KAC5B1pD,EAAU+1D,iBAAmBt/D,KAAKP,MAAMgR,UAAU8uD,2BAA2B75D,QAAQ,MAAOutD,EAAa5yD,OAAO4R,aAGpHjS,KAAK66D,sBACL,MAAM2E,EAAuBx/D,KAAK40D,qBAAqB3B,GACjDwM,EAAwBz/D,KAAK0/D,yBAAyBzM,GACtD0M,EAYA,GA4BN,OA3BAF,MAAAA,GAAAA,EAAuB9+D,KAAI87C,IACvB,MAAM0Z,EAAiBn2D,KAAK4/D,0BAA0BnjB,EAAW+iB,GAEjE,OADAG,EAAsB5+D,KAAKo1D,GACpBwJ,KAEXp2D,EAAU4qD,oBAAqB,EAC/B5qD,EAAUs2D,eAAiB7/D,KAAKm6D,gBAChC5wD,EAAUu2D,qBAAuB9/D,KAAK06D,sBACtCnxD,EAAUw2D,mBAAqB//D,KAAKq7D,oBACpC9xD,EAAUy2D,mBAAqBhgE,KAAKw7D,oBACpCjyD,EAAU0yD,qBAAuBj8D,KAAKiD,MAAMg5D,qBAC5C1yD,EAAU6yD,mBAAqBp8D,KAAKiD,MAAMm5D,mBAC1C7yD,EAAU02D,0BAA4BjgE,KAAKg9D,2BAC3CzzD,EAAU22D,sBAAwBlgE,KAAK88D,uBACvCvzD,EAAUwyD,uBAAyB/7D,KAAKiD,MAAM84D,uBAC9CxyD,EAAU42D,oBAAsBngE,KAAKq8D,qBACrC9yD,EAAU62D,gBAAkBpgE,KAAKw8D,iBACjCjzD,EAAU82D,aAAergE,KAAKu6D,cAC9BhxD,EAAU+2D,cAAgBtgE,KAAKk9D,eAC/B3zD,EAAUg3D,eAAiBvgE,KAAKo9D,gBAChC7zD,EAAUyrD,sBAAwBh1D,KAAK4yD,uBACvCrpD,EAAUorD,iBAAmB6K,EAC7Bj2D,EAAUi3D,mBAAqBzG,EAAkB0G,uBAAuBxN,GACxE1pD,EAAUm3D,gBAAkBf,EAC5Bp2D,EAAUo3D,qBAAuB5G,EAAkB6G,2BAA2B3N,GAC9E1pD,EAAUs3D,oBAAsB7gE,KAAK8gE,uBAAuBv3D,EAAUo3D,qBAAsBp3D,EAAUorD,kBAE/F30D,KAAKP,MAAM+J,WAAWD,GA8BzB61D,qCACJlqD,GAAqD,IAAAmgD,EAErD,MAAMC,GAAYhc,EAAAA,EAAAA,IAAat5C,KAAKP,MAAMQ,QAAQsE,SAElD,OAD0F,QAAlE8wD,EAAGngD,MAAAA,OAAW,EAAXA,EAAajF,QAAO3K,GAAWA,EAAQgwD,YAAcA,WAAU,IAAAD,EAAAA,OAAI1zD,EAI1F,sBACJ,MAAMuD,EAAQ2tD,EAAAA,GAAuB9pB,SAAS/oC,KAAKP,MAAMQ,QAAQsE,SAASW,MACpEsoC,EAAQ,IAAIuzB,EAAAA,GAAoC77D,GACtD,IAAIgQ,QACE8rD,EAAAA,EAAAA,IAAqCxzB,EAAOxtC,KAAKP,MAAMQ,QAAQC,eAAekB,MAAK+B,IACrF+R,EAAc/R,KAElB,MAAMsyD,EAAyBz1D,KAAKo/D,qCAAqClqD,GACzElV,KAAKuB,SAAS,CAAE0xD,aAAcwC,IAoM1BwL,iBAAiB37D,GAAmC,IAAA47D,EACxD,MAAMC,EAAgBx1D,EAAAA,gBAAgBC,YAAY5L,KAAKP,MAAMoM,MAAMu1D,YAAcphE,KAAKP,MAAMoM,MAAMu1D,WAAW,GAAK,KAClH,GAAIjW,EAAAA,iBAAiBC,kBAAkB+V,GACnC,OAAO,KAGX,MAAMvjD,EAAmD,QAAjCsjD,EAAG57D,EAAQY,YAAYsG,kBAAU,IAAA00D,OAAA,EAA9BA,EAAgCjxD,QAAOwsC,IAAS,IAAA+C,EAAA,OAA4B,QAA5BA,EAAI/C,EAAUvvC,sBAAc,IAAAsyC,OAAA,EAAxBA,EAA0BryC,SAEzG,OAAO5N,IAAAA,aAAmB4hE,EAAqC,CAC3DpjD,kBAAmBzY,EAAQY,YAAYxC,SACvCka,mBAAAA,IA2CA4lC,oBAAoBx5C,EAAmB1E,GAAuB,IAAAswB,EAAAia,EAClE,GAAIsb,EAAAA,iBAAiBC,kBAAkB9lD,GACnC,OAGJ,MAAM+7D,EAAwB,kBACxBl3D,EAAuC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG+2D,EAAuB92D,EAAG,EAAGC,EAAG,GACzCC,GAAI,CAAEH,EAAG+2D,EAAuB92D,EAAG,EAAGC,EAAG,GACzCE,GAAI,CAAEJ,EAAG+2D,EAAuB92D,EAAG,EAAGC,EAAG,IAE7CG,UAAU,GAGd,OACIpL,IAAAA,cAAC2L,EAAAA,GAAK,CACFC,QAAS7F,MAAAA,OAAO,EAAPA,EAAS2E,KAClB3D,IAAKhB,EAAQ2E,KACbmB,IAA4B,QAAzBwqB,EAAEtwB,EAAQe,uBAAe,IAAAuvB,EAAAA,EAAI,GAChCvqB,YAA6G,QAAlGwkC,GAAEppC,EAAAA,EAAAA,qBAAoBnB,EAAQlB,OAAQpE,KAAKP,MAAMQ,QAAQC,cAAcO,eAAeQ,oBAAY,IAAA4uC,EAAAA,EAAI,GACjHvkC,aAActL,KAAKP,MAAMQ,QAAQsE,QAAQ+G,aACzCC,cAAepB,EACfqB,oBAAoB,QACpBxB,UAAWA,EACXvJ,eAAgBT,KAAKP,MAAMQ,QAAQC,cAAcO,iBAKrD6gE,qBAAqBllD,GACzB,MAAMmlD,EAAqBvhE,KAAKiD,MAAMm5D,qBAAuBhgD,EAC7D,IAAIotB,EAAkBuwB,EAAkByH,yBAIxC,OAHID,IACA/3B,EAAkBtpB,GAAAA,CAAWspB,EAAiB,uCAE3C,CACHx/B,UAAWw/B,EACXljC,IAAK,GAAGkjC,cAA4BptB,KAAUpc,KAAKiD,MAAMm5D,sBAAsBp8D,KAAKiD,MAAM84D,yBAC1F5oC,aAAcnzB,KAAKk9D,eAAe9gD,GAClCiX,aAAcrzB,KAAKo9D,gBAAgBhhD,IAInCqlD,mBAAmBrlD,GACvB,MAAMmlD,EAAqBvhE,KAAKiD,MAAMm5D,qBAAuBhgD,EAC7D,IAAIslD,EAAgB3H,EAAkB4H,mBAItC,OAHIJ,IACAG,EAAgBxhD,GAAAA,CAAWwhD,EAAe,uCAEvC,CACH13D,UAAW03D,EACXp7D,IAAK,GAAGo7D,cAA0BtlD,KAAUpc,KAAKiD,MAAMm5D,qBACvDjpC,aAAcnzB,KAAKk9D,eAAe9gD,GAClCiX,aAAcrzB,KAAKo9D,gBAAgBhhD,GACnCiP,KAAM,WACN9B,SAAU,GAIVq4C,qBAAqBjrD,GAAuB,IAAAkrD,EAChD,GAAI1W,EAAAA,iBAAiBC,kBAAkBz0C,MAAAA,OAAM,EAANA,EAAQwM,eAC3C,OAAO,KAGX,MAAM2+C,EAAcnrD,EAIpB,OACIpX,IAAAA,cAAC+d,EAAAA,gBAAe,CACZJ,UAAW4kD,EAAY3+C,cACvB3F,UAAQ,EACRJ,WAAWhG,EAAAA,EAAAA,QAAOpX,KAAKP,MAAMgR,UAAUsxD,4CAA6CD,EAAY3+C,cAAe,KAC/G5F,YAAa,GAA2B,QAA3BskD,EAAGC,EAAYn+C,oBAAY,IAAAk+C,EAAAA,EAPpB,IAQpBG,iCAA+B,EAC/B7/D,KAAM,GACNlC,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,WAKzBq1D,8BACJ,OACI1/D,IAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjJ,UAAU,uCACNhK,KAAKP,MAAMwlB,UAAS,CACxBoG,KAAK,SACLxmB,KAAK,IACLqF,QAASlK,KAAKq9D,QACdryD,MAAOhL,KAAKP,MAAMgR,UAAUwxD,sBAE3BjiE,KAAKP,MAAMgR,UAAUwxD,qBAmB1BC,kBAAkBC,GACtB,OAAIA,IAAgBp1D,EAAAA,qBAAqBC,MAC9BhN,KAAKP,MAAMgR,UAAU2xD,2CAE5BD,IAAgBp1D,EAAAA,qBAAqBO,KAC9BtN,KAAKP,MAAMgR,UAAU4xD,0CAG5BF,IAAgBp1D,EAAAA,qBAAqBS,MAC9BxN,KAAKP,MAAMgR,UAAU6xD,gDADhC,EAMI1C,0BAA0BuC,EAAqB9gE,GACnD,MAAMkhE,EAAqB,GAAGxI,EAAkByI,qCAAqCL,IAC/EM,EAAuBziE,KAAKkiE,kBAAkBC,GAC9CjmB,GAAgBka,EAAAA,EAAAA,6CAA4C+L,GAClE,IAAIO,EAAyB7I,EAAczvC,KAE3C,MAAMu4C,EAAgE3iE,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO+sD,wBAEhGpjD,EAAAA,gBAAgBC,YAAY+2D,IAC3BA,MAAAA,GAAAA,EAAiCpoD,SAAS3E,EAAAA,eAAeqD,OAD1DtN,MAEAg3D,IAAAA,EAAiCpoD,SAAS2hC,KAE1CwmB,EAAyB7I,EAAcj9C,QAG3C,MAAMgmD,EAAyBvhE,EAASV,KAAIkiE,IAAkB,IAAAC,EAAAC,EAC1D,IAEIC,EAFAvmB,EAAgC,GAChCwmB,EAAoB,GAEI,QAA5BH,EAAA9iE,KAAKP,MAAM0C,KAAK8wD,oBAAY,IAAA6P,GAAQ,QAARC,EAA5BD,EAA8B/hD,cAAM,IAAAgiD,GAApCA,EAAsCpiE,KAAIuiE,IACwD,IAADC,EAAAC,EAAzFF,EAAkBh9D,YAAYxC,WAAam/D,EAAgBv9D,QAAQY,YAAYxC,WAC/E+4C,EAAoD,QAA3C0mB,EAA+B,QAA/BC,EAAGF,EAAkB7kC,kBAAU,IAAA+kC,OAAA,EAA5BA,EAA8B/kC,kBAAU,IAAA8kC,EAAAA,EAAI,IAE5D,OAAO1mB,KAGPimB,IAA2B7I,EAAcj9C,SACzComD,EACIzjE,IAAAA,cAAA,OAAKyK,UAAU,2BACVyyC,EAAU97C,KAAI0iE,GAEP9jE,IAAAA,cAAA,OACIyK,UAAU,+BACV1D,IAAK,gCAAgCu8D,EAAgBv9D,QAAQ8W,UAE5DinD,EAAetiD,OAAOpgB,KAAI2iE,IAAgB,IAAAC,EACvC,IAAIC,EACJ,MAAMznD,EA8BA,QA9BQwnD,EACVD,EAAc3iE,KAAiBsZ,IAAa,IAAAwpD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACxC,IAAIC,GAA8B,EAClC,MAAMtmD,EAAmE,QAAjD6lD,EAAGZ,EAAgBv9D,QAAQY,YAAYsG,kBAAU,IAAAi3D,OAAA,EAA9CA,EAAgDxzD,QACvE9M,GAAQA,EAAK2J,qBAAuBmN,EAAWnN,qBAEnD8Q,MAAAA,GAAAA,EAAoBjd,KAAIwjE,IAAoB,IAAAC,EAQxC,YANyCziE,IAArCwiE,EAAkBj3D,gBAClBi3D,EAAkBj3D,eAAem3D,eACJ,QADeD,EACxCnqD,EAAW/M,sBAAc,IAAAk3D,OAAA,EAAzBA,EAA2BC,eAE/BH,GAAqB,GAElBA,KAGPjqD,EAAWnN,qBAAuBq1D,IAClCqB,EAAqBvpD,EAAWnN,oBAEpC,MAAMoN,EAAgBgiC,EACtB,MAAO,CACH9/B,OAAQ,GAAsC,QAAtCsnD,EAA4B,QAA5BC,EAAG1pD,EAAW/M,sBAAc,IAAAy2D,OAAA,EAAzBA,EAA2BjgE,gBAAQ,IAAAggE,EAAAA,EAAI,MACvC,QADyCE,EAA6B,QAA7BC,EAAI5pD,EAAW/M,sBAAc,IAAA22D,OAAA,EAAzBA,EAClD12D,aAAK,IAAAy2D,EAAAA,EAAI,KACfj8D,MAAuC,QAAlCm8D,EAA2B,QAA3BC,EAAE9pD,EAAW/M,sBAAc,IAAA62D,OAAA,EAAzBA,EAA2B52D,aAAK,IAAA22D,EAAAA,EAAI,GAC3C5pD,cAAAA,EACAmC,aAAuC,QAA3B2nD,EAAE/pD,EAAW/M,sBAAc,IAAA82D,OAAA,EAAzBA,EAA2BM,aACzC1sD,SAAmC,QAA3BqsD,EAAEhqD,EAAW/M,sBAAc,IAAA+2D,OAAA,EAAzBA,EAA2BM,SACrC/nD,UAAW0nD,aAEjB,IAAAX,EAAAA,EAAI,GACV,OAAIC,GAAsBA,IAAuBrB,EAEzC5iE,IAAAA,cAACilE,EAAAA,gBAAe,CACZvjE,YAAajB,KAAKP,MAAMQ,QAAQsE,QAAQtD,YACxCwnD,KAAM1sC,EACN0oD,oBAAoB,IAIzB,aAS/B/B,IAA2B7I,EAAczvC,MACzCqyB,EAAU97C,KAAIwC,GACHA,EAAK4d,OAAOpgB,KAAIuE,GACZA,EAAMvE,KAAI2iE,IACb,GAAIA,EAAcx2D,qBAAuBq1D,EAAa,CAAC,IAADuC,EAAAC,EAClD,MAAMC,EACY,KAAd3B,EACMjjE,KAAKP,MAAMgR,UAAUo0D,0BACrB7kE,KAAKP,MAAMgR,UAAUo0D,0BAA0Bn/D,QAAQ,IAAK,IACtEu9D,IAAwB7rD,EAAAA,EAAAA,QAAOwtD,EAAmE,QAArCF,EAA8B,QAA9BC,EAAErB,EAAcp2D,sBAAc,IAAAy3D,OAAA,EAA5BA,EAA8Bx3D,aAAK,IAAAu3D,EAAAA,EAAI,IAE1G,OAAOzB,SAMvB,MAAM6B,EAAiB,CACnBphE,SAAUm/D,EAAgBv9D,QAAQY,YAAYxC,SAC9CyJ,MAAO81D,EACPoB,YAAalC,EACboC,SAAU1B,EAAgBv9D,QAAQY,YAAYG,iBAGlD,MAAO,CACHy+D,eAAAA,EACAjC,gBAAAA,EACAkC,KACIxlE,IAAAA,cAAA,OAAK+G,IAAK,GAAGu8D,EAAgBv9D,QAAQ8W,UAAUmmD,KAC1CG,IAA2B7I,EAAcj9C,OAASomD,EAAe8B,EAAe33D,WAKjG,MAAO,CACHg1D,YAAAA,EACAjmB,cAAeumB,EACfF,mBAAAA,EACAK,uBAAAA,GAGA9B,uBAAuB13D,EAAkC/H,GAC7D,OAAO+H,EAAezI,KAAI83D,IACtB,MAAMuM,EAAyB,GAAGjL,EAAkBkL,6CAA6CxM,EAAcxuD,OAEzGi7D,EAAsB7jE,EAASV,KAAIkiE,IAAkB,IAAAsC,EACvD,MAAMC,EAA6D,QAAzCD,EAAGtC,EAAgBv9D,QAAQ8D,sBAAc,IAAA+7D,OAAA,EAAtCA,EAAwCxH,mBAAmBp4D,MACpF8/D,GAAyBA,EAAsBp7D,OAASwuD,EAAcxuD,OAG1E,MAAO,CACHm7D,qBAAAA,EACAvC,gBAAAA,EACAkC,KACIxlE,IAAAA,cAAA,OAAK+G,IAAK,GAAGu8D,EAAgBv9D,QAAQ8W,UAAU4oD,KAC3CzlE,IAAAA,cAACu4D,EAAAA,GAAoB,CACjBW,cAAe2M,EACfngD,UAAWjlB,KAAKP,MAAMwlB,UACtBhlB,QAASD,KAAKP,MAAMQ,QACpBwQ,UAAWzQ,KAAKP,MAAMgR,iBAO1C,MAAO,CACHgoD,cAAAA,EACAuM,uBAAAA,EACAE,oBAAAA,MAKJ3G,iBACJ,OAAOh/D,IAAAA,cAACkzC,EAAAA,QAAO,CAACzoC,UAAW,GAAG+vD,EAAkB/vD,oBAAqBogB,KAAMpqB,KAAKP,MAAMgR,UAAU60D,yBAG5F7G,iBACJ,OAAOl/D,IAAAA,cAAA,OAAKyK,UAAW,GAAG+vD,EAAkB/vD,sBAAuBhK,KAAKP,MAAMgR,UAAU80D,8BAGpFnQ,wBACJ,OACI71D,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAW,GAAG+vD,EAAkBqE,uCAAsC,aAC1Dp+D,KAAKP,MAAMgR,UAAU+0D,yCACjCt7D,QAASlK,KAAKg6D,iCAEbh6D,KAAKP,MAAMgR,UAAUg1D,qCAU1B/F,yBAAyBr+D,GAC7B,MAAMg9B,EAAah9B,EAASV,KAAI2E,GAAWA,EAAQY,YAAYsG,aACzD0xD,EAAoCvyD,EAAAA,gBAAgBkyD,QAAQx/B,GAE5D8/B,EAAexyD,EAAAA,gBAAgBsjD,YAAYiP,EAAcv9D,KAAI87C,GAAaA,EAAU3vC,sBAG1F,OAF2BnB,EAAAA,gBAAgBsyD,OAAOE,GAK9CU,yBACJ,OACIt/D,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWkW,GAAAA,CAAW65C,EAAkB2L,sBAAuB,GAAG3L,EAAkB2L,mCACpFr6C,KAAK,SACLnhB,QAASlK,KAAKq8D,qBACdsJ,QAAS3lE,KAAKq8D,sBAEd98D,IAAAA,cAAA,QAAMyK,UAAW,GAAG+vD,EAAkB2L,wCAAuC,cAAc,SAC3FnmE,IAAAA,cAAA,QAAMyK,UAAU,sBAAsBhK,KAAKP,MAAMgR,UAAUm1D,mCAK/D7G,qBACJ,OACIx/D,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWkW,GAAAA,CAAW65C,EAAkB2L,sBAAuB,GAAG3L,EAAkB2L,+BACpFr6C,KAAK,SACLnhB,QAASlK,KAAKw8D,iBACdmJ,QAAS3lE,KAAKw8D,kBAEdj9D,IAAAA,cAAA,QAAMyK,UAAW,GAAG+vD,EAAkB2L,oCAAmC,cAAc,SACvFnmE,IAAAA,cAAA,QAAMyK,UAAU,sBAAsBhK,KAAKP,MAAMgR,UAAUo1D,+BAK/DC,kCAAkC1pD,GACtC,OACI7c,IAAAA,cAAC+2D,EAAAA,GAAmC,CAChCtsD,UAAW,GAAG+vD,EAAkBgM,8BAChCz/D,IAAK8V,EACL3L,UAAWzQ,KAAKP,MAAMgR,UACtB2L,OAAQA,EACRgzB,eAAgBpvC,KAAK4yD,uBACrB3yD,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,KAKVyyD,qBAAqBvzD,GACzB,MAAM2kE,GAAmB1sB,EAAAA,EAAAA,IAAat5C,KAAKP,MAAMQ,QAAQsE,SACzD,OAAOlD,EAASV,KAAI2E,IAChB,IAAI2gE,EACJ,GAAIjuD,EAAAA,GAAiB+G,UAAW,CAAC,IAADmnD,EAC5B,MAAM70D,GAAa2+B,EAAAA,EAAAA,mBAAkB1qC,EAAQY,YAAalG,KAAKP,MAAMQ,QAAQC,eACvE4mD,EAAU,IAAIzwC,IAAIhF,EAAY5O,OAAOC,SAASmC,MAChD7E,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KAAK4C,OAChCwjD,EAAQrsC,aAAamkB,IAAI,YAAa,GAAGt5B,EAAQgwD,aAEvB,QAA9B4Q,EAAA5gE,EAAQY,YAAYsG,kBAAU,IAAA05D,GAA9BA,EAAgCvlE,KAAI87C,IAAY,IAAAgD,EAC5C,MAAM0W,EAAyC,QAA3B1W,EAAGhD,EAAUvvC,sBAAc,IAAAuyC,OAAA,EAAxBA,EAA0BtyC,MACjD,IAAKiN,EAAAA,iBAAiBC,mBAAmB87C,GAAiB,CACtD,MAAMja,GAAgBka,EAAAA,EAAAA,6CAA4C3Z,EAAU3vC,oBAC5Eg6C,EAAQrsC,aAAamkB,IAAIsd,EAAeia,OAGhD8P,EAAiBnf,EAAQjiD,KAE7B,MAAM08D,EAAqBvhE,KAAKiD,MAAMm5D,qBAAuB92D,EAAQ8W,OACrE,IAAIslD,EAAgB3H,EAAkByH,yBAClCD,IACAG,EAAgBxhD,GAAAA,CAAWwhD,EAAe,uCAE9C,MAAMyE,EAAuB7gE,EAAQgwD,YAAc0Q,EAE7CnQ,EAAiC,GAAGkE,EAAkBgM,+CACtDhQ,EAAwB,GAAGF,mBAC3BG,EAAuB,GAAG+D,EAAkBgM,oCAC5CK,EAAwB,GAAGrM,EAAkBgM,qCAC7CM,EAAermE,KAAKy7D,gBACpB3mC,EAAQ,CACVttB,MAAO,GAAG6+D,MACVC,SAAU,GAAGD,MACbE,SAAU,GAAGF,OAEjB,MAAO,CACHG,mBAAoB,CAChBx8D,UAAW03D,EACXp7D,IAAKhB,EAAQ8W,OACb+F,IAAKniB,KAAKw7D,oBACVroC,aAAcnzB,KAAKk9D,eAAe53D,EAAQ8W,QAC1CiX,aAAcrzB,KAAKo9D,gBAAgB93D,EAAQ8W,QAC3CiP,KAAM,WACN9B,SAAU,EACVuL,MAAOA,GAEXxvB,QAAAA,EACA+L,WAAY40D,EACZ5P,2BAA4Br2D,KAAK8lE,kCAAkCxgE,EAAQ8W,QAC3EmnC,aACIhkD,IAAAA,cAAA,OAAKyK,UAAW6rD,EAAgCvvD,IAAKhB,EAAQ8W,QACxDpc,KAAKwjD,oBAAoBuS,EAAuBzwD,EAAQY,cAGjEqwD,YACIh3D,IAAAA,cAAA,KAAGyK,UAAWgsD,EAAsBnxD,KAAMohE,EAAgB3/D,IAAKhB,EAAQ8W,QAClE9W,EAAQY,YAAY+D,MAG7BZ,aACI9J,IAAAA,cAAA,OAAKyK,UAAWo8D,EAAuB9/D,IAAKhB,EAAQ8W,QAC/C9W,EAAQrB,OACL1E,IAAAA,cAACoK,EAAAA,eAAc,CACX1J,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,CAAE8B,MAAOqB,EAAQrB,OACvB4F,cAAe7J,KAAKP,MAAMgR,UAAUg2D,sCACpC38D,kBAAmB9J,KAAKP,MAAMgR,UAAUi2D,0CACxC38D,iBAAkB/J,KAAKP,MAAMgR,UAAUk2D,4CAKvDC,UAAW5mE,KAAKihE,iBAAiB37D,GACjC6gE,qBAAAA,EACAU,yBACItnE,IAAAA,cAACuL,EAAAA,OAAM,CAACjG,KAAMohE,EAAgBj7D,MAAOhL,KAAKP,MAAMgR,UAAUq2D,+CACrD9mE,KAAKP,MAAMgR,UAAUq2D,+CAG9BC,eAAgB/mE,KAAKyhE,mBAAmBn8D,EAAQ8W,QAChD4qD,iBAAkBhnE,KAAKshE,qBAAqBh8D,EAAQ8W,QACpD6qD,mBACuBtlE,IAAnB2D,EAAQqR,OAAuBpX,IAAAA,cAAA,OAAK+G,IAAKhB,EAAQ8W,QAASpc,KAAK4hE,qBAAqBt8D,EAAQqR,cAAiBhV,EACjHulE,wBAC4BvlE,IAAxB2D,EAAQY,YACJ3G,IAAAA,cAAA,OAAK+G,IAAKhB,EAAQ8W,QAAS29C,EAAkBoN,0BAA0B7hE,EAAQY,mBAE/EvE,OAr9BGo4D,EAAA/vD,UAAoB,yBAEpB+vD,EAAAjD,uBAAyB,GAAGiD,EAAkB/vD,4BAE9C+vD,EAAA3C,mBAAqB,GAAG2C,EAAkBjD,oCAE1CiD,EAAAzC,eAAiB,GAAGyC,EAAkB3C,4BAEtC2C,EAAAM,qBAAuB,GAAGN,EAAkBzC,yBAE5CyC,EAAAgM,oBAAsB,GAAGhM,EAAkBM,oCAE3CN,EAAA2L,sBAAwB,GAAG3L,EAAkBzC,0BAE7CyC,EAAAqN,mBAAqB,GAAGrN,EAAkBzC,uBAE1CyC,EAAAjE,kBAAoB,GAAGiE,EAAkBzC,sBAEzCyC,EAAAyI,uBAAyB,GAAGzI,EAAkBqN,qCAE9CrN,EAAAkL,2BAA6B,GAAGlL,EAAkBqN,yCAElDrN,EAAAsN,yBAA2B,GAAGtN,EAAkBzC,8BAEhDyC,EAAAyH,yBAA2B,GAAGzH,EAAkBjE,iCAEhDiE,EAAA4H,mBAAqB,GAAG5H,EAAkBjE,0BAE1CiE,EAAAqE,mBAAqB,GAAGrE,EAAkB/vD,wBAE1C+vD,EAAAO,2BAA6B,GAAGP,EAAkBM,+BAElDN,EAAAuN,oCAAsC,GAAGvN,EAAkBsN,wCA47BtF,0LC1mCA,MAAME,EAA2BA,CAC7B5nB,EAIA6nB,EACAzL,IAEOpc,EAAOh/C,KAAI,CAACgH,EAAOvC,IAClBA,IAAU22D,EAENx8D,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACGtL,EAAMk7D,gBAAgBmE,iBAAgB,CAC1C37C,KAAK,WACLo8C,SAAS,IACT3yC,MAAOntB,EAAMk7D,gBAAgB2D,mBAAmB1xC,QAE/C0yC,GAINjoE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,CAAC3M,IAAKlB,GAAWuC,EAAMk7D,gBAAgBmE,iBAAgB,CAAElyC,MAAOntB,EAAMk7D,gBAAgB2D,mBAAmB1xC,WAUvH4yC,EAAqBA,CACvB/nB,EAIAyc,IAEOzc,EAAOh/C,KAAIgH,GAEVpI,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACGtL,EAAMk7D,gBAAgBkE,eAAc,CACxCzgE,IAAK,GAAGqB,EAAMk7D,gBAAgBv9D,QAAQ8W,UAAUggD,IAChDtnC,MAAOntB,EAAMk7D,gBAAgB2D,mBAAmB1xC,QAE/CntB,EAAMo9D,QAUV4C,EAAkFloE,IAAQ,IAAAg4D,EAAAC,EAAAkQ,EAAAC,EAAAC,EAAAC,EAAAC,EACnG,OACIzoE,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAMyjB,aACbzjB,EAAMu/D,eACNv/D,EAAMsjB,QACPxjB,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW,GAAG+vD,EAAAA,kBAAkB/vD,iCAAkCvK,EAAM6/D,kBAC7E7/D,EAAM6+D,gBAAkB7+D,EAAM00D,wBAAqBxyD,EAAYlC,EAAM++D,QACrE/+D,EAAM6+D,eAAiB7+D,EAAMy/D,qBAAkBv9D,EAChDpC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMi/D,0BACVj/D,EAAM6+D,gBAAkB7+D,EAAM00D,mBAAqB10D,EAAM01D,oBAAiBxzD,GAE/ElC,EAAM00D,mBACH50D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW+vD,EAAAA,kBAAkBjD,wBAC/Bv3D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW+vD,EAAAA,kBAAkB3C,oBAC/B73D,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW+vD,EAAAA,kBAAkBzC,eAAgBn1C,IAAK1iB,EAAMogE,gBAC1DtgE,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAW,GAAG+vD,EAAAA,kBAAkBM,wBAClC96D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW,GAAG+vD,EAAAA,kBAAkBM,0CAChCl4C,IAAK1iB,EAAMqgE,sBAEVrgE,EAAMwgE,2BAA6BxgE,EAAMm/D,gBAC1Cr/D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAWkW,GAAAA,CACP65C,EAAAA,kBAAkBjE,kBAClB,GAAGiE,EAAAA,kBAAkBM,qCAEzBhvC,KAAK,QAEkB,QAFZosC,EAEVh4D,EAAMk1D,wBAAgB,IAAA8C,OAAA,EAAtBA,EAAwB92D,KAAIkiE,IACzB,MAAMsD,EAAuBtD,EAAgBsD,qBACvC8B,EAAmB,GAAGlO,EAAAA,kBAAkBgM,+BAC9C,OACIxmE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgB2D,mBAAkB,CACtClgE,IAAKu8D,EAAgB2D,mBAAmBlgE,IACxCwuB,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzC+tC,EAAgBxM,2BAChBwM,EAAgBtf,aAChBvrC,EAAAA,GAAiB+G,UAAY8jD,EAAgBtM,iBAAc50D,EAC3DkhE,EAAgBx5D,aACjB9J,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWi+D,EAAkB3hE,IAAKu8D,EAAgBv9D,QAAQ8W,QAC3D+pD,EACKtD,EAAgB+D,UAChB/D,EAAgBgE,+BAMzCpnE,EAAMygE,uBAAyBzgE,EAAMq/D,cAG9Cv/D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW+vD,EAAAA,kBAAkBqN,mBAC7Bc,SAAUzoE,EAAM4gE,aAChBl+C,IAAK1iB,EAAMsgE,oBAEY,QAFMrI,EAE5Bj4D,EAAMk1D,wBAAgB,IAAA+C,OAAA,EAAtBA,EAAwB/2D,KAAI,CAACgW,EAAQrQ,KAAO,IAAA6hE,EAAAC,EACzC,YAAgCzmE,IAAzBgV,EAAOswD,eAAuC,IAAR3gE,EACzC/G,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAWkW,GAAAA,CACP,GAAG65C,EAAAA,kBAAkBqN,iCACrBrN,EAAAA,kBAAkBjE,oBAGtBv2D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW+vD,EAAAA,kBAAkBsN,yBAC7B/gE,IAAK,UAAU7G,EAAMs8D,yBACrB1wC,KAAK,QAEkB,QAFZ88C,EAEV1oE,EAAMk1D,wBAAgB,IAAAwT,OAAA,EAAtBA,EAAwBxnE,KAAI,CAACkiE,EAAiBz9D,IACvCA,IAAU3F,EAAMs8D,uBAEZx8D,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgBmE,iBAAgB,CACpC37C,KAAK,WACLo8C,SAAS,IACT3yC,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzCr1B,EAAMgR,UAAU43D,oCAKzB9oE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,CACD3M,IAAKu8D,EAAgBmE,iBAAiB1gE,KAClCu8D,EAAgBmE,iBAAgB,CACpC37C,KAAK,OACLo8C,SAAS,KACT3yC,MAAO+tC,EAAgB2D,mBAAmB1xC,YAK1Dv1B,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW,GAAG+vD,EAAAA,kBAAkBsN,4BAA4BtN,EAAAA,kBAAkBuN,sCAC9Ej8C,KAAK,QAEkB,QAFZ+8C,EAEV3oE,EAAMk1D,wBAAgB,IAAAyT,OAAA,EAAtBA,EAAwBznE,KAAIkiE,GAErBtjE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgBkE,eAAc,CAClCzgE,IAAK,GAAGu8D,EAAgBv9D,QAAQ8W,UAAU3c,EAAM28D,qBAChDtnC,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzC+tC,EAAgBoE,wBAOrCtlE,KAGe,QADrBimE,EACDnoE,EAAMk1D,wBAAgB,IAAAiT,OAAA,EAAtBA,EAAwBjnE,KAAI,CAAC0a,EAAa/U,KAAO,IAAAgiE,EAAAC,EAC9C,YAA0C5mE,IAAnC0Z,EAAY6rD,oBAA4C,IAAR5gE,EACnD/G,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAWkW,GAAAA,CACP,GAAG65C,EAAAA,kBAAkBqN,sCACrBrN,EAAAA,kBAAkBjE,oBAGtBv2D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW+vD,EAAAA,kBAAkBsN,yBAC7B/gE,IAAK,eAAe7G,EAAMs8D,yBAC1B1wC,KAAK,QAEkB,QAFZi9C,EAEV7oE,EAAMk1D,wBAAgB,IAAA2T,OAAA,EAAtBA,EAAwB3nE,KAAI,CAACkiE,EAAiBz9D,IACvCA,IAAU3F,EAAMs8D,uBAEZx8D,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgBmE,iBAAgB,CACpC37C,KAAK,WACLo8C,SAAS,IACT3yC,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzCr1B,EAAMgR,UAAU+3D,yCAKzBjpE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,CACD3M,IAAKu8D,EAAgBmE,iBAAiB1gE,KAClCu8D,EAAgBmE,iBAAgB,CACpC37C,KAAK,OACLo8C,SAAS,KACT3yC,MAAO+tC,EAAgB2D,mBAAmB1xC,YAK1Dv1B,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW,GAAG+vD,EAAAA,kBAAkBsN,4BAA4BtN,EAAAA,kBAAkBuN,sCAC9Ej8C,KAAK,QAEkB,QAFZk9C,EAEV9oE,EAAMk1D,wBAAgB,IAAA4T,OAAA,EAAtBA,EAAwB5nE,KAAIkiE,GAErBtjE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgBkE,eAAc,CAClCzgE,IAAK,GAAGu8D,EAAgBv9D,QAAQ8W,UAAU3c,EAAM28D,qBAChDtnC,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzC+tC,EAAgBqE,6BAOrCvlE,KAGc,QADpBkmE,EACDpoE,EAAMihE,uBAAe,IAAAmH,OAAA,EAArBA,EAAuBlnE,KAAImkE,IAEpBA,MAAAA,OAAc,EAAdA,EAAgB5oB,gBACZ38C,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAWkW,GAAAA,CACP65C,EAAAA,kBAAkByI,uBAClBzI,EAAAA,kBAAkBjE,kBAClBgP,EAAevC,oBAEnBj8D,IAAKw+D,EAAevC,oBAEpBhjE,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW+vD,EAAAA,kBAAkBsN,yBAC7B/gE,IAAK,GAAGw+D,EAAe5oB,iBAAiBz8C,EAAMs8D,yBAC9C1wC,KAAK,QAEJk8C,EACGzC,EAAelC,uBACfkC,EAAe5oB,cACfz8C,EAAMs8D,yBAIdx8D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW,GAAG+vD,EAAAA,kBAAkBsN,4BAA4BtN,EAAAA,kBAAkBuN,sCAC9Ej8C,KAAK,QAEJq8C,EAAmB5C,EAAelC,uBAAwBnjE,EAAM28D,wBAM3D,QADxB0L,EACDroE,EAAMohE,2BAAmB,IAAAiH,OAAA,EAAzBA,EAA2BnnE,KAAI8nE,IAC0D,IAA/EruD,EAAAA,iBAAiBsuD,cAAcD,EAAmBhQ,cAAc/zC,WACnEnlB,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAWkW,GAAAA,CACP65C,EAAAA,kBAAkBkL,2BAClBlL,EAAAA,kBAAkBjE,kBAClB2S,EAAmBzD,wBAEvB1+D,IAAKmiE,EAAmBzD,wBAExBzlE,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW+vD,EAAAA,kBAAkBsN,yBAC7B/gE,IAAK,GAAGmiE,EAAmBhQ,cAAcxuD,QAAQxK,EAAMs8D,yBACvD1wC,KAAK,QAEJk8C,EACGkB,EAAmBvD,oBACnBuD,EAAmBhQ,cAAcxuD,KACjCxK,EAAMs8D,yBAGdx8D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW,GAAG+vD,EAAAA,kBAAkBsN,4BAA4BtN,EAAAA,kBAAkBuN,sCAC9Ej8C,KAAK,QAEJq8C,EAAmBe,EAAmBvD,oBAAqBzlE,EAAM28D,2BAI1Ez6D,IAGRpC,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAWkW,GAAAA,CACP,GAAG65C,EAAAA,kBAAkBqN,8BACrBrN,EAAAA,kBAAkBjE,oBAGtBv2D,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW+vD,EAAAA,kBAAkBsN,yBAC7B/gE,IAAK,OAAO7G,EAAMs8D,yBAClB1wC,KAAK,QAEkB,QAFZ08C,EAEVtoE,EAAMk1D,wBAAgB,IAAAoT,OAAA,EAAtBA,EAAwBpnE,KAAI,CAACkiE,EAAiBz9D,IACvCA,IAAU3F,EAAMs8D,uBAEZx8D,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgBmE,iBAAgB,CACpC37C,KAAK,WACLo8C,SAAS,IACT3yC,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzCr1B,EAAMgR,UAAUk4D,iCAKzBppE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,CACD3M,IAAKu8D,EAAgBmE,iBAAiB1gE,KAClCu8D,EAAgBmE,iBAAgB,CACpClyC,MAAO+tC,EAAgB2D,mBAAmB1xC,YAK1Dv1B,EAAAA,cAACwM,EAAAA,KAAI,CACD/B,UAAW,GAAG+vD,EAAAA,kBAAkBsN,4BAA4BtN,EAAAA,kBAAkBuN,sCAC9Ej8C,KAAK,QAEkB,QAFZ28C,EAEVvoE,EAAMk1D,wBAAgB,IAAAqT,OAAA,EAAtBA,EAAwBrnE,KAAIkiE,GAErBtjE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GACG4vD,EAAgBkE,eAAc,CAClCzgE,IAAK,GAAGu8D,EAAgBv9D,QAAQ8W,UAAU3c,EAAM28D,qBAChDtnC,MAAO+tC,EAAgB2D,mBAAmB1xC,QAEzC+tC,EAAgBv9D,QAAQY,YAAY9B,qBAWzEzC,IAMhB,2ICvWO,MAAMinE,EAA4DzwD,IAA+D,IAA9D,qBAAE0wD,EAAoB,MAAEjgE,EAAK,iBAAEoJ,EAAgB,QAAE40C,GAASzuC,EAChI,MAAMrG,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAmBmyB,EAAAA,kBAAkB2kC,kBACzE1uC,GAAajoB,EAAAA,EAAAA,wBAAuBH,EAAmBF,GAC7D,OACIvS,EAAAA,cAAA,SAAAyT,OAAAC,OAAA,CAAQjJ,UAAU,gCAA+B,aAAa6+D,EAAsB3+D,QAAS08C,GAAaxsB,GACtG76B,EAAAA,cAAA,QAAMyK,UAAU,uCAAsC,kBACjDpB,gBCHV,MAAMmgE,EAAgD5wD,IAA8D,IAA7D,MAAEwS,EAAK,eAAElqB,EAAc,aAAE6qB,EAAY,iBAAEtZ,GAAkBmG,EACnH,MAAM6wD,EAAgBC,EAAkBt+C,EAAO3Y,GAC/C,OACIzS,EAAAA,cAAA,QAAMyK,UAAU,0BACXg/D,GAAiBA,EAAc3oE,OAAS,EACrCd,EAAAA,cAAC4qB,EAAAA,GAAc,CAACQ,MAAOq+C,EAAe3+C,UAAW,CAAEiB,aAAAA,EAAc7qB,eAAAA,KACjE,OAKVwoE,EAAoBA,CAACC,EAAwBl3D,KAC/C,IAAKk3D,GAAgC,IAApBA,EAAS7oE,OACtB,OAAO,KAEX,MAAM2oE,EAAuC,GAoB7C,OAnBAE,EAAShmE,SAAQ,CAACid,EAAM/a,KAEpB,MAAM0M,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAkB,GAAI,IAC1DgZ,EAAW7K,EAAK6K,SAAW7K,EAAK6K,SAAW,GACjDlZ,EAAQooB,cAAcC,MAAQnP,EAC9B,MAAMoP,GAAajoB,EAAAA,EAAAA,wBAAuBH,EAAkBF,GACtDiZ,EAAoC,CACtC3N,UAAW+C,EAAK/C,UAChBpT,UAAW,wBACXghB,SAAU7K,EAAK6K,SACfC,QAAS9K,EAAK8K,QAAQC,eACtBC,aAAchL,EAAKgL,aACnBE,KAAM,OACNkP,qBAAsBH,EACtBlwB,SAAS8Q,EAAAA,EAAAA,kBAAiBhJ,EAAkBF,EAASkZ,IAEzDg+C,EAAcjoE,KAAKgqB,MAGhBi+C,GCvCEG,EAA8ChxD,IAA2C,IAA1C,KAAEiS,EAAI,aAAEkB,EAAY,eAAE7qB,GAAgB0X,EAC9F,OAAO5Y,EAAAA,cAAC4qB,EAAAA,GAAa,CAACngB,UAAU,wBAAwB+d,IAAI,OAAOqC,KAAMA,EAAMC,UAAW,CAAEC,OAAQgB,EAAc7qB,eAAAA,2kBC0BtH,MAAM2oE,UAAoB7pE,EAAAA,cAA1BC,cAAA,oBACW,KAAAyD,MAA2B,CAC9Bg8B,WAAW,EACXoqC,WAAW,EACXrqC,YAAa,GAGA,KAAAhtB,kBAAsC8S,EAAAA,EAAAA,oBACnD9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAmER,KAAA2U,iBAAoBvZ,IACnBrgB,KAAKP,MAAMuC,OAAOsnE,gBAAkBtpE,KAAKP,MAAMuC,OAAOsnE,eAAe,KACrEtpE,KAAKP,MAAMuC,OAAOsnE,eAAe,GAAGl/C,KAAO/J,EAAMoZ,OAAO9xB,QAIzD,KAAA6yB,qBAAwB1P,GAAuBzK,IAClD,GAAIrgB,KAAKP,MAAMuC,OAAOsnE,gBAAkBtpE,KAAKP,MAAMuC,OAAOsnE,eAAe,GAAI,CACzE,MAAM3+C,EAAQ3qB,KAAKP,MAAMuC,OAAOsnE,eAAe,GAAG3+C,MAC9CA,IACAA,EAAMG,GAAWE,SAAW3K,EAAMoZ,OAAO9xB,SAKpC,KAAAm3B,MAAQ,KACrB,MAAMC,EAAY/+B,KAAKupE,cAAgB,EAAIvpE,KAAKiD,MAAM+7B,YAAc,EACpEh/B,KAAKs/B,WAAWP,IAGH,KAAAI,UAAY,KACzB,MAAMJ,EAAY/+B,KAAKwpE,eACjBxpE,KAAKP,MAAMuC,OAAOsnE,eACdtpE,KAAKP,MAAMuC,OAAOsnE,eAAejpE,OAAS,EAC1C,EACJL,KAAKiD,MAAM+7B,YAAc,EAC/Bh/B,KAAKs/B,WAAWP,IAGH,KAAAO,WAAcl6B,IACvBpF,KAAKiD,MAAMg8B,WAGfj/B,KAAKuB,SAAS,CAAEy9B,YAAa55B,KAGhB,KAAAokE,aAAe,IAAiC,IAA3BxpE,KAAKiD,MAAM+7B,YAEhC,KAAAuqC,YAAc,IAC3BvpE,KAAKP,MAAMuC,OAAOsnE,gBAAkBtpE,KAAKiD,MAAM+7B,cAAgBh/B,KAAKP,MAAMuC,OAAOsnE,eAAejpE,OAAS,EAE5F,KAAA6wC,WAAa,KAC1BlxC,KAAKuB,SAAS,CAAE8nE,WAAW,KA1GxB//D,SACH,MAAM,eAAEggE,EAAc,eAAE3oC,EAAc,SAAEH,EAAQ,YAAEE,EAAW,SAAEH,EAAQ,UAAEv2B,EAAY,IAAOhK,KAAKP,MAAMuC,QACjG,qBAAE6mE,EAAoB,iBAAEY,EAAgB,WAAEC,EAAU,gBAAEC,GAAoB3pE,KAAKP,MAAMgR,WACrF,UAAE44D,EAAS,YAAErqC,GAAgBh/B,KAAKiD,MAExC,IAAKomE,EAED,OADArpE,KAAKP,MAAMQ,QAAQglB,UAAUuc,MAAM,sDAC5B,KAGX,MAAMj4B,EAASpD,EAAAA,EAAA,GAGRnG,KAAKP,OAAK,IACbuK,UAAWkW,GAAAA,CAAW,kBAAmBlW,GACzCq/D,UAAAA,EACAt7B,UAAW/tC,KAAKkxC,WAChB04B,YAAa5pE,KAAKw6B,qBAClBqvC,WAAY7pE,KAAK45B,iBAEjBkwC,iBAAkB,CACd9/D,UAAWkW,GAAAA,CAAW,kBAAmBlW,GACzCkZ,YAAaljB,KAAKP,MAClB4rB,KAAM,SACN,aAAcs+C,GAElBI,qBAAsB,CAClBhiD,IAAKohD,GAETa,sBAAuB,CACnBjiD,IAAKghD,EACL/2D,iBAAkBhS,KAAKgS,kBAE3Bi4D,aAAc,CAAEjgE,UAAW,4BAC3BkgE,gBAAiBR,EACjBJ,eAAAA,EACAtqC,YAAAA,EACAmrC,cAAe,CACXpiD,IAAKoY,EAAAA,SACLn2B,UAAW,4BACXg1B,YAAAA,EACAW,KAAM3/B,KAAK8+B,MACXc,SAAU5/B,KAAKm/B,UACfU,yBAA0B7/B,KAAKs/B,WAC/B8qC,cAAe1pC,EACfF,SAAAA,EACAE,YAAAA,EACAH,SAAAA,GAEJ8pC,YAAa1pC,GACTphC,EAAAA,cAACqpE,EAAsB51D,OAAAC,OAAA,GACf,CACA2zC,QAAS5mD,KAAKkxC,WACdtoC,MAAO6gE,EACPZ,qBAAAA,EACA72D,iBAAkBhS,KAAKgS,sBAMvC,OAAOhS,KAAKP,MAAM+J,WAAWD,IAiDrC,kGC1JA,MAmCA,EAnCyD9J,IACrD,MAAM,iBACFqqE,EAAgB,aAChBG,EAAY,YACZI,EAAW,eACXf,EAAc,qBACdS,EAAoB,sBACpBC,EAAqB,cACrBG,EAAa,gBACbD,EAAe,YACfN,EAAW,WACXC,GACApqE,EAEE6qE,EACFhB,GACAA,EAAe3oE,KAAI,CAAC6lC,EAASphC,IAErB7F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKg3D,EAAY,CAAE3jE,IAAKlB,EAAK,YAAY,MAAMimB,KAAK,YACrD9rB,EAAAA,cAAA,QAAMyK,UAAU,WAAWkgE,GAC1B1jC,EAAQpc,MAAQ7qB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK82D,EAAoB,CAAE3/C,KAAMoc,EAAQpc,KAAMlgB,QAAS2/D,KAC7ErjC,EAAQ7b,OAAS6b,EAAQ7b,MAAMtqB,OAAS,GACrCd,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK+2D,EAAqB,CAAEr/C,MAAO6b,EAAQ7b,MAAOzgB,QAAS0/D,QAMpF,OACIrqE,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAK62D,GACRvqE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKk3D,EAAa,CAAEjlE,MAAOolE,KAC/BD,+bCnBE,MAAME,UAAyBhrE,EAAAA,UAW1CC,YAAYC,GACRC,MAAMD,GACNO,KAAKwqE,QAAUxqE,KAAKwqE,QAAQ7iC,KAAK3nC,MACjCA,KAAKyqE,mBAAoB,EACzBzqE,KAAKiD,MAAQ,CAAE06B,OAASl+B,EAAMirE,eAAiBjrE,EAAMirE,cAAc/sC,SAAW,GAC9E39B,KAAK2qE,iBAAmBzqD,GAAAA,CAAW,gBAAiBlgB,KAAKP,MAAMmrE,qBAAuB5qE,KAAKP,MAAMmrE,qBAAuB,IAEpH5qE,KAAKP,MAAMorE,cACX7qE,KAAK8qE,gBAAkB5qD,GAAAA,CACnBlgB,KAAK2qE,iBACL3qE,KAAKP,MAAMsrE,UAAY/qE,KAAKP,MAAMsrE,UAAY/qE,KAAKP,MAAMurE,WAAahrE,KAAKP,MAAMurE,WAAa,IAElGhrE,KAAKirE,iBAAmBjrE,KAAK8qE,kBAE7B9qE,KAAK8qE,gBAAkB5qD,GAAAA,CAAWlgB,KAAK2qE,iBAAkB3qE,KAAKP,MAAMsrE,UAAY/qE,KAAKP,MAAMsrE,UAAY,IACvG/qE,KAAKirE,iBAAmB/qD,GAAAA,CAAWlgB,KAAK2qE,iBAAkB3qE,KAAKP,MAAMurE,WAAahrE,KAAKP,MAAMurE,WAAa,KAI3Gh2C,sBAAsBC,EAAmCqP,GAC5D,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5C3rB,SACH,MAAMohE,uWAAavkE,CAAA,GAAQnG,KAAKP,MAAMirE,oBAGT/oE,IAAzB+oE,EAAc/sC,QAAwB39B,KAAKyqE,kBAC3CC,EAAc/sC,OAAS39B,KAAKiD,MAAM06B,OAGlC39B,KAAKiD,MAAM06B,OAAS+sC,EAAc/sC,OAEtC+sC,EAAcQ,SAAWlrE,KAAKP,MAAMyrE,SACpC,MAAMC,EAAcjrD,GAAAA,CAAW,SAAUlgB,KAAKP,MAAMuK,UAAYhK,KAAKP,MAAMuK,UAAY,IAEvF,OADAhK,KAAKyqE,mBAAoB,EAErBlrE,EAAAA,cAAA,OAAKyK,UAAWmhE,GACZ5rE,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,GACCjT,KAAKP,MAAM2rE,kBAAiB,CAChClhE,QAASlK,KAAKwqE,QAAO,gBACNE,EAAc/sC,OAC7B0tC,OAAK,EACL/2D,SAAUtU,KAAKP,MAAM6U,SACrBtK,UAAU,iBACVnB,MAAM,cAEL7I,KAAKsrE,iCAAiCZ,EAAc/sC,SAEzDp+B,EAAAA,cAACm+B,EAAAA,SAAQ1qB,OAAAC,OAAA,GAAKy3D,KAKlBY,iCAAiCC,GACrC,MAAMC,EAAwBtrD,GAAAA,CAC1B,qBACAlgB,KAAKP,MAAMgsE,sBAAwBzrE,KAAKP,MAAMgsE,sBAAwB,IAE1E,OACIlsE,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,MAAIyK,UAAWkW,GAAAA,CAAWsrD,EAAuB,oCAAqCxrE,KAAKP,MAAMisE,mBACjGnsE,EAAAA,cAAA,QAAMyK,UAAWkW,GAAAA,CAAWsrD,EAAuB,wCAC9CxrE,KAAKP,MAAMksE,uBAEf3rE,KAAK4rE,qBAAqB,qBAAsBL,IAKrDK,qBAAqBlpE,EAAkB6oE,GAC3C,IAAIM,EAAaN,EAAgBvrE,KAAK8qE,gBAAkB9qE,KAAKirE,iBAE7D,OADAY,EAAa,GAAGA,KAAcnpE,IACvBnD,EAAAA,cAAA,QAAMyK,UAAW6hE,IAGpBrB,QAAQjpC,GACZA,EAAEjhB,iBACFtgB,KAAKuB,SAAS,CAAEo8B,QAAS39B,KAAKiD,MAAM06B,SACpC39B,KAAKyqE,mBAAoB,EACrBzqE,KAAKP,MAAMqsE,UACX9rE,KAAKP,MAAMqsE,SAAS9rE,KAAKiD,QC/ErC,MAaa8oE,EAA2BtsE,IACpC,MAAM,iBACFusE,EAAgB,kBAChBC,EAAiB,gBACjBC,EAAe,SACfC,EAAQ,YACRn4D,EAAW,iBACXo4D,EAAgB,kBAChBC,EAAiB,iBACjBC,EAAgB,mBAChBC,EAAkB,2BAClBC,EAA0B,qBAC1BC,EAAoB,kBACpBC,EAAiB,qBACjBC,GACAltE,EAEEmtE,EA9BqBF,CAAAA,GAAgDrsD,IAC3EqsD,EAAkBrsD,EAAMoZ,OAAO9xB,OAAS,KA6BlBklE,CAAsBH,GAEtCI,EAvBwBL,CAAAA,GAAmDpsD,IACjFosD,EAAqBpsD,EAAMoZ,OAAO9xB,OAAS,KAsBbolE,CAAyBN,GAEjDO,EACFztE,EAAAA,cAAA,OAAKyK,UAAU,6CACXzK,EAAAA,cAAA,MAAIyK,UAAU,kDAAiD,aAAasiE,GACvEA,GAEL/sE,EAAAA,cAAA,SACIyK,UAAU,kDACVpC,KAAK,OAAM,aACC0kE,EACZnqD,IAAK6pD,EACLx5D,SAAUo6D,KAKhBK,EACF1tE,EAAAA,cAAA,OAAKyK,UAAU,8CACXzK,EAAAA,cAAA,MAAIyK,UAAU,mDAAkD,aAAaqiE,GACxEA,GAEL9sE,EAAAA,cAAA,SACIyK,UAAU,mDACV0xC,QAAQ,SACRv5B,IAAK8pD,EACLz5D,SAAUs6D,EACVl3B,UAAWu2B,EACXvkE,KAAK,SAAQ,YACH,SAAQ,aACNykE,EAAiB,gBACd,EAAC,gBACDr4D,EAAW,gBACXk4D,EAAgBlkE,SAC/B66B,YAAa2pC,KA4BzB,MAAO,CACHlnE,QAAS0nE,EACTE,aAxBA3tE,EAAAA,cAAA,OAAKyK,UAAU,+CACXzK,EAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAU,qDACVsK,SAAU83D,EAAgB,aACdG,EACZriE,QAASyiE,GAERJ,IAkBTvkE,SAAUilE,EACVh+B,YAbAi9B,GAAmBA,EAAgBiB,aAC/B5tE,EAAAA,cAAC2vC,EAAAA,MAAK,CAACrmC,MAAOqjE,EAAgBiB,aAAah+B,gBAAiBxR,OAAQuuC,EAAgBiB,aAAaxvC,QAC7Fp+B,EAAAA,cAAA,QAAMyK,UAAWkiE,EAAgBiB,aAAav7B,eAC9CryC,EAAAA,cAAA,YAAO2sE,EAAgBiB,aAAaC,mBAGxCzrE,ICtHL,MAAM0rE,EAQT7tE,YAAmBoO,EAAoB0/D,GACnCttE,KAAK4N,SAAWA,EAChB5N,KAAKstE,cAAgBA,EACrBttE,KAAKutE,YAAa,IATtB7mC,EAAAA,EAAAA,IAAA,CADC0nB,EAAAA,IAAU,4CC+Bf,MAAMof,EAAgF/tE,IAClF,MAAM,UAAEgR,GAAchR,EAChBguE,EAA4B,GAAGhuE,EAAMuK,qCAC3C,OACIzK,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,UACIA,IAAAA,cAAA,QAAMyK,UAAWkW,GAAAA,CAAW,GAAGzgB,EAAMuK,6BAEzCzK,IAAAA,cAAA,UAAKkR,EAAUi9D,6BACfnuE,IAAAA,cAAA,UAAKkR,EAAUk9D,uBACfpuE,IAAAA,cAAA,MAAIyK,UAAWyjE,GAA4Bh9D,EAAUm9D,yBACrDruE,IAAAA,cAAA,UAAKkR,EAAUo9D,6BACftuE,IAAAA,cAAA,MAAIyK,UAAWyjE,GAA4Bh9D,EAAUq9D,wBACrDvuE,IAAAA,cAAA,MAAIyK,UAAWyjE,GAA4Bh9D,EAAUs9D,qBACrDxuE,IAAAA,cAAA,UAAKkR,EAAUu9D,yBAUrBC,EAA+ExuE,IACjF,MAAM,UAAEgR,GAAchR,EACtB,OACIF,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,MAAIyK,UAAWkW,GAAAA,CAAW,GAAGzgB,EAAMuK,4BACnCzK,IAAAA,cAAA,UAAKkR,EAAUi9D,6BACfnuE,IAAAA,cAAA,aAUC2uE,EAAyEzuE,IAClF,MAAM0uE,EAAe,GAAG1uE,EAAMuK,iBAE9B,IAAIokE,EAOJ,OALIA,EADA3uE,EAAM8oB,SACQhpB,IAAAA,cAAC0uE,EAAoCj7D,OAAAC,OAAA,GAAKxT,IAE1CF,IAAAA,cAACiuE,EAAqCx6D,OAAAC,OAAA,GAAKxT,IAIzDF,IAAAA,cAAA,SAAOyK,UAAWvK,EAAMuK,WACpBzK,IAAAA,cAAA,MAAIyK,UAAWmkE,GAAeC,gBC/C1C,MAAMjkE,EAAuC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,IAEzCG,UAAU,EACVC,iBAAiB,GAQfyjE,EAA+E5uE,IAAmC,IAAA6uE,EAAAC,EACpH,MAAMh9D,GAAmB9K,EAAAA,EAAAA,qBAAoBhH,EAAM0C,KAAKmD,QAAQlB,OAAQ3E,EAAMQ,QAAQC,cAAcO,eAAeQ,aAE7Gm2D,EAAqB,GAAG33D,EAAMuK,qCAEpC,OACIzK,IAAAA,cAAA,OAAKyK,UAAWotD,GACZ73D,IAAAA,cAAC2L,EAAAA,GAAK,CACFzK,eAAgBhB,EAAMQ,QAAQC,cAAcO,eAC5CuJ,UAAW,GAAGotD,mBACdjsD,QAAS1L,EAAM0C,KAAKmD,QAAQ2E,KAC5BmB,IAAuC,QAApCkjE,EAAE7uE,EAAM0C,KAAKmD,QAAQe,uBAAe,IAAAioE,EAAAA,EAAI,GAC3CjjE,YAAakG,EACbjG,aAAc7L,EAAMQ,QAAQsE,QAAQ+G,aACpCC,cAAkC,QAArBgjE,EAAE9uE,EAAM8L,qBAAa,IAAAgjE,EAAAA,EAAIpkE,EACtCqB,oBAAoB,YAW9BgjE,EAA4E/uE,IAC9E,MAAM6F,EAAyB7F,EAAM0C,KAAKmD,QAE1C,IAAI+L,EAAa,GAKjB,GAJK+I,EAAAA,iBAAiBC,mBAAmB/U,EAAQ2E,OAAUkhD,EAAAA,iBAAiBC,kBAAkB9lD,EAAQ5B,YAClG2N,GAAawH,EAAAA,EAAAA,uBAAsBvT,EAAQ2E,KAAO3E,EAAQ5B,SAAUjE,EAAMQ,QAAQC,gBAGlFka,EAAAA,iBAAiBC,mBAAmBhJ,GACpC,OAAO,KAGX,MAAMrH,EAAY,GAAGvK,EAAMuK,gCAE3B,OACIzK,IAAAA,cAAA,OAAKyK,UAAWA,GACZzK,IAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAW,GAAGA,gBAUrBykE,EAA8EhvE,IAAmC,IAAAy2D,EAAAwY,EAC1H,MAAMppE,EAAyB7F,EAAM0C,KAAKmD,QACpCsI,EAAqBnO,EAAM0C,KAAKyL,SAChC6/D,EAA4B,GAAGhuE,EAAMuK,gCAE3C,IAAIqH,EAAa,GAKjB,OAJK+I,EAAAA,iBAAiBC,mBAAmB/U,EAAQ2E,OAAUkhD,EAAAA,iBAAiBC,kBAAkB9lD,EAAQ5B,YAClG2N,GAAawH,EAAAA,EAAAA,uBAAsBvT,EAAQ2E,KAAO3E,EAAQ5B,SAAUjE,EAAMQ,QAAQC,gBAIlFX,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,UACIA,IAAAA,cAAC8uE,EAAuCr7D,OAAAC,OAAA,GAAKxT,KAEjDF,IAAAA,cAAA,UAAK+F,EAAQlB,QACb7E,IAAAA,cAAA,UACIA,IAAAA,cAAA,OAAKyK,UAAW,GAAGvK,EAAMuK,2BACrBzK,IAAAA,cAAA,KAAGyK,UAAW,GAAGvK,EAAMuK,0BAA2BnF,KAAMwM,GACnD/L,EAAQ2E,MAEb1K,IAAAA,cAAA,QAAMyK,UAAW,GAAGvK,EAAMuK,iCACH,QADkCksD,EACpD5wD,EAAQkH,kBAAU,IAAA0pD,OAAA,EAAlBA,EAAoBv1D,KAAI87C,IAAS,IAAA+C,EAAA,OAA4B,QAA5BA,EAAI/C,EAAUvvC,sBAAc,IAAAsyC,OAAA,EAAxBA,EAA0BryC,SAC3D8C,QAAOkmD,IAAmB/7C,EAAAA,iBAAiBC,mBAAmB87C,KAC9DniC,KAAKv0B,EAAMgR,UAAUk+D,yCAItCpvE,IAAAA,cAAA,MAAIyK,UAAWyjE,GAA4B7/D,EAASC,OACpDtO,IAAAA,cAAA,UAAKqO,EAASghE,qBACdrvE,IAAAA,cAAA,MAAIyK,UAAW,GAAGvK,EAAMuK,+BACpBzK,IAAAA,cAACsU,EAAAA,oBAAmB,CAChBvM,GAAI,6BAA6BhC,EAAQ5B,YAA2B,QAAnBgrE,EAAI9gE,EAASkG,cAAM,IAAA46D,EAAAA,EAAI,KACxE36D,IAAK,GACLE,aAAcrG,EAASpK,SACvB2Q,uBAAwB1U,EAAMgR,UAAUo+D,iCACxCz6D,yBAA0B3U,EAAMgR,UAAUq+D,mCAC1Cz6D,yBAA0B5U,EAAMgR,UAAUs+D,mCAC1CzoE,IAAKsH,EAASkG,OACdU,WAAYlP,EAAQmI,cAG5BlO,IAAAA,cAAA,MAAIyK,UAAWyjE,GAA4B7/D,EAASohE,aACpDzvE,IAAAA,cAAA,UACIA,IAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAW,GAAGvK,EAAMuK,4BAA2B,aAAcvK,EAAMgR,UAAUw+D,yCAWxFC,EAA6EzvE,IACtF,MAAM6F,EAAyB7F,EAAM0C,KAAKmD,QACpCsI,EAAqBnO,EAAM0C,KAAKyL,SAEtC,OACIrO,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAA,UACIA,IAAAA,cAAC8uE,EAAuCr7D,OAAAC,OAAA,GAAKxT,KAEjDF,IAAAA,cAAA,UACIA,IAAAA,cAAA,OAAKyK,UAAW,GAAGvK,EAAMuK,2BACrBzK,IAAAA,cAAA,QAAMyK,UAAW,GAAGvK,EAAMuK,2BAA4B1E,EAAQlB,QAC9D7E,IAAAA,cAAA,QAAMyK,UAAW,GAAGvK,EAAMuK,gCACrBoN,EAAAA,EAAAA,QAAO3X,EAAMgR,UAAU0+D,6BAA8BvhE,EAASpK,aAI3EjE,IAAAA,cAAA,UACIA,IAAAA,cAACivE,EAAoCx7D,OAAAC,OAAA,GAAKxT,OAW7C2vE,EAAmE3vE,IAC5E,MAAM0uE,EAAe,GAAG1uE,EAAMuK,iBAE9B,IAAIokE,EAOJ,OALIA,EADA3uE,EAAM8oB,SACQhpB,IAAAA,cAAC2vE,EAAqCl8D,OAAAC,OAAA,GAAKxT,IAE3CF,IAAAA,cAACkvE,EAAsCz7D,OAAAC,OAAA,GAAKxT,IAI1DF,IAAAA,cAAA,SAAOyK,UAAWvK,EAAMuK,WACpBzK,IAAAA,cAAA,MAAIyK,UAAWmkE,GAAeC,KCrK7BiB,EAA6D5vE,IACtE,MAAO8oB,EAAU+mD,GAAe/vE,IAAAA,SAAeE,EAAM8vE,cAC/CC,EAAqB/vE,EAAM0C,KAAKqtE,mBAKhCC,EAAiBA,KACnBH,EAAY7vE,EAAM8vE,eAElBzwD,EAAAA,GAASC,WACTtc,OAAOoe,iBAAiB,SAAU4uD,GAGtC,MAAMjmC,EAAkB,GAAG/pC,EAAMuK,oBAC3BmkE,EAAe,GAAG1uE,EAAMuK,iBAE9B,OACIzK,IAAAA,cAAA,SAAOyK,UAAWvK,EAAMuK,WACpBzK,IAAAA,cAAC2uE,EAA8B,CAC3BjuE,QAASR,EAAMQ,QACf2J,SAAUnK,EAAMmK,SAChBtC,GAAIkiC,EACJx/B,UAAWw/B,EACXjhB,SAAUA,EACV9X,UAAWhR,EAAMgR,UACjBtO,KAAM,KAETqtE,EAAmB7uE,KAAI,CAAC+uE,EAAmBtqE,IAEpC7F,IAAAA,cAAC6vE,EAA2B,CACxBnvE,QAASR,EAAMQ,QACf2J,SAAUnK,EAAMmK,SAChBtC,GAAI,GAAG6mE,KAAgB/oE,IACvBkB,IAAKopE,EAAkBpC,cAAclpE,OACrC4F,UAAWmkE,EACX19D,UAAWhR,EAAMgR,UACjB8X,SAAUA,EACVpmB,KAAM,CACFyL,SAAU8hE,EAAkB9hE,SAC5BtI,QAASoqE,EAAkBpC,0lBCevD,MAAMqC,UAAmBpwE,EAAAA,cAoErBC,YAAmBC,GACfC,MAAMD,GA7DO,KAAAmwE,SAAmB,IAUnB,KAAAC,qBAA4C,IAAIC,EAAAA,mBAAyB,GAElF,KAAAzxC,WAAuC,GAE9B,KAAA0xC,sBAAgC,oCAKhC,KAAAC,oBAAkD,CAQ/DC,uBAAwBrwE,MAAOswE,EAA6BC,KACxDnwE,KAAKq+B,WAAW6xC,GAAuBC,EAChCnwE,KAAK6vE,qBACPO,SAAQxwE,SACEI,KAAKqwE,sBAEfhuC,OAAOb,IAEJ,GAAIA,IAAU8uC,EAAAA,wBAAwBC,gCAClC,MAAM/uC,MAWtBgvC,gBAAiBA,CAACt2D,EAAuBzJ,IAC9BzQ,KAAKw+C,iBAAiBtkC,EAAezJ,GAOhDggE,wBAA0BC,IACtB1wE,KAAKuB,SAAS,CAAEmvE,oBAAAA,MA6LP,KAAAC,mBAAsBxnD,IACnC,GAAKA,KAASA,EAAM9oB,OAAS,GAezB,OAf4B,CAC5BL,KAAKuB,SAAS,CAAEmrD,YAAavjC,EAAOnhB,SAAU,EAAG4oE,qBAAiBjvE,EAAW6P,kBAAmB,KAChGxR,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAa,GACbj+B,gBAAiB,GACjByC,aAAc,GACdjU,QAAQ,KAGhB,MAAMkzC,EAAoB7wE,KAAK8wE,cAAc5oE,mBAAmB2zC,kBAAoB77C,KAAK8wE,cAAc5oE,QACnG2oE,IACAA,EAAkBlpE,MAAQ,KAM9B3H,KAAK+wE,qBAEL/wE,KAAK+wE,oBAAoBC,SAG7B,MAAM,UAAE/rD,EAAS,QAAEhlB,GAAYD,KAAKP,MAEpC,GAAIQ,EACA,GAAKma,EAAAA,iBAAiBC,mBAAmB8O,GAkCrCnpB,KAAKuB,SAAS,CAAEmrD,YAAa,GAAIkkB,qBAAiBjvE,EAAWsvE,0BAA0B,QAlC1C,CAC7C,GAAI9nD,EAAM9oB,OAHF,GAIJ,OAGJL,KAAK+wE,oBAAsBj1B,GAAAA,EAAS,MAChCo1B,EAAAA,EAAAA,eACI,IAAIC,EAAAA,mBACAlxE,EAAQC,cAAcO,eAAeQ,YACrCkoB,EACAlpB,EAAQC,cAAcO,eAAeQ,YAAYq1C,WAErDt2C,KAAKP,MAAMQ,QAAQC,eAElBkB,MAAKgwE,IACFpxE,KAAKuB,SAAS,CACVqvE,gBAAiBQ,MAAAA,OAAO,EAAPA,EAASC,QAC1B7/D,kBAAmB4/D,MAAAA,OAAO,EAAPA,EAASE,qBAC5BL,0BAA0B,OAGjC5uC,OAAMb,IACHxhC,KAAKuB,SAAS,CAAEmrD,YAAa,KAC7BznC,EAAUssD,UAAU/vC,GACpBvc,EAAUwhB,MAAM,mCAEzBzmC,KAAK4vE,UAERv0C,YAAW,KAEPr7B,KAAK+wE,wBACN,GACH/wE,KAAKuB,SAAS,CAAEmrD,YAAavjC,EAAO8nD,0BAA0B,MAUzD,KAAAO,eAAiB5xE,UAC9B,MAAM,QAAEK,EAAO,KAAEkC,EAAI,UAAEsO,EAAS,UAAEwU,GAAcjlB,KAAKP,OAC/C,KAAEoiC,GAAS1/B,GACX,oCAAEsvE,EAAmC,oCAAEC,GAAwCjhE,GAC/E,gBAAEmgE,EAAe,SAAE5oE,GAAahI,KAAKiD,MAU3C,GATAjD,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAa,GACbj+B,gBAAiB,GACjByC,aAAc,GACdjU,QAAQ,KAIZ19B,QAA+B0B,IAApBivE,GAAiC5wE,KAAK2xE,cAAcf,EAAiB5oE,IAAa65B,EAAK9gB,OAAQ,CAAC,IAAD4uC,EAAAiiB,EAAAC,EAAAC,EAC1G,MAAMC,GACiC,QAAnCpiB,EAAA3vD,KAAKP,MAAM0C,KAAKsjB,aAAa1E,cAAM,IAAA4uC,GAElC,QAFkCiiB,EAAnCjiB,EAAqCpqD,MACjCkgB,GAAsC,oEAAtBA,EAAaxb,cAChC,IAAA2nE,OAFkC,EAAnCA,EAEGhsD,aAAa,EAEdosD,EAAiF,QAA1CH,EAAG7xE,KAAKP,MAAMQ,QAAQsE,QAAQxC,IAAIkwE,gBAAQ,IAAAJ,OAAA,EAAvCA,EAAyCK,iCACnF1xE,EAAeR,KAAKP,MAAM0C,KAAKo8B,oBAAoBxd,OAEnDoxD,EAC0C,QAA5CH,GACCxxE,IACiD,QAA5CwxE,GAAqDxxE,EAAawgB,OACnB,QAA5CgxD,IAAsDxxE,EAAawgB,OAG1EoxD,QAAwBC,EAAAA,EAAAA,yBAC1B,CACItyE,cAAeC,KAAKP,MAAMQ,QAAQC,cAClCC,oBAAqBmyE,EAAAA,yBAAyBC,qCAAqCvyE,KAAKP,MAAMQ,QAAQC,gBAE1G,CAAC0wE,EAAgBltE,WAEf8uE,EAA+E,QAA1DV,EAAG9xE,KAAKP,MAAMQ,QAAQC,cAAcO,eAAe4O,eAAO,IAAAyiE,OAAA,EAAvDA,EAAyDW,sBACjFC,EACF/mE,EAAAA,gBAAgBC,YAAYwmE,IAAoBzmE,EAAAA,gBAAgBC,YAAYwmE,EAAgB,GAAGO,iBACzFP,EAAgB,GAAGO,gBAAgB,GAAG5uC,UACtCpiC,EAEJixE,EACFb,GAA2CI,OACHxwE,IAAxC3B,KAAKiD,MAAMk7C,gCACLn+C,KAAK6yE,qBAEf,MAAM,yBAAE10B,GAA6Bn+C,KAAKiD,MACpCkmD,EAAwB,CAC1B7jD,QAASsrE,EACTzoE,MAAOH,EAEP+R,iBAAkB9Z,EAAQ8B,IAAIC,OAAO+X,iBACrC+4D,kBAAmB30B,EAA2BA,EAAyB40B,yBAAyBC,kBAAoB,EACpHz4C,qBAAsB,CAAE04C,oCAAqCL,GAC7DM,kCAAwDvxE,IAA1B+wE,GAAuCA,IAA0BF,EAC/F1iE,aAAc4iE,GAGlB7wC,EAAK9gB,OACAqoC,iBAAiBD,GACjB/nD,MAAKxB,MAAAA,IACF,GAAsB,YAAlBmhB,EAAOkhB,OAAsB,CAC7BjiC,KAAKP,MAAMwlB,UAAUwhB,MAAM,8BAC3B,MAAM0sC,EAAmBnzE,KAAKgsE,iBAAiB9jE,mBAAmB2zC,kBAAoB77C,KAAKgsE,iBAAiB9jE,QACtG2oE,EAAoB7wE,KAAK8wE,cAAc5oE,mBAAmB2zC,kBAAoB77C,KAAK8wE,cAAc5oE,QACnGirE,IACAA,EAAiBxrE,MAAQ,IAEzBkpE,IACAA,EAAkBlpE,MAAQ,KAG9B3H,KAAKq+B,WAAa,GAClBr+B,KAAKuB,SAAS,CACVmrD,YAAa,GACb1kD,SAAU,EACV4oE,qBAAiBjvE,EACjB6P,kBAAmB,GACnB27D,aAAc,CACVC,YAAaqE,EACbtiC,gBAAiB,UACjByC,aAAc,eACdjU,QAAQ,UAGb,GAAyB,gBAArB5c,EAAOmhB,UAA6B,CAC3CliC,KAAKP,MAAMwlB,UAAUwhB,MAAM,gEAAiEz+B,GAC5F,MAAMorE,EAA4BpzE,KAAKqzE,kBAAkBl1B,EAA0Bn2C,GAEnFhI,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAagG,EACbjkC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,UAGb,GAAyB,mBAArB5c,EAAOmhB,WAAkC0wC,EAAqC,CAAC,IAADU,EACrF,MAAMF,EAA+C,QAAtBE,EAAGvyD,EAAOwyD,oBAAY,IAAAD,OAAA,EAAnBA,EAAqBE,iBACvDxzE,KAAKP,MAAMwlB,UAAUwhB,MACjB,gEACA2sC,GAGJpzE,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAagG,GAA6B1B,EAC1CviC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,UAIhB39B,KAAKP,MAAMwlB,UAAUwhB,MAAM,iEAE3BzmC,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAasE,EACbviC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,QAKvB0E,OAAMb,IACHvc,EAAUwsB,QAAQjQ,GAClBvc,EAAUwhB,MAAM,uEAEhBzmC,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAasE,EACbviC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,UAmCf,KAAA81C,8BAAgC,CAACv/D,EAAyBF,KACvE,MAAM,+BAAE0/D,EAA8B,kCAAEC,GAAsC3zE,KAAKP,MAAMgR,UAEzF,MAAwB,MAApByD,EAEIy/D,EAAkCjuE,QAAQ,gBAAiBwO,GAC3Dw/D,EAA+BhuE,QAAQ,gBAAiBsO,GAIzD0/D,EAA+BhuE,QAAQ,gBAAiBsO,IAOlD,KAAA4/D,sBAAyBjsE,IACtC,IAAI0zC,EAAenyC,OAAO0jB,SAASjlB,EAAO,IAC1C,MAAMi0C,EAAe57C,KAAK8wE,cAAc5oE,mBAAmB2zC,kBAAoB77C,KAAK8wE,cAAc5oE,QAE9F2yC,MAAMQ,KACNA,EAAe,GAGnBr7C,KAAKuB,SAAS,CAAEyG,SAAUqzC,IAAgB,KACtCS,GAAAA,EAAS,MACAjB,MAAM76C,KAAKiD,MAAM+E,WAAahI,KAAKiD,MAAM+E,UAAY,GAAK4zC,IAC3DA,EAAaG,aAAa,gBAAiBV,EAAappC,YACxD2pC,EAAaG,aAAa,QAASV,EAAappC,eAErD,IALH6pC,OASS,KAAAgB,sBAAwB,CACrCC,EACAC,KAEA,GAAIA,GAAcD,EAAqBE,gBACnC,OAAOF,EAAqBE,gBAAgB13C,MAAKk3C,GAAaA,EAAU/4C,YAAcs5C,KAM7E,KAAAwB,iBAAmB,CAACtkC,EAAuBzJ,KAA0D,IAAAojE,EAClH,MAAMr/D,EAAuC,QAA7Bq/D,EAAG7zE,KAAKiD,MAAM2tE,uBAAe,IAAAiD,OAAA,EAA1BA,EAA4BpmE,WAE/C,OAAQyM,GACJ,KAAK,EACD,OAAOzJ,EAAUguC,0BACrB,KAAK,EACD,OAAOhuC,EAAUiuC,kCACrB,KAAK,EACD,OAAOjuC,EAAUkuC,yBACrB,KAAK,EACD,OAAOnqC,EAAa/D,EAAUqjE,2BAA6BrjE,EAAUmuC,0BACzE,QACI,MAAO,KAOF,KAAAyxB,kBAAoBzwE,UACjC,MACIK,SAAS,cACLC,EACAqE,SACItD,aAAa,UAAEq1C,MAGvBt2C,KAAKP,OACH,kBAAE+R,EAAiB,gBAAEo/D,GAAoB5wE,KAAKiD,MACpD,IAAK2tE,IAAoBp/D,EACrB,OAGJ,MAAMuiE,EAAkB5tE,EAAA,GAAkCnG,KAAKq+B,YAI/D,GAHAr+B,KAAKuB,SAAS,CAAEmvE,qBAAqB,IAGjC1wE,KAAKiD,MAAM+wE,2BAA2BC,WAAY,CAClD,MAAMC,EAAoB/tE,EAAA,GAAQnG,KAAKiD,MAAM+wE,4BAC7CE,EAAqBD,gBAAatyE,EAClC3B,KAAKuB,SAAS,CAAEyyE,2BAA4BE,IAIhD,IAAK,MAAM5tE,KAAO0M,OAAOgzB,KAAK+tC,GAC1B,GAAI/zE,KAAKiD,MAAM+wE,2BAA2BG,gBAAgB7tE,GAAM,CAC5D,MAAM8tE,EAAUjuE,EAAA,GAAQnG,KAAKiD,MAAM+wE,4BACnCI,EAAWD,gBAAgB7tE,QAAO3E,EAElC3B,KAAKuB,SAAS,CAAEyyE,2BAA4BI,IAMpD,MAAM52B,EAAmBhsC,EACpB7Q,KAAI87C,IACM,CACH3vC,mBAAoB2vC,EAAU3vC,mBAC9BI,eACIlN,KAAK88C,sBAAsBL,EAAWs3B,EAAmBt3B,EAAU3vC,sBAAwB2vC,EAAUvvC,eACzGnJ,oBAAqB04C,EAAU14C,wBAGtCkM,QAAOwsC,GACGA,EAAUvvC,iBAKnBgoC,EAAkB,IAAI5O,SAA8B1mC,MAAO2mC,EAASgjB,KACtE,MAAM8qB,QAAmB39B,EAAAA,EAAAA,oBACrB,IAAIF,EAAAA,qBACAo6B,EAAgBl3B,gBAAkBk3B,EAAgBl3B,gBAAkBk3B,EAAgBltE,SACpF4yC,EACAkH,OACA77C,EACA3B,KAAKP,MAAMQ,QAAQsE,SAEvBrE,GAEAm0E,SACM16B,EAAAA,EAAAA,iCACF,IAAIC,EAAAA,qCACAy6B,EAAW36B,gBAAkB26B,EAAW36B,gBAAkB26B,EAAW3wE,SACrE4yC,EACAkH,EACAx9C,KAAKP,MAAMQ,QAAQsE,SAEvBrE,GAIRqmC,EAAQ8tC,MAGN52B,QAAuBvI,EAE7B,GADAl1C,KAAKuB,SAAS,CAAEqvE,gBAAoC,OAAnBnzB,EAA0BA,OAAiB97C,IACxE87C,EAAgB,CAGhB,MAAMK,QAA6BC,EAAAA,EAAAA,4CAC/B,IAAIF,EAAAA,6CAA6CJ,EAAe/5C,SAAU4yC,GAC1Ep2C,GAGA49C,GAAwBA,EAAqBz9C,OAAS,EACtDL,KAAKuB,SAAS,CAAE48C,yBAA0BL,EAAqB,KAE/D99C,KAAKuB,SAAS,CAAE48C,8BAA0Bx8C,MAQrC,KAAAkxE,mBAAqBjzE,UAClC,MACIK,SAAS,cACLC,EACAqE,SACItD,aAAa,UAAEq1C,MAGvBt2C,KAAKP,OACH,gBAAEmxE,GAAoB5wE,KAAKiD,MACjC,IAAK2tE,EACD,OAGJ,IAAI0D,QACEv2B,EAAAA,EAAAA,4CACF,IAAIF,EAAAA,6CAA6C+yB,EAAgBltE,SAAU4yC,GAC3Ep2C,GACFkB,MAAK2f,IACCpV,EAAAA,gBAAgBC,YAAYmV,GAC5BuzD,EAAmBvzD,EAAOxb,MAAKyC,GAAYA,EAAS+qE,yBAAyBlyE,YAAc+vE,EAAgBltE,WAE3G1D,KAAKuB,SAAS,CAAE48C,8BAA0Bx8C,IAE9C3B,KAAKuB,SAAS,CAAE48C,yBAA0Bm2B,QAWjC,KAAAC,yBAA2B,CACxC54D,EACAlL,EACA+D,KAEA,OAAQmH,GACJ,KAAK,EACD,OAAOlL,EAAU+jE,gDACrB,KAAK,EACD,OAAO/jE,EAAUgkE,wDACrB,KAAK,EACD,OAAOhkE,EAAUikE,+CACrB,KAAK,EACD,OAAOlgE,EACD/D,EAAUkkE,iDACVlkE,EAAUmkE,gDACpB,QACI,MAAO,KAIF,KAAAC,0BAA4Bj1E,eACG+B,IAAxC3B,KAAKiD,MAAMk7C,gCACLn+C,KAAK6yE,sBAUF,KAAAlB,cAAgB,CAACf,EAAgC5oE,KAA6B,IAAA8sE,EAC3F,MAAMt4B,EAA8C,QAA7Bs4B,EAAGlE,EAAgBpkE,kBAAU,IAAAsoE,OAAA,EAA1BA,EAA4B7kE,QAAQwsC,IAA2B,IAAA+C,EAAA,QAA8B,QAAzBA,EAAC/C,EAAUvvC,sBAAc,IAAAsyC,GAAxBA,EAA0BryC,UACzH,GAAIqvC,GAAqBA,EAAkBn8C,OAAS,EAAG,CACnD,MAAM4uC,EAAcjvC,KAAK+0E,oBAAoBv4B,GAAmB,GAChE,GAAIx8C,KAAKiD,MAAM+wE,2BAA2BG,gBAAiB,CACvD,MAAMC,EAAUjuE,EAAA,GAAQnG,KAAKiD,MAAM+wE,4BAInC,OAHAI,EAAWD,gBAAkBllC,EAE7BjvC,KAAKuB,SAAS,CAAEyyE,2BAA4BI,KACrC,GAIf,GAAIpsE,GAAY,EAAG,CACf,MAAMyI,EAAYzQ,KAAKP,MAAMgR,UAS7B,OARAzQ,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAa38D,EAAUukE,gCACvB7lC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,MAGT,EAIX,MAAM,QAAE19B,GAAYD,KAAKP,MACzB,IAAKQ,EAAQ8B,IAAIC,OAAO+X,iBACpB,OAAO,EAGN/Z,KAAK60E,4BACV,MAAM,yBAAE12B,GAA6Bn+C,KAAKiD,MACpC6vE,EAAoB30B,EAA2BA,EAAyB40B,yBAAyBC,kBAAoB,EAC3H,aAA0BrxE,IAAtBmxE,GAAmCA,GAAqB,KACxD9yE,KAAKuB,SAAS,CACV4rE,aAAc,CACVC,YAAaptE,KAAKP,MAAMgR,UAAUwkE,6BAClC9lC,gBAAiB,SACjByC,aAAc,8BACdjU,QAAQ,MAGT,IA3rBX39B,KAAKgsE,iBAAmBzsE,EAAAA,YACxBS,KAAK8wE,cAAgBvxE,EAAAA,YACrBS,KAAK+1B,SAAiD,WAAtCt2B,EAAMQ,QAAQsE,QAAQgmD,OAAOC,KAAoB,KAAO,KAExExqD,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAEfjlB,KAAKiD,MAAQ,CACTypD,YAAa,GACbukB,0BAA0B,EAC1B9yB,8BAA0Bx8C,EAC1BqG,SAAU,EACV4oE,qBAAiBjvE,EACjB6P,uBAAmB7P,EACnBqyE,2BAA4B,CACxBG,gBAAiB,IAErB5rD,SAAUvoB,KAAKuoB,SACflnB,SAAU,IAEdrB,KAAK2wE,mBAAqB3wE,KAAK2wE,mBAAmBhpC,KAAK3nC,MACvDA,KAAK4zE,sBAAwB5zE,KAAK4zE,sBAAsBjsC,KAAK3nC,MAC7DA,KAAKk1E,oBAAsB,+BAC3Bl1E,KAAKm1E,6BAA+B,oCACpCn1E,KAAKo1E,yBAA2B,mCAG1B,eACN,MAAyB,OAAlBp1E,KAAK+1B,UAAuC,OAAlB/1B,KAAK+1B,SAGnCzsB,SACH,MAAM,KAAEnH,GAASnC,KAAKP,MACtB,IAAK0C,EAAKo8B,oBAAoBxd,OAC1B,OAAO,KAGX,MAAM,UAAE/W,EAAY,GAAE,YAAEgK,GAAgBhU,KAAKP,MAAMuC,OAC7CxB,EAAeR,KAAKP,MAAM0C,KAAKo8B,oBAAoBxd,QACnD,wBACFs0D,EAAuB,4BACvBC,EAA2B,mBAC3BC,EAAkB,oCAClBC,EAAmC,4BACnCC,EAA2B,oCAC3BC,EAAmC,4CACnCC,EAA2C,sCAC3CC,EAAqC,mCACrCC,EAAkC,oCAClCC,EAAmC,qCACnCC,EAAoC,gCACpCC,GACAh2E,KAAKP,MAAMgR,UAETwlE,EAAiE,CACnEC,4BAA6BN,EAC7Bn3B,0BAA2Bi3B,EAC3Bh3B,kCAAmCi3B,EACnCh3B,yBAA0Bk3B,EAC1Bj3B,0BAA2Bk3B,EAC3BhC,2BAA4BiC,IAG1B,yBAAE9E,EAAwB,YAAEvkB,EAAW,2BAAEsnB,EAA0B,gBAAEpD,EAAe,kBAAEp/D,GAAsBxR,KAAKiD,MAIjHsG,EAASpD,EAAAA,EAAA,GACPnG,KAAKP,OAA2C,IAEpD02E,gBAAiB,CAAEnsE,UAAWkW,GAAAA,CAAW,iBAAkBlW,GAAYkZ,YAAaljB,KAAKP,OACzFwqE,aAAc,CAAEjgE,UAAW,2BAC3ByX,MAAOjhB,MAAAA,OAAY,EAAZA,EAAcwgB,MACrBo1D,OAAQ,CACJruD,IAAKwiD,EACLvgE,UAAW,yBACX0gE,cAAe,CAAE/sC,OAAQ39B,KAAKiD,MAAMguE,0BACpCvF,kBAAmB2J,EACnB1J,sBAAuB2J,EACvB70E,eAAgBT,KAAKP,MAAMQ,QAAQsE,QACnCyN,iBAAkBhS,KAAKgS,kBAE3BqkE,eAAgB,CACZrsE,UAAW,GAAGhK,KAAKk1E,uBAAuBjE,EAA2B,UAAY,aAErFkE,6BAA8B,CAC1BnrE,UAAWhK,KAAKm1E,8BAEpBC,yBAA0B,CACtBprE,UAAWhK,KAAKo1E,0BAEpB1oB,YAAAA,EACA4pB,eAAgB3qE,EAAAA,gBAAgBC,YAAY5L,KAAKiD,MAAM5B,UAAYrB,KAAKu2E,uBAAuB,uBAAoB50E,EACnH60E,KAAMzK,EAAwB,CAC1BC,iBAAkBhsE,KAAKgsE,iBACvBC,kBAAmBjsE,KAAK8wE,cACxB1E,kBAAmBwE,EACnBrE,mBAAoBgJ,EACpBjJ,iBAAkBmJ,EAClBpJ,kBAAmBmJ,EACnBhJ,2BAA4BwJ,EAC5B7J,SAAU,GACVn4D,YAAAA,EACAk4D,gBAAiBlsE,KAAKiD,MACtBypE,kBAAmB1sE,KAAK2wE,mBACxBhE,qBAAsB3sE,KAAKwxE,eAC3B/E,qBAAsBzsE,KAAK4zE,wBAE/B6C,UACI7F,GAAmBp/D,GACbklE,EAAAA,EAAAA,qBACI12E,KAAK+vE,sBACL/vE,KAAKP,MAAMQ,QACXD,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,UACX2wD,EACAK,EACAj2E,KAAKgwE,oBACLY,EACAp/D,EACAwiE,QAEJryE,EACVsvE,yBAA0BjxE,KAAKiD,MAAMguE,yBACrC1B,aAAcvvE,KAAKiD,MAAMslB,WAG7B,OAAOvoB,KAAKP,MAAM+J,WAAWD,GAOzBotE,0BAAuB,IAAAC,EAC3B,MACIz0E,MACI0/B,MAAQ9gB,OAAQ8gB,KAEpB7hC,KAAKP,MAEH4B,EAA4BrB,KAAKiD,MAAM5B,SAEvCmuE,EAAqB3tC,MAAAA,GAAoB,QAAhB+0C,EAAJ/0C,EAAMA,KAAKwB,iBAAS,IAAAuzC,OAAhB,EAAJA,EAAsBj2E,KAAKiN,IAClD,MAAM8hE,EAAoBruE,EAASkE,MAAKD,GAAWA,EAAQ5B,WAAakK,EAAS/M,YACjF,IAAIsqD,EAAAA,iBAAiBC,kBAAkBskB,GAIvC,OAAO,IAAIrC,EAAkBz/D,EAAU8hE,MAG3C,OAAO/jE,EAAAA,gBAAgBsjD,YAAYugB,GAQ/B+G,uBAAuBvsE,GAC3B,MAAMstD,EAAiB,GAAGttD,gBAE1B,OACIzK,EAAAA,cAAC8vE,EAAwB,CACrB/nE,GAAIgwD,EACJ1tD,SAAU5J,KAAKP,MAAMmK,SACrBtD,IAAKgxD,EACLttD,UAAWstD,EACXn1D,KAAM,CAAEqtE,mBAAoBxvE,KAAK22E,2BACjC12E,QAASD,KAAKP,MAAMQ,QACpBwQ,UAAWzQ,KAAKP,MAAMgR,UACtB8+D,aAAcvvE,KAAKiD,MAAMslB,WA6N7B8qD,kBAAkBwD,EAAgE3iE,GAAuB,IAAAw1C,EAAAotB,EAAAC,EAC7G,MAAM,QAAE92E,EAAO,KAAEkC,GAASnC,KAAKP,OACzB,KAAEoiC,GAAS1/B,EAGX60E,EAAyB/2E,EAAQ8B,IAAIC,OAAO+nD,4BAA8B,GAC1EktB,GAA2B,QAAXvtB,EAAA7nB,EAAK9gB,cAAM,IAAA2oC,GAAgB,QAAhBotB,EAAXptB,EAAa7nB,KAAKwB,iBAAS,IAAAyzC,GAAkE,QAAlEC,EAA3BD,EAA6BvxE,MAAKpC,IAAI,IAAA+zE,EAAA,OAAe,QAAXA,EAAA/zE,EAAKiB,cAAM,IAAA8yE,OAAA,EAAXA,EAAajlE,cAAejS,KAAKiD,MAAMypD,sBAAY,IAAAqqB,OAAlF,EAAXA,EAA+FvzE,WAAY,EAGjI,IACKqzE,IACAA,EAAqB9D,yBAAyBC,oBAC9C/yE,EAAQ8B,IAAIC,OAAO+X,iBAEpB,OAAO/Z,KAAKyzE,8BAA8BwD,EAAchlE,WAAY+kE,EAAuB/kE,YAG/F,MAAMklE,EAAenuE,KAAK4xC,IAAIo8B,EAAwBH,EAAqB9D,yBAAyBC,mBAEpG,OAAOhzE,KAAKyzE,8BAA8BwD,EAAchlE,WAAYklE,EAAallE,YAwS7E8iE,oBACJh0D,EACAvM,GAEA,IAAKuM,EACD,MAAO,GAEX,MAAMsd,EAA4D,GAC5D5tB,EAAYzQ,KAAKP,MAAMgR,UAC7B,IAAK,MAAMgsC,KAAa17B,EACpBsd,EAAWoe,EAAU3vC,oBAAsB9M,KAAKu0E,yBAAyB93B,EAAU3vC,mBAAoB2D,EAAW+D,GAEtH,OAAO6pB,IAtxBXqI,EAAAA,EAAAA,IAAA,CADC0nB,EAAAA,IAAU,gCAkGD1nB,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,6BAyrBb,kGC/2BA,MAAMmqC,EAAmBX,IACrB,QAAkB90E,IAAd80E,EAAyB,CACzB,MAAM,eAAEY,EAAc,UAAEC,GAAcb,EAEtC,OAAOl3E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKokE,GAAiBC,EAAU32E,IAAI42E,IAEpD,OAAO,MAQLA,EAA2BC,IAC7B,MAAM,eAAEH,EAAc,oBAAEI,EAAmB,QAAE10D,EAAO,OAAEw5B,EAAM,OAAEm7B,GAAWF,EAEzE,OACIj4E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKokE,GACN93E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKwkE,GAAsB10D,GAC/Bw5B,EACAm7B,IAqEb,EAjCuDj4E,IACnD,MAAM,gBACF02E,EAAe,aACflM,EAAY,KACZuM,EAAI,eACJH,EAAc,OACdD,EAAM,UACNK,EAAS,6BACTtB,EAA4B,yBAC5BC,EAAwB,eACxBkB,EAAc,aACd/G,GACA9vE,EAEJ,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKkjE,GACR52E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKmjE,GACN72E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKg3D,GAhDP0N,EACfnB,EACAjH,EACA8G,EACAuB,EACAC,EACApB,IAEOlH,EACHhwE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKojE,GACN92E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK2kE,GACLpB,EAAKlxE,QACL8xE,EAAgBX,GAChBD,EAAKxuE,SACNzI,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4kE,GAAuBrB,EAAKvnC,aACrCunC,EAAKtJ,eAId3tE,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKojE,GACN92E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4kE,GAAuBrB,EAAKvnC,aACtC1vC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK2kE,GACLpB,EAAKlxE,QACL8xE,EAAgBX,GAChBD,EAAKxuE,SACLwuE,EAAKtJ,eAwBDyK,CACGnB,EACAjH,EACA8G,EACAlB,EACAC,EACAqB,KAKXH,kECvDN,MAKP,GALsCwB,EAAAA,EAAAA,IAA2B,CAC7DxwE,GAAI,gEACJ+mD,OApCJzuD,eAA4B4tC,EAA8BuqC,GACtD,IA6BJ,SAAsBvqC,GAClB,OAAOA,KAAWA,EAAM3jB,aAAe2jB,EAAMwqC,SA9BxCC,CAAazqC,GAEd,OADAuqC,EAAIloB,MAAM,4EAA4EriB,KAC/E,GAGX,MAAM9oC,EACF,GAAG8oC,EAAM0qC,wCAAwC1qC,EAAM3jB,2BAC3C2jB,EAAMwqC,sBACLxqC,EAAM8I,oBACT9I,EAAM2qC,SAEpB,OAAOC,EAAAA,EAAAA,IAAoB1zE,EAAY,OAAQ8oC,EAAM6qC,eAAgB,CAAEtrB,QAAS,CAAEurB,cAAe,YAAY9qC,EAAM+qC,mBAC9Gn3E,MAAKoB,GACsB,MAApBA,EAASy/B,QAAsC,MAApBz/B,EAASy/B,QACpC81C,EAAIloB,MAAM,2DACVkoB,EAAIloB,MAAMrtD,EAASL,MACZ,IAEJK,EAASL,OAEnBkgC,OAAMb,IACHu2C,EAAIloB,MAAM,2DACVkoB,EAAI9yD,UAAUssD,UAAU/vC,GACxBu2C,EAAI9yD,UAAUwhB,MAAM,2DACpBsxC,EAAIloB,MAAMruB,GACH,2KC5BZ,MAAMg3C,EAoCTh5E,YACIqqB,EACAmuD,EACA1hC,EACA6hC,EACAE,EACAE,EACAL,GAWG,KAAAO,YAAc,IAAM,mBAEpB,KAAAC,mBAAqB,IAAM,mBAE3B,KAAAC,cAAgB,IAAiB,OAbpC34E,KAAK6pB,UAAYA,EACjB7pB,KAAKg4E,SAAWA,EAChBh4E,KAAKs2C,UAAYA,EACjBt2C,KAAKm4E,OAASA,EACdn4E,KAAKq4E,eAAiBA,EACtBr4E,KAAKu4E,cAAgBA,EACrBv4E,KAAKk4E,gBAAkBA,iBC4B/B,MAAMU,EAAiBn5E,GAA6B,KAChDmjC,EAASnjC,IAOAo5E,EAAep5E,IACxB,MAAMqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmBmyB,EAAAA,kBAAkB20C,cAC/EC,GAAwB5mE,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAC9EA,EAAQooB,cAAcC,MAAQgK,EAAAA,kBAAkB60C,OAChD,MAAMC,GAAwB9mE,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAC9E,MAAO,CACHmV,MAAO,CACHc,IAAK2iB,EAAAA,MACL1gC,UAAW,2CACXsf,OAAQ7pB,EAAMy5E,cACdxqB,gBAAiB,aACjB/wB,OAAQl+B,EAAMk+B,OACdw7C,eAAgB15E,EAAM25E,WAE1BlyD,YAAamyD,EAAgB55E,GAC7B2nB,YAAa,CAAEW,IAAKs3B,EAAAA,YAAar1C,UAAW,0BAC5Cqd,UAAW,CAAEU,IAAK8iB,EAAAA,UAAW7gC,UAAW,wBACxCsvE,aACI/5E,IAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CAACjJ,UAAU,yBAAyBE,QAASzK,EAAMy5E,eAAmBH,GACxEt5E,EAAMgR,UAAU8oE,yBAGzBC,aACIj6E,IAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjJ,UAAU,yBACVE,QAAS0uE,EAAcn5E,IACnBw5E,EAAqB,CACzB3kE,SAAUmlE,EAAeh6E,KAExBA,EAAMgR,UAAUipE,wBAGzB/iE,OAAQgjE,EAAal6E,GACrBm6E,YAAaC,EAAap6E,GAC1Bq6E,WAAYA,EAAWr6E,GACvBs6E,WAAYA,EAAWt6E,GACvBu6E,UAAWA,EAAUv6E,GACrBw6E,UAAWA,EAAUx6E,GACrBy6E,iBAAkBC,EAAkB16E,GACpC+2E,KAAM,CAAEzuD,IAAK,OAAQ/d,UAAW,uBAAwBwrC,aAAc,OACtE4kC,SAAU,CAAEryD,IAAK,MAAO/d,UAAW,sBAAuBwrC,aAAc,OACxEhU,MACIjiC,IAAAA,cAAC2vC,EAAAA,MAAK,CAACllC,UAAU,wBAAwB2zB,OAAQl+B,EAAM46E,SAAUxxE,MAAM,UAClEpJ,EAAMgR,UAAU6pE,oBAM3BjB,EAAmB55E,GAEjBF,IAAAA,cAACqrC,EAAAA,YAAW,CAACthB,OAAQ7pB,EAAMy5E,cAAelvE,UAAU,0BAC/CvK,EAAM86E,YAAc96E,EAAM86E,WAAWC,SAAW/6E,EAAMgR,UAAUgqE,qBAAuBh7E,EAAMgR,UAAUiqE,uBAK9GjB,EAAkBh6E,IACZA,EAAMkX,SAAWgkE,EAA2Bl7E,EAAMm7E,cAAgBD,EAA2Bl7E,EAAMo7E,aAGzGlB,EAAgBl6E,GAEdF,IAAAA,cAAC+d,EAAAA,gBAAe,CACZE,UAAU,EACVN,UAAW,EACXE,UAAW3d,EAAMgR,UAAUqqE,sBAC3BC,cAAet7E,EAAMkX,OACrB1W,QAASR,EAAMQ,QACfqH,GAAI7H,EAAMqyD,SACVloD,SAAUnK,EAAMu7E,WAChB74E,KAAM,GACNmE,IAAI,UACJkM,SAAU/S,EAAMw7E,iBAKtBpB,EAAgBp6E,GAEdF,IAAAA,cAAA,SAAOyK,UAAU,+BAA+B1D,IAAI,gBAC/C7G,EAAMgR,UAAUyqE,kBAAiB,KAKxCpB,EAAcr6E,IAChB,MAAMm2C,EAAYn2C,EAAMQ,QAAQ8B,IAAIC,OAAOm5E,qBAE3C,OACI57E,IAAAA,cAAA,SACIq2C,UAAWA,EACXtuC,GAAI,eAAe7H,EAAM27E,kBACzB5oE,SAAU/S,EAAM47E,cAChB1zE,MAAOlI,EAAMo7E,YAAW,gBACV,OACd7wE,UAAU,wBAAuB,aACrBvK,EAAMgR,UAAU6qE,wBAKlCvB,EAAct6E,GAEZF,IAAAA,cAAA,SAAOyK,UAAU,8BAA8BuxE,QAAS,eAAe97E,EAAM27E,mBACxE37E,EAAMgR,UAAU+qE,kBAOvBxB,EAAav6E,IACf,MAAMm2C,EAAYn2C,EAAMQ,QAAQ8B,IAAIC,OAAOy5E,oBAC3C,OACIl8E,IAAAA,cAAA,YACIq2C,UAAWA,EACX5rC,UAAU,uBACV1C,GAAI,kBAAkB7H,EAAM27E,kBAC5B5oE,SAAU/S,EAAM6rB,aAChBowD,KAAM9lC,EAVc,GAWpBjuC,MAAOlI,EAAMm7E,WAAU,gBACT,OAAM,aACRn7E,EAAMgR,UAAUkrE,mBAKlC1B,EAAax6E,GAEXF,IAAAA,cAAA,SAAOg8E,QAAS,kBAAkB97E,EAAM27E,kBAAmBpxE,UAAU,8BAChEvK,EAAMgR,UAAUmrE,iBAKvBzB,EAAqB16E,IACvB,MAAMo8E,EAAmBp8E,EAAMgR,UAAUqrE,wBAAwB9gD,MAAM,OACjE+gD,EAAqBt8E,EAAMgR,UAAUqrE,wBAAwBE,WAAW,OACxEC,EAAmBx8E,EAAMgR,UAAUqrE,wBAAwBI,SAAS,OACpEhC,GAAmBv4D,EAAAA,EAAAA,IAAW,mBAAoBliB,EAAMQ,QAAQC,eAChE4R,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmBmyB,EAAAA,kBAAkBg4C,eAC/EC,GAAyBjqE,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAE/E,OACIvS,IAAAA,cAAA,KAAGyK,UAAU,0BACR+xE,EAAqB,GAAKF,EAAiB,GAC5Ct8E,IAAAA,cAAA,IAAAyT,OAAAC,OAAA,CAAGpO,KAAMq1E,EAAkBrzC,IAAI,aAAapN,OAAO,SAASzvB,UAAU,YAAeoyE,GAChF38E,EAAMgR,UAAU4rE,oBAEpBJ,EAAmB,GAAKF,EAAqBF,EAAiB,GAAKA,EAAiB,KAK3Fj5C,EAAYnjC,IACVA,EAAM6F,SACNg3E,EACI78E,EAAM6F,QACN7F,EAAMo7E,YACNp7E,EAAMm7E,WACNn7E,EAAMkX,OACNlX,EAAMQ,QACNR,EAAM86E,WACN96E,EAAM88E,mBASZ5B,EAA8BvwD,GACzBA,EACF1kB,QAAQ,IAAI+mB,OAAO,eAAgB,KAAM,KACzC/mB,QAAQ,IAAI+mB,OAAO,OAAQ,KAAM,KACjCiV,OAGI46C,EAAeA,CACxBh3E,EACA0F,EACAof,EACAzT,EACA1W,EACAs6E,EACAiC,KAEA,MAAM,QAAEj4E,GAAYtE,GACd,KAAES,GAAS6D,EACjB,GAAI7D,GAAQ6D,EAAS,CACjB,MAAMipC,EAAQ,IAAIgrC,EACdlzE,EAAQ5B,SAASuO,YACjBwqE,EAAAA,EAAAA,iBAAgBx8E,EAAQC,eACxBqE,EAAQtD,YAAYq1C,UAAUrkC,WAC9B1N,EAAQ4zE,OACR,CACI/lE,YAAa9M,GAAWA,EAAQ2E,KAChC0M,OAAAA,EACAikE,WAAYD,EAA2BvwD,GACvCpf,MAAO2vE,EAA2B3vE,GAClC0xE,UAAWh8E,EAAKi8E,aAChBC,SAAUl8E,EAAK8H,MAEnBjE,EAAQ7D,KAAK4wC,OACburC,EAAAA,EAAAA,sBAAqB58E,EAAQC,iBAGjC48E,EAAAA,EAAAA,GAAiBtvC,EAAOvtC,EAAQC,eAC3BkB,MAAKo5E,IACF,MAAM70E,EAAS60E,EACT,CACI7jE,OAAAA,EACA3L,MAAO2vE,EAA2B3vE,GAClC4vE,WAAYD,EAA2BvwD,GACvC2yD,kBAAmB,IAAI7gB,KACvB8gB,gBAAiBzC,EAAaA,EAAWyC,gBAAkB,EAC3DC,gBAAiB1C,EAAaA,EAAW0C,gBAAkB,EAC3DzC,SAAAA,EACAoC,SAAUr4E,EAAQ7D,KAAK0nC,WAAa7jC,EAAQ7D,KAAK8H,MAErD+xE,EAEA2C,EAAiB,IAAIC,EAAAA,EAAmB3vC,EAAM3jB,UAAY2jB,EAAMwqC,SAAUxqC,EAAM+qC,cAAe/qC,EAAM0qC,iBAC3Gj4E,EAAQC,cAAc4oD,OAAOo0B,EAAgBv3E,GAEzC62E,GACAA,IAAqBhC,MAG5Bn4C,OAAM,KACH,MAAMxY,EAAYvkB,EAAQ5B,SAC1BzD,EAAQglB,UAAUuc,MAAM,sDAAsD3X,KAC9E5pB,EAAQglB,UAAUwhB,MAAM,sDAAsD5c,KAC1E2yD,GACAA,GAAmB,gECvThC,MAAMY,EAAwC,kBAExCC,EAA2C,wHCKjD,MAAMC,EAAkB79E,IAC3B,MAAM,eAAEmkB,GAAmBnkB,EACrB89E,EAA4B35D,EAAe25D,mBAAqB,EACtE,OAA0B,IAAtBA,EACO,GAEJ,CACHC,EAAW/9E,EAAO,EAAGmkB,EAAe65D,WAAYF,GAChDC,EAAW/9E,EAAO,EAAGmkB,EAAe85D,WAAYH,GAChDC,EAAW/9E,EAAO,EAAGmkB,EAAe+5D,WAAYJ,GAChDC,EAAW/9E,EAAO,EAAGmkB,EAAeg6D,WAAYL,GAChDC,EAAW/9E,EAAO,EAAGmkB,EAAei6D,WAAYN,KAIlDC,EAAaA,CAAC/9E,EAA6Bq+E,EAAe31E,EAAgB41E,KAC5E51E,EAAQA,GAAS,EAEjB,MAAM61E,EAA4B,KADlCD,EAAaA,GAAc,GACW,EAAI51E,EAAQ41E,EAC5CE,EAAmB,IAAIC,KAAKC,aAAa1+E,EAAM04E,OAAQ,CAAErjD,MAAO,YAAa1d,OAAO4mE,GACpF5gE,GAAYhG,EAAAA,EAAAA,QAAO3X,EAAMgR,UAAU2tE,iBAAkBN,EAAOG,GAElE,MAAO,CACHh6D,UACI1kB,IAAAA,cAAA,sBAAkB,OAAOyK,UAAU,8BAC9B8zE,GAGTE,WACIz+E,IAAAA,cAAA,sBAAkB,OAAOyK,UAAU,oCAC9Bi0E,GAGT/5D,IAAK3kB,IAAAA,cAAC8+E,EAAAA,SAAQ,CAAC12E,MAAoB,IAAbq2E,EAAkBjqE,IAAK,IAAKqJ,UAAWA,EAAWpT,UAAU,8BAClFga,YAAa,CACT+D,IAAK,SACL/d,UAAW,6BACXE,QAASA,KACLzK,EAAMyK,QAAQ4zE,OAMjBQ,EAA8D7+E,GAEnEF,IAAAA,cAAA,KAAGyK,UAAU,iCACRvK,EAAM8+E,QAAQp7D,cACd,IAAG,OAKHq7D,EAAuD/+E,GACzDF,IAAAA,cAAA,KAAGyK,UAAU,+BAA+BvK,EAAM8+E,QAAQhB,2vBC9CrE,IAAMkB,EAAN,cAA+Bl/E,EAAAA,cAC3BC,YAAYC,GACRC,MAAMD,GA6DH,KAAAmvD,oBAAuBvuC,GAA0CrgB,KAAKP,MAAMuC,OAAO+gB,QAASqH,KAAO/J,EAAMoZ,OAAO9xB,MA5DnH3H,KAAK0+E,eAAiB1+E,KAAK0+E,eAAe/2C,KAAK3nC,MAG5CsJ,SACH,MAAM,UAAEmH,GAAczQ,KAAKP,OACrB,UAAEuK,EAAS,QAAE+Y,GAAY/iB,KAAKP,MAAMuC,QAEtC4hB,gBAAkB7C,OAAQ6C,IAC1B5jB,KAAKP,MAAM0C,KACTob,EAAcqG,GAAkBA,EAAe25D,kBAAoB,GAAG35D,EAAe25D,oBAAsB,IAE3GoB,EAAgBr5D,GAAAA,CAAU,uBAAwBtb,GAClDT,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACbuK,UAAW20E,EACXzyB,UAAW,CACPwyB,eAAgB1+E,KAAK0+E,gBAEzBx7D,YAAa,CACTA,YAAaljB,KAAKP,MAClBuK,UAAW20E,GAEf37D,eAAgBY,GACV05D,EAAAA,EAAAA,IAAe,CACX15D,eAAAA,EACAnT,UAAStK,EAAA,GAAOsK,GAChB0nE,OAAQn4E,KAAKP,MAAMQ,QAAQsE,QAAQ4zE,OACnCjuE,QAASlK,KAAK0+E,iBAElB,GACNv7D,cAAeS,GACXrkB,EAAAA,cAAC+d,EAAAA,gBAAe,CACZJ,UAAW0G,EAAeT,cAC1B5F,YAAaA,EACbH,WAAWhG,EAAAA,EAAAA,QAAOpX,KAAKP,MAAMgR,UAAUsT,uBAAwBH,EAAeT,cAAe,KAC7F3F,UAAQ,EACRvd,QAASD,KAAKP,MAAMQ,QACpB2+E,WAAS,EACTt3E,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,KAGd08E,cAAej7D,GAAkBrkB,EAAAA,cAAC++E,EAAAA,GAAmB,CAACC,QAAS36D,IAC/Dk7D,aAAcl7D,GAAkBrkB,EAAAA,cAACi/E,EAAAA,GAAY,CAACD,QAAS36D,IACvDm7D,oBAAqB,CAAE/0E,UAAW,iCAClC+Y,QAASA,GACLxjB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVngB,UAAU,gCACV+d,IAAKhF,EAAQgF,KAAO,KACpBqC,KAAMrH,EAAQqH,KACdC,UAAW,CAAEC,OAAQtqB,KAAK4uD,oBAAqBnuD,eAAgBT,KAAKP,MAAMQ,QAAQsE,WAG1F0e,eAAgB,CAAEjZ,UAAW,qCAGjC,OAAOhK,KAAKP,MAAM+J,WAAWD,GAK1Bm1E,eAAeZ,GAClB,MAAMkB,EAAY,GAAGlB,IACrB99E,KAAKP,MAAMQ,QAAQC,cAAc4oD,QAAOm2B,EAAAA,EAAAA,gCAA+B,CAAED,UAAAA,IAAc,CAAEA,UAAAA,MAnE3FP,GAAgB/3C,EAAAA,EAAAA,IAAA,CADrBC,EAAAA,IACK83C,GAuEN,iGCnGA,MAeMt6D,EAAiB1kB,GAEfF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMukB,aACXvkB,EAAMwkB,UACNxkB,EAAMykB,IACNzkB,EAAMu+E,YAKnB,EAzBmEv+E,IAC/D,MAAM,QAAEsjB,EAAO,eAAEC,EAAc,eAAEC,EAAc,YAAEC,GAAgBzjB,EAEjE,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKiQ,GACPH,EACDxjB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKgQ,GACLD,EAAeriB,KAAIwC,GACTghB,EAAchhB,6LC0BlC,MAKP,GAL6C20E,EAAAA,EAAAA,IAA2B,CACpExwE,GAAI,mEACJ+mD,OAtCJzuD,eAAmC4tC,EAAiCuqC,GAChE,IA+BJ,SAAsBvqC,GAClB,OAAOA,GAASA,EAAMgtC,SAASn6E,OAAS,GAAKmtC,EAAMwqC,SAAS33E,OAAS,GAAKmtC,EAAM2qC,OAAO93E,OAAS,GAAKmtC,EAAM0xC,UAAU7+E,OAAS,EAhCzH43E,CAAazqC,GACd,MAAM,IAAI0I,MACN,mDAAmD1I,EAAMgtC,qBAAqBhtC,EAAMwqC,oBAAoBxqC,EAAM2qC,WAItH,MAAMzzE,EACF,GAAG8oC,EAAM0qC,wCAAwC1qC,EAAMgtC,qBAA0BhtC,EAAMwqC,mBAAwBxqC,EAAM2qC,SAEnHgH,EAAc,CAChBC,gBAAiB5xC,EAAM4xC,iBAGrBC,EAAgB,CAClBtyB,QAAS,CACLurB,cAAe,YAAY9qC,EAAM0xC,cAIzC,OAAO9G,EAAAA,EAAAA,IAAqB1zE,EAAY,OAAQy6E,EAAaE,GACxDj+E,MAAKoB,GACyB,MAApBA,EAASy/B,QAAsC,MAApBz/B,EAASy/B,SAE9CI,OAAMb,IACHu2C,EAAIloB,MAAM,yDACVkoB,EAAI9yD,UAAUssD,UAAU/vC,GACxBu2C,EAAI9yD,UAAUwhB,MAAM,0DACb,QCQZ,MAKP,GAL+CqxC,EAAAA,EAAAA,IAA2B,CACtExwE,GAAI,qEACJ+mD,OAtCJzuD,eAAqC4tC,EAAmCuqC,GACpE,IA+BJ,SAAsBvqC,GAClB,OAAOA,GAASA,EAAMgtC,SAASn6E,OAAS,GAAKmtC,EAAMwqC,SAAS33E,OAAS,GAAKmtC,EAAM2qC,OAAO93E,OAAS,GAAKmtC,EAAM0xC,UAAU7+E,OAAS,EAhCzH43E,CAAazqC,GACd,MAAM,IAAI0I,MACN,mDAAmD1I,EAAMgtC,qBAAqBhtC,EAAMwqC,qBAAqBxqC,EAAM2qC,WAIvH,MAAMzzE,EACF,GAAG8oC,EAAM0qC,qCAAqC1qC,EAAMgtC,qBAA0BhtC,EAAMwqC,mBAAwBxqC,EAAM2qC,SAEhHgH,EAAc,CAChBG,YAAa9xC,EAAM8xC,WAGjBD,EAAgB,CAClBtyB,QAAS,CACLurB,cAAe,YAAY9qC,EAAM0xC,cAIzC,OAAO9G,EAAAA,EAAAA,IAAqB1zE,EAAY,OAAQy6E,EAAaE,GACxDj+E,MAAKoB,GACyB,MAApBA,EAASy/B,QAAsC,MAApBz/B,EAASy/B,SAE9CI,OAAMb,IACHu2C,EAAIloB,MAAM,sDACVkoB,EAAI9yD,UAAUssD,UAAU/vC,GACxBu2C,EAAI9yD,UAAUwhB,MAAM,uDACb,YC9BP84C,mBAAZ,SAAYA,GACRA,EAAA,qBACAA,EAAA,mBACAA,EAAA,oBACAA,EAAA,cAJJ,CAAYA,IAAAA,EAAqB,KAU1B,MAAMC,EAaThgF,YAAYg7E,EAAkBxC,EAAkBG,EAAgBiH,EAAyBF,EAAmBhH,GASrG,KAAAO,YAAc,IAAM,sBAEpB,KAAAC,mBAAqB,IAAM,sBAE3B,KAAAC,cAAgB,IAAiB,OAZpC34E,KAAKw6E,SAAWA,EAChBx6E,KAAKg4E,SAAWA,EAChBh4E,KAAKm4E,OAASA,EACdn4E,KAAKo/E,gBAAkBA,EACvBp/E,KAAKk/E,UAAYA,EACjBl/E,KAAKk4E,gBAAkBA,oECVxB,MAAMuH,EAA4ChgF,IACrD,MAAM,YAAEigF,EAAW,UAAEjvE,EAAS,aAAEkT,EAAY,uBAAEg8D,GAA2BlgF,EAEzE,OACIF,EAAAA,cAAA,oBAAgB,SAASyK,UAAU,YAC9BoN,EAAAA,EAAAA,QACG3G,EAAUmvE,oBACVC,EAAsBH,EAAaC,GACnCG,EAAoBJ,EAAa/7D,EAAcg8D,GAC/Ch8D,KA6BHo8D,EAA8CtgF,IACvD,MAAM,YAAEigF,EAAW,UAAEjvE,EAAS,aAAEkT,EAAY,uBAAEg8D,GAA2BlgF,EACnEugF,EAAoBzgF,EAAAA,aAAkB,IACjC0gF,EAAqBxgF,IAC7B,CAACA,IACEygF,EAAgB3gF,EAAAA,aAAkB,IAC7B4gF,EAAiB1gF,IACzB,CAACA,IACEqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmBmyB,EAAAA,kBAAkBi8C,MAC/EC,GAAgBluE,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GACtEA,EAAQooB,cAAcC,MAAQgK,EAAAA,kBAAkBm8C,SAChD,MAAMC,GAAoBpuE,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAE1E,OACIvS,EAAAA,cAAA,OAAKyK,UAAU,kCACVw2E,EAAiBd,IACdngF,EAAAA,cAAA,SAAAyT,OAAAC,OAAA,CACI/I,QAAS81E,EACTh2E,UAAU,4BAA2B,aACzBy2E,EACRhwE,EAAUiwE,oBACVhB,EACA/7D,EACAg8D,GACA,IAEAY,GAEH9vE,EAAUkwE,oBAGlBC,EAAalB,EAAa/7D,EAAcg8D,IACrCpgF,EAAAA,cAAA,SAAAyT,OAAAC,OAAA,CACI/I,QAASg2E,EACTl2E,UAAU,wBAAuB,aACrBy2E,EACRhwE,EAAUiwE,oBACVhB,EACA/7D,EACAg8D,GACA,IAEAU,GAEH5vE,EAAUowE,kBAOzBL,EAAoBd,GACfA,EAAc,EAGnBkB,EAAeA,CAAClB,EAAqB/7D,EAAsBg8D,IACtDmB,EAAen9D,EAAcg8D,GAA0BD,EAG5DqB,EAAoBpB,GACf32E,KAAK4xC,IAAI,GAAI+kC,GAGlBmB,EAAiBA,CAACn9D,EAAsBg8D,IACnC32E,KAAK2yD,KAAKh4C,EAAeo9D,EAAiBpB,IAG/Cc,EAAuBA,CACzBC,EACAhB,EACA/7D,EACAg8D,EACAqB,EACAC,KAEA,MAAMC,EAAeF,EAAa,GAAK,EACvC,OAAO5pE,EAAAA,EAAAA,QACHspE,EACAb,EAAsBH,EAAaC,EAAwBD,EAAcwB,GACzEpB,EAAoBJ,EAAa/7D,EAAcg8D,EAAwBD,EAAcwB,GACrFv9D,IAIFk8D,EAAwBA,CAACH,EAAqBC,EAAgCsB,MACvEA,GAAQvB,GAAe,GAAKqB,EAAiBpB,GAA0B,EAG9EG,EAAsBA,CAACJ,EAAqB/7D,EAAsBg8D,EAAgCsB,KACpG,MACME,GADWF,GAAQvB,GACUqB,EAAiBpB,GACpD,OAAOwB,EAAkBx9D,EAAew9D,EAAkBx9D,GAGxDs8D,EAAuBrgF,MAAAA,UACnBH,EAAM2hF,cACRvB,EAAsBpgF,EAAMigF,YAAajgF,EAAMkgF,wBAA0B,EAAIoB,EAAiBthF,EAAMkgF,wBACpGlgF,EAAM4hF,qBACN5hF,EAAM6hF,uBACN7hF,EAAMigF,YAAc,GACpB,IAIFS,EAAmBvgF,MAAAA,UACfH,EAAM2hF,cACRtB,EAAoBrgF,EAAMigF,YAAajgF,EAAMkkB,aAAclkB,EAAMkgF,wBACjElgF,EAAM4hF,qBACN5hF,EAAM6hF,uBACN7hF,EAAMigF,YAAc,GACpB,IC5GR,IAAI6B,EAMG,MAuDDC,EAAc/hF,IAChB,MAAMgiF,EAAQ,GACd,IAAK,MAAMC,KAAUH,EAA8B,CAC/C,MAAMI,EAAU,iBAAiBD,EAAOp7E,MAClC+8C,EAAUq+B,EAAOp7E,MAAQ7G,EAAMmiF,YACrCH,EAAM1gF,KACFxB,IAAAA,cAAA,OAAKyK,UAAU,8BAA8B1D,IAAKo7E,EAAOp7E,KACrD/G,IAAAA,cAAA,SACIyK,UAAU,kBACVpC,KAAK,QACLY,KAAK,eACLlB,GAAIq6E,EAAO,WACDD,EAAOp7E,IACjBqB,MAAO+5E,EAAO/5E,MACd07C,QAASA,EAAO,eACFA,EACd7wC,SAAU/S,EAAMoiF,gBAEpBtiF,IAAAA,cAAA,SAAOyK,UAAU,kBAAkBuxE,QAASoG,GACvCD,EAAO/5E,SAMxB,OAAOpI,IAAAA,cAAA,gBAAWkiF,wBCvFf,MAyCD9qE,EAAUlX,GAERF,IAAAA,cAAC+d,EAAAA,gBAAe,CACZE,UAAQ,EACRN,UAAWzd,EAAMkG,OAAOgR,OACxByG,WAAWhG,EAAAA,EAAAA,QAAO3X,EAAMgR,UAAUqxE,0BAA4B,GAAIriF,EAAMkG,OAAOgR,OAAQ,KACvF1W,QAASR,EAAMQ,QACf+J,UAAU,0BACV1C,GAAI7H,EAAMqyD,SACVloD,SAAUnK,EAAMu7E,WAChB74E,KAAM,KAeZ4/E,EAAoBA,CAACtiF,EAAyB6/E,KAChD,MAAM0C,EAXSC,EAACxiF,EAAyB6/E,KACzC,IAAK,IAAI4C,EAAI,EAAGA,EAAIziF,EAAM0iF,aAAa9hF,OAAQ6hF,IAC3C,GAAIziF,EAAM0iF,aAAaD,GAAG1H,WAAa/6E,EAAMkG,OAAO60E,SAChD,OAAO/6E,EAAM0iF,aAAaD,GAAGE,WAAa9C,EAIlD,OAAO,GAIS2C,CAAWxiF,EAAO6/E,GAC5B7iE,EAAahd,EAAM4iF,cAAgBL,EAAU,WAAa,GAChE,IAAIh4E,EAAYs1E,EAAY,wBAA0B,2BACtDt1E,EAAY,GAAGA,KAAayS,IAC5B,MAAM7T,EAAQ02E,EAAY7/E,EAAMgR,UAAU6xE,cAAgB7iF,EAAMgR,UAAU8xE,aAC1E,IAAIC,GAAalD,EAAY7/E,EAAMkG,OAAOq3E,gBAAkBv9E,EAAMkG,OAAOs3E,kBAAoB,EAC7FuF,EAAYR,EAAUQ,EAAY,EAAIA,EACtC,MAAMx3E,EAAQ,IAAIw3E,KACZ9hF,EAAOjB,EAAMQ,QAAQsE,QAAQ7D,KAI7BwJ,EAAUuS,OAAa9a,EAHP8gF,KAClBhjF,EAAMijF,wBAAwBjjF,EAAMkG,OAAO60E,SAAW8E,IAI1D,OAAI5+E,EAAKkkC,gBAEDrlC,IAAAA,cAACuL,EAAAA,OAAM,cAAalC,EAAOoB,UAAWA,EAAWgB,MAAOA,EAAOd,QAASA,GACnEc,GAKTzL,IAAAA,cAACuL,EAAAA,OAAM,CAACjG,KAAMnE,EAAKmkC,UAAS,aAAcj8B,EAAOoB,UAAWA,EAAWgB,MAAOA,EAAO+c,IAAI,KACpF/c,IAKP23E,EAAcljF,IAChB,GAAIA,EAAM4iF,aACN,OACI9iF,IAAAA,cAACuL,EAAAA,OAAM,CAACxD,GAAI+1E,EAAAA,GAAkCrzE,UAAU,wBAAwBE,QAASzK,EAAMmjF,wBAC1FnjF,EAAMgR,UAAUoyE,qBAQ3BC,EAAaA,CAACrjF,EAAyBsjF,KACzC,IAAKA,EACD,MAAO,GAGX,IACI,OAAO,IAAI7E,KAAK8E,eAAevjF,EAAMQ,QAAQsE,QAAQ4zE,OAAQ,CAAE8K,MAAO,OAAQC,IAAK,UAAWC,KAAM,YAAa/rE,OAC7G,IAAI8kD,KAAK6mB,IAEf,MAAAK,GACE,OAAOL,IAST74E,EAAWzK,GAA4B,KACzCA,EAAM4jF,wBAAwB5jF,EAAMkG,OAAO60E,WAGzC8I,EAAgB7jF,IAClB,MAAMiB,EAAOjB,EAAMQ,QAAQsE,QAAQ7D,KACnC,GAAIjB,EAAM4iF,aACN,OACG,IAAK3hF,EAAKkkC,gBACb,OACIrlC,IAAAA,cAACuL,EAAAA,OAAM,CAACjG,KAAMnE,EAAKmkC,UAAW76B,UAAU,0BAA0B+d,IAAI,KACjE,IACAtoB,EAAMgR,UAAU8yE,mBAK7B,GAAI9jF,EAAM+jF,gBAAgBjpE,SAAS9a,EAAMkG,OAAO60E,UAC5C,OAAOj7E,IAAAA,cAAA,KAAGyK,UAAU,6BAA6BvK,EAAMgR,UAAUgzE,cAGrE,MAAMthE,EAAM1iB,EAAMkG,OAAO60E,WAAa/6E,EAAMikF,iBAAmBjkF,EAAM25E,eAAYz3E,EAEjF,OACIpC,IAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAU,0BAA0BE,QAASA,EAAQzK,GAAQmtC,SAAUzqB,GAC1E1iB,EAAMgR,UAAU8yE,+CC9MtB,MAAMI,EAaTnkF,YAAYg7E,EAAkBxC,EAAkBG,EAAgBmH,EAAoBJ,EAAmBhH,GAShG,KAAAO,YAAc,IAAM,wBAEpB,KAAAC,mBAAqB,IAAM,wBAE3B,KAAAC,cAAgB,IAAiB,OAZpC34E,KAAKw6E,SAAWA,EAChBx6E,KAAKg4E,SAAWA,EAChBh4E,KAAKm4E,OAASA,EACdn4E,KAAKs/E,UAAYA,EACjBt/E,KAAKk/E,UAAYA,EACjBl/E,KAAKk4E,gBAAkBA,wkBC+F/B,IAAM0L,EAAN,cAA0BrkF,EAAAA,UAwDtBC,YAAYC,GACRC,MAAMD,GAxDH,KAAAokF,sBAAmD,CACtD,CAAEv9E,IAAK,cAAeqB,MAAO3H,KAAKP,MAAMgR,UAAUqzE,2BAClD,CAAEx9E,IAAK,aAAcqB,MAAO3H,KAAKP,MAAMgR,UAAUszE,0BACjD,CAAEz9E,IAAK,gBAAiBqB,MAAO3H,KAAKP,MAAMgR,UAAUuzE,4BACpD,CAAE19E,IAAK,eAAgBqB,MAAO3H,KAAKP,MAAMgR,UAAUwzE,4BAGhD,KAAAC,wBAA8C,CACjD,CAAE59E,IAAK,YAAaqB,MAAO3H,KAAKP,MAAMgR,UAAU0zE,6BAChD,CAAE79E,IAAK,IAAKqB,MAAO3H,KAAKP,MAAMgR,UAAU2zE,4BACxC,CAAE99E,IAAK,IAAKqB,MAAO3H,KAAKP,MAAMgR,UAAU4zE,4BACxC,CAAE/9E,IAAK,IAAKqB,MAAO3H,KAAKP,MAAMgR,UAAU6zE,6BACxC,CAAEh+E,IAAK,IAAKqB,MAAO3H,KAAKP,MAAMgR,UAAU8zE,2BACxC,CAAEj+E,IAAK,IAAKqB,MAAO3H,KAAKP,MAAMgR,UAAU+zE,4BAQ3B,KAAAC,qBAA8C,CAC3DC,kBAAoB15E,IAChBhL,KAAKuB,SAAS,CAAEojF,gBAAiB35E,KAErC45E,iBAAmBx6D,IACfpqB,KAAKuB,SAAS,CAAEsjF,eAAgBz6D,KAEpC06D,aAAenuE,IACX3W,KAAKuB,SAAS,CAAEwjF,iBAAkBpuE,KAEtCquE,kBAAoBC,IACZA,EACAjlF,KAAKuB,SAAS,CAAE2jF,mBAAmB,EAAOC,gBAAgB,IAE1DnlF,KAAKuB,SAAS,CAAE4jF,gBAAgB,KAGxC7I,aAAY,IAEZ8I,YAAaplF,KAAKqlF,mBAElBC,4BAA6BtlF,KAAKslF,4BAClCC,kBAAoB/K,IAChBx6E,KAAKiD,MAAMuiF,kBAAoBxlF,KAAKylF,mBAAmBjL,GAAYx6E,KAAK0lF,uBAG5EC,aAAc3lF,KAAK4lF,sBAEnBC,uBAAwB7lF,KAAK6lF,uBAE7BC,qBAAsB9lF,KAAK8lF,qBAE3B1E,cAAephF,KAAKohF,eA8CjB,KAAAzgE,kBAAoB/gB,UACvBI,KAAKP,MAAM0C,KAAK4jF,YAAY3kF,MAAK2kF,IAEzBA,GACAA,EAAYC,YACZD,EAAYC,WAAW9+B,YACvB6+B,EAAY7gF,OACZ6gF,EAAY7gF,MAAM7E,OAAS,GAE3BL,KAAKuB,SAAS,CACV0kF,cAAeF,EAAY7gF,MAC3Bye,aAAcoiE,EAAYC,WAAW9+B,sBAI3ClnD,KAAKohF,cAAc,EAAGphF,KAAKiD,MAAMo+E,qBAAsBrhF,KAAKiD,MAAMq+E,uBAAwB,EAAGthF,KAAKiD,MAAMijF,kBAE9G19C,EAAAA,EAAAA,KACI,IAAMxoC,KAAKP,MAAM0C,KAAKgkF,oBAAoBplE,QAAU/gB,KAAKP,MAAM0C,KAAKgkF,oBAAoBplE,OAAOi+D,YAC/Fp/E,MAAAA,IACI,MAAMwmF,EAAiBl9E,OAAO81E,GACxBqH,EAAqBrmF,KAAKkkF,wBAAwB7jF,OACxD,GAAI2+E,IAAcnkC,MAAMurC,IAAmBA,EAAiBC,EAAoB,CAC5E,MAAMC,EAAiBtmF,KAAKkkF,wBAAwB3+E,MAAMm8E,GAA6BA,EAAOp7E,MAAQ04E,IACtG,GAAKsH,EAEE,OACGtmF,KAAKohF,cAAc,EAAGphF,KAAKiD,MAAMo+E,qBAAsBiF,EAAgB,GAAG,GAChF,MAAMtsC,EAAgBqsC,EAAqBD,EAC3CpmF,KAAKuB,SAAS,CACV+/E,uBAAwBthF,KAAKkkF,wBAAwBlqC,UALzDh6C,KAAKP,MAAMwlB,UAAUwsB,QAAQ,8CAA8CutC,UA8GxF,KAAApwB,oBAAuBvuC,GAA0CrgB,KAAKP,MAAMuC,OAAO+gB,QAASqH,KAAO/J,EAAMoZ,OAAO9xB,MACtG,KAAA4+E,YAAc,KAC3B,MAAMhM,EAAav6E,KAAKP,MAAM0C,KAAKo4E,WAAWx5D,OAE9C,OAAOw5D,GAAcv6E,KAAKwmF,YAAYjM,GAAY,IAGrC,KAAAkM,aAAgBC,IAC7B,MAAMnM,EAAav6E,KAAKP,MAAM0C,KAAKo4E,WAAWx5D,OACxC4lE,EAAyC,GAE/C,IAAK,MAAMhhF,KAAU+gF,GACZ/gF,EAAOihF,aAAejhF,EAAOkhF,aAAetM,GAAa50E,EAAO60E,WAAaD,EAAWC,UACzFmM,EAAe5lF,KAAKf,KAAKwmF,YAAY7gF,GAAQ,IAGrD,OAAOghF,GAGM,KAAAH,YAAc,CAAC7gF,EAAgB40E,IFzTzB96E,CAAAA,IAEhB,CACHqnF,UAAW,CAAE98E,UAFCvK,EAAM4iF,aAAe,qDAAuD,wBAElE/7E,IAAK7G,EAAMkG,OAAO60E,UAC1ChyE,KAAMjJ,IAAAA,cAAA,KAAGyK,UAAU,yBAAyBvK,EAAMkG,OAAOi3E,UACzDjmE,OAAQA,EAAOlX,GACfsjF,KAAMxjF,IAAAA,cAAA,KAAGyK,UAAU,yBAAyB84E,EAAWrjF,EAAOA,EAAMkG,OAAOo3E,oBAC3ElC,YAAat7E,IAAAA,cAAA,MAAIyK,UAAU,0BAA0BvK,EAAMkG,OAAOqF,OAClE4vE,WAAYr7E,IAAAA,cAAA,KAAGyK,UAAU,yBAAyBvK,EAAMkG,OAAOi1E,YAC/DmM,mBAAoBtnF,EAAM4iF,kBACtB1gF,EAEApC,IAAAA,cAAA,KAAGyK,UAAU,4BAA4BvK,EAAMgR,UAAUu2E,sBAE7DC,KAAMxnF,EAAM4iF,kBAAe1gF,EAAYogF,EAAkBtiF,GAAO,GAChEynF,QAASznF,EAAM4iF,kBAAe1gF,EAAYogF,EAAkBtiF,GAAO,GACnE0nF,KAAMxE,EAAWljF,GACjB2nF,OAAQ9D,EAAa7jF,GACrB4nF,aAAc5nF,EAAMkG,OAAO2hF,aACvB/nF,IAAAA,cAAA,KAAGyK,UAAU,kCAAkCvK,EAAMkG,OAAO2hF,aAAaC,oBAEzE5lF,EAEJ6lF,aAAc/nF,EAAMkG,OAAO2hF,aACvB/nF,IAAAA,cAAA,KAAGyK,UAAU,kCAAkCvK,EAAMkG,OAAO2hF,aAAaE,mBAEzE7lF,EAEJ8lF,aAAchoF,EAAMkG,OAAO2hF,aACvB/nF,IAAAA,cAAA,KAAGyK,UAAU,kCAAkC84E,EAAWrjF,EAAOA,EAAMkG,OAAO2hF,aAAavK,yBAE3Fp7E,EAEJ+lF,cAAe,CAAE19E,UAAW,8BAC5B29E,cAAe,CAAE39E,UAAW,6BAC5B49E,YAAa,CAAE59E,UAAW,2BAC1B69E,cAAe,CAAE79E,UAAW,kCAC5B89E,YAAa,CAAE99E,UAAW,kCEqRnB+9E,CAAW,CACdpiF,OAAAA,EACA8K,UAAStK,EAAA,GAAOnG,KAAKP,MAAMgR,WAC3BxQ,QAASD,KAAKP,MAAMQ,QACpBoiF,aAAc9H,EACdzoB,SAAU9xD,KAAKP,MAAM6H,GACrB0zE,WAAYh7E,KAAKP,MAAMmK,SACvB45E,gBAAiBxjF,KAAKiD,MAAMugF,gBAC5BpK,UAAWp5E,KAAKgoF,uBAChBtE,iBAAkB1jF,KAAKiD,MAAMglF,kBAC7BrF,uBAAwB5iF,KAAKqlF,mBAC7BhC,wBAAyBrjF,KAAKylF,mBAC9B/C,wBAAyB1iF,KAAKslF,4BAC9BnD,aAAcniF,KAAKiD,MAAMk/E,eAIhB,KAAA+F,iBAAmB,KACzBrP,EAAAA,EAAAA,GAAY,CACf0B,WAAYv6E,KAAKP,MAAM0C,KAAKo4E,WAAWx5D,OACvCzb,QAAStF,KAAKP,MAAM0C,KAAKmD,QAAQyb,OACjCtQ,UAAStK,EAAA,GAAOnG,KAAKP,MAAMgR,WAC3BxQ,QAASD,KAAKP,MAAMQ,QACpB6xD,SAAU9xD,KAAKP,MAAM6H,GACrB0zE,WAAYh7E,KAAKP,MAAMmK,SACvB+zB,OAAQ39B,KAAKiD,MAAMiiF,kBACnBvuE,OAAQ3W,KAAKiD,MAAM8hF,iBACnBlK,YAAa76E,KAAKiD,MAAM0hF,gBACxB/J,WAAY56E,KAAKiD,MAAM4hF,eACvB3L,cAAel5E,KAAKqlF,mBACpBhK,cAAer7E,KAAKmoF,eACpB78D,aAActrB,KAAKooF,cACnBnN,eAAgBj7E,KAAKqoF,gBACrB9L,iBAAkBv8E,KAAKsoF,kBACvBlN,gBAAiB,mBACjBhC,UAAWp5E,KAAKuoF,uBAChBlO,SAAUr6E,KAAKiD,MAAMkiF,iBAIZ,KAAAgD,eAAkB9nE,IAC/BrgB,KAAKykF,qBAAqBC,kBAAkBrkE,EAAMoZ,OAAO9xB,QAG5C,KAAAygF,cAAiB/nE,IAC9BrgB,KAAKykF,qBAAqBG,iBAAiBvkE,EAAMoZ,OAAO9xB,QAG3C,KAAA0gF,gBAAmB1gF,IAChC3H,KAAKykF,qBAAqBK,aAAan9E,IAG1B,KAAA09E,mBAAqB,KAClC,MAAM9K,EAAav6E,KAAKP,MAAM0C,KAAKo4E,WAAWx5D,OAC1C/gB,KAAKiD,MAAMiiF,kBACXllF,KAAKuB,SAAS,CAAE2jF,mBAAmB,EAAOC,gBAAgB,IAE1DnlF,KAAKuB,SAAS,CACV2jF,mBAAmB,EACnBL,eAAgBtK,EAAYK,WAC5B+J,gBAAiBpK,EAAYvvE,MAC7B+5E,iBAAkBxK,EAAY5jE,UAKzB,KAAA2xE,kBAAqBE,IAC9BA,EACAxoF,KAAKuB,SAAS,CAAE2jF,mBAAmB,EAAOC,gBAAgB,IAE1DnlF,KAAKuB,SAAS,CAAE4jF,gBAAgB,KAIvB,KAAAsD,mBAAqB,IH7XRhpF,CAAAA,IAC9B,MAAMqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmBmyB,EAAAA,kBAAkB20C,cAC/E4P,GAAwBv2E,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAC9EA,EAAQooB,cAAcC,MAAQgK,EAAAA,kBAAkBwkD,cAChD,MAAMC,GAAmBz2E,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GACzEA,EAAQooB,cAAcC,MAAQgK,EAAAA,kBAAkB60C,OAChD,MAAM6P,GAAkB12E,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAQxE,OANAyvE,EAA+B,CAC3B,CAAEj7E,IAAKi5E,EAAsBuJ,gBAAiBnhF,MAAOlI,EAAMgR,UAAUs4E,gBACrE,CAAEziF,IAAKi5E,EAAsByJ,iBAAkBrhF,MAAOlI,EAAMgR,UAAUw4E,sBACtE,CAAE3iF,IAAKi5E,EAAsB2J,UAAWvhF,MAAOlI,EAAMgR,UAAU04E,uBAG5D,CACHliE,MAAO,CACHc,IAAK2iB,EAAAA,MACL1gC,UAAW,kDACXsf,OAAQ7pB,EAAMy5E,cACdxqB,gBAAiB,aACjB/wB,OAAQl+B,EAAMk+B,OACdw7C,eAAgB15E,EAAM25E,WAE1BlyD,YAAa,CAAEa,IAAK6iB,EAAAA,YAAathB,OAAQ7pB,EAAMy5E,cAAelvE,UAAW,iCACzEod,YAAa,CAAEW,IAAKs3B,EAAAA,YAAar1C,UAAW,iCAC5Cqd,UAAW,CAAEU,IAAK8iB,EAAAA,UAAW7gC,UAAW,+BACxCo/E,OAAQ7pF,IAAAA,cAAA,KAAGyK,UAAU,kCAAkCvK,EAAMgR,UAAU8yE,mBACvE8F,gBAAiB9pF,IAAAA,cAAA,KAAGyK,UAAU,kCAAkCvK,EAAMgR,UAAU64E,sBAChFhQ,aACI/5E,IAAAA,cAAA,SAAAyT,OAAAC,OAAA,CAAQjJ,UAAU,kCAAkCE,QAASzK,EAAMy5E,eAAmB2P,GACjFppF,EAAMgR,UAAU84E,wBAGzB/P,aACIj6E,IAAAA,cAAA,SAAAyT,OAAAC,OAAA,CAAQjJ,UAAU,kCAAkCE,QAASzK,EAAMkmF,cAAkB+C,GAChF,IACAjpF,EAAMgR,UAAU+4E,wBAA0B,UAGnDC,gBACIlqF,IAAAA,cAAA,SAAAyT,OAAAC,OAAA,CAAQjJ,UAAU,mCAAmCE,QAASzK,EAAMy5E,eAAmB0P,GAClFnpF,EAAMgR,UAAUi5E,oBAGzBC,cAAepqF,IAAAA,cAAA,KAAGyK,UAAU,mCAAmCvK,EAAMgR,UAAUm5E,oBAC/EC,uBAAwBtqF,IAAAA,cAAA,KAAGyK,UAAU,mCAAmCvK,EAAMgR,UAAUo5E,wBACxFC,aAActI,EAAW/hF,GACzB+hC,MACIjiC,IAAAA,cAAC2vC,EAAAA,MAAK,CAACllC,UAAU,gCAAgC2zB,OAAQl+B,EAAM46E,SAAUxxE,MAAM,UAC1EpJ,EAAMgR,UAAU6pE,oBG6UlByP,CAAkB,CACrBt5E,UAAStK,EAAA,GAAOnG,KAAKP,MAAMgR,WAC3BxQ,QAASD,KAAKP,MAAMQ,QACpB09B,OAAQ39B,KAAKiD,MAAMuiF,kBACnBpM,UAAWp5E,KAAKgoF,uBAChBpG,YAAa5hF,KAAKiD,MAAM2+E,YACxB1I,cAAel5E,KAAK0lF,oBACpB7D,cAAe7hF,KAAKgqF,eACpBrE,aAAc3lF,KAAKiqF,cACnB5P,SAAUr6E,KAAKiD,MAAMinF,eACrBl4E,iBAAkBhS,KAAKgS,mBAId,KAAAyzE,mBAAsBjL,IACnCx6E,KAAKuB,SAAS,CACVikF,mBAAmB,EACnByC,kBAAmBzN,EACnB2P,UAAU,EACVvI,YAAarC,EAAsBuJ,mBAI1B,KAAApD,oBAAsB,KACnC1lF,KAAKuB,SAAS,CAAEikF,mBAAmB,EAAO0E,gBAAgB,KAG7C,KAAAF,eAAkB3pE,IAC/BrgB,KAAKuB,SAAS,CAAEqgF,YAAavhE,EAAM2iB,cAAcjV,aAAa,aAAe,MAGhE,KAAA63D,sBAAwB,CAACpL,EAAkBoH,KACxDwI,EACI,IAAI5K,EACAhF,GACAiC,EAAAA,EAAAA,iBAAgBz8E,KAAKP,MAAMQ,QAAQC,eACnCF,KAAKP,MAAMQ,QAAQsE,QAAQ4zE,OAC3ByJ,EACA5hF,KAAKqqF,aAAarqF,KAAKP,MAAMQ,QAAQsE,UACrCs4E,EAAAA,EAAAA,sBAAqB78E,KAAKP,MAAMQ,QAAQC,gBAE5CF,KAAKP,MAAMQ,QAAQC,eAElBkB,MAAMkpF,IACH,MAAMC,EAAiBvqF,KAAKiD,MAAMugF,gBAClC+G,EAAexpF,KAAKy5E,GACpBx6E,KAAKuB,SAAS,CAAE4oF,UAAU,EAAM3G,gBAAiB+G,EAAgBL,gBAAgB,OAEpF7nD,OAAOb,IACJxhC,KAAKuB,SAAS,CAAE2oF,gBAAgB,QAI3B,KAAAD,cAAgB,KAC7BjqF,KAAK4lF,sBAAsB5lF,KAAKiD,MAAMglF,kBAAmBjoF,KAAKiD,MAAM2+E,cAGvD,KAAAkE,qBAAuBlmF,MAAAA,UAC9BI,KAAKohF,cAAc,EAAGoJ,EAAaC,eAAgBzqF,KAAKiD,MAAMq+E,uBAAwB,EAAGthF,KAAKiD,MAAMijF,kBAG7F,KAAAL,uBAAyBjmF,MAAAA,UAChCI,KAAKohF,cAAc,EAAGphF,KAAKiD,MAAMo+E,qBAAsBmJ,EAAaC,eAAgB,GAAG,IAGhF,KAAArJ,cAAgBxhF,MAC7B8qF,EACArJ,EACAC,EACA5B,EACAwG,KAEA,MAAMr8D,GAAY8gE,EAAAA,EAAAA,qCAAoC3qF,KAAKP,MAAMQ,QAAQC,eACzE,QAAkByB,IAAdkoB,EACA,OAEJ,MAAM9I,QAAe6pE,EAAAA,EAAAA,2BAEjB,IAAIC,EAAAA,EACAhhE,GACA4yD,EAAAA,EAAAA,iBAAgBz8E,KAAKP,MAAMQ,QAAQC,eACnCF,KAAKP,MAAMQ,QAAQsE,QAAQ4zE,QAC3B2S,EAAAA,EAAAA,kBAAiB9qF,KAAKP,MAAMQ,QAAQC,eACpCmhF,EAAqB/6E,IACrBg7E,EAAuBh7E,IACvBokF,EAAY,EAAI,EAAIA,EACpB1qF,KAAKP,MAAMuC,OAAO29E,wBAEtB3/E,KAAKP,MAAMQ,QAAQC,eAEnB6gB,GAAUA,EAAO7b,OAAS6b,EAAOilE,iBAA+CrkF,IAAjCof,EAAOilE,WAAW9+B,YACjElnD,KAAKuB,SAAS,CACVm+E,YAAAA,EACAuG,cAAellE,EAAO7b,MACtBm8E,qBAAAA,EACAC,uBAAAA,EACA39D,aAAc5C,EAAOilE,WAAW9+B,WAChCg/B,gBAAAA,KAKK,KAAA6E,cAAgB,CAACvQ,EAAkB8E,KAChD,IAAI0L,GAAgB,EAChBviC,EAAOzoD,KAAKiD,MAAMk/E,aAAaxhF,KAAIgF,IAC/BA,EAAO60E,WAAaA,IACpB70E,EAAOy8E,SAAW9C,EAClB0L,GAAgB,GAEbrlF,KAGNqlF,IACDviC,EAAOA,EAAKwiC,OAAO,CAAEzQ,SAAAA,EAAU4H,SAAU9C,KAG7Ct/E,KAAKuB,SAAS,CAAE4gF,aAAc15B,KAGjB,KAAA68B,4BAA8B,CAAC9K,EAAkB8E,KAC9D4L,EACI,IAAIvH,EACAnJ,GACAiC,EAAAA,EAAAA,iBAAgBz8E,KAAKP,MAAMQ,QAAQC,eACnCF,KAAKP,MAAMQ,QAAQsE,QAAQ4zE,OAC3BmH,EACAt/E,KAAKqqF,aAAarqF,KAAKP,MAAMQ,QAAQsE,UACrCs4E,EAAAA,EAAAA,sBAAqB78E,KAAKP,MAAMQ,QAAQC,gBAE5CF,KAAKP,MAAMQ,QAAQC,eAElBkB,MAAK,KACFpB,KAAK+qF,cAAcvQ,EAAU8E,MAEhCj9C,OAAOb,IACJ,MAAM,IAAI0U,MAAM,qDAIX,KAAAm0C,aAAgBpqF,GACtBA,GAAWA,EAAQS,MAAQT,EAAQS,KAAK4wC,MA5Z/C,MACIipC,YAAcx5D,OAAQw5D,IACtBv6E,KAAKP,MAAM0C,KAEfnC,KAAKiD,MAAQ,CACTynF,UAAW,EACX/mE,aAAc,EACdsiE,cAAe,GACfvG,YAAa,EACbyL,aAAa,EACbjF,iBAAiB,EACjB7E,qBAAsBrhF,KAAK6jF,sBAAsB,GACjDvC,uBAAwBthF,KAAKkkF,wBAAwB,GACrDa,iBAAkBxK,EAAaA,EAAW5jE,OAAS,EACnDkuE,eAAgBtK,EAAaA,EAAWK,WAAa,GACrD+J,gBAAiBpK,EAAaA,EAAWvvE,MAAQ,GACjDk6E,mBAAmB,EACnBC,gBAAgB,EAChBK,mBAAmB,EACnB0E,gBAAgB,EAChBC,UAAU,EACVvI,YAAarC,EAAsBuJ,gBACnCb,kBAAmB,GACnBzE,gBAAiB,GACjBrB,aAAc,IAGlBniF,KAAKuoF,uBAAyBhpF,EAAAA,YAC9BS,KAAKgoF,uBAAyBzoF,EAAAA,YAC9BS,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAIZ+P,sBAAsBC,EAAgDqP,GACzE,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,MAAM0C,OAAS8yB,EAAU9yB,KA0C3DmH,SACH,MAAM,UAAEU,EAAS,QAAE+Y,EAAO,uBAAE48D,GAA2B3/E,KAAKP,MAAMuC,QAC5D,YAAE09E,EAAW,aAAE/7D,EAAY,uBAAE29D,EAAsB,qBAAED,GAAyBrhF,KAAKiD,OAErF2gB,gBAAkB7C,OAAQ6C,IAC1B5jB,KAAKP,MAAM0C,KACTsO,EAAYzQ,KAAKP,MAAMgR,UACvBkuE,EAAgBr5D,GAAAA,CAAU,kBAAmBtb,GAC7CT,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACbwD,MAAOjD,KAAKiD,MACZ+G,UAAW20E,EACXz7D,YAAa,CACTA,YAAaljB,KAAKP,MAClBuK,UAAW20E,GAEfzyB,UAAWlsD,KAAKykF,qBAChB2G,YAAaprF,KAAKkoF,mBAClBmD,kBAAmBrrF,KAAKyoF,qBACxB6C,iBACI/rF,EAAAA,cAACgsF,EAAAA,gBAAe,CACZC,UAAW/6E,EAAUg7E,qBACrBxxC,WAAW,sBACXyxC,gBAAiB1rF,KAAKkkF,wBACtBuG,eAAgBnJ,EAChBqK,eAAgB3rF,KAAK6lF,uBACrB+F,oBAAkB,IAG1BC,eACItsF,EAAAA,cAACgsF,EAAAA,gBAAe,CACZC,UAAW/6E,EAAUq7E,mBACrB7xC,WAAW,oBACXyxC,gBAAiB1rF,KAAK6jF,sBACtB4G,eAAgBpJ,EAChBsK,eAAgB3rF,KAAK8lF,uBAG7B3iE,cAAeS,GACXrkB,EAAAA,cAAC+d,EAAAA,gBAAe,CACZJ,UAAW0G,EAAeT,eAAiB,EAC3C3F,UAAQ,EACRJ,WAAWhG,EAAAA,EAAAA,QAAO3G,EAAUsT,uBAAwBH,EAAeT,cAAe,KAClF5F,YAAa,GAAGqG,EAAeD,eAC/BxhB,KAAM,GACNlC,QAASD,KAAKP,MAAMQ,QACpBqH,GAAItH,KAAKP,MAAM6H,GACfsC,SAAU5J,KAAKP,MAAMmK,WAG7BiN,YACItX,EAAAA,cAACkgF,EAAW,CACRhvE,UAAStK,EAAA,GAAOnG,KAAKP,MAAMgR,WAC3BivE,YAAaA,EACb/7D,aAAcA,EACdg8D,uBAAwBA,IAGhCoM,mBAAoB,CAAE/hF,UAAW,6BACjCgiF,iBAAkB,CAAEhiF,UAAW,4BAC/BiiF,YAAajsF,KAAKymF,aAAazmF,KAAKiD,MAAMgjF,eAC1C1L,WAAYv6E,KAAKumF,cACjB2F,aACI3sF,EAAAA,cAACwgF,EAAY,CACTtvE,UAAStK,EAAA,GAAOnG,KAAKP,MAAMgR,WAC3BivE,YAAaA,EACbC,uBAAwBA,EACxB0B,qBAAsBA,EACtBC,uBAAwBA,EACxBF,cAAephF,KAAKohF,cACpBz9D,aAAcA,EACd3R,iBAAkBhS,KAAKgS,mBAG/Bm6E,iBACI5sF,EAAAA,cAAA,QAAMyK,UAAU,iCAAgC,YAAW,UACtDyG,EAAU07E,kBAGnBC,2BACI7sF,EAAAA,cAAA,QAAMyK,UAAU,kCAAiC,YAAW,UACvDyG,EAAU47E,oCAGnBtpE,QAASA,GAAWA,EAAQqH,MACxB7qB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVngB,UAAU,2BACV+d,IAAKhF,EAAQgF,KAAO,KACpBqC,KAAMrH,EAAQqH,KACdC,UAAW,CAAEC,OAAQtqB,KAAK4uD,oBAAqBnuD,eAAgBT,KAAKP,MAAMQ,QAAQsE,WAG1FqkB,cAAe5oB,KAAK6jF,sBACpByI,gBAAiBtsF,KAAKkkF,0BAG1B,OAAOlkF,KAAKP,MAAM+J,WAAWD,KAzO/Bq6E,GAAWl9C,EAAAA,EAAAA,IAAA,CADhBC,EAAAA,IACKi9C,GA0dN,iGCzkBA,MA+CM2I,EAAmB9sF,GAEjBF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMqnF,WACZvnF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMqoF,aACXroF,EAAMkX,OACNlX,EAAM+I,MAEXjJ,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMioF,eACZnoF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMmoF,aACXnoF,EAAMo7E,YACNp7E,EAAMsjF,KACNtjF,EAAMm7E,YAEXr7E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMkoF,eACXloF,EAAM4nF,aACN5nF,EAAMgoF,aACNhoF,EAAM+nF,cAEXjoF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMooF,eACXpoF,EAAMsnF,mBACNtnF,EAAMwnF,KACNxnF,EAAMynF,QACNznF,EAAM0nF,KACN1nF,EAAM2nF,UAOrBoF,EAAoBA,CAAC/sF,EAA8ByjB,IAEjD3jB,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAMwnB,MAAW/D,GACxBzjB,EAAMynB,YACP3nB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM4nB,WACZ9nB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM+2E,MACZj3E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM26E,UACX36E,EAAMkX,OACNlX,EAAMm6E,aAEXr6E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM26E,UACX36E,EAAMs6E,WACNt6E,EAAMq6E,YAEXv6E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM26E,UACX36E,EAAMw6E,UACNx6E,EAAMu6E,WAEVv6E,EAAMy6E,iBACNz6E,EAAM+hC,QAGfjiC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM2nB,aACX3nB,EAAM+5E,aACN/5E,EAAM65E,eAMjBmT,EAAoBA,CAAChtF,EAAoCwD,IAEvD1D,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMwnB,OACZ1nB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMynB,aAAcjkB,EAAMknF,SAAW1qF,EAAM4pF,gBAAkB5pF,EAAM2pF,QAC7E7pF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM4nB,WACXpkB,EAAMknF,SAAW1qF,EAAMoqF,uBAAyB,CAACpqF,EAAMkqF,cAAelqF,EAAMqqF,aAAcrqF,EAAM+hC,QAErGjiC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM2nB,aAAcnkB,EAAMknF,SAAW1qF,EAAMgqF,gBAAkB,CAAChqF,EAAM+5E,aAAc/5E,EAAM65E,gBAK9G,EAvHyD75E,IACrD,MAAM,cACF0jB,EAAa,iBACbmoE,EAAgB,QAChBvoE,EAAO,YACPG,EAAW,iBACXipE,EAAgB,2BAChBC,EAA0B,aAC1BF,EAAY,mBACZH,EAAkB,kBAClBV,EAAiB,iBACjBW,EAAgB,YAChBC,EAAW,YACXp1E,EAAW,YACXu0E,EAAW,eACXS,EAAc,MACd5oF,EAAK,WACLs3E,GACA96E,EAEJ,OAAK86E,GAAqC,IAAvB0R,EAAY5rF,QAAiB4C,EAAMijF,gBAKlD3mF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKiQ,GACPH,EACAI,EACAtM,EACDtX,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK84E,GACLF,EACAP,GAEL/rF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK+4E,GACLzR,GAAcgS,EAAgBhS,GAC9B0R,EAAYtrF,KAAIgF,GACN4mF,EAAgB5mF,MAGP,IAAvBsmF,EAAY5rF,QAAgB4C,EAAMijF,iBAAmBkG,EACrDF,EACAM,EAAkBpB,EAAaloE,GAC/BupE,EAAkBpB,EAAmBpoF,IArBnC1D,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKiQ,GAAcipE,6JC1BlC,MAAMO,EAA6CjtF,GAC/CF,IAAAA,cAAA,KAAGyK,UAAU,4BAA4BvK,EAAM2qB,MAG7CuiE,EAAmHltF,IAM5H,MAAM,KAAE2qB,EAAI,KAAEvlB,EAAI,UAAEuY,EAAS,iBAAEpL,GAAqBvS,EAC9CqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAmBmyB,EAAAA,kBAAkBqH,QACzEpR,GAAajoB,EAAAA,EAAAA,wBAAuBH,EAAmBF,GAC7D,OACIvS,IAAAA,cAAA,IAAAyT,OAAAC,OAAA,CAAGpO,KAAMA,EAAMmF,UAAU,uCAAsC,aAAaoT,GAAegd,GACtFhQ,IAcAwiE,EAA4CntF,IACrD,MAAM,KAAE2qB,EAAI,QAAElgB,EAAO,UAAEkT,EAAS,SAAEwvB,EAAQ,iBAAE56B,EAAgB,GAAE1K,GAAO7H,EAC/DqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAmBmyB,EAAAA,kBAAkB0oD,aACzEzyD,GAAajoB,EAAAA,EAAAA,wBAAuBH,EAAmBF,GAC7D,OACIvS,IAAAA,cAAA,SAAAyT,OAAAC,OAAA,CAAQ3L,GAAIA,EAAI0C,UAAU,kCAAiC,aAAaoT,EAAWlT,QAASA,EAASiY,IAAKyqB,GAAcxS,GACnHhQ,ykBCiBb,MAAMyiE,UAAoBttF,IAAAA,cAyBtBC,YAAmBC,GACfC,MAAMD,GAtBO,KAAAqtF,qBAA8C,CAE3D1H,YAAaplF,KAAKqlF,mBAClBX,kBAAoB15E,IAChBhL,KAAKuB,SAAS,CAAEs5E,YAAa7vE,KAEjC45E,iBAAmBx6D,IACfpqB,KAAKuB,SAAS,CAAEq5E,WAAYxwD,KAEhC06D,aAAenuE,IACX3W,KAAKuB,SAAS,CAAEoV,OAAAA,KAEpBquE,kBAAoBC,IACZA,EACAjlF,KAAKuB,SAAS,CAAE2jF,mBAAmB,EAAOC,gBAAgB,IAE1DnlF,KAAKuB,SAAS,CAAE4jF,gBAAgB,KAGxC7I,aAAAA,EAAAA,GAgFG,KAAA1tB,oBAAuBvuC,GAA0CrgB,KAAKP,MAAMuC,OAAO+gB,QAASqH,KAAO/J,EAAMoZ,OAAO9xB,MACtG,KAAAwgF,eAAkB9nE,IAC/BrgB,KAAK8sF,qBAAqBpI,kBAAkBrkE,EAAMoZ,OAAO9xB,QAG5C,KAAAygF,cAAiB/nE,IAC9BrgB,KAAK8sF,qBAAqBlI,iBAAiBvkE,EAAMoZ,OAAO9xB,QAG3C,KAAA0gF,gBAAmB1gF,IAChC3H,KAAK8sF,qBAAqBhI,aAAan9E,IAG1B,KAAA09E,mBAAqB,KAClC,MAAM9K,EAAav6E,KAAKP,MAAM0C,KAAKo4E,WAAWx5D,OAC1C/gB,KAAKiD,MAAMiiF,kBACXllF,KAAKuB,SAAS,CAAE2jF,mBAAmB,EAAOC,gBAAgB,IACnD5K,EACPv6E,KAAKuB,SAAS,CACV2jF,mBAAmB,EACnBtK,WAAYL,EAAWK,WACvBC,YAAaN,EAAWvvE,MACxB2L,OAAQ4jE,EAAW5jE,SAGvB3W,KAAKuB,SAAS,CACV2jF,mBAAmB,EACnBtK,WAAY,GACZC,YAAa,GACblkE,OAAQ,KAzGhB,MACI4jE,YAAcx5D,OAAQw5D,IACtBv6E,KAAKP,MAAM0C,KACfnC,KAAKqlF,mBAAqBrlF,KAAKqlF,mBAAmB19C,KAAK3nC,MACvDA,KAAK+sF,gBAAkBxtF,IAAAA,YACvB,MAAMoX,EAAS4jE,EAAaA,EAAW5jE,OAAS,EAC1CkkE,EAAcN,EAAaA,EAAWvvE,MAAQ,GAC9C4vE,EAAaL,EAAaA,EAAWK,WAAa,GAExD56E,KAAKiD,MAAQ,CACTiiF,mBAAmB,EACnBvuE,OAAAA,EACAkkE,YAAAA,EACAD,WAAAA,EACAuK,gBAAgB,GAEpBnlF,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAIZ3b,SACH,MAAM,UAAEmH,GAAczQ,KAAKP,OACrB,UAAEuK,EAAS,QAAE+Y,GAAY/iB,KAAKP,MAAMuC,QAEtCsD,SAAWyb,OAAQzb,GACnBi1E,YAAcx5D,OAAQw5D,IACtBv6E,KAAKP,MAAM0C,KAET6qF,EAAWhtF,KAAKP,MAAMQ,SAAWD,KAAKP,MAAMQ,QAAQsE,SAAWvE,KAAKP,MAAMQ,QAAQsE,QAAQ7D,KAC1Fi+E,EAAgBz+D,GAAAA,CAAW,kBAAmB,2BAA4BlW,GAC1ET,EAASpD,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACbwD,MAAOjD,KAAKiD,MACZ+G,UAAW20E,EACXz7D,YAAa,CACTA,YAAaljB,KAAKP,MAClBuK,UAAW20E,EACXr3E,GAAI,MAER4kD,UAAWlsD,KAAK8sF,qBAChBG,cAAe1tF,IAAAA,cAACmtF,EAAa,CAACtiE,KAAM3Z,EAAUw8E,gBAC9CC,aACI3tF,IAAAA,cAACotF,EAAY,CACTviE,KAAM3Z,EAAU08E,YAChB/vE,UAAW3M,EAAU28E,gBACrBvoF,KAAMmoF,EAASnoD,UACf7yB,iBAAkBhS,KAAKgS,mBAG/BwW,YAAaljB,GACT/F,IAAAA,cAACqtF,EAAW,CACRxiE,KAAMmwD,EAAa9pE,EAAU48E,qBAAuB58E,EAAU68E,kBAC9DlwE,UAAW3M,EAAU68E,kBACrB1gD,SAAU5sC,KAAK+sF,gBACf7iF,QAASlK,KAAKqlF,mBACd/9E,GAAI81E,EAAAA,GACJprE,iBAAkBhS,KAAKgS,mBAG/Bo5E,YAAaprF,KAAKutF,wBAClBxqE,QAASA,GAAWA,EAAQqH,MACxB7qB,IAAAA,cAAC4qB,EAAAA,GAAa,CACVngB,UAAU,2BACV+d,IAAKhF,EAAQgF,KAAO,KACpBqC,KAAMrH,EAAQqH,KACdC,UAAW,CAAEC,OAAQtqB,KAAK4uD,oBAAqBnuD,eAAgBT,KAAKP,MAAMQ,QAAQsE,aAK9F,OAAOvE,KAAKP,MAAM+J,WAAWD,GAyCzBgkF,wBACJ,OAAO1U,EAAAA,EAAAA,GAAY,CACf0B,WAAYv6E,KAAKP,MAAM0C,KAAKo4E,WAAWx5D,OACvCzb,QAAStF,KAAKP,MAAM0C,KAAKmD,QAAQyb,OACjCtQ,UAAStK,EAAA,GAAOnG,KAAKP,MAAMgR,WAC3BxQ,QAASD,KAAKP,MAAMQ,QACpB6xD,SAAU9xD,KAAKP,MAAM6H,GACrB0zE,WAAYh7E,KAAKP,MAAMmK,SACvB+zB,OAAQ39B,KAAKiD,MAAMiiF,kBACnBvuE,OAAQ3W,KAAKiD,MAAM0T,OACnBkkE,YAAa76E,KAAKiD,MAAM43E,YACxBD,WAAY56E,KAAKiD,MAAM23E,WACvB1B,cAAel5E,KAAKqlF,mBACpBhK,cAAer7E,KAAKmoF,eACpB78D,aAActrB,KAAKooF,cACnBnN,eAAgBj7E,KAAKqoF,gBACrB9L,iBAAkBv8E,KAAK8sF,qBAAqB9H,kBAC5C5J,gBAAiB,cACjBhC,UAAWp5E,KAAK+sF,gBAChB1S,SAAUr6E,KAAKiD,MAAMkiF,eACrBnzE,iBAAkBhS,KAAKgS,oBAKnC,iGCvNA,MAqBMw6E,EAAoBA,CAAC/sF,EAA8ByjB,IAEjD3jB,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKxT,EAAMwnB,MAAW/D,GACxBzjB,EAAMynB,YACP3nB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM4nB,WACZ9nB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM+2E,MACZj3E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM26E,UACX36E,EAAMkX,OACNlX,EAAMm6E,aAEXr6E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM26E,UACX36E,EAAMs6E,WACNt6E,EAAMq6E,YAEXv6E,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM26E,UACX36E,EAAMw6E,UACNx6E,EAAMu6E,WAEVv6E,EAAMy6E,iBACNz6E,EAAM+hC,QAGfjiC,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM2nB,aACX3nB,EAAM+5E,aACN/5E,EAAM65E,eAMvB,EAnDyD75E,IACrD,MAAM,QAAEsjB,EAAO,cAAEkqE,EAAa,aAAEC,EAAY,YAAE1kE,EAAW,YAAE4iE,EAAW,YAAEloE,GAAgBzjB,EAClFmlC,EAAkBnlC,EAAMQ,QAAQsE,QAAQ7D,KAAKkkC,gBACnD,OACIrlC,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKiQ,GACPH,EACC6hB,EAMErlC,EAAAA,cAAAA,EAAAA,SAAA,KACKipB,EACAgkE,EAAkBpB,EAAaloE,IAPpC3jB,EAAAA,cAAAA,EAAAA,SAAA,KACK0tF,EACAC,wGCFTM,EAmDAC,EA8BAC,quBAwDL,SAASC,EAAYC,GACxB,OACIA,IAAkBC,EAAAA,kBAAkBC,UACpCF,IAAkBC,EAAAA,kBAAkBE,SACpCH,IAAkBC,EAAAA,kBAAkBG,QASrC,SAASC,EACZC,EACAC,GAGA,OAAOA,EAAmB5oF,MAAM6oF,GAC5BC,EAA8BH,EAAqBE,KAUpD,SAASC,EAA8BH,EAA0CE,GAEpF,OACIA,EAAoBE,kBAAoBJ,EAAoBI,iBAC5DF,EAAoBG,qBAAuBL,EAAoBK,oBAC/DH,EAAoB11B,gBAAkBw1B,EAAoBx1B,gBACzDi1B,EAAYS,EAAoB11B,gBAC7B01B,EAAoBI,uBAAyBN,EAAoBM,sBAItE,SAASC,EACZC,EACAC,GAEA,MAAMC,EAAmD,GACzD,IAAIC,GAAmB,EAsBvB,GArBAF,EAA0BzrF,SAAS4rF,IAC/B,GAAIT,EAA8BK,EAAuBR,oBAAqBY,IAE1E,GADAD,GAAmB,EACfH,EAAuBK,YAAa,CACpC,MAAMpvD,EAAIx5B,EAAAA,EAAA,GACH2oF,GAAiB,IACpBN,0BAC2C7sF,IAAtC+sF,EAAuBM,YAA4B,GAAGN,EAAuBM,cAC9EF,EAAkBN,qBACtBS,2BACyCttF,IAApC+sF,EAAuBQ,UAA0B,GAAGR,EAAuBQ,YAC5EJ,EAAkBG,wBAE1BL,EAA0B7tF,KAAK4+B,SAInCivD,EAA0B7tF,KAAK+tF,OAIlCD,EAAkB,CACnB,MAAMlvD,EAAIx5B,EAAAA,EAAA,GACHuoF,EAAuBR,qBAAmB,IAC7CM,0BAC2C7sF,IAAtC+sF,EAAuBM,YAA4B,GAAGN,EAAuBM,cAC9EN,EAAuBR,oBAAoBM,qBAC/CS,2BACyCttF,IAApC+sF,EAAuBQ,UAA0B,GAAGR,EAAuBQ,YAC5ER,EAAuBR,oBAAoBe,wBAEnDL,EAA0B7tF,KAAK4+B,GAI1B+uD,EAAuBR,oBAAoBx1B,gBAAkBm1B,EAAAA,kBAAkBsB,MAC5ET,EAAuBR,oBAAoBx1B,gBAAkBm1B,EAAAA,kBAAkBuB,WACnFV,EAAuBW,8BAA8BC,mBAAqBC,EAAAA,YAAYC,cAEtFd,EAAuBW,8BAA8BI,OAAOvsF,SAASwsF,IACjE,GAAIA,EAAMpB,kBAAoB3uD,EAAK2uD,iBAAmBoB,EAAMlB,uBAAyB7uD,EAAK6uD,0BAEnF,CACH,MAAMmB,EAAgBf,EAA0BzmC,WAAWynC,GACvDvB,EAA8BqB,EAAOE,KAErCD,GAAiB,GACjBf,EAA0BiB,OAAOF,EAAe,OAOpE,OAAOf,GA7OX,SAAYpB,GASRA,EAAAA,EAAA,iBAWAA,EAAAA,EAAA,2BAUAA,EAAAA,EAAA,eAUAA,EAAAA,EAAA,qBAxCJ,CAAYA,IAAAA,EAAgC,KAmD5C,SAAYC,GASRA,EAAAA,EAAA,mBAUAA,EAAAA,EAAA,iBAnBJ,CAAYA,IAAAA,EAAuB,KA8BnC,SAAYC,GASRA,EAAAA,EAAA,eAUAA,EAAAA,EAAA,yBAUAA,EAAAA,EAAA,uBAUAA,EAAAA,EAAA,iBAUAA,EAAAA,EAAA,mBAjDJ,CAAYA,IAAAA,EAAoB,KCzEhC,IAAqBoC,EAArB,cAA2CvwF,EAAAA,cA0BvCC,YAAYC,GACRC,MAAMD,GA1BO,KAAAswF,iBAA2B,gBA2I3B,KAAAC,SAAYzuD,IACzBA,EAAEjhB,iBACFihB,EAAE0uD,kBAEF,MAAMx2D,EAAS8H,EAAEyB,cACXswB,EAAW75B,EAAO1L,aAAa,SAAUxT,SAAS,6BAClD21E,EAAkB58B,OAAW3xD,EAAY3B,KAAKmwF,0BAA0B12D,GAE1Ez5B,KAAKP,MAAM2wF,iBACXpwF,KAAKP,MAAM2wF,gBAAgB,CACvB98B,SAAAA,EACA+8B,YAAa52D,EACb62D,cAAeJ,EACfK,gBAAiB92D,EAAO+2D,eA7HhCxwF,KAAK8R,SAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKP,MAAMuS,iBAAmB,IAvBjE,0BAAuB,IAAAy+E,EAC7B,IAAI,gBAAEC,GAAoB1wF,KAAKP,MAC/B,MAAM,gCAAE+kB,EAA+B,iBAAEmsE,GAAqB3wF,KAAKP,MAWnE,OATsB,QAAlBgxF,EAAAzwF,KAAKP,MAAMQ,eAAO,IAAAwwF,OAAA,EAAlBA,EAAoB1uF,IAAIC,OAAO4uF,+BAAgCC,EAAAA,GAAqCC,UACpGJ,EAAkBA,EAAgBzgF,QAAO8gF,IACrC,MAAMC,EAASL,EAAiBprF,MAC3B0rF,KACKA,EAAUxB,OAAOlqF,MAAMoC,GAA+B0mF,EAA8B1mF,EAAOopF,OAErG,OAAOC,GAAUA,EAAOttF,WAAa8gB,MAGtCksE,EAAgB/vF,KAAI,CAACuvF,EAAsC9qF,KACvD,CACHkB,IAAKtG,KAAKkxF,uBAAuBhB,EAAiB9qF,EAAM6M,YACxDtK,MAAOuoF,MAUZ5mF,SACH,MAAM,aAAE6nF,EAAY,MAAEvoF,EAAK,WAAE8L,EAAU,gBAAE08E,EAAe,eAAEC,GAAmBrxF,KAAKP,MAC5EyF,EAAQlF,KAAKsxF,oBACnBtxF,KAAK8R,QAAQooB,cAAcC,MAAQg3D,EACnC,MAAMI,GAAqBp/E,EAAAA,EAAAA,wBAAuBnS,KAAKP,MAAMuS,iBAAmBhS,KAAK8R,SACrF,OACIvS,EAAAA,cAAA,OAAKyK,UAAU,sBACV9E,EAAM7E,OAAS,GAAKuI,GAASrJ,EAAAA,cAAA,QAAMyK,UAAU,6BAA6BpB,GAC3ErJ,EAAAA,cAAA,MAAIyK,UAAWkW,GAAAA,CAAWxL,EAAY,2BAA4B,kBAC7DxP,EAAMvE,KAAKwC,IACRnD,KAAK8R,QAAQooB,cAAcC,MAAQh3B,EAAKmD,IACxC,MAAMwU,GAAY3I,EAAAA,EAAAA,wBAAuBnS,KAAKP,MAAMuS,iBAAmBhS,KAAK8R,SAE5E,OACIvS,EAAAA,cAAA,MAAIyK,UAAU,gCAAgC1D,IAAKnD,EAAKmD,KACpD/G,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACIjJ,UAAU,2BACVnF,KAAM7E,KAAKP,MAAM+xF,WAAWruF,EAAKwE,OAAO,GAAM,aAClC,GAAGxE,EAAKwE,MAAM6mF,wBAAwB4C,IAClDlnF,QAASlK,KAAKgwF,SACd3kE,KAAK,SACL/jB,GAAInE,EAAKmD,KACLwU,GAEH3X,EAAKwE,MAAM6mF,sBAAqE,KAA7CrrF,EAAKwE,MAAM8pF,gCAExCtuF,EAAKwE,MAAM8pF,oCACqC9vF,IAA7CwB,EAAKwE,MAAM8pF,+BACgB,IAA/BtuF,EAAKwE,MAAM2mF,gBAHXnrF,EAAKwE,MAAM6mF,qBAIXrrF,EAAKmD,IAEX/G,EAAAA,cAAA,QACIyK,UAAW,GAAGhK,KAAK+vF,6CACnB1kE,KAAK,SAAQ,aACDgmE,UAOnCnsF,EAAM7E,OAAS,GAAK8wF,GACjB5xF,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACIpO,KAAM7E,KAAKP,MAAM+xF,WAAW,IAAI,GAChCxnF,UAAU,iCACNunF,EAAkB,CACtBrnF,QAASlK,KAAKgwF,WAEbmB,IAObD,uBAAuBhD,EAA0C9oF,GACrE,MAAM,aAAEssF,EAAY,uBAAEC,EAAsB,iBAAEhB,EAAgB,UAAE1rE,EAAS,cAAE2sE,GAAkB5xF,KAAKP,MAC5FoyF,EAAgBH,GAAgB,MAChCI,EAAcH,EACpB,IAcII,EAdAC,EAAc,GAClB,GAAIrB,GAAoBA,EAAiBprF,KAAM,CAC3C,MAAMyrF,EAASL,EAAiBprF,MAC3B0rF,KACKA,EAAUxB,OAAOlqF,MAAMoC,GAA+B0mF,EAA8B1mF,EAAOumF,OAGhG8C,EAGDgB,EAAchB,EAAOt7E,SAAW,GAFhCuP,EAAUwsB,QAAQ,oEAO1B,GAAIk8C,EAAYO,EAAoBx1B,eAChCq5B,EAAmBD,EACdpsF,QAAQ,MAAO1F,KAAKm/C,aAAa+uC,EAAoBM,qBAAsBN,EAAoB+D,WAC/FvsF,QAAQ,MAAO1F,KAAKm/C,aAAa+uC,EAAoBe,sBAAuBf,EAAoB+D,gBAClG,GAA4C,IAAxC/D,EAAoBI,gBAAuB,CAClD,MAAM4D,EAAcN,MAAAA,OAAa,EAAbA,EAAenC,OAAOlqF,MACtC4sF,GAAWA,EAAQ3D,uBAAyBN,EAAoBM,uBAEpEuD,GAAoBG,EAAcA,EAAYT,8BAAgCvD,EAAoBM,uBAAyB,QAE3HuD,EAAmB7D,EAAoBuD,+BAAiCvD,EAAoBM,sBAAwB,GAGxH,MAAoB,WAAhBwD,GAA4C,UAAhBA,EACrBH,EAAcnsF,QAAQ,MAAOssF,GAAatsF,QAAQ,MAAO,GAAGqsF,KAEhEF,EAAcnsF,QAAQ,MAAOssF,GAAatsF,QAAQ,MAAO,GAAGqsF,KAAoBC,KAAe5sF,KAGlG+5C,aAAa3D,EAA4Bmd,GAC7C,IAAKnd,IAAWmd,EAEZ,OADA34D,KAAKP,MAAMwlB,UAAU4qC,MAAM,2CACpBrU,GAAU,GAErB,IAAIz6B,EAASy6B,EAEb,IACIz6B,EAAS/gB,KAAKP,MAAMQ,QAASgb,iBAAiBC,eAAehS,OAAOsyC,GAASmd,GAC/E,MAAOn3B,GACLxhC,KAAKP,MAAMwlB,UAAUwsB,QAAQ,8BAA8B1wB,MAAWygB,KAG1E,OAAOzgB,EAqBHovE,0BAA0BE,GAC9B,MAAMtvE,EAAS/gB,KAAKsxF,oBAAoB/rF,MAAKg1C,GAAY81C,EAAY/oF,KAAOizC,EAASj0C,MACrF,OAAQya,GAAUA,EAAOpZ,YAAUhG,KA3J7B+kC,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,wCALQ6iD,GAAappD,EAAAA,EAAAA,IAAA,CADjCC,EAAAA,IACoBmpD,GAkKpB,kBCjLM,MAAMsC,EAAwCj6E,IAAa,IAAZ,KAAEiS,GAAMjS,EAC1D,OACI5Y,EAAAA,cAAA,QAAMyK,UAAU,kDACZzK,EAAAA,cAAA,MAAIyK,UAAU,cACT,IACAogB,EACA,OCSJioE,EAA8Dl6E,IAOtE,IAPuE,QACxE7S,EAAO,QACPrF,EAAO,cACPsL,EAAa,UACbkF,EAAS,iBACTuB,EAAgB,eAChBoX,GACHjR,EACG,GAAgB,OAAZ7S,EACA,OAAO,KAGX,MAAM8M,EAAc9M,EAAQ2E,KACtBqoF,EAAkBhtF,GAAWA,EAAQ5B,SAAW4B,EAAQ5B,SAAW,EACnE2N,GAAawH,EAAAA,EAAAA,uBAAsBvT,EAAQ2E,MAAQ,GAAIqoF,EAAiBryF,GAAWA,EAAQC,mBAAeyB,GAC1G6E,GAAgBC,EAAAA,EAAAA,qBAAoBnB,EAAQlB,OAAQnE,EAAQC,cAAcO,eAAeQ,aACzF8hB,EACFqG,GAAqC,iBAAnBA,EAAoC3Y,EAAU8hF,+BAAiC9hF,EAAU+hF,yBAGzG1gF,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAmBI,EAAckgF,EAAgBrgF,YAErF6I,GAAY3I,EAAAA,EAAAA,wBAAuBH,EAAmBF,GAC5D,OACIvS,EAAAA,cAAA,OAAKyK,UAAU,kCACXzK,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACIpO,KAAMwM,EACNnH,SAAS8Q,EAAAA,EAAAA,kBAAiBhJ,EAAmBF,EAASxM,EAAQ2E,OAC1D6Q,EAAS,cACDxV,EAAQ2E,OAEpB1K,EAAAA,cAAA,OAAKyK,UAAU,0CAmB/B,SACIuB,EACAD,EACAsM,EACAzM,EACA3E,EACAvG,GAEA,IAAK2X,IAAatM,IAAiBC,EAC/B,OAAO,KAEX,MAAMsM,EAAkB,CACpBzM,IAAKwM,EACLzM,QAASA,GAAoB,IAE3B2M,EAAa,CACfxM,aAAAA,EACAC,cAAAA,EACAF,YAAa7E,GAEjB,OAAOjH,EAAAA,cAAC2L,EAAAA,GAAK8H,OAAAC,OAAA,GAAK4E,EAASC,EAAU,CAAEtM,oBAAoB,QAAQ/K,eAAgBR,KAtClE0X,CACGpM,EACAtL,EAAQsE,QAAQ+G,aAChBhG,EAAQe,gBACRf,EAAQ2E,KACRzD,EACAvG,EAAQC,cAAcO,kBAIlClB,EAAAA,cAAA,OAAKyK,UAAU,2CACXzK,EAAAA,cAAA,KAAGyK,UAAU,4CAA4C+Y,IA8B7C/X,EA7BQ1F,MAAAA,OAAO,EAAPA,EAAS2E,KA8BlC1K,EAAAA,cAAA,MAAIyK,UAAU,kDAAkDgB,MAD3E,IAA4BA,GCrFrB,MAAMynF,EAAwBt6E,IAAA,IAAC,KAAEiS,EAAI,UAAEpgB,EAAS,KAAEnF,EAAI,UAAEuY,GAAWjF,EAAA,OACtE5Y,EAAAA,cAAA,KAAGyK,UAAWA,EAAWnF,KAAMA,EAAI,aAAcuY,GAC5C,IACAgN,EAAM,MCkBFwiE,EAA4CntF,IACrD,MAAM,KAAE2qB,EAAI,QAAElgB,EAAO,UAAEkT,EAAS,SAAEwvB,EAAQ,GAAEtlC,GAAO7H,EACnD,OACIF,IAAAA,cAAA,UAAQ+H,GAAIA,EAAI0C,UAAU,aAAY,aAAaoT,EAAWlT,QAASA,EAASiY,IAAKyqB,GAChFxiB,IAcPsoE,EAAajzF,GAEXF,IAAAA,cAACmrC,EAAAA,MAAK,CACFgL,WAAS,EACTgZ,gBAAgB,aAChByqB,eAAgB15E,EAAM25E,UACtBz7C,OAAQl+B,EAAMk+B,OACdrU,OAAQ7pB,EAAMy5E,cACdlvE,UAAU,0BACV2oF,OAAQ,OAKdtZ,EAAmB55E,GACdF,IAAAA,cAACqrC,EAAAA,YAAW,CAACthB,OAAQ7pB,EAAMy5E,eAAgBz5E,EAAMgR,UAAUmiF,YAGhEC,EAAmBpzF,GAEjBF,IAAAA,cAAC8/C,EAAAA,YAAW,KACR9/C,IAAAA,cAACuL,EAAAA,OAAM,CAACZ,QAASzK,EAAMy5E,cAAelvE,UAAU,kCAC3CvK,EAAMgR,UAAUqiF,qCCtC1B,SAASvuE,EAAkBC,EAAqDlf,GACnF,IAAKkf,IAAoC7Y,EAAAA,gBAAgBC,YAAYtG,EAAQgQ,iBACzE,OAEJ,MAAMmP,EAAqBnf,EAAQgQ,gBAAgB/P,MAAKuV,GAAaA,EAAUpX,WAAa8gB,IAC5F,OAAIC,EACOA,EAAmBC,eAD9B,EAMG,MAAMquE,EAAgE56E,IAcxE,IAdyE,SAC1E9W,EAAQ,QACRpB,EAAO,cACPsL,EAAa,UACbkF,EAAS,WACTs2B,EAAU,SACV9pB,EAAQ,oBACRoI,EAAmB,iBACnBrT,EAAgB,cAChB+9C,EAAa,wBACbE,EAAuB,gCACvBzrC,EAA+B,qBAC/B/M,EAAoB,gCACpBy3C,GACH/2C,EACG,MAAMT,EAA2C,CAC7CgO,oBAAqBjV,EAAUiV,qBAEnC,OACInmB,EAAAA,cAAA,MAAIyK,UAAU,iBACT3I,EAASV,KAAI,CAAC2E,EAA8BF,IACzC7F,EAAAA,cAAA,MAAIyK,UAAU,iCAAiC1D,IAAKlB,GAChD7F,EAAAA,cAACwY,EAAAA,iBAAgB,CACb9X,QAASA,EACT+R,iBAAkBA,EAClBzG,cAAeA,EACf1B,cAAe4G,EAAUkV,UACzB7b,kBAAmB2G,EAAU3G,kBAC7BC,iBAAkB0G,EAAU1G,iBAC5BmN,gBAAiBzG,EAAUyG,gBAC3BsB,UAAW6M,EACX/d,GAAI2V,EACJ3W,IAAKhB,EAAQ5B,SACbkG,SAAUm9B,EACV5kC,KAAM,CAAEmD,QAAAA,GACRmT,gBAAiBs3C,EACjBE,wBAAyBA,EACzBt3C,eAAgB4L,EAAkBC,EAAiClf,GACnEmS,qBAAsBA,EACtBC,eAAgBA,EAChBs7E,oBAAqBviF,EAAUuiF,oBAC/Bp6E,wBAAyBs2C,MAAAA,OAA+B,EAA/BA,EAAiC3pD,MACtDmX,GACI/Q,EAAAA,gBAAgBC,YAAY8Q,IAC5BA,EAAsB,GAAG6zC,kBAAoBjrD,EAAQo0C,oDC5CrF,IAAqBu5C,EAArB,cAA6C1zF,EAAAA,UAWzCC,YAAmBC,GAA4B,IAAAyzF,EAAA/6E,EAAAg7E,EAAAC,EAAAC,EAAAC,EAAAC,EAC3C7zF,MAAMD,GAXO,KAAA+zF,6BAAoD,IAAIC,IA0IxD,KAAAC,UAAY,CAACC,EAAkBC,EAAkBC,IACvD,CACH,CACIC,QAAS,GAAGH,UACZI,YAAa,GAAGH,IAChBI,iBAAkB,SAEtB,CACIF,QAAS,GAAGH,QACZI,YAAa,GAAGF,IAChBG,iBAAkB,QAgBb,KAAAC,gBAAkB,CAC/BN,EACAO,EACAC,EACAC,EACAC,EACAC,EACAT,KACqB,IAAAU,EAAAC,EAErB,MAAO,CACH,CACIltF,GAAI,GAAGqsF,IAAWO,uBAClBvsF,MAAQwsF,GAAejrF,OAAOirF,IAJN,EAKxB/2E,UAAW,GAA0C,QAA1Cm3E,EAAGv0F,KAAKP,MAAMg1F,oCAA4B,IAAAF,EAAAA,EAAI,MAAMv0F,KAAKggD,eACpE00C,cAAe,GAAGN,KAEtB,CACI9sF,GAAI,GAAGqsF,IAAWO,qBAClBvsF,MAAOuB,OAAOmrF,IAAgBnrF,OAAO2qF,GACrCz2E,UAAW,GAA0C,QAA1Co3E,EAAGx0F,KAAKP,MAAMk1F,oCAA4B,IAAAH,EAAAA,EAAI,MAAMx0F,KAAKggD,eACpE00C,cAAe,GAAGJ,OA7K1Bt0F,KAAK40F,eAAiB50F,KAAK40F,eAAejtD,KAAK3nC,MAC/CA,KAAK60F,kBAAoB70F,KAAK60F,kBAAkBltD,KAAK3nC,MACrDA,KAAK80F,wBAA0B90F,KAAK80F,wBAAwBntD,KAAK3nC,MACjEA,KAAK+0F,WAAa/0F,KAAK+0F,WAAWptD,KAAK3nC,MACvCA,KAAKg1F,WAAah1F,KAAKg1F,WAAWrtD,KAAK3nC,MACvCA,KAAKi1F,iBAAmBj1F,KAAKi1F,iBAAiBttD,KAAK3nC,MACnDA,KAAKk1F,iBAAmBl1F,KAAKk1F,iBAAiBvtD,KAAK3nC,MAEnDA,KAAKm1F,SAAW51F,EAAAA,YAChBS,KAAKo1F,SAAW71F,EAAAA,YAEhB,MAAM,4BAAE81F,GAAgCr1F,KAAKP,MACvC61F,EAA8D,QAApDpC,EAAGmC,MAAAA,OAA2B,EAA3BA,EAA6B7G,4BAAoB,IAAA0E,EAAAA,EAAI,IAClEqC,EAAaF,MAAAA,OAA2B,EAA3BA,EAA6BpG,sBAC1C0E,EAAW,UAAU1iF,OAAOjR,KAAKP,MAAM4vF,8BAA8B3rF,aAAauN,OACpFjR,KAAKP,MAAMyuF,oBAAoBI,mBAE7B3zC,EAAW36C,KAAKP,MAAMyuF,oBAAoBM,qBAC1CgH,EAAWx1F,KAAKP,MAAMyuF,oBAAoBe,sBAC1C2E,EAAW5zF,KAAKm/C,aAAaxE,GAC7Bk5C,EAAW7zF,KAAKm/C,aAAaq2C,GAC7BC,EAAyBz1F,KAAK0zF,UAAUC,EAAUC,EAAUC,GAC5DM,EACiH,QADtGh8E,EAC+C,QAD/Cg7E,EACyB,QADzBC,EACbpzF,KAAKP,MAAM41F,mCAA2B,IAAAjC,OAAA,EAAtCA,EAAwC5E,4BAAoB,IAAA2E,EAAAA,EAAInzF,KAAKP,MAAMyuF,oBAAoBM,4BAAoB,IAAAr2E,EAAAA,EAAI,IACrHk8E,EAEkD,QAFvChB,EACgD,QADhDC,EACyB,QADzBC,EACbvzF,KAAKP,MAAM41F,mCAA2B,IAAA9B,OAAA,EAAtCA,EAAwCtE,6BAAqB,IAAAqE,EAAAA,EAC7DtzF,KAAKP,MAAMyuF,oBAAoBe,6BAAqB,IAAAoE,EAAAA,EACpDmC,EACEpB,EAAmBp0F,KAAKm/C,aAAag1C,GACrCG,EAAmBt0F,KAAKm/C,aAAak1C,GACrCqB,EAAkB11F,KAAKP,MAAMy0F,UAAY,IAAIjjF,OAAOjR,KAAKP,MAAMy0F,aAAe,GAC9EyB,EAAoC31F,KAAKi0F,gBAC3CN,EACA+B,EACAvB,EACAC,EACAC,EACAC,EACAT,GAEJ7zF,KAAKiD,MAAQ,CACTkgD,WAAW,EACXyyC,wBAAoBj0F,EACpBk0F,wBAAoBl0F,EACpBwyF,YAAamB,EACbjB,YAAakB,EACbO,YAAY,EACZC,YAAY,EACZpC,SAAAA,EACAh5C,SAAAA,EACA66C,SAAAA,EACAC,OAAAA,EACAE,aAAAA,GA1DE,mBACN,OAAO31F,KAAKP,MAAMyuF,oBAAoB+D,UAAY,GA6D/Cj9D,sBAAsBC,EAAkCqP,GAC3D,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5CF,mBAAmBihE,GAClBA,IAAkBh2F,KAAKP,OACvBO,KAAKi2F,oBAIN3sF,SACH,MAAM,oBAAE4kF,EAAmB,8BAAEmB,EAA6B,sBAAE6G,GAA0Bl2F,KAAKP,MAE3F,GAAKyuF,GAAwBmB,EAO7B,MAA6B,UAAzBrvF,KAAKP,MAAM02F,UACJn2F,KAAKo2F,qBAGTp2F,KAAKq2F,gBAVRH,EAAsBjxE,UAAUuc,MAC5B,kGAeJy0D,oBAAiB,IAAAK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACrB,MAAMhD,EAAW,UAAU1iF,OAAOjR,KAAKP,MAAM4vF,8BAA8B3rF,aAAauN,OACpFjR,KAAKP,MAAMyuF,oBAAoBI,mBAE7B3zC,EAAW36C,KAAKP,MAAMyuF,oBAAoBM,qBAC1CgH,EAAWx1F,KAAKP,MAAMyuF,oBAAoBe,sBAC1C2E,EAAW5zF,KAAKm/C,aAAaxE,GAC7Bk5C,EAAW7zF,KAAKm/C,aAAaq2C,GAC7BC,EAAyBz1F,KAAK0zF,UAAUC,EAAUC,EAAUC,GAC5DM,EACiH,QADtGmC,EAC+C,QAD/CC,EACyB,QADzBC,EACbx2F,KAAKP,MAAM41F,mCAA2B,IAAAmB,OAAA,EAAtCA,EAAwChI,4BAAoB,IAAA+H,EAAAA,EAAIv2F,KAAKP,MAAMyuF,oBAAoBM,4BAAoB,IAAA8H,EAAAA,EAAI,IACrHjC,EAEkD,QAFvCoC,EACgD,QADhDC,EACyB,QADzBC,EACb32F,KAAKP,MAAM41F,mCAA2B,IAAAsB,OAAA,EAAtCA,EAAwC1H,6BAAqB,IAAAyH,EAAAA,EAC7D12F,KAAKP,MAAMyuF,oBAAoBe,6BAAqB,IAAAwH,EAAAA,EACpDjB,EACEpB,EAAmBp0F,KAAKm/C,aAAag1C,GACrCG,EAAmBt0F,KAAKm/C,aAAak1C,GACrCqB,EAAkB11F,KAAKP,MAAMy0F,UAAY,IAAIjjF,OAAOjR,KAAKP,MAAMy0F,aAAe,GAC9EyB,EAAoC31F,KAAKi0F,gBAC3CN,EACA+B,EACAvB,EACAC,EACAC,EACAC,EACAT,GAEJ7zF,KAAKuB,SAAS,CAAEoyF,SAAAA,EAAUh5C,SAAAA,EAAU66C,SAAAA,EAAUC,OAAAA,EAAQE,aAAAA,IA8DlDS,qBACJ,MAAM,WAAE35E,EAAU,8BAAE4yE,EAA6B,sBAAE6G,GAA0Bl2F,KAAKP,OAC5E,YAAE00F,EAAW,YAAEE,EAAW,WAAEyB,EAAU,WAAEC,EAAU,mBAAEH,EAAkB,mBAAEC,GAAuB71F,KAAKiD,MAGpG2zF,EAAY,CACd,cAFoBV,EAAsBW,iBAAmB,OAAOnxF,QAAQ,MAAO2pF,EAA8B35E,SAAW,IAG5H,gBAAiB+G,GAOfq6E,EAAoB,mEACtBlB,EAAqB,qCAAuC,IAE1DmB,EAAoB,mEACtBlB,EAAqB,qCAAuC,IAI1DmB,EAAuBh3F,KAAKi3F,2BAA2B9C,EAAa2B,EAAYF,GAChFsB,EAAuBl3F,KAAKi3F,2BAA2B5C,EAAa0B,EAAYF,GACtF,OACIt2F,EAAAA,cAAA,OAAAyT,OAAAC,OAAA,CAAMjJ,UAAU,0CAA6C4sF,GACzDr3F,EAAAA,cAAA,SAAOyK,UANW,8EAObksF,EAAsBiB,SACvB53F,EAAAA,cAAA,SACIyK,UAAW8sF,EACXtkF,SAAUxS,KAAK+0F,WACf9gE,QAASj0B,KAAK+0F,WACd7gE,OAAQl0B,KAAKi1F,iBACbttF,MAAOqvF,EACP70E,IAAKniB,KAAKm1F,YAGlB51F,EAAAA,cAAA,SAAOyK,UAhBW,8EAiBbksF,EAAsBkB,SACvB73F,EAAAA,cAAA,SACIyK,UAAW+sF,EACXl0D,YAAaq0D,OAAuBv1F,EAAYu0F,EAAsBmB,mBACtE7kF,SAAUxS,KAAKg1F,WACf/gE,QAASj0B,KAAKg1F,WACd9gE,OAAQl0B,KAAKk1F,iBACbvtF,MAAOuvF,EACP/0E,IAAKniB,KAAKo1F,YAGjBQ,GACGr2F,EAAAA,cAAA,QAAMyK,UAAU,wFACX4rF,GAGRC,GAAsBD,IAAuBC,GAC1Ct2F,EAAAA,cAAA,QAAMyK,UAAU,wFACX6rF,IAObQ,gBACJ,MAAM,WAAE55E,EAAU,UAAEy3E,GAAcl0F,KAAKP,MACjC63F,EAAiB,CACnB,gBAAiB76E,GAGrB,OACIld,EAAAA,cAACg4F,EAAAA,OAAMvkF,OAAAC,OAAA,CACHjJ,UAAU,mCACV1D,IAAKtG,KAAKiD,MAAM0wF,SAChBO,UAAWA,EACX5sF,GAAItH,KAAKiD,MAAM0wF,SACf6D,QAAQ,EACR58C,IAAM56C,KAAKiD,MAAM03C,UAAYzxC,OAAOlJ,KAAKiD,MAAM03C,gBAAch5C,EAC7DoS,IAAM/T,KAAKiD,MAAMuyF,UAAYtsF,OAAOlJ,KAAKiD,MAAMuyF,gBAAc7zF,EAC7D81F,KAAM,EACNC,YAAY,aACZjC,OAAQz1F,KAAKiD,MAAMwyF,OACnBkC,YAAU,EACVC,aAAW,EACXjC,aAAc31F,KAAKiD,MAAM0yF,aACzBkC,YAAa73F,KAAK60F,kBAClBriF,SAAU45C,GAAAA,CAASpsD,KAAK40F,eAAgB,KACxCkD,kBAAmB93F,KAAK80F,yBACpBwC,IAKRvC,WAAW10E,GACfrgB,KAAK+3F,aAAa13E,EAAO,OAGrB20E,WAAW30E,GACfrgB,KAAK+3F,aAAa13E,EAAO,OAGrB03E,aAAa13E,EAA2C23E,GAC5D,MAAMC,EAAc,WAAWD,IACzBE,EAAa,UAAUF,IAC7Bh4F,KAAKuB,SAAS,CACV,CAAC02F,GAAcj4F,KAAKm4F,2BAA2B93E,EAAM2iB,cAAcr7B,OACnE,CAACuwF,IAAa,IAIdjD,iBAAiB50E,GACrB,MAAM+3E,EAAmBp4F,KAAKm4F,2BAA2B93E,EAAM2iB,cAAcr7B,OAC7E3H,KAAKuB,SAAS,CACV4yF,YAAaiE,EACbC,YAAY,IAEhB,MAAMlD,EAAWjsF,OAAOkvF,IAClB,SACFtsB,EAAQ,8BACRujB,EAA6B,oBAC7BnB,EAAmB,sBACnBgI,EAAqB,4BACrBb,GACAr1F,KAAKP,MACHsU,EAAOshF,GAA+BA,EAA4BpG,4BAA0BttF,EAE5F22F,EAASvkF,EAAM7K,OAAO6K,QAAOpS,EAEnC,OAAIk5C,MAAMs6C,IACNn1F,KAAKuB,SAAS,CAAEq0F,mBAAoBM,EAAsBqC,qBAC1Dv4F,KAAKw4F,OAAO,QACL,GAGPx4F,KAAKy4F,eAAetD,EAAUmD,IAC9BxsB,EAAS,CACLujB,8BAAAA,EACAnB,oBAAAA,EACAa,aAAa,EACbC,WAAYmG,EACZjG,SAAUoJ,KAEP,IAEXt4F,KAAKw4F,OAAO,QAEL,GAGHtD,iBAAiB70E,GACrB,MAAMq4E,EAAmB14F,KAAKm4F,2BAA2B93E,EAAM2iB,cAAcr7B,OAC7E3H,KAAKuB,SAAS,CACV8yF,YAAaqE,EACbC,YAAY,IAEhB,MAAMvD,EAAWlsF,OAAOwvF,IAClB,SACF5sB,EAAQ,8BACRujB,EAA6B,oBAC7BnB,EAAmB,sBACnBgI,EAAqB,4BACrBb,GACAr1F,KAAKP,MACHm7C,EAAOy6C,GAA+BA,EAA4B7G,sBAAyB,IAE3FoK,EAAS1vF,OAAO0xC,GAEtB,OAAIC,MAAMu6C,IACNp1F,KAAKuB,SAAS,CAAEs0F,mBAAoBK,EAAsBqC,qBAC1Dv4F,KAAKw4F,OAAO,QACL,KAGPx4F,KAAKy4F,eAAeG,EAAQxD,KACxBlH,EACApiB,EAAS,CACLujB,8BAAAA,EACAnB,oBAAAA,EACAa,aAAa,EACbC,WAAY4J,EACZ1J,SAAUkG,IAGdp1F,KAAKw4F,OAAO,QAET,GAMPA,OAAOR,GACX,MAAM71E,EAAoB,QAAd61E,EAAsBh4F,KAAKo1F,SAAWp1F,KAAKm1F,SAEvD95D,YAAW,KACHlZ,GAAOA,EAAIja,SACXia,EAAIja,QAAQ2vC,UAEjB,IAGCo/C,2BACJ18C,EACAs+C,EACAC,GAEA,OAAID,GAAWC,QAAgCn3F,IAAb44C,EACvBA,EAEJv6C,KAAKm/C,aAAa5E,GAGrBk+C,eAAe79C,EAAa7mC,GAChC,MAAM,sBAAEmiF,GAA0Bl2F,KAAKP,MACvC,YAAYkC,IAARoS,MAIA6mC,EAAM7mC,KACN/T,KAAKuB,SAAS,CACVq0F,mBAAoBM,EAAsB6C,qBAC1ClD,mBAAoBK,EAAsB6C,wBAEvC,IAMP55C,aAAa3D,GACjB,GAAuD,IAAnDx7C,KAAKP,MAAMyuF,oBAAoBI,gBAAuB,CAEtD,OADetuF,KAAKP,MAAMQ,QAAQgb,iBAAiBC,eAAehS,OAAOsyC,GAASx7C,KAAKggD,cAG3F,OAAOxE,GAAU,GAGb28C,2BAA2B3qD,GAE/B,MAAMwrD,EAAa9vF,OAAOskC,GAC1B,IAAKqN,MAAMm+C,GACP,OAAOxrD,EAKX,OAD4BxtC,KAAKwzF,6BAA6Bh0D,IAAIgO,IACpCA,EAK1BonD,eAAeqE,GAEnB,GAA2C,cAAvCA,EAAyBC,UAA2B,CACpD,MAAM,SAAEptB,EAAQ,8BAAEujB,EAA6B,oBAAEnB,GAAwBluF,KAAKP,MAC1EyuF,GAAuB+K,IACvBntB,EAAS,CACLujB,8BAAAA,EACAnB,oBAAAA,EACAa,aAAa,EACbC,WAAYiK,EAAyBE,gBACrCjK,SAAU+J,EAAyBG,mBAGvCp5F,KAAKq5F,oBAAoBJ,KAM7BpE,kBAAkBoE,GACtB,MAAM,SAAEntB,EAAQ,8BAAEujB,EAA6B,oBAAEnB,GAAwBluF,KAAKP,MAC1EyuF,GAAuB+K,IACvBntB,EAAS,CACLujB,8BAAAA,EACAnB,oBAAAA,EACAa,aAAa,EACbC,WAAYiK,EAAyBE,gBACrCjK,SAAU+J,EAAyBG,mBAGvCp5F,KAAKq5F,oBAAoBJ,IAKzBI,oBAAoBJ,GACxB,GAAIA,EAAyB3xF,GAAI,CAC7B,MAAMgyF,EAAU76E,SAAS86E,eAAe,GAAGN,EAAyB3xF,WAChEgyF,GACAj+D,YAAW,KACPi+D,EAAQzhD,UACT,IAKPi9C,wBAAwB0E,GAC5B,OAAOx5F,KAAKm/C,aAAa,GAAGq6C,QAjetB9yD,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,iCAPQgmD,GAAevsD,EAAAA,EAAAA,IAAA,CADnCC,EAAAA,IACoBssD,GA0epB,8TClec,MAAMwG,UAAmBl6F,EAAAA,UAKpCC,YAAmBC,GACfC,MAAMD,GAmKO,KAAAuwF,SAAYzuD,IACzBA,EAAEjhB,iBAEF,MAAM,8BAAE+uE,EAA6B,oBAAEnB,EAAmB,4BAAEmH,GAAgCr1F,KAAKP,MAC7FyuF,IACAluF,KAAKP,MAAMqsE,SAAS,CAChBujB,8BAAAA,EACAnB,oBAAAA,EACAa,aAAcsG,IAGlBh6D,YAAW,KACPr7B,KAAK05F,WAAWxxF,SAAWlI,KAAK05F,WAAWxxF,QAAQ2vC,UACpD,KA/KP73C,KAAKgwF,SAAWhwF,KAAKgwF,SAASroD,KAAK3nC,MACnCA,KAAKiD,MAAQ,CACTkgD,YAAanjD,KAAKP,MAAM41F,6BAE5Br1F,KAAK05F,WAAan6F,EAAAA,YAClBS,KAAK8R,SAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKP,MAAMuS,iBAAmB,IAGpEgjB,sBAAsBC,EAA6BqP,GACtD,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5C3rB,SAAM,IAAAqwF,EAAAC,EAAAC,EACT,MAAAC,EAgBI95F,KAAKP,OAhBH,WACFgd,EAAU,sBACVy5E,EAAqB,8BACrB7G,EAA6B,oBAC7BnB,EAAmB,4BACnBmH,EAA2B,sBAC3B0E,EAAqB,4BACrBC,EAA2B,MAC3B50F,EAAK,SACL8lE,EAAQ,SACRY,EAAQ,QACR7rE,EAAO,iBACP+R,EAAgB,oBAChBioF,EAAmB,qBACnBC,GAEHJ,EADMK,GAAK7xC,EAAAA,EAAAA,GAAAwxC,EAAAvxC,GAEZ,IAAK2lC,EAED,YADAgI,EAAsBjxE,UAAUuc,MAAM,sEAGrC0sD,EAAoBM,sBACrB0H,EAAsBjxE,UAAUwsB,QAC5B,2DAA2D3a,KAAKC,UAAUm3D,MAGlF,MAAMkM,EAAiB/K,EAA8BC,mBAAqBC,EAAAA,YAAYC,aACtF,IAAI6K,EAAoBD,EAAiB,gBAAkB,eAC3DC,EAAoB,0BAA0BA,IAC9C,MAAMrC,EAAYoC,EAAiB,QAAU,WACvCj3C,IAAckyC,EAEpB,GADAgF,EAAoBl3C,EAAY,GAAGk3C,YAA8BA,EAC7DhL,EAA8BiL,cAAgB5M,EAAAA,qBAAqB6M,OACnE,OAAOv6F,KAAKw6F,cACRtM,EACAmB,EACAlsC,EACAljD,EACAmF,EACA4M,EACA+nF,EACAC,GAGRh6F,KAAK8R,QAAQooB,cAAcC,MAAyD,QAApDw/D,EAAGzL,EAAoBuD,qCAA6B,IAAAkI,EAAAA,EAAIzL,EAAoBM,qBAC5G,MAAM1zE,GAAY3I,EAAAA,EAAAA,wBAAuBH,EAAmBhS,KAAK8R,SAE3D46C,EAAcwhC,EAAoBuD,+BAAiCvD,EAAoBM,sBAAwB,GAE/GiM,EAAevM,EAAoBwM,OAAS,EAClD,IAAIC,EAEAA,EADiB,IAAjBF,EAC0BR,GACpB7iF,EAAAA,EAAAA,QAAO6iF,EAAqB5K,EAA8B35E,QAASg3C,GACnE,GAEoBwtC,GACpB9iF,EAAAA,EAAAA,QAAO8iF,EAAsB7K,EAA8B35E,QAASg3C,EAAa+tC,GACjF,GAGV,MAAMvgF,EAAsF,QAAzE0/E,EAAoD,QAApDC,EAAI75F,KAAKP,MAAM4vF,8BAA8B35E,eAAO,IAAAmkF,OAAA,EAAhDA,EAAkDlkF,2BAAmB,IAAAikF,EAAAA,EAAI,GAC1FgB,EAAwB56F,KAAK66F,0BAA0B3gF,GAE7D,IAAIlQ,EAAY,yBACZ4wF,IACA5wF,EAAYkW,GAAAA,CAAWlW,EAAW,sCAAsCkQ,MAK5E,MAAM4gF,GAAY1gF,EAAAA,iBAAiBC,mBAAmB6zE,EAAoB5xE,oBACpEy+E,GAAY3gF,EAAAA,iBAAiBC,mBAAmB6zE,EAAoB3xE,gBACpEy+E,EAAmBF,GAAYC,EAErC,OACIx7F,EAAAA,cAAA,MAAIyK,UAAWA,EAAW1C,GAAI,GAAG+nF,EAA8B35E,WAAYtQ,KACvE7F,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACI3M,IAAK+uF,EAA8B,OAAS,QAC5ClzE,IAAKniB,KAAK05F,WACV70F,KAAM7E,KAAKi7F,iBACX1xE,SAAUuxE,GAAY,EAAI,EAC1B5wF,QAASlK,KAAKgwF,SACdhmF,UAAWqwF,EACXhvE,KAAM2sE,EAAS,aACH2C,EAAuB,iBACnBtF,GACZv6E,EACAq/E,GAEHa,GAAoBJ,GAAyB56F,KAAKk7F,cAAchhF,GACjE3a,EAAAA,cAAA,QAAMyK,UAAU,gCAA+B,cAAa,QAEvDkkF,EAAoBuD,+BAAiCvD,EAAoBM,0BAC3C7sF,IAA9BusF,EAAoBwM,OAAuB,KAAKxM,EAAoBwM,YAOjFG,0BAA0B3gF,GAE9B,OAD8BihF,EAAAA,EAAAA,8BAA6BjhF,EAAela,KAAKP,MAAMQ,SAIjFi7F,cAAchhF,GAA6B,IAAAkhF,EAC/C,MAAMlN,EAAsBluF,KAAKP,MAAMyuF,oBAGjC9jE,EAAO8jE,EAAoBuD,+BAAiCvD,EAAoBM,sBAAwB,GACxG6M,EAAc,CAChB,CACIj/E,OAAQ,GAAsC,QAAtCg/E,EAAGlN,EAAoBI,uBAAe,IAAA8M,EAAAA,EAAI,MAAMlhF,KAAiBkQ,IACzEziB,MAAOyiB,EACPlQ,cAAAA,EACAmC,aAAc6xE,EAAoB5xE,mBAClC1E,SAAUs2E,EAAoB3xE,iBAItC,OACIhd,EAAAA,cAACilE,EAAAA,gBAAe,CACZx6D,UAAU,iCACV/I,YAAajB,KAAKP,MAAMQ,QAAQsE,QAAQtD,YACxCwnD,KAAM4yC,EACN52B,oBAAoB,EACpB62B,cAAY,IAKhBL,iBACJ,MAAM,WAAEzJ,EAAU,8BAAEnC,EAA6B,oBAAEnB,EAAmB,4BAAEmH,GAAgCr1F,KAAKP,MAE7G,OAAIyuF,EACOsD,EAAW,CACdnC,8BAAAA,EACAnB,oBAAAA,EACAa,aAAcsG,IAIf,GAoBHmF,cACJtM,EACAmB,EACAlsC,EACAljD,EACAmF,EACA4M,EACAupF,EACAC,GAEA,GAAItN,EAAoBM,qBAAsB,CAAC,IAAD2E,EAAAsI,EAC1Cz7F,KAAK8R,QAAQooB,cAAcC,MAAQ+zD,EAAoBuD,8BACvD,MAAM32E,GAAY3I,EAAAA,EAAAA,wBAAuBH,EAAmBhS,KAAK8R,SAC3D4pF,EAAgBxyF,OAAO0jB,SAASshE,EAAoBM,qBAAsB,IAC1EmN,EAAgD,QAAnCxI,EAAGnzF,KAAKP,MAAMm8F,6BAAqB,IAAAzI,OAAA,EAAhCA,EAAkC5tF,MACpDoC,GAASA,EAAM+wD,gBAAkBw1B,EAAoBx1B,gBAGnDmjC,EAAiB3yF,OAAO0jB,UAAS+uE,MAAAA,OAAa,EAAbA,EAAenN,uBAAwB,IAAK,IAC7EsN,EAAyB,EAC/B,IAAIC,EAA+B,sBAE/BA,EADAL,EAAgBG,EACO,GAAGE,QACnBL,EAAgBG,EACA,GAAGE,UAEH,GAAGA,aAE9B,MAAMC,OAC4Br6F,IAA9BusF,EAAoBwM,OAAuBxM,EAAoBwM,QAAUoB,EACnEN,IAAkCpkF,EAAAA,EAAAA,QAAOokF,EAAgCtN,EAAoBwM,OAC7Fa,IAA4BnkF,EAAAA,EAAAA,QAAOmkF,EAA0BrN,EAAoBwM,OAC3F,OACIn7F,EAAAA,cAAA,MACIyK,UAAU,wDACVqhB,KAAOrrB,KAAKP,MAAM8vE,kBAAgC5tE,EAAjB,eACjC2F,GAAI,GAAG+nF,EAA8B35E,WAAYtQ,KAEjD7F,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CACIpO,KAAM7E,KAAKi7F,iBACX5vE,KAAK,SAAQ,gBACE83B,EAAS,aACZ,GAAGksC,EAA8B35E,WAAYw4E,EAAoBuD,0DAC3EuK,IACF9xF,QAASlK,KAAKgwF,UACVl1E,GAEJvb,EAAAA,cAAC+d,EAAAA,gBAAe,CACZtT,UAAW+xF,EACX7+E,UAAWw+E,EACXn+E,YAA8D,QAAnDk+E,EAAEvN,EAAoBuD,qCAA6B,IAAAgK,EAAAA,EAAIvN,EAAoBM,qBACtF5P,WAAW,EACXphE,UAAQ,EACRJ,UAAU,GACVnd,QAASA,EACTqH,GAAItH,KAAKP,MAAMwd,SACfrT,SAAU5J,KAAKP,MAAMud,eACrB7a,KAAM,KAEV5C,EAAAA,cAAA,QAAMyK,UAAU,8BAA6B,cAAchK,KAAKP,MAAM8vE,aAAe,YAAS5tE,QAC3DA,IAA9BusF,EAAoBwM,OAAuB,IAAIxM,EAAoBwM,8BClPhG,MAAMuB,UAAsB18F,EAAAA,UACxBC,YAAYC,GACRC,MAAMD,GAENO,KAAKk8F,cAAgBl8F,KAAKk8F,cAAcv0D,KAAK3nC,MAC7CA,KAAKm8F,iBAAmBn8F,KAAKm8F,iBAAiBx0D,KAAK3nC,MAEnD,MAAMipB,EAAajpB,KAAKP,MAAM28F,wBAM9Bp8F,KAAKiD,MAAQ,CACTo5F,SAAUpzE,GAIX+L,sBAAsBC,EAAgCqP,GACzD,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAM5C3rB,SACH,MAAM,wBAAEgzF,EAAuB,sBAAEpG,GAA0Bl2F,KAAKP,MAMhE,GAJK68F,GACDpG,EAAsBjxE,UAAUuc,MAAM,wDAGtC86D,EAAwBhC,cAAgB5M,EAAAA,qBAAqB6M,QAAUv6F,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO+a,WACrG,OAAO,KAGX,MAAM/S,EAAYkW,GAAAA,CACd,oBACA,aACAo8E,EAAwB5mF,SAG5B,OACInW,EAAAA,cAAA,OAAKyK,UAAWA,GACZzK,EAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAWhK,KAAKiD,MAAMo5F,SAAW,qCAAuC,sCAAqC,aACjGC,EAAwB5mF,QACpCxL,QAASlK,KAAKm8F,iBAAgB,gBACfn8F,KAAKiD,MAAMo5F,UAEzBC,EAAwB5mF,SAE7BnW,EAAAA,cAACm+B,EAAAA,SAAQ,CAACC,OAAQ39B,KAAKiD,MAAMo5F,SAAUE,QAAS,KAC3Cv8F,KAAKw8F,kBAAkBF,KAMhCE,kBAAkBF,GACtB,OAAI3O,EAAY2O,EAAwB5jC,eAC7B14D,KAAKy8F,aAAaH,GAEtBt8F,KAAK08F,yBAAyBJ,GAGjCI,yBAAyBJ,GAC7B,MAAM,WACF7/E,EAAU,sBACVy5E,EAAqB,sBACrB0F,EAAqB,QACrB37F,EAAO,sBACP85F,EAAqB,4BACrBC,EAA2B,oBAC3BC,EAAmB,qBACnBC,EAAoB,SACpB3xE,GACAvoB,KAAKP,MAIH4rB,EAFFixE,EAAwBhN,mBAAqBC,EAAAA,YAAYC,cACzD8M,EAAwBhC,cAAgB5M,EAAAA,qBAAqB6M,OACnC,CAAElvE,KAAM,gBAAc1pB,EAC9Cg7F,EAAoBL,EAAwB7M,QAAU,GACtDmN,EAAYD,EAAkBh8F,KAAI,CAAC+uF,EAA4BtqF,KACjE,IAAKsqF,EAID,OAHAwG,EAAsBjxE,UAAUuc,MAC5B,6DAA6D86D,EAAwB54F,aAAa44F,EAAwB5mF,YAEvH,KAGX,MAAM2/E,EAA8BpH,EAAgCyB,EAAOkM,GAE3E,OACIr8F,EAAAA,cAACk6F,EAAU,CACPpK,8BAA+BiN,EAC/BpO,oBAAqBwB,EACrB2F,4BAA6BA,EAC7BuG,sBAAuBA,EAAsB3rF,QAAOkqC,GAChDwiD,EAAkBp3F,MAAKoC,GAASA,EAAM2mF,kBAAoBn0C,EAAcm0C,oBAE5E4H,sBAAuBA,EACvBpqB,SAAU9rE,KAAKk8F,cACf1K,WAAYxxF,KAAKP,MAAM+xF,WACvB/0E,WAAYA,EACZnW,IAAKlB,EACLA,MAAOA,EACPnF,QAASA,EACTgd,SAAUjd,KAAKP,MAAMwd,SACrBD,eAAgBhd,KAAKP,MAAMud,eAC3BhL,iBAAkBhS,KAAKP,MAAMuS,iBAC7B+nF,sBAAuBA,EACvBE,oBAAqBA,EACrBC,qBAAsBA,EACtBF,4BAA6BA,EAC7BzqB,aAAchnD,OAI1B,OACIhpB,EAAAA,cAAA,KAAAyT,OAAAC,OAAA,CACIjJ,UAAW,2BAA2BsyF,EAAwB5mF,WAC1D2V,EAAI,cACIixE,EAAwB5mF,UAEnCknF,GAKLC,cAAcP,GAClB,OACIA,EAAwBQ,uBAAyBC,EAAAA,gBAAgBC,OACjEV,EAAwBQ,uBAAyBC,EAAAA,gBAAgBxF,QACjE+E,EAAwBQ,uBAAyBC,EAAAA,gBAAgBE,eAE1D,SAEJ,QAGHR,aAAaH,GACjB,MAAM,WACF7/E,EAAU,sBACVy5E,EAAqB,sBACrB0F,EAAqB,QACrB37F,EAAO,6BACPw0F,EAA4B,6BAC5BE,GACA30F,KAAKP,MAGHm9F,GADoBN,EAAwB7M,QAAU,IACxB9uF,KAAI,CAAC+uF,EAA4BtqF,KACjE,IAAKsqF,EAID,OAHAwG,EAAsBjxE,UAAUuc,MAC5B,4CAA4C86D,EAAwB54F,aAAa44F,EAAwB5mF,YAEtG,KAGX,MAAM2/E,EAA8BpH,EAAgCyB,EAAOkM,GAErEzF,EAAYn2F,KAAK68F,cAAcP,GAC/Bh2F,EAAM+uF,EACN,GAAGA,EAA4B7G,wBAAwB6G,EAA4BpG,wBACnF,gBAAgB7pF,IACtB,OACI7F,EAAAA,cAAA,MAAIyK,UAAW,sEAAoC1D,IAAKlB,GACpD7F,EAAAA,cAAC0zF,EAAe,CACZ5D,8BAA+BiN,EAC/BpO,oBAAqBwB,EACrB2F,4BAA6BA,EAC7Ba,sBAAuBA,EACvBpqB,SAAU9rE,KAAKk8F,cACf1K,WAAYxxF,KAAKP,MAAM+xF,WACvB/0E,WAAYA,EACZ05E,UAAWA,EACX7vF,IAAKA,EACL4tF,UAAW5tF,EACXrG,QAASA,EACTw0F,6BAA8BA,EAC9BE,6BAA8BA,EAC9B13E,SAAUjd,KAAKP,MAAMwd,SACrBD,eAAgBhd,KAAKP,MAAMud,qBAK3C,OAAOzd,EAAAA,cAAA,MAAIyK,UAAW,yCAAyCsyF,EAAwB5mF,WAAYknF,GAG/FV,cAAcxN,GAClB1uF,KAAKP,MAAMy9F,iBAAiBxO,GAGxByN,mBACJn8F,KAAKuB,UAAS47F,IAAS,CACnBd,UAAWc,EAAUd,cAKjC,UC3Pae,EAAkCjlF,IAAA,IAAC,UAAEq2B,GAAWr2B,EAAA,OACzD5Y,EAAAA,cAAA,YACK,IACAivC,EACA,MCHI6uD,EAA0BllF,IAAA,IAAC,KAAEiS,EAAI,UAAEpgB,GAAWmO,EAAA,OACvD5Y,EAAAA,cAAA,QAAMyK,UAAWA,GACZ,IACAogB,EACA,ilBCiJT,IAAqBjC,EAAqBm1E,EAA1C,cAAmD/9F,EAAAA,cAsD/CC,YAAmBC,EAAgEwD,GAAkC,IAAAiM,EAAAquF,EACjH79F,MAAMD,GA/CO,KAAAokF,sBAAkD,CAC/D,CAAEv9E,IAAKk3F,EAAAA,GAAYC,0BAA2B91F,MAAO3H,KAAKP,MAAMgR,UAAUgtF,2BAC1E,CAAEn3F,IAAKk3F,EAAAA,GAAYE,oBAAqB/1F,MAAO3H,KAAKP,MAAMgR,UAAUitF,qBACpE,CAAEp3F,IAAKk3F,EAAAA,GAAYG,qBAAsBh2F,MAAO3H,KAAKP,MAAMgR,UAAUktF,sBACrE,CAAEr3F,IAAKk3F,EAAAA,GAAYI,qBAAsBj2F,MAAO3H,KAAKP,MAAMgR,UAAUmtF,sBACrE,CAAEt3F,IAAKk3F,EAAAA,GAAYK,sBAAuBl2F,MAAO3H,KAAKP,MAAMgR,UAAUotF,uBACtE,CAAEv3F,IAAKk3F,EAAAA,GAAYM,uBAAwBn2F,MAAO3H,KAAKP,MAAMgR,UAAUqtF,wBACvE,CAAEx3F,IAAKk3F,EAAAA,GAAYO,wBAAyBp2F,MAAO3H,KAAKP,MAAMgR,UAAUstF,yBACxE,CAAEz3F,IAAKk3F,EAAAA,GAAYQ,qBAAsBr2F,MAAO3H,KAAKP,MAAMgR,UAAUutF,sBACrE,CAAE13F,IAAKk3F,EAAAA,GAAYS,0BAA2Bt2F,MAAO3H,KAAKP,MAAMgR,UAAUwtF,4BAK7D,KAAAC,UAAgCl+F,KAAKP,MAAMQ,QAAQsE,QAAQ45F,UAAUC,SAG9E,KAAAxzC,UAAsB,KAMtB,KAAAyzC,mBAAyC,EAMhC,KAAAC,kBAAoB,EAEpB,KAAAhpC,WAAYhc,EAAAA,EAAAA,IAAat5C,KAAKP,MAAMQ,QAAQsE,SAErD,KAAAg6F,wBAAkC,EAElC,KAAAC,YAAsB,EA4Qb,KAAAC,qBAAuB,CAAC14E,EAA8B1kB,KAAuD,IAAAwwE,EAAA6sB,EAAAC,EAAAC,EAC1H,IAAIC,EAA6B,GAsBjC,GAnBuB,aAAnB7+F,KAAKk+F,UACLn4E,EAAcq4E,SAAW,WAEzBr4E,EAAcq4E,SAAW,SAGO,QAApCvsB,EAAI7xE,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAA0oD,GAAhCA,EAAkCitB,UAClCD,EAAe/nE,KAAKioE,MAAMC,mBAAmBh/F,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,MAAM21E,WAGlF/4E,EAAck5E,kBACTj/F,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,QACvBnpB,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,MAAMwkC,MAAsC,QAAlC+wC,EAAI1+F,KAAKP,MAAMuC,OAAO+kD,oBAAY,IAAA23C,EAAAA,EAd9C,KAe9B,EACJ34E,EAAcm5E,eAAiB,CAAEC,QAASN,GAC1C94E,EAAcq5E,SAAyC,QAAjCT,EAAG3+F,KAAKP,MAAMuC,OAAO+kD,oBAAY,IAAA43C,EAAAA,EAjBrB,GAkBlC54E,EAAcC,eAAiB3kB,EAASA,SACxC0kB,EAAcs5E,kBAAoBh+F,EAAS8G,MAC3C4d,EAAcu5E,eAAgBC,EAAAA,EAAAA,IAAuBv/F,KAAKP,MAAMQ,QAAQsE,UAAY,GAChD,QAApCq6F,EAAI5+F,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAAy1E,GAAhCA,EAAkC/0E,UAAW,CAC7C,MAAM21E,EAAiBx/F,KAAKP,MAAM0C,KAAKq9F,eAAez+E,OAClDy+E,IACAz5E,EAAcy5E,eAAiBA,KAS1B,KAAA3wC,qCAAuCjvD,UAA0B,IAAA6/F,EAAAC,EAC9E,MAAMjvC,EAAmE,QAAvDgvC,EAAuC,QAAvCC,EAAG1/F,KAAKP,MAAM0C,KAAK4jB,cAAchF,cAAM,IAAA2+E,OAAA,EAApCA,EAAsC15E,sBAAc,IAAAy5E,EAAAA,EAAI,GAEvEvwC,QAAwCC,EAAAA,EAAAA,wDAC1C,IAAIC,EAAAA,mDACAqB,EACAzwD,KAAKP,MAAMQ,QACXovD,EAAAA,4BAA4BnzB,aAEhCl8B,KAAKP,MAAMQ,QAAQC,eAGnByL,EAAAA,gBAAgBC,YAAYsjD,IAC5BlvD,KAAKuB,SAAS,CAAE2tD,gCAAAA,KAOP,KAAAsB,gBAAkB5wD,UAA0B,IAAA+/F,EAAAC,EACzD,MAAMnvC,EAAmE,QAAvDkvC,EAAuC,QAAvCC,EAAG5/F,KAAKP,MAAM0C,KAAK4jB,cAAchF,cAAM,IAAA6+E,OAAA,EAApCA,EAAsC55E,sBAAc,IAAA25E,EAAAA,EAAI,GACvEt+F,QAAiBqvD,EAAAA,EAAAA,gCACnB,IAAIC,EAAAA,iCAAiCF,GACrCzwD,KAAKP,MAAMQ,QAAQC,sBAGKF,KAAKP,MAAM0C,KAAK4jB,eAC9BC,eAAiB3kB,GAGlB,KAAAw+F,sBAAwB,KACrC,MAAM,UAAEpvF,GAAczQ,KAAKP,MAC3B,MPhf0BA,CAAAA,IACvB,CACHwnB,MAAOyrE,EAAUjzF,GACjBynB,YAAamyD,EAAgB55E,GAC7B2nB,YAAayrE,EAAgBpzF,GAC7B4nB,UAAW9nB,IAAAA,cAACsrC,EAAAA,UAAS,CAAC7gC,UAAU,4BO2ezB81F,CAAkB,CACrBrvF,UAAW,CACPqiF,qBAAsBriF,EAAUqiF,qBAChCF,WAAYniF,EAAUmiF,YAE1Bj1D,OAAQ39B,KAAKiD,MAAM88F,YACnB3mB,UAAWp5E,KAAK+sF,gBAChB7T,cAAel5E,KAAKggG,gBAIX,KAAAC,oBAAsB,KACnC,MAAM,KAAE99F,EAAI,QAAElC,EAAO,UAAEwQ,GAAczQ,KAAKP,MAE1C,IAAIygG,EAAsC,GAGlC,IAADC,EAFHlgG,GAAWA,EAAQsE,SAAWtE,EAAQsE,QAAQ4kB,OAASlpB,EAAQsE,QAAQ4kB,MAAM7e,EAC7E41F,EAAkB,IAAIjgG,EAAQsE,QAAQ4kB,MAAM7e,KAE5C41F,EACK/9F,EAAKwkB,SAAS5F,QACXu8E,EAAsB8C,gBAAgBngG,EAAQsE,QAAQ4zE,OAAQh2E,EAAKwkB,SAAS5F,OAAOs/E,mBACtFl+F,EAAKwkB,SAAS5F,QAAU5e,EAAKwkB,SAAS5F,OAAO9W,OACd,QADmBk2F,EACnDngG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAAg3E,OAAA,EAAhCA,EAAkCn1F,QAClC,GAER,IACIs1F,EADAhhC,EAAmB,GAEnBn9D,EAAK4jB,eAAiB5jB,EAAK4jB,cAAchF,aAA0Dpf,IAAhDQ,EAAK4jB,cAAchF,OAAOs+E,kBAC7EiB,EAAqBn+F,EAAK4jB,cAAchF,OAAOs+E,kBACxCl9F,EAAKd,UAAYc,EAAKd,SAAS0f,SACtCu/E,EAAqBn+F,EAAKd,SAAS0f,OAAO5Y,OAI1Cm3D,EADAghC,GAA6C,IAAvBA,EAEK,IAAvBA,GACMlpF,EAAAA,EAAAA,QAAOpX,KAAKP,MAAMgR,UAAU8vF,iBAAkBD,GAC9CtgG,KAAKP,MAAMgR,UAAU+vF,YAEZppF,EAAAA,EAAAA,QAAOpX,KAAKP,MAAMgR,UAAU8vF,iBAAkB,GAOrE,MAAO,CACHl6E,eAAgB,CAAErc,UAAW,qCANhB/J,EAAQsE,QAAQwgB,kBAAoB,gBAAgB9kB,EAAQsE,QAAQwgB,kBAAkB07E,gBAAkB,MAOrHz1F,MAAO,CACHgd,YAPYzoB,EAAAA,cAAC89F,EAAK,CAACrzF,UAAU,4CAA4CogB,KAAM3Z,EAAUiwF,mBAQzFz4E,UAPUi4E,GAAmB3gG,EAAAA,cAAC89F,EAAK,CAACrzF,UAAU,0CAA0CogB,KAAM81E,IAQ9F55E,WAPW/mB,EAAAA,cAAC89F,EAAK,CAACrzF,UAAU,2CAA2CogB,KAAMk1C,OAYxE,KAAAqhC,sBAAwB,KACrC,MAAM,KAAEx+F,GAASnC,KAAKP,MAChBkpB,EAAoBxmB,EAAKwmB,kBAAkB5H,OAejD,MAAO,CACHyF,2BAA4B,CAAEuB,IAAK,MAAO/d,UAAW,kDACrDyc,sBAfAkC,GACAA,EAAkBhoB,KAAI,CAACgH,EAA8BvC,IAE7C7F,EAAAA,cAACkzF,EAAI,CACDnsF,IAAKlB,EACLglB,KAAMziB,EAAMsC,KACZmT,UAAW,GAAGpd,KAAKP,MAAMgR,UAAUmwF,yBAAyBj5F,EAAMsC,OAClEpF,KAAM8C,EAAMk5F,QASxBn6E,2BAL0BnnB,EAAAA,cAAC69F,EAAS,CAAC5uD,UAAU,QAStC,KAAAsyD,oBAAsB,KACnC,MAAM,UAAErwF,GAAczQ,KAAKP,MACrBshG,EAAiB/gG,KAAKghG,+BAAiChhG,KAAKiD,MAAMg+F,aAAa5f,qBACrF,IAAIqK,EAAkB1rF,KAAKkhG,uBAEvBlhG,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO+a,aAC9B2uE,EAAkBA,EAAgBz7E,QAAOkxF,GAAkBA,EAAe76F,MAAQk3F,EAAAA,GAAYM,0BAgBlG,MAAO,CACHj2E,iBAAkB,CAAE7d,UAAW,gDAC/B+c,eAdAxnB,EAAAA,cAACgsF,EAAAA,gBAAe,CACZ6V,eAAe,uBACf5V,UAAW/6E,EAAU4wF,oBACrBpnD,WAAW,yBACXqnD,kBAAkB,wBAClBC,YAAY,OACZ7V,gBAAiBA,EACjBjB,eAAgBsW,EAChBpV,eAAgB3rF,KAAKwhG,sBACrBr/E,IAAKniB,KAAKyhG,+BASL,KAAAC,eAAiB,KAC9B,MAAM,OAAE1/F,EAAM,QAAE/B,EAAO,KAAEkC,EAAI,UAAEsO,GAAczQ,KAAKP,MAC5CsmB,EAAgB5jB,EAAK4jB,cAAchF,OACnC+lC,GAAU66C,EAAAA,EAAAA,IAAc1hG,EAAQsE,SAChCwiD,EAAe/kD,EAAO+kD,cAAgB,GAEtCC,EAAYjhC,MAAAA,GAAAA,EAAek5E,kBAC3Bl5E,EAAck5E,mBAAqBj/F,KAAKP,MAAMuC,OAAO+kD,cAAgB,IACpE/mD,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,QAAUnpB,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,MAAMwkC,MAAS,EAChFzG,GAAanhC,MAAAA,OAAa,EAAbA,EAAes5E,oBAAqB,EACjDl4C,EAAe12C,EAAUwwB,gBACzBmmB,EAAW32C,EAAU0wB,YAE3B,OAAI+lB,GAAcH,EACP,KAGPxnD,EAAAA,cAAC8nD,EAAAA,uBAAsB,CACnBr9C,UAAU,yCACVqhB,KAAK,aAAY,aACL5a,EAAU62C,oBACtB7iD,IAAKqiD,EAAQjiD,KACb0iD,IAAI,OACJriD,MAAOgiD,EACPH,aAAcA,EACdS,aAAcR,EACdG,aAAcnnD,KAAKynD,YAAYN,GAC/BC,SAAUpnD,KAAK0nD,YAAYN,GAC3BO,kBAAmBR,EACnBS,cAAeR,EACfp1C,iBAAkBhS,KAAKgS,oBAKlB,KAAA4vF,eAAiB,KAC9B,MAAM,KAAEz/F,EAAI,QAAElC,EAAO,OAAE+B,GAAWhC,KAAKP,MACjCoiG,EAAoB5hG,EAAQsE,QAAQ4kB,OAASlpB,EAAQsE,QAAQ4kB,MAAM24E,WAAa,QAAU,SAC1FC,EACF/hG,KAAKP,MAAMuC,OAAOggG,oBAAsBr2F,EAAAA,gBAAgBC,YAAY5L,KAAKiD,MAAMskB,UACzEvnB,KAAKiD,MAAMskB,SAAStX,QAAOkiF,GAChBxmF,EAAAA,gBAAgBC,YAAYumF,EAAQ1C,UAAYzvF,KAAKiiG,wBAAwB9P,KAExFhwF,EAAKolB,SAASxG,QACd5e,EAAKolB,SAASxG,OAAO9Q,QAAOkiF,GACjBxmF,EAAAA,gBAAgBC,YAAYumF,EAAQ1C,UAAYzvF,KAAKiiG,wBAAwB9P,KAG5F+P,EAAkB//F,EAAK4jB,cAAchF,QAAU5e,EAAK4jB,cAAchF,OAAOu+E,eAAkB,GAEjGt/F,KAAKmiG,uBAAuBJ,GAAiBA,EAAc1hG,OAAQ2B,EAAOogG,qBAC1E,MAAMC,EAAmBriG,KAAKq+F,mBA8B9B,MAAO,CACH72E,oBAAqB,CAAExd,UAAW,2CAClCyd,wBAAyB,CAAEzd,UAAW,+CACtCud,SA/BAw6E,GACAA,EAAcphG,KAAI,CAAC27F,EAAmDl3F,IAE9D7F,EAAAA,cAAC08F,EAAa,CACVK,wBAAyBA,EACzBV,sBAAuBsG,EACvBhM,sBAAuBl2F,KAAKsiG,uBAC5B7N,6BAA8Bz0F,KAAKP,MAAMgR,UAAUgkF,6BACnDE,6BAA8B30F,KAAKP,MAAMgR,UAAUkkF,6BACnDruF,IAAKlB,EACL83F,iBAAkBl9F,KAAKuiG,kBACvB/Q,WAAYxxF,KAAKwiG,iBACjB/lF,YAAY,EACZ2/E,2BAA4BiG,GAAoBA,EAAmBj9F,GACnEy8F,kBAAmBA,EACnB5hG,QAASA,EACTgd,SAAUjd,KAAKP,MAAM6H,GACrB0V,eAAgBhd,KAAKP,MAAMmK,SAC3BoI,iBAAkBhS,KAAKgS,iBACvB+nF,sBAAuB/5F,KAAKP,MAAMgR,UAAUspF,sBAC5CE,oBAAqBj6F,KAAKP,MAAMgR,UAAUwpF,oBAC1CC,qBAAsBl6F,KAAKP,MAAMgR,UAAUypF,qBAC3CF,4BAA6Bh6F,KAAKP,MAAMgR,UAAUupF,4BAClDzxE,SAAUvoB,KAAKuoB,eAiBlB,KAAA05E,wBAA2B9P,IAA8C,IAAAl1D,EAAA6lC,EAAAC,EAAA0/B,EACtF,MAAM,8BAAEC,GAAkC1iG,KAAKiD,MACzC0/F,EACsE,KAAxC,QAA/B1lE,EAAAj9B,KAAKP,MAAM0C,KAAKd,SAAS0f,cAAM,IAAAkc,OAAA,EAA/BA,EAAiC2lE,oCAC9BzQ,EAAQzuF,YAA4C,QAApCo/D,EAAK9iE,KAAKP,MAAM0C,KAAKd,SAAS0f,cAAM,IAAA+hD,OAAA,EAA/BA,EAAiC8/B,oCACuB,KAAhFF,MAAAA,OAA6B,EAA7BA,EAA+BG,+CAC5B1Q,EAAQzuF,YAAag/F,MAAAA,OAA6B,EAA7BA,EAA+BG,8CAEtDC,EACoE,KAAtC,QAA/B//B,EAAA/iE,KAAKP,MAAM0C,KAAKd,SAAS0f,cAAM,IAAAgiD,OAAA,EAA/BA,EAAiCv+C,kCAC9B2tE,EAAQzuF,YAA4C,QAApC++F,EAAKziG,KAAKP,MAAM0C,KAAKd,SAAS0f,cAAM,IAAA0hF,OAAA,EAA/BA,EAAiCj+E,kCACY,KAArEk+E,MAAAA,OAA6B,EAA7BA,EAA+BK,oCAC5B5Q,EAAQzuF,YAAag/F,MAAAA,OAA6B,EAA7BA,EAA+BK,mCAG5D,OACIJ,GACC3iG,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO4uF,8BAAgCC,EAAAA,GAAqCC,SAChGgS,GASK,KAAAE,qBAAuBpjG,MACpCmmB,EACA28E,KAEA,GAAI1iG,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAO4uF,8BAAgCC,EAAAA,GAAqCC,QAAS,CAC5G,MAAMmS,EAAsB,IAAIC,EAAAA,GAC5Bn9E,EAAcq4E,SACdp+F,KAAKP,MAAMQ,QAAQsE,QAAQtD,YAC3B,CACIkH,OAAO,GAIX,QAGAxG,EAGA,IAGA,GAGA,OAGAA,EACA3B,KAAKs1D,UACLotC,GAEES,EAAoC,IAAIC,EAAAA,GAC1CH,EACAP,MAAAA,OAA6B,EAA7BA,EAA+BK,mCAEnC,OAAOM,EAAAA,EAAAA,IAA0BF,EAAmCnjG,KAAKP,MAAMQ,QAAQC,eAE3F,OAAOomC,QAAQC,aAAQ5kC,IAGV,KAAA2hG,kBAAoB,KAAsB,IAAAC,EACvD,MAAM,UAAE9yF,EAAS,KAAEtO,EAAI,UAAE8iB,GAAcjlB,KAAKP,OACtC,8BAAEijG,GAAkC1iG,KAAKiD,MACzCugG,EAAoBrhG,EAAK4jB,cAAchF,QAAU5e,EAAK4jB,cAAchF,OAAOu+E,eAAkB,GAC7FvN,EAAkD,QAAlCwR,EAAGvjG,KAAKP,MAAM0C,KAAKolB,SAASxG,cAAM,IAAAwiF,OAAA,EAA/BA,EAAiCh+F,MAAKoR,GAA6B,WAAnBA,EAAOjB,UAChF,OACInW,EAAAA,cAACuwF,EAAa,CACVp7E,WAAW,gCACXy8E,aAAc1gF,EAAU0gF,aACxBvoF,MAAO6H,EAAUgzF,mBACjBpS,eAAgB5gF,EAAU4gF,eAC1BX,gBAAiB8S,EAEjB7S,iBAAkBxuF,EAAKolB,SAASxG,OAChC2wE,aAAcjhF,EAAUihF,aACxBC,uBAAwBlhF,EAAUkhF,uBAClC1sE,UAAWA,EACXmrE,gBAAiBpwF,KAAK0jG,iBACtBlS,WAAYxxF,KAAK2jG,iCACjBvS,gBAAiB3gF,EAAU2gF,gBAC3Bp/E,iBAAkBhS,KAAKgS,iBACvB/R,QAASD,KAAKP,MAAMQ,QACpBukB,gCAAiCk+E,MAAAA,OAA6B,EAA7BA,EAA+BK,kCAChEnR,cAAeG,KASV,KAAA6R,aAAe,KAAkB,IAAAC,EAAAC,EAAAn0C,EAAAo0C,EAC9C,MACI/hG,QAAQ,cAAEuJ,EAAe8Z,oBAAqB2+E,IAC9ChkG,KAAKP,OACH,UAAEgR,GAAczQ,KAAKP,MAErBylB,EAAyBllB,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOmjB,eACvD8+E,EAAkBD,IAAiD,SAAnB9+E,GAAgD,oBAAnBA,GAE7E7jB,EAAYrB,KAAKP,MAAM0C,KAAK4jB,cAAchF,QAAU/gB,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAOiF,gBAAmB,GAC5G+pC,EAAgC,QAAnB8zC,EAAG7jG,KAAKP,MAAMoM,aAAK,IAAAg4F,GAAW,QAAXC,EAAhBD,EAAkBlmF,iBAAS,IAAAmmF,OAAX,EAAhBA,EAA8B,GAC9C7zC,EAA0BtkD,EAAAA,gBAAgBC,YAAY5L,KAAKP,MAAMoM,MAAMokD,yBACvEjwD,KAAKP,MAAMoM,MAAMokD,wBAAwB,GACzC,KAEAzqC,EAA+D,QAAtCmqC,EAAG3vD,KAAKP,MAAM0C,KAAKsjB,aAAa1E,cAAM,IAAA4uC,OAAA,EAAnCA,EAAqCpqD,MACnEkgB,GAAsC,0DAAtBA,EAAaxb,OAEjC,OACI1K,EAAAA,cAACwzF,EAAwB,CACrB1xF,SAAUA,EACVpB,QAASD,KAAKP,MAAMQ,QACpBsL,cAAeA,EACfkF,UAAWA,EACXs2B,WAAY/mC,KAAKP,MAAMmK,SACvBqT,SAAUjd,KAAKP,MAAM6H,GACrB+d,oBAAqB4+E,EACrBjyF,iBAAkBhS,KAAKgS,iBACvB+9C,cAAeA,EACfE,wBAAyBA,EACzBzrC,gCAAgE,QAAjCu/E,EAAE/jG,KAAKP,MAAM0C,KAAKd,SAAS0f,cAAM,IAAAgjF,OAAA,EAA/BA,EAAiCv/E,gCAClE/M,qBAAsB+N,MAAAA,OAAyB,EAAzBA,EAA2BI,UACjDspC,gCAAiClvD,KAAKiD,MAAMisD,mCAKvC,KAAAsyC,sBAAyBhX,IACtC,MACIvqF,SAAWsE,QAAS9D,EAAc,cAAEP,IACpCF,KAAKP,MAET,GAAKgB,GAAmBP,GAAkBF,KAAKP,MAAM0C,KAAK4jB,cAAchF,OASxEte,OAAO+6D,QAAQ0mC,UACX,GACA,IACAC,EAAAA,EAAAA,KACIxC,EAAAA,EAAAA,IAAc3hG,KAAKP,MAAMQ,QAAQsE,cACjC5C,EACA,CAAC3B,KAAKokG,iCAAiC5Z,EAAaC,sBACpD9oF,KAGR0iG,EAAAA,EAAAA,KAAY,KACRrkG,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAQk+E,kBAAoB,EAC1Dj/F,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAQm+E,eAAiB,CACnDC,QAAS,CAACn/F,KAAKokG,iCAAiC5Z,EAAaC,yBAtBrE,CAEI,MAAMjpD,EAAQ,mDAAoD/gC,EAAqC,GAApB,qBAC9EP,EAAmC,GAAnB,sCAErBF,KAAKP,MAAMwlB,UAAUwsB,QAAQjQ,KAsBpB,KAAA4iE,iCAAoC1iB,IACjD,MAAM,KAAEv/E,GAASnC,KAAKP,MAEtB,IAAK0C,EAAKmiG,oBAAoBvjF,OAC1B,MAAO,GAGX,MAAMwjF,EAAsBpiG,EAAKmiG,oBAAoBvjF,OAAOxb,MAAK++F,GACtDA,EAAoBh+F,MAAQo7E,EAAOp7E,MAG9C,OAAIi+F,EACOA,EAAoBC,WAGxB,IAOM,KAAAC,uBAAyB,KAA6B,IAAAC,EACnE,MAAMC,EAAmD,QAAvCD,EAAG1kG,KAAKP,MAAM0C,KAAK4jB,cAAchF,cAAM,IAAA2jF,OAAA,EAApCA,EAAsCxF,eAC3D,GAAIvzF,EAAAA,gBAAgBC,YAAY+4F,MAAAA,OAAY,EAAZA,EAAcxF,SAC1C,OAAOwF,EAAcxF,QAAQ,GAGjC,MAAMyF,GAAeC,EAAAA,EAAAA,IAA8B,UAAW7kG,KAAKP,MAAMQ,QAAQsE,SACjF,OAAIoH,EAAAA,gBAAgBC,YAAYg5F,GACrBA,EAAa,QADxB,GAWa,KAAA1D,qBAAuB,KACpC,MAAMoD,EAAsBtkG,KAAKP,MAAM0C,KAAKmiG,oBAAoBvjF,OAEhE,IAAKujF,EACD,MAAO,GAGX,MAAMQ,EAA4B9kG,KAAK6jF,sBAAsB5zE,QAAO80F,GAChET,EAAoB/+F,MAAKpC,GAAQ4hG,EAAmBz+F,MAAQnD,EAAKmD,QAGrE,OAAOqF,EAAAA,gBAAgBsjD,YAAY61C,IAOtB,KAAA9D,4BAA8B,KAC3C,MAAMgE,EAAmBhlG,KAAKykG,yBAExBH,EAAsBtkG,KAAKP,MAAM0C,KAAKmiG,oBAAoBvjF,OAEhE,IAAKikF,IAAqBV,EACtB,OAGJ,MAAMW,EAAqBX,EAAoB/+F,MAC3Cw/F,GACIA,EAAmBP,WAAWU,aAAeF,EAAiBE,YAC9DH,EAAmBP,WAAWW,eAAiBH,EAAiBG,eAExE,OAAKF,EAIEjlG,KAAK6jF,sBAAsBt+E,MAAK47F,GAAkBA,EAAe76F,MAAQ2+F,EAAmB3+F,WAJnG,GAOa,KAAAi8F,kBAAqB7T,IAA+D,IAAA0W,EACjG,MACInlG,SAAWsE,QAAS9D,EAAc,cAAEP,IACpCF,KAAKP,MAET,IAAKgB,IAAmBP,IAAkBF,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAQ,CAC5E,MAAMygB,EAAQ,gEACP/gC,EAAqC,GAApB,qBAA2BP,EAAmC,GAAnB,sCAEnE,YADAF,KAAKP,MAAMwlB,UAAUwsB,QAAQjQ,GAKjC,MAAMotD,EAA4BH,EAC9BC,GACoC,QAApC0W,EAAAplG,KAAKP,MAAM0C,KAAK4jB,cAAchF,cAAM,IAAAqkF,OAAA,EAApCA,EAAsC9F,gBAAiB,IAG3D78F,OAAO+6D,QAAQ0mC,UAAU,GAAI,IAAIC,EAAAA,EAAAA,KAAiBxC,EAAAA,EAAAA,IAAc3hG,KAAKP,MAAMQ,QAAQsE,SAAUqqF,KAC7FyV,EAAAA,EAAAA,KAAY,KACRrkG,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAQk+E,kBAAoB,EAC1Dj/F,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAQu+E,cAAgB1Q,MAI7C,KAAA4T,iBAAoB9T,IACjC,GAAI1uF,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAQ,CACtC,MAAMskF,EAAwB5W,EAC1BC,EACA1uF,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAOu+E,eAAiB,IAG1D,OAAO6E,EAAAA,EAAAA,KAAiBxC,EAAAA,EAAAA,IAAc3hG,KAAKP,MAAMQ,QAAQsE,SAAU8gG,GAGvE,OADArlG,KAAKP,MAAMwlB,UAAUwsB,QAAQ,uFACtB,IAGM,KAAAiyD,iBAAoBlZ,IACjC,MAAM,KAAEroF,EAAI,UAAE8iB,GAAcjlB,KAAKP,MAEjC,IAAK0C,EAAK4jB,cAAchF,OAEpB,YADAkE,EAAUwsB,QAAQ,sGAItB,IAAIk9C,EAA6BxsF,EAAK4jB,cAAchF,QAAU5e,EAAK4jB,cAAchF,OAAOu+E,eAAkB,GAE1G,GAAK9U,EAAal3B,SASX,CACHq7B,EAA4B,GAG5B,MAAM2W,EAAoBtlG,KAAKyhG,2BAA2Bv5F,SAAWlI,KAAKyhG,2BAA2Bv5F,QAAQzI,MAAMw6C,WAC7GsrD,EAAkBD,GAAqB7mF,SAAS86E,eAAe+L,GACrEjqE,YAAW,KACPkqE,GAAmBA,EAAgB1tD,UACpC,QAjBqB,CACxB,MAAM2tD,EAAiBhb,EAAa8F,cACpC,IAAKkV,EAED,YADAvgF,EAAUwsB,QAAQ,gFAGtBk9C,EAA4BA,EAA0B1+E,QACjD6+E,IAA4CT,EAA8BmX,EAAgB1W,KAanG,MAAMhoC,GAAU66C,EAAAA,EAAAA,IAAc3hG,KAAKP,MAAMQ,QAAQsE,SACjD9B,OAAO+6D,QAAQ0mC,UAAU,GAAI,IAAIC,EAAAA,EAAAA,IAAiBr9C,EAAS6nC,IAC3DxsF,EAAK4jB,cAAchF,OAAOk+E,kBAAoB,EAC9C98F,EAAK4jB,cAAchF,OAAOu+E,cAAgB3Q,GAG7B,KAAAgV,iCAAmC,CAACzT,EAAsCuV,KACvF,MAAM,KAAEtjG,EAAI,UAAE8iB,GAAcjlB,KAAKP,MAC3BqnD,GAAU66C,EAAAA,EAAAA,IAAc3hG,KAAKP,MAAMQ,QAAQsE,SAEjD,IAAKpC,EAAK4jB,cAAchF,OAEpB,OADAkE,EAAUwsB,QAAQ,yGACXqV,EAAQjiD,KAGnB,IAAI8pF,EAA6BxsF,EAAK4jB,cAAchF,QAAU5e,EAAK4jB,cAAchF,OAAOu+E,eAAkB,GAE1G,GAAKmG,EASD9W,EAA4B,OATf,CACb,IAAKuB,EAED,OADAjrE,EAAUwsB,QAAQ,wFACXqV,EAAQjiD,KAEnB8pF,EAA4BA,EAA0B1+E,QACjD6+E,IAA4CT,EAA8B6B,EAAiBpB,KAMpG,OAAOqV,EAAAA,EAAAA,IAAiBr9C,EAAS6nC,IAwBpB,KAAAwT,uBAAyB,CAACJ,EAAwB2D,KAC/D,OAAQA,GACJ,IAAI,MACA1lG,KAAKq+F,mBAAqB0D,EAC1B,MACJ,IAAI,MACA/hG,KAAKq+F,mBAAqB,EAC1B,MACJ,IAAI,MACAr+F,KAAKq+F,mBAAqB,EAC1B,MACJ,IAAI,QACAr+F,KAAKq+F,mBAAqB,EAC1B,MACJ,IAAI,OACAr+F,KAAKq+F,mBAAqB,EAC1B,MACJ,QACIr+F,KAAKq+F,mBAAqB,IASrB,KAAA52C,YAAeiD,GAExBnrD,EAAAA,cAAA,OAAKyK,UAAU,wBACXzK,EAAAA,cAAA,QAAMyK,UAAU,oCAAmC,cAAa,SAChEzK,EAAAA,cAAA,QAAMyK,UAAU,aAAa0gD,IAUxB,KAAAhD,YAAeiD,GAExBprD,EAAAA,cAAA,OAAKyK,UAAU,wBACXzK,EAAAA,cAAA,QAAMyK,UAAU,aAAa2gD,GAC7BprD,EAAAA,cAAA,QAAMyK,UAAU,qCAAoC,cAAa,UAz6BzEhK,KAAK4qD,UAAoD,YAAnB,QAArB17C,EAAAzP,EAAMQ,QAAQsE,eAAO,IAAA2K,GAAQ,QAARquF,EAArBruF,EAAuBq7C,cAAM,IAAAgzC,OAAR,EAArBA,EAA+B/yC,MAAoB,KAAO,KAC3ExqD,KAAK+sF,gBAAkBxtF,EAAAA,YACvBS,KAAKyhG,2BAA6BliG,EAAAA,YAClCS,KAAKggG,aAAehgG,KAAKggG,aAAar4D,KAAK3nC,MAC3CA,KAAK6qD,gBAAkB7qD,KAAK6qD,gBAAgBljB,KAAK3nC,MACjDA,KAAKgxD,cAAgB,GACrBhxD,KAAKiD,MAAQ,CACTg+F,aAAc,CACV0E,SAAS,EACTtkB,qBAAsBrhF,KAAK6jF,sBAAsB,IAErDkc,aAAa,EACbx4E,SAAU,GACVm7E,mCAA+B/gG,GAEnC,MAAM,mBAAE01F,EAAkB,SAAEF,EAAQ,SAAEC,EAAQ,gBAAEP,GAAoB72F,KAAKP,MAAMgR,UAEzE0nE,EAASn4E,KAAKP,MAAMQ,QAAQsE,QAAQ4zE,OACpClzD,EAAYjlB,KAAKP,MAAMwlB,UACvBszE,EAAqBv4F,KAAKP,MAAMgR,UAAUm1F,yBAC1C7M,EAAuB/4F,KAAKP,MAAMgR,UAAUo1F,wBAClD7lG,KAAKsiG,uBAAyB,CAC1Br9E,UAAAA,EACAkzD,OAAAA,EACAkf,mBAAAA,EACAF,SAAAA,EACAC,SAAAA,EACAP,gBAAAA,EACA0B,mBAAAA,EACAQ,qBAAAA,GAEJ/4F,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAEfjlB,KAAK6qD,kBAzFC,eACN,MAA0B,OAAnB7qD,KAAK4qD,WAAyC,OAAnB5qD,KAAK4qD,UAwCpC,uBAAuButB,EAAgB2tB,GAAyC,IAAAC,EACnF,IAAIC,EAKJ,OAJI7tB,GAAU2tB,GAAoBn6F,EAAAA,gBAAgBC,YAAYk6F,KAC1DE,EAAkBF,EAAiBvgG,MAAKpC,GAAQA,EAAK8iG,SAAUxF,gBAAkBtoB,EAAOsoB,iBAGtE,QAAtBsF,EAAOC,SAAe,IAAAD,OAAA,EAAfA,EAAiB5W,KA4CrB,0BAAuB,IAAA+W,EAAAC,EAC1BnmG,KAAKw+F,YAAa,EACd1/E,EAAAA,GAASC,WAAatc,OAAOoe,mBAC7Bpe,OAAOoe,iBAAiB,SAAU7gB,KAAK6qD,iBACvC7qD,KAAK6qD,mBAGT,MAAM9kC,QAAsB/lB,KAAKP,MAAM0C,KAAK4jB,cACtC1kB,QAAiBrB,KAAKP,MAAM0C,KAAKd,SACjCqhG,QAAsC0D,EAAAA,2BAAAA,+BAA0D,CAClGrmG,cAAeC,KAAKP,MAAMQ,QAAQC,gBAElCF,KAAKw+F,YACLx+F,KAAKuB,SAAS,CAAEmhG,8BAAAA,IAGpB,MAAM2D,QAAyBrmG,KAAKgjG,qBAAqBj9E,EAAe28E,GAExE1iG,KAAKy+F,qBAAqB14E,EAAe1kB,IAGzCmnC,EAAAA,EAAAA,KACI,KAAK,IAAA89D,EAAAC,EACD,MAAO,CACwB,QADxBD,EACHvgF,EAAcu5E,qBAAa,IAAAgH,OAAA,EAA3BA,EAA6BjmG,OAC7B0lB,EAAck5E,kBACdtzF,EAAAA,gBAAgBC,YAAwC,QAA7B26F,EAACxgF,EAAcm5E,sBAAc,IAAAqH,OAAA,EAA5BA,EAA8BpH,aAGlEv/F,UAAW,IAAA4mG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/M,EAAAgN,EAAAh1B,EAAAi1B,EACP,MAAMC,QAAyBhnG,KAAKP,MAAM0C,KAAK4jB,cACzCynB,EAAQ,IAAIy5D,EAAAA,GACdD,EAAiB5I,SACjBp+F,KAAKP,MAAMQ,QAAQsE,QAAQtD,YAC3B,CACIimG,OAAQ,CACJC,IAAKnnG,KAAKP,MAAMuC,OAAO+kD,aACvBqgD,KAAMp+F,KAAK+K,IAAIizF,EAAiB5H,UAA8C,QAAtCoH,EAAIQ,EAAiB/H,yBAAiB,IAAAuH,EAAAA,EAAI,GAAI,IAE1Fr+F,OAAO,EACPk/F,QAAwC,QAAjCZ,EAAEO,EAAiB9H,sBAAc,IAAAuH,EAAAA,EAAI,IAElB,QAD7BC,EACDM,EAAiB1H,qBAAa,IAAAoH,EAAAA,EAAI,KAEhC1mG,KAAKP,MAAMQ,QAAQsE,QAAQ45F,UAAUmJ,UAAY,GAGnB,QAAhCX,EAAA3mG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAAw9E,GAAhCA,EAAkCr8F,EAC5BtK,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,MAAM7e,EACjCwsB,KAAKC,UAAU,CACXl2B,UAA2C,QAAlC+lG,EAAE5mG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAAy9E,OAAA,EAAhCA,EAAkC/8E,UAC7C09E,eAAgD,QAAlCV,EAAE7mG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAA09E,OAAA,EAAhCA,EAAkCz9E,mBAGhD,QAAX0wE,EAAC95F,KAAKP,aAAK,IAAAq6F,GAAQ,QAARgN,EAAVhN,EAAY93F,cAAM,IAAA8kG,IAAlBA,EAAoBU,mBACtBxnG,KAAKP,MAAMuC,OAAOggG,mBAClBhiG,KAAKP,MAAMQ,QAAQsE,QAAQ4zE,OAC3Bn4E,KAAKs1D,UACLotC,EACA2D,GAGEhwE,QAAuBoxE,EAAAA,EAAAA,IAAsBj6D,EAAOxtC,KAAKP,MAAMQ,QAAQC,eAa7E,GAZA8mG,EAAiB3H,kBAAoBhpE,EAAeluB,MACpD6+F,EAAiBhhF,eAAiBqQ,EAAeh1B,SAI7CrB,KAAKP,MAAMuC,OAAOivD,+BAC6B,QADA6gB,EAC/C9xE,KAAKP,MAAMQ,QAAQC,cAAcO,sBAAc,IAAAqxE,GAAM,QAANi1B,EAA/Cj1B,EAAiDpxE,YAAI,IAAAqmG,GAArDA,EAAuDniE,iBAGvD5kC,KAAKwwD,kBAGLxwD,KAAKP,MAAMuC,OAAOggG,mBAAoB,CAAC,IAAD0F,EAAAC,EAAAC,EAAAC,EAAAC,EACtC,MAAMC,EAAe,IAAIC,EAAAA,GACrBhB,EAAiB5I,SACjBp+F,KAAKP,MAAMQ,QAAQsE,QAAQtD,YAC3B,CACIimG,OAAQ,CACJC,IAAKnnG,KAAKP,MAAMuC,OAAO+kD,aACvBqgD,KAAMp+F,KAAK+K,IACPizF,EAAiB5H,UAA8C,QAAtCsI,EAAIV,EAAiB/H,yBAAiB,IAAAyI,EAAAA,EAAI1nG,KAAKs+F,mBACxEt+F,KAAKs+F,oBAGbn2F,OAAO,EACPk/F,QAAwC,QAAjCM,EAAEX,EAAiB9H,sBAAc,IAAAyI,EAAAA,EAAI,IAElB,QAD7BC,EACDZ,EAAiB1H,qBAAa,IAAAsI,EAAAA,EAAI,KAEhC5nG,KAAKP,MAAMQ,QAAQsE,QAAQ45F,UAAUmJ,UAAY,GACnB,QAAhCO,EAAA7nG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAA0+E,GAAhCA,EAAkCv9F,EAC5BtK,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,MAAM7e,EACD,QADEw9F,EAClC9nG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAA2+E,OAAA,EAAhCA,EAAkCj+E,WACxC,EACA7pB,KAAKP,MAAMuC,OAAOggG,wBAClBrgG,EACA3B,KAAKs1D,UACLotC,EACA2D,GAGE9+E,QAAiB0gF,EAAAA,EAAAA,IAA4BF,EAAc/nG,KAAKP,MAAMQ,QAAQC,eACpFF,KAAKuB,SAAS,CAAEgmB,SAAAA,QAMxBvnB,KAAKP,MAAMuC,OAAOivD,+BAE6B,QAFAi1C,EAE/ClmG,KAAKP,MAAMQ,QAAQC,cAAcO,sBAAc,IAAAylG,GAAM,QAANC,EAA/CD,EAAiDxlG,YAAI,IAAAylG,GAArDA,EAAuDvhE,iBAGvD5kC,KAAKwwD,kBAGT,MAAMvwD,EAAUD,KAAKP,MAAMQ,QACrB2b,EAAmC3b,EAAQ8B,IAAIC,OAAO6Z,wBACtDizC,EAA8B7uD,EAAQ8B,IAAIC,OAAO+sD,uBAEnDpjD,EAAAA,gBAAgBC,YAAYgQ,KAC3BA,EAAiCrB,SAAS3E,EAAAA,eAAeqD,OAC1DtN,EAAAA,gBAAgBC,YAAYkjD,KAC3BA,EAA4Bv0C,SAAS3E,EAAAA,eAAeqD,OACrDjZ,KAAKP,MAAMuC,OAAOwlG,yBAEZxnG,KAAK6uD,uCAIZjzB,uBACH57B,KAAKw+F,YAAa,EACd1/E,EAAAA,GAASC,WAAatc,OAAOo5B,qBAC7Bp5B,OAAOo5B,oBAAoB,SAAU77B,KAAK6qD,iBAI3CvhD,SAAM,IAAA6O,EAAA+vF,EAAAC,EAAAC,EAAAC,EAAAC,EACT,MACItmG,QAAQ,cAAEuJ,EAAa,UAAEvB,GAAW,UACpCyG,EACAtO,MAAM,cAAE4jB,EAAe1kB,SAAUmuD,EAAiB,eAAEgwC,IACpDx/F,KAAKP,OAEJO,KAAKu+F,wBAA0Bx4E,EAAchF,QAAUyuC,EAAkBzuC,SAC1E/gB,KAAKy+F,qBAAqB14E,EAAchF,OAAQyuC,EAAkBzuC,QAClE/gB,KAAKu+F,wBAAyB,GAGlC,MAAMl9F,EAAYrB,KAAKP,MAAM0C,KAAK4jB,cAAchF,QAAU/gB,KAAKP,MAAM0C,KAAK4jB,cAAchF,OAAOiF,gBAAmB,GAC5GuiF,EAA6E,QAAhEpwF,EAAuC,QAAvC+vF,EAAuB,QAAvBC,EAAGpiF,EAAchF,cAAM,IAAAonF,OAAA,EAApBA,EAAsB3I,sBAAc,IAAA0I,EAAAA,EAAI1I,EAAez+E,cAAM,IAAA5I,EAAAA,EAAI,KACvF,IAAIqwF,EAAY,GACX78F,EAAAA,gBAAgBC,YAAYvK,KAC7BmnG,EAA+B,aAAnBxoG,KAAKk+F,UAA2BztF,EAAUg4F,2BAA6Bh4F,EAAUi4F,0BAEjG,MAAMC,EAAoB3oG,KAAK4jG,eACzBgF,EACFrpG,EAAAA,cAAC8yF,EAAuB,CACpB/sF,QAASijG,EACTtoG,QAASD,KAAKP,MAAMQ,QACpBsL,cAAeA,EACfkF,UAAWA,EACXs2B,WAAY/mC,KAAKP,MAAMmK,SACvBqT,SAAUjd,KAAKP,MAAM6H,GACrB0K,iBAAkBhS,KAAKgS,iBACvBoX,eAAgD,QAAlCg/E,EAAEpoG,KAAKP,MAAMQ,QAAQsE,QAAQ4kB,aAAK,IAAAi/E,OAAA,EAAhCA,EAAkCh/E,iBAIpDy/E,EAA8B1iG,EAAAA,EAAA,GAC7BnG,KAAKP,OAAK,IACb4B,SAAUsnG,EACVjgF,eAAgB1oB,KAAKigG,sBACrBt3E,mBAAoB3oB,KAAKP,MAAMuC,OAAO8mG,kBAAoB9oG,KAAK2gG,wBAC/D75E,WAAY9mB,KAAK4hG,iBACjB53F,UAAWkW,GAAAA,CAAW,6BAA8BlW,GACpDme,sBAAuB,CACnBjF,YAAaljB,KAAKP,MAClBuK,UAAWkW,GAAAA,CAAW,6BAA8BlW,IAExD4e,cAA2E,KAAxB,QAApCy/E,EAAAroG,KAAKP,MAAM0C,KAAK4jB,cAAchF,cAAM,IAAAsnF,OAAA,EAApCA,EAAsChJ,mBAA0Br/F,KAAK8gG,sBAAwB,KAC5G14E,WAAYpoB,KAAK0hG,iBACjBp9E,kBAAmB,CAAEta,UAAW,wCAChCqe,wBAAyB,CAAEre,UAAW,+CACtC6e,qBAAsB,CAAE7e,UAAW,oDACnC8e,iCAAkC,CAAE9e,UAAW,sDAC/Cse,cAAetoB,KAAKsjG,oBACpB96E,YACgE,KAAxB,QAApC8/E,EAAAtoG,KAAKP,MAAM0C,KAAK4jB,cAAchF,cAAM,IAAAunF,OAAA,EAApCA,EAAsCjJ,mBAClC9/F,EAAAA,cAACqtF,EAAW,CACRxiE,KAAM3Z,EAAUmiF,WAChBx1E,UAAW3M,EAAUmiF,WACrBhmD,SAAU5sC,KAAK+sF,gBACf7iF,QAASlK,KAAKggG,aACd14F,GAAG,wBAEP,KACRmhB,kBAAmBzoB,KAAK6/F,wBACxBt3E,SAAUvoB,KAAKuoB,SACf3V,aAAc41F,GAAajpG,EAAAA,cAAC6yF,EAAY,CAAChoE,KAAMo+E,IAC/Cz/E,uBAAwB,CAAE/e,UAAW,4BACrCgf,mBAAoBu/E,EAAgBK,EAAmB,KACvD53C,cAAehxD,KAAKgxD,cACpB9B,gCAAiClvD,KAAKiD,MAAMisD,kCAEhD,OAAOlvD,KAAKP,MAAM+J,WAAWq/F,GAinBzBv+C,eACJ,OAAIxrC,EAAAA,GAASC,WACFwJ,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAYC,QAASj2B,QAASD,KAAKP,MAAMQ,QAAQsE,WAEzEgkB,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAY6H,SAAU79B,QAASD,KAAKP,MAAMQ,QAAQsE,UAGzEy7F,eACJhgG,KAAKuB,SAAS,CACVw+F,aAAc//F,KAAKiD,MAAM88F,cAIzBl1C,kBACJ7qD,KAAK4qD,UAAY5qD,KAAKsqD,eAElBtqD,KAAKiD,MAAM88F,cAAgB//F,KAAKuoB,UAChCvoB,KAAKggG,kBA76BHt5D,EAAAA,EAAAA,IAAA,CAATuG,EAAAA,IAAQ,8BAqBTvG,EAAAA,EAAAA,IAAA,CADC0nB,EAAAA,IAAU,gCAxBMjmC,EAAqBm1E,GAAA52D,EAAAA,EAAAA,IAAA,CADzCC,EAAAA,IACoBxe,GAs+BpB,kGCtnCD,MA+DMvB,EAA0BA,CAC5BC,EACAC,EACAC,EACAC,IAEOznB,EAAAA,aACHsnB,EAAWI,MACX,GACAJ,EAAWK,YACXC,EAAgBN,EAAYC,EAAYC,EAAgBC,GACxDH,EAAWO,aAIbD,EAAkBA,CACpB1nB,EACAqnB,EACAC,EACAC,IAEID,EACOxnB,EAAAA,aAAmBE,EAAM4nB,UAAW,GAAIC,EAAWP,EAAgBC,GAAmBY,EAAcd,IAExG,KAGLc,EAAiBnoB,IACnB,MAAM,SAAE8nB,EAAQ,oBAAEC,EAAmB,wBAAEC,GAA4BhoB,EACnE,OAAI8nB,EAEIhoB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKwU,GACNloB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKuU,GACLD,EAAS5mB,KAAI,CAAC+mB,EAAStiB,IACpB7F,EAAAA,cAACA,EAAAA,SAAc,CAAC+G,IAAKlB,GAAQsiB,OAM1C,MAGLJ,EAAaA,CAAC7nB,EAAyBunB,KACzC,MAAM,iBAAEa,EAAgB,eAAEd,GAAmBtnB,EAC7C,OAAIsnB,IAAmBC,EACZznB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4U,GAAmBd,GAEjC,MAGLR,EAA2B9mB,IAC7B,MAAM,2BAAE+mB,EAA0B,sBAAEC,EAAqB,2BAAEC,GAA+BjnB,EAC1F,OAAIgnB,EAEIlnB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKuT,GACLC,EAAsB9lB,KAAI,CAACgmB,EAAUvhB,IAClC7F,EAAAA,cAACA,EAAAA,SAAc,CAAC+G,IAAKlB,GAChBuhB,EACAF,GAAyBA,EAAsBrhB,EAAQ,IAAMshB,MAO3E,MAGLoB,EAAeroB,IACjB,MAAM,MAAEuL,EAAK,eAAEqb,GAAmB5mB,EAClC,OAAIuL,EAEIzL,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoT,GACN9mB,EAAAA,cAAA,UACKyL,EAAMgd,YACNhd,EAAMid,YAKhB,MAGL7B,EAAoB3mB,IACtB,MAAM,MAAEuL,EAAK,eAAEqb,GAAmB5mB,EAClC,OAAIuL,EAEIzL,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoT,GACN9mB,EAAAA,cAAA,UAAKyL,EAAMsb,aAIhB,MAGX,EA/J6E7mB,IAAQ,IAAAyoB,EACjF,MAAM,sBACFC,EAAqB,SACrB9mB,EAAQ,WACR+mB,EAAU,kBACV9D,EAAiB,wBACjB+D,EAAuB,cACvBC,EAAa,SACbC,EAAQ,YACRC,EAAW,kBACXC,EAAiB,eACjBC,EAAc,WACd5B,EAAU,kBACV6B,EAAiB,cACjBC,EAAa,qBACbC,EAAoB,iCACpBC,EAAgC,aAChClW,EAAY,uBACZmW,EAAsB,mBACtBC,GACAvpB,EACEunB,EAAmE,QAAnDkB,EAAGzoB,EAAMQ,QAAQC,cAAcO,eAAe0oB,aAAK,IAAAjB,OAAA,EAAhDA,EAAkDkB,eAC3E,OAAIb,EAEIhpB,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKkV,GACP5B,EAAwBoC,GACxBb,EAAYY,GACZJ,EACAE,EACA5B,EAAwB6B,EAAmB3B,EAAY8B,EAAe5B,GACvEznB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK8V,GAAyBC,GACnCzpB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKqR,GACL1R,EACAvR,GAEJ+mB,GAKT7oB,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKkV,GACR5oB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4V,GACLF,GAAqBpC,EAAwBoC,GAC7CD,GAAkBtC,EAAiBsC,IAExCnpB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK6V,GACLhC,GAAcc,EAAcd,GAC7BvnB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoV,GACLK,GAAkBZ,EAAYY,GAC9BJ,EACAM,IAAkB5B,GAAoBM,EAAWsB,GAClDrpB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK8V,GAAyBC,GACnCzpB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKqR,GACL1R,EACAvR,GAEJ+mB,0KC/Dd,MAAM2gF,IACGriE,EAAAA,EAAAA,IAAA,CAAX0nB,EAAAA,IAAU,kCAEC1nB,EAAAA,EAAAA,IAAA,CAAX0nB,EAAAA,IAAU,6CAEC1nB,EAAAA,EAAAA,IAAA,CAAX0nB,EAAAA,IAAU,qDCIH46C,kEAAZ,SAAYA,GACRA,EAAA,0BACAA,EAAA,kBACAA,EAAA,kBACAA,EAAA,YAJJ,CAAYA,IAAAA,EAAc,KAUnB,MAAMC,EAWTzpG,YAAmBy5C,EAAqBpc,EAAcqsE,EAAyBC,EAAoBC,GAQ5F,KAAA3wB,YAAc,IAAM,+BAEpB,KAAAC,mBAAqB,IAAM,+BAE3B,KAAAC,cAAgB,IAAiB,OAXpC34E,KAAKqpG,YAAcpwD,EACnBj5C,KAAKspG,gBAAkBzsE,EACvB78B,KAAKkpG,eAAiBA,EACtBlpG,KAAKmpG,UAAYA,EACjBnpG,KAAKopG,UAAYA,GAiCzBxpG,eAAe2pG,EAAgB/7D,EAAyBg8D,EAA8BzxB,GAClF,MAAMziB,GAAYhc,EAAAA,EAAAA,IAAay+B,EAAIt3E,gBAC7BgpG,EAA2C,CAC7CC,sBAAuB,CACnBlwD,gBAAiBhM,EAAM67D,aAAe77D,EAAM67D,YAAYhpG,OAAS,EAAImtC,EAAM67D,YAAc,GACzFlwD,QAAS,CACLC,WAAY2+B,EAAIt3E,eAAeQ,YAAYq1C,UAC3C+C,UAAWic,IAGnBq0C,UAAWn8D,EAAM27D,UACjBS,UAAWp8D,EAAM47D,UACjBJ,eAAgBx7D,EAAM07D,gBAGpBW,QAA0BC,EAAAA,EAAAA,2BAC5B,CAAE/pG,cAAeg4E,EAAK53E,oBAAqB,CAAE+mG,OAAQ,CAAEC,IAAK35D,EAAM87D,mBAClEG,GAGAI,GAAqBA,EAAkBxpG,OAAS,GAEhDwpG,EAAkBlpG,KACbwC,GACIA,EAAKohE,SAAWphE,EAAKohE,UAAWprD,EAAAA,EAAAA,kBAAiBhW,EAAKohE,SAAUwT,EAAIt3E,eAAeQ,aAAe,KAG3GuoG,EAAYO,iBAAmBF,GAE/B9xB,EAAI9yD,UAAUuc,MACV,4FAA4FioE,EAAeT,kBAKhH,MAMP,GANoDlxB,EAAAA,EAAAA,IAA2B,CAC3ExwE,GAAI,iEACJ+mD,OAnDGzuD,eAA0C4tC,EAAyBuqC,GAEtE,IAAKvqC,IAAUA,EAAM67D,YACjB,MAAM,IAAInzD,MAAM,oEAGpB,MAAMszD,EAA+B,GAE/BQ,EAAsB,CAACT,EAAgB/7D,EAAOg8D,EAAazxB,IACjE,OAAOzxC,QAAQ2jE,IAAID,GAAqB5oG,MAAK,IAClCooG,KA0CXh8D,MA7DiB08D,GACV,IAAIjB,yCCxBf,IAAIn3F,EAMG,MAAMq4F,EAAgC1qG,IACzC,MAAM,YACF2qG,EAAW,WACXnxD,EACAoxD,kBACI55F,WAAW,0BAAE65F,KAEjB7qG,EAEE8qG,EAAgC,GACtCz4F,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmB,IAE7Do4F,MAAAA,GAAAA,EAAazpG,KAAIwC,IACbonG,EAAWxpG,KAAKypG,EAAcrnG,EAAM1D,OAKxC,MAAO,CAAEuL,MAFSy/F,EAAaH,EAA2BrxD,GAE/B7uB,KAAMmgF,IAG/BE,EAAeA,CAACH,EAAmCrxD,KACrD,MAAMyxD,EAAgCJ,GAChClzF,EAAAA,EAAAA,QAAOkzF,EAA2BrxD,GAClC,WAAWA,mBAEjB,OAAO15C,EAAAA,cAAA,MAAIyK,UAAU,0CAA0C0gG,IAG7DF,EAAgBA,CAACrnG,EAAwB1D,KAC3C,MAAM,WAAEw5C,EAAU,UAAEkwD,EAAS,UAAEC,EAAS,mBAAEuB,GAAuBlrG,EAE3DmrG,EAAaD,EAAqBxnG,EAAKgK,MAAQhK,EAAKgK,OAAShK,EAAKgK,MAAM6tB,MAAM,KAAK6vE,MACnFztF,EAAYwtF,EACZA,EAAWllG,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAAIzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IACvGjmG,EAAKgK,OAAShK,EAAKgK,MAAMzH,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAAIzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IAC3Ht3F,EAAQooB,cAAcC,MAAQh3B,EAAKgK,MACnC,MAAM2N,GAAY3I,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAClE,OACIvS,EAAAA,cAAA,MAAIyK,UAAU,wCAAwC1D,IAAKnD,EAAKuqC,IAC5DnuC,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,cAAemK,EAAWvY,KAAMimG,EAAc3nG,EAAM81C,EAAYx5C,IAAYqb,GACvEgwF,EAAc3nG,EAAM81C,EAAYx5C,IAAUsrG,EAAoBH,GAA0B,GAAIzB,EAAWC,MAMlH0B,EAAgBA,CAACE,EAA8B/xD,EAAoBx5C,IAC9DurG,GAAcA,EAAWt9D,GAAKu9D,EAAiBD,EAAWt9D,GAAIuL,EAAYx5C,GAAS,GAGxFwrG,EAAmBA,CAAC3jG,EAAY2xC,EAAoBx5C,KAA8C,IAAAyrG,EACpG,MAAM,cAAEC,EAAa,UAAEC,EAAS,eAAEC,GAAmB5rG,EAErD,IAAKqf,EAAAA,GAASC,UACV,MAAO,GAGX,MAAMusF,EAAW,IAAIj1F,IAAI80F,EAAe1oG,OAAOC,SAASmC,MAEpDumG,GAAanyD,GACbqyD,EAAS7wF,aAAamkB,IAAIwsE,EAAWnyD,GAGzC,MAAMsyD,EAAmBF,MAAAA,OAAc,EAAdA,EAAgB9lG,MAAKgiB,GACnCA,EAAS+yE,cAAgB5M,EAAAA,qBAAqB8d,WAEnDrZ,EAAUoZ,MAAAA,GAAwB,QAARL,EAAhBK,EAAkB9b,cAAM,IAAAyb,OAAR,EAAhBA,EAA0B3lG,MAAKpC,GACpCA,EAAKmrF,kBAAoBplF,OAAO0jB,SAAStlB,EAAI,MAGlDmkG,EAAiBtZ,GAAWr7D,KAAKC,UAAU20E,EAAiB,CAACvZ,KAKnE,OAJIsZ,GACAH,EAAS7wF,aAAamkB,IAAI,WAAY6sE,GAGnCH,EAASzmG,MAGdkmG,EAAsBA,CAACC,EAAoB7B,EAAmBC,KAChE,MAAMuC,EAAgBX,EACjBtlG,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,YAC5CzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,aAGjD,OAAO7pG,EAAAA,cAAA,QAAM23C,yBAAyBqhB,EAAAA,EAAAA,IAAgBozC,MAKpDC,EAAwB,CAC1B,gBACA,uBACA,kBACA,qBACA,wBACA,YAOEF,EAAoBnkF,IACtB,MAAMskF,EAA4C,GAUlD,OARAtkF,EAASrkB,SAAQivF,IACb,MAAM2Z,EAAyC,GAC/CF,EAAsB1oG,SAAQ6oG,IAC1BD,EAAkB/qG,KAAKoxF,EAAQ4Z,OAEnCF,EAAmB9qG,KAAK+qG,MAGrBD,GClHEG,EAAiBvsG,IAC1B,MAAM,UACF2rG,EAAS,kBACTa,EAAiB,gBACjBC,EAAe,gBACf/2D,EAAe,kBACfu3B,EAAiB,SACjBP,EAAQ,oBACRggC,EAAmB,yBACnBC,EAAwB,MACxBjjF,EAAK,gBACLkjF,EAAe,gBACfC,EAAe,gBACfC,GACA9sG,EAEEmtE,EAnBqBF,CAAAA,GAAgDrsD,IAC3EqsD,EAAkBrsD,EAAMoZ,OAAO9xB,OAAS,KAkBlBklE,CAAsBH,GAEtC8/B,EAAaN,EAaf3sG,EAAAA,cAAA,SACIyK,UAAU,0BACVpC,KAAK,OAAM,aACC0kG,EACZ9jG,KAAM4iG,EACNvoE,YAAaopE,EACb9pF,IAAKgzB,EACL3iC,SAAUo6D,EACVjlE,MAAOwhB,IApBX5pB,EAAAA,cAAA,SACIyK,UAAU,0BACVpC,KAAK,OAAM,aACC0kG,EACZ9jG,KAAM4iG,EACNvoE,YAAaopE,EACb9pF,IAAKgzB,EACL3iC,SAAUo6D,EACVh3B,UAAWu2B,EACXxkE,MAAOwhB,IAeTsjF,GAAiBN,GAAuB5sG,EAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAU,+BAA8B,aAAauiG,IAW3G,MAAO,CAAE/+D,MAAOg/D,EAAWE,UARvBntG,EAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAYmiG,EAAuD,uCAAjC,+BAAuE,aAC7FE,EACZniG,QAASkiG,EACTxkG,KAAK,WAIwC+kG,UAAWF,IC/DpE,IAAI36F,EAMG,MAAM86F,EAA+BntG,IACxC,MAAM,YAAE2qG,EAAW,UAAEjB,EAAS,UAAEC,GAAc3pG,EAE9CqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmB,IAE7D,MAAMu4F,EAAgC,GAMtC,OAJAH,MAAAA,GAAAA,EAAazpG,KAAIwC,IACbonG,EAAWxpG,KAAKypG,EAAcrnG,EAAMgmG,EAAWC,EAAW3pG,OAGvD,CAAE2qB,KAAMmgF,IAGbC,EAAgBA,CAACrnG,EAAwBgmG,EAAmBC,EAAmB3pG,KACjF,MAAM2d,EACFja,EAAKgK,OAAShK,EAAKgK,MAAMzH,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAAIzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IACzHt3F,EAAQooB,cAAcC,MAAQ/c,EAC9B,MAAMtC,GAAY3I,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GAClE,OACIvS,EAAAA,cAAA,MAAIyK,UAAU,uCAAuC1D,IAAKnD,EAAKuqC,IAC3DnuC,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,cAAemK,EAAWvY,KAAMimG,EAAc3nG,EAAMgmG,EAAWC,EAAW3pG,IAAYqb,GACjFgwF,EAAc3nG,EAAMgmG,EAAWC,EAAW3pG,IACvCsrG,EAAoB5nG,EAAKgK,MAAQhK,EAAKgK,MAAQ,GAAIg8F,EAAWC,MAM3E0B,EAAgBA,CAACE,EAA8B7B,EAAmBC,EAAmB3pG,KACvF,MAAM,cAAE0rG,EAAa,UAAEC,GAAc3rG,EAE/BotG,EAAiB7B,EAAW79F,MAC7BzH,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAC5CzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IAEjD,IAAKtqF,EAAAA,GAASC,UACV,MAAO,GAGX,MAAMusF,EAAW,IAAIj1F,IAAI80F,EAAe1oG,OAAOC,SAASmC,MAKxD,OAJIumG,GAAayB,GACbvB,EAAS7wF,aAAamkB,IAAIwsE,EAAWyB,GAGlCvB,EAASzmG,MAGdkmG,EAAsBA,CAACC,EAAoB7B,EAAmBC,KAChE,MAAMuC,EAAgBX,EACjBtlG,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,YAC5CzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,aAGjD,OAAO7pG,EAAAA,cAAA,QAAM23C,yBAAyBqhB,EAAAA,EAAAA,IAAgBozC,MCtE7CmB,EAAkBrtG,IAC3B,MAAM,iBACFstG,EAAgB,sBAChBC,EAAqB,qBACrBC,EAAoB,WACpBC,EAAU,qBACVC,EAAoB,gBACpBjB,EAAe,yBACfE,EAAwB,iBACxBp6F,GACAvS,EACEqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAkBk7F,EAAY,IAClE9yE,GAAajoB,EAAAA,EAAAA,wBAAuBH,EAAkBF,GAE5D,OACIvS,EAAAA,cAAA,OAAKyK,UAAW+iG,GACZxtG,EAAAA,cAACuL,EAAAA,OAAMkI,OAAAC,OAAA,CACHjJ,UAAU,kBAAiB,gBACZijG,EAAoB,aACvBD,EACZ9iG,QAASkiG,EACTx/D,SAAUugE,GACN/yE,IAEF8xE,GACE3sG,EAAAA,cAAA,QAAMyK,UAAU,uBAAsB,kBACjCkjG,kPCczB,IAAIp7F,EACAE,EAMG,MAAMo7F,EAA+B3tG,IACxC,MAAM,YACF2qG,EAAW,UACXhB,EAAS,UACTD,EACAkB,kBACIpqG,SAAS,cAAEC,GACXuQ,WAAW,yBAAE48F,IAChB,WACDtmE,EAAU,SACV9pB,GACAxd,EACE8qG,EAA4C,GAClDv4F,EAAmBvS,EAAMuS,iBACzBF,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmB,IAE7Do4F,MAAAA,GAAAA,EAAazpG,KAAIwC,IACbonG,EAAWxpG,KAAKypG,EAAcrnG,EAAMgmG,EAAWC,EAAWlpG,EAAeT,EAAOsnC,EAAY9pB,OAKhG,MAAO,CAAEjS,MAFSy/F,EAAa4C,GAEJnoG,MAAOqlG,IAGhCE,EAAgB4C,IAClB,MAAMC,EAA+BD,GAAsD,iBAE3F,OAAO9tG,EAAAA,cAAA,MAAIyK,UAAU,yCAAyCsjG,IAG5D9C,EAAgBA,CAClBrnG,EACAgmG,EACAC,EACAlpG,EACAT,EACAsnC,EACA9pB,KAC6B,IAAAswF,EAAAC,EAC7B,MAAMriG,EACFhI,EAAKgK,OAAShK,EAAKgK,MAAMzH,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAAIzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IAEnHnlG,EAAmB,QAAdspG,EAAGpqG,EAAKsqG,cAAM,IAAAF,GAAO,QAAPC,EAAXD,EAAapgG,aAAK,IAAAqgG,OAAP,EAAXA,EAAoBE,aAClC,MAAO,CACHtjF,KAAM2gF,EAAoB5nG,EAAKgK,MAAQhK,EAAKgK,MAAQ,GAAIg8F,EAAWC,GACnEuE,UAAWC,EAAiBzqG,EAAMgI,GAAoB,GAAI1L,GAC1DwE,OAAQknD,EAAAA,iBAAiBC,kBAAkBnnD,IAAUyF,EAAazF,EAAOA,EAAOgZ,EAAU8pB,EAAYtnC,GACtGouG,UAAWC,IACXC,SAAUC,EAAa7qG,EAAMgmG,EAAWC,EAAWlpG,EAAeT,GAClE6H,GAAInE,EAAKuqC,KAIXogE,EAAgBA,KACX,CACH9jG,UAAW,uCACX+d,IAAK,OAIPimF,EAAeA,CACjB7qG,EACAgmG,EACAC,EACAlpG,EACAT,KAEA,MACI4qG,kBAAkB,QAAEpqG,IACpBR,EACE2d,EACFja,EAAKgK,OAAShK,EAAKgK,MAAMzH,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAAIzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IAEzHt3F,EAAQooB,cAAc+zE,MAAQ9qG,EAAKuqC,GACnC,MAAM5yB,GAAY3I,EAAAA,EAAAA,wBAAuBH,EAAmBF,GAG5D,4WAAA3L,CAAA,CACI6D,UAAW,uCACX+d,IAAK,IACL,aAAc,GAAG3K,KALAnd,EAAQgb,iBAAiBC,eAAe/X,EAAKsqG,OAAQtgG,MAAOugG,gBAM7E7oG,KAAMimG,EAAc3nG,EAAMgmG,EAAWC,EAAWlpG,IAC7C4a,IAILgwF,EAAgBA,CAACE,EAA8B7B,EAAmBC,EAAmBlpG,KACvF,MAAM2sG,EAAiB7B,EAAW79F,MAC7BzH,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,IAC5CzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,IACjD,OAAO4B,EAAW79F,OAAS69F,EAAWt9D,IAChC70B,EAAAA,EAAAA,uBAAsBg0F,EAAgB7B,EAAWt9D,GAA0BxtC,OAAeyB,GAC1F,IAGJopG,EAAsBA,CAACC,EAAoB7B,EAAmBC,KAChE,MAAMuC,EAAgBX,EACjBtlG,QAAQ,IAAI+mB,OAAO,IAAI08E,KAAc,MAAO,YAC5CzjG,QAAQ,IAAI+mB,OAAO,IAAI28E,KAAc,MAAO,aAEjD,OAEI7pG,EAAAA,cAAA,QAAMyK,UAAU,sDAAsDktC,yBAAyBqhB,EAAAA,EAAAA,IAAgBozC,MAIjHjiG,EAAeA,CACjB6N,EACAD,EACA2F,EACA8pB,EACAtnC,KACoB,IAAAyuG,EACpB,MACI7D,kBAAkB,QAAEpqG,IACpBR,EAEJ,OACIF,EAAAA,cAACoK,EAAAA,eAAc,CACXrC,GAAI2V,EACJrT,SAAUm9B,EACV9mC,QAASA,EACTkC,KAAM,CACF8B,MAAO,CACH+C,wBAAyBuQ,EACzBxQ,UAAWuQ,IAGnBtN,UAAU,6CACVH,cAA8B,QAAjBqkG,EAAEzuG,EAAMgR,iBAAS,IAAAy9F,OAAA,EAAfA,EAAiBrkG,iBAKtC+jG,EAAmBA,CAAC5C,EAA8B7/F,EAAiB1L,KACrE,MACI4qG,kBACIpqG,SACIsE,SAAS,aAAE+G,IAEftJ,QAAQ,cAAEuJ,KAEd9L,EAKJ,GAJI8L,IACAA,EAAcX,iBAAkB,IAG/BogG,IAAeA,EAAWzmC,SAE3B,OADA9kE,EAAMwlB,UAAUuc,MAAM,2DACf,KAaX,OACIjiC,EAAAA,cAAC2L,EAAAA,GAAK,CACFzK,eAAgBhB,EAAM4qG,iBAAiBpqG,QAAQC,cAAcO,eAC7D0K,QAASA,EACTnB,UAAU,2CACVoB,IAAK4/F,EAAWzmC,SAChBj5D,aAAcA,EACdC,cAAeA,GAjBsB,CACzCnB,UAAW,CACPC,GAAI,CAAEC,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCC,GAAI,CAAEH,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GACnCE,GAAI,CAAEJ,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,IAEvCG,UAAU,EACVC,iBAAiB,GAWbY,oBAAoB,ilBCjKhC,MAAMypC,WAAe11C,EAAAA,UAkCjBC,YAAmBC,GACfC,MAAMD,GAxBO,KAAA0pG,UAAoB,IAEpB,KAAAC,UAAoB,IAEpB,KAAAx5B,SAAmB,IAgTnB,KAAAu+B,eAAiB,KAC9B,MAAMC,EAAcpuG,KAAKP,MAAMgR,UAAU49F,gCACzC,OAAO9uG,EAAAA,cAAC+yC,EAAAA,EAAO,CAACtoC,UAAU,iCAAiCpB,MAAOwlG,EAAa/lG,KAAMimG,EAAAA,EAAYC,OAAQC,cAAc,WAI1G,KAAAC,gBAAmBltE,IAChC,MAAM,YAAE6oE,GAAgBpqG,KAAKiD,MAEzBmnG,GAAeA,EAAYL,kBAAuD,OAAnCxoE,EAAE9H,OAAOi1E,QAAQ,eAChE1uG,KAAK2uG,0BAII,KAAAC,OAAUrtE,IACvB,MAAM,YAAE6oE,GAAgBpqG,KAAKiD,MAEzBmnG,GAAeA,EAAYL,kBAAoBxoE,EAAEuL,UAAYC,EAAAA,SAASC,OACtEhtC,KAAK2uG,yBACE3uG,KAAKiD,MAAMgqG,sBAAwB1rE,EAAEuL,UAAYC,EAAAA,SAASC,QAC7DhtC,KAAKiD,MAAMgqG,sBACXjtG,KAAKuB,SAAS,CAAE0rG,sBAAsB,IAMrCjtG,KAAK6uG,cAAc3mG,SAAWlI,KAAK6uG,cAAc3mG,QAAQkzB,SAAUmG,EAAE9H,SACrEz5B,KAAK8uG,qBAAqB5mG,SAAWlI,KAAK8uG,qBAAqB5mG,QAAQkzB,SAAUmG,EAAE9H,UAGpF2wE,GAAeA,EAAYL,kBAC3B/pG,KAAK2uG,yBAGL3uG,KAAKiD,MAAMgqG,sBACXjtG,KAAKuB,SAAS,CAAE0rG,sBAAsB,MAKjC,KAAA0B,uBAAyB,KACtC,MACI1uG,SAAS,cAAEC,GACXiC,MAAM,YAAE4sG,IACR/uG,KAAKP,MAELO,KAAKm1C,gBAAgBjtC,SAAWlI,KAAKm1C,gBAAgBjtC,QAAQP,MAAMtH,OAAS,IAC5E0uG,EAAY91D,WAAa,GACzB81D,EAAYC,sBAAwB,GACpCD,EAAYE,2BAA6B,GACzC/uG,GAAgBA,EAAc4oD,QAAOomD,EAAAA,EAAAA,wBAAuBH,GAAcA,GAC1E/uG,KAAKm1C,gBAAgBjtC,QAAQP,MAAQ,IAGzC3H,KAAKuB,SAAS,CAAE03C,WAAY,GAAImxD,iBAAazoG,EAAW0pG,oBAAgB1pG,KA4D3D,KAAAgvE,mBAAsBxnD,MAC9BA,GAASA,EAAM9oB,QAAUL,KAAKmsE,WAC/BnsE,KAAKuB,SAAS,CAAE03C,WAAY9vB,IAG5BnpB,KAAK+wE,qBACL/wE,KAAK+wE,oBAAoBC,SAG7B,MAAM,QACF/wE,EACAkC,MAAM,YAAE4sG,IACR/uG,KAAKP,MAET,GAAIQ,EAAS,CACT,GAAIkpB,GAASA,EAAM9oB,OAAS,EAAG,CAC3B,GAAI8oB,EAAM9oB,OAASL,KAAKmsE,SACpB,OAGAxgE,EAAAA,gBAAgBC,YAAY5L,KAAKmvG,sBACjCnvG,KAAKovG,iBAAiBjmF,GAG1B4lF,EAAY91D,WAAa9vB,OAEzBnpB,KAAKuB,SAAS,CAAE6oG,iBAAazoG,EAAW0pG,oBAAgB1pG,IACxDotG,EAAY91D,WAAa,GAE7Bh5C,EAAQC,cAAc4oD,QAAOomD,EAAAA,EAAAA,wBAAuBH,GAAcA,KA0BzD,KAAAM,cACb9tE,IAEA,MACIv/B,QAAQ,oBAAEmqG,GACVlsG,SAAS,cACLC,EACA6B,KACIC,QAAQ,2BAAEitG,MAGlBjvG,KAAKP,MAEH0pB,EAAQnpB,KAAKm1C,gBAAgBjtC,SAAWlI,KAAKm1C,gBAAgBjtC,QAAQP,MAG3E,GAFA45B,EAAEjhB,kBAEG6I,GAAUA,GAA0B,IAAjBA,EAAM9oB,QAAiB8rG,EAC3CnsG,KAAKm1C,iBAAmBn1C,KAAKm1C,gBAAgBjtC,SAAWlI,KAAKm1C,gBAAgBjtC,QAAQ2vC,YAClF,CACH,MAAMuzD,EAAY6D,GAA8B,IAC1CK,EAAYtvG,KAAKuvG,oBAAmB5tF,EAAAA,EAAAA,IAAW,SAAUzhB,IAAkB,GAAIipB,EAAOiiF,GAC5F3sF,SAAS/b,SAASmC,KAAOyqG,IAIhB,KAAAE,0BAA4B,KACzC,MAAM,qBAAEvC,EAAoB,YAAE7C,GAAgBpqG,KAAKiD,MAE9CgqG,GAOG7C,GAAeA,EAAYL,kBAC3B/pG,KAAK2uG,yBAET3uG,KAAKuB,SAAS,CAAE0rG,sBAAsB,KATtCjtG,KAAKuB,SAAS,CACV0rG,sBAAsB,EACtBh0D,WAAY,GACZw2D,gBAAgB,KAUX,KAAAC,2BAA6B,KAC1C,MAAM,YAAEtF,GAAgBpqG,KAAKiD,MACvBmnG,GAAeA,EAAYL,mBAC7B/pG,KAAK2uG,yBACL3uG,KAAKuB,SAAS,CAAE0rG,sBAAsB,MAI7B,KAAAsC,mBAAqB,CAAChjE,EAAepjB,EAAeo+B,KACjE,IAAKzoC,EAAAA,GAASC,UACV,MAAO,GAGX,MAAMusF,EAAW,IAAIj1F,IAAIk2B,EAAO9pC,OAAOC,SAASmC,MAKhD,OAJI0iD,GAAOp+B,GACPmiF,EAAS7wF,aAAamkB,IAAI2oB,EAAKp+B,GAG5BmiF,EAASzmG,MAGH,KAAA8qG,2BAA8B5uF,IAC3C,GAAsD,OAAlD/gB,KAAK4vG,iCAAiC1nG,QAAkB,CACxD,MAAM2nG,EAAiB7vG,KAAK4vG,iCAAiC1nG,QACvD4nG,EAAsB9vG,KAAKP,MAAMgR,UAAUs/F,wBAC3CC,EAAoBhwG,KAAKP,MAAMgR,UAAUw/F,wBAI/C,OAHAJ,EAAez1D,UACXr5B,GAAUA,EAAOgpF,kBAAoBhpF,EAAOgpF,iBAAiB1pG,OAAS,EAAIyvG,EAAsBE,EACpGH,EAAe9zD,aAAa,YAAa,aAClC8zD,EAAez1D,UAE1B,MAAO,IA9gBPp6C,KAAKm1C,gBAAkB51C,EAAAA,YACvBS,KAAKmtG,qBAAuB5tG,EAAAA,YAC5BS,KAAK4vG,iCAAmCrwG,EAAAA,YACxCS,KAAK8uG,qBAAuBvvG,EAAAA,YAC5BS,KAAK6uG,cAAgBtvG,EAAAA,YACrBS,KAAKiD,MAAQ,CACTgqG,sBAAsB,EACtBh0D,WAAY,GACZi3D,0BAA2B,kCAC3BC,0BAA2B,kCAC3BC,2BAA4B,mCAC5BhG,iBAAazoG,EACb0pG,oBAAgB1pG,EAChB0uG,qBAAsB,GACtBZ,gBAAgB,EAChBa,sBAAsB,GAE1BtwG,KAAKmsE,SACAnsE,KAAKP,MAAMQ,SACRD,KAAKP,MAAMQ,QAAQ8B,KACnB/B,KAAKP,MAAMQ,QAAQ8B,IAAIC,QACvBhC,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOuuG,sBAClC,GAEJvwG,KAAKmvG,oBAAsB,GAC3BnvG,KAAKspG,gBAAkBtpG,KAAKP,MAAMuC,QAAUhC,KAAKP,MAAMuC,OAAOsnG,gBAAkBtpG,KAAKP,MAAMuC,OAAOsnG,gBAAkB,EACpHtpG,KAAKwwG,gBAAkB,kBACvBxwG,KAAK+sG,iBAAmB,mBACxB/sG,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAGfjlB,KAAKywG,uBAGF,0BACHhyF,SAASoP,MAAQpP,SAASoP,KAAKhN,iBAAiB,YAAa7gB,KAAKyuG,iBAClEhsG,QAAUA,OAAOoe,iBAAiB,QAAS7gB,KAAK4uG,QAG7ChzE,uBACHnd,SAASoP,MAAQpP,SAASoP,KAAKgO,oBAAoB,YAAa77B,KAAKyuG,iBAAiB,GACtFhsG,QAAUA,OAAOo5B,oBAAoB,QAAS77B,KAAK4uG,QAAQ,GAGxD75E,qBACH,MACI/yB,QAAQ,gBAAEkqG,IACVlsG,KAAKP,OACH,qBAAEwtG,EAAoB,eAAEwC,GAAmBzvG,KAAKiD,MAEjDjD,KAAKP,MAAMQ,QAAQsE,QAAQwmD,OAAOC,YAC9BkhD,GAAmBe,EACpBjtG,KAAKm1C,iBAAmBn1C,KAAKm1C,gBAAgBjtC,SAAWlI,KAAKm1C,gBAAgBjtC,QAAQ2vC,QAC7E43D,GACRzvG,KAAKmtG,sBAAwBntG,KAAKmtG,qBAAqBjlG,SAAWlI,KAAKmtG,qBAAqBjlG,QAAQ2vC,SAKzG7iB,sBAAsBC,EAAsCqP,GAC/D,OAAItkC,KAAKiD,QAAUqhC,GAAatkC,KAAKP,QAAUw1B,EAO5C3rB,SAAM,IAAAonG,EAAAC,EAAAC,EACT,MAAM,QACF3wG,EACAwQ,WAAW,WAAEy8F,EAAU,sBAAEF,EAAqB,mBAAE6D,EAAkB,mBAAEC,EAAkB,mBAAEC,GACxF/uG,QAAQ,gBAAEkqG,EAAe,oBAAEC,EAAmB,sBAAE6E,EAAqB,2BAAEC,EAA0B,UAAEjnG,EAAY,KAC/GhK,KAAKP,OAEH,qBACFwtG,EAAoB,WACpBh0D,EAAU,0BACVi3D,EAAyB,0BACzBC,EAAyB,2BACzBC,EAA0B,YAC1BhG,EAAW,eACXiB,EAAc,qBACdiF,GACAtwG,KAAKiD,MAEHmoG,EAAanrG,GAAWA,EAAQ8B,KAAO9B,EAAQ8B,IAAIC,QAAU/B,EAAQ8B,IAAIC,OAAOitG,4BAA+B,IAC/G9D,GAAgBxpF,EAAAA,EAAAA,IAAW,SAAU1hB,GAAWA,EAAQC,gBAAkB,GAC1EovG,EAAYtvG,KAAKuvG,mBAAmBpE,EAAelyD,EAAYmyD,GAC/Da,EAAoB+E,GAAyBA,EAAsB3wG,OAAS,EAAI2wG,EAAwB,qBAExGE,EAAqB9G,MAAAA,GAA6B,QAAlBsG,EAAXtG,EAAaL,wBAAgB,IAAA2G,OAAlB,EAAXA,EAA+BzgG,QACtD+6F,GAAcA,EAAWhC,iBAAmBA,EAAemI,SAAWnG,EAAWhC,iBAAmBA,EAAeoI,OAEjHC,EAAqBjH,MAAAA,GAA6B,QAAlBuG,EAAXvG,EAAaL,wBAAgB,IAAA4G,OAAlB,EAAXA,EAA+B1gG,QACtD+6F,GAAcA,EAAWhC,iBAAmBA,EAAe33B,UAEzDk6B,EAAmBF,MAAAA,OAAc,EAAdA,EAAgB9lG,MAAK4sF,GACnCA,EAAQmI,cAAgB5M,EAAAA,qBAAqB8d,WAElD8F,EAAsBlH,MAAAA,GAA6B,QAAlBwG,EAAXxG,EAAaL,wBAAgB,IAAA6G,OAAlB,EAAXA,EAA+B3gG,QAAO+6F,IAAa,IAAAE,EAC3E,GAAIF,EAAWhC,iBAAmBA,EAAewC,SAC7C,OAAO,EAEX,MAAMrZ,EAAUoZ,MAAAA,GAAwB,QAARL,EAAhBK,EAAkB9b,cAAM,IAAAyb,OAAR,EAAhBA,EAA0B3lG,MAAKpC,IAAO,IAAAouG,EAClD,MAAO,GAAuB,QAAvBA,EAAGpuG,EAAKmrF,uBAAe,IAAAijB,EAAAA,EAAI,MAAQvG,EAAWt9D,MAGzD,OAAQyd,EAAAA,iBAAiBC,kBAAkB+mC,MAGzC5oF,EAASpD,GAAAA,GAAA,GACPnG,KAAKP,OAAmC,IAE5Cw1C,OAAQ,CACJ/xB,YAAaljB,KAAKP,MAClBuK,UAAW,GAAGkW,GAAAA,CAAW,YAAalW,MAAcmiG,EAAsB,YAAc,iBAE5FqF,qBAAsB,CAClBzpF,IAAK,MACL/d,UAAW,iCACX,YAAa,YACbmY,IAAKniB,KAAK4vG,kCAEd6B,yBAA0BzxG,KAAKiD,MAAMotG,qBACrCp3D,WAAYj5C,KAAKiD,MAAMg2C,WACvBy4D,YAAa,CACTvvF,IAAKniB,KAAK8uG,qBACV9kG,UAAW,0BAEf2nG,eAAgB,CACZ3nG,UAAWkmG,GAEf0B,eAAgB,CACZ5nG,UAAWmmG,GAEf0B,gBAAiB,CACb7nG,UAAWomG,GAEf0B,WAAY,CACR9nG,UAAW,GAAGhK,KAAKwwG,mBAAmBvD,EAAuB,UAAY,aAE7E8E,YAAa,CACThqF,IAAK,OACL5F,IAAKniB,KAAK6uG,cACV7kG,UAAW,wBACX,aAAc,SACdxB,KAAM,aACN6iB,KAAM,SACNgjC,OAAQihD,EACR95D,aAAc,MACd5S,SAAU5iC,KAAKqvG,eAEnB2C,UAAW,CACPjqF,IAAK,KACL/d,UAAWkW,GAAAA,CAAW,wCAAyClW,IAEnEioG,UAAW,CACPlqF,IAAK,KACL/d,UAAWkW,GAAAA,CAAW,wCAAyClW,IAEnEkoG,WAAY,CACRnqF,IAAK,KACL/d,UAAWkW,GAAAA,CAAW,yCAA0ClW,IAEpEpB,MAAOkkG,EAAe,CAClBG,qBAAAA,EACAF,iBAAkB,GAAG/sG,KAAK+sG,oBAAoBE,EAAuB,UAAY,YACjFC,WAAAA,EACAF,sBAAAA,EACAG,qBAAsBntG,KAAKmtG,qBAC3BjB,gBAAAA,EACAE,yBAA0BpsG,KAAKwvG,0BAC/Bx9F,iBAAkBhS,KAAKgS,mBAE3BwkE,KAAMw1B,EAAc,CAChBK,gBAAiBwE,EACjBvE,gBAAiBwE,EACjBvE,gBAAiBwE,EACjB7E,gBAAAA,EACA/2D,gBAAiBn1C,KAAKm1C,gBACtBg3D,oBAAAA,EACAz/B,kBAAmB1sE,KAAK2wE,mBACxBy7B,yBAA0BpsG,KAAKwvG,0BAC/BrjC,SAAUnsE,KAAKmsE,SACfi/B,UAAAA,EACAa,kBAAAA,EACA9iF,MAAO8vB,IAEXk5D,mBACIl5D,GACAA,EAAW54C,OAAS,IACnBiwG,GAAyBY,GAAsBvlG,EAAAA,gBAAgBC,YAAYslG,IACtEtE,EAA4B,CACxBsD,0BAAAA,EACA/E,cAAAA,EACAC,UAAAA,EACAjC,UAAWnpG,KAAKmpG,UAChBC,UAAWppG,KAAKopG,UAChBiB,iBAAkBrqG,KAAKP,MACvBw5C,WAAAA,EACAmxD,YAAa8G,EACbl/F,iBAAkBhS,KAAKgS,wBAE3BrQ,EACVywG,mBACIn5D,GACAA,EAAW54C,OAAS,IACnBiwG,GAAyBe,GAAsB1lG,EAAAA,gBAAgBC,YAAYylG,IACtEjE,EAA4B,CACxB+C,0BAAAA,EACAhF,cAAAA,EACAC,UAAAA,EACAjC,UAAWnpG,KAAKmpG,UAChBC,UAAWppG,KAAKopG,UAChBiB,iBAAkBrqG,KAAKP,MACvBw5C,WAAAA,EACAmxD,YAAaiH,EACbpsF,UAAWjlB,KAAKP,MAAMwlB,UACtB8hB,WAAY/mC,KAAKP,MAAMmK,SACvBqT,SAAUjd,KAAKP,MAAM6H,GACrB0K,iBAAkBhS,KAAKgS,iBACvBvB,UAAWzQ,KAAKP,MAAMgR,iBAE1B9O,EACV0wG,oBACIp5D,GACAA,EAAW54C,OAAS,IACnBiwG,GAAyBgB,GAAuB3lG,EAAAA,gBAAgBC,YAAY0lG,IACvEnH,EAA6B,CACzBiG,2BAAAA,EACAjF,cAAAA,EACAC,UAAAA,EACAjC,UAAWnpG,KAAKmpG,UAChBC,UAAWppG,KAAKopG,UAChBiB,iBAAkBrqG,KAAKP,MACvBw5C,WAAAA,EACAmxD,YAAakH,EACbjG,eAAAA,EACAr5F,iBAAkBhS,KAAKgS,iBACvB24F,mBAAoBsG,SAExBtvG,EACVuqD,UAAW,CACPkgD,yBAA0BpsG,KAAKwvG,0BAC/B8C,0BAA2BtyG,KAAK0vG,4BAEpCzC,qBAAsBjtG,KAAKiD,MAAMgqG,qBACjCqD,qBAAAA,EACAiC,cAAevyG,KAAKmuG,mBAGxB,OAAOnuG,KAAKP,MAAM+J,WAAWD,GAGzBknG,uBACJ,MAAM+B,EAAkBxyG,KAAKP,MAAMuC,OAAOywG,wBAEpCrI,EAAcz+F,EAAAA,gBAAgBsyD,OAAOtyD,EAAAA,gBAAgBsjD,YAAYujD,IACvE,IAAK7mG,EAAAA,gBAAgBC,YAAYw+F,GAM7B,YALApqG,KAAKmvG,oBAAsB,CACvB,CAAEnG,eAAe,WACjB,CAAEA,eAAe,WACjB,CAAEA,eAAe,oBAKzB,MAAM0J,EAAmBtI,EAAYn6F,QAAO+6F,GAAcA,EAAWhC,iBACjEr9F,EAAAA,gBAAgBC,YAAY8mG,GAC5B1yG,KAAKmvG,oBAAsBuD,EAI/B1yG,KAAKmvG,oBAAsB,GAiEvB,4BAA4BwD,EAAkCxpF,GAClE,IACI,MAAM0gF,QAA0B+I,EAC5B,IAAI3J,EAAiB9/E,EAAOnpB,KAAKspG,gBAAiBtpG,KAAK6yG,qBAAsB7yG,KAAKmpG,UAAWnpG,KAAKopG,WAClGppG,KAAKP,MAAMQ,QAAQC,eAEvB,GAAIyyG,IAA6B3yG,KAAK2yG,yBAClC,OAEJ,OAAO9I,EACT,MAAOroE,GACL,GAAImxE,IAA6B3yG,KAAK2yG,yBAClC,OAKJ,OAHA3yG,KAAKuB,SAAS,CAAE6oG,iBAAazoG,EAAW0pG,oBAAgB1pG,EAAW0uG,qBAAsBrwG,KAAK2vG,+BAC9F3vG,KAAKP,MAAMwlB,UAAUssD,UAAU/vC,QAC/BxhC,KAAKP,MAAMwlB,UAAUwhB,MAAM,uCAK3B,4BAA4BksE,EAAkCxpF,EAAeihF,GACjF,IACI,MAAM7iF,QAAiBvnB,KAAK8yG,mBAAmB3pF,GAC/C,GAAIwpF,IAA6B3yG,KAAK2yG,yBAClC,OAEJ3yG,KAAKuB,SAAS,CACV6oG,YAAAA,EACAiB,eAAgB9jF,EAChB8oF,qBAAsBrwG,KAAK2vG,2BAA2BvF,GACtDkG,sBAAsB,IAE5B,MAAO9uE,GACL,GAAImxE,IAA6B3yG,KAAK2yG,yBAClC,OAEJ3yG,KAAKuB,SAAS,CAAE6oG,YAAAA,EAAaiB,oBAAgB1pG,EAAW0uG,qBAAsBrwG,KAAK2vG,2BAA2BvF,KAC9GpqG,KAAKP,MAAMwlB,UAAUssD,UAAU/vC,GAC/BxhC,KAAKP,MAAMwlB,UAAUwhB,MAAM,mCAI3B2oE,iBAAiBjmF,GACrBnpB,KAAK+wE,oBAAsBj1B,GAAAA,EAASl8C,UAChCI,KAAKuB,SAAS,CAAE+uG,sBAAsB,IACtC,MAAMqC,EAA2Bn/C,EAAAA,OAAOC,KAAKC,eAC7C1zD,KAAK2yG,yBAA2BA,EAChC,MAAM9I,QAA0B7pG,KAAK+yG,sBAAsBJ,EAA0BxpF,SAC/EnpB,KAAKgzG,sBAAsBL,EAA0BxpF,EAAO0gF,KACnE7pG,KAAK4vE,UAERv0C,YAAW,KACPr7B,KAAK+wE,wBACN,GAoCC8hC,qBAIJ,OAH0C7yG,KAAKmvG,oBAAoBxuG,KAC/DsyG,GAAsBA,EAAmBjK,eAAgBkK,OAAO,GAAGC,cAAgBF,EAAmBjK,eAAgB35D,MAAM,KAEjGrb,KAAK,KAGhC,yBAAyBilB,GAC7B,MAAQ/4C,cAAe63E,GAAQ/3E,KAAKP,MAAMQ,QACpCq1D,GAAYhc,EAAAA,EAAAA,IAAay+B,EAAIt3E,gBACnC,OAAO2yG,EAAAA,oBAAAA,8BACH,CAAErzG,cAAeg4E,GACjB,CACIv+B,gBAAiBP,EACjBE,QAAS,CACLC,WAAY2+B,EAAIt3E,eAAeQ,YAAYq1C,UAC3C+C,UAAWic,MAmF/B,oGCvnBA,MAsCM7yB,EAAcA,CAAC+zC,EAA4Bs7B,EAAwBC,IAEjExyG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK6+F,GACNvyG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK8+F,GACLv7B,EAAKhpC,MACLgpC,EAAKk2B,UACLl2B,EAAKm2B,YAMhB0G,EAA4BA,CAC9B1B,EACAK,EACAd,EACAZ,EACAiC,IAGIrB,GACI3xG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0+F,GACNpyG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK++F,GACL1B,GAAwBiC,GACvBjC,GACEY,EAAmB9mF,KAAKzpB,KAAIypB,GACjBA,MAQ7BkpF,EAA4BA,CAC9B1B,EACAK,EACAZ,EACAf,EACAiC,IAGIlB,GACI9xG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK2+F,GACNryG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKg/F,GACLZ,EAAmBrmG,MACnBslG,GAAwBiC,GACvBjC,GACEe,EAAmBnsG,MAAMvE,KAAI,CAACwC,EAAMiC,IAE5B7F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK9P,EAAK0qG,UAAS,CAAEvnG,IAAKnD,EAAKmE,IAAMlC,IACtC7F,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK9P,EAAK4qG,UACV5qG,EAAKwqG,UACLxqG,EAAKinB,KACLjnB,EAAKc,YAWxCsvG,EAA6BA,CAC/B1B,EACAK,EACAZ,EACAhB,EACAiC,IAGIjB,GACI/xG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK4+F,GACNtyG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKi/F,GACLZ,EAAoBtmG,MACpBslG,GAAwBiC,GACvBjC,GACEgB,EAAoBlnF,KAAKzpB,KAAIypB,GAClBA,MAQnC,EA9H+C3qB,IAC3C,MAAM,OACFw1C,EAAM,qBACNu8D,EAAoB,yBACpBC,EAAwB,WACxBx4D,EAAU,YACVy4D,EAAW,eACXC,EAAc,eACdC,EAAc,gBACdC,EAAe,UACfG,EAAS,UACTC,EAAS,WACTC,EAAU,KACV17B,EAAI,oBACJ67B,EAAmB,mBACnBF,EAAkB,mBAClBC,EAAkB,WAClBN,EAAU,YACVC,EAAW,MACXnpG,EAAK,qBACL0nG,EAAoB,cACpBiC,GACA9yG,EAEJ,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKgiC,GACPrsC,EACA65B,EAAY+zC,EAA8Bs7B,EAAYC,GACvDxyG,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKy+F,GACLz4D,GAAcA,EAAW54C,OAAS,EAAId,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKu+F,GAAuBC,GAAmC,GAC1G4B,EAA0B1B,EAAgBK,EAAWG,EAAoB7B,EAAsBiC,GAC/Fe,EAA0B1B,EAAgBK,EAAWG,EAAoB9B,EAAsBiC,GAC/FgB,EAA2B1B,EAAiBK,EAAYG,EAAqB/B,EAAsBiC,+qBCrBpH,MAAMiB,UAAwBj0G,EAAAA,cAC1BC,YAAYC,GACRC,MAAMD,GAENO,KAAKyzG,oBAAsBzzG,KAAKyzG,oBAAoB9rE,KAAK3nC,MAGtDsJ,SACH,MAAMoqG,EAASvtG,EAAAA,EAAA,GACRnG,KAAKP,OAAK,IACb+zG,gBAAiB,CACbtwF,YAAaljB,KAAKP,MAClBuK,UAAW,wBAEf2pG,uBAAwB3zG,KAAKyzG,wBAGjC,OAAOzzG,KAAKP,MAAM+J,WAAWkqG,GAGzBD,sBACJ,MAAMroG,EAAMpL,KAAKP,MAAMuC,OAAO4xG,KAC9B,GAAI90F,EAAAA,GAASC,UACT,OAAQ/e,KAAKP,MAAMuC,OAAO6xG,aACtB,IAAI,WACA,OACIt0G,EAAAA,cAACu0G,EAAAA,qBAAoB,CACjBD,YAAaE,EAAAA,YAAYC,SACzBC,QAASx1F,SAASpI,IAClBpW,QAASD,KAAKC,QACdqH,GAAI,GAAGtH,KAAKP,MAAM6H,cAClBsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNiJ,IAAKA,IAGjB,IAAI,UACA,OACI7L,EAAAA,cAACu0G,EAAAA,qBAAoB,CACjBD,YAAaE,EAAAA,YAAYG,QACzBD,QAASx1F,SAASpI,IAClBpW,QAASD,KAAKC,QACdqH,GAAI,GAAGtH,KAAKP,MAAM6H,aAClBsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNiJ,IAAKA,IAGjB,IAAI,YACA,OACI7L,EAAAA,cAACu0G,EAAAA,qBAAoB,CACjBD,YAAaE,EAAAA,YAAYI,UACzBF,QAASx1F,SAASpI,IAClBpW,QAASD,KAAKC,QACdqH,GAAI,GAAGtH,KAAKP,MAAM6H,eAClBsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNiJ,IAAKA,IAGjB,IAAI,WACA,OACI7L,EAAAA,cAACu0G,EAAAA,qBAAoB,CACjBD,YAAaE,EAAAA,YAAYK,SACzBH,QAASx1F,SAASpI,IAClBpW,QAASD,KAAKC,QACdqH,GAAI,GAAGtH,KAAKP,MAAM6H,cAClBsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNiJ,IAAKA,IAGjB,IAAI,OACA,OACI7L,EAAAA,cAACu0G,EAAAA,qBAAoB,CACjBD,YAAaE,EAAAA,YAAYM,KACzBJ,QAASx1F,SAASpI,IAClBpW,QAASD,KAAKC,QACdqH,GAAI,GAAGtH,KAAKP,MAAM6H,UAClBsC,SAAU5J,KAAKP,MAAMmK,SACrBzH,KAAM,GACNiJ,IAAKA,IAGjB,QACI,OAAO,KAGnB,OAAO,MAIf,qICxGO,MAAMkpG,EAA2D70G,IACpE,MAAM,gBAAE+zG,EAAe,uBAAEG,GAA2Bl0G,EAEpD,OAAKk0G,EAIEp0G,IAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKugG,GAAkBG,IAHjCl0G,EAAMQ,QAAQglB,UAAUuc,MAAM,iDACvB,OAKf,kHC8BA,MAyFM+yE,EAA4BA,CAC9BpxG,EACA1D,KAC4C,IAAAsqB,EAO5C,MAAO,CACHhH,QAPgB5f,EAAK4f,SA7FPkH,EAACC,EAAkCzqB,KACrD,MAAMgB,EAAiBhB,EAAMgB,eAC7B,OACIlB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVC,KAAMF,EACNnC,IAAI,IACJ/d,UAAU,qDACVqgB,UAAW,CAKPC,OAAQjK,IACJ5gB,EAAM8qB,2BAA2BlK,IAErC5f,eAAAA,MA8EwBwpB,CAAc9mB,EAAK4f,QAAStjB,GAQ5D2qB,KAPkBjnB,EAAKqnB,SAnEPC,EAACC,EAAwCjrB,KAC7D,MAAMgB,EAAiBhB,EAAMgB,eAC7B,OACIlB,EAAAA,cAAC4qB,EAAAA,GAAa,CACVC,KAAMM,EACN3C,IAAI,IACJ/d,UAAU,0DACVqgB,UAAW,CAKPC,OAAQjK,IACJ5gB,EAAM88B,gCAAgClc,IAE1C5f,eAAAA,MAoD0BgqB,CAAgBtnB,EAAKqnB,QAAS/qB,GAQhEkrB,MAPwB,QAAbZ,EAAG5mB,EAAKwnB,aAAK,IAAAZ,OAAA,EAAVA,EAAYppB,KAAI,CAACiqB,EAAqBxlB,IAxCxCylB,EAACD,EAAqBnrB,EAA2CqrB,KACjF,MAAMC,EAAoC,CACtC3N,UAAWwN,EAAQxN,UACnBpT,UAAW,2DACXghB,SAAUJ,EAAQI,SAClBC,QAASL,EAAQK,QAAQC,eACzBC,aAAcP,EAAQO,aACtBE,KAAM,QAEJ5qB,EAAiBhB,EAAMgB,eAC7B,OACIlB,EAAAA,cAAC4qB,EAAAA,GAAa,CACV7jB,IAAKwkB,EACL3K,KAAM4K,EACNV,UAAW,CAKPiB,aAAcjL,IACV5gB,EAAM8rB,+BAA+BT,EAAWzK,IAEpD5f,eAAAA,MAmBDoqB,CAAYD,EAASnrB,EAAO2F,KAOnCovG,+BAAgC,CAAExqG,UAAW,2DAC7CyhB,2BAA4B,CAAEzhB,UAAW,uDASpCyqG,EACTh1G,IAEA,MAAM,kBAAEksB,GAAsBlsB,EAC9B,IAAKksB,EACD,OAIJ,MAAO,CACH3B,sBAAuB,CAAEhgB,UAAW,gDACpC0qG,uBAH2DH,EAA0B5oF,EAAmBlsB,0kBCjIhH,MAAMk1G,UAAoBp1G,EAAAA,cAKtBC,YAAmBC,GACfC,MAAMD,GAgGH,KAAAm6B,iBAAoBvZ,IACvBrgB,KAAKP,MAAMuC,OAAO+gB,QAASqH,KAAO/J,EAAMoZ,OAAO9xB,OAO5C,KAAAkyB,sBAAyBxZ,IAC5BrgB,KAAKP,MAAMuC,OAAO83B,UAAYzZ,EAAMoZ,OAAO9xB,OAxG3C3H,KAAK69B,eAAsG,QAArFtV,EAAAA,EAAAA,UAAS,CAAEyN,QAASC,EAAAA,YAAY6H,SAAU79B,QAASD,KAAKP,MAAMQ,QAAQsE,UAC5FvE,KAAKgS,kBAAmB8S,EAAAA,EAAAA,oBACpB9kB,KAAKP,MAAMQ,QAAQsE,QAAQwgB,kBAC3B/kB,KAAKP,MAAMulB,aACXhlB,KAAKP,MAAMwlB,WAIZ3b,SACH,MAAMsrG,EAAOzuG,EAAAA,EAAA,GACNnG,KAAKP,MAAMuC,QAAM,IACpB67B,eAAgB79B,KAAK69B,iBAEnBy7B,EAA6Bt5D,KAAKP,MAAMuC,OAAOs3D,MAC/Cu7C,EAAoC,CACtCC,cAAe90G,KAAKP,MAAMgR,UAAUskG,UACpCC,eAAgBh1G,KAAKP,MAAMgR,UAAUwkG,WACrCC,iBAAkBl1G,KAAKP,MAAMgR,UAAU0kG,aACvCC,gBAAiBp1G,KAAKP,MAAMgR,UAAU4kG,YACtCC,cAAet1G,KAAKP,MAAMgR,UAAU8kG,UACpCC,gBAAiBx1G,KAAKP,MAAMgR,UAAUglG,YACtCC,oBAAqB11G,KAAKP,MAAMgR,UAAUklG,gBAC1CC,wBAAyB51G,KAAKP,MAAMgR,UAAUolG,oBAC9CC,aAAc91G,KAAKP,MAAMgR,UAAUqlG,aACnCC,uBAAwB/1G,KAAKP,MAAMgR,UAAUslG,uBAC7CC,mBAAoBh2G,KAAKP,MAAMgR,UAAUulG,oBAEvCC,EAAgC,GAE1B,IAADC,EAAP58C,IACA28C,EAAcE,QAAU78C,EAAMhyD,GAC9B2uG,EAAcjrG,MAAQsuD,EAAMtuD,MAC5BirG,EAAcG,SAAW98C,EAAM+8C,SAE3B/8C,EAAMq0C,YACNsI,EAAcK,eAAiBh9C,EAAMq0C,UAAUviG,KAGnC,QAAhB8qG,EAAI58C,EAAMi9C,cAAM,IAAAL,GAAZA,EAAcM,mBACdP,EAAcQ,sBAAwBn9C,EAAMi9C,OAAOC,mBAG3D,MAAME,EAA+B,CAAE9B,QAASA,EAA2B+B,SAAUV,GAC/E1sG,EAASpD,EAAAA,EAAA,GAGRnG,KAAKP,OAAK,IAEbm3G,OACIr3G,EAAAA,cAACuf,EAAAA,GAAc,CAAC9U,UAAU,GAAGqgB,UAAW,CAAE/jB,IAAKtG,KAAKP,MAAMuC,OAAOs3D,MAAO74D,eAAgBT,KAAKP,MAAMQ,QAAQsE,UACvGhF,EAAAA,cAACs3G,EAAAA,OAAM,CACHC,WAAYJ,EACZ7B,gBAAiBA,EACjB7iG,iBAAkBhS,KAAKgS,iBACvBg5C,SAAUhrD,KAAKP,MAAMQ,QAAQsE,QAAQwmD,OAAOC,YAIxDhgD,MAAOhL,KAAK+2G,0BACZ3sF,KAAMpqB,KAAKg3G,4BACXrsF,MAAO3qB,KAAKi3G,wBACZ56E,iBAAkB,CAAEryB,UAAW,4BAC/BktG,oBAAqB,CAAEltG,UAAW,iCAClC2hB,kBAAmB8oF,EAA6B,CAC5Ch0G,eAAgBT,KAAKP,MAAMQ,QAAQsE,QACnConB,kBAAmB3rB,KAAKP,MAAMuC,OAAO2pB,kBACrCpB,2BAA4BvqB,KAAKuqB,2BACjCgS,gCAAiCv8B,KAAKu8B,gCACtChR,+BAAgCvrB,KAAKurB,iCAEzCs+C,WAAY7pE,KAAK45B,iBACjBu9E,gBAAiBn3G,KAAK65B,sBACtB2C,qBAAsBx8B,KAAKuqB,2BAC3BkS,0BAA2Bz8B,KAAKu8B,gCAChC66E,WAAYp3G,KAAKw6B,qBACjB68E,qBAAsBr3G,KAAKuqB,6BAE/B,OAAOvqB,KAAKP,MAAM+J,WAAWD,GAQ1BixB,qBAAqB1P,EAAmBzK,GACvCrgB,KAAKP,MAAMuC,OAAO2oB,OAAS3qB,KAAKP,MAAMuC,OAAO2oB,MAAMzhB,OAAO4hB,MAC1D9qB,KAAKP,MAAMuC,OAAO2oB,MAAMzhB,OAAO4hB,IAAYE,SAAW3K,EAAMoZ,OAAO9xB,OAwBpE4iB,2BAA2BlK,GAC1BrgB,KAAKP,MAAMuC,OAAO2pB,oBAClB3rB,KAAKP,MAAMuC,OAAO2pB,kBAAkB5I,QAAU1C,EAAMoZ,OAAO9xB,OAS5D4jB,+BAA+BT,EAAmBzK,GAAoC,IAAAsc,EACzF,MAAMhR,EAAuD,QAAtCgR,EAAG38B,KAAKP,MAAMuC,OAAO2pB,yBAAiB,IAAAgR,EAAAA,EAAI,GAC7DhR,EAAkBhB,QAClBgB,EAAkBhB,MAAMzhB,OAAO4hB,IAAYE,SAAW3K,EAAMoZ,OAAO9xB,OAQpE40B,gCAAgClc,GAC/BrgB,KAAKP,MAAMuC,OAAO2pB,oBAClB3rB,KAAKP,MAAMuC,OAAO2pB,kBAAkBnB,QAAUnK,EAAMoZ,OAAO9xB,OAQ3DsvG,wBACJ,MAAM,MAAEtsF,GAAU3qB,KAAKP,MAAMuC,OACvB8P,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKgS,iBAAkB,IAEjE,OAAO2Y,MAAAA,OAAK,EAALA,EAAOhqB,KAAI,CAACs5B,EAAsB70B,KACrC0M,EAAQooB,cAAcC,MAAQF,EAASjP,SACvC,MAAMoP,GAAajoB,EAAAA,EAAAA,wBAAuBnS,KAAKgS,iBAAkBF,GAC3DuoB,EAASj1B,EACT2lB,EAAoC,CACtC3N,UAAW6c,EAAS7c,UACpBpT,UAAW,sCACXghB,SAAUiP,EAASjP,SACnBC,QAASgP,EAAShP,QAAQC,eAC1BC,aAAc8O,EAAS9O,aACvBE,KAAM,SACNkP,qBAAsBH,GAG1B,OACI76B,EAAAA,cAACuf,EAAAA,GAAa,CACVxY,IAAK+zB,EACLla,KAAM4K,EACNV,UAAW,CAKPiB,aAAcjL,IACVrgB,KAAKw6B,qBAAqBp1B,EAAOib,IAErC5f,eAAgBT,KAAKP,MAAMQ,QAAQsE,cAO/CwyG,0BAAuB,IAAAr8E,EAC3B,MAAM,QAAE3X,GAAY/iB,KAAKP,MAAMuC,OAE/B,OACI+gB,GACIxjB,EAAAA,cAACuf,EAAAA,GAAa,CACV9U,UAAU,kCACV+d,IAAgB,QAAb2S,EAAE3X,EAAQgF,WAAG,IAAA2S,EAAAA,EAAI,KACpBtQ,KAAMrH,EAAQqH,KACdC,UAAW,CAAEC,OAAQtqB,KAAK45B,iBAAkBn5B,eAAgBT,KAAKP,MAAMQ,QAAQsE,WAMvFyyG,4BACJ,MAAM,UAAEl9E,GAAc95B,KAAKP,MAAMuC,OAEjC,OACI83B,GACIv6B,EAAAA,cAACuf,EAAAA,GAA0B,CACvBsL,KAAM0P,EACN9vB,UAAU,iCACVqgB,UAAW,CAAEC,OAAQtqB,KAAK65B,sBAAuBp5B,eAAgBT,KAAKP,MAAMQ,QAAQsE,YAOxG,kGCnPA,MAoCA,EAhByD9E,IACrD,OACIF,EAAAA,cAAA,MAAAyT,OAAAC,OAAA,CAAK3L,GAAI7H,EAAM6H,GAAI0C,UAAU,mBAAsBvK,EAAMygC,uBAAuBzgC,IAC3EA,EAAMm3G,OACPr3G,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM48B,iBAAgB,CAAEryB,UAAWvK,EAAM48B,iBAAmB58B,EAAM48B,iBAAiBryB,UAAY,KACpGvK,EAAMuL,MACNvL,EAAM2qB,KACN3qB,EAAMksB,qBA3BUA,EA2BmClsB,EAAMksB,mBA1BhD+oF,uBAEdn1G,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0Y,EAAkB3B,uBACxBzqB,EAAAA,cAAAA,EAAAA,SAAA,KACKosB,EAAkB+oF,uBAAuB3xF,QAC1CxjB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0Y,EAAkB+oF,uBAAuBF,gCAC9C7oF,EAAkB+oF,uBAAuBtqF,KAC1C7qB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0Y,EAAkB+oF,uBAAuBjpF,4BAC9CE,EAAkB+oF,uBAAuB/pF,UAQ3D,MAWKprB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM68B,oBAAmB,CAAEtyB,UAAWvK,EAAM68B,oBAAsB78B,EAAM68B,oBAAoBtyB,UAAY,KAC7GvK,EAAMkrB,SA7BMgB,IAAAA,0JCuD1B,MAAM2rF,UAAqB/3G,IAAAA,cAQ9BC,YAAmBC,GACfC,MAAMD,GAHO,KAAA83G,YAAkDh4G,IAAAA,YAmFlD,KAAAi4G,gBAAkB,KACxB,CACHzvF,IAAK2iB,EAAAA,MACLM,UAAW,aACXysE,WAAW,EACXztG,UAAW,wCACX2gC,cAAe,8BACfhN,OAAQ39B,KAAKiD,MAAMy0G,YACnBpuF,OAAQtpB,KAAK23G,aAOJ,KAAAC,WAAa,KAC1B,MAAM9lG,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/R,KAAKP,MAAMuS,iBAAmB,YAAa,KACrFgJ,EAAAA,EAAAA,kBAAiBhb,KAAKP,MAAMuS,iBAAmBF,EAAS,aACxD9R,KAAKuB,SAAS,CACVm2G,aAAa,KAOJ,KAAAC,WAAa,KAAW,IAAAE,EACb,QAAxBA,EAAA73G,KAAKu3G,YAAYrvG,eAAO,IAAA2vG,GAAxBA,EAA0BhgE,QAC1B73C,KAAKuB,SAAS,CACVm2G,aAAa,KAQJ,KAAAI,qBAAuB,IAC7Bv4G,IAAAA,cAACuL,EAAAA,OAAM,CAACd,UAAU,0BAAyB,aAAY,QAAQE,QAASlK,KAAK23G,aAQvE,KAAAI,qBAAwBt4G,IACrC,MAGMu4G,EAAgB,GADCv4G,EAAM0C,KAAK0/B,KAAK9gB,OAASthB,EAAM0C,KAAK0/B,KAAK9gB,OAAOk3F,iBAFlC,KAGMx4G,EAAMgR,UAAUvL,QAE3D,OAAO3F,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,uBAAuBguG,IAOjC,KAAAE,aAAgB73F,IACzBA,EAAMysB,UAAYC,EAAAA,SAASC,QAAUhtC,KAAKiD,MAAMy0G,aAChD13G,KAAK23G,cA5IT33G,KAAKm4G,wBAAyB,EAC9Bn4G,KAAKiD,MAAQ,CACTy0G,aAAa,GAId/2F,oBACC7B,EAAAA,GAASC,WACTtc,OAAOoe,iBAAiB,UAAW7gB,KAAKk4G,cAAc,GAIvDt8E,uBACC9c,EAAAA,GAASC,WACTtc,OAAOo5B,oBAAoB,UAAW77B,KAAKk4G,cAAc,GAQ1D5uG,SAAM,IAAA8uG,EAAAC,EAAAC,EAAAC,EACT,MAAM12E,EAAkC,QAA9Bu2E,EAAGp4G,KAAKP,MAAM0C,KAAK0/B,KAAK9gB,cAAM,IAAAq3F,EAAAA,OAAIz2G,EAc5C,OAXIkgC,MAAAA,OAAI,EAAJA,EAAM22E,uBAAwBx4G,KAAKP,MAAMQ,QAAQ8B,IAAIC,OAAOynD,oBAAsBgvD,EAAAA,kBAAkBC,eAE/F14G,KAAKm4G,uBAIEn4G,KAAKiD,MAAMy0G,cAEnB13G,KAAKm4G,wBAAyB,IAJ9Bn4G,KAAKuB,SAAS,CAAEm2G,aAAa,IAC7B13G,KAAKm4G,wBAAyB,IAOlC54G,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKjT,KAAKP,MAAMk5G,gBAAqB34G,KAAKP,MAAMygC,uBAAuBlgC,KAAKP,QAC7EF,IAAAA,cAAA,UAAQ2K,QAASlK,KAAK43G,WAAY5tG,UAAU,+BAA+BmY,IAAKniB,KAAKu3G,aAChFv3G,KAAKP,MAAMyiB,UAEhB3iB,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKjT,KAAKw3G,mBACXj4G,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,0CACXhK,KAAKP,MAAMm5G,YACX54G,KAAK+3G,qBAAqB/3G,KAAKP,OAC/BO,KAAK83G,wBAEVv4G,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,sCACgB,QAA3BquG,EAAAr4G,KAAKP,MAAM0C,KAAK0/B,KAAK9gB,cAAM,IAAAs3F,GAA3BA,EAA6BQ,QAAU74G,KAAKP,MAAMoM,MAAMitG,UAAY,KACrEv5G,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKjT,KAAKP,MAAMs5G,mBAxGpBC,EAwGuDh5G,KAAKP,MAAMw5G,UAxGXx5G,EAwGsBO,KAAKP,MAvGlGu5G,EAKEA,EAAUr4G,KAAI,CAACiN,EAAUxI,KAC5B,MAAM8zG,EAAgB9zG,EACtB,OACI7F,IAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAM05G,oBAAmB,CAAE7yG,IAAK4yG,IACtC35G,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAWkW,GAAAA,CAAWtS,EAASwrG,cAAgB,+BAAiC,KAAMxrG,EAAS4B,UACpG5B,EAASwrG,cACTxrG,EAASwR,YAVlB3f,EAAMQ,QAAQglB,UAAUuc,MAAM,kDACvB,SAuGKjiC,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,0CACXhK,KAAKP,MAAMoM,MAAMwtG,iBApFhB55G,CAAAA,IAA+E,IAAA65G,EACrG,MAAMz3E,EAA6B,QAAzBy3E,EAAG75G,EAAM0C,KAAK0/B,KAAK9gB,cAAM,IAAAu4F,EAAAA,OAAI33G,EACjCsC,EAAQ49B,IAASA,EAAK03E,iBAAmB13E,EAAKA,KAAKmtC,kBAAertE,GAClE+E,EAAazC,EACbxE,EAAMQ,QAAQgb,iBAAiBC,eAAejX,GAC9CxE,EAAMQ,QAAQgb,iBAAiBC,eAAezb,EAAMgR,UAAU+oG,YACpE,OACIj6G,IAAAA,cAAA,OAAKyK,UAAU,8BACXzK,IAAAA,cAAA,QAAMyK,UAAU,mCACXvK,EAAMgR,UAAUgpG,uBACjBl6G,IAAAA,cAAA,QAAMyK,UAAU,+BAA+BtD,MA2EtCgzG,CAAiB15G,KAAKP,OACvBF,IAAAA,cAAA,KAAGyK,UAAU,kCAAkChK,KAAKP,MAAMgR,UAAUkpG,iBACnE35G,KAAKP,MAAMm6G,2BACX55G,KAAKP,MAAMo6G,sBACgB,QAA3BvB,EAAAt4G,KAAKP,MAAM0C,KAAK0/B,KAAK9gB,cAAM,IAAAu3F,GAA3BA,EAA6BO,QAAU,KAAO74G,KAAKP,MAAMq6G,eAC1Dv6G,IAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,6BACgB,QAA3BuuG,EAAAv4G,KAAKP,MAAM0C,KAAK0/B,KAAK9gB,cAAM,IAAAw3F,GAA3BA,EAA6BM,QAC1Bt5G,IAAAA,cAACuL,EAAAA,OAAM,CACHd,UAAU,mCACVnF,MAAM8c,EAAAA,EAAAA,IAAW,OAAQ3hB,KAAKP,MAAMQ,QAAQC,gBAE3CF,KAAKP,MAAMgR,UAAUspG,6BAE1B,SAzHRC,IAAChB,EAAuDv5G,GAuMhF,uaCiCA,MAAMw6G,EAAmDx6G,IACrD,MAAM61D,EAAY71D,EAAM0C,KAAKyL,SAASyrC,UAEtC,IAAK55C,EAAMQ,QAAQsE,QAAQ7D,KAAK4C,QAAUgyD,IAAc3pD,EAAAA,gBAAgBC,YAAYnM,EAAM0C,KAAK+3G,UAC3F,OAAO,KAGX,MAAMC,EAAU16G,EAAM0C,KAAK+3G,SAAS30G,MAAKpC,GAAQA,EAAKO,WAAa4xD,IAEnE,OAAK6kD,GAAYA,EAAQlwG,KAIlB1K,EAAAA,cAAA,OAAKyK,UAAU,gCAAgCmwG,EAAQlwG,MAHnD,MAMToC,EAAwB,CAO1BC,wBAAyBA,CAAChH,EAAwBiH,IACzCjH,EAAQkH,WAINlH,EAAQkH,WAAW7L,KAAI8L,IAC+C,IAADC,EAYQC,EAYTC,EAYCC,EApCxE,OAAIJ,EAAiBK,qBAAuBC,EAAAA,qBAAqBC,MAEzDzN,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,wCACXuC,EAAiBU,YACjB,KACD1N,EAAAA,cAAA,QAAMyK,UAAU,QAAuC,QAAjC0C,EAAED,EAAiBS,sBAAc,IAAAR,OAAA,EAA/BA,EAAiCS,SAMrEV,EAAiBK,qBAAuBC,EAAAA,qBAAqBK,cAEzD7N,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,wCACXuC,EAAiBc,aACjB,KACD9N,EAAAA,cAAA,QAAMyK,UAAU,QAAuC,QAAjC2C,EAAEF,EAAiBS,sBAAc,IAAAP,OAAA,EAA/BA,EAAiCQ,SAMrEV,EAAiBK,qBAAuBC,EAAAA,qBAAqBO,KAEzD/N,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,uCACXuC,EAAiBgB,WACjB,KACDhO,EAAAA,cAAA,QAAMyK,UAAU,QAAuC,QAAjC4C,EAAEH,EAAiBS,sBAAc,IAAAN,OAAA,EAA/BA,EAAiCO,SAMrEV,EAAiBK,qBAAuBC,EAAAA,qBAAqBS,MAEzDjO,EAAAA,cAAA,OAAK+G,IAAK,GAAGhB,EAAQ5B,6BAA8BsG,UAAU,uCACzDzK,EAAAA,cAAA,QAAMyK,UAAU,wCACX1E,EAAQmI,WAAalB,EAAiBmB,aAAenB,EAAiBoB,YACtE,KACDpO,EAAAA,cAAA,QAAMyK,UAAU,QAAuC,QAAjC6C,EAAEJ,EAAiBS,sBAAc,IAAAL,OAAA,EAA/BA,EAAiCM,SAKlE,QAnDA,GA4DfsE,uBAAyBhS,IACrB,IAAKA,EAAM0C,KAAKyL,SAASC,MACrB,OAAO,KAGX,OACItO,EAAAA,cAAA,OAAKyK,UAAU,qCACXzK,EAAAA,cAAA,YACIA,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,MACI1C,EAAM0C,KAAKyL,SAASpK,UAAY/D,EAAM0C,KAAKyL,SAASpK,SAC9C,CACIS,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASC,SAS/D5N,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,cAYpC8H,oBAAsBjS,IAClB,IAAKA,EAAM0C,KAAKyL,SAASE,gBAAkBnC,EAAAA,gBAAgBC,YAAYnM,EAAM0C,KAAKyL,SAASE,eACvF,OAAO,KAgCX,OAAOrO,EAAM0C,KAAKyL,SAASE,cAAcnN,KAAI,CAACoN,EAAc3I,KAAS,IAAA4I,EACjE,OACIzO,EAAAA,cAAA,OAAK+G,IAAyB,QAAtB0H,EAAED,EAAaE,eAAO,IAAAD,EAAAA,EAAI5I,EAAO4E,UAAU,mCAC/CzK,EAAAA,cAAA,YAAOwO,EAAaG,UAAYH,EAAaG,UAAY,IACzD3O,EAAAA,cAAA,QAAMyK,UAAU,6CACZzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KACI1C,EAAM0O,YACA,CACIlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASQ,mBAGrD,CACInK,MAAO,CACH+C,wBAAyB+G,EAAaM,gBACtCtH,UAAWgH,EAAaM,kBAI1CpO,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,YAGxBrK,EAAAA,cAAA,QAAMyK,UAAU,8CACX,UAAiCrI,IAA5BoM,EAAaO,WAlDXC,EAACR,EAA4BH,KAA8B,IAAAY,EAI/E,IAAIC,EAAgD,QAAlCD,EAAWT,EAAaO,kBAAU,IAAAE,EAAAA,EAHjC,EAKnB,IALmB,IAMdT,EAAaO,YACTP,EAAaW,uBAAyBX,EAAaW,wBAA0BC,EAAAA,iBAAiBC,qBACnGhB,EAASC,OACTD,EAASC,MATM,GAUfD,EAASpK,UAVM,IAWfoK,EAASpK,SACX,CAAC,IAADqL,EACE,MAAMC,EAA8C,QAA/BD,EAAGd,EAAaM,uBAAe,IAAAQ,EAAAA,EAbrC,EAcfJ,EAAiBvF,QACX4F,GAAmBlB,EAASC,MAAQD,EAASpK,UAbhC,KAa6DkI,QAd3D,IAkBzB,OAAO+C,GA8BmDF,CAAgBR,EAActO,EAAM0C,KAAKyL,UAAY,aAYvH+D,qBAAuBlS,IACnB,MAAMsP,EAAmBtP,EAAMuP,wBACzB,0CAA0CvP,EAAMuP,0BAChD,yCAEN,OAAOzP,EAAAA,cAAA,KAAGyK,UAAW+E,GAAmBtP,EAAMwP,4BAQlD2C,oBAAsBnS,IAAyB,IAAAyP,EAAAC,EAC3C,MAAMC,EAAsD,QAAhCF,EAAGzP,EAAMQ,QAAQsE,QAAQ8K,eAAO,IAAAH,OAAA,EAA7BA,EAA+BI,uBACxDC,EAA8B9P,EAAM8P,4BACpCC,EAAW/P,EAAM0C,KAAKyL,SAC5B,IAAI6B,GAAoB,EACwB,IAADC,OAAX/N,IAAhC4N,EACAE,KACID,EAASG,cAC0C,QAD9BD,EACrBH,EAA4BK,+BAAuB,IAAAF,IAAnDA,EAAqDG,MAAKC,GAAgBA,IAAiBN,EAASG,gBAGxGF,KAAuBD,EAASG,cAAgBH,EAASG,eAAiBP,GAE9E,IAAKK,EACD,OAGJ,MAAMM,GAA2C,QAArBZ,EAACK,EAASQ,mBAAW,IAAAb,EAAAA,EAAI,IAAIc,QAAOC,GAAcA,EAAWC,aAEzF,IAAKxE,EAAAA,gBAAgBC,YAAYmE,GAC7B,OAGJ,MACMK,EAAaL,EAAoB9H,QAAO,CAACoI,EAAaH,KAAc,IAAAI,EACtE,OAAOD,GAA0C,QAA/BC,EAAIJ,EAAWK,wBAAgB,IAAAD,EAAAA,EAFvB,QAKxBE,EACFjR,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM,CACF8B,MAAO,CACH+C,wBAAyBoJ,IAGjCvG,cAAc,OACd5J,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,kCAGlB,OACIzK,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,SAAOyK,UAAU,gCAAgC,GAAGvK,EAAMgR,UAAUC,wBACpEnR,EAAAA,cAAA,QAAMyK,UAAU,kBAAkBwG,KAU9CqB,mBAAqBpS,IAAyB,IAAAkR,EAAAC,EAC1C,MACMC,EAAmC,QAAvBF,EADDlR,EAAM0C,KAAKyL,SACEoC,mBAAW,IAAAW,OAAA,EAApBA,EAAsBV,QAAOa,IAAeA,EAAWX,aAE5E,OAuBM,QAvBNS,EACIC,MAAAA,OAAY,EAAZA,EAAclQ,KAAI,CAACoQ,EAAa3L,KAC5B,MAAM4L,EAAY5L,EAClB,OAAO2L,EAAYR,iBACfhR,EAAAA,cAAA,OAAKyK,UAAU,+BAA+B1D,IAAK0K,GAC/CzR,EAAAA,cAAA,SAAOyK,UAAU,sCAAsC,GAAGiH,OAAOF,EAAYG,iBAC7E3R,EAAAA,cAAA,QAAMyK,UAAU,sBACZzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KAAM,CACF8B,MAAO,CACH+C,wBAAyB+J,EAAYR,mBAG7CtQ,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,0CAKtB,aAEN,IAAA4G,EAAAA,OAAIjP,GASdy4G,2BAA6B36G,GAE8B,IAAnDA,EAAM0C,KAAKyL,SAASysG,2BACb,KAEJ96G,EAAAA,cAAA,OAAKyK,UAAU,yCAAyCvK,EAAMgR,UAAU6pG,4BAiU1EC,EAAiEviG,EAAAA,GAAiBC,wBAC3F,oXAAc9R,CAAA,CAEV+R,UA1ToCzY,IAAyB,IAAA0R,EAAAC,EACjE,MAAM,YAAEjD,EAAW,WAAEkD,EAAU,UAAEZ,GAAchR,GACzC,QAAE6F,EAAO,SAAEsI,GAAanO,EAAM0C,KAE9BmP,EAA2B,CAC7B/D,WAAYkD,EAAUlD,WACtBN,YAAawD,EAAUxD,YACvBU,YAAa8C,EAAU9C,YACvBN,aAAcoD,EAAUpD,aACxBK,aAAc+C,EAAU/C,cAGtB6D,EAAmBjM,IAAWmB,EAAAA,EAAAA,qBAAoBnB,EAAQlB,OAAQ3E,EAAMQ,QAAQC,cAAcO,eAAeQ,aAC7GuQ,EAAoBlM,GAAW+G,EAAsBC,wBAAwBhH,EAASgM,GACtFG,EAAyBpF,EAAsBoF,uBAAuBhS,GACtE8L,EAAgB9L,EAAM8L,cACxBA,IACAA,EAAcX,iBAAkB,GAEpC,MAAM8G,EAAsBrF,EAAsBqF,oBAAoBjS,GAChEkS,EAAuBtF,EAAsBsF,qBAAqBlS,GAClEmS,EAAsBvF,EAAsBuF,oBAAoBnS,GAChEoS,EAAqBxF,EAAsBwF,mBAAmBpS,GAC9D26G,EAA6B/tG,EAAsB+tG,2BAA2B36G,GAC9EqS,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStS,EAAMuS,iBAAmB,GAAI1M,MAAAA,OAAO,EAAPA,EAAS5B,SAASuO,YACnFC,GAAmBC,EAAAA,EAAAA,wBAAuB1S,EAAMuS,iBAAmBF,GACnEM,EAA2B,QAAhBjB,EAAG7L,MAAAA,OAAO,EAAPA,EAAS2E,YAAI,IAAAkH,EAAAA,EAAIvD,EAASsD,YACxCmB,EAAgB5S,EAAM0C,KAAKyL,SAAS0E,cAAgB,+BAAiC,+BACrFC,EAA2B9S,EAAM0C,KAAKyL,SAAS0E,cAAgB,iCAAmC,yBAOlGE,EAAYC,IACVhT,EAAMiT,kBACCjT,EAAMiT,iBAAiBjT,EAAM0C,KAAKyL,SAAU6E,GASrDE,EAAuBA,IACrBlT,EAAMmT,aAEFrT,EAAAA,cAAA,OAAKyK,UAAU,qBACXzK,EAAAA,cAAA,QAAMyK,UAAU,6BAChBzK,EAAAA,cAAA,YAAOE,EAAMmT,eAKlB,KAgDLC,EAAsBA,IACpBpT,EAAM0C,KAAKyL,SAAS0E,cACb,KAIN7S,EAAMQ,QAAQ8B,IAAIC,OAAO8Q,0BAAkF,SAAtDrT,EAAMQ,QAAQ8B,IAAIC,OAAO8Q,0BAI9ExN,GAAYA,EAAQ1B,qBAKrBrE,EAAAA,cAAA,OAAKyK,UAAU,0CACXzK,EAAAA,cAAA,YAAO+F,EAAQ1B,4BAVvB,EA0HJ,OACIrE,EAAAA,cAAA,OAAKyK,UAAU,iBACV8U,EAAAA,GAASC,UACNxf,EAAAA,cAAA,KAAGyK,UAAWqI,EAAexN,KAAMwM,EAAU,aAAce,EAAaiZ,KAAK,QACzE9rB,EAAAA,cAAC2L,EAAAA,GAAK,CACFzK,eAAgBhB,EAAMQ,QAAQC,cAAcO,eAAc,cAC9C,OACZ2K,IAA0B,QAAvBgG,EAAE3R,EAAMsT,uBAAe,IAAA3B,EAAAA,EAAI,QAC9B/F,YAAakG,EACbpG,QAASiH,EACT9G,aAAc7L,EAAM6L,aACpBC,cAAeA,EACfC,oBAAoB,WAG5B,KACJjM,EAAAA,cAAA,OAAKyK,UAAWuI,GACZhT,EAAAA,cAAA,OAAKyK,UAAU,0BACXzK,EAAAA,cAAC06G,EAAqBjnG,OAAAC,OAAA,GAAKxT,IAC1Bqf,EAAAA,GAASC,UACNxf,EAAAA,cAAA,IAAAyT,OAAAC,OAAA,CAAGjJ,UAAU,+BAA+BnF,KAAMwM,GAAgBa,GAC7DE,GAEL,KACHzG,EAAAA,gBAAgBC,YAAY4F,GACzBjS,EAAAA,cAAA,OAAKyK,UAAU,mCAAmCwH,GAElD,GAEJjS,EAAAA,cAAA,OAAKyK,UAAU,gCACXzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KACIgM,EACM,CACIlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASsF,UAC7CnM,UAAWtH,EAAM0C,KAAKyL,SAASC,QAGvC,CACI5J,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASuF,oBAC7CpM,UAAWtH,EAAM0C,KAAKyL,SAASwF,WAIjDnT,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,0CAEb6I,KAEJpB,EACAE,EACAD,EACAjS,EAAM4T,iCAAmC9T,EAAAA,cAAA,OAAKyK,UAAU,0BAA0B4H,GAClFC,EACAuoG,GAlKgB9mG,MAC7B,MAAMC,EAAQ,GAGRC,EAAgBX,IAImC,IAADY,EAAAC,EADnDjU,EAAM0C,KAAKyL,SAAS0E,gBACjB7S,EAAM0C,KAAKmD,SAAW7F,EAAMkU,mBAC5BJ,EAAMxS,KACFxB,EAAAA,cAAA,OAAKyK,UAAU,mCACXzK,EAAAA,cAAA,OAAKyK,UAAU,yCAAyCyG,EAAUmD,uBAEjEjB,IAEDpT,EAAAA,cAACsU,EAAAA,oBAAmB,CAChBvM,GAAI,2BAA2B7H,EAAM0C,KAAKmD,QAAQ5B,0CAChDuN,OAAOxR,EAAM0C,KAAKyL,SAAS+B,iBAAiBsB,OAAOxR,EAAM0C,KAAKyL,SAASkG,UACzEC,IAAsB,QAAnBN,EAAEhU,EAAMuU,mBAAW,IAAAP,EAAAA,EAhBP,GAiBfQ,aAAcxU,EAAMyU,gBACpB1B,SAAUA,EACV2B,uBAAwB1D,EAAU0D,uBAClCC,yBAA0B3D,EAAU2D,yBACpCC,yBAA0B5D,EAAU4D,yBACpC/N,IAAK7G,EAAM0C,KAAKyL,SAASkG,OACzBQ,UAAW7U,EAAM8U,iBACjBC,WAAyC,QAA/Bd,EAAEjU,EAAM0C,KAAKmD,QAAQmI,kBAAU,IAAAiG,EAAAA,EAAIjU,EAAMgV,aACnDzC,iBAAkBvS,EAAMuS,mBAE3BwB,IAITD,EAAMxS,KACFxB,EAAAA,cAAA,OACIyK,UAAW0K,GAAAA,CAAW,0BAA2B,CAC7C,kBAjCW,IAiCQjV,EAAM0C,KAAKyL,SAASpK,YAG1CgQ,EACDjU,EAAAA,cAAA,SAAOyK,UAAU,iBAAiBuxE,QAAQ,YACrC9qE,EAAUmD,sBACV,MAGJjB,IAEDpT,EAAAA,cAAA,QAAMyK,UAAU,kBAAkBvK,EAAM0C,KAAKyL,SAASpK,aAqCtE,OA/BA+P,EAAMxS,KACFxB,EAAAA,cAAA,OAAKyK,UAAU,kCACXzK,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KACIgM,EACM,CACIlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASsF,UAC7CnM,UAAWtH,EAAM0C,KAAKyL,SAASC,QAGvC,CACI5J,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASuF,oBAC7CpM,UAAWtH,EAAM0C,KAAKyL,SAASwF,WAIjDnT,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,wCACVF,kBAAmB2G,EAAU3G,kBAC7BC,iBAAkB0G,EAAU1G,mBA9InCtK,EAAM0C,KAAKyL,SAAS+G,gBAKrBlV,EAAM0C,KAAKyL,SAAS+G,eAFW,EAI3BpV,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,QAAMyK,UAAU,wCAAwC,GAAGvK,EAAMgR,UAAUmE,oBAAsB,cACjGrV,EAAAA,cAACoK,EAAAA,eAAc,CACXxH,KACI1C,EAAM0O,YACA,CACIlK,MAAO,CAEH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASQ,mBAGrD,CACInK,MAAO,CACH+C,wBAAyBvH,EAAM0C,KAAKyL,SAASiH,yBAC7C9N,UAAWtH,EAAM0C,KAAKyL,SAAS+G,iBAIjD1U,QAASR,EAAMQ,QACfqH,GAAI7H,EAAM6H,GACVsC,SAAUnK,EAAMmK,SAChBI,UAAU,yCA3Bf,KAgJFvK,EAAMgV,aAAe9C,EAAuB,OAI9C4B,GAgFED,GACA8mG,EACA36G,EAAM0C,KAAKyL,SAAS0E,eAAiB7S,EAAM0C,KAAK2S,WAAarV,EAAMgR,UAAUsE,sBAC1ExV,EAAAA,cAACyV,EAAAA,oBAAmB,CAChBhL,UAAU,wCACV/J,QAASR,EAAMQ,QACfwQ,UAAWhR,EAAMgR,UAAUsE,qBAC3BD,UAAWrV,EAAM0C,KAAK2S,UACtBlH,SAAUnO,EAAM0C,KAAKyL,WApFjCA,GAAYA,EAAS4sG,mBAEjBj7G,EAAAA,cAAA,OAAKyK,UAAU,wCACXzK,EAAAA,cAAA,QAAMyK,UAAU,WAAWvK,EAAMg7G,mBAKrCl7G,EAAAA,cAAA,OAAKyK,UAAU,wCACXzK,EAAAA,cAAA,QAAMyK,UAAU,YAAYvK,EAAMg7G,uBAyF3CpuG,IAIX,oKCn2BO,MAAM4R,UAAmB1e,EAAAA,cAG5BC,YAAmBC,GACfC,MAAMD,GAkEO,KAAA8e,uBAAyB,KAEtC,MACMC,EAA4CC,SAASC,cAAc,oBACnEC,EAAgBH,EAAwBA,EAAsBI,aAF/C,EAKfC,EAAgBJ,SAASC,cAAc,6BACzCG,IACIC,EAAAA,GAASC,WAAaN,SAASO,gBAAgBC,UAPlC,GAQbJ,EAAcK,UAAUC,IAAI,eAC5BN,EAAcK,UAAUC,IAAI,WAE5BN,EAAcK,UAAUE,OAAO,eAC/BP,EAAcK,UAAUE,OAAO,WAKvC,MAAMC,EAAmCZ,SAASC,cAAc,8BAC1DY,EAAiCb,SAASC,cAAc,oBAE9D,GAAIW,GAAgBC,EAAY,CAE5B,MAAMC,EAAeD,EAAWV,aAAeD,EAC3CG,EAAAA,GAASC,WAAaN,SAASO,gBAAgBC,UAAYM,EAC3DF,EAAaH,UAAUC,IAAI,SAE3BE,EAAaH,UAAUE,OAAO,WA0BzB,KAAAM,oBAAuBjgB,IAEpC,MAAM,mCACFkgB,EAAkC,0CAClCC,EAAyC,0BACzCC,EAAyB,WACzBE,GACAtgB,EACJ,GAAIkgB,EAAoC,CACpC,MAAMM,EAAmBC,GAAAA,CAAWP,EAAmC3V,UAAW,mBAClF,GAAI4V,EACA,OACIrgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0M,EAAkC,CAAE3V,UAAWiW,IACpDJ,EACDtgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK2M,GAA4C5f,KAAK06G,4BAA4Bj7G,KAG5F,GAAIsgB,EACP,OACIxgB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAK0M,EAAkC,CAAE3V,UAAWiW,IACpDF,GAKjB,OAAO,MAGM,KAAA26F,4BAA+Bj7G,IAC5C,MAAM,aAAEwoC,EAAY,mBAAEkD,EAAkB,aAAEnrB,EAAY,YAAEF,GAAgBrgB,EACxE,OAAIwoC,EAEI1oC,EAAAA,cAAAA,EAAAA,SAAA,KACK4rC,EACArrB,IACAE,GAAezgB,EAAAA,cAACwM,EAAAA,KAAI,CAAC/B,UAAU,iCAC/BgW,GAAeA,EAAarf,KAAKwf,GAA0BA,KAKhE5gB,EAAAA,cAAAA,EAAAA,SAAA,OACKygB,GAAeA,EAAarf,KAAKwf,GAA0BA,IAC3DL,IAWA,KAAAU,qBAAwBtb,GAEjC3F,EAAAA,cAAAA,EAAAA,SAAA,KACKoM,EAAAA,gBAAgBC,YAAY1G,GACvBA,EAAMvE,KAAK8f,GACAlhB,EAAAA,cAAAA,EAAAA,SAAA,KAAGkhB,KAEd,MApLdzgB,KAAK0gB,SAAWnhB,EAAAA,YAGbohB,oBACC3gB,KAAKP,MAAMuC,OAAO4e,kBAEd9B,EAAAA,GAASC,WACTtc,OAAOoe,iBAAiB,UAAU,KAC9B7gB,KAAKue,4BAGbve,KAAKue,0BAINjV,SAEH,MAAM,UACF2X,EAAS,gBACTC,EAAe,sBACfC,EAAqB,QACrBC,EAAO,oBACPC,EAAmB,wBACnBC,EAAuB,yBACvBC,GACAvhB,KAAKP,MAET,OACIF,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKgO,GACR1hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKiO,GACN3hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKkO,GACN5hB,EAAAA,cAAA,OAAKyK,UAAU,4BAA4BmY,IAAKniB,KAAK0gB,UAChD1gB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM2iB,UAE1C7iB,EAAAA,cAAA,OAAKyK,UAAU,4BAA4BhK,KAAKP,MAAMoiB,SACrD7hB,KAAKP,MAAMyqC,KACXlqC,KAAK+hB,oBACL/hB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM8W,QACrCvW,KAAKP,MAAMuiB,eACXhiB,KAAK0f,oBAAoB1f,KAAKP,OAC/BF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKmO,IACTphB,KAAKP,MAAMyiB,SACXliB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM4iB,cAE1C9iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKoO,GACN9hB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKqO,GACLthB,KAAKP,MAAM6iB,iBACXtiB,KAAKwgB,qBAAqBxgB,KAAKP,MAAM2iB,SACtC7iB,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKsO,KACLvhB,KAAKP,MAAMugB,cAAehgB,KAAKP,MAAMugB,aAAarf,KAAIwf,GAAQA,IAC9DngB,KAAKP,MAAM4iB,YACXriB,KAAKP,MAAM8iB,mBACXviB,KAAKP,MAAMsgB,WACX/f,KAAKP,MAAMqgB,iBA6ChCiC,oBAAiB,IAAA44F,EACrB,MAAM,OAAE34G,EAAM,QAAE/B,EAAO,SAAE2J,GAAa5J,KAAKP,MAC3C,OACIF,EAAAA,cAACojB,EAAAA,KAAI3P,OAAAC,OAAA,GACG,CACAkN,KAAMne,EAAO4gB,SACbC,MAA6B,QAAxB83F,EAAE34G,EAAOygB,uBAAe,IAAAk4F,EAAAA,EAAI,GACjC3wG,UAAW,yBACXsB,aAAcrL,EAAQsE,QAAQ+G,aAC9B7K,eAAgBR,EAAQsE,QACxBqF,SAAAA,MA8EpB,4GCrMA,MA4EA,EArBgGnK,IAC5F,MAAM,QAAEsjB,EAAO,eAAEC,EAAc,eAAEC,EAAc,YAAEC,EAAW,KAAE/gB,EAAI,UAAEsO,GAAchR,EAC5EQ,EAAUR,EAAMQ,QAChB2J,EAAWnK,EAAMmK,SACjBqT,EAAWxd,EAAM6H,GAEvB,OACI/H,EAAAA,cAACqiB,EAAAA,OAAM5O,OAAAC,OAAA,GAAKiQ,GACPH,EACDxjB,EAAAA,cAAA,OAAKyK,UAAU,mCA9CLmZ,EAClBhhB,EACAlC,EACA2J,EACAwZ,EACA3S,KACA,IAAA4S,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACA,MACMC,EAAuD,QAA3CN,EAA6B,QAA7BC,EAAGnhB,EAAKyhB,eAAe7C,cAAM,IAAAuC,OAAA,EAA1BA,EAA4BK,oBAAY,IAAAN,EAAAA,EADxB,EAE/BQ,EAAqBpT,EAAUqT,uBAC/B1M,EAAAA,EAAAA,QAAO3G,EAAUqT,sBAAuBH,GACxC,GAAGA,YAET,OACIpkB,EAAAA,cAAA,OAAKyK,UAAU,iCACXzK,EAAAA,cAAA,OAAKyK,UAAU,0CAAoE,QAA5BuZ,EAAEphB,EAAKyhB,eAAe7C,cAAM,IAAAwC,OAAA,EAA1BA,EAA4BJ,eACrF5jB,EAAAA,cAAA,WACIA,EAAAA,cAAC+d,EAAAA,gBAAe,CACZrd,QAASA,EACTqH,GAAI8b,EACJxZ,SAAUA,EACVsT,UAAoD,QAA3CsG,EAA4B,QAA5BC,EAAEthB,EAAKyhB,eAAe7C,cAAM,IAAA0C,OAAA,EAA1BA,EAA4BN,qBAAa,IAAAK,EAAAA,EAd/B,EAerBhG,UAAQ,EACRJ,WAAWhG,EAAAA,EAAAA,QAAO3G,EAAUsT,uBAAkD,QAA5BL,EAAEvhB,EAAKyhB,eAAe7C,cAAM,IAAA2C,OAAA,EAA1BA,EAA4BP,cAAe,KAC/FhhB,KAAM,MAGd5C,EAAAA,cAAA,OAAKyK,UAAU,0CAA0C6Z,KAoBpDV,CAAchhB,EAAMlC,EAAS2J,EAAUqT,EAAUxM,GAClDlR,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKgQ,GACLD,EAAeriB,KAAIwC,GAnEjB1D,CAAAA,GAEfF,EAAAA,cAACwM,EAAAA,KAAIiH,OAAAC,OAAA,GAAKxT,EAAMukB,aACXvkB,EAAMwkB,UACNxkB,EAAMykB,KAgEYC,CAAchhB","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/aaa_b2c_cart/aaa_b2c_cart.tsx?6912","webpack://Msdyn365.Commerce.Online/./src/modules/aaa_b2c_cart/components/order-summary.tsx?7877","webpack://Msdyn365.Commerce.Online/./src/modules/aaa_b2c_cart/aaa_b2c_cart.view.tsx?eb6b","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/components/cartlineitem.component.tsx?a970","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/components/product.component.tsx?9f53","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/header.view.tsx?0275","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/ratings-histogram.view.tsx?ab53","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/search-result-container.view.tsx?1683","webpack://Msdyn365.Commerce.Online/./src/modules/active-image-utilities/active-product.tsx?69b2","webpack://Msdyn365.Commerce.Online/./src/modules/active-image-utilities/additional-content.tsx?6946","webpack://Msdyn365.Commerce.Online/./src/modules/active-image-utilities/image-mapper.tsx?dd86","webpack://Msdyn365.Commerce.Online/./src/modules/active-image/active-image.tsx?00d3","webpack://Msdyn365.Commerce.Online/./src/modules/active-image/active-image.view.tsx?a935","webpack://Msdyn365.Commerce.Online/./src/modules/bulk-purchase/bulk-purchase.tsx?9fd5","webpack://Msdyn365.Commerce.Online/./src/modules/bulk-purchase/bulk-purchase.view.tsx?feac","webpack://Msdyn365.Commerce.Online/./src/modules/carousel/carousel.tsx?80d4","webpack://Msdyn365.Commerce.Online/./src/modules/carousel/carousel.view.tsx?d82f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/components/promocode.component.tsx?d9d6","webpack://Msdyn365.Commerce.Online/./src/modules/header/utilities/mock-utilities.ts?d017","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/header-preferred-store.tsx?ee9c","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/logo.tsx?f27e","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/nav-icon.tsx?2475","webpack://Msdyn365.Commerce.Online/./src/modules/header/header.tsx?e91a","webpack://Msdyn365.Commerce.Online/./src/modules/header/header.view.tsx?cf0f","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/order-template-list.tsx?86c4","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/orderTemplateList-status-message.tsx?183c","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/create-order-template.tsx?ea38","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/order-template-list.tsx?18d0","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/order-template-list.view.tsx?103b","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/spinner.tsx?b423","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/add-line.tsx?5f8a","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/dropdown.tsx?1cba","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/not-found.tsx?392d","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/common/order-template-quantity.tsx?99a1","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/product-configuration.tsx?b256","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/product-list.tsx?4284","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/bulk-actions.tsx?dbe8","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-actions.tsx?8136","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-lines.tsx?3703","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-lines-status-message.tsx?2986","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-table-heading.tsx?665c","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.tsx?4ecb","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.view.tsx?a45e","webpack://Msdyn365.Commerce.Online/./src/modules/product-collection/product-collection.tsx?4008","webpack://Msdyn365.Commerce.Online/./src/modules/product-collection/product-collection.view.tsx?5d36","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-preview/product-comparison-preview.tsx?39f6","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-preview/product-comparison-preview.view.tsx?28cb","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/base/product-specification.tsx?75ed","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/base/remove-from-comparison-button.tsx?1d8c","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/product-comparison.tsx?4f74","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/product-comparison.view.tsx?a0a9","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/close-button.tsx?063b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/links.tsx?2587","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/text.tsx?782b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.tsx?9ee9","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.view.tsx?7f77","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/components/quick-order-drawer.tsx?f8b4","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/components/quick-order-form.tsx?eb54","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/components/quick-order-product.ts?7702","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/components/quick-order-table/components/quick-order-table-header-component.tsx?49e7","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/components/quick-order-table/components/quick-order-table-row-component.tsx?e487","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/components/quick-order-table/quick-order-table-component.tsx?46c1","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/quick-order.tsx?ef21","webpack://Msdyn365.Commerce.Online/./src/modules/quick-order/quick-order.view.tsx?a96d","webpack://Msdyn365.Commerce.Online/./src/actions/submit-user-review.ts?ac78","webpack://Msdyn365.Commerce.Online/./src/actions/inputs/submit-user-review-input.ts?3afb","webpack://Msdyn365.Commerce.Online/./src/common/review-modal.tsx?54a9","webpack://Msdyn365.Commerce.Online/./src/common/rnrInterface.ts?f761","webpack://Msdyn365.Commerce.Online/./src/modules/ratings-histogram/component/components.tsx?f324","webpack://Msdyn365.Commerce.Online/./src/modules/ratings-histogram/ratings-histogram.tsx?f6bc","webpack://Msdyn365.Commerce.Online/./src/modules/ratings-histogram/ratings-histogram.view.tsx?5bff","webpack://Msdyn365.Commerce.Online/./src/actions/report-review-concern.ts?bf43","webpack://Msdyn365.Commerce.Online/./src/actions/submit-helpfulness-vote.ts?a8ab","webpack://Msdyn365.Commerce.Online/./src/actions/inputs/report-review-concern-input.ts?b071","webpack://Msdyn365.Commerce.Online/./src/modules/reviews-list/components/components.tsx?033b","webpack://Msdyn365.Commerce.Online/./src/modules/reviews-list/components/report-review-modal.tsx?53d3","webpack://Msdyn365.Commerce.Online/./src/modules/reviews-list/components/review-card.tsx?6bbd","webpack://Msdyn365.Commerce.Online/./src/actions/inputs/submit-helpfulness-vote-input.ts?07aa","webpack://Msdyn365.Commerce.Online/./src/modules/reviews-list/reviews-list.tsx?37e8","webpack://Msdyn365.Commerce.Online/./src/modules/reviews-list/reviews-list.view.tsx?0e4a","webpack://Msdyn365.Commerce.Online/./src/modules/write-review/components/components.tsx?3575","webpack://Msdyn365.Commerce.Online/./src/modules/write-review/write-review.tsx?9afc","webpack://Msdyn365.Commerce.Online/./src/modules/write-review/write-review.view.tsx?b867","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/utilities.ts?8569","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/choice-summary.tsx?3f71","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/error-message.tsx?6302","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/feature-search-result-item.tsx?71fa","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/link.tsx?52c2","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/modal.tsx?d78e","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/product-search-result-items.tsx?5174","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/range-refine-item.tsx?6288","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/refine-item.tsx?a594","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/refine-submenu.tsx?1292","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/separator.tsx?4ea6","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/title.tsx?c269","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/search-result-container.tsx?7500","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/search-result-container.view.tsx?b779","webpack://Msdyn365.Commerce.Online/./src/search-state.ts?dd10","webpack://Msdyn365.Commerce.Online/./src/modules/search/actions/get-auto-suggest-suggestions.ts?4735","webpack://Msdyn365.Commerce.Online/./src/modules/search/components/search.categorysuggest.tsx?c65d","webpack://Msdyn365.Commerce.Online/./src/modules/search/components/search.form.tsx?25a5","webpack://Msdyn365.Commerce.Online/./src/modules/search/components/search.keywordsuggest.tsx?297c","webpack://Msdyn365.Commerce.Online/./src/modules/search/components/search.label.tsx?0c17","webpack://Msdyn365.Commerce.Online/./src/modules/search/components/search.productsuggest.tsx?2af9","webpack://Msdyn365.Commerce.Online/./src/modules/search/search.tsx?72fb","webpack://Msdyn365.Commerce.Online/./src/modules/search/search.view.tsx?1505","webpack://Msdyn365.Commerce.Online/./src/modules/social-share-item/social-share-item.tsx?bbcb","webpack://Msdyn365.Commerce.Online/./src/modules/social-share-item/social-share-item.view.tsx?2d3e","webpack://Msdyn365.Commerce.Online/./src/modules/video-player/components/additional-content.tsx?b368","webpack://Msdyn365.Commerce.Online/./src/modules/video-player/video-player.tsx?53e5","webpack://Msdyn365.Commerce.Online/./src/modules/video-player/video-player.view.tsx?fedb","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/cart-icon.view.tsx?7ec9","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/cartlineitem.component.tsx?ccc2","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/header.view.tsx?9bd3","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/ratings-histogram.view.tsx?bb5b"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IAaaB2CCartData } from './aaa_b2c_cart.data';\r\nimport { IAaa_b2c_cartProps } from './aaa_b2c_cart.props.autogenerated';\r\nimport {\r\n createRequestOrderAsync,\r\n deleteB2CCartByBMASnapshotIdAsync,\r\n getB2BCustomerIdAsync,\r\n getB2CCartServiceAsync\r\n} from '../../dataActions/DataActionExtension.g';\r\nimport {\r\n FullProductInput,\r\n getFallbackImageUrl,\r\n getFullProducts,\r\n getProductDetailsCriteriaFromActionInput\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport axios from 'axios';\r\nexport interface IAaa_b2c_cartViewProps extends IAaa_b2c_cartProps {\r\n cartItems: any;\r\n removeFromCart: any;\r\n cartTotalPrice: any;\r\n submitOrder: any;\r\n isLoading: boolean;\r\n jwellerInfo: any;\r\n}\r\n\r\n/**\r\n *\r\n * Aaa_b2c_cart component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass Aaa_b2c_cart extends React.PureComponent, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n cartItems: [],\r\n cartTotalPrice: undefined,\r\n isLoading: true,\r\n jwellerInfo: undefined,\r\n translationInfo: undefined\r\n };\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n await this.getCartItemList();\r\n }\r\n\r\n public getCartItemList = async () => {\r\n const cartResult: any = await getB2CCartServiceAsync({ callerContext: this.props.context.actionContext, queryResultSettings: {} });\r\n if (cartResult.B2CCart) {\r\n if (cartResult.B2CCart.length > 0) {\r\n await this.getTranslationInfo();\r\n }\r\n const productInputs: any = [];\r\n const customerInfo = this.props.context.actionContext.requestContext.user;\r\n cartResult.B2CCart.map((cartItem: any) => {\r\n if (cartItem.ProductId && cartItem.BMASnapshotId) {\r\n productInputs.push(\r\n new FullProductInput(\r\n cartItem.ProductId,\r\n this.props.context.actionContext.requestContext.apiSettings,\r\n getProductDetailsCriteriaFromActionInput(this.props.context.actionContext)\r\n )\r\n );\r\n }\r\n });\r\n if (productInputs.length > 0) {\r\n return getFullProducts(productInputs, this.props.context.actionContext).then(async products => {\r\n if (products) {\r\n await this.mappedCartItems(cartResult.B2CCart, products, customerInfo);\r\n } else {\r\n this.setState({ cartItems: [], isLoading: false, cartTotalPrice: undefined, jwellerInfo: undefined });\r\n }\r\n });\r\n } else {\r\n this.setState({ cartItems: [], isLoading: false, cartTotalPrice: undefined, jwellerInfo: undefined });\r\n }\r\n }\r\n };\r\n\r\n public getTranslationInfo = async () => {\r\n let translationInfo = await axios.get(`${this.props.app.config.bmaBaseUrl}${this.props.app.config.bmaTranslationMessageEndPoint}`);\r\n translationInfo = translationInfo.data;\r\n this.setState({ translationInfo });\r\n };\r\n\r\n public removeFromCart = async (snapshotId: string, recId: number) => {\r\n await deleteB2CCartByBMASnapshotIdAsync(\r\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\r\n snapshotId,\r\n recId\r\n ).then(response => {\r\n window.location.reload();\r\n });\r\n };\r\n public submitOrder = async () => {\r\n const { context } = this.props;\r\n const customerInfo: any = context.actionContext.requestContext.user;\r\n\r\n const b2bCustomer: any = await getB2BCustomerIdAsync(\r\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\r\n customerInfo ? customerInfo.customerAccountNumber : ''\r\n );\r\n const addProductsOrderRequest: any = [];\r\n this.state.cartItems.forEach((item: any) => {\r\n const addProductToOrderRequest: any = {\r\n B2CCustomerId:\r\n customerInfo && !customerInfo.isB2b && customerInfo.customerAccountNumber ? customerInfo.customerAccountNumber : '',\r\n B2BCustomerId: b2bCustomer.B2BCustomerId,\r\n Quantity: 1,\r\n ProductId: item.ProductDetails.RecordId,\r\n UnitOfMeasure: item.ProductDetails.DefaultUnitOfMeasure,\r\n Snapshotid: item.snapShotId ? item.snapShotId : '',\r\n ExtensionProperties: item.ProductDetails.ExtensionProperties,\r\n B2BPrice: customerInfo && customerInfo.isB2b && item.price.AdjustedPrice ? item.price.AdjustedPrice : 0,\r\n B2CPrice: customerInfo && !customerInfo.isB2b && item.price.AdjustedPrice ? item.price.AdjustedPrice : 0,\r\n ItemId: item.ProductDetails.ItemId\r\n };\r\n addProductsOrderRequest.push(addProductToOrderRequest);\r\n });\r\n\r\n if (context && addProductsOrderRequest.length > 0) {\r\n const requestOrderResponse = await createRequestOrderAsync(\r\n { callerContext: this.props.context.actionContext },\r\n addProductsOrderRequest\r\n );\r\n if (requestOrderResponse) {\r\n const request = this.props.context.request;\r\n let orderConfirmUrl = request.url.requestUrl.origin;\r\n if (request.sitePath) {\r\n orderConfirmUrl = orderConfirmUrl + request.sitePath;\r\n }\r\n window.location.href = `${orderConfirmUrl}${this.props.config.redirectToOrderConfirmUrl}?requestOrderId=${requestOrderResponse.RequestOrderId}`;\r\n }\r\n }\r\n console.log(addProductsOrderRequest);\r\n };\r\n\r\n public async mappedCartItems(items: any, products: any, customerInfo: any) {\r\n const cartItems: any = [];\r\n const jwellerInfo = await getB2BCustomerIdAsync(\r\n { callerContext: this.props.context.actionContext },\r\n customerInfo.customerAccountNumber\r\n );\r\n let cartTotalPriceAmount = 0;\r\n const cartTotalPrice: any = {};\r\n for (const [index, cartItem] of items.entries()) {\r\n const product: any = products.find((p: any) => {\r\n return cartItem.ProductId === p.ProductDetails.RecordId;\r\n });\r\n if (product && cartItem.ProductId && cartItem.BMASnapshotId && this.state.translationInfo) {\r\n if (!cartItem.BMASnapshotId) {\r\n product.key = `Non BMA Product ${index}`;\r\n cartItems.push(product);\r\n } else {\r\n const bmaReviewEndPoint = this.props.app.config.bmaReviewEndPoint.replace('#snapshotId', cartItem.BMASnapshotId);\r\n const review = await axios.get(`${this.props.app.config.bmaBaseUrl}${bmaReviewEndPoint}`);\r\n\r\n let bmaPriceEndPoint = this.props.app.config.bmaPriceEndPoint.replace('#snapshotId', cartItem.BMASnapshotId);\r\n bmaPriceEndPoint = bmaPriceEndPoint.replace('#jewellerId', jwellerInfo.BMARetailStockist);\r\n const price = await axios.get(`${this.props.app.config.bmaBaseUrl}${bmaPriceEndPoint}`);\r\n\r\n const bmaImageEndPoint = this.props.app.config.bmaImageEndPoint.replace('#snapshotId', cartItem.BMASnapshotId);\r\n const ringImage: any = await axios.get(`${this.props.app.config.bmaBaseUrl}${bmaImageEndPoint}`);\r\n\r\n const ringsInfo = price.data.rings;\r\n const productInfo: any = { ...product };\r\n const productDetails: any = { ...product.ProductDetails };\r\n productDetails.PrimaryImageUrl = ringImage.data[0];\r\n productInfo.ProductDetails = productDetails;\r\n productInfo.snapShotId = cartItem.BMASnapshotId;\r\n productInfo.key = cartItem.BMASnapshotId;\r\n productInfo.review = review.data;\r\n productInfo.recId = cartItem.RecId;\r\n productInfo.fallbackImage = getFallbackImageUrl(\r\n product.ProductDetails.ItemId,\r\n this.props.context.actionContext.requestContext.apiSettings\r\n );\r\n productInfo.rings = [];\r\n productInfo.totalPrice = price.data.sum.vk;\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n cartTotalPriceAmount = cartTotalPriceAmount + price.data.sum.vk;\r\n const productTotalPrice = { ...product.ProductPrice };\r\n productTotalPrice.AdjustedPrice = productInfo.totalPrice;\r\n productTotalPrice.BasePrice = productInfo.totalPrice;\r\n productTotalPrice.CustomerContextualPrice = productInfo.totalPrice;\r\n productTotalPrice.TradeAgreementPrice = productInfo.totalPrice;\r\n productInfo.price = productTotalPrice;\r\n for (const ring of ringsInfo) {\r\n const ringReview = productInfo.review.find((r: any) => {\r\n return r.ringId === ring.id;\r\n });\r\n let height = '5mm';\r\n let width = '1.4mm';\r\n if (ringReview.properties && ringReview.properties.profile) {\r\n if (ringReview.properties.profile.width) {\r\n width = `${ringReview.properties.profile.width.value} ${ringReview.properties.profile.width.type}`;\r\n }\r\n if (ringReview.properties.profile.height) {\r\n height = `${ringReview.properties.profile.height.value} ${ringReview.properties.profile.height.type}`;\r\n }\r\n }\r\n let diamondCount = null;\r\n diamondCount =\r\n ringReview.properties.stone.preset.length > 0 &&\r\n ringReview.properties.stone.preset[0].id !== 'none' &&\r\n ringReview.properties.stone.quantity.reduce(function(sum: any, current: any) {\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n return sum + current.count;\r\n }, 0);\r\n const ringSizePi = ringReview.properties.ring.size.value / 3.14159265;\r\n const ringInfo: any = {\r\n ringId: ring.id,\r\n ringName: ringReview.name,\r\n alloy: `${this.state.translationInfo[ringReview.properties.disc.fineness[0].label]}\r\n ${''}${this.state.translationInfo[ringReview.properties.disc.color[0].label]}`,\r\n sizeLabel: ringReview.properties.ring.size.label,\r\n sizeValue:\r\n Math.round(\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n (ringSizePi + Number.EPSILON) * 100\r\n ) / 100,\r\n specifications: diamondCount\r\n ? `${diamondCount} Diamonds, ${width} Wide, ${height} thick`\r\n : `${width} Wide, ${height} thick`\r\n };\r\n const productPrice = { ...product.ProductPrice };\r\n productPrice.AdjustedPrice = ring.vk;\r\n productPrice.BasePrice = ring.vk;\r\n productPrice.CustomerContextualPrice = ring.vk;\r\n productPrice.TradeAgreementPrice = ring.vk;\r\n ringInfo.price = productPrice;\r\n productInfo.rings.push(ringInfo);\r\n const totalPrice = { ...product.ProductPrice };\r\n totalPrice.AdjustedPrice = cartTotalPriceAmount;\r\n totalPrice.BasePrice = cartTotalPriceAmount;\r\n totalPrice.CustomerContextualPrice = cartTotalPriceAmount;\r\n totalPrice.TradeAgreementPrice = cartTotalPriceAmount;\r\n cartTotalPrice.price = totalPrice;\r\n }\r\n cartItems.push(productInfo);\r\n }\r\n }\r\n }\r\n\r\n this.setState({ cartItems, cartTotalPrice, isLoading: false, jwellerInfo: jwellerInfo });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: IAaa_b2c_cartViewProps = {\r\n ...(this.props as IAaa_b2c_cartProps),\r\n cartItems: this.state.cartItems,\r\n removeFromCart: this.removeFromCart,\r\n cartTotalPrice: this.state.cartTotalPrice,\r\n submitOrder: this.submitOrder,\r\n isLoading: this.state.isLoading,\r\n jwellerInfo: this.state.jwellerInfo\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default Aaa_b2c_cart;\r\n","import * as React from 'react';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\n\r\nexport default class OrderSummary extends React.Component {\r\n private _renderPrice = (props: any, data: any): JSX.Element | null => {\r\n const { context } = props;\r\n if (data.price) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n return (\r\n
\r\n

Order Summary

\r\n {this.props.cartItems.map((cartItem: any) => {\r\n return (\r\n <>\r\n
\r\n
{cartItem.ProductDetails.Name}
\r\n {cartItem.rings &&\r\n cartItem.rings.map((ring: any, index: number) => {\r\n return (\r\n <>\r\n
\r\n \r\n {ring.ringName} {''} - {''} {ring.alloy}\r\n \r\n {cartItem.rings.length - 1 === index && (\r\n \r\n {this._renderPrice(this.props, cartItem)}\r\n \r\n )}\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n );\r\n })}\r\n
this.props.submitOrder()}>\r\n {this._renderPrice(this.props, this.props.cartTotalPrice)}\r\n Submit Order \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IAaa_b2c_cartViewProps } from './aaa_b2c_cart';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport OrderSummary from './components/order-summary';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport default (props: IAaa_b2c_cartViewProps) => {\r\n const _renderPrice = (props: any, ring: any): JSX.Element | null => {\r\n const { context } = props;\r\n if (ring.price) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n const rounded = (ringSize?: number) => {\r\n if (ringSize) {\r\n return ringSize.toFixed(2);\r\n }\r\n return '';\r\n };\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=100&h=100&m=6', w: 100, h: 100 },\r\n lg: { q: 'w=100&h=100&m=6', w: 100, h: 100 },\r\n xl: { q: 'w=100&h=100&m=6', w: 100, h: 100 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n };\r\n let continueShoppingUrl = props.context.request.url.requestUrl.origin;\r\n if (props.context.request.sitePath) {\r\n continueShoppingUrl = continueShoppingUrl + props.context.request.sitePath;\r\n }\r\n return (\r\n <>\r\n \r\n {props.config.continueShoppingButtonText ? props.config.continueShoppingButtonText : 'Continue Shopping'}\r\n \r\n {props.cartItems.length > 0 && !props.isLoading ? (\r\n
\r\n
\r\n {props.cartItems.map((cartItem: any, index: number) => {\r\n return (\r\n <>\r\n
\r\n
\r\n props.removeFromCart(cartItem.snapShotId, cartItem.recId)}\r\n />\r\n \r\n
\r\n
\r\n
{cartItem.ProductDetails.Name}
\r\n {cartItem.rings &&\r\n cartItem.rings.map((ring: any) => {\r\n return (\r\n
\r\n \r\n {ring.ringName}\r\n {ring.alloy}\r\n \r\n \r\n {'Size'}\r\n \r\n Size {ring.sizeLabel} ( Ø {rounded(ring.sizeValue)}mm)\r\n \r\n \r\n \r\n {'Specification'}\r\n {ring.specifications}\r\n \r\n \r\n {'Price'}\r\n \r\n {_renderPrice(props, ring)}\r\n \r\n \r\n
\r\n );\r\n })}\r\n
{_renderPrice(props, cartItem)}
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n {props.cartItems.length > 0 && (\r\n \r\n )}\r\n
\r\n
\r\n {ArrayExtensions.hasElements(props.slots.nextSteps) ? (\r\n {props.slots.nextSteps[0]}\r\n ) : null}\r\n Selected Stockist\r\n {props.jwellerInfo && (\r\n \r\n {props.jwellerInfo.B2BCustomerName}\r\n
\r\n {props.jwellerInfo.Address}\r\n
\r\n {'p. '}\r\n {props.jwellerInfo.Phone}\r\n
\r\n {'e. '}\r\n {props.jwellerInfo.Email}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {ArrayExtensions.hasElements(props.slots.needHelp) ? (\r\n {props.slots.needHelp[0]}\r\n ) : null}\r\n
\r\n
\r\n
\r\n ) : props.cartItems.length === 0 && !props.isLoading ? (\r\n
\r\n
\r\n

{'You currently do not have any orders to view.'}

\r\n
\r\n
\r\n ) : (\r\n
Loading...
\r\n )}\r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { CartLinePriceEditor, ICartLinePriceEditorResources, PriceComponent } from '@msdyn365-commerce/components';\r\nimport { IComponentProps, IGridSettings, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { ChannelDeliveryOptionConfiguration, ProductDimensionType, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { CartLine, DiscountLine, DiscountLineType, SalesLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { ArrayExtensions, getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getPayloadObject, getTelemetryAttributes, IncrementalQuantity, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classNames from 'classnames';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * ICartlineResourceString: Interface for specifying the\r\n * resource strings that the component needs.\r\n */\r\nexport interface ICartlineResourceString {\r\n\r\n /** Display string for discount label. */\r\n discountStringText: string;\r\n\r\n /** String for size key. */\r\n sizeString: string;\r\n\r\n /** String for color key. */\r\n colorString: string;\r\n\r\n /** String associated with the configuration product dimension. */\r\n configString: string;\r\n\r\n /** String for style key. */\r\n styleString: string;\r\n\r\n /** String for amount key. */\r\n amountString?: string;\r\n\r\n /** Display string for quantity label. */\r\n quantityDisplayString: string;\r\n\r\n /** Display string for quantity label. */\r\n inputQuantityAriaLabel: string;\r\n\r\n /** Aria label for the decrement button in quantity component. */\r\n decrementButtonAriaLabel: string;\r\n\r\n /** Aria label for the increment button in quantity component. */\r\n incrementButtonAriaLabel: string;\r\n\r\n /** Original text screenreader. */\r\n originalPriceText: string;\r\n\r\n /** Current text screenreader. */\r\n currentPriceText: string;\r\n\r\n /** Shipping Charges Text. */\r\n shippingChargesText: string;\r\n\r\n /** Price Editor Charges Text. */\r\n priceEditorResources?: ICartLinePriceEditorResources;\r\n}\r\n\r\n/**\r\n * Represents cart line data interface.\r\n */\r\ninterface ICartLineData {\r\n cartLine: CartLine | SalesLine;\r\n cartState?: ICartState;\r\n product?: SimpleProduct;\r\n}\r\n\r\n/**\r\n * ICartLineProps: The props required to render cartLineitem.\r\n */\r\nexport interface ICartLineProps extends IComponentProps {\r\n\r\n /** The flag to change the quantity component from interactible to static. */\r\n disableQuantityInteractivity?: boolean;\r\n\r\n /** The primary image url. */\r\n primaryImageUrl?: string;\r\n\r\n /** The product url. */\r\n productUrl?: string;\r\n\r\n /** GridSettings for the product image in cartLine. */\r\n gridSettings: IGridSettings;\r\n\r\n /** ImageSettings for the product image in cartLine. */\r\n imageSettings: IImageSettings;\r\n\r\n /** Boolean flag to indicate if the item is out of stock. */\r\n isOutOfStock?: boolean;\r\n\r\n /** Flag to make quantity section editable. */\r\n isQuantityEditable?: boolean;\r\n\r\n /** Max quantity for line item. */\r\n maxQuantity?: number;\r\n\r\n /** Current quantity for line item. */\r\n currentQuantity?: number;\r\n\r\n /** Resource string for the component. */\r\n resources: ICartlineResourceString;\r\n\r\n /** SalesLine flag. */\r\n isSalesLine?: boolean;\r\n\r\n /** Error message to show in place of quantity. */\r\n errorMessage?: string;\r\n\r\n /** Inventory information label. */\r\n inventoryInformationLabel?: string;\r\n\r\n /** Inventory information class name. */\r\n inventoryLabelClassName?: string;\r\n\r\n /** Flag to show/hide shipping charges for line items. */\r\n showShippingChargesForLineItems?: boolean;\r\n\r\n /** Boolean flag to indicate if cart state status is ready. */\r\n isCartStateReady?: boolean;\r\n\r\n /** Chanel Delivery Option configuration is from api. */\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n\r\n /** The telemetry content. */\r\n telemetryContent?: ITelemetryContent;\r\n\r\n /** Quantity onChange callback. */\r\n quantityOnChange?(cartLine: CartLine, newQuantity: number): boolean;\r\n}\r\n\r\n/**\r\n * Represents dimensions strings.\r\n */\r\ninterface IDimensionStrings {\r\n\r\n /** String for size key. */\r\n sizeString: string;\r\n\r\n /** String for color key. */\r\n colorString: string;\r\n\r\n /** String associated with the configuration product dimension. */\r\n configString: string;\r\n\r\n /** String for style key. */\r\n styleString: string;\r\n\r\n /** String for amount key. */\r\n amountString?: string;\r\n}\r\n\r\nconst cartLineItemFunctions = {\r\n\r\n /**\r\n * Render product dimensions.\r\n * @param product - Product data.\r\n * @param dimensionStrings - Dimension strings interface.\r\n * @returns JSX Element.\r\n */\r\n renderProductDimensions: (product: SimpleProduct, dimensionStrings: IDimensionStrings) => {\r\n if (!product.Dimensions) {\r\n return [];\r\n }\r\n\r\n return product.Dimensions.map(productDimension => {\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Color) {\r\n return (\r\n
\r\n \r\n {dimensionStrings.colorString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Configuration) {\r\n return (\r\n
\r\n \r\n {dimensionStrings.configString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Size) {\r\n return (\r\n
\r\n \r\n {dimensionStrings.sizeString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Style) {\r\n return (\r\n
\r\n \r\n {product.IsGiftCard ? dimensionStrings.amountString : dimensionStrings.styleString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n return null;\r\n });\r\n },\r\n\r\n /**\r\n * Gets the react node for product unit of price display.\r\n * @param props - The cart line props.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n renderProductUnitPrice: (props: ICartLineProps) => {\r\n if (!props.data.cartLine.Price) {\r\n return null;\r\n }\r\n const zeroQuantity: number = 0;\r\n return (\r\n
\r\n \r\n zeroQuantity ? {\r\n price: {\r\n CustomerContextualPrice: props.data.cartLine.Price\r\n }\r\n } : {\r\n price: {\r\n CustomerContextualPrice: props.data.cartLine.Price\r\n }\r\n }}\r\n context={props.context}\r\n id={props.id}\r\n typeName={props.typeName}\r\n />\r\n \r\n
\r\n );\r\n },\r\n\r\n /**\r\n * Render discount lines.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderDiscountLines: (props: ICartLineProps) => {\r\n\r\n if (!props.data.cartLine.DiscountLines || !ArrayExtensions.hasElements(props.data.cartLine.DiscountLines)) {\r\n return null;\r\n }\r\n\r\n /**\r\n * Get the updated discount percentage.\r\n * @param discountLine - The discount line.\r\n * @param cartLine - The cart line.\r\n * @returns The updated discount percentage.\r\n */\r\n const discountPercent = (discountLine: DiscountLine, cartLine: CartLine): number => {\r\n const numberZero = 0;\r\n const decimalPrecision = 2;\r\n const fullPercentage = 100;\r\n let updatedPercent: number = discountLine.Percentage ?? numberZero;\r\n\r\n if ((discountLine.Percentage === numberZero ||\r\n (discountLine.DiscountLineTypeValue && discountLine.DiscountLineTypeValue === DiscountLineType.TenderTypeDiscount)) &&\r\n cartLine.Price && cartLine.Price > numberZero && cartLine.Quantity && cartLine.Quantity !== numberZero) {\r\n const effectiveAmount = discountLine.EffectiveAmount ?? numberZero;\r\n updatedPercent = Number(((effectiveAmount / (cartLine.Price * cartLine.Quantity)) * fullPercentage).toFixed(decimalPrecision));\r\n }\r\n\r\n return updatedPercent;\r\n };\r\n\r\n return props.data.cartLine.DiscountLines.map((discountLine, index) => {\r\n return (\r\n
\r\n \r\n {discountLine.OfferName ? discountLine.OfferName : ''}\r\n \r\n \r\n \r\n \r\n \r\n {` (${discountLine.Percentage !== undefined ? discountPercent(discountLine, props.data.cartLine) : ''}%)`}\r\n \r\n
\r\n );\r\n });\r\n },\r\n\r\n /**\r\n * Render inventory label.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderInventoryLabel: (props: ICartLineProps) => {\r\n const inventoryCssName = props.inventoryLabelClassName ? (\r\n `msc-cart-line__product-inventory-label ${props.inventoryLabelClassName}`) : 'msc-cart-line__product-inventory-label';\r\n\r\n return (\r\n

\r\n {props.inventoryInformationLabel}\r\n

\r\n );\r\n },\r\n\r\n /**\r\n * Render shipping label.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderShippingLabel: (props: ICartLineProps) => {\r\n const pickupDeliveryModeCode = props.context.request.channel?.PickupDeliveryModeCode;\r\n const channelDeliveryOptionConfig = props.channelDeliveryOptionConfig;\r\n const cartline = props.data.cartLine;\r\n let hasShippingMethod = false;\r\n if (channelDeliveryOptionConfig !== undefined) {\r\n hasShippingMethod = !!(cartline.DeliveryMode && channelDeliveryOptionConfig.PickupDeliveryModeCodes?.some(\r\n deliveryMode => deliveryMode !== cartline.DeliveryMode));\r\n } else {\r\n hasShippingMethod = !!(cartline.DeliveryMode && cartline.DeliveryMode !== pickupDeliveryModeCode);\r\n }\r\n if (!hasShippingMethod) {\r\n return undefined;\r\n }\r\n\r\n const shippingChargeLines = (cartline.ChargeLines ?? []).filter(chargeLine => chargeLine.IsShipping);\r\n\r\n if (!ArrayExtensions.hasElements(shippingChargeLines)) {\r\n return undefined;\r\n }\r\n\r\n const defaultCharge: number = 0;\r\n const freightFee = shippingChargeLines.reduce((chargeTotal, chargeLine) => {\r\n return chargeTotal + (chargeLine.CalculatedAmount ?? defaultCharge);\r\n }, defaultCharge);\r\n\r\n const priceComponent = (\r\n \r\n );\r\n return (\r\n <>\r\n \r\n \r\n {priceComponent}\r\n \r\n \r\n );\r\n },\r\n\r\n /**\r\n * Render other charges.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderOtherCharges: (props: ICartLineProps) => {\r\n const cartline = props.data.cartLine;\r\n const otherCharges = cartline.ChargeLines?.filter((chargeline) => !chargeline.IsShipping);\r\n\r\n return otherCharges?.map((otherCharge, index) => {\r\n const itemIndex = index;\r\n return otherCharge.CalculatedAmount ? (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ) : '';\r\n }) ?? undefined;\r\n }\r\n};\r\n\r\n/**\r\n * Render cartline component.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\nconst CartLine: React.FC = (props: ICartLineProps) => {\r\n const { isSalesLine, productUrl, resources } = props;\r\n const { product, cartLine } = props.data;\r\n\r\n const destructDimensionStrings = {\r\n sizeString: resources.sizeString,\r\n colorString: resources.colorString,\r\n styleString: resources.styleString,\r\n configString: resources.configString,\r\n amountString: resources.amountString\r\n };\r\n\r\n const fallbackImageUrl = product && getFallbackImageUrl(product.ItemId, props.context.actionContext.requestContext.apiSettings);\r\n const productDimensions = product && cartLineItemFunctions.renderProductDimensions(product, destructDimensionStrings);\r\n const renderProductUnitPrice = cartLineItemFunctions.renderProductUnitPrice(props);\r\n const imageSettings = props.imageSettings;\r\n if (imageSettings) {\r\n imageSettings.cropFocalRegion = true;\r\n }\r\n const renderDiscountLines = cartLineItemFunctions.renderDiscountLines(props);\r\n const renderInventoryLabel = cartLineItemFunctions.renderInventoryLabel(props);\r\n const renderShippingLabel = cartLineItemFunctions.renderShippingLabel(props);\r\n const renderOtherCharges = cartLineItemFunctions.renderOtherCharges(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, '', product?.RecordId.toString());\r\n const productAttribute = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n const productName = product?.Name ?? cartLine.Description;\r\n const imgeClassName = props.data.cartLine.IsInvoiceLine ? 'msc-cart-line__invoice-image' : 'msc-cart-line__product-image';\r\n const cartLineContentClassName = props.data.cartLine.IsInvoiceLine ? 'msc-cart-line__invoice-content' : 'msc-cart-line__content';\r\n\r\n /**\r\n * Render other charges.\r\n * @param newValue - The cart line props.\r\n * @returns Boolean.\r\n */\r\n const onChange = (newValue: number): boolean => {\r\n if (props.quantityOnChange) {\r\n return props.quantityOnChange(props.data.cartLine, newValue);\r\n }\r\n return true;\r\n };\r\n\r\n /**\r\n * Generate error message.\r\n * @returns JSX element.\r\n */\r\n const generateErrorMessage = (): JSX.Element | null => {\r\n if (props.errorMessage) {\r\n return (\r\n
\r\n \r\n \r\n {props.errorMessage}\r\n \r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n /**\r\n * Render Saving component.\r\n * @returns JSX element.\r\n */\r\n const renderSaving = (): JSX.Element | null => {\r\n\r\n if (!props.data.cartLine.DiscountAmount) {\r\n return null;\r\n }\r\n const discountAmountZero: number = 0;\r\n\r\n if (props.data.cartLine.DiscountAmount > discountAmountZero) {\r\n return (\r\n <>\r\n \r\n {`${props.resources.discountStringText || 'Discount'}`}\r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Gets the react node for product unit of measure display.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n const renderUnitOfMeasure = () => {\r\n\r\n if (props.data.cartLine.IsInvoiceLine) {\r\n return null;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Do not need type check for appsettings\r\n if (!props.context.app.config.unitOfMeasureDisplayType || props.context.app.config.unitOfMeasureDisplayType === 'none') {\r\n return undefined;\r\n }\r\n\r\n if (!product || !product.DefaultUnitOfMeasure) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {product.DefaultUnitOfMeasure}\r\n \r\n
\r\n );\r\n };\r\n\r\n /**\r\n * Generate quantity and price component.\r\n * @returns JSX element.\r\n */\r\n const generateQuantityAndPrice = (): JSX.Element[] | null => {\r\n const nodes = [];\r\n const defaultMaxQuantity: number = 10;\r\n const singleQuantity: number = 1;\r\n const unitOfMeasure = renderUnitOfMeasure();\r\n\r\n // No quantity selector for invoice line\r\n if (!props.data.cartLine.IsInvoiceLine) {\r\n if (props.data.product && props.isQuantityEditable) {\r\n nodes.push(\r\n
\r\n
\r\n {resources.quantityDisplayString}\r\n
\r\n\r\n {generateErrorMessage()}\r\n\r\n \r\n {unitOfMeasure}\r\n
\r\n );\r\n } else {\r\n nodes.push(\r\n
\r\n {unitOfMeasure}\r\n \r\n\r\n {generateErrorMessage()}\r\n\r\n \r\n {props.data.cartLine.Quantity}\r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n nodes.push(\r\n
\r\n \r\n {\r\n renderSaving()\r\n }\r\n {props.isOutOfStock ? renderInventoryLabel : null}\r\n
\r\n );\r\n\r\n return nodes;\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {productName}\r\n \r\n {ArrayExtensions.hasElements(productDimensions) ?
\r\n {productDimensions}\r\n
: ''}\r\n
\r\n \r\n {renderUnitOfMeasure()}\r\n
\r\n {renderProductUnitPrice}\r\n {renderInventoryLabel}\r\n {renderDiscountLines}\r\n {props.showShippingChargesForLineItems &&
\r\n {renderShippingLabel}\r\n
}\r\n {renderOtherCharges}\r\n
\r\n {\r\n generateQuantityAndPrice()\r\n }\r\n {\r\n props.data.cartLine.IsInvoiceLine && props.data.cartState && props.resources.priceEditorResources && \r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CartLine;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IProductsDimensionsAvailabilities } from '@msdyn365-commerce/commerce-entities';\r\nimport { IPriceComponentResources, ISwatchItem, PriceComponent, ProductComponentSwatchComponent, RatingComponent } from '@msdyn365-commerce/components';\r\nimport { IComponent, IComponentProps, ICoreContext, IGridSettings, IImageData, IImageSettings, Image, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { AttributeSwatch, AttributeValue, ProductDimension, ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n ArrayExtensions, convertDimensionTypeToProductDimensionType, Dictionary, DimensionTypes, generateImageUrl,\r\n getProductPageUrlSync, IDimensionsApp, StringExtensions\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { format, getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nexport interface IProductComponentProps extends IComponentProps<{ product?: ProductSearchResult }> {\r\n className?: string;\r\n imageSettings?: IImageSettings;\r\n savingsText?: string;\r\n freePriceText?: string;\r\n originalPriceText?: string;\r\n currentPriceText?: string;\r\n ratingAriaLabel?: string;\r\n ratingCountAriaLabel?: string;\r\n allowBack?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n quickViewButton?: React.ReactNode;\r\n isEnabledProductDescription?: boolean;\r\n isPriceMinMaxEnabled?: boolean;\r\n priceResources?: IPriceComponentResources;\r\n inventoryLabel?: string;\r\n dimensionAvailabilities?: IProductsDimensionsAvailabilities[];\r\n}\r\n\r\nexport interface IProductComponent extends IComponent { }\r\n\r\nconst PriceComponentActions = {};\r\n\r\n/**\r\n * Gets the product page url from the default swatch selected.\r\n * @param productData - Product card to be rendered.\r\n * @returns The default color swatch selected if any.\r\n */\r\nfunction getDefaultColorSwatchSelected(productData?: ProductSearchResult): AttributeSwatch | null {\r\n if (!productData || !productData.AttributeValues) {\r\n return null;\r\n }\r\n\r\n const colorAttribute = productData.AttributeValues.find(attributeValue => attributeValue.KeyName?.toLocaleLowerCase() === DimensionTypes.color);\r\n if (!colorAttribute) {\r\n return null;\r\n }\r\n\r\n const defaultSwatch = colorAttribute.Swatches?.find(item => item.IsDefault === true) ?? colorAttribute.Swatches?.[0];\r\n return defaultSwatch ?? null;\r\n}\r\n\r\n/**\r\n * Gets the product image from the default swatch selected.\r\n * @param coreContext - Context of the module using the component.\r\n * @param productData - Product card to be rendered.\r\n * @returns The product card image url.\r\n */\r\nfunction getProductImageUrlFromDefaultColorSwatch(coreContext: ICoreContext, productData?: ProductSearchResult): string | undefined {\r\n const siteContext = coreContext as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n if (dimensionToPreSelectInProductCard === DimensionTypes.none) {\r\n return productData?.PrimaryImageUrl;\r\n }\r\n const defaultSwatch = getDefaultColorSwatchSelected(productData);\r\n return defaultSwatch && ArrayExtensions.hasElements(defaultSwatch.ProductImageUrls) ? generateImageUrl(\r\n defaultSwatch.ProductImageUrls[0], coreContext.request.apiSettings) : productData?.PrimaryImageUrl;\r\n}\r\n\r\n/**\r\n * Updates the product url link to product details page.\r\n * @param productDetailsPageUrl - Product page url.\r\n * @param coreContext - Context of the module using the component.\r\n * @param queryString - Querystring to be added to the URL.\r\n * @returns The update product page url.\r\n */\r\nfunction updateProductUrl(productDetailsPageUrl: string, coreContext: ICoreContext, queryString: string): string {\r\n const sourceUrl = new URL(productDetailsPageUrl, coreContext.request.apiSettings.baseUrl);\r\n if (sourceUrl.search) {\r\n sourceUrl.search += `&${queryString}`;\r\n } else {\r\n sourceUrl.search += queryString;\r\n }\r\n\r\n const updatedUrl = new URL(sourceUrl.href);\r\n return updatedUrl.pathname + sourceUrl.search;\r\n}\r\n\r\n/**\r\n * Gets the react node for product unit of measure display.\r\n * @param unitOfMeasure - DefaultUnitOfMeasure property from product.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\nfunction renderProductUnitOfMeasure(unitOfMeasure?: string): JSX.Element | null {\r\n if (!unitOfMeasure) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n {unitOfMeasure}\r\n \r\n
\r\n );\r\n}\r\n\r\n/**\r\n * Gets the react node for product availability.\r\n * @param inventoryAvailabilityLabel - The product information.\r\n * @returns The node representing markup for product availability.\r\n */\r\nfunction renderProductAvailability(inventoryAvailabilityLabel: string | undefined): JSX.Element | null {\r\n if (!inventoryAvailabilityLabel || inventoryAvailabilityLabel === '') {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {inventoryAvailabilityLabel}\r\n \r\n
\r\n );\r\n}\r\n\r\n/**\r\n * Gets the product page url from the default swatch selected.\r\n * @param coreContext - Context of the module using the component.\r\n * @param productUrl - Product page url for the product card.\r\n * @param productData - Product card to be rendered.\r\n * @returns The product card image url.\r\n */\r\nfunction getProductPageUrlFromDefaultSwatch(coreContext: ICoreContext, productUrl: string, productData?: ProductSearchResult): string | undefined {\r\n const siteContext = coreContext as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n if (dimensionToPreSelectInProductCard === DimensionTypes.none) {\r\n return productUrl;\r\n }\r\n\r\n const defaultSwatch = getDefaultColorSwatchSelected(productData);\r\n if (!defaultSwatch || !defaultSwatch.SwatchValue) {\r\n return productUrl;\r\n }\r\n\r\n const queryString = `color=${defaultSwatch.SwatchValue}`;\r\n return updateProductUrl(productUrl, coreContext, queryString);\r\n}\r\n\r\nconst ProductCard: React.FC = ({\r\n data,\r\n context,\r\n imageSettings,\r\n savingsText,\r\n freePriceText,\r\n originalPriceText,\r\n currentPriceText,\r\n ratingAriaLabel,\r\n ratingCountAriaLabel,\r\n allowBack,\r\n typeName,\r\n id,\r\n telemetryContent,\r\n quickViewButton,\r\n isEnabledProductDescription,\r\n isPriceMinMaxEnabled,\r\n priceResources,\r\n inventoryLabel,\r\n dimensionAvailabilities\r\n}) => {\r\n const product = data.product;\r\n\r\n let productUrl = getProductPageUrlSync(product?.Name ?? '', product?.RecordId ?? Number.MIN_VALUE, context.actionContext, undefined);\r\n if (allowBack) {\r\n productUrl = updateProductUrl(productUrl, context, 'back=true');\r\n }\r\n const productImageUrlFromSwatch = getProductImageUrlFromDefaultColorSwatch(context, product) ?? product?.PrimaryImageUrl;\r\n const productPageUrlFromSwatch = getProductPageUrlFromDefaultSwatch(context, productUrl, product) ?? productUrl;\r\n const [productPageUrl = productPageUrlFromSwatch, setProductPageUrl] = useState();\r\n const [productImageUrl = productImageUrlFromSwatch, setProductImageUrl] = useState();\r\n const [selectedSwatchItems] = useState(new Dictionary());\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access -- app context is generic\r\n const enableStockCheck = context.app.config.enableStockCheck;\r\n\r\n /**\r\n * Updates the product page and Image url based on swatch selected.\r\n * @param coreContext - Context of the caller.\r\n * @param swatchItem - Dimension swatch selected.\r\n */\r\n const updatePageAndImageUrl = React.useCallback((coreContext: ICoreContext, swatchItem: ISwatchItem) => {\r\n const dimensionType = swatchItem.dimensionType;\r\n selectedSwatchItems.setValue(dimensionType, swatchItem);\r\n if (StringExtensions.isNullOrWhitespace(swatchItem.value)) {\r\n return;\r\n }\r\n const queryString = `${dimensionType}=${swatchItem.value}`;\r\n let productPageUrlWithSwatch = '';\r\n if (productPageUrl.includes(dimensionType)) {\r\n const newUrl = new URL(productPageUrl, coreContext.request.apiSettings.baseUrl);\r\n newUrl.searchParams.delete(dimensionType);\r\n productPageUrlWithSwatch = updateProductUrl(newUrl.toString(), context, queryString);\r\n } else {\r\n productPageUrlWithSwatch = updateProductUrl(productPageUrl, context, queryString);\r\n }\r\n setProductPageUrl(productPageUrlWithSwatch);\r\n if (dimensionType === DimensionTypes.color) {\r\n const swatchProductImageUrl = ArrayExtensions.hasElements(swatchItem.productImageUrls) ? swatchItem.productImageUrls[0] : undefined;\r\n const newImageUrl = generateImageUrl(swatchProductImageUrl, coreContext.request.apiSettings);\r\n setProductImageUrl(newImageUrl);\r\n }\r\n }, [selectedSwatchItems, context, productPageUrl]);\r\n\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n /**\r\n * Checks if rendering the particular dimensions is allowed for product card.\r\n * @param dimensionType - Dimension to be displayed.\r\n * @returns Updates the state with new product page url.\r\n */\r\n function shouldDisplayDimension(dimensionType: string): boolean {\r\n const dimensionsContext = context as ICoreContext;\r\n const dimensionsToDisplayOnProductCard = dimensionsContext.app.config.dimensionsInProductCard;\r\n return ArrayExtensions.hasElements(dimensionsToDisplayOnProductCard) &&\r\n !dimensionsToDisplayOnProductCard.includes(DimensionTypes.none) &&\r\n dimensionsToDisplayOnProductCard.includes(dimensionType.toLocaleLowerCase() as DimensionTypes);\r\n }\r\n\r\n /**\r\n * Gets the react node for product dimension as swatch.\r\n * @param attributeValues - Attribute value property from product.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n function renderProductDimensions(attributeValues?: AttributeValue[]): JSX.Element | null {\r\n if (!attributeValues) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {\r\n attributeValues.map((item: AttributeValue) => {\r\n const dimensionTypeValue = item.KeyName?.toLocaleLowerCase() ?? '';\r\n if (!shouldDisplayDimension(dimensionTypeValue)) {\r\n return null;\r\n }\r\n\r\n const siteContext = context as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n const dimensionType = dimensionTypeValue as DimensionTypes;\r\n const swatches = item.Swatches?.map(swatchItem => {\r\n return {\r\n itemId: `${item.RecordId ?? ''}-${dimensionTypeValue}-${swatchItem.SwatchValue ?? ''}`,\r\n value: swatchItem.SwatchValue ?? '',\r\n dimensionType,\r\n colorHexCode: swatchItem.SwatchColorHexCode,\r\n imageUrl: swatchItem.SwatchImageUrl,\r\n productImageUrls: swatchItem.ProductImageUrls,\r\n isDefault: swatchItem.IsDefault,\r\n isDisabled: enableStockCheck && dimensionAvailabilities?.find(\r\n dimensionAvailability => dimensionAvailability.value === (swatchItem.SwatchValue ?? ''))?.isDisabled\r\n };\r\n }) ?? [];\r\n if (dimensionToPreSelectInProductCard !== DimensionTypes.none && ArrayExtensions.hasElements(swatches) &&\r\n !swatches.some(swatch => swatch.isDefault) && dimensionType === DimensionTypes.color) {\r\n swatches[0].isDefault = true;\r\n }\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
\r\n );\r\n }\r\n\r\n function renderQuickView(quickview: React.ReactNode, item?: number): JSX.Element | undefined {\r\n if (quickview === null) {\r\n return undefined;\r\n }\r\n const selectedDimensions: ProductDimension[] = selectedSwatchItems.getValues().map(swatches => {\r\n return {\r\n DimensionTypeValue: convertDimensionTypeToProductDimensionType(swatches.dimensionType),\r\n DimensionValue: {\r\n RecordId: 0,\r\n Value: swatches.value\r\n }\r\n };\r\n });\r\n return React.cloneElement(quickview as React.ReactElement, { selectedProductId: item, selectedDimensions });\r\n }\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', telemetryContent!, '', product.RecordId.toString());\r\n\r\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- -- Do not need type check for appsettings\r\n const isUnitOfMeasureEnabled = context.app.config && context.app.config.unitOfMeasureDisplayType === 'buyboxAndBrowse';\r\n\r\n return (\r\n <>\r\n {isEnabledProductDescription ? \r\n
\r\n
\r\n {renderProductPlacementImage(imageSettings, context.request.gridSettings, productImageUrl,\r\n product.PrimaryImageUrl, product.Name, context)}\r\n
\r\n
\r\n
\r\n {product.Name}\r\n
\r\n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText, currentPriceText, isPriceMinMaxEnabled, priceResources)}\r\n {isUnitOfMeasureEnabled && renderProductUnitOfMeasure(product.DefaultUnitOfMeasure)}\r\n {renderDescription(product.Description)}\r\n
\r\n
\r\n : \r\n
\r\n {renderProductPlacementImage(imageSettings, context.request.gridSettings, productImageUrl, product.PrimaryImageUrl, product.Name, context)}\r\n
\r\n
\r\n
\r\n {product.Name}\r\n
\r\n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText, currentPriceText)}\r\n {isUnitOfMeasureEnabled && renderProductUnitOfMeasure(product.DefaultUnitOfMeasure)}\r\n
\r\n }\r\n {renderProductDimensions(product.AttributeValues)}\r\n {!context.app.config.hideRating && renderRating(context, typeName, id, product.AverageRating, product.TotalRatings, ratingAriaLabel, ratingCountAriaLabel)}\r\n {renderProductAvailability(inventoryLabel)}\r\n {quickViewButton && renderQuickView(quickViewButton, product.RecordId)}\r\n \r\n );\r\n};\r\n\r\nfunction renderLabel(\r\n name?: string,\r\n price?: string,\r\n rating?: number,\r\n ratingAriaLabelText?: string,\r\n reviewCount?: number,\r\n ratingCountAriaLabelText?: string): string {\r\n const reviewCountArialableText = getReviewAriaLabel(reviewCount, ratingCountAriaLabelText ?? '');\r\n return (\r\n `${name ?? ''} ${price ?? ''} ${getRatingAriaLabel(rating, ratingAriaLabelText)}${reviewCountArialableText ? ` ${reviewCountArialableText}` : ''}`\r\n );\r\n}\r\n\r\nfunction renderDescription(description?: string): JSX.Element | null {\r\n return (

\r\n {description}\r\n

);\r\n}\r\n\r\nfunction getRatingAriaLabel(rating?: number, ratingAriaLabel?: string): string {\r\n if (rating && ratingAriaLabel) {\r\n const roundedRating = rating.toFixed(2);\r\n return format(ratingAriaLabel || '', roundedRating, '5');\r\n }\r\n return '';\r\n}\r\n\r\nfunction getReviewAriaLabel(reviewCount?: number, ratingCountAriaLabelText?: string): string {\r\n if (reviewCount && ratingCountAriaLabelText) {\r\n return format(ratingCountAriaLabelText || '', reviewCount);\r\n }\r\n return '';\r\n}\r\n\r\nfunction renderRating(coreContext: ICoreContext, moduleTypeName: string, moduleId: string, avgRating?: number,\r\n totalRatings?: number, ariaLabel?: string, ratingCountAriaLabel?: string): JSX.Element | null {\r\n if (!avgRating) {\r\n return null;\r\n }\r\n\r\n const numberRatings = totalRatings?.toString() || undefined;\r\n const ratingAriaLabelText = getRatingAriaLabel(avgRating, ariaLabel);\r\n const ratingCountAriaLabelText = getReviewAriaLabel(Number(numberRatings), ratingCountAriaLabel);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction renderPrice(context: ICoreContext, typeName: string, id: string, basePrice?: number, adjustedPrice?: number, savingsText?: string, freePriceText?: string, originalPriceText?: string, currentPriceText?: string, isPriceMinMaxEnabled?: boolean, priceResources?: IPriceComponentResources): JSX.Element | null {\r\n const price: ProductPrice = {\r\n BasePrice: basePrice,\r\n AdjustedPrice: adjustedPrice,\r\n CustomerContextualPrice: adjustedPrice\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction renderProductPlacementImage(imageSettings?: IImageSettings, gridSettings?: IGridSettings,\r\n imageUrl?: string, fallbackImageUrl?: string, altText?: string,\r\n context?: ICoreContext): JSX.Element | null {\r\n if (!imageUrl || !gridSettings || !imageSettings) {\r\n return null;\r\n }\r\n const img: IImageData = {\r\n src: imageUrl,\r\n altText: altText ? altText : '',\r\n fallBackSrc: fallbackImageUrl\r\n };\r\n const imageProps = {\r\n gridSettings,\r\n imageSettings\r\n };\r\n imageProps.imageSettings.cropFocalRegion = true;\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport const ProductComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride(\r\n 'Product',\r\n { component: ProductCard, ...PriceComponentActions }\r\n);\r\n\r\nexport default ProductComponent;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport MsDyn365, { getUrlSync } from '@msdyn365-commerce/core';\r\nimport { IHeaderViewProps, Logo } from '@msdyn365-commerce-modules/header';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\nimport { getB2CCartServiceAsync } from '../../../dataActions/DataActionExtension.g';\r\n\r\n/**\r\n * GridSizes.\r\n */\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n *\r\n * HeaderView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class HeaderView extends React.PureComponent, any> {\r\n private readonly menuNode: React.RefObject;\r\n private signInEvent = new Event('signInEvent', { bubbles: true, cancelable: true, composed: false });\r\n public constructor(props: IHeaderViewProps & IHeaderProps<{}>) {\r\n super(props);\r\n this.menuNode = React.createRef();\r\n this.state = {\r\n cartCount: 0\r\n };\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.useStickyHeader) {\r\n // Set header update methods to trigger on scroll\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('scroll', () => {\r\n this._configureStickyHeader();\r\n });\r\n }\r\n this._configureStickyHeader();\r\n }\r\n if (this.props.data.accountInformation.result && !this.props.data.accountInformation.result.IsB2b) {\r\n void this.getB2cCartCount();\r\n }\r\n window.addEventListener('addEvent', event => {\r\n this.setState({ cartCount: this.state.cartCount + 1 });\r\n });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const {\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n Divider,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n MobileMenuLinksContainer\r\n } = this.props;\r\n\r\n const isAuth = this.props.data.accountInformation.result;\r\n const isB2B = this.props.data.accountInformation.result && this.props.data.accountInformation.result.IsB2b;\r\n const cartLink = getUrlSync('cart', this.props.context.actionContext);\r\n console.log('Cart Link Get Url Sync', cartLink);\r\n\r\n return (\r\n \r\n \r\n \r\n {/*
*/}\r\n {/* {this._renderReactFragment(this.props.menuBar)}*/}\r\n {/*
*/}\r\n
{this.props.navIcon}
\r\n {this._renderReactFragment(this.props.search)}\r\n {this._renderDesktopLogo()}\r\n {this._renderMobileLogo()}\r\n\r\n {this.props.preferredStore}\r\n {this._renderAccountBlock(this.props)}\r\n \r\n {/*{this.props.cartIcon}*/}\r\n {this.props.wishListIconDesktop}\r\n {isAuth && !isB2B && (\r\n \r\n \r\n {/*My Orders*/}\r\n ({this.state.cartCount})\r\n \r\n \r\n )}\r\n {isAuth && isB2B && (\r\n \r\n \r\n {this.props.cartIcon}\r\n {/*My Orders*/}\r\n \r\n \r\n )}\r\n
\r\n {this._renderReactFragment(this.props.menuBar)}\r\n
\r\n {this._renderReactFragment(this.props.siteOptions)}\r\n
\r\n \r\n \r\n {this.props.MobileMenuHeader}\r\n {this._renderReactFragment(this.props.menuBar)}\r\n \r\n {this.props.accountLinks ? this.props.accountLinks.map(link => link) : false}\r\n {this.props.siteOptions}\r\n {this.props.wishListIconMobile}\r\n {this.props.signInLink}\r\n {this.props.signOutLink}\r\n {isAuth && !isB2B && (\r\n \r\n ({this.state.cartCount})\r\n \r\n )}\r\n {isAuth && isB2B && (\r\n \r\n {this.state.cartCount}\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Function to update header.\r\n */\r\n private readonly _configureStickyHeader = (): void => {\r\n // Get heights of cookie and promotion banners\r\n const defaultValue = 0;\r\n const headerAlertsContainer: HTMLElement | null = document.querySelector('.ms-promo-banner');\r\n const bannerHeights = headerAlertsContainer ? headerAlertsContainer.offsetHeight : defaultValue;\r\n\r\n // Triggers opacity change of header\r\n const headerElement = document.querySelector('header .default-container');\r\n if (headerElement) {\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > defaultValue) {\r\n headerElement.classList.add('lock-opaque');\r\n headerElement.classList.add('fixed');\r\n } else {\r\n headerElement.classList.remove('lock-opaque');\r\n headerElement.classList.remove('fixed');\r\n }\r\n }\r\n\r\n // Update sticky header position and opacity\r\n const stickyHeader: HTMLElement | null = document.querySelector('.desktop-navicon-container');\r\n const headerLogo: HTMLElement | null = document.querySelector('.ms-header__logo');\r\n\r\n if (stickyHeader && headerLogo) {\r\n // Fix center sticky header\r\n const navStickyPos = headerLogo.offsetHeight + bannerHeights;\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > navStickyPos) {\r\n stickyHeader.classList.add('fixed');\r\n } else {\r\n stickyHeader.classList.remove('fixed');\r\n }\r\n }\r\n };\r\n\r\n private readonly getB2cCartCount = async () => {\r\n const cartResult: any = await getB2CCartServiceAsync({ callerContext: this.props.context.actionContext, queryResultSettings: {} });\r\n if (cartResult.B2CCart && cartResult.B2CCart.length > 0) {\r\n this.setState({ cartCount: cartResult.B2CCart.length });\r\n }\r\n };\r\n\r\n private _renderMobileLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n const newImage: any = { ...config.mobileLogoImage };\r\n newImage.src = config.logoSvgUrl;\r\n return (\r\n \r\n );\r\n }\r\n private _renderDesktopLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n const newImage = { ...config.logoImage };\r\n newImage.src = config.logoSvgUrl;\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Function to render account block.\r\n * @param props - IHeaderViewProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderAccountBlock = (props: IHeaderViewProps): JSX.Element | null => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(AccountInfoDropdownParentContainer.className, 'account-desktop');\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n };\r\n private readonly signInClicked = (event: any) => {\r\n console.log('signInClicked');\r\n if (window['bootstrapMetrixModule']) {\r\n event.preventDefault();\r\n }\r\n window.dispatchEvent(this.signInEvent);\r\n };\r\n /**\r\n * Function to render react fragment.\r\n * @param items - React nodes.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderReactFragment = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {ArrayExtensions.hasElements(items)\r\n ? items.map((slot: React.ReactNode) => {\r\n return <>{slot};\r\n })\r\n : null}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default HeaderView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { RatingComponent } from '@msdyn365-commerce/components';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { IHistogramItemViewProps,\r\n IRatingsHistogramData,\r\n IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { format, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IRatingsHistogramProps, IRatingsHistogramResources } from '../definition-extensions/ratings-histogram.ext.props.autogenerated';\r\n\r\n/**\r\n * Histogram item.\r\n * @param props - Histogram Item ViewProps.\r\n * @returns Histogram Item node.\r\n */\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n return (\r\n \r\n {props.starLabel}\r\n {props.bar}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Average ratings.\r\n * @param data - Props data.\r\n * @param context - Histogram Item ViewProps.\r\n * @param typeName - Histogram Item ViewProps.\r\n * @param componentId - Histogram Item ViewProps.\r\n * @param resources - Module resource strings.\r\n * @returns Average ratings.\r\n */\r\nconst averageRating = (data: IRatingsHistogramData, context: ICoreContext, typeName: string, componentId: string, resources: IRatingsHistogramResources) => {\r\n const defaultAverageRating: number = 0;\r\n const reviewsCount = data.ratingsSummary.result?.reviewsCount ?? defaultAverageRating;\r\n const reviewsCountString = resources.numberOfReviewsString ? format(resources.numberOfReviewsString, reviewsCount) : `${reviewsCount} reviews`;\r\n\r\n return (\r\n
\r\n
\r\n {data.ratingsSummary.result?.averageRating}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {reviewsCountString}\r\n
\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Histogram view.\r\n * @param props - Ratings HistogramV iewProps.\r\n * @returns Histogram view module.\r\n */\r\nconst RatingsHistogramView: React.FC> = props => {\r\n const { heading, histogramItems, histogramProps, moduleProps, data, resources } = props;\r\n const context = props.context;\r\n const typeName = props.typeName;\r\n const moduleId = props.id;\r\n\r\n return (\r\n \r\n {heading}\r\n
\r\n {averageRating(data, context, typeName, moduleId, resources)}\r\n \r\n {histogramItems.map(item => {\r\n return histogramItem(item);\r\n })}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IPriceComponentResources } from '@msdyn365-commerce/components';\r\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n ICategoryHierarchyViewProps,\r\n IRefineMenuViewProps,\r\n ISearchResultContainerViewProps,\r\n ISearchResultModalViewProps,\r\n ISortByViewProps,\r\n ITitleViewProps\r\n} from '@msdyn365-commerce-modules/search-result-container';\r\nimport { Button, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nimport { ISearchResultContainerProps } from '../definition-extensions/search-result-container.ext.props.autogenerated';\r\nimport { ProductComponent } from './components/product.component';\r\n\r\n/**\r\n * DescriptionInterval.\r\n */\r\nenum DescriptionInterval {\r\n productDescriptionInterval = 14,\r\n productDescriptionIntervalRemainder0 = 0,\r\n productDescriptionIntervalRemainder9 = 9\r\n}\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductCards = (props: ISearchResultContainerViewProps & ISearchResultContainerProps<{}>): JSX.Element | null => {\r\n return (\r\n \r\n {props.errorMessage}\r\n {props.products}\r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * Returns the product inventory label.\r\n * @param channelInventoryConfigurationId - The channel configuration Id.\r\n * @param product - The product.\r\n * @returns The inventory label.\r\n */\r\nfunction getInventoryLabel(channelInventoryConfigurationId: number | undefined, product: ProductSearchResult): string | undefined {\r\n if (!channelInventoryConfigurationId || !ArrayExtensions.hasElements(product.AttributeValues)) {\r\n return undefined;\r\n }\r\n const inventoryAttribute = product.AttributeValues.find(attribute => attribute.RecordId === channelInventoryConfigurationId);\r\n if (inventoryAttribute) {\r\n return inventoryAttribute.TextValue;\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param props - The view props.\r\n * @param product - The product item data.\r\n * @param index - The index of each product item.\r\n * @param isEnabledProductDescription - The flag for showing Product desription tile.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductCardsDescription = (\r\n props: ISearchResultContainerViewProps & ISearchResultContainerProps<{}>,\r\n product: ProductSearchResult,\r\n index: number,\r\n isEnabledProductDescription?: boolean): JSX.Element | null => {\r\n const { config, context, resources } = props;\r\n const telemetryContent = getTelemetryObject(props.context.request.telemetryPageName!, props.friendlyName, props.telemetry);\r\n const breadCrumbType = props.context.app.config.breadcrumbType;\r\n const isAllowBack = props.config.allowBackNavigation && (breadCrumbType === 'back' || breadCrumbType === 'categoryAndBack');\r\n const classname = isEnabledProductDescription ? 'ms-product-search-result__item product__description' : 'ms-product-search-result__item';\r\n const quickviewslot = ArrayExtensions.hasElements(props.slots.quickview) ? props.slots.quickview[0] : undefined;\r\n const channelInventoryConfigurationId = props.data.products.result?.channelInventoryConfigurationId;\r\n const isPriceMinMaxFeatureState = props.data.featureState.result?.find(\r\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature');\r\n const priceResources: IPriceComponentResources = {\r\n priceRangeSeparator: resources.priceRangeSeparator\r\n };\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n};\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProducts = (props: ISearchResultContainerViewProps & ISearchResultContainerProps<{}>): JSX.Element | null => {\r\n const products = props.data.listPageState.result?.activeProducts;\r\n if (!products || !ArrayExtensions.hasElements(products)) {\r\n return null;\r\n }\r\n const productDescriptionInterval: number = DescriptionInterval.productDescriptionInterval;\r\n const productDescriptionIntervalRemainder0: number = DescriptionInterval.productDescriptionIntervalRemainder0;\r\n const productDescriptionIntervalRemainder9: number = DescriptionInterval.productDescriptionIntervalRemainder9;\r\n return (\r\n \r\n {props.errorMessage}\r\n
      \r\n {products.map((product: ProductSearchResult, index: number) => (\r\n (index % productDescriptionInterval === productDescriptionIntervalRemainder0) ||\r\n (index % productDescriptionInterval === productDescriptionIntervalRemainder9) ? renderProductCardsDescription(props, product,\r\n index, true) : renderProductCardsDescription(props, product, index, false)\r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Title Count.\r\n * @param props - The title view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderTitleCount = (props: ITitleViewProps): JSX.Element | null => {\r\n const { title, TitleContainer } = props;\r\n return (\r\n \r\n {title.titleCount}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Category Hierarchy.\r\n * @param props - The category hierarchy view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderCategoryHierarchy = (props: ICategoryHierarchyViewProps): JSX.Element | null => {\r\n const { CategoryHierarchyContainer, categoryHierarchyList, categoryHierarchySeparator } = props;\r\n if (categoryHierarchyList) {\r\n return (\r\n \r\n {categoryHierarchyList.map((category, index) => (\r\n \r\n {category}\r\n {categoryHierarchyList[index + 1] && categoryHierarchySeparator}\r\n \r\n ))}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\n/**\r\n * Render the category page items.\r\n * @param props - The view props.\r\n * @returns The search Result container module view.\r\n */\r\nconst SearchResultContainerView: React.FC> = props => {\r\n const { SearchResultContainer, pagination, ProductSectionContainer, choiceSummary, isMobile, modalToggle, searchResultModal, TitleViewProps,\r\n refineMenu, categoryHierarchy, sortByOptions, CategoryNavContainer, RefineAndProductSectionContainer, FeatureSearchContainer,\r\n similarLookProduct, errorMessage, resources } = props;\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const toggle = () => {\r\n setIsExpanded(!isExpanded);\r\n };\r\n const isRecoSearchPage = props.context.actionContext.requestContext.query?.recommendation;\r\n if (isMobile) {\r\n return (\r\n \r\n {similarLookProduct ? null : \r\n {renderCategoryHierarchy(categoryHierarchy)}\r\n {renderTitle(TitleViewProps)}\r\n {renderTitleCount(TitleViewProps)}\r\n }\r\n {choiceSummary}\r\n \r\n {modalToggle}\r\n \r\n {createSearchResultModal(searchResultModal, refineMenu, sortByOptions, isRecoSearchPage)}\r\n \r\n {similarLookProduct}\r\n \r\n {errorMessage}\r\n {props.config.enableProdutDescription ? renderProducts(props) : renderProductCards(props)}\r\n {pagination}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {similarLookProduct ? null : \r\n {categoryHierarchy && renderCategoryHierarchy(categoryHierarchy)}\r\n {TitleViewProps && renderTitle(TitleViewProps)}\r\n {TitleViewProps && renderTitleCount(TitleViewProps)}\r\n }\r\n \r\n {similarLookProduct}\r\n \r\n \r\n \r\n \r\n \r\n {resources.filterText}\r\n \r\n
    \r\n {choiceSummary}\r\n
    \r\n
    \r\n {sortByOptions && !isRecoSearchPage && renderSort(sortByOptions)}\r\n
    \r\n
    \r\n {refineMenu && isExpanded && renderRefiner(refineMenu)}\r\n
    \r\n \r\n {errorMessage}\r\n {props.config.enableProdutDescription ? renderProducts(props) : renderProductCards(props)}\r\n {pagination}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Search result Modal.\r\n * @param modalProps - The Search Result Modal view props.\r\n * @param refineMenu - The Refine Menu view props.\r\n * @param sortByDropDown - The Sort by view props.\r\n * @param isRecoSearchPage - The recomandation search page flag.\r\n * @returns The JSX Element.\r\n */\r\nconst createSearchResultModal = (modalProps: ISearchResultModalViewProps, refineMenu: IRefineMenuViewProps, sortByDropDown: ISortByViewProps,\r\n isRecoSearchPage?: string): JSX.Element => {\r\n return React.cloneElement(modalProps.modal, {}, modalProps.modalHeader, createModalBody(modalProps, refineMenu, sortByDropDown,\r\n isRecoSearchPage), modalProps.modalFooter);\r\n};\r\n\r\n/**\r\n * Render Refiner Mobile.\r\n * @param props - The Refine Menu view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderRefinerMobile = (props: IRefineMenuViewProps): JSX.Element | null => {\r\n const { refiners, RefineMenuContainer, RefinerSectionContainer } = props;\r\n if (refiners) {\r\n return (\r\n \r\n \r\n {refiners.map((submenu, index) => (\r\n \r\n {submenu}\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render Search result Body.\r\n * @param props - The Search Result Modal view props.\r\n * @param refineMenu - The Refine Menu view props.\r\n * @param sortByDropDown - The Sort by view props.\r\n * @param isRecoSearchPage - The recomandation search page flag.\r\n * @returns The JSX Element.\r\n */\r\nconst createModalBody = (props: ISearchResultModalViewProps, refineMenu: IRefineMenuViewProps,\r\n sortByDropDown: ISortByViewProps, isRecoSearchPage?: string): JSX.Element | null => {\r\n if (sortByDropDown) {\r\n return React.cloneElement(props.modalBody, {}, renderSort(sortByDropDown, isRecoSearchPage), renderRefinerMobile(refineMenu));\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render Refiner.\r\n * @param props - The Refine Menu view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderRefiner = (props: IRefineMenuViewProps): JSX.Element | null => {\r\n const { refiners, RefineMenuContainer, RefinerSectionContainer } = props;\r\n if (refiners) {\r\n return (\r\n \r\n \r\n {refiners.map((submenu, index) => (\r\n \r\n {submenu}\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render sort by drop down.\r\n * @param props - The sort by view props.\r\n * @param isRecoSearchPage - The recomandation search page flag.\r\n * @returns The JSX Element.\r\n */\r\nconst renderSort = (props: ISortByViewProps, isRecoSearchPage?: string): JSX.Element | null => {\r\n const { SortingContainer, sortByDropDown } = props;\r\n if (sortByDropDown && !isRecoSearchPage) {\r\n return (\r\n \r\n {sortByDropDown}\r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render Title.\r\n * @param props - The title view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderTitle = (props: ITitleViewProps): JSX.Element | null => {\r\n const { title, TitleContainer } = props;\r\n if (title) {\r\n return (\r\n \r\n \r\n {title.titlePrefix}\r\n {title.titleText}\r\n \r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\nexport default SearchResultContainerView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent, RatingComponent } from '@msdyn365-commerce/components';\nimport {\n IComponent,\n IComponentProps,\n ICoreContext,\n IGridSettings,\n IImageData,\n IImageSettings,\n Image,\n IRequestContext\n} from '@msdyn365-commerce/core';\nimport { ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { format } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * IActiveProductProps interface.\n */\nexport interface IActiveProductProps extends IComponentProps<{ product?: ProductSearchResult }> {\n className?: string;\n imageSettings?: IImageSettings;\n savingsText?: string;\n freePriceText?: string;\n originalPriceText?: string;\n currentPriceText?: string;\n ratingAriaLabel?: string;\n}\n\n/**\n * IActiveProduct interface.\n */\nexport interface IActiveProduct extends IComponent {}\n\n/**\n * RenderDescription function.\n * @param description - Product description string.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderDescription(description?: string): JSX.Element | null {\n return

    {description}

    ;\n}\n\n/**\n * GetRatingAriaLabel function.\n * @param rating - Product rating number.\n * @param ratingAriaLabel - Product rating aria label.\n * @returns - Returns string.\n */\nfunction getRatingAriaLabel(rating?: number, ratingAriaLabel?: string): string {\n const numberTwo: number = 2;\n if (rating && ratingAriaLabel) {\n const roundedRating = rating.toFixed(numberTwo);\n return format(ratingAriaLabel || '', roundedRating, '5');\n }\n return '';\n}\n\n/**\n * RenderRating function.\n * @param context - The core context.\n * @param typeName - The type name of the module.\n * @param ratingId - The rating id.\n * @param avgRating - The average rating.\n * @param totalRatings - The total ratings.\n * @param ariaLabel - The rating aria label.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderRating(\n context: ICoreContext,\n typeName: string,\n ratingId: string,\n avgRating?: number,\n totalRatings?: number,\n ariaLabel?: string\n): JSX.Element | null {\n if (!avgRating) {\n return null;\n }\n\n const numberRatings = totalRatings?.toString() ?? undefined;\n const ratingAriaLabel = getRatingAriaLabel(avgRating, ariaLabel);\n\n return (\n \n );\n}\n\n/**\n * RenderPrice function.\n * @param context - The core context.\n * @param typeName - The type name of the module.\n * @param productId - The product id.\n * @param basePrice - The base price of the product.\n * @param adjustedPrice - The adjusted price of the product.\n * @param savingsText - The savings text of the product.\n * @param freePriceText - The free price text.\n * @param originalPriceText - The original price text.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderPrice(\n context: ICoreContext,\n typeName: string,\n productId: string,\n basePrice?: number,\n adjustedPrice?: number,\n savingsText?: string,\n freePriceText?: string,\n originalPriceText?: string\n): JSX.Element | null {\n const price: ProductPrice = {\n BasePrice: basePrice,\n AdjustedPrice: adjustedPrice,\n CustomerContextualPrice: adjustedPrice\n };\n\n return (\n \n );\n}\n\n/**\n * RenderProductPlacementImage function.\n * @param requestContext - RequestContext.\n * @param imageSettings - The product image settings.\n * @param gridSettings - The viewport gird settings.\n * @param imageUrl - The product image url.\n * @param altText - The product image alt text.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderProductPlacementImage(\n requestContext: IRequestContext,\n imageSettings?: IImageSettings,\n gridSettings?: IGridSettings,\n imageUrl?: string,\n altText?: string\n): JSX.Element | null {\n if (!imageUrl || !gridSettings || !imageSettings) {\n return null;\n }\n const imgData: IImageData = {\n src: imageUrl,\n altText: altText ? altText : ''\n };\n const imageProps = {\n gridSettings,\n imageSettings\n };\n imageProps.imageSettings.cropFocalRegion = true;\n return ;\n}\n\n/**\n * ActiveProduct constant.\n * @param props - The active product props.\n * @param props.data - The product search result data.\n * @param props.context - The core context.\n * @param props.imageSettings - The prodcut image settings.\n * @param props.savingsText - The product savings text.\n * @param props.freePriceText - The free price text.\n * @param props.originalPriceText - The original price text.\n * @param props.ratingAriaLabel - The product rating aria label.\n * @param props.typeName - The type name of the module.\n * @param props.id - The id of the product.\n * @returns - Returns JSX.Element | null.\n */\nexport const ActiveProductComponent: React.FC = ({\n data,\n context,\n imageSettings,\n savingsText,\n freePriceText,\n originalPriceText,\n ratingAriaLabel,\n typeName,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Do not need naming convention check for library prameters\n id\n}) => {\n const product = data.product;\n if (!product) {\n return null;\n }\n\n return (\n <>\n
    \n
    \n {renderProductPlacementImage(\n context.actionContext.requestContext,\n imageSettings,\n context.request.gridSettings,\n product.PrimaryImageUrl,\n product.Name\n )}\n
    \n
    \n

    {product.Name}

    \n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText)}\n {renderDescription(product.Description)}\n {!context.app.config.hideRating &&\n renderRating(context, typeName, id, product.AverageRating, product.TotalRatings, ratingAriaLabel)}\n
    \n
    \n \n );\n};\n\nexport default ActiveProductComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * ILinksData: Interface for\n * Additional content.\n */\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n isOpenInNewTab?: boolean;\n}\n\n/**\n * IAdditionalContentData: Interface for\n * Active content.\n */\ninterface IAdditionalContentData {\n heading?: string;\n subtext?: string;\n links?: ILinksData[];\n}\n\n/**\n * IActiveImageAdditionalContentProps: Interface for\n * Active Image Additional Content Component props.\n */\nexport interface IActiveImageAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData | undefined;\n handleAdditionalTextChange(event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IActiveImageAdditionalContentViewProps: Interface for\n * Active Image Additional Content view props.\n */\nexport interface IActiveImageAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Active Image Additional content component props.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IActiveImageAdditionalContentProps) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Active Image Additional content component props.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IActiveImageAdditionalContentProps) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Active Image Additional content component props.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IActiveImageAdditionalContentProps, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'msc-active-image__details__additional-content__cta__links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.isOpenInNewTab,\n role: 'button'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Active Image additonal content item props.\n * @param props - Active Image Additional content component props.\n * @returns IActiveImageAdditionalContentItemViewProps.\n */\nconst assembleNode = (item: IAdditionalContentData, props: IActiveImageAdditionalContentProps): IActiveImageAdditionalContentViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, index);\n });\n\n return {\n additionalContentNode: { className: 'msc-active-image__details__additional-content' },\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentContainer: { className: 'msc-active-image__details__additional-content__container' },\n additionalContentItemLinks: { className: 'msc-active-image__details__additional__content__cta' }\n };\n};\n\n/**\n * ActiveImageAdditionalContent component.\n * @param props - Active Image Additional content component props.\n * @returns Active Image Additional content view props.\n */\nexport const activeImageAdditionalContent = (\n props: IActiveImageAdditionalContentProps\n): IActiveImageAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n return assembleNode(additionalContent, props);\n};\n\nexport default activeImageAdditionalContent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageData, Image, IRequestContext } from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport React from 'react';\n\n/**\n * @type AreaEvent for active points\n */\ntype AreaEvent = Event | React.MouseEvent | React.FocusEvent;\n\n/**\n * @interface IRgbColor\n * @description - The IRgbColor interface contract.\n */\nexport interface IRgbColor {\n rValue: number;\n gValue: number;\n bValue: number;\n}\n\n/**\n * @interface IArea\n * @description - The IArea interface contract.\n */\nexport interface IArea {\n areaId: string;\n coords: number[];\n href?: string;\n center?: number[];\n primaryImageUrl?: string;\n productUrl: string;\n productSearchResult?: ProductSearchResult;\n}\n\n/**\n * @interface IArea\n * @description - The IArea interface contract.\n */\nexport interface IAreaMap {\n name: string;\n areas: IArea[];\n}\n\n/**\n * @enum CanvasCalculations\n * @description - The canvas calculations enum.\n */\nexport enum CanvasCalculations {\n defaultWidth = 0,\n defaultHeight = 0,\n defaultPositionX = 0,\n defaultPositionY = 0,\n defaultScale = 1,\n halfDivisor = 2,\n doubleMultiplier = 2,\n buttonHeight = 30,\n buttonPadding = 30,\n paddingAdjustment = 3,\n expandAnimationStartWidth = 10,\n expandAnimationEndWidth = 40,\n collapseAnimationStartWidth = 40,\n collapseAnimationEndWidth = 8,\n expandRadius = 12,\n collapseRadius = 8,\n rotation = 1.57,\n startAngle = 0,\n endAngle = 7,\n clearMargin = 50,\n clearHeight = 100,\n clearWidth = 100,\n textFadeInStartValue = 0,\n textFadeOutStartValue = 0.5,\n textFadeInterval = 0.01\n}\n\n/**\n * @enum CanvasStyles\n * @description - The canvas styles enum.\n */\nexport enum CanvasStyles {\n color = '#FFFFFF',\n buttonTextClor = '#000000'\n}\n\n/**\n * @enum\n * @description - The canvas styles enum.\n */\nexport interface IImageMapperResources {\n buttonText?: string;\n altText?: string;\n}\n\n/**\n * @interface IImageMapperProps\n * @description - The IImageMapperProps interface contract.\n */\nexport interface IImageMapperProps {\n imageData: IImageData;\n areaMap: IAreaMap;\n viewPort: string;\n requestContext: IRequestContext;\n color?: string;\n buttonTextClor?: string;\n width?: number;\n imgWidth?: number;\n activeImageRefs: React.RefObject;\n imageMapperResources?: IImageMapperResources;\n onLoad?(): void;\n onClick?(area: IArea, index: number, event: AreaEvent): void;\n onFocus?(area: IArea, index: number, event: AreaEvent): void;\n onMouseEnter?(area: IArea, index: number, event: AreaEvent): void;\n onMouseLeave?(area: IArea, index: number, event: AreaEvent): void;\n}\n\n/**\n * ImageMapper.\n */\nexport class ImageMapper extends React.Component {\n private readonly _backgroundImage: React.RefObject;\n\n private readonly _container: React.RefObject;\n\n private readonly _canvas: React.RefObject;\n\n private _isDesktopViewPort: boolean = false;\n\n private _context: CanvasRenderingContext2D | null | undefined = null;\n\n public constructor(props: IImageMapperProps) {\n super(props);\n this._backgroundImage = React.createRef();\n this._container = React.createRef();\n this._canvas = React.createRef();\n }\n\n /**\n * ComponentDidMount method.\n */\n public componentDidMount(): void {\n const { viewPort } = this.props;\n this.initCanvas();\n this._isDesktopViewPort = viewPort === 'lg' || viewPort === 'xl';\n this.renderAreas();\n this._context = null;\n }\n\n /**\n * ComponentDidUpdate method.\n */\n public componentDidUpdate(): void {\n const { viewPort } = this.props;\n this.initCanvas();\n this._isDesktopViewPort = viewPort === 'lg' || viewPort === 'xl';\n }\n\n /**\n * ShouldComponentUpdate method.\n * @param nextProps - Next props.\n * @returns Returns boolean.\n */\n public shouldComponentUpdate(nextProps: IImageMapperProps): boolean {\n let shouldRender = false;\n if (nextProps !== this.props) {\n shouldRender = true;\n }\n return shouldRender;\n }\n\n /**\n * GetActiveImageWidth method - Gets the active image width.\n * @returns Returns number | undefined.\n */\n public getActiveImageWidth = (): number | undefined => {\n if (MsDyn365.isBrowser) {\n const activeImageReferenceValue = this.props.activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientWidth;\n }\n }\n return undefined;\n };\n\n /**\n * GetActiveImageHeight method - Gets the active image height.\n * @returns Returns number | undefined.\n */\n public getActiveImageHeight = (): number | undefined => {\n if (MsDyn365.isBrowser) {\n const activeImageReferenceValue = this.props.activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientHeight;\n }\n }\n return undefined;\n };\n\n /**\n * ConvertHexToRgb method - This method takes color in HEX format and returns IRgbColor color object.\n * @param hexColor -The color hex value.\n * @returns -Returns IRgbColor object.\n */\n public convertHexToRgb = (hexColor: string): IRgbColor => {\n // RegEx used to execute the conversion of the hex color to rgb value.\n const regEx = new RegExp('^#?([a-f\\\\d]{2})([a-f\\\\d]{2})([a-f\\\\d]{2})$', 'u');\n\n // RegEx.exec method executes a search for a match in a specified string. Returns a result array, or null.\n const result = regEx.exec(hexColor);\n const defaultValue = 0;\n return result\n ? {\n rValue: Number.parseInt(result[1], 16),\n gValue: Number.parseInt(result[2], 16),\n bValue: Number.parseInt(result[3], 16)\n }\n : {\n rValue: defaultValue,\n gValue: defaultValue,\n bValue: defaultValue\n };\n };\n\n /**\n * ApplyFadingTransition method - Applys fading transition to button text.\n * @param text -The button text.\n * @param coords -The coordinates.\n * @param rgbColor -The RGB color object.\n * @param alpha -The alpha value of the button text.\n */\n public applyFadingTransition = (text: string, coords: number[], rgbColor: IRgbColor, alpha: number): void => {\n const halfDivisor: number = CanvasCalculations.halfDivisor;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (context && this._isDesktopViewPort) {\n const buttonPadding = CanvasCalculations.buttonPadding;\n const paddingAdjustment = CanvasCalculations.paddingAdjustment;\n const buttonWidth = context.measureText(text).width + buttonPadding;\n context.fillStyle = `rgba(${rgbColor.rValue}, ${rgbColor.gValue}, ${rgbColor.bValue}, ${alpha} )`;\n if (MsDyn365.isBrowser && document.body.parentElement && document.body.parentElement.getAttribute('dir') === 'rtl') {\n context.fillText(text, coords[0] + buttonWidth / halfDivisor - buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n } else {\n context.fillText(text, coords[0] - buttonWidth / halfDivisor + buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n }\n }\n };\n\n /**\n * Draw button method - Draws button and contains fixed hight, padding values.\n * @param text -The button text.\n * @param coords -The coordinates.\n */\n public drawButton = (text: string, coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const halfDivisor: number = CanvasCalculations.halfDivisor;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (context && this._isDesktopViewPort) {\n const buttonHeight = CanvasCalculations.buttonHeight;\n const buttonPadding = CanvasCalculations.buttonPadding;\n const paddingAdjustment = CanvasCalculations.paddingAdjustment;\n const buttonWidth = context.measureText(text).width + buttonPadding;\n const buttonPositionX = coords[0] - buttonWidth / halfDivisor;\n const buttonPositionY = coords[1] - buttonHeight / halfDivisor;\n const arcsize = buttonHeight / halfDivisor;\n\n context.beginPath();\n context.moveTo(buttonPositionX + arcsize, buttonPositionY);\n context.lineTo(buttonPositionX + buttonWidth - arcsize, buttonPositionY);\n context.arcTo(\n buttonPositionX + buttonWidth,\n buttonPositionY,\n buttonPositionX + buttonWidth,\n buttonPositionY + arcsize,\n arcsize\n );\n context.lineTo(buttonPositionX + buttonWidth, buttonPositionY + buttonHeight - arcsize);\n context.arcTo(\n buttonPositionX + buttonWidth,\n buttonPositionY + buttonHeight,\n buttonPositionX + buttonWidth - arcsize,\n buttonPositionY + buttonHeight,\n arcsize\n );\n context.lineTo(buttonPositionX + arcsize, buttonPositionY + buttonHeight);\n context.arcTo(buttonPositionX, buttonPositionY + buttonHeight, buttonPositionX, buttonPositionY - arcsize, arcsize);\n context.lineTo(buttonPositionX, buttonPositionY + arcsize);\n context.arcTo(buttonPositionX, buttonPositionY, buttonPositionX + arcsize, buttonPositionY, arcsize);\n context.lineTo(buttonPositionX + arcsize, buttonPositionY);\n context.stroke();\n context.closePath();\n context.fillStyle = color;\n context.fill();\n context.fillStyle = buttonTextClor;\n if (MsDyn365.isBrowser && document.body.parentElement && document.body.parentElement.getAttribute('dir') === 'rtl') {\n context.fillText(text, coords[0] + buttonWidth / halfDivisor - buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n } else {\n context.fillText(text, coords[0] - buttonWidth / halfDivisor + buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n }\n }\n };\n\n /**\n * ExpandAnimation method - Shows expand animation and contains fixed values to draw the circle and ellipse shapes.\n * @param coords -Coordinates.\n */\n public expandAnimation = (coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText;\n let animationStartWidth = CanvasCalculations.expandAnimationStartWidth;\n const pointPositionX = coords[0];\n const pointPositionY = coords[1];\n const animationEndWidth = CanvasCalculations.expandAnimationEndWidth;\n const radius = CanvasCalculations.expandRadius;\n const rotation = CanvasCalculations.rotation;\n const startAngle = CanvasCalculations.startAngle;\n const endAngle = CanvasCalculations.endAngle;\n let textFadeInValue = CanvasCalculations.textFadeInStartValue;\n const buttonTextClorInRgb = this.convertHexToRgb(buttonTextClor.toLocaleLowerCase());\n\n /**\n * Animate method - Reders expand animation.\n */\n const animate = () => {\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.beginPath();\n context.ellipse(pointPositionX, pointPositionY, radius, animationStartWidth, rotation, startAngle, endAngle);\n context.fillStyle = color;\n context.fill();\n context.fillStyle = color;\n if (buttonText) {\n if (animationStartWidth < animationEndWidth) {\n requestAnimationFrame(animate);\n this.applyFadingTransition(buttonText, coords, buttonTextClorInRgb, textFadeInValue);\n textFadeInValue += CanvasCalculations.textFadeInterval;\n animationStartWidth++;\n } else {\n this.drawButton(buttonText, [pointPositionX, pointPositionY]);\n }\n }\n };\n\n if (this._isDesktopViewPort) {\n animate();\n }\n };\n\n /**\n * CollapseAnimation method - Shows collapse animation and contains fixed values to draw the circle and ellipse shapes.\n * @param coords -Coordinates.\n */\n public collapseAnimation = (coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText;\n let animationStartWidth = CanvasCalculations.collapseAnimationStartWidth;\n const pointPositionX = coords[0];\n const pointPositionY = coords[1];\n const animationEndWidth = CanvasCalculations.collapseAnimationEndWidth;\n const rotation = CanvasCalculations.rotation;\n const clearMargin = CanvasCalculations.clearMargin;\n const clearHeight = CanvasCalculations.clearHeight;\n const clearWidth = CanvasCalculations.clearWidth;\n const radius = CanvasCalculations.collapseRadius;\n const startAngle = CanvasCalculations.startAngle;\n const endAngle = CanvasCalculations.endAngle;\n let textFadeOutValue = CanvasCalculations.textFadeOutStartValue;\n const buttonTextClorInRgb = this.convertHexToRgb(buttonTextClor.toLocaleLowerCase());\n\n /**\n * Animate method - Renders collapse animation.\n */\n const animate = () => {\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.beginPath();\n context.clearRect(pointPositionX - clearMargin, pointPositionY - clearMargin, clearWidth, clearHeight);\n context.ellipse(pointPositionX, pointPositionY, radius, animationStartWidth, rotation, startAngle, endAngle);\n context.fillStyle = color;\n context.fill();\n if (animationEndWidth < animationStartWidth && buttonText) {\n requestAnimationFrame(animate);\n this.applyFadingTransition(buttonText, coords, buttonTextClorInRgb, textFadeOutValue);\n textFadeOutValue -= CanvasCalculations.textFadeInterval;\n animationStartWidth--;\n }\n };\n\n if (this._isDesktopViewPort) {\n animate();\n }\n };\n\n /**\n * DrawCircle method - Renders active points.\n * @param coords -Coordinates.\n */\n public drawCircle = (coords: number[]): void => {\n const { color = CanvasStyles.color, viewPort } = this.props;\n const doubleMultiplier: number = CanvasCalculations.doubleMultiplier;\n const startAngle: number = CanvasCalculations.startAngle;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n const radius = viewPort === 'xs' || viewPort === 'sm' ? coords[2] * doubleMultiplier : coords[2];\n if (!context) {\n return;\n }\n context.fillStyle = color;\n context.beginPath();\n context.strokeStyle = color;\n context.arc(coords[0], coords[1], radius, startAngle, Math.PI * doubleMultiplier);\n context.closePath();\n context.stroke();\n context.fill();\n };\n\n /**\n * ScaleCoords method - To scale the active point coordinates based on the window size.\n * @param coords -Coordinates.\n * @returns -Returns number[].\n */\n public scaleCoords = (coords: number[]): number[] => {\n const { imgWidth } = this.props;\n const defaultWidth: number = CanvasCalculations.defaultWidth;\n const defaultScale: number = CanvasCalculations.defaultScale;\n\n // Calculate scale based on current 'width' and the original 'imgWidth'\n const width = this.getActiveImageWidth();\n const scale = width && imgWidth && imgWidth > defaultWidth ? width / imgWidth : defaultScale;\n return coords.map(coord => coord * scale);\n };\n\n /**\n * RenderPrefilledAreas method - To render active points in case of events.\n */\n public renderPrefilledAreas = (): void => {\n const { areaMap } = this.props;\n areaMap.areas.map(area => {\n this.drawCircle(this.scaleCoords(area.coords));\n return null;\n });\n };\n\n /**\n * ComputeCenter method - To re-calculate the center of active point based on window size.\n * @param area -IArea.\n * @returns -Returns number[].\n */\n public computeCenter = (area: IArea): number[] => {\n const scaledCoords = this.scaleCoords(area.coords);\n return [scaledCoords[0], scaledCoords[1]];\n };\n\n /**\n * HandleHoverOn method - To handle mouse hover on event.\n * @param area -IArea.\n */\n public handleHoverOn = (area: IArea): void => {\n if (area.center && this._canvas.current) {\n this.drawCircle(this.scaleCoords(area.coords));\n this.expandAnimation(area.center);\n }\n };\n\n /**\n * HandleHoverOff method - To handle mouse hover off event.\n * @param area -IArea.\n */\n public handleHoverOff = (area: IArea): void => {\n if (this._canvas.current) {\n const context = this._canvas.current.getContext('2d') ?? this._context;\n const canvasPositionX: number = CanvasCalculations.defaultPositionX;\n const canvasPositionY: number = CanvasCalculations.defaultPositionY;\n\n if (!context) {\n return;\n }\n context.clearRect(canvasPositionX, canvasPositionY, this._canvas.current.width, this._canvas.current.height);\n this.renderPrefilledAreas();\n if (area.center) {\n this.collapseAnimation(area.center);\n }\n }\n };\n\n /**\n * Click method - Mouse click event.\n * @param area -IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public click = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onClick } = this.props;\n if (onClick) {\n event.preventDefault();\n onClick(area, index, event);\n }\n };\n\n /**\n * HoverOn method - Mouse hover on event.\n * @param area -IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public hoverOn = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onMouseEnter } = this.props;\n this.handleHoverOn(area);\n if (onMouseEnter) {\n onMouseEnter(area, index, event);\n }\n };\n\n /**\n * HoverOff method - Mouse hover off event.\n * @param area - IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public hoverOff = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onMouseLeave } = this.props;\n\n this.handleHoverOff(area);\n\n if (onMouseLeave) {\n onMouseLeave(area, index, event);\n }\n };\n\n /**\n * RenderAreas method - Renders active points at given coordinates.\n * @returns -Returns JSX.Element[].\n */\n public renderAreas = (): JSX.Element[] => {\n const { areaMap, viewPort } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText ? this.props.imageMapperResources.buttonText : '';\n const altText = this.props.imageMapperResources?.altText ? this.props.imageMapperResources.altText : '';\n const doubleMultiplier: number = CanvasCalculations.doubleMultiplier;\n\n return areaMap.areas.map((area, index) => {\n const scaledCoords = this.scaleCoords(area.coords);\n const xsRadius = area.coords[2] * doubleMultiplier;\n if (viewPort === 'xs') {\n scaledCoords[2] = xsRadius;\n }\n const center = this.computeCenter(area);\n const extendedArea = { ...area, scaledCoords, center };\n const areaKey = `area-${index}`;\n const altTextWithProductName = altText\n .replace('{buttonText}', buttonText ? buttonText : '')\n .replace('{productName}', area.productSearchResult?.Name ? area.productSearchResult.Name : '');\n return (\n \n );\n });\n };\n\n /**\n * InitCanvas method - To render the canvas.\n */\n public initCanvas = (): void => {\n if (!this._canvas.current || !this._backgroundImage.current || !this._container.current) {\n return;\n }\n\n const { color, onLoad } = this.props;\n const defaultWidth: number = CanvasCalculations.defaultWidth;\n const defaultHeight: number = CanvasCalculations.defaultHeight;\n\n const canvasWidth = this.getActiveImageWidth() ?? defaultWidth;\n const canvasHeight = this.getActiveImageHeight() ?? defaultHeight;\n\n this._canvas.current.width = canvasWidth;\n this._canvas.current.height = canvasHeight;\n this._container.current.style.width = `${canvasWidth}px`;\n\n const context = this._canvas.current.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.fillStyle = color ?? '';\n\n if (onLoad) {\n onLoad();\n }\n\n this.renderPrefilledAreas();\n };\n\n /**\n * Render method - To render the image mapper component with active image, canvas and active points.\n * @returns -Returns JSX.Element | null.\n */\n public render(): JSX.Element | null {\n const { imageData, areaMap, requestContext } = this.props;\n\n return (\n
    \n \n \n \n {this.renderAreas()}\n \n
    \n );\n }\n}\n\nexport default ImageMapper;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, getProductPageUrlSync } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n isMobile,\n ITelemetryContent,\n VariantType\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport {\n activeImageAdditionalContent,\n ActiveProductComponent,\n IActiveImageAdditionalContentViewProps,\n IArea,\n IAreaMap,\n IImageMapperProps,\n ImageMapper\n} from '../active-image-utilities';\nimport { IActiveImageData } from './active-image.data';\nimport { IActiveImageProps } from './active-image.props.autogenerated';\n\n/**\n * @type AreaEvent for active points\n */\ntype AreaEvent = Event | React.MouseEvent | React.FocusEvent;\n\n/**\n * @interface IActiveImageViewProps\n * @classdesc - The IActiveImageViewProps interface contract.\n */\nexport interface IActiveImageViewProps extends IActiveImageProps<{}>, IImageMapperProps {\n activePointContainer: IModuleProps;\n activePointDetailsContainer: INodeProps;\n imageMapper: React.ReactNode;\n overlay: React.ReactNode;\n productCard: React.ReactNode;\n title?: React.ReactNode;\n text?: React.ReactNode;\n links?: React.ReactNode;\n detailsContainer?: INodeProps;\n detailsContainerCta?: INodeProps;\n additionalContent?: IActiveImageAdditionalContentViewProps;\n productCardleftPosition: number;\n productCardtopPosition: number;\n handleAdditionalText?(event: MsDyn365.ContentEditableEvent): void;\n handleAdditionalParagraph?(event: MsDyn365.ContentEditableEvent): void;\n handleAdditionalLinkText?(event: MsDyn365.ContentEditableEvent): void;\n}\n\n/**\n * @interface IActiveImageLinksData\n * @classdesc - The IActiveImageLinksData interface contract.\n */\nexport interface IActiveImageLinksData {\n linkText?: string;\n linkUrl: MsDyn365.ILinkData;\n ariaLabel?: string;\n willOpenInNewTab?: boolean;\n}\n\n/**\n * @interface IActiveImageState\n * @classdesc - The IActiveImageState interface contract.\n */\ninterface IActiveImageState {\n clientWidth: number;\n area: IArea | null;\n viewport: string;\n overlayClass: string;\n}\n\n/**\n * @enum ActiveImageConstants\n * @description - The active image constants enum.\n */\nexport enum ActiveImageConstants {\n timeoutInterval = 200,\n enterKey = 'Enter',\n escKey = 'Escape'\n}\n\n/**\n *\n * ActiveImage class.\n * @extends {React.PureComponent & IImageMapperProps, IActiveImageState>}\n */\nexport class ActiveImage extends React.PureComponent & IImageMapperProps, IActiveImageState> {\n private readonly _telemetryContent: ITelemetryContent;\n\n private _isDesktopViewPort: boolean;\n\n private readonly _defaultProductCardWidth: number = 315;\n\n private readonly _defaultProdutCardHight: number = 490;\n\n private readonly _activePoints: IArea[] = [];\n\n private readonly _activeImageRefs: React.RefObject;\n\n private readonly _activeImageClass: string;\n\n private readonly _productCardDivRef: React.RefObject;\n\n public constructor(props: IActiveImageProps & IImageMapperProps) {\n super(props);\n this._telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n this._activeImageClass = `msc-active-image-${this.getActiveImageId()}`;\n this.state = {\n clientWidth: 0,\n area: null,\n viewport,\n overlayClass: ''\n };\n this._isDesktopViewPort = viewport === 'lg' || viewport === 'xl';\n this._activeImageRefs = React.createRef();\n this._productCardDivRef = React.createRef();\n }\n\n public componentDidMount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this.updateClientWidth);\n document.addEventListener('keydown', this.keyDown, false);\n document.addEventListener('mousedown', this._handleOutsideClick);\n }\n setTimeout(() => {\n this.updateClientWidth();\n }, ActiveImageConstants.timeoutInterval);\n\n if (MsDyn365.msdyn365Commerce.isBrowser && this._activeImageRefs.current) {\n const images: HTMLCollectionOf = this._activeImageRefs.current.getElementsByClassName(\n 'msc-thumbnail_image msc-active-image-img'\n );\n if (ArrayExtensions.hasElements(Array.from(images))) {\n images[0].removeAttribute('usemap');\n }\n }\n }\n\n /**\n * AddActivePoints method - To handle add Active Points.\n * @param area - IArea.\n * @param product - ProductSearchResult.\n * @param coords - Coords.\n * @param productUrl - String.\n */\n public addActivePoints = (area: IArea | undefined, product: ProductSearchResult, coords: number[], productUrl: string): void => {\n if (!area) {\n this._activePoints.push({\n areaId: product.RecordId.toString(),\n coords,\n primaryImageUrl: product.PrimaryImageUrl ?? '',\n productUrl,\n productSearchResult: product\n });\n }\n };\n\n /**\n * ComponentWillUnmount method.\n */\n public componentWillUnmount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this.updateClientWidth);\n document.removeEventListener('keydown', (this.keyDown as unknown) as EventListener, false);\n document.removeEventListener('mousedown', this._handleOutsideClick, false);\n }\n }\n\n /**\n * UpdateClientWidth method to update client width in state.\n */\n public updateClientWidth = (): void => {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n this.setState({ clientWidth: this.getActiveImageWidth(), viewport });\n this._isDesktopViewPort = viewport === 'lg' || viewport === 'xl';\n };\n\n /**\n * Render method.\n * @returns - Returns JSX.Element | null.\n */\n public render(): JSX.Element | null {\n const viewProps: IActiveImageViewProps = {\n ...(this.props as IImageMapperProps & IActiveImageProps<{}>),\n activePointContainer: {\n moduleProps: this.props,\n className: classnames('msc-active-image', this._activeImageClass, this.props.config.className)\n },\n activePointDetailsContainer: {\n tag: 'div',\n className: classnames('msc-active-image-wrapper', this._activeImageClass, this.props.config.className),\n ref: this._activeImageRefs\n },\n imgWidth: this.props.config.canvasWidth,\n imageMapper: this.renderImageMapper(),\n overlay: this.renderOverlay(),\n productCard: this.renderProductCard(),\n productCardleftPosition: this.getProductCardPositionX(),\n productCardtopPosition: this.getProductCardPositionY(),\n title: this.renderActiveImageDetailsHeading(),\n text: this.renderActiveImageDetailsParagraph(),\n links: this.renderActiveImageDetailsLinks(),\n detailsContainer: { className: 'msc-active-image__details' },\n detailsContainerCta: { className: 'msc-active-image__details__cta' },\n additionalContent: activeImageAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkText: this.handleAdditionalTextChange\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * RenderImageMapper method - To render image mapper.\n * @returns - Returns React.ReactNode | null.\n */\n public renderImageMapper = (): React.ReactNode | null => {\n const { config, context } = this.props;\n const defaultPosition: number = 0;\n const defaultLength: number = 0;\n const productResults = this.props.data.products.result;\n if (config.activePoints && productResults) {\n for (const product of productResults) {\n for (const configProduct of config.activePoints) {\n if (product.ItemId === configProduct.itemId) {\n const productUrl = getProductPageUrlSync(product.Name ?? '', product.RecordId, context.actionContext, undefined);\n const coords = [\n configProduct.xPosition ?? defaultPosition,\n configProduct.yPosition ?? defaultPosition,\n configProduct.radius ?? defaultPosition\n ];\n const area = this._activePoints.find(activePoint => JSON.stringify(activePoint.coords) === JSON.stringify(coords));\n this.addActivePoints(area, product, coords, productUrl);\n }\n }\n }\n }\n const mappedArea: IAreaMap = {\n name: `map-${this._activeImageClass}`,\n areas: this._activePoints.length > defaultLength ? this._activePoints : []\n };\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n return (\n \n );\n };\n\n /**\n * EnterArea method - To handle mouse enter event.\n * @param area - Active point area.\n * @param index - Active point index.\n * @param event - Active point AreaEvent.\n */\n public enterArea = (area: IArea, index: number, event: AreaEvent): void => {\n this.setState({ area, overlayClass: 'msc-active-image-overlay' });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(area, index, event);\n }\n if (event.type.toLocaleLowerCase() === 'click' && this._isDesktopViewPort) {\n window.open(area.productUrl, '_self');\n }\n };\n\n /**\n * LeaveArea method - To handle mouse leave event.\n */\n public leaveArea = (): void => {\n if (this._isDesktopViewPort) {\n this.resetState();\n }\n };\n\n /**\n * ResetState method - To reset the state for area and overlayclass.\n */\n public resetState = (): void => {\n this.setState({ area: null, overlayClass: '' });\n };\n\n /**\n * RenderProductComponent method - To render the product card with product information.\n * @returns - Returns React.ReactNode.\n */\n public renderProductComponent = (): React.ReactNode => {\n if (this.state.area?.productSearchResult) {\n const baseImageUrl: string = this.props.context.request.apiSettings.baseImageUrl;\n const imageUrl: string = this.state.area.primaryImageUrl ?? '';\n const primaryImageUrl: string = `${baseImageUrl}${imageUrl}`;\n const product: ProductSearchResult = this.state.area.productSearchResult;\n product.PrimaryImageUrl = primaryImageUrl;\n\n return (\n \n );\n }\n return React.Fragment;\n };\n\n /**\n * RenderProductCard method - To render product cards.\n * @returns - Returns React.ReactNode.\n */\n public renderProductCard = (): React.ReactNode => {\n const { area } = this.state;\n\n return (\n <>\n {area?.center && (\n
    \n
    \n {!this._isDesktopViewPort &&
    \n
    \n )}\n \n );\n };\n\n /**\n * RenderOverlay method - To render overlay for non desktop viewports.\n * @returns - Returns React.ReactNode.\n */\n public renderOverlay = (): React.ReactNode => {\n return <>{!this._isDesktopViewPort &&
    };\n };\n\n /**\n * GetProductCardPositionX method - Provides product card x position to the left or right of active point based on available space.\n * For xs, sm and md viewports it provides x position for the center alignment.\n * @returns - Returns number.\n */\n public getProductCardPositionX = (): number => {\n const defaultImageSettings = this.getDefaultImageSettings();\n const productImageSettingsWidth = this.props.config.productImageSettings?.viewports\n ? this.props.config.productImageSettings.viewports.lg?.w\n : defaultImageSettings.viewports.lg?.w;\n const defaultPositionX: number = 0;\n const halfDivisor: number = 2;\n const productCardWidth: number = productImageSettingsWidth ? productImageSettingsWidth : this._defaultProductCardWidth;\n const { area, clientWidth, viewport } = this.state;\n const pointPositionX = area?.center?.[0] ?? clientWidth / halfDivisor;\n const leftAllignPosition = pointPositionX - productCardWidth - productCardWidth / halfDivisor;\n const rightAllignPosition = pointPositionX + productCardWidth / halfDivisor;\n let position: number = (clientWidth - productCardWidth) / halfDivisor;\n if (viewport !== 'xs' && viewport !== 'sm' && viewport !== 'md') {\n if (leftAllignPosition < defaultPositionX) {\n position = rightAllignPosition;\n } else {\n position = leftAllignPosition;\n }\n }\n return position;\n };\n\n /**\n * GetProductCardPositionY method - Provides product card y position in center with respect to active point.\n * For xs, sm and md viewports it provides y position for the center alignment.\n * @returns - Returns number.\n */\n public getProductCardPositionY = (): number => {\n const defaultImageSettings = this.getDefaultImageSettings();\n const productImageSettingsHeight = this.props.config.productImageSettings?.viewports\n ? this.props.config.productImageSettings.viewports.lg?.h\n : defaultImageSettings.viewports.lg?.h;\n const halfDivisor: number = 2;\n const { area, viewport } = this.state;\n const produtCardHight: number = productImageSettingsHeight ? productImageSettingsHeight : this._defaultProdutCardHight;\n const pointPositionY = (this.getActiveImageHeight() - produtCardHight) / halfDivisor;\n let position: number = pointPositionY;\n if (viewport !== 'xs' && viewport !== 'sm' && viewport !== 'md') {\n position = (area?.center?.[1] ?? this.getActiveImageHeight() / halfDivisor) - produtCardHight / halfDivisor;\n }\n return position;\n };\n\n /**\n * GetDefaultImageSettings method.\n * @returns MsDyn365.IImageSettings.\n */\n public getDefaultImageSettings = (): MsDyn365.IImageSettings => {\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=275&h=275&m=6', w: 275, h: 275 },\n lg: { q: 'w=275&h=275&m=6', w: 275, h: 275 },\n xl: { q: 'w=275&h=275&m=6', w: 275, h: 275 }\n },\n lazyload: true\n };\n\n return defaultImageSettings;\n };\n\n /**\n * KeyDown method - To handle keydown event.\n * @param event - KeyboardEvent.\n */\n public keyDown = (event: KeyboardEvent): void => {\n if (event.key === ActiveImageConstants.enterKey) {\n const target: HTMLElement = event.target as HTMLElement;\n if (target.nodeName === 'AREA') {\n const area: HTMLAreaElement = target as HTMLAreaElement;\n if (area.href) {\n window.open(area.href, '_self');\n }\n }\n }\n if (event.key === ActiveImageConstants.escKey) {\n this.resetState();\n }\n };\n\n /**\n * GetActiveImageWidth method - To get active image width.\n * @returns Returns number.\n */\n public getActiveImageWidth = (): number => {\n const defaultWidth: number = 0;\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const activeImageReferenceValue = this._activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientWidth;\n }\n }\n return defaultWidth;\n };\n\n /**\n * GetActiveImageHeight method - To get active image height.\n * @returns Returns number.\n */\n public getActiveImageHeight = (): number => {\n const defaultHeight: number = 0;\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const activeImageReferenceValue = this._activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientHeight;\n }\n }\n return defaultHeight;\n };\n\n /**\n * HandleLinkTextChange method - To handle link text change event.\n * @param linkIndex - The link index.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n /**\n * HandleTextChange method - To handle text change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * HandleParagraphChange method - To handle paragraph change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * HandleAdditionalTextChange method - To handle additional text change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent.heading = event.target.value;\n }\n }\n\n /**\n * HandleAdditionalLinkTextChange method - To handle additional link text change event.\n * @param linkIndex - The link index.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\n const additionalContent = this.props.config.additionalContent ?? {};\n if (additionalContent.links) {\n additionalContent.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n /**\n * HandleAdditionalParagraphChange method - To handle additional paragraph change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent.subtext = event.target.value;\n }\n }\n\n /**\n * RenderActiveImageDetailsLinks method - To render active image details links.\n * @returns - React node.\n */\n public renderActiveImageDetailsLinks = (): React.ReactNode[] | undefined => {\n const { links } = this.props.config;\n const payLoad = getPayloadObject('click', this._telemetryContent, '');\n\n return links?.map((linkData: IActiveImageLinksData, index: number) => {\n payLoad.contentAction.etext = linkData.linkText;\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const linkId = index;\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: linkData.ariaLabel,\n className: 'msc-active-image__details__cta__link',\n linkText: linkData.linkText,\n linkUrl: linkData.linkUrl.destinationUrl,\n openInNewTab: linkData.willOpenInNewTab,\n role: 'button',\n additionalProperties: attributes\n };\n\n return (\n {\n this.handleLinkTextChange(index, event);\n },\n requestContext: this.props.context.request\n }}\n />\n );\n });\n };\n\n /**\n * RenderActiveImageDetailsHeading method - To render active image details heading.\n * @returns - React.ReactNode | undefined.\n */\n public renderActiveImageDetailsHeading = (): React.ReactNode | undefined => {\n const { heading } = this.props.config;\n\n return (\n heading && (\n \n )\n );\n };\n\n /**\n * RenderActiveImageDetailsParagraph method - To render active image details paragraph.\n * @returns - React.ReactNode | undefined.\n */\n public renderActiveImageDetailsParagraph = (): React.ReactNode | undefined => {\n const { paragraph } = this.props.config;\n\n return (\n paragraph && (\n \n )\n );\n };\n\n /**\n * GetActiveImageId - To get active image id from src.\n * @returns - String.\n */\n public getActiveImageId = (): string => {\n const { activeImage } = this.props.config;\n let activeImageId: string = '';\n if (activeImage?.src) {\n const activeImageSource = activeImage.src.split('/');\n const decrementOne: number = 1;\n const activeImageIdPart = activeImageSource[activeImageSource.length - decrementOne].split('?');\n activeImageId = activeImageIdPart[0] ?? '';\n }\n return activeImageId;\n };\n\n /**\n * Handle outside click method - To handle outside click of the active image product.\n * @param event - Mouse event.\n */\n private readonly _handleOutsideClick = (event: MouseEvent) => {\n if (this._productCardDivRef.current?.contains(event.target as Node)) {\n return;\n }\n this.resetState();\n };\n}\nexport default ActiveImage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActiveImageAdditionalContentViewProps } from '../active-image-utilities';\nimport { IActiveImageViewProps } from './active-image';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IActiveImageAdditionalContentViewProps) => {\n return (\n \n {additionalContent.heading}\n \n {additionalContent.text}\n {additionalContent.links}\n \n \n );\n};\n\n/**\n * Render View.\n * @param props - The view props.\n * @returns -The JSX Element.\n */\nexport const activeImageView: React.FC = props => {\n return (\n \n \n {props.imageMapper}\n \n {props.title}\n {props.text}\n {props.additionalContent && renderAdditionalContent(props.additionalContent)}\n \n {props.links}\n \n \n \n \n {props.overlay}\n {props.productCard}\n \n \n );\n};\n\nexport default activeImageView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductDimensionsWithAvailabilitiesFull } from '@msdyn365-commerce/commerce-entities';\nimport { ProductDimensionsMatrix } from '@msdyn365-commerce/components';\nimport { RichTextComponent } from '@msdyn365-commerce/core';\nimport { ICoreContext } from '@msdyn365-commerce/core-internal';\nimport { ArrayExtensions, IDimensionsApp } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Collapse, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBulkPurchaseData } from './bulk-purchase.data';\nimport { IBulkPurchaseProps } from './bulk-purchase.props.autogenerated';\n\n/**\n * Additional optional props for the bulk purchase.\n */\nexport interface IBulkPurchaseExtendedProps extends IBulkPurchaseProps {\n productDimensions?: IProductDimensionsWithAvailabilitiesFull[];\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseViewProps extends IBulkPurchaseProps {\n container: IModuleProps;\n content: React.ReactElement;\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseState {\n isExpanded: boolean;\n}\n\n/**\n * Bulk-purchase module.\n */\nexport class BulkPurchase extends React.PureComponent {\n public static readonly className = 'ms-bulk-purchase';\n\n public constructor(props: IBulkPurchaseExtendedProps) {\n super(props);\n\n this.state = {\n isExpanded: false\n };\n }\n\n public render(): React.ReactElement | null {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const hasDimensionsInData = ArrayExtensions.hasElements(this.props.data.productDimensions?.result);\n if (!hasDimensionsInProps && !hasDimensionsInData) {\n return null;\n }\n\n const viewProps: IBulkPurchaseViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className: classnames(BulkPurchase.className, this.props.config.className)\n },\n content: this._renderCollapseContent(`${BulkPurchase.className}__content`)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _renderCollapseContent(className: string): React.ReactElement {\n return (\n
    \n {this._renderCollapseButton(`${className}__collapse-button`)}\n {this._renderCollapse(`${className}__collapse`)}\n
    \n );\n }\n\n private _renderCollapseButton(className: string): React.ReactElement {\n return (\n \n {this.props.resources.bulkPurchaseHeaderTitle}\n \n );\n }\n\n private _renderCollapse(className: string): React.ReactElement {\n return (\n \n {this._renderMainContent(`${className}__main-content`)}\n \n );\n }\n\n private _renderMainContent(className: string): React.ReactElement {\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\n\n return (\n
    \n {!isMobileDevice && (\n
    \n \n
    \n )}\n {this._renderMatrix(`${className}__matrix-container`)}\n
    \n );\n }\n\n private _renderMatrix(className: string): React.ReactElement {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n\n return (\n }\n data={{\n dimensions: hasDimensionsInProps ? this.props.productDimensions! : this.props.data.productDimensions!.result!,\n orderTemplates: this.props.data.orderTemplates?.result,\n customerInformation: this.props.data.customerInformation?.result\n }}\n resources={this.props.resources}\n />\n );\n }\n\n /**\n * Callback which toggles collapse mode.\n */\n private readonly _toggleCollapse = () => {\n this.setState(state => ({\n isExpanded: !state.isExpanded\n }));\n };\n}\n\nexport default BulkPurchase;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBulkPurchaseViewProps } from './bulk-purchase';\n\n/**\n * Bulk purchase view.\n * @param props - Bulk purchase view props.\n * @returns React node with a module.\n */\nexport const BulkPurchaseViewComponent: React.FC = props => {\n return {props.content};\n};\n\nexport default BulkPurchaseViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ICarouselData } from './carousel.data';\nimport { ICarouselProps } from './carousel.props.autogenerated';\nimport { ICarouselState } from './carousel.state';\n\nexport interface ICarouselViewProps extends ICarouselProps<{}>, ICarouselState {\n closeAnimation: string;\n carouselContainer: IModuleProps;\n telemetryContent: ITelemetryContent;\n next(): void;\n previous(): void;\n onIndicatorsClickHandler(): void;\n handleDismissCarousel(): void;\n handleOnExited(): void;\n handleOnExiting(): void;\n}\n\n/**\n *\n * CarouselModule component.\n * @extends {React.PureComponent>}\n */\nclass CarouselModule extends React.PureComponent, ICarouselState> {\n private animating: boolean;\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: ICarouselProps, state: ICarouselState) {\n super(props);\n this.state = { activeIndex: 0, closeNow: false, dismissCarousel: false };\n this.animating = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\n if (this.props.context.request.cookies.get(`CarouselDismiss_${this.props.id}`) === undefined) {\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'false');\n this.setState({ dismissCarousel: false });\n }\n }\n }\n\n public render(): JSX.Element | null {\n if (this.state.dismissCarousel) {\n return null;\n }\n\n const { className } = this.props.config;\n\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n ...this.state,\n telemetryContent: this.telemetryContent,\n carouselContainer: {\n moduleProps: this.props,\n className: classnames('ms-carousel', className)\n },\n closeAnimation: this.state.closeNow ? 'close-now' : '',\n next: this._next,\n previous: this._previous,\n onIndicatorsClickHandler: this._goToIndex,\n handleDismissCarousel: this._handleDismissCarousel,\n handleOnExited: this._onExited,\n handleOnExiting: this._onExiting\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Function implementation to dismiss the Carousel.\n */\n private readonly _handleDismissCarousel = (): void => {\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'true');\n this.setState({ dismissCarousel: true });\n }\n };\n\n /**\n * Function implementation to move to next slide.\n */\n private readonly _next = (): void => {\n const { slots } = this.props;\n const nextIndex = this.state.activeIndex === (slots && slots.content && slots.content.length - 1) ? 0 : this.state.activeIndex + 1;\n\n if (this.animating) {\n this.setState({ closeNow: true, activeIndex: nextIndex });\n } else {\n this.setState({ activeIndex: nextIndex });\n }\n };\n\n /**\n * Function implementation to move to previous slide.\n */\n private readonly _previous = (): void => {\n const slots = this.props.slots && this.props.slots.content;\n const nextIndex = this.state.activeIndex === 0 ? (slots ? slots.length - 1 : 0) : this.state.activeIndex - 1;\n\n if (this.animating) {\n this.setState({ closeNow: true, activeIndex: nextIndex });\n } else {\n this.setState({ activeIndex: nextIndex });\n }\n };\n\n private readonly _onExiting = (): void => {\n this.animating = true;\n };\n\n private readonly _onExited = (): void => {\n this.animating = false;\n this.setState({ closeNow: false });\n };\n\n /**\n * Function implementation to move to a given slide.\n * @param newIndex\n */\n private readonly _goToIndex = (newIndex: number): void => {\n if (this.animating) {\n return;\n }\n this.setState({ activeIndex: newIndex });\n };\n}\n\nexport default CarouselModule;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Carousel } from '@msdyn365-commerce/components';\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ICarouselViewProps } from './carousel';\n\n/**\n * Returns item slots.\n * @returns Array of item slots.\n * @param props -Props.\n */\nconst retrieveItems = (props: ICarouselViewProps): React.ReactNode[] => {\n let items = [];\n items = props.slots && props.slots.content && props.slots.content.length > 0 ? props.slots.content : [];\n return items;\n};\nconst CarouselView: React.FC = props => (\n \n \n \n);\n\nexport default CarouselView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport { ICartState } from '@msdyn365-commerce/global-state';\nimport { Coupon } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n IPayLoad,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPromoCodeProps extends IComponentProps<{}> {\n cart: ICartState | undefined;\n promoCodeHeadingText: string;\n appliedPromoCodeHeadingText: string;\n removePromoAriaLabelFormat: string;\n promoPlaceholderText: string;\n promoCodeApplyButtonText: string;\n collapseTimeOut: number;\n removePromoText: string;\n invalidPromoCodeErrorText: string;\n failedToAddPromoCodeErrorText: string;\n duplicatePromoCodeErrorText: string;\n failedToRemovePromoCodeErrorText: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n promoCodeApplyCallback?(): void;\n}\n\ninterface IPromoCodeState {\n isCollapseOpen: boolean;\n promoCodeInputValue: string;\n error: string;\n canApply: boolean;\n}\n\n/**\n *\n * The PromoCode component renders the promocode section.\n * @extends {React.PureComponent}\n */\nclass PromoCode extends React.Component {\n private readonly payLoad: IPayLoad;\n\n constructor(props: IPromoCodeProps, state: IPromoCodeState) {\n super(props);\n this.payLoad = getPayloadObject('click', this.props.telemetryContent!, TelemetryConstant.ApplyPromoCode);\n this.state = {\n isCollapseOpen: false,\n promoCodeInputValue: '',\n error: '',\n canApply: false\n };\n }\n\n public shouldComponentUpdate(nextProps: IPromoCodeProps, nextState: IPromoCodeState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n return (\n
    \n
    {this.props.promoCodeHeadingText}
    \n {this._renderForm(this.props.promoPlaceholderText, this.props.promoCodeApplyButtonText, this.props.cart)}\n

    \n {this.state.error}\n

    \n {this._renderAppliedPromoCode(this.props)}\n
    \n );\n }\n\n private readonly _onInputChangeHandler = (e: React.ChangeEvent) => {\n const error = e.target.value === '' ? '' : this.state.error;\n this.setState({\n promoCodeInputValue: e.target.value.trim(),\n error,\n canApply: !!e.target.value\n });\n };\n\n private readonly _applyPromotion = (cartState: ICartState | undefined) => {\n if (!cartState || !cartState.cart) {\n return;\n }\n const appliedPromo = this.state.promoCodeInputValue;\n\n cartState\n .addPromoCode({ promoCode: appliedPromo })\n .then(result => {\n if (result.status === 'SUCCESS') {\n // Show success text\n this.setState({ promoCodeInputValue: '', error: '', canApply: false });\n } else if (result.substatus === 'ALREADYADDED') {\n this.setState({ error: this.props.duplicatePromoCodeErrorText });\n } else {\n this.setState({ error: this.props.invalidPromoCodeErrorText });\n }\n })\n .catch(error => {\n this.setState({ error: this.props.failedToAddPromoCodeErrorText });\n });\n };\n\n /**\n * On Submit function.\n * @param cartState -Cartstate.\n * @returns Apply promotion.\n */\n private readonly _onSubmitHandler = (cartState: ICartState | undefined) => (event: React.FormEvent) => {\n event.preventDefault();\n this._applyPromotionHandler(cartState);\n };\n\n /**\n * On apply promotion function.\n * @param cartState -Cartstate.\n * @returns Apply promotion.\n */\n private readonly _applyPromotionHandler = (cartState: ICartState | undefined) => () => {\n this._applyPromotion(cartState);\n };\n\n private readonly _renderForm = (promoPlaceholderText: string, promoCodeApplyButtonText: string, cartState: ICartState | undefined) => {\n const attributes = getTelemetryAttributes(this.props.telemetryContent!, this.payLoad);\n\n return (\n
    \n
    \n \n \n {promoCodeApplyButtonText}\n \n
    \n
    \n );\n };\n\n private readonly _removePromotion = (cartState: ICartState | undefined, event: React.MouseEvent) => {\n if (!cartState) {\n return;\n }\n const code = event.currentTarget.getAttribute('data-value') || '';\n cartState\n .removePromoCodes({\n promoCodes: [code]\n })\n .then(result => {\n if (result.status === 'SUCCESS') {\n this.setState({ error: '' });\n }\n })\n .catch(() => {\n this.setState({ error: this.props.failedToRemovePromoCodeErrorText });\n });\n };\n\n private readonly _calculateDiscount = (code: string, cartState: ICartState | undefined) => {\n if (!cartState || !cartState.cart || !cartState.cart.CartLines || cartState.cart.CartLines.length === 0 || !code) {\n return;\n }\n let discountAmount = 0;\n for (const line of cartState.cart.CartLines) {\n if (line.DiscountLines) {\n for (const discountLine of line.DiscountLines) {\n if (discountLine.DiscountCode === code) {\n discountAmount += discountLine.DiscountCost!;\n }\n }\n }\n }\n return discountAmount * -1;\n };\n\n private readonly _renderAppliedPromoCode = (props: IPromoCodeProps) => {\n if (!props.cart || !props.cart.cart || !props.cart.cart.Coupons || props.cart.cart.Coupons.length === 0) {\n return;\n }\n\n const removePromotionHandler = (event: React.MouseEvent) => {\n this._removePromotion(props.cart, event);\n };\n\n const promoCodTotalDiscount = props.cart.cart.Coupons.reduce((count: number, coupon: Coupon) => {\n return count + (this._calculateDiscount(coupon.Code || '', props.cart) || 0);\n }, 0);\n\n return (\n <>\n
    \n
    {this.props.appliedPromoCodeHeadingText}
    \n \n
    \n {props.cart.cart.Coupons.map((coupon: Coupon) => {\n const ariaLabel = props.removePromoAriaLabelFormat\n ? format(props.removePromoAriaLabelFormat, props.removePromoText, coupon.Code)\n : '';\n\n return (\n
    \n
    \n {coupon.Code}{' '}\n \n
    \n \n {props.removePromoText}\n \n
    \n );\n })}\n \n );\n };\n}\n\nexport default PromoCode;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { buildHydratedMockActionContext, buildMockRequest, ICoreContext, IRequestContext } from '@msdyn365-commerce/core';\nimport { ICartState } from '@msdyn365-commerce/global-state';\nimport { AsyncResult, Customer } from '@msdyn365-commerce/retail-proxy';\nimport { IStoreSelectorStateManager } from '@msdyn365-commerce-modules/bopis-utilities';\n\nimport { IHeaderData } from '../header.data';\nimport { IHeaderConfig, IHeaderResources } from '../header.props.autogenerated';\n\nconst mockRequest: IRequestContext = buildMockRequest();\nmockRequest.gridSettings = {\n xs: { w: 767, h: 0 },\n sm: { w: 991, h: 0 },\n md: { w: 1199, h: 0 },\n lg: { w: 1599, h: 0 },\n xl: { w: 1600, h: 0 }\n};\nmockRequest.user.isAuthenticated = true;\nmockRequest.user.signInUrl = '/signin';\nmockRequest.user.signOutUrl = '/signout';\nmockRequest.user.signUpUrl = '/signup';\n\nconst mockAnonRequest = buildMockRequest();\nmockAnonRequest.user.isAuthenticated = false;\nmockAnonRequest.user.signInUrl = '/signin';\nmockAnonRequest.user.signOutUrl = '/signout';\nmockAnonRequest.user.signUpUrl = '/signup';\n\nconst mockSigninErrorRequest = buildMockRequest();\nmockSigninErrorRequest.user.isAuthenticated = false;\nmockSigninErrorRequest.user.retailServerErrorCode = 'Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound_WhenAutoLinking';\nmockSigninErrorRequest.user.signInUrl = '/signin';\nmockSigninErrorRequest.user.signOutUrl = '/signout';\nmockSigninErrorRequest.user.signUpUrl = '/signup';\n\nconst mockActionContext = buildHydratedMockActionContext();\n\n/**\n * Method to mock auth context.\n */\n// @ts-expect-error\nexport const mockAuthContext: ICoreContext = {\n actionContext: mockActionContext,\n request: mockRequest,\n app: {\n config: {\n disableTooltip: true\n },\n routes: {\n wishlist: '/wishlist'\n }\n }\n};\n\n// @ts-expect-error\nexport const mockAnonContext: ICoreContext = {\n actionContext: mockActionContext,\n request: mockAnonRequest,\n app: {\n config: {\n disableTooltip: true\n },\n routes: {\n wishlist: '/wishlist'\n }\n }\n};\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- Due to partial mock.\n// @ts-expect-error\nexport const mockSigninContext: ICoreContext = {\n actionContext: mockActionContext,\n request: mockSigninErrorRequest,\n app: {\n config: {\n disableTooltip: true\n },\n routes: {\n wishlist: '/wishlist'\n }\n }\n};\n\nexport const mockHeaderConfig: IHeaderConfig = {\n logoLink: {\n linkUrl: {\n destinationUrl: 'https://ppe.fabrikam.com/fe'\n },\n ariaLabel: 'fabrikam'\n },\n logoImage: {\n src: 'https://img-prod-cms-mr-microsoft-com.akamaized.net/cms/api/fabrikam/imageFileData/MA1G3L'\n }\n};\n\nexport const mockResources: IHeaderResources = {\n mobileHamburgerAriaLabel: 'Mobile view hamburger aria label',\n wishlistTooltipText: 'My wishlist',\n cartLabel: 'Shopping bag, ({0}) items',\n cartQtyLabel: '({0})',\n signInLinkText: 'Sign In',\n signInLinkAriaText: 'Sign In',\n signOutLinkText: 'Sign Out',\n signOutLinkAriaText: 'Sign Out',\n shoppingAsText: 'Shopping as {0}',\n switchCustomerLinkText: 'Switch customer',\n switchCustomerLinkAriaText: 'Switch customer',\n headerPreferredStoreText: 'Select store',\n headerPreferredStoreAriaLabel: 'select preferred store',\n signUpCustomerNotFoundTitle: 'Error message if cutsomer not found',\n signUpMultipleCustomerFoundTitle: 'Multiple customer found error msg',\n closeNotificationLabel: 'Close',\n wishlistCountLabel: '({0})',\n headerAriaLabel: 'Header'\n};\n\nexport const getMockData = (totalItemsInCart: number = 0, accountNumber: string = '2', firstName: string = ''): IHeaderData => {\n return {\n cart: >{\n status: 'SUCCESS',\n result: {\n totalItemsInCart\n }\n },\n accountInformation: >{\n status: 'SUCCESS',\n result: {\n AccountNumber: accountNumber,\n FirstName: firstName\n }\n },\n storeSelectorStateManager: >{\n status: 'SUCCESS',\n result: {}\n }\n };\n};\n\nexport const getMockErrorData = (): IHeaderData => {\n return {\n cart: >{\n status: 'FAILED',\n result: undefined\n },\n accountInformation: >{\n status: 'FAILED',\n result: undefined\n },\n storeSelectorStateManager: >{\n status: 'FAILED',\n result: undefined\n }\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IHeaderData } from '../header.data';\nimport { IHeaderProps } from '../header.props.autogenerated';\n\n/**\n * The header preferred store component.\n */\n@observer\nexport class HeaderPreferredStore extends React.PureComponent> {\n private readonly modalCloseButtonRef: React.RefObject = React.createRef();\n\n /**\n * Handle click on the store selector.\n * @returns : Promise void.\n */\n public handleClick = () => {\n return this._findPreferredStoreOnClick(this.props);\n };\n\n public render(): JSX.Element | undefined {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n },\n slots,\n resources\n } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- slots can be undefined.\n if (ArrayExtensions.hasElements(slots?.storeSelector)) {\n const storeName =\n storeSelectorStateManager?.preferredStore && storeSelectorStateManager.preferredStore.StoreName\n ? storeSelectorStateManager.preferredStore.StoreName\n : resources.headerPreferredStoreText;\n\n return (\n
    \n \n {storeName}\n \n {slots.storeSelector}\n
    \n );\n }\n\n return undefined;\n }\n\n private async _findPreferredStoreOnClick(props: IHeaderProps): Promise {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n },\n modules\n } = props;\n if (!storeSelectorStateManager) {\n return;\n }\n let storeSelectorId: string = '';\n if (modules && Object.keys(modules).length > 0 && ArrayExtensions.hasElements(modules.storeSelector)) {\n storeSelectorId = modules.storeSelector[0].id;\n }\n await storeSelectorStateManager\n .openDialog({\n id: storeSelectorId,\n showMapViewLink: true,\n parentElementRef: this.modalCloseButtonRef,\n onLocationSelected: orgUnitLocation => {\n return Promise.resolve();\n }\n })\n .catch((error: Error) => {\n if (props.telemetry) {\n props.telemetry.error(error.message);\n props.telemetry.debug('Unable to set preferred store');\n }\n });\n }\n}\n\nexport default HeaderPreferredStore;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILogoProps {\n image: Msdyn365.IImageData;\n gridSettings?: Msdyn365.IGridSettings;\n link?: ILinkData;\n className?: string;\n telemetryContent?: ITelemetryContent;\n requestContext: Msdyn365.IRequestContext;\n typeName?: string;\n}\n\nexport interface ILinkData {\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n linkText?: string;\n}\n\n/**\n *\n * Logo component.\n * @extends {React.PureComponent}\n */\nexport class Logo extends React.PureComponent {\n private readonly attributes?: Msdyn365.IDictionary;\n\n constructor(props: ILogoProps) {\n super(props);\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.Logo);\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n }\n\n public render(): JSX.Element {\n return
    {this._renderLogo(this.props)}
    ;\n }\n\n private _renderLogo(config: ILogoProps): JSX.Element {\n if (config.link && config.link.linkUrl.destinationUrl) {\n return (\n \n {this._renderImage(config)}\n \n );\n }\n return this._renderImage(config);\n }\n\n private _renderImage(config: ILogoProps): JSX.Element {\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=132&h=28&m=6', w: 0, h: 0 },\n lg: { q: 'w=160&h=48&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n return (\n \n );\n }\n}\n\nexport default Logo;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IHeaderResources } from '../header.props.autogenerated';\n\nexport interface INavIconProps {\n resources: IHeaderResources;\n isExpanded: boolean;\n targetId: string;\n telemetryContent?: ITelemetryContent;\n toggleNavBar(): void;\n}\n\n/**\n *\n * NavIcon component.\n * @extends {React.PureComponent}\n */\n\n@observer\nexport class NavIcon extends React.PureComponent {\n private readonly attributes?: Msdyn365.IDictionary;\n\n constructor(props: INavIconProps) {\n super(props);\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.NavIcon);\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n }\n\n public render(): JSX.Element {\n return (\n \n );\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CartIconComponent, WishListIconComponent } from '@msdyn365-commerce/components';\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartState } from '@msdyn365-commerce/global-state';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { ErrorNotification, NotificationsManager } from '@msdyn365-commerce-modules/notifications-core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n KeyCodes,\n Modal,\n ModalBody,\n ModalHeader,\n onTelemetryClick,\n Popover,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { HeaderPreferredStore, Logo, NavIcon } from './components';\nimport { IHeaderData } from './header.data';\nimport { IHeaderProps, IHeaderResources, IMyAccountLinksData } from './header.props.autogenerated';\n\nexport interface IHeaderState {\n mobileMenuCollapsed: boolean;\n signinPopoverOpen: boolean;\n hasSigninerror?: boolean;\n}\n\nexport interface IHeaderViewProps extends IHeaderProps, IHeaderState {\n logo: React.ReactNode;\n wishListIconDesktop: React.ReactNode;\n wishListIconMobile: React.ReactNode;\n cartIcon: React.ReactNode;\n navIcon: React.ReactNode;\n className: string;\n menuBar: React.ReactNode[];\n search: React.ReactNode[];\n siteOptions: React.ReactNode[];\n HeaderTag: IModuleProps;\n HeaderContainer: INodeProps;\n MobileMenuContainer: INodeProps;\n MobileMenuHeader: React.ReactNode;\n MobileMenuBodyContainer: INodeProps;\n MobileMenuLinksContainer: INodeProps;\n HeaderTopBarContainer: INodeProps;\n Divider: INodeProps;\n\n AccountInfoDropdownParentContainer?: INodeProps;\n AccountInfoDropdownPopoverConentContainer?: INodeProps;\n accountInfoDropdownButton?: React.ReactNode;\n\n signOutLink?: React.ReactNode;\n signInLink?: React.ReactNode;\n switchCustomerLink?: React.ReactNode;\n isOBORequest?: boolean;\n accountLinks?: React.ReactNode[];\n preferredStore?: React.ReactNode;\n}\n\n/**\n *\n * Header component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass Header extends React.PureComponent, IHeaderState> {\n private readonly popOverRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent;\n\n private cart: ICartState | undefined;\n\n /**\n * The signed-in user name displayed in the header bar\n */\n @computed public get displayName(): Readonly {\n const user = this.props.context.request.user;\n return user?.isOBORequest ? this.workerName : this.customerName;\n }\n\n /**\n * OBO scenario. The name of worker who shops on behalf of customer.\n */\n @computed public get workerName(): Readonly {\n const user = this.props.context.request.user;\n return user?.firstName || user?.name;\n }\n\n @computed public get customerName(): Readonly {\n const user = this.props.context.request.user;\n const customer = this.props.data.accountInformation?.result;\n if (user?.isOBORequest) {\n // For OBO scenario, display full customer name because multiple customers may have the same first name.\n return customer ? customer.Name : undefined;\n } else {\n return customer ? customer.FirstName || customer.Name : undefined;\n }\n }\n\n public constructor(props: IHeaderProps) {\n super(props);\n this.popOverRef = React.createRef();\n this._toggleNavbar = this._toggleNavbar.bind(this);\n this._togglePopover = this._togglePopover.bind(this);\n this._keydown = this._keydown.bind(this);\n this.state = {\n mobileMenuCollapsed: true,\n signinPopoverOpen: false,\n hasSigninerror: false\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.addEventListener('keydown', this._keydown);\n }\n reaction(\n () => this.props.data.cart.result,\n () => {\n this.cart = this.props.data.cart.result;\n }\n );\n\n const {\n context: {\n request: { user }\n },\n resources: { signUpCustomerNotFoundTitle, signUpMultipleCustomerFoundTitle, closeNotificationLabel }\n } = this.props;\n\n const signinNotificationError = this._getSigninNotification(user, signUpMultipleCustomerFoundTitle, signUpCustomerNotFoundTitle);\n if (signinNotificationError !== undefined && this.state.hasSigninerror === false) {\n // For signup show simple error notification.\n NotificationsManager.instance().addNotification(new ErrorNotification(signinNotificationError, closeNotificationLabel));\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.removeEventListener('keydown', this._keydown, false);\n }\n }\n\n public render(): JSX.Element | null {\n const {\n id,\n typeName,\n data: { accountInformation, wishlists },\n context: {\n request: { user }\n },\n context,\n resources: { cartLabel, cartQtyLabel }\n } = this.props;\n const { logoLink, logoImage, shouldShowWishlistCount } = this.props.config;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -- app config is generic\n const disableTooltip = this.props.context.app.config.disableTooltip || false;\n const headerToggleClass = this.state.mobileMenuCollapsed ? '' : 'ms-header-open';\n const headerClassName = classnames('ms-header', this.props.config.className, headerToggleClass);\n const navbarKey = 'header-nav-mobile';\n const customer = accountInformation && accountInformation.result;\n const cartIconSlot = this._getSlot('cartIcon');\n const menuBarSlot = this._getSlot('menuBar');\n const searchSlot = this._getSlot('search');\n let wishlistCount = 0;\n const siteOptionsSlot = this._getSlot('siteOptions');\n const preferredStoreSlot = this._getSlot('storeSelector');\n if (wishlists !== undefined) {\n if (\n !wishlists.result ||\n !ArrayExtensions.hasElements(wishlists.result) ||\n !wishlists.result[0].CommerceListLines ||\n !ArrayExtensions.hasElements(wishlists.result[0].CommerceListLines)\n ) {\n wishlistCount = 0;\n } else {\n wishlistCount = wishlists.result[0].CommerceListLines.length;\n }\n }\n const viewProps: IHeaderViewProps = {\n ...(this.props as IHeaderProps),\n ...this.state,\n logo: (\n \n ),\n wishListIconDesktop: (\n \n ),\n wishListIconMobile: (\n \n ),\n cartIcon: ArrayExtensions.hasElements(cartIconSlot) ? (\n cartIconSlot[0]\n ) : (\n \n ),\n navIcon: (\n \n ),\n menuBar: ArrayExtensions.hasElements(menuBarSlot) ? menuBarSlot : [],\n search: ArrayExtensions.hasElements(searchSlot) ? searchSlot : [],\n siteOptions: ArrayExtensions.hasElements(siteOptionsSlot) ? siteOptionsSlot : [],\n className: headerClassName,\n HeaderTag: {\n moduleProps: this.props,\n className: classnames(headerClassName),\n 'aria-label': this.props.resources.headerAriaLabel,\n tag: 'header'\n },\n HeaderContainer: {\n className: classnames('ms-header__container')\n },\n HeaderTopBarContainer: {\n className: classnames('ms-header__topbar')\n },\n Divider: {\n className: classnames('ms-header__divider')\n },\n MobileMenuContainer: {\n tag: Modal,\n id: navbarKey,\n className: 'ms-header__mobile-hamburger',\n isOpen: !this.state.mobileMenuCollapsed,\n wrapClassName: 'ms-header__modal',\n toggle: this._toggleNavbar\n },\n MobileMenuHeader: ,\n MobileMenuBodyContainer: {\n tag: ModalBody,\n className: 'ms-header__mobile-hamburger-menu-body'\n },\n MobileMenuLinksContainer: {\n className: 'ms-header__mobile-hamburger-menu-links'\n },\n AccountInfoDropdownParentContainer: {\n className: 'ms-header__account-info'\n },\n AccountInfoDropdownPopoverConentContainer: this.displayName\n ? {\n tag: Popover,\n id: 'myprofilePopover',\n className: 'ms-header__account-info-content',\n placement: 'bottom',\n isOpen: this.state.signinPopoverOpen,\n target: this.popOverRef,\n toggle: this._togglePopover\n }\n : undefined,\n signInLink: this._getSigninButton(user, this.props.resources),\n signOutLink: this._getSignOutButton(user, this.props.resources),\n isOBORequest: user?.isOBORequest,\n switchCustomerLink: this._getSwitchCustomerButton(user, this.props.resources),\n accountInfoDropdownButton: this._getAccountInfoDropdownButton(user, this.props.resources),\n accountLinks: this._getAccountLinks(customer),\n preferredStore: ArrayExtensions.hasElements(preferredStoreSlot) && \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle link text change.\n * @param linkIndex - Link Index.\n * @returns : Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\n if (this.props.config.myAccountLinks?.[linkIndex]) {\n this.props.config.myAccountLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Get the slot.\n * @param slotName - Name of the slot.\n * @returns The slot.\n */\n private _getSlot(slotName: string): React.ReactNode[] | null {\n const { slots } = this.props;\n return (slots && slots[slotName] && slots[slotName].length && slots[slotName]) || null;\n }\n\n /**\n * Renders the sign in button.\n * @param user - Request context user.\n * @param resources - Resources.\n * @returns React Node.\n */\n private _getSigninButton(user: MsDyn365.IRequestContextUser | undefined, resources: IHeaderResources): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n return (\n !this.displayName && (\n \n \n {resources.signInLinkText}\n \n \n )\n );\n }\n\n /**\n * Renders the sign out button.\n * @param user - Request context user.\n * @param resources - Resources.\n * @returns React Node.\n */\n private _getSignOutButton(user: MsDyn365.IRequestContextUser | undefined, resources: IHeaderResources): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignOut);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n return (\n this.displayName && (\n \n \n {resources.signOutLinkText}\n \n \n )\n );\n }\n\n /**\n * Renders the sign out button.\n * @param user - Request context user.\n * @param resources - Resources.\n * @returns React Node.\n */\n private _getSwitchCustomerButton(\n user: MsDyn365.IRequestContextUser | undefined,\n resources: IHeaderResources\n ): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SwitchCustomer);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n const isOBOAccountSelected = user?.isOBORequest && this.props.context.request.cookies.getAccountSelectionCookie();\n return (\n this.displayName &&\n isOBOAccountSelected && (\n this.props.context.request.cookies.removeAccountSelectionCookie()}\n {...attributes}\n >\n
    \n
    {format(resources.shoppingAsText, this.customerName)}
    \n
    {resources.switchCustomerLinkText}
    \n
    \n \n )\n );\n }\n\n private getBusinessPartnerSelectionUrl(): string | undefined {\n const route = MsDyn365.getUrlSync('businessPartnerSelection', this.props.context.actionContext);\n if (!route || !MsDyn365.msdyn365Commerce.isBrowser) {\n return undefined;\n }\n\n // MsDyn365.getUrlSync persists some params in the route and remove other params.\n // Among the persisted params, we need to remove catalogid.\n const persistedParamToRemove = ['catalogid'];\n const url = new URL(route, window.location.href);\n persistedParamToRemove.forEach(param => url.searchParams.delete(param));\n return url.href;\n }\n\n private _getSigninNotification(\n user: MsDyn365.IRequestContextUser | undefined,\n signUpMultipleCustomerFoundTitle: string,\n signUpCustomerNotFoundTitle: string\n ): string | undefined {\n const { signUpCustomerNotFound, signUpMultipleCustomerFound } = this.props.config;\n const notFoundError = 'Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound_WhenAutoLinking';\n const multipleAccountError = 'Microsoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountsFoundWithSameEmailAddress';\n\n if (user?.retailServerErrorCode === notFoundError) {\n return signUpCustomerNotFound !== undefined ? signUpCustomerNotFound : signUpCustomerNotFoundTitle;\n } else if (user?.retailServerErrorCode === multipleAccountError) {\n return signUpMultipleCustomerFound !== undefined ? signUpMultipleCustomerFound : signUpMultipleCustomerFoundTitle;\n }\n return undefined;\n }\n\n private _getAccountInfoDropdownButton(\n user: MsDyn365.IRequestContextUser | undefined,\n resources: IHeaderResources\n ): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.MyProfile);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n return (\n this.displayName && (\n \n
    \n
    {this.displayName}
    \n {user?.isOBORequest && this.customerName &&
    {format(resources.shoppingAsText, this.customerName)}
    }\n
    \n \n )\n );\n }\n\n private _getAccountLinks(customer: Customer | undefined): React.ReactNode[] | undefined {\n const { myAccountLinks } = this.props.config;\n const payLoad = getPayloadObject('click', this.telemetryContent, '');\n if (!customer || !this.displayName || !myAccountLinks || !ArrayExtensions.hasElements(myAccountLinks)) {\n return undefined;\n }\n return myAccountLinks.map((cta: IMyAccountLinksData, index: number) => {\n payLoad.contentAction.etext = cta.linkText;\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: cta.ariaLabel,\n className: 'ms-signin-info__account-link-button',\n linkText: cta.linkText,\n linkUrl: cta.linkUrl.destinationUrl,\n openInNewTab: cta.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n\n return (\n \n );\n });\n }\n\n private _toggleNavbar(): void {\n this.setState({\n mobileMenuCollapsed: !this.state.mobileMenuCollapsed\n });\n }\n\n private _togglePopover(): void {\n this.setState({\n signinPopoverOpen: !this.state.signinPopoverOpen\n });\n }\n\n private _keydown(event: KeyboardEvent): void {\n if (event.keyCode === KeyCodes.Escape) {\n this.setState({ mobileMenuCollapsed: true });\n }\n }\n}\n\nexport default Header;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IHeaderViewProps } from './header';\n\nconst headerView: React.FC = props => {\n const {\n HeaderTag,\n HeaderContainer,\n HeaderTopBarContainer,\n MobileMenuContainer,\n MobileMenuBodyContainer,\n MobileMenuLinksContainer,\n Divider\n } = props;\n return (\n \n \n \n {props.navIcon}\n {props.logo}\n {_renderReactFragment(props.search)}\n {props.preferredStore}\n {_renderDesktopAccountBlock(props)}\n {props.wishListIconDesktop}\n \n {props.cartIcon}\n {_renderReactFragment(props.siteOptions)}\n \n \n \n {props.MobileMenuHeader}\n {_renderReactFragment(props.menuBar)}\n \n {props.accountLinks ? props.accountLinks.map(link => link) : false}\n {props.siteOptions}\n {props.wishListIconMobile}\n {props.signInLink}\n {props.signOutLink}\n \n \n \n {_renderReactFragment(props.menuBar)}\n \n \n );\n};\n\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\n const {\n AccountInfoDropdownParentContainer,\n AccountInfoDropdownPopoverConentContainer,\n accountInfoDropdownButton,\n signOutLink,\n signInLink,\n accountLinks\n } = props;\n\n if (AccountInfoDropdownParentContainer) {\n if (AccountInfoDropdownPopoverConentContainer) {\n return (\n \n {accountInfoDropdownButton}\n \n {accountLinks ? accountLinks.map(link => link) : false}\n {signOutLink}\n \n \n );\n } else if (signInLink) {\n return {signInLink};\n }\n }\n props.context.telemetry.error('Header content is empty, module wont render.');\n return null;\n}\n\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\n return (\n <>\n {items && items.length > 0\n ? items.map((slot: React.ReactNode, index: number) => {\n return {slot};\n })\n : null}\n \n );\n}\n\nexport default headerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AddOrderTemplateToCartComponent, ILinesAddedToCartDialogResources } from '@msdyn365-commerce/components';\nimport { getUrlSync, ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductList } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getFallbackImageUrl, getProductUrlSync, OrderTemplate, OrderTemplateLine } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateActionMessageState } from '../order-template-list';\n\nexport interface ISingleOrderTemplateProps extends ProductList {\n orderTemplateState: IOrderTemplateActionMessageState;\n name?: string;\n orderTemplate: OrderTemplate;\n context: ICoreContext;\n imageSettings?: IImageSettings;\n enableImageProductLink?: boolean;\n removeFromOrderTemplateListText: string;\n addToBagText: string;\n index: number;\n itemKey: string;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n handlers: {\n onRemoveOrderTemplate(id: string): void | undefined;\n onDismiss(): void;\n };\n resources: {\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n telemetryContent?: ITelemetryContent;\n}\n\nexport interface ISingleOrderTemplateViewProps {\n key: string;\n orderTemplateImage: React.ReactNode;\n addToCartButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n orderTemplateStatusMessage?: React.ReactNode;\n orderTemplateName?: React.ReactNode;\n orderTemplateAriaLabel?: string;\n orderTemplateHeaderDivider?: React.ReactNode;\n}\n\nconst _removeItemFromOrderTemplateList = (props: ISingleOrderTemplateProps): void => {\n const { onRemoveOrderTemplate } = props.handlers;\n const { itemKey } = props;\n\n onRemoveOrderTemplate && itemKey && onRemoveOrderTemplate(itemKey);\n};\n\nconst OrderTemplateActions = {\n removeOrderTemplate: _removeItemFromOrderTemplateList\n};\n\n/**\n * Remove order template action.\n * @param input -Single order template props.\n * @returns Set remove order template.\n */\nconst removeOrderTemplateActionHandler = (input: ISingleOrderTemplateProps) => () => {\n OrderTemplateActions.removeOrderTemplate(input);\n};\n\nexport const OrderTemplateRender = (input: ISingleOrderTemplateProps): ISingleOrderTemplateViewProps | null => {\n const {\n Id,\n orderTemplate,\n removeFromOrderTemplateListText,\n orderTemplateState,\n handlers,\n name,\n imageSettings,\n context,\n telemetryContent,\n enableImageProductLink\n } = input;\n\n if (!Id) {\n return null;\n }\n\n const _getOrderTemplatePageUrl = (): string => {\n const url = getUrlSync('ordertemplate', context.actionContext) ?? '';\n const separator = url.includes('?') ? '&' : '?';\n if (Id) {\n return `${url}${separator}id=${Id}`;\n }\n return '';\n };\n\n const { onDismiss } = handlers;\n\n return {\n key: `${Id}-template`,\n orderTemplateImage: _renderOrderTemplateImages(context, orderTemplate.orderTemplateLines, imageSettings, enableImageProductLink),\n orderTemplateAriaLabel: _renderAriaLabel(input),\n orderTemplateName: (\n
    \n \n
    \n {orderTemplate.totalLines}\n {` `}\n line items\n
    \n
    \n
    \n ),\n addToCartButton: (\n
    \n \n
    \n ),\n removeButton: (\n \n ),\n orderTemplateStatusMessage: orderTemplateState && orderTemplateState.isOpen && orderTemplateState.userMessage && (\n
    \n \n {orderTemplateState.userMessage}\n \n
    \n )\n };\n};\n\n/**\n * On image click handler.\n * @param productUrl -Product url value.\n * @returns Assign window location.\n */\nconst onClickHandler = (productUrl: string) => () => {\n window.location.assign(productUrl);\n};\n\nconst _renderOrderTemplateImages = (\n context: ICoreContext,\n orderTemplateLines?: OrderTemplateLine[],\n imageSettings?: IImageSettings,\n enableImageProductLink?: boolean\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n lg: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n xl: { q: 'w=140&h=140&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n if (orderTemplateLines) {\n const count = orderTemplateLines.length < 4 ? orderTemplateLines.length : 4;\n\n return (\n
    \n {orderTemplateLines?.slice(0, count).map(line => {\n const productUrl = line.fullProduct\n ? getProductUrlSync(line.fullProduct.ProductDetails, context.actionContext, undefined)\n : '';\n\n return (\n \n );\n })}\n
    \n );\n }\n return
    ;\n};\n\nconst _renderAriaLabel = (props: ISingleOrderTemplateProps): string => {\n const { name } = props;\n return `${name}`;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateListStatus } from '../order-template-list';\n\nexport interface IOrderTemplateListStatusMessageProps {\n className?: string;\n errorType: orderTemplateListStatus;\n text?: string;\n}\n\nexport const OrderTemplateListStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

    {text}

    ;\n case 'FAILED':\n return

    {text}

    ;\n case 'LOADING':\n default:\n return

    {text}

    ;\n }\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateNameDialogResources, OrderTemplateNameDialog } from '@msdyn365-commerce/components';\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport React, { useState } from 'react';\n\nconst modalCloseButtonReference: React.RefObject = React.createRef();\n\n/**\n * The Create Order Template Button Props.\n */\nexport interface ICreateOrderTemplateButtonProps extends IComponentProps {\n /**\n * The label for create order template.\n */\n createOrderTemplateText: string;\n\n /**\n * The create order template dialog resources.\n */\n createOrderTemplateDialogResources: IOrderTemplateNameDialogResources;\n\n /**\n * The delegate to fire when dialog captured any user entry.\n */\n onOrderTemplateCreated(): Promise;\n}\n\nconst CreateOrderTemplateButton: React.FC = props => {\n const onCancelHandler = React.useCallback(() => {\n return;\n }, []);\n const [isCreateOrderTemplateDialogOpen, setOrderTemplateNameDialogOpen] = useState(false);\n const onCreateButtonClick = React.useCallback(() => {\n setOrderTemplateNameDialogOpen(true);\n }, []);\n\n return (\n <>\n \n {props.createOrderTemplateText}\n \n \n \n );\n};\n\nexport default CreateOrderTemplateButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateNameDialogResources } from '@msdyn365-commerce/components';\nimport { deleteAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\nimport { OrderTemplate } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Heading, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport Spinner from '../order-template/components/add-line/spinner';\nimport {\n ISingleOrderTemplateProps,\n ISingleOrderTemplateViewProps,\n OrderTemplateListStatusMessage,\n OrderTemplateRender\n} from './components';\nimport CreateNewTemplateButtonComponent from './components/create-order-template';\nimport { IOrderTemplateListData } from './order-template-list.data';\nimport { HeadingTag, IOrderTemplateListProps, IOrderTemplateListResources } from './order-template-list.props.autogenerated';\n\nexport interface IOrderTemplateActionMessageState {\n itemKey: string;\n userMessage: string;\n statusCssString: string;\n messageGlyph: string;\n isOpen: boolean;\n headerStatusMessage: string;\n}\n\nexport type orderTemplateListStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\n\nexport interface IOrderTemplateListViewProps extends IOrderTemplateListProps {\n OrderTemplateList: IModuleProps;\n status?: orderTemplateListStatus;\n statusMessage?: React.ReactNode;\n heading?: React.ReactNode;\n OrderTemplates?: INodeProps;\n OrderTemplate?: INodeProps;\n orderTemplates?: ISingleOrderTemplateViewProps[];\n createOrderTemplateButton?: React.ReactNode;\n templateHeaderStatusMessage?: React.ReactNode;\n}\n\n/**\n *\n * OrderTemplateList component.\n * @extends {React.PureComponent, IOrderTemplateListActionMessageState>}\n */\n@observer\nclass OrderTemplateList extends React.Component, IOrderTemplateActionMessageState> {\n constructor(props: IOrderTemplateListProps) {\n super(props);\n this.state = {\n itemKey: '',\n userMessage: '',\n headerStatusMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false\n };\n }\n\n public async componentDidMount(): Promise {\n this.setState({});\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderTemplateListProps,\n nextState: IOrderTemplateActionMessageState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n const { emptyOrderTemplateText, createNewTemplateButtonText } = this.props.resources;\n const { orderTemplates } = this.props.data;\n const orderTemplatesData = orderTemplates && orderTemplates.result;\n const orderTemplateListHeading = heading?.text ?? this.props.resources.orderTemplateListTitle;\n\n if (orderTemplates.status === 'LOADING') {\n const errorProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'LOADING',\n statusMessage: ,\n heading: (\n \n )\n };\n return this.props.renderView(errorProps);\n }\n\n if (orderTemplatesData && orderTemplatesData.length === 0) {\n // When no order templates are found for customer\n const emptyViewProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'EMPTY',\n statusMessage: ,\n createOrderTemplateButton: (\n \n ),\n heading: (\n \n )\n };\n\n return this.props.renderView(emptyViewProps);\n }\n\n const viewProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'SUCCESS',\n heading: ,\n createOrderTemplateButton: (\n \n ),\n templateHeaderStatusMessage: this.state.isOpen && this.state.headerStatusMessage && (\n
    \n \n {this.state.headerStatusMessage}\n \n
    \n ),\n OrderTemplates: {\n className: 'ms-order-template__list-item',\n tag: 'ul'\n },\n OrderTemplate: {\n className: 'ms-order-template__tile',\n tag: 'li'\n },\n orderTemplates: orderTemplatesData && this._renderOrderTemplateList(orderTemplatesData)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _generateOrderTemplateNameDialogResources(resources: IOrderTemplateListResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\n orderTemplateDescription: resources.createOrderTemplateDescription,\n\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\n };\n }\n\n private _renderOrderTemplateList(orderTemplates: OrderTemplate[]): ISingleOrderTemplateViewProps[] {\n const { context, telemetry } = this.props;\n const { imageSettings, enableImageProductLink } = this.props.config;\n return orderTemplates.map((orderTemplate: OrderTemplate, index) => {\n const currentTemplateProps: ISingleOrderTemplateProps = {\n orderTemplateState: this.state,\n Id: orderTemplate.productList.Id,\n name: orderTemplate.productList.Name,\n orderTemplate,\n context,\n imageSettings,\n enableImageProductLink,\n removeFromOrderTemplateListText: 'remove',\n addToBagText: this.props.resources.addToBagButtonText,\n index,\n itemKey: orderTemplate.productList.Id,\n telemetry,\n moduleId: this.props.id,\n moduleTypeName: this.props.typeName,\n handlers: {\n onRemoveOrderTemplate: this._onRemoveFromOrderTemplateList,\n onDismiss: this._onDismiss\n },\n resources: {\n closeWindowButtonText: this.props.resources.closeWindowButtonText,\n addToCartFailureMessage: this.props.resources.addToCartFailureMessage,\n addToCartSuccessMessage: this.props.resources.addToCartSuccessMessage,\n addToCartProcessMessage: this.props.resources.addToCartProcessMessage,\n orderTemplateErrorMessage: this.props.resources.orderTemplateErrorMessage,\n linesAddedToCartDialogResources: {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText\n }\n }\n };\n\n return OrderTemplateRender(currentTemplateProps)!;\n });\n }\n\n private readonly _onDismiss = () => {\n this.setState({\n isOpen: false\n });\n };\n\n private readonly _reloadPage = async () => {\n window.location.reload();\n };\n\n private readonly _onRemoveFromOrderTemplateList = (productListId: string): void | undefined => {\n const { context, data, telemetry, resources } = this.props;\n const { orderTemplates } = data;\n\n if (context && context.actionContext) {\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplates.result && orderTemplates.result[0] && productListId) {\n const orderTemplate = orderTemplates.result.find(p => p.productList.Id === productListId);\n if (orderTemplate) {\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.productList)\n .then()\n .catch((error: string) => {\n telemetry.warning('[order-template-list] Unable to delete order template.');\n telemetry.error(error);\n this.setState({\n itemKey: productListId,\n headerStatusMessage: resources.deleteOrderTemplateFailedText,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n })\n .then(this._reloadPage)\n .catch((error: string) => {\n telemetry.warning('[order-template-list] Unable to delete order template.');\n telemetry.error(error);\n });\n } else {\n telemetry.warning('[order-template-list] Failed to delete order template. Order template was not found');\n }\n } else {\n telemetry.warning('[order-template-list] Failed to delete order template.');\n }\n }\n };\n}\n\nexport default OrderTemplateList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISingleOrderTemplateViewProps } from './components';\nimport { IOrderTemplateListViewProps } from './order-template-list';\n\nexport const OrderTemplateListView: React.FC = props => {\n const {\n OrderTemplateList,\n status,\n statusMessage,\n heading,\n OrderTemplates,\n orderTemplates,\n OrderTemplate,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n {status !== 'SUCCESS' && statusMessage}\n \n {createOrderTemplateButton}\n {templateHeaderStatusMessage}\n \n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\n \n {orderTemplates &&\n orderTemplates.map(orderTemplate => {\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n \n );\n};\n\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\nexport default OrderTemplateListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport default (props: { className: string; msg?: string }) => (\n <>\n
    \n {props?.msg &&
    {props?.msg}
    }\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { getCatalogId, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\nimport { ProductListLine, ProductSearchCriteria, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { searchByCriteriaAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n addItemToOrderTemplate,\n AddItemToOrderTemplateInput,\n getDimensionsForSelectedVariant,\n GetDimensionsForSelectedVariantInput,\n getSelectedVariant,\n SelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport React from 'react';\n\nimport { IProductConfigurationState, NotFoundComponent, ProductConfiguration, ProductList } from '.';\nimport Spinner from './spinner';\n\nexport interface IAddLineToTemplateProps {\n context: ICoreContext;\n resources: IAddLineToTemplateResources;\n orderTemplateId: string;\n imageSettings?: IImageSettings;\n}\n\nexport interface IAddLineToTemplateResources {\n addLineModalLinkText: string;\n searchButtonAriaLabel: string;\n searchInputAriaLabel: string;\n searchModalPlaceholderText: string;\n selectProductButtonText: string;\n addItemToTemplateText: string;\n addLineProductUnitPricePrefix: string;\n backButtonText: string;\n decrementButtonAriaLabel: string;\n incrementButtonAriaLabel: string;\n quantitySelectLabel: string;\n addLineProductUnitOfMeasurePrefix: string;\n notFoundSearchErrorNotice: string;\n notFoundSearchErrorRedediation: string;\n searchErrorMessage: string;\n productDimensionTypeColor: string;\n productDimensionTypeConfiguration: string;\n productDimensionTypeSize: string;\n productDimensionTypeStyle: string;\n searchResultsCountVerbage: string;\n searchResultsCountSubject: string;\n addToTemplateConfirmation: string;\n totalPriceLabel: string;\n progressNotificationText: string;\n addToTemplateDuplicateError: string;\n addToTemplateGenericError: string;\n dimensionMissingError: string;\n backToResultsText?: string;\n}\n\nenum CONTENT {\n Search,\n ProductList,\n ProductConfiguration,\n NotFound,\n Error,\n Loading\n}\n\ninterface IAddLineToTemplateState {\n isOpen: boolean;\n query: string;\n products: ProductSearchResult[];\n content: number;\n selectedProduct: SimpleProduct | null;\n selectedProductDimensions?: ProductDimensionFull[];\n selectedQuantity?: number;\n reloadPage?: boolean;\n}\n\n/**\n * Add Lines to order template.\n */\nexport class AddLineToTemplate extends React.Component {\n public state: IAddLineToTemplateState = {\n isOpen: false,\n query: '',\n products: [],\n content: CONTENT.Search,\n selectedProduct: null\n };\n\n public defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n public searchTextInput: React.RefObject = React.createRef(); // @TODO public/private\n\n private readonly addLineButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAddLineToTemplateProps) {\n super(props);\n }\n\n public onComponentDidMount(): void {\n this.searchTextInput.current?.focus();\n }\n\n public onComponentDidUpdate(): void {\n this.searchTextInput.current?.focus();\n }\n\n @computed get showBackArrow(): boolean {\n return this.state.content === CONTENT.ProductConfiguration;\n }\n\n public shouldComponentUpdate(nextProps: IAddLineToTemplateProps, nextState: IAddLineToTemplateState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n resources: { addLineModalLinkText, backToResultsText }\n } = this.props;\n\n const modalProps = {\n ...this.props,\n className: 'msc-add-line-to-template',\n toggle: this._toggleModalHandler,\n isOpen: this.state.isOpen,\n ariaLabel: addLineModalLinkText\n };\n\n return (\n <>\n \n \n {this.showBackArrow && (\n \n )}\n {addLineModalLinkText}\n \n {this._renderContent()}\n \n \n \n {addLineModalLinkText}\n \n \n );\n }\n\n private readonly _renderSearchForm = () => {\n const {\n resources: { searchButtonAriaLabel, searchModalPlaceholderText }\n } = this.props;\n\n return (\n \n \n \n \n \n \n \n
    \n );\n }\n\n private _onIncrementalChange(amount: number): void {\n const updatedQuantity = this.state.currentInput + amount;\n\n if (updatedQuantity >= 1 && updatedQuantity <= this.props.max) {\n this.props.onChange && this.props.onChange(updatedQuantity);\n }\n }\n\n private _handleChange(e: React.ChangeEvent): void {\n const currentValue = Number.parseInt(e.target.value, 10);\n const minValue = this.props.min === undefined ? 1 : this.props.min;\n const inputElement =\n this.inputRef && this.inputRef.current && this.inputRef.current instanceof HTMLInputElement && this.inputRef.current;\n\n if (currentValue > this.props.max) {\n this.setState({ currentInput: this.props.max });\n } else {\n this.setState({ currentInput: currentValue }, () => {\n debounce(() => {\n if (!isNaN(this.state.currentInput) && !(this.state.currentInput < minValue) && inputElement) {\n inputElement.setAttribute('aria-valuenow', currentValue.toString());\n inputElement.setAttribute('value', currentValue.toString());\n }\n }, 200)();\n });\n }\n }\n\n private readonly _validateMin = (): void => {\n const minValue = this.props.min === undefined ? 1 : this.props.min;\n\n if (isNaN(this.state.currentInput) || this.state.currentInput < minValue) {\n this.props.onChange && this.props.onChange(minValue);\n } else {\n this.props.onChange && this.props.onChange(this.state.currentInput);\n }\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { ProductDimensionValue, ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n getDimensionsForSelectedVariant,\n GetDimensionsForSelectedVariantInput,\n getFallbackImageUrl,\n getPriceForSelectedVariant,\n getProductAvailabilitiesForSelectedVariant,\n getSelectedVariant,\n IProductInventoryInformation,\n PriceForSelectedVariantInput,\n ProductAvailabilitiesForSelectedVariantInput,\n SelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent, ModalBody, ModalFooter } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport OrderTemplateQuantity from '../common/order-template-quantity';\nimport { Dropdown, IAddLineToTemplateProps, IAddLineToTemplateResources, IDropdownItemProps, IDropdownOnSelection } from '.';\n\nexport interface IProductCnnfigurationProps extends IAddLineToTemplateProps {\n product: SimpleProduct;\n dimensions: ProductDimensionFull[];\n imageSettings: IImageSettings;\n telemetryContent?: ITelemetryContent;\n searchForm: React.ReactNode;\n addToTemplateHandler(params: IProductConfigurationState): Promise;\n highlightSearchTerm(name: string): React.ReactNode;\n}\n\nexport interface IProductConfigurationState {\n quantity: number;\n unitPrice: number;\n totalPrice: number;\n product: SimpleProduct;\n dimensions: ProductDimensionFull[];\n selectedDimensions: {};\n productAvailableQuantity?: IProductInventoryInformation;\n buttonDisabled: boolean;\n showAddConfirmation: boolean;\n errorMessage?: string;\n isBusy: boolean;\n errors: { dimension?: string[]; add?: string };\n}\n\n/**\n * Configure selected product for addition to order template.\n */\nexport class ProductConfiguration extends React.Component {\n private selectedDimensions: {} = {};\n\n constructor(props: IProductCnnfigurationProps) {\n super(props);\n\n this.state = {\n quantity: 1,\n unitPrice: props.product.Price,\n totalPrice: props.product.Price,\n product: props.product,\n dimensions: props.dimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\n selectedDimensions: {},\n buttonDisabled: false,\n showAddConfirmation: false\n } as IProductConfigurationState;\n }\n\n public shouldComponentUpdate(nextProps: IProductCnnfigurationProps, nextState: IProductConfigurationState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n context: {\n actionContext: {\n requestContext: { apiSettings }\n },\n request: { gridSettings }\n },\n resources: {\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n totalPriceLabel\n },\n imageSettings,\n highlightSearchTerm\n } = this.props;\n const { buttonDisabled, product, quantity, unitPrice, totalPrice, showAddConfirmation, errors } = this.state;\n\n return (\n <>\n \n {this.props.searchForm}\n
    \n
    \n
    \n \n
    \n
    {product?.ItemId}
    \n {highlightSearchTerm(product?.Name ?? '')}\n
    \n {addLineProductUnitPricePrefix}\n {` `}\n {this._formatPrice(unitPrice)}\n
    \n
    \n {addLineProductUnitOfMeasurePrefix}\n {` `}\n {product?.DefaultUnitOfMeasure}\n
    \n
    \n
    \n
    {this._getDimensionsNodes()}
    \n
    \n
    \n
    {quantitySelectLabel}
    \n \n
    \n
    \n
    \n {totalPriceLabel}\n {` `}\n {this._formatPrice(totalPrice)}\n
    \n
    \n \n {showAddConfirmation && (\n \n
    \n )}\n {errors?.add && (\n
    \n
    \n )}\n \n {addItemToTemplateText}\n \n \n \n );\n }\n\n private _getConfirmationMessage(): string {\n const selectedDimensionNames = this.state.dimensions\n .map(dimension => {\n let variant = dimension.DimensionValues?.find(\n value => value.RecordId === this.selectedDimensions[dimension.DimensionTypeValue]\n )?.Value;\n if (dimension.DimensionTypeValue === 3) {\n variant = `size ${variant}`;\n }\n return variant;\n })\n .filter(value => value);\n\n return this.props.resources.addToTemplateConfirmation\n .replace('{count}', this.state.quantity.toString())\n .replace('{productAndDimensions}', `${this.state.product.Name}, ${Object.values(selectedDimensionNames).join(', ')}`);\n }\n\n private _getDimensionsNodes(): React.ReactElement[] {\n const { dimensions } = this.state;\n const { resources } = this.props;\n\n return dimensions?.map((dimension: ProductDimensionFull) => {\n const { DimensionValues, DimensionTypeValue } = dimension;\n const mapDimensions = (value: ProductDimensionValue): IDropdownItemProps => ({\n id: value.RecordId,\n value: value.Value || ''\n });\n const dimensionName = this._getDropdownName(DimensionTypeValue, resources);\n const dropdownList: IDropdownItemProps[] = DimensionValues ? DimensionValues.map(mapDimensions) : [];\n dropdownList.unshift({ id: 0, value: `Choose a ${dimensionName}` });\n\n return (\n
    \n
    {dimensionName}
    \n {this.state.errors?.dimension?.includes(DimensionTypeValue.toString()) && (\n \n \n \n )}\n \n
    \n );\n });\n }\n\n private readonly _getDimensionsError = (dimensionName: string) =>\n this.props.resources.dimensionMissingError.replace(/{dimensionName}/g, dimensionName);\n\n private readonly _addToTemplateHandler = async (event: React.MouseEvent) => {\n // Hide confirmation of previous addition when adding multiple items\n this.setState({\n isBusy: true,\n showAddConfirmation: false,\n errors: { ...this.state.errors, add: undefined }\n });\n\n const missingDimensions = this.state.dimensions\n .map(dimension => dimension.DimensionTypeValue.toString())\n .filter(type => !this.selectedDimensions[type]);\n\n this.setState({\n errors: { dimension: missingDimensions }\n });\n if (missingDimensions.length > 0) {\n this.setState({\n isBusy: false\n });\n return;\n }\n\n this.props\n .addToTemplateHandler({ ...this.state })\n .then(status => {\n // Validate against the existance of a ProductListId\n if (status.ProductListId) {\n this.setState({\n isBusy: false,\n showAddConfirmation: true\n });\n }\n })\n .catch(error => {\n const { addToTemplateDuplicateError, addToTemplateGenericError } = this.props.resources;\n let errorMessage;\n\n if (error.error.name === 'Microsoft_Dynamics_Commerce_Runtime_DuplicateObject') {\n errorMessage = addToTemplateDuplicateError;\n } else {\n errorMessage = addToTemplateGenericError;\n }\n\n this.setState({\n isBusy: false,\n errors: { ...this.state.errors, add: errorMessage }\n });\n this.props.context.telemetry.error('Error adding item to order template');\n });\n };\n\n private readonly _onQuantityChange = (newValue: number) => {\n this.setState({\n quantity: newValue,\n totalPrice: newValue * this.props.product.Price\n });\n };\n\n private readonly _updateDimensionValue = (\n productDimensionFull: ProductDimensionFull,\n newValueId: string | undefined\n ): ProductDimensionValue | undefined => {\n if (newValueId && productDimensionFull.DimensionValues) {\n return productDimensionFull.DimensionValues.find(dimension => dimension.RecordId === +newValueId);\n }\n\n return undefined;\n };\n\n // Rehydrate the selected variants price, available dimensions & sizes\n private readonly _onDimensionChanged = async (selection: IDropdownOnSelection): Promise => {\n const { product, dimensions, context } = this.props;\n const {\n actionContext,\n request: {\n apiSettings: { channelId }\n }\n } = context;\n\n // Remaining error notifications for missing dimensions\n const remainingDimensionsErrors = this.state.errors?.dimension?.filter(id => id !== selection.dropdownId.toString());\n\n this.setState({\n isBusy: false,\n showAddConfirmation: false,\n buttonDisabled: true,\n errors: { add: undefined, dimension: remainingDimensionsErrors }\n });\n\n // Update currently selected dimensions\n this.selectedDimensions[selection.dropdownId] = +selection.selectId;\n\n const mappedDimensions = dimensions\n ?.map(dimension => {\n return {\n DimensionTypeValue: dimension.DimensionTypeValue,\n DimensionValue:\n this._updateDimensionValue(dimension, this.selectedDimensions[dimension.DimensionTypeValue]) ||\n dimension.DimensionValue,\n ExtensionProperties: dimension.ExtensionProperties\n };\n })\n .filter(dimension => {\n return dimension && dimension.DimensionValue;\n });\n\n const variantProduct = await getSelectedVariant(\n new SelectedVariantInput(\n product.MasterProductId ? product.MasterProductId : product.RecordId,\n channelId,\n mappedDimensions,\n undefined,\n this.props.context.request\n ),\n actionContext\n );\n\n if (!variantProduct) {\n this.props.context.telemetry.error(\n `Error retrieving variant product for product ${product.MasterProductId ? product.MasterProductId : product.RecordId}`\n );\n return;\n }\n\n const dimensionInput = new GetDimensionsForSelectedVariantInput(\n variantProduct.RecordId,\n channelId,\n mappedDimensions,\n this.props.context.request\n );\n const variantDimensions = await getDimensionsForSelectedVariant(dimensionInput, actionContext);\n\n if (!variantDimensions) {\n this.props.context.telemetry.error('Error retrieving dimensions for reconfigured product variant');\n this.setState({\n buttonDisabled: false\n });\n return;\n }\n\n const availabilityInput = new ProductAvailabilitiesForSelectedVariantInput(\n product.MasterProductId ? product.MasterProductId : product.RecordId,\n channelId\n );\n\n // @TODO sync UX quantity w/ actual availability\n const newAvailableQuantity = await getProductAvailabilitiesForSelectedVariant(availabilityInput, actionContext);\n const priceInput = new PriceForSelectedVariantInput(product.RecordId, channelId);\n const productPrice = await getPriceForSelectedVariant(priceInput, actionContext);\n\n if (!productPrice) {\n this.props.context.telemetry.error('Error retrieving price for reconfigured product variant');\n this.setState({\n buttonDisabled: false\n });\n return;\n }\n\n this.setState({\n buttonDisabled: false,\n productAvailableQuantity: (newAvailableQuantity && newAvailableQuantity[0]) || undefined,\n unitPrice: +(productPrice.BasePrice || product.Price),\n dimensions: variantDimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\n product: variantProduct\n });\n };\n\n private readonly _getDropdownName = (dimensionType: number, resources: IAddLineToTemplateResources): string => {\n switch (dimensionType) {\n case 1: // Color\n return resources.productDimensionTypeColor;\n case 2: // Configuration\n return resources.productDimensionTypeConfiguration;\n case 3: // Size\n return resources.productDimensionTypeSize;\n case 4: // Style\n return resources.productDimensionTypeStyle;\n default:\n return '';\n }\n };\n\n private _formatPrice(price: number): string {\n const {\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n\n return formatCurrency(price.toFixed(2), currencyCode);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { getFallbackImageUrl, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\n\nimport { IAddLineToTemplateProps } from '.';\n\nexport interface IProductListProps extends IAddLineToTemplateProps {\n products: ProductSearchResult[];\n imageSettings: IImageSettings;\n searchForm: React.ReactNode;\n clickHandler(product: ProductSearchResult): Promise;\n highlightSearchTerm(name: string): React.ReactNode;\n renderResultCountText(): string;\n}\n\nexport const ProductList = (props: IProductListProps) => {\n const {\n products,\n context: {\n actionContext: {\n requestContext: { apiSettings }\n },\n request: { gridSettings },\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n },\n clickHandler,\n highlightSearchTerm,\n renderResultCountText,\n resources: { selectProductButtonText },\n imageSettings\n } = props;\n\n return (\n <>\n

    \n {renderResultCountText()}\n

    \n {props.searchForm}\n
    \n {products.map((product: ProductSearchResult, index: number) => {\n const { Price, ItemId, Name, PrimaryImageUrl } = product;\n const price = formatCurrency(Price.toFixed(2), currencyCode);\n const primaryImageSource = generateImageUrl(PrimaryImageUrl ?? '', apiSettings) ?? '';\n const fallBackImg = getFallbackImageUrl(ItemId, apiSettings) ?? '';\n\n return (\n
    \n
    \n \n
    \n
    {ItemId}
    \n {highlightSearchTerm(Name ?? '')}\n
    \n
    \n
    \n {price}\n \n
    \n
    \n );\n })}\n
    \n \n );\n};\n\ninterface IProductSelectButton {\n product: ProductSearchResult;\n buttonText: string;\n clickHandler(product: ProductSearchResult): Promise;\n}\n\nconst ProductSelectButton = (props: IProductSelectButton) => {\n const [isBusy, setBusy] = useState(false);\n const { product, buttonText, clickHandler } = props;\n const getClickHandler = React.useCallback(async () => {\n setBusy(!isBusy);\n await clickHandler(product);\n setBusy(!isBusy);\n }, [clickHandler, isBusy, product]);\n\n return (\n \n {buttonText}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport { IOrderTemplateData } from '../order-template.data';\nimport { IOrderTemplateProps } from '../order-template.props.autogenerated';\nimport { AddLineToTemplate } from '.';\n\ninterface IOrderTemplateBulkActionsProps extends IOrderTemplateProps {\n orderTemplateId: string;\n selectedLines: IOrderTemplateLineViewModel[];\n isMinifiedView: boolean;\n onAddSelectionToBag(): void;\n onRemoveSelection(): void;\n}\n\ninterface IOrderTemplateBulkActionsState {\n isAddDisabled: boolean;\n isRemoveDisabled: boolean;\n}\n\n/**\n * Bulk Order Template line actions.\n */\nexport class OrderTemplateBulkActions extends React.PureComponent {\n public state: IOrderTemplateBulkActionsState = {\n isAddDisabled: true,\n isRemoveDisabled: true\n };\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateBulkActionsProps,\n state: IOrderTemplateBulkActionsState\n ): IOrderTemplateBulkActionsState {\n const selectedLines = props.selectedLines.length;\n let nextState = { ...state };\n nextState = {\n isAddDisabled: selectedLines === 0,\n isRemoveDisabled: selectedLines === 0\n };\n return nextState;\n }\n\n public render(): JSX.Element {\n const {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n addSelectedToBagButtonText,\n removeSelectedToBagButtonText,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n } = this.props.resources;\n const addLineProps = {\n context: this.props.context,\n resources: {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n },\n imageSettings: this.props.config.imageSettings,\n orderTemplateId: this.props.orderTemplateId\n };\n\n return (\n <>\n \n \n \n {!this.props.isMinifiedView && addSelectedToBagButtonText}\n \n \n \n {!this.props.isMinifiedView && removeSelectedToBagButtonText}\n \n \n );\n }\n\n private readonly addHandler = (event: React.MouseEvent) => {\n this.setState({\n isAddDisabled: true\n });\n\n this.props.onAddSelectionToBag();\n\n this.setState({\n isAddDisabled: false\n });\n };\n\n private readonly removeHandler = (event: React.MouseEvent) => {\n this.setState({\n isRemoveDisabled: true\n });\n\n this.props.onRemoveSelection();\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddOrderTemplateToCartComponent,\n ILinesAddedToCartDialogResources,\n IOrderTemplateNameDialogResources,\n RenameOrderTemplateComponent\n} from '@msdyn365-commerce/components';\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { ProductList } from '@msdyn365-commerce/retail-proxy';\nimport { OrderTemplate } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IOrderTemplateActionsData {\n orderTemplate: OrderTemplate;\n}\n\nexport interface IOrderTemplateActionsProps extends IComponentProps {\n context: ICoreContext;\n telemetryContent?: ITelemetryContent;\n handlers: {\n onRemoveTemplate(orderTemplateId: string): void;\n onRenameTemplate(orderTemplate: ProductList): Promise;\n };\n renameOrderTemplateDialogStrings: IOrderTemplateNameDialogResources;\n resources: {\n addTemplateToBagButtonText: string;\n renameTemplateButtonText: string;\n deleteTemplateButtonText: string;\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n}\n\nexport interface IOrderTemplateActionsViewProps {\n addTemplateToBag: React.ReactNode;\n renameTemplate?: React.ReactNode;\n removeTemplate?: React.ReactNode;\n}\n\n/**\n * Remove Order Action.\n * @param props -Order template action props.\n * @returns Remove order template.\n */\nconst removeOrderActionHandler = (props: IOrderTemplateActionsProps) => () => {\n _removeOrderTemplate(props);\n};\n\nexport const OrderTemplateActionsView = (props: IOrderTemplateActionsProps): IOrderTemplateActionsViewProps => {\n const { resources } = props;\n const { deleteTemplateButtonText } = resources;\n\n return {\n addTemplateToBag: _getOrderTemplateAddToCartDialog(props),\n renameTemplate: _getOrderTemplateRenameControl(props),\n removeTemplate: (\n \n )\n };\n};\n\nconst _removeOrderTemplate = (props: IOrderTemplateActionsProps): void => {\n const {\n data: { orderTemplate },\n handlers\n } = props;\n const { onRemoveTemplate } = handlers;\n\n if (onRemoveTemplate) {\n onRemoveTemplate(orderTemplate.productList.Id);\n }\n};\n\nconst _getOrderTemplateAddToCartDialog = (props: IOrderTemplateActionsProps): React.ReactNode => {\n const {\n data: { orderTemplate },\n typeName,\n id,\n context,\n telemetryContent,\n resources\n } = props;\n const {\n addTemplateToBagButtonText,\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources\n } = resources;\n\n const dialogStrings = {\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources\n };\n\n return (\n \n );\n};\n\nconst _getOrderTemplateRenameControl = (props: IOrderTemplateActionsProps): React.ReactNode => {\n const { renameOrderTemplateDialogStrings, resources, context, handlers } = props;\n return (\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport { ProductPrice, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { useState } from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport OrderTemplateQuantity from './common/order-template-quantity';\n\nexport interface IOrderTemplateLineProps extends ProductListLine {\n orderTemplateLine: IOrderTemplateLineViewModel;\n productListLine: ProductListLine;\n price?: ProductPrice;\n context: ICoreContext;\n productUrl: string;\n imageSettings?: IImageSettings;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n quantity: number;\n isQuantityDisabledForUpdate?: boolean;\n handlers: {\n onAddToBag(product: SimpleProduct, quantity: number, itemKey: string): void;\n onRemoveItem(line: IOrderTemplateLineViewModel): void | undefined;\n onChangeQuantity(orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps): void;\n onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void;\n };\n resources: {\n selectOneRowText?: string;\n moreButtonText?: string;\n viewProductDetailsText?: string;\n productDimensionTypeColor: string;\n productDimensionTypeSize: string;\n productDimensionTypeStyle: string;\n originalPriceText: string;\n currentPriceText: string;\n freePriceText: string;\n inputQuantityAriaLabel: string;\n removeFromOrderTemplateLinesText: string;\n addToBagButtonText: string;\n deleteButtonText: string;\n incrementButtonAriaLabel?: string;\n decrementButtonAriaLabel?: string;\n editOrderTemplateLineQuantityError?: string;\n };\n index: number;\n isMobile: boolean;\n productQuantityView?: React.ReactNode;\n addToBagButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n toggleDetailsDisplayed(props: IOrderTemplateLineProps): void;\n}\n\nexport interface IOrderTemplateLineViewProps {\n key?: string;\n productImage: React.ReactNode;\n productPrice?: React.ReactNode;\n addToBagButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n productName?: string;\n productNumber?: React.ReactNode;\n productInfo?: React.ReactNode;\n productLabel?: React.ReactNode;\n productUnitOfMeasure?: React.ReactNode;\n productQuantity?: number;\n productQuantityView?: React.ReactNode;\n productListId?: string;\n selectLine?: React.ReactNode;\n popUp?: JSX.Element;\n isMobile?: boolean;\n}\n\ninterface IEventHandlerFactory {\n getAddToBag(): (event: React.MouseEvent) => void;\n getRemoveItem(): (event: React.MouseEvent) => void;\n}\n\nconst OrderTemplateLineActions = (props: IOrderTemplateLineProps): IEventHandlerFactory => {\n const { orderTemplateLine, productListLine, quantity, handlers } = props;\n const { LineId } = productListLine;\n const { onAddToBag, onRemoveItem } = handlers;\n\n return {\n getAddToBag: () => (event: React.MouseEvent) => {\n LineId && orderTemplateLine.fullProduct && onAddToBag(orderTemplateLine.fullProduct.ProductDetails, quantity, LineId);\n },\n getRemoveItem: () => (event: React.MouseEvent) => LineId && onRemoveItem(props.orderTemplateLine)\n };\n};\n\ninterface IPopupProps extends IOrderTemplateLineProps {\n addButtonClassName: string;\n removeButtonClassName: string;\n}\n\nconst PopUp = (props: IPopupProps): JSX.Element | null => {\n const { addToBagButtonText, removeFromOrderTemplateLinesText, moreButtonText, viewProductDetailsText } = props.resources;\n const [showMobile, setShowMobile] = useState(false);\n const componentClassName = 'ms-table';\n\n const getViewHandler = () => (event: React.MouseEvent) => {\n props.toggleDetailsDisplayed(props);\n };\n\n const toggle = React.useCallback(() => {\n setShowMobile(!showMobile);\n }, [showMobile]);\n\n return (\n
    \n \n {showMobile && (\n
    \n \n View\n \n {getActionButton(\n props.isMobile,\n props.removeButtonClassName,\n removeFromOrderTemplateLinesText,\n OrderTemplateLineActions(props).getRemoveItem()\n )}\n {getActionButton(\n props.isMobile,\n props.addButtonClassName,\n addToBagButtonText,\n OrderTemplateLineActions(props).getAddToBag()\n )}\n
    \n )}\n
    \n );\n};\n\nconst getActionButton = (\n isMobile: boolean,\n className: string,\n buttonText: string,\n clickHandler: (event: React.MouseEvent) => void\n): React.ReactNode => (\n \n);\n\n/**\n * On Select line function.\n * @param orderTemplateLine -Order template line.\n * @param input -Order template line props.\n * @returns Set on select order template.\n */\nconst onSelectLineHandler = (orderTemplateLine: IOrderTemplateLineViewModel, input: IOrderTemplateLineProps) => (\n event: React.ChangeEvent\n) => {\n orderTemplateLine.isChecked = !orderTemplateLine.isChecked;\n\n input.handlers.onSelect(orderTemplateLine, event.target.checked);\n};\n\nexport const OrderTemplateLineView = (input: IOrderTemplateLineProps): IOrderTemplateLineViewProps | null => {\n const { orderTemplateLine, productListLine, price, context, imageSettings, quantity, resources, isMobile } = input;\n const product = orderTemplateLine.fullProduct;\n const { LineId, UnitOfMeasure } = productListLine;\n const { removeFromOrderTemplateLinesText, addToBagButtonText, selectOneRowText } = resources;\n if (!product) {\n return null;\n }\n\n const { ItemId, Name, PrimaryImageUrl } = product.ProductDetails;\n const fallbackImage = getFallbackImageUrl(ItemId, context.actionContext.requestContext.apiSettings);\n const addButtonClassName = input.isMobile ? 'ms-table__row-links-add' : 'ms-order-template-table-line__product-add-button';\n const removeButtonClassName = input.isMobile ? 'ms-table__row-links-delete' : 'ms-order-template-table-line__product-remove-button';\n\n return {\n isMobile,\n selectLine: (\n \n ),\n key: LineId!,\n productImage:\n PrimaryImageUrl &&\n Name &&\n _renderProductImage(\n 'ms-order-template-table-line__product-image',\n context,\n product.ProductDetails.Name!,\n PrimaryImageUrl,\n fallbackImage,\n imageSettings\n ),\n productInfo: renderProductInfo(input),\n productPrice: price && _renderPrice(input),\n productNumber: product &&
    {ItemId}
    ,\n productUnitOfMeasure: price ? (\n
    {UnitOfMeasure || price.UnitOfMeasure}
    \n ) : (\n undefined\n ),\n productListId: LineId!,\n removeButton: getActionButton(\n input.isMobile,\n removeButtonClassName,\n removeFromOrderTemplateLinesText,\n OrderTemplateLineActions(input).getRemoveItem()\n ),\n productQuantityView:
    {_generateQuantity(input, LineId!)}
    ,\n productQuantity: quantity,\n addToBagButton: getActionButton(\n input.isMobile,\n addButtonClassName,\n addToBagButtonText,\n OrderTemplateLineActions(input).getAddToBag()\n ),\n popUp: \n };\n};\n\nexport const OrderTemplateMobileLineView = (input: IOrderTemplateLineProps): IOrderTemplateLineViewProps | undefined => {\n const { orderTemplateLine, productListLine, price, context, imageSettings } = input;\n const product = orderTemplateLine.fullProduct;\n const { LineId, UnitOfMeasure } = productListLine;\n if (!product) {\n return;\n }\n const { ItemId, Name, PrimaryImageUrl } = product.ProductDetails;\n const fallbackImage = getFallbackImageUrl(ItemId, context.actionContext.requestContext.apiSettings);\n\n return {\n productImage:\n PrimaryImageUrl &&\n Name &&\n _renderProductImage('thumbnail', context, product.ProductDetails.Name!, PrimaryImageUrl, fallbackImage, imageSettings),\n productInfo: renderProductInfo(input),\n productPrice: price && _renderPrice(input),\n productNumber: ItemId,\n productUnitOfMeasure: UnitOfMeasure || price?.UnitOfMeasure,\n productQuantityView: _generateQuantity(input, LineId!)\n };\n};\n\nexport interface IOrderTemplateProductQuantityViewProps {\n ContainerProps: INodeProps;\n input: React.ReactNode;\n}\n\n/**\n * On Change function.\n * @param onChangeQuantity -On change quantity function.\n * @param itemKey -String.\n * @param props -Order template line props.\n * @returns Set change quantity.\n */\nconst onChangeHandler = (\n onChangeQuantity: (orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps | undefined) => void,\n itemKey: string,\n props: IOrderTemplateLineProps\n) => (newValue: number) => {\n if (onChangeQuantity) {\n onChangeQuantity(itemKey, newValue, props);\n }\n};\n\nconst _generateQuantity = (props: IOrderTemplateLineProps, itemKey: string): React.ReactNode => {\n const { handlers, resources, quantity } = props;\n const { onChangeQuantity } = handlers;\n return (\n \n );\n};\n\nexport const _renderProductImage = (\n className: string,\n context: ICoreContext,\n heading: string,\n image?: string,\n fallbackImage?: string,\n imageSettings?: IImageSettings\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n if (image) {\n return (\n \n );\n }\n return null;\n};\n\nconst _renderPrice = (props: IOrderTemplateLineProps): JSX.Element | null => {\n const { price, context, moduleId, moduleTypeName, resources } = props;\n\n if (price) {\n return (\n \n );\n }\n return null;\n};\n\nconst _renderProductDimensions = (props: IOrderTemplateLineProps): (string | undefined)[] => {\n const { orderTemplateLine } = props;\n\n if (!orderTemplateLine.fullProduct || !orderTemplateLine.fullProduct.ProductDetails.Dimensions) {\n return [];\n }\n\n return orderTemplateLine.fullProduct.ProductDetails.Dimensions.map(dimension => {\n if (!dimension.DimensionValue || !dimension.DimensionValue.Value) {\n return undefined;\n }\n\n return dimension.DimensionValue.Value;\n });\n};\n\nexport const renderProductInfo = (props: IOrderTemplateLineProps): React.ReactNode | undefined => {\n const { orderTemplateLine, productUrl } = props;\n const name = orderTemplateLine.fullProduct?.ProductDetails.Name;\n\n const dimensions = _renderProductDimensions(props);\n if (!orderTemplateLine.fullProduct) {\n return [];\n }\n\n const productName = productUrl ? (\n \n {name}\n \n ) : (\n
    {name}
    \n );\n\n const dimensionsLine: string = dimensions.join(', ');\n\n return (\n
    \n
    {productName}
    \n
    {dimensionsLine}
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateLinesStatus } from '../order-template';\n\nexport interface IOrderTemplateLinesStatusMessageProps {\n className?: string;\n errorType: orderTemplateLinesStatus;\n text?: string;\n}\n\nexport const OrderTemplateLinesStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

    {text}

    ;\n case 'FAILED':\n return

    {text}

    ;\n case 'LOADING':\n default:\n return

    {text}

    ;\n }\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\n\nexport interface IOrderTemplateTableHeadingProps {\n selectAllRowsText?: string;\n productNumber: string;\n productName: string;\n productUnitPrice: string;\n productUOM: string;\n productQuantity: string;\n productActions: string;\n lines: IOrderTemplateLineViewModel[];\n isMobile: boolean;\n clickHandler(isChecked: boolean): void;\n productImage?: string;\n}\n\n/**\n * Order Template's table state.\n */\nexport interface IOrderTemplateTableHeadingState {\n isChecked: boolean;\n}\n\nexport interface IOrderTemplateTableShortHeading {\n productNumber: string;\n productActions: string;\n}\n\n/**\n * Order Template's table heading.\n */\nexport class OrderTemplateTableHeading extends React.PureComponent {\n public state: IOrderTemplateTableHeadingState = {\n isChecked: false\n };\n\n private readonly componentClassName: string = 'ms-table';\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateTableHeadingProps,\n state: IOrderTemplateTableHeadingState\n ): IOrderTemplateTableHeadingState {\n const checkedLines = props.lines.filter(line => !line.isChecked).length;\n let nextState = { ...state };\n nextState = { isChecked: checkedLines === 0 };\n return nextState;\n }\n\n public getOnChange = () => (event: React.ChangeEvent) => {\n this.setState(\n {\n isChecked: this.state.isChecked\n },\n () => {\n this.props.clickHandler(!this.state.isChecked);\n }\n );\n };\n\n public render(): JSX.Element {\n return (\n \n \n \n \n \n {!this.props.isMobile ? {this.props.productImage} : null}\n {this.props.productNumber}\n {!this.props.isMobile ? {this.props.productName} : null}\n {!this.props.isMobile ? {this.props.productUnitPrice} : null}\n {!this.props.isMobile ? {this.props.productUOM} : null}\n {!this.props.isMobile ? {this.props.productQuantity} : null}\n {!this.props.isMobile ? {this.props.productActions} : }\n \n \n );\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IItemAddedToCartDialogData,\n IItemAddedToCartDialogResources,\n ILinesAddedToCartDialogResources,\n IOrderTemplateNameDialogResources,\n ItemAddedToCartDialog\n} from '@msdyn365-commerce/components';\nimport MsDyn365, { AsyncResult, getUrlSync, IRequestContext } from '@msdyn365-commerce/core';\nimport { ICartActionResult } from '@msdyn365-commerce/global-state';\nimport { ProductList, ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport {\n deleteAsync,\n removeProductListLinesAsync,\n updateProductListLinesAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n getPriceForSelectedVariant,\n getProductUrlSync,\n ObjectExtensions,\n OrderTemplate,\n OrderTemplateLine,\n PriceForSelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n getTelemetryObject,\n Heading,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n UncontrolledPagination\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { action, computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport {\n IOrderTemplateActionsProps,\n IOrderTemplateActionsViewProps,\n IOrderTemplateLineProps,\n IOrderTemplateLineViewProps,\n IOrderTemplateTableHeadingProps,\n OrderTemplateActionsView,\n OrderTemplateLinesStatusMessage,\n OrderTemplateLineView,\n OrderTemplateMobileLineView,\n OrderTemplateTableHeading\n} from '../..';\nimport { ActiveOrderTemplateLinesInput } from './actions/get-order-template';\nimport { OrderTemplateBulkActions } from './components/bulk-actions';\nimport { IOrderTemplateData } from './order-template.data';\nimport { IOrderTemplateProps, IOrderTemplateResources } from './order-template.props.autogenerated';\nimport Spinner from './components/add-line/spinner';\n\nexport interface IOrderTemplateLineActionMessageState {\n itemKey: string;\n userMessage: string;\n statusCssString: string;\n messageGlyph: string;\n isOpen: boolean;\n isItemAddedToOrderTemplateOpen: boolean;\n isConfirmAddSelectionToBagModalOpen: boolean;\n itemAddedToCartDialogData?: IItemAddedToCartDialogData;\n productSelection: IOrderTemplateLineViewModel[];\n isDetailsDisplayed: boolean;\n detailedProductView?: IOrderTemplateLineViewProps;\n isQuantityDisabledForUpdate?: boolean;\n}\n\nexport type orderTemplateLinesStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport interface IOrderTemplateViewProps extends IOrderTemplateProps {\n OrderTemplateLines: IModuleProps;\n callbacks?: IOrderTemplateLinesCallbacks;\n status?: orderTemplateLinesStatus;\n statusMessage?: React.ReactNode;\n heading?: React.ReactNode;\n OrderTemplateActions?: INodeProps;\n ProductsTable?: INodeProps;\n ProductsTableRow?: INodeProps;\n ProductsTableHeading?: React.ReactNode;\n ProductDetails?: INodeProps;\n orderLines?: IOrderTemplateLineViewProps[];\n productListLines?: ProductListLine[];\n productsStatusMessage?: React.ReactNode;\n orderActions?: IOrderTemplateActionsViewProps | null;\n resources: IOrderTemplateResources;\n pagination?: React.ReactNode;\n itemAddedToCartDialog?: React.ReactNode;\n bulkOrderLineActions?: React.ReactNode;\n isDetailsDisplayed?: boolean;\n detailedProduct?: IOrderTemplateLineProps;\n detailedProductView?: IOrderTemplateLineViewProps;\n productQuantityView?: React.ReactNode;\n addButton?: React.ReactNode;\n isMobile?: boolean;\n toggleDetailsDisplayed?(props: IOrderTemplateLineProps | undefined): void;\n}\n\nexport interface IOrderTemplateLinesCallbacks {\n updateQuantity(itemKey: string, quantity: number): void;\n}\n\nexport interface IOrderTemplateLineViewModel extends OrderTemplateLine {\n isChecked: boolean;\n productQuantityView: React.ReactNode;\n}\n\n/**\n *\n * OrderTemplateLines component.\n * @extends {React.PureComponent, IOrderTemplateLineActionMessageState>}\n */\n@observer\nclass OrderTemplateLines extends React.Component, IOrderTemplateLineActionMessageState> {\n private readonly className: string;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable\n private _viewport: GridSize;\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n constructor(props: IOrderTemplateProps, state: IOrderTemplateLineActionMessageState) {\n super(props);\n this.className = 'ms-order-template';\n this._viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this._updateViewport = this._updateViewport.bind(this);\n\n this.state = {\n itemKey: '',\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false,\n isItemAddedToOrderTemplateOpen: false,\n isConfirmAddSelectionToBagModalOpen: false,\n productSelection: [],\n isDetailsDisplayed: false,\n isQuantityDisabledForUpdate: false\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this._updateViewport();\n\n if (MsDyn365.isBrowser && !this.props.context.request.user.isAuthenticated && !this.props.context.request.params.isEditor) {\n window.location.assign(this.props.context.request.user.signInUrl || '/');\n }\n }\n\n @action\n public async componentDidMount(): Promise {\n this.setState({});\n const orderTemplate = await this.props.data.orderTemplate;\n this.props.config.heading!.text = orderTemplate?.productList.Name || '';\n this.setState({\n productSelection: orderTemplate?.orderTemplateLines as IOrderTemplateLineViewModel[]\n });\n\n if (MsDyn365.isBrowser) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderTemplateProps,\n nextState: IOrderTemplateLineActionMessageState\n ): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const { heading, className } = this.props.config;\n const { emptyOrderTemplateLinesText, errorGettingOrderTemplateLines } = this.props.resources;\n const { orderTemplate, cart } = this.props.data;\n\n if (cart.status === 'LOADING' || ObjectExtensions.isNullOrUndefined(orderTemplate) || orderTemplate.status === 'LOADING') {\n const errorProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(this.className, className)\n },\n status: 'LOADING',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources\n };\n return this.props.renderView(errorProps);\n }\n\n if (cart.status === 'FAILED' || orderTemplate.status === 'FAILED') {\n const errorProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'FAILED',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources\n };\n\n return this.props.renderView(errorProps);\n }\n\n const orderTemplateResult = orderTemplate && orderTemplate.result;\n const orderTemplateLines = orderTemplateResult && orderTemplateResult.orderTemplateLines;\n\n if (!orderTemplateResult || !orderTemplateLines || orderTemplateLines.length === 0) {\n if (orderTemplateResult && !this._isFirstPage() && MsDyn365.isBrowser) {\n window.location.href = this._getOrderTemplatePageUrl();\n return null;\n }\n\n const emptyViewProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'EMPTY',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources,\n orderActions: orderTemplateResult && this._renderOrderTemplateActions(orderTemplateResult),\n bulkOrderLineActions: orderTemplateResult && this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\n OrderTemplateActions: {\n className: `${this.className}-action-bar`,\n tag: 'div'\n }\n };\n\n return this.props.renderView(emptyViewProps);\n }\n\n const viewProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'SUCCESS',\n productsStatusMessage: this.state.isOpen && (\n
    \n \n {this.state.userMessage}\n \n
    \n ),\n heading: heading && ,\n OrderTemplateActions: {\n className: `${this.className}-action-bar`,\n tag: 'div'\n },\n ProductsTable: {\n className: `${this.className}__table`,\n tag: 'table',\n role: 'grid'\n },\n ProductsTableRow: {\n className: `${this.className}-table-line`,\n tag: 'tr'\n },\n ProductsTableHeading: this._renderProductListHeader(this.props.resources),\n ProductDetails: {\n className: `${this.className}-table-line__link`,\n tag: 'a'\n },\n orderLines: this._renderProductList(),\n callbacks: { updateQuantity: debounce(this._changeQuantity, 2000) },\n orderActions: this._renderOrderTemplateActions(orderTemplateResult),\n pagination: this._renderPagination(),\n itemAddedToCartDialog: this._renderItemAddedToCartDialog(),\n bulkOrderLineActions: this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\n isDetailsDisplayed: this.state.isDetailsDisplayed,\n toggleDetailsDisplayed: this._toggleDetailsDisplayed,\n detailedProductView: this.state.detailedProductView,\n isMobile: this.isMobile\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void {\n line.isChecked = isChecked;\n\n const updated =\n this.state.productSelection.map(product => {\n if (product.fullProduct?.ProductDetails.ItemId === line.fullProduct?.ProductDetails.ItemId) {\n line.isChecked = isChecked;\n }\n return product;\n }) || [];\n\n this.setState({\n productSelection: updated\n });\n }\n\n public onSelectAll(isChecked: boolean): void {\n const updated =\n this.state.productSelection.map(line => {\n line.isChecked = isChecked;\n return line;\n }) || [];\n\n this.setState({\n productSelection: updated\n });\n }\n\n private _renderProductListHeader(resources: IOrderTemplateResources): React.ReactNode {\n const {\n productImage,\n productNumberText,\n productText,\n productUnitPriceText,\n productUOMText,\n productQuantityText,\n productActionsText,\n selectAllRowsText\n } = resources;\n const headers: IOrderTemplateTableHeadingProps = {\n productImage: productImage,\n productNumber: productNumberText,\n productName: productText,\n productUnitPrice: productUnitPriceText,\n productUOM: productUOMText,\n productQuantity: productQuantityText,\n productActions: productActionsText,\n selectAllRowsText,\n lines: this.state.productSelection,\n isMobile: this.isMobile,\n clickHandler: (isChecked: boolean) => {\n this.onSelectAll(isChecked);\n }\n };\n\n return ;\n }\n\n private _getOrderTemplateLineActions(orderTemplateId: string): React.ReactNode {\n return (\n line.isChecked)}\n onAddSelectionToBag={this._onAddSelectionToBag}\n onRemoveSelection={this._onRemoveSelection}\n isMinifiedView={this.isMobile}\n />\n );\n }\n\n private _generateLinesAddedToCartDialogResources(): ILinesAddedToCartDialogResources {\n return {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText\n };\n }\n\n private _generateItemAddedToCartDialogResources(): IItemAddedToCartDialogResources {\n return {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n itemAddedToCartHeaderItemOneText: this.props.resources.itemAddedToCartHeaderItemOneText,\n itemAddedToCartHeaderItemFormatText: this.props.resources.itemAddedToCartHeaderItemFormatText,\n itemAddedToCartHeaderMessageText: this.props.resources.itemAddedToCartHeaderMessageText,\n freePriceText: this.props.resources.freePriceText,\n originalPriceText: this.props.resources.originalPriceText,\n currentPriceText: this.props.resources.currentPriceText\n };\n }\n\n private readonly _onRemoveSelection = (): void => {\n const { context, resources } = this.props;\n const { telemetry } = context;\n const { removeSelectedFailureMessage, removeSelectedSuccessMessage } = resources;\n const lines = this.state.productSelection;\n const productListLines = lines && lines.length && lines.filter(line => line.isChecked).map(line => line.productListLine);\n\n if (productListLines && productListLines.length > 0) {\n const productListId = productListLines[0].ProductListId;\n\n const maxWaitTimeInMilliSeconds: number = 1000;\n removeProductListLinesAsync({ callerContext: context.actionContext }, productListId!, productListLines)\n .then(async () => {\n this.setState({\n userMessage: removeSelectedSuccessMessage,\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: true\n });\n // eslint-disable-next-line no-promise-executor-return -- fix\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\n window.location.reload();\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\n telemetry.error(error);\n this.setState({\n userMessage: removeSelectedFailureMessage,\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: true\n });\n });\n }\n };\n\n private readonly _getOrderTemplatePageUrl = (): string => {\n let url = getUrlSync('ordertemplate', this.props.context.actionContext) || '';\n url = url.includes('?') ? url.substr(0, url.indexOf('?')) : url;\n if (this.props.data.orderTemplate?.result?.productList.Id) {\n return `${url}?id=${this.props.data.orderTemplate.result.productList.Id}`;\n }\n return '';\n };\n\n private readonly _onAddSelectionToBag = async (): Promise => {\n const lines = this.state.productSelection;\n const selectedLines = lines.filter(line => line.isChecked);\n if (selectedLines.length > 0) {\n for (const productLine of selectedLines) {\n const itemKey = productLine.fullProduct?.ProductDetails.ItemId ?? '';\n const product = productLine.fullProduct?.ProductDetails ?? {\n RecordId: 0,\n ProductTypeValue: 0,\n BasePrice: 0,\n Price: 0,\n AdjustedPrice: 0\n };\n const quantity = productLine.productListLine.Quantity ?? 0;\n this._addItemToBag(product, quantity, itemKey);\n }\n }\n return Promise.resolve(void 0);\n };\n\n private _renderOrderTemplateActions(orderTemplate: OrderTemplate): IOrderTemplateActionsViewProps {\n const { id, typeName, context, resources } = this.props;\n const {\n addTemplateToBagButtonText,\n renameTemplateButtonText,\n deleteTemplateButtonText,\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage\n } = resources;\n\n const orderTemplateActions: IOrderTemplateActionsProps = {\n data: { orderTemplate },\n id,\n typeName,\n context,\n telemetryContent: this.telemetryContent,\n handlers: {\n onRenameTemplate: this._renameTemplate,\n onRemoveTemplate: this._removeTemplate\n },\n renameOrderTemplateDialogStrings: this._generateOrderTemplateNameDialogResources(resources),\n resources: {\n addTemplateToBagButtonText,\n renameTemplateButtonText,\n deleteTemplateButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n closeWindowButtonText,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources: this._generateLinesAddedToCartDialogResources()\n }\n };\n\n return OrderTemplateActionsView(orderTemplateActions);\n }\n\n private _generateOrderTemplateNameDialogResources(resources: IOrderTemplateResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.renameOrderTemplateTitleText,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateTitle,\n orderTemplateDescription: '',\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n orderTemplateButtonLabel: resources.renameOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelBtnLabel\n };\n }\n\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n };\n\n /**\n * On close handler.\n */\n private readonly onCloseHandler = () => {\n this.setState({\n itemKey: this.state.itemKey,\n userMessage: this.state.userMessage,\n statusCssString: this.state.statusCssString,\n messageGlyph: this.state.messageGlyph,\n isOpen: this.state.isOpen,\n isItemAddedToOrderTemplateOpen: false\n });\n };\n\n private readonly _renderItemAddedToCartDialog = (): React.ReactNode | null => {\n if (!this.state.itemAddedToCartDialogData) {\n return null;\n }\n\n return (\n \n );\n };\n\n private _isFirstPage(): boolean {\n return this._getCurrentPageNumber() === 0;\n }\n\n private _getCurrentPageNumber(): number {\n const itemsPerPage = this.props.config.itemsPerPage || 50;\n return (this.props.context.request.query && +this.props.context.request.query.skip / itemsPerPage) || 0;\n }\n\n private readonly _renderPagination = (): React.ReactNode | null => {\n const { config, context, data, resources } = this.props;\n const orderTemplate = data && data.orderTemplate && data.orderTemplate.result;\n if (!orderTemplate) {\n return null;\n }\n\n const fullUrl = this._getCurrentUrl(context.request);\n const itemsPerPage = config.itemsPerPage || 50;\n const currentPageNumber = this._getCurrentPageNumber();\n const skipCount = currentPageNumber * itemsPerPage;\n const totalItems = orderTemplate && orderTemplate.totalLines;\n const previousText = resources.flipperPrevious;\n const nextText = resources.flipperNext;\n\n if (totalItems <= itemsPerPage) {\n return null;\n }\n\n return (\n \n );\n };\n\n private _renderProductList(): IOrderTemplateLineViewProps[] {\n const {\n selectOneRowText,\n moreButtonText,\n viewProductDetailsText,\n priceFree,\n originalPriceText,\n currentPriceText,\n addOrderTemplateItemToBagButtonText,\n removeItemFromOrderTemplateButtonText,\n productDimensionTypeColor,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n inputQuantityAriaLabel,\n deleteButtonText,\n incrementButtonAriaLabel,\n decrementButtonAriaLabel\n } = this.props.resources;\n\n const { context, telemetry } = this.props;\n const { imageSettings } = this.props.config;\n\n return this.state.productSelection.map((line, index) => {\n const currentProductProps: IOrderTemplateLineProps = {\n orderTemplateLine: line,\n productListLine: line.productListLine,\n price: line.fullProduct?.ProductPrice,\n context,\n isQuantityDisabledForUpdate: this.state.isQuantityDisabledForUpdate,\n productUrl: line.fullProduct ? getProductUrlSync(line.fullProduct.ProductDetails, context.actionContext, undefined) : '',\n imageSettings,\n telemetry,\n moduleId: this.props.id,\n moduleTypeName: this.props.typeName,\n quantity: line.productListLine.Quantity!,\n handlers: {\n onAddToBag: this._addItemToBag,\n onRemoveItem: this._removeItemFromOrderTemplateLines,\n onChangeQuantity: this._changeQuantity,\n onSelect: this.onSelect.bind(this)\n },\n resources: {\n selectOneRowText,\n moreButtonText,\n viewProductDetailsText,\n productDimensionTypeColor,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n freePriceText: priceFree,\n originalPriceText,\n currentPriceText,\n inputQuantityAriaLabel,\n removeFromOrderTemplateLinesText: removeItemFromOrderTemplateButtonText,\n addToBagButtonText: addOrderTemplateItemToBagButtonText,\n deleteButtonText,\n incrementButtonAriaLabel,\n decrementButtonAriaLabel\n },\n index,\n isMobile: this.isMobile,\n toggleDetailsDisplayed: this._toggleDetailsDisplayed\n };\n\n return OrderTemplateLineView(currentProductProps)!;\n });\n }\n\n private readonly _toggleDetailsDisplayed = (props: IOrderTemplateLineProps): void => {\n let state = {\n isDetailsDisplayed: !this.state.isDetailsDisplayed\n };\n if (props) {\n state = {\n ...state,\n ...{\n detailedProductView: OrderTemplateMobileLineView(props)\n }\n };\n }\n this.setState(state);\n };\n\n // Dismiss alert when addingToCart/removeItem\n private readonly _onDismiss = () => {\n this.setState({\n isOpen: false\n });\n };\n\n private readonly _changeQuantity = (itemKey: string, quantity: number, props?: IOrderTemplateLineProps) => {\n const { context, data, telemetry, config, resources } = this.props;\n const { orderTemplate } = data;\n\n if (context) {\n if (orderTemplate?.result) {\n const orderTemplateLinesData = orderTemplate.result.orderTemplateLines;\n if (orderTemplateLinesData) {\n const orderLineIndex = orderTemplateLinesData.findIndex(\n (lines: OrderTemplateLine) => lines.productListLine.LineId === itemKey\n );\n const newProductListLine = { ...orderTemplateLinesData[orderLineIndex] };\n if (orderTemplateLinesData[orderLineIndex].productListLine.Quantity === quantity) {\n return;\n }\n const prevQuantity = newProductListLine.productListLine.Quantity;\n newProductListLine.productListLine.Quantity = quantity;\n const { fullProduct, ...line } = newProductListLine;\n\n // Update mobile modal\n if (props) {\n props.quantity = quantity;\n this.setState({\n detailedProductView: OrderTemplateMobileLineView(props)\n });\n }\n\n this.setState({\n isQuantityDisabledForUpdate: true\n });\n\n updateProductListLinesAsync({ callerContext: context.actionContext }, orderTemplate.result.productList.Id, [\n line.productListLine\n ])\n .then(list => {\n this.setState({\n itemKey,\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isQuantityDisabledForUpdate: false,\n isOpen: false\n });\n if (list) {\n const newLine = list.find(lines => lines.LineId === itemKey);\n orderTemplateLinesData[orderLineIndex].productListLine = newLine!;\n const updatedLines = [...orderTemplateLinesData];\n updatedLines[orderLineIndex] = { fullProduct, productListLine: newLine! };\n const updatedOrderTemplate = { ...orderTemplate.result, ProductListLines: updatedLines };\n context.actionContext.update(\n new ActiveOrderTemplateLinesInput(context.actionContext.requestContext, config),\n updatedOrderTemplate\n );\n }\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable to update product quantity.');\n telemetry.error(error);\n const userMessage = resources.editOrderTemplateLineQuantityError;\n if (props) {\n props && (props.productListLine.Quantity = prevQuantity);\n this.setState({\n itemKey,\n userMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isQuantityDisabledForUpdate: false,\n isOpen: true,\n detailedProductView: OrderTemplateMobileLineView(props)\n });\n } else {\n newProductListLine.productListLine.Quantity = prevQuantity;\n this.setState({\n itemKey,\n userMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isQuantityDisabledForUpdate: false,\n isOpen: true\n });\n }\n });\n }\n }\n }\n };\n\n private readonly _addItemToBag = (product: SimpleProduct, quantity: number, itemKey: string): void => {\n const { context, data, resources, telemetry } = this.props;\n const { cart } = data;\n const { maxQuantityLimitText, addedToCartFailureMessage } = resources;\n\n if (context) {\n if (cart.result) {\n const addProductToCartInput = {\n product,\n count: quantity\n };\n\n cart.result\n .addProductToCart(addProductToCartInput)\n .then((result: ICartActionResult) => {\n if (result.status === 'SUCCESS') {\n return getPriceForSelectedVariant(\n new PriceForSelectedVariantInput(\n product.RecordId,\n this.props.context.actionContext.requestContext.apiSettings.channelId,\n product\n ),\n this.props.context.actionContext\n ).then(priceResult => {\n if (!priceResult) {\n return AsyncResult.reject('Failed to retrieve product price');\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- read config file.\n const isMiniCart = context.app.config.addToCartBehavior === 'showMiniCart';\n this.setState({\n itemKey,\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false,\n isItemAddedToOrderTemplateOpen: !isMiniCart,\n itemAddedToCartDialogData: {\n product,\n productPrice: priceResult,\n quantity\n },\n isDetailsDisplayed: false\n });\n return AsyncResult.resolve();\n });\n } else if (result.substatus === 'MAXQUANTITY') {\n const cartLineQuantity: number | undefined =\n cart.result?.cart.CartLines &&\n cart.result?.cart.CartLines.find(result => result.ProductId === product.RecordId)?.Quantity;\n const defaultMessage = `You can only add ${context.app.config.maxQuantityForCartLineItem} of this item to your shopping bag`;\n this.setState({\n itemKey,\n userMessage:\n cartLineQuantity !== undefined\n ? maxQuantityLimitText\n .replace('{curQuantity}', cartLineQuantity.toString())\n .replace('{maxQuantity}', context.app.config.maxQuantityForCartLineItem.toString()) ||\n defaultMessage\n : defaultMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n }\n telemetry.debug('[order-template-lines] Unable to Update Cart Line from the order template lines');\n this.setState({\n itemKey,\n userMessage: addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n })\n .catch((error: Error) => {\n telemetry.warning(error.message);\n telemetry.debug('[order-template-lines] Error trying to Update Cart Line from the order template lines');\n this.setState({\n itemKey,\n userMessage: addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n });\n }\n }\n };\n\n private readonly _removeItemFromOrderTemplateLines = (line: IOrderTemplateLineViewModel): void | undefined => {\n const { context, data, telemetry } = this.props;\n const { orderTemplate } = data;\n\n if (context && context.actionContext) {\n const maxWaitTimeInMilliSeconds: number = 1000;\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplate?.result && line) {\n removeProductListLinesAsync({ callerContext: context.actionContext }, line.productListLine.ProductListId!, [\n line.productListLine\n ])\n .then(async () => {\n // eslint-disable-next-line no-promise-executor-return -- fix\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\n window.location.reload();\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\n telemetry.error(error);\n });\n } else {\n telemetry.warning(\n '[order-template-lines] Unable remove items from the order template lines user token or lineItemID was not found'\n );\n }\n }\n };\n\n private readonly _renameTemplate = async (_template: ProductList): Promise => {\n window.location.reload();\n return Promise.resolve();\n };\n\n private readonly _removeTemplate = () => {\n const { context, data, telemetry, resources } = this.props;\n const { orderTemplate } = data;\n\n if (context && context.actionContext) {\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplate && orderTemplate.result) {\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.result.productList)\n .then()\n .catch((error: string) => {\n telemetry.warning('[order-template] Unable to delete order template.');\n telemetry.error(error);\n this.setState({\n itemKey: orderTemplate.result?.productList.Id || '',\n userMessage: resources.deleteOrderTemplateFailedText,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n });\n const newLink = getUrlSync('ordertemplatelist', this.props.context.actionContext);\n if (newLink) {\n window.location.assign(newLink);\n }\n } else {\n telemetry.warning('[order-template] Failed to delete order template. Order template was not found');\n }\n } else {\n telemetry.warning('[order-template] Failed to delete order template.');\n }\n };\n\n private _updateViewport(): void {\n this._viewport = this._getViewport();\n }\n\n private readonly _getViewport = (): GridSize => {\n const { context } = this.props;\n\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (MsDyn365.isBrowser && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n\n return 'xs';\n };\n\n /**\n * Renders a Pagination previous text.\n * @param paginationPreviousText - Pagination previous text from resources.\n * @returns Previous text and flipper icon.\n */\n private readonly _renderPrev = (paginationPreviousText: string) => {\n return (\n
    \n
    \n );\n };\n\n /**\n * Renders a Pagination next text.\n * @param paginationNextText - Pagination next text from resources.\n * @returns Next text and flipper icon.\n */\n private readonly _renderNext = (paginationNextText: string) => {\n return (\n
    \n {paginationNextText}\n
    \n );\n };\n}\n\nexport default OrderTemplateLines;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewProps } from './components';\nimport { IOrderTemplateViewProps } from './order-template';\n\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\n const {\n OrderTemplateLines,\n status,\n statusMessage,\n heading,\n ProductsTable,\n ProductsTableHeading,\n orderLines,\n ProductsTableRow,\n productsStatusMessage,\n OrderTemplateActions,\n orderActions,\n pagination,\n itemAddedToCartDialog,\n bulkOrderLineActions,\n isDetailsDisplayed,\n detailedProductView,\n toggleDetailsDisplayed,\n resources: { cancelBtnLabel, productNumberText, productText, productUnitPriceText, productUOMText, productQuantityText }\n } = props;\n\n const toggleDetails = React.useCallback(() => {\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\n }, [toggleDetailsDisplayed]);\n\n return (\n \n {heading}\n {OrderTemplateActions && (\n \n {orderActions?.addTemplateToBag}\n {orderActions?.renameTemplate}\n {orderActions?.removeTemplate}\n {!isDetailsDisplayed && productsStatusMessage}\n \n )}\n {bulkOrderLineActions}\n {status !== 'SUCCESS' && statusMessage}\n {ProductsTable && orderLines && orderLines.length > 0 && (\n \n \n {ProductsTableHeading}\n \n {orderLines &&\n orderLines.map(product => {\n return _renderItem(product, productQuantityText, ProductsTableRow);\n })}\n \n \n {pagination}\n \n )}\n {itemAddedToCartDialog}\n \n Product Details\n \n
      \n
    • {detailedProductView?.productImage}
    • \n
    • \n {productText}:\n {detailedProductView?.productInfo}\n
    • \n
    • \n {productNumberText}:\n {detailedProductView?.productNumber}\n
    • \n
    • \n {productUnitPriceText}:\n {` `}\n {detailedProductView?.productPrice}\n
    • \n
    • \n {productUOMText}:\n {` `}\n {detailedProductView?.productUnitOfMeasure}\n
    • \n
    • \n {productQuantityText}:\n {detailedProductView?.productQuantityView}\n
    • \n {productsStatusMessage &&
    • {productsStatusMessage}
    • }\n
    \n
    \n \n \n \n \n
    \n );\n};\n\nconst _renderItem = (product: IOrderTemplateLineViewProps, quantityLabel: string, ProductsTableRow?: INodeProps): JSX.Element | null => {\n if (!product) {\n return null;\n }\n\n const {\n key,\n selectLine,\n productImage,\n productPrice,\n productNumber,\n addToBagButton,\n removeButton,\n productInfo,\n productUnitOfMeasure,\n productQuantityView,\n productQuantity,\n popUp,\n isMobile\n } = product;\n\n return (\n \n {selectLine}\n {productImage}\n {isMobile ? (\n \n
    {productNumber}
    \n
    \n {quantityLabel}:{` `}\n {productQuantity}\n
    \n \n ) : (\n {productNumber}\n )}\n {!isMobile && {productInfo}}\n {!isMobile && {productPrice}}\n {!isMobile && {productUnitOfMeasure}}\n {!isMobile && {productQuantityView}}\n {isMobile && {popUp}}\n {!isMobile && (\n \n {addToBagButton}\n {removeButton}\n \n )}\n
    \n );\n};\n\nexport default OrderTemplateLinesView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductsDimensionsAvailabilities } from '@msdyn365-commerce/commerce-entities';\nimport { IPriceComponentResources, ProductComponent } from '@msdyn365-commerce/components';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getCatalogId, ICoreContext } from '@msdyn365-commerce/core';\nimport { ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport {\n ArrayExtensions,\n DimensionAvailabilitiesForProductSearchResultInput,\n DimensionTypes,\n DimensionSwatchDisplayTypes,\n getDimensionAvailabilitiesForProductSearchResultAction,\n getPriceForProductSearchResult,\n IDimensionsApp,\n ObjectExtensions,\n PriceForProductSearchResultInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IProductCollectionData } from './product-collection.data';\nimport { IProductCollectionProps, layout } from './product-collection.props.autogenerated';\n\nexport interface IProductCollectionViewProps extends IProductCollectionProps {\n heading?: React.ReactNode;\n ProductCollectionContainer: IModuleProps;\n SingleSlideCarouselComponentProps: INodeProps;\n GridComponentProps: INodeProps;\n products: IProductComponentViewProps[];\n isCarousel: boolean;\n productPrices?: ProductPrice[];\n seeAllButton?: React.ReactNode;\n}\n\nexport interface IProductComponentViewProps {\n ProductContainer: INodeProps;\n productComponent: React.ReactNode;\n}\nexport interface IProductComponentState {\n products: ProductSearchResult[];\n productsDimensionAvailabilities?: IProductsDimensionsAvailabilities[][];\n}\n\n/**\n * ProductCollection component.\n */\nclass ProductCollection extends React.PureComponent, IProductComponentState> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly productPrices: ProductPrice[];\n\n constructor(props: IProductCollectionProps) {\n super(props);\n this.productPrices = [];\n this.state = {\n products: this.props.config.productCollection.products || []\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public async componentDidMount(): Promise {\n if (this.props.config.enableAffiliationBasedPricing && this.props.context.actionContext.requestContext.user.isAuthenticated) {\n await this._getActivePrice();\n }\n }\n\n public render(): JSX.Element | null {\n const { heading, className, shouldDisplaySeeAllButton } = this.props.config;\n const { resources } = this.props;\n const recommendation = this.props.config.productCollection.recommendationListId;\n\n // Initialize state in case if the products were not found during initial module render\n // eslint-disable-next-line @typescript-eslint/no-floating-promises -- Initialize data if not there.\n this.initProductState(this.props.config.productCollection);\n\n const products = this.state.products;\n const isCarousel = this.props.config.layout === layout.carousel;\n const headingLabel = heading ? heading.text : '';\n const headingComponent = heading && (\n \n );\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- product check for safety.\n const updatedProducts = products?.map((item: ProductSearchResult, index: number) => {\n const getProductData = this._getProduct(item, index);\n return !ObjectExtensions.isNullOrUndefined(getProductData) ? getProductData : undefined;\n });\n\n const productCollectionViewProps = {\n ...this.props,\n heading: headingComponent,\n SingleSlideCarouselComponentProps: {\n tag: SingleSlideCarousel,\n className: '',\n flipperPrevLabel: `${headingLabel} ${resources.flipperPrevious}`,\n flipperNextLabel: `${headingLabel} ${resources.flipperNext}`,\n parentId: this.props.id,\n telemetryContent: this.telemetryContent\n } as IComponentNodeProps,\n ProductCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-product-collection', className)\n },\n GridComponentProps: {\n tag: 'ul' as NodeTag,\n className: 'ms-product-collection__items'\n },\n isCarousel,\n\n products:\n ArrayExtensions.hasElements(updatedProducts) &&\n updatedProducts.filter(item => {\n return item !== undefined;\n }),\n productPrices: this.productPrices,\n seeAllButton:\n recommendation && shouldDisplaySeeAllButton && ArrayExtensions.hasElements(updatedProducts)\n ? this._getSeeAllButton(recommendation, headingLabel)\n : undefined\n };\n return this.props.renderView(productCollectionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * Get products dimension availabilities.\n * @param products - Products.\n * @returns Promise.\n */\n private readonly _getProductsDimensionsAvailabilities = async (products: ProductSearchResult[]): Promise => {\n const context = this.props.context as ICoreContext;\n const dimensionsToDisplayOnProductCard = context.app.config.dimensionsInProductCard;\n const dimensionsToDisplayAsSwatch = context.app.config.dimensionsAsSwatchType;\n const validProducts = ArrayExtensions.validValues(products);\n if (\n ArrayExtensions.hasElements(validProducts) &&\n ArrayExtensions.hasElements(dimensionsToDisplayOnProductCard) &&\n !dimensionsToDisplayOnProductCard.includes(DimensionTypes.none) &&\n ArrayExtensions.hasElements(dimensionsToDisplayAsSwatch) &&\n !dimensionsToDisplayAsSwatch.includes(DimensionTypes.none)\n ) {\n const productsDimensionAvailabilities = await getDimensionAvailabilitiesForProductSearchResultAction(\n new DimensionAvailabilitiesForProductSearchResultInput(\n validProducts,\n this.props.context as ICoreContext,\n DimensionSwatchDisplayTypes.productCard\n ),\n this.props.context.actionContext\n );\n\n if (ArrayExtensions.hasElements(productsDimensionAvailabilities)) {\n this.setState({ productsDimensionAvailabilities });\n }\n }\n };\n\n /**\n * Helper method to initialize products state.\n * @param productCollection - List of products.\n */\n private readonly initProductState = async (productCollection: Msdyn365.IProductList) => {\n let products = this.state.products;\n const productCollectionProducts = productCollection.products;\n if (!ArrayExtensions.hasElements(products) && ArrayExtensions.hasElements(productCollectionProducts)) {\n products = productCollectionProducts;\n this.setState({ products });\n } else if (\n ArrayExtensions.hasElements(products) &&\n ArrayExtensions.hasElements(productCollectionProducts) &&\n !ArrayExtensions.equals(products, productCollectionProducts)\n ) {\n products = productCollectionProducts;\n this.setState({ products });\n } else if (productCollectionProducts === undefined && ArrayExtensions.hasElements(this.state.products)) {\n products = [];\n this.setState({ products: products });\n }\n\n if (Msdyn365.msdyn365Commerce.isBrowser && !ArrayExtensions.hasElements(this.state.productsDimensionAvailabilities)) {\n await this._getProductsDimensionsAvailabilities(products);\n }\n };\n\n private readonly _getProduct = (product: ProductSearchResult, index: number): IProductComponentViewProps | null => {\n if (!product || !product.Name) {\n this.props.telemetry.trace('[product-collection] Product or product name is null');\n return null;\n }\n const telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const { imageSettings, allowBackNavigation } = this.props.config;\n const resources = this.props.resources;\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n const allowBack = allowBackNavigation && (breaCrumbType === 'back' || breaCrumbType === 'categoryAndBack');\n const quickviewSlot =\n this.props.slots && this.props.slots.quickview && this.props.slots.quickview.length > 0 ? this.props.slots.quickview[0] : null;\n const productComparisonButtonSlot = ArrayExtensions.hasElements(this.props.slots.productComparisonButton)\n ? this.props.slots.productComparisonButton[0]\n : null;\n\n const reviewCount = 1;\n const reviewTotalRatings = Number(product.TotalRatings);\n const reviewCountAriaLabelValue =\n reviewTotalRatings > reviewCount ? resources.ratingCountAriaLabel : resources.ratingCountAriaLabelSingleUser;\n const isPriceMinMaxEnabled = this.props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature'\n );\n const priceResources: IPriceComponentResources = {\n priceRangeSeparator: resources.priceRangeSeparator\n };\n return {\n ProductContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-product-collection__item',\n role: 'listitem',\n key: index\n },\n productComponent: (\n \n ArrayExtensions.hasElements(dimensionAvailability) &&\n dimensionAvailability[0].masterProductId === (product.MasterProductId ?? product.RecordId)\n )}\n />\n )\n };\n };\n\n /**\n * Get the active price for products.\n */\n private readonly _getActivePrice = async (): Promise => {\n const productsList = this.state.products;\n const products = await getPriceForProductSearchResult(\n new PriceForProductSearchResultInput(productsList),\n this.props.context.actionContext\n );\n if (Msdyn365.msdyn365Commerce.isBrowser) {\n await this._getProductsDimensionsAvailabilities(products);\n }\n\n this.setState({ products });\n };\n\n /**\n * Get the see all button.\n * @param recommendation - Recommendation.\n * @param headingLabel - Heading label.\n * @returns IProductComponentSeeAllViewProps - Product component see all view props.\n */\n private readonly _getSeeAllButton = (recommendation: string, headingLabel: string): React.ReactNode => {\n const catalogId = getCatalogId(this.props.context.request);\n const seeAllLink = `/search?recommendation=${recommendation}&title=${headingLabel}&catalogid=${catalogId}`;\n return (\n \n {this.props.resources.seeAllButtonText}\n \n );\n };\n}\n\nexport default ProductCollection;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductCollectionViewProps, IProductComponentViewProps } from './product-collection';\n\nconst ProductCollectionView: React.FC = props => {\n const {\n heading,\n ProductCollectionContainer,\n products,\n SingleSlideCarouselComponentProps,\n GridComponentProps,\n isCarousel,\n seeAllButton\n } = props;\n\n if (products) {\n return (\n \n {heading}\n {seeAllButton}\n {isCarousel ? _renderCarousel(SingleSlideCarouselComponentProps, products) : _renderGrid(GridComponentProps, products)}\n \n );\n }\n props.context.telemetry.error('Product collection content is empty, module wont render.');\n return null;\n};\n\nconst _renderCarousel = (carouselContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\n return {items && items.map(_renderProduct)};\n};\n\nconst _renderGrid = (gridContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\n return {items && items.map(_renderProduct)};\n};\n\nconst _renderProduct = (product: IProductComponentViewProps): JSX.Element => {\n const { ProductContainer, productComponent } = product;\n\n return {productComponent};\n};\n\nexport default ProductCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, { getCatalogId, getUrlSync, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport {\n ArrayExtensions,\n convertProductDimensionTypeToDimensionTypes,\n getFallbackImageUrl,\n getProductUrlSync,\n ObjectExtensions,\n Random,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, isMobile, VariantType, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { RemoveFromComparisonButtonComponent } from '../product-comparison';\nimport { ProductComparisonState } from '../product-comparison-state';\nimport {\n getProductsInPreviewProductComparisonAction,\n GetProductsInPreviewProductComparisonInput,\n IProductComparisonProductData\n} from './actions';\nimport { IProductComparisonPreviewData } from './product-comparison-preview.data';\nimport { IProductComparisonPreviewProps } from './product-comparison-preview.props.autogenerated';\n\n/**\n * Represents product comparison view props for main product info.\n */\nexport interface IProductComparisonPreviewProductMainInfo {\n productData: IProductComparisonProductData;\n productNameLink?: string;\n\n removeFromComparisonButton: React.ReactNode;\n productImage: React.ReactNode;\n productLink: React.ReactNode;\n}\n\n/**\n * Represents product comparison view props.\n */\nexport interface IProductComparisonPreviewViewProps extends IProductComparisonPreviewProps<{}> {\n moduleProps: IModuleProps;\n collapseButton: INodeProps;\n isMainContentReady: boolean;\n\n hasUserInteractedWithComparison?: boolean;\n isExpanded?: boolean;\n subheaderText?: string;\n productsMainInfo?: IProductComparisonPreviewProductMainInfo[];\n previewGreyPlaceHolders?: React.ReactNode;\n\n productComparisonLink?: string;\n goToComparisonButton?: React.ReactNode;\n clearAllButton?: React.ReactNode;\n\n handleCollapseClick?(): void;\n clearAllProductsFromTheComparison?(): void;\n removeProductFromList?(itemId: string): void;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonPreviewState {\n isExpanded?: boolean;\n productsData?: IProductComparisonProductData[];\n greyPlaceHoldersCount?: number;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonPreviewFullProps extends IProductComparisonPreviewProps {}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductComparisonPreview extends React.PureComponent {\n public static readonly className = 'ms-product-comparison-preview';\n\n public static readonly containerClassName = `${ProductComparisonPreview.className}__container`;\n\n public static readonly mainContainerClassName = `${ProductComparisonPreview.containerClassName}__main-container`;\n\n public static readonly headerClassName = `${ProductComparisonPreview.mainContainerClassName}__header`;\n\n public static readonly headerLabelClassName = `${ProductComparisonPreview.headerClassName}__label`;\n\n public static readonly tableClassName = `${ProductComparisonPreview.mainContainerClassName}__table`;\n\n public static readonly tableRowClassName = `${ProductComparisonPreview.tableClassName}__product-row`;\n\n public static readonly footerClassName = `${ProductComparisonPreview.mainContainerClassName}__footer`;\n\n public static readonly collapseButtonClassName = `${ProductComparisonPreview.headerClassName}__collapse`;\n\n public static _displayedInstanceId?: string;\n\n private readonly _instanceId: string;\n\n private _hasUserInteractedWithComparison: boolean;\n\n public constructor(props: IProductComparisonPreviewFullProps) {\n super(props);\n\n this.state = {};\n\n this._instanceId = `${ProductComparisonPreview.className}-${this.props.id}-${Random.Guid.generateGuid()}`;\n ProductComparisonPreview._displayedInstanceId = this._instanceId;\n\n this._hasUserInteractedWithComparison = false;\n }\n\n public componentDidMount(): void {\n if (this._instanceId !== ProductComparisonPreview._displayedInstanceId) {\n return;\n }\n\n this._loadProducts();\n ProductComparisonState.instance(this.props.context.request).listModifiedEvent.subscribe({\n instanceId: this._instanceId,\n\n /**\n * Updates the state in case the state for the particular product was changed.\n */\n handler: () => {\n this._hasUserInteractedWithComparison = true;\n // eslint-disable-next-line @typescript-eslint/no-floating-promises -- Initialize data downloading.\n this._loadProducts();\n }\n });\n }\n\n public componentWillUnmount(): void {\n ProductComparisonState.instance(this.props.context.request).listModifiedEvent.unsubscribe(this._instanceId);\n }\n\n public render(): React.ReactNode {\n if (this._instanceId !== ProductComparisonPreview._displayedInstanceId) {\n return null;\n }\n\n const viewProps: IProductComparisonPreviewViewProps = {\n ...this.props,\n moduleProps: {\n moduleProps: this.props,\n className: ProductComparisonPreview.className,\n id: this._instanceId\n },\n collapseButton: this._renderCollapseButton(),\n isMainContentReady: false,\n hasUserInteractedWithComparison: this._hasUserInteractedWithComparison\n };\n\n const productData = this._getProdutComparisonDataByCatalogId(this.state.productsData ?? this.props.data.productsData?.result);\n\n if (!ArrayExtensions.hasElements(productData)) {\n return this.props.renderView(viewProps);\n }\n\n viewProps.isMainContentReady = true;\n\n const productsLimit = this._getProductsLimit();\n if (!ObjectExtensions.isNullOrUndefined(productsLimit)) {\n viewProps.subheaderText = this.props.resources.productComparisonPreviewHeaderTextWithLimit\n .replace('{0}', productData.length.toString())\n .replace('{1}', productsLimit.toString());\n }\n\n viewProps.isExpanded = this.state.isExpanded;\n viewProps.handleCollapseClick = this._handleCollapseClick;\n viewProps.productsMainInfo = this._getProductsMainInfo(productData);\n viewProps.previewGreyPlaceHolders = this._renderGreyPlaceHolders(productData);\n viewProps.productComparisonLink = getUrlSync('product-comparison', this.props.context.actionContext);\n viewProps.clearAllProductsFromTheComparison = this._clearAllProductsFromTheComparison;\n viewProps.removeProductFromList = this._removeProductFromList;\n viewProps.goToComparisonButton = this._renderGoToComparisonButton(viewProps.productComparisonLink);\n viewProps.clearAllButton = this._renderClearAllButton();\n\n return this.props.renderView(viewProps);\n }\n private _getProdutComparisonDataByCatalogId(productData: IProductComparisonProductData[] | undefined): IProductComparisonProductData[] {\n const catalogId = getCatalogId(this.props.context.request);\n const productByCatalogId = productData?.filter(product => product.catalogId === catalogId) ?? [];\n return productByCatalogId;\n }\n private async _loadProducts(): Promise {\n const items = ProductComparisonState.instance(this.props.context.request).items;\n const input = new GetProductsInPreviewProductComparisonInput(items);\n const productData = await getProductsInPreviewProductComparisonAction(input, this.props.context.actionContext);\n const productDataByCatalogId = this._getProdutComparisonDataByCatalogId(productData);\n this.setState({ productsData: productDataByCatalogId });\n this._getGreyPlaceHoldersCount(productDataByCatalogId);\n }\n\n private _getGreyPlaceHoldersCount(productData: IProductComparisonProductData[]): number | undefined {\n if (productData && ArrayExtensions.hasElements(productData)) {\n const limit = this._getProductsLimit();\n if (limit && this.props.context.app.config.displayGreyPlaceHolders) {\n const placeHolder = limit - productData.length;\n this.setState({ greyPlaceHoldersCount: placeHolder });\n return placeHolder;\n }\n }\n return;\n }\n\n private _getProductsMainInfo(products: IProductComparisonProductData[]): IProductComparisonPreviewProductMainInfo[] {\n const productImageContainerClassName = `${ProductComparisonPreview.tableRowClassName}__product-image-container`;\n const productImageClassName = `${productImageContainerClassName}__product-image`;\n const productNameClassName = `${ProductComparisonPreview.tableRowClassName}__product-name`;\n\n return products.map(productData => {\n const product = productData.product;\n\n let productNameLink: string | undefined;\n if (msdyn365Commerce.isBrowser) {\n const productUrl = getProductUrlSync(product, this.props.context.actionContext);\n const fullUrl = new URL(productUrl, window.location.href);\n if (this.props.context.request.user.isB2b) {\n fullUrl.searchParams.set('catalogid', `${productData.catalogId}`);\n }\n product.Dimensions?.map(dimension => {\n const dimensionValue = dimension.DimensionValue?.Value;\n if (!StringExtensions.isNullOrWhitespace(dimensionValue)) {\n const dimensionName = convertProductDimensionTypeToDimensionTypes(dimension.DimensionTypeValue);\n fullUrl.searchParams.set(dimensionName, dimensionValue!);\n }\n });\n productNameLink = fullUrl.href;\n }\n\n return {\n productNameLink,\n productData,\n removeFromComparisonButton: (\n \n ),\n productImage: (\n \n {this._renderProductImage(productImageClassName, productData.product)}\n \n ),\n productLink: (\n \n {productData.product.Name}\n \n )\n };\n });\n }\n\n /**\n * Represents product comparison preview view.\n * @returns Elements.\n */\n private _renderGreyPlaceHolders = (productData: IProductComparisonProductData[]): React.ReactNode[] | undefined => {\n const counts = this.state.greyPlaceHoldersCount;\n if (this.props.context.app.config.displayGreyPlaceHolders && counts! > 0) {\n const elements = [];\n for (let index = 0; index < counts!; index++) {\n elements.push(\n \n
    \n \n );\n }\n return elements;\n }\n return;\n };\n\n /**\n * Removes the product from a list.\n * @param itemId - The id of a product to remove.\n */\n private readonly _removeProductFromList = (itemId: string): void => {\n ProductComparisonState.instance(this.props.context.request).removeItemById(itemId);\n this.setState(previousState => {\n return {\n productsData: previousState.productsData?.filter(item => item.itemId !== itemId)\n };\n });\n };\n\n /**\n * Toggle collapsing.\n */\n private readonly _handleCollapseClick: () => void = () => {\n this.setState(previousState => {\n return {\n isExpanded: !(previousState.isExpanded ?? this._hasUserInteractedWithComparison)\n };\n });\n };\n\n /**\n * Removes all products from the comparison.\n */\n private readonly _clearAllProductsFromTheComparison = () => {\n ProductComparisonState.instance(this.props.context.request).clearAll();\n this.setState({ productsData: [] });\n };\n\n private _getProductsLimit(): number | undefined {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n if (viewport === 'xs' || viewport === 'sm') {\n return this.props.context.app.config.productComparisonMobileProductsLimit;\n }\n return this.props.context.app.config.productComparisonDesktopProductsLimit;\n }\n\n /**\n * Retrieves product image react node.\n * @param className - Class name to use.\n * @param product - Product info.\n * @returns React node.\n */\n private _renderProductImage(className: string, product?: SimpleProduct): React.ReactNode | undefined {\n if (ObjectExtensions.isNullOrUndefined(product)) {\n return undefined;\n }\n\n const defaultImageSettingQ = 'w=140&h=140&m=6';\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: defaultImageSettingQ, w: 0, h: 0 },\n lg: { q: defaultImageSettingQ, w: 0, h: 0 },\n xl: { q: defaultImageSettingQ, w: 0, h: 0 }\n },\n lazyload: true\n };\n\n return (\n \n );\n }\n\n private _renderCollapseButton(): INodeProps {\n const shouldBeExpanded = this.state.isExpanded ?? this._hasUserInteractedWithComparison;\n const headerContainerClassName = `${ProductComparisonPreview.mainContainerClassName}__header_button`;\n let collapseClassName = `${ProductComparisonPreview.collapseButtonClassName}__expanded`;\n if (!shouldBeExpanded) {\n collapseClassName = `${ProductComparisonPreview.collapseButtonClassName}__collapsed`;\n }\n\n return {\n className: classnames(headerContainerClassName, ProductComparisonPreview.collapseButtonClassName, collapseClassName),\n onClick: this._handleCollapseClick,\n role: 'button',\n tabIndex: 0\n };\n }\n\n private _renderGoToComparisonButton(productComparisonLink: string | undefined): React.ReactNode {\n return (\n \n {this.props.resources.productComparisonCompareProductsButtonText}\n \n );\n }\n\n private _renderClearAllButton(): React.ReactNode {\n return (\n \n {this.props.resources.productComparisonClearAllProductsButtonText}\n \n );\n }\n}\n\nexport default ProductComparisonPreview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce from '@msdyn365-commerce/core';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IProductComparisonPreviewViewProps, ProductComparisonPreview } from './product-comparison-preview';\n\n/**\n * Represents product comparison preview view.\n * @param props - View props for product comparison preview.\n * @returns Functional component of product comparison preview.\n */\nexport const ProductComparisonPreviewViewFunctionalComponent: React.FC = props => {\n if (!props.isMainContentReady) {\n return null;\n }\n\n const shouldBeExpanded = props.isExpanded ?? props.hasUserInteractedWithComparison;\n\n const containerClassName = classnames(\n ProductComparisonPreview.mainContainerClassName,\n shouldBeExpanded ? '' : `${ProductComparisonPreview.mainContainerClassName}__collapsed`\n );\n\n return (\n \n \n \n \n \n \n \n \n \n {props.resources.productComparisonPreviewHeaderText}\n \n \n {props.subheaderText}\n \n \n \n \n \n \n \n {props.productsMainInfo?.map(info => {\n return (\n \n {info.removeFromComparisonButton}\n {info.productImage}\n \n );\n })}\n {props.previewGreyPlaceHolders}\n \n \n {props.productsMainInfo?.map(info => {\n return (\n \n {msdyn365Commerce.isBrowser ? info.productLink : undefined}\n \n );\n })}\n \n \n \n \n \n {props.clearAllButton}\n {props.goToComparisonButton}\n \n \n \n \n );\n};\n\nexport default ProductComparisonPreviewViewFunctionalComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml, ICoreContext, ITelemetry } from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy';\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport React from 'react';\n\n/**\n * Represents resources for the component.\n */\nexport interface IProductSpecificationResources {\n productComparisonProductItemSpecificationTrue: string;\n productComparisonProductItemSpecificationFalse: string;\n}\n\n/**\n * Represent configuration of the component.\n */\nexport interface IProductSpecificationProps {\n telemetry: ITelemetry;\n specification?: AttributeValue;\n context: ICoreContext;\n\n resources: IProductSpecificationResources;\n}\n\n/**\n * Represents the product specification values that comes from the server.\n */\nexport enum SpecificationDataTypeValues {\n none = 0,\n currency = 1,\n dateTime = 2,\n decimal = 3,\n integer = 4,\n text = 5,\n boolean = 6,\n video = 40,\n image = 41\n}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductSpecification extends React.PureComponent {\n private static _renderCurrencyCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.CurrencyValue)) {\n return null;\n }\n\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n private static _renderDateTimeCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isFunction(product.DateTimeOffsetValue?.toUTCString)) {\n return null;\n }\n\n return {product.DateTimeOffsetValue!.toUTCString()};\n }\n\n private static _renderIntegerCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.IntegerValue)) {\n return null;\n }\n\n return {product.IntegerValue};\n }\n\n private static _renderDecimalCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.FloatValue)) {\n return null;\n }\n\n return {product.FloatValue};\n }\n\n private static _renderTextCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.TextValue)) {\n return null;\n }\n\n // eslint-disable-next-line react/no-danger -- Implementation is a copy.\n return ;\n }\n\n public constructor(props: IProductSpecificationProps) {\n super(props);\n }\n\n public render(): React.ReactNode | null {\n const specification = this.props.specification;\n if (ObjectExtensions.isNullOrUndefined(specification)) {\n return null;\n }\n\n switch (specification.DataTypeValue) {\n case SpecificationDataTypeValues.none:\n // Return span here instead of null so the row still shows\n return ;\n case SpecificationDataTypeValues.currency:\n return ProductSpecification._renderCurrencyCell(specification);\n case SpecificationDataTypeValues.dateTime:\n return ProductSpecification._renderDateTimeCell(specification);\n case SpecificationDataTypeValues.decimal:\n return ProductSpecification._renderDecimalCell(specification);\n case SpecificationDataTypeValues.integer:\n return ProductSpecification._renderIntegerCell(specification);\n case SpecificationDataTypeValues.text:\n return ProductSpecification._renderTextCell(specification);\n case SpecificationDataTypeValues.boolean:\n return this._renderTrueFalseCell(specification);\n case SpecificationDataTypeValues.video:\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case SpecificationDataTypeValues.image:\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${specification.DataTypeValue ?? 'null'} so skipping line`);\n return null;\n }\n }\n\n private _renderTrueFalseCell(product: AttributeValue): React.ReactNode | null {\n if (product.BooleanValue) {\n return {this.props.resources.productComparisonProductItemSpecificationTrue};\n }\n return {this.props.resources.productComparisonProductItemSpecificationFalse};\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback } from 'react';\n\n/**\n * Resources for the remove from comparison button component.\n */\nexport interface IRemoveFromComparisonButtonResources {\n productComparisonRemoveProductFromListAriaLabel: string;\n}\n\n/**\n * The configuration of the remove from comparison button component.\n */\nexport interface IRemoveFromComparisonButtonComponentProps extends IComponentProps {\n className: string;\n itemId: string;\n\n resources: IRemoveFromComparisonButtonResources;\n\n onClickHandler(itemId: string): void;\n}\n\n/**\n * Represents a button which handles adding to product comparison.\n * @param props - Configuration of the component.\n * @returns React functional component.\n */\nconst RemoveFromComparisonButtonFunctionalComponent: React.FC = (\n props: IRemoveFromComparisonButtonComponentProps\n) => {\n const onClick = useCallback(() => {\n props.onClickHandler(props.itemId);\n }, [props]);\n\n const { className } = props;\n\n return \n );\n }\n\n private readonly _goBack = (): void => {\n const backToShoppingUrl = getUrlSync('home', this.props.context.actionContext) || '';\n if (document.referrer === '') {\n window.location.href = backToShoppingUrl;\n } else {\n window.history.back();\n }\n };\n\n /**\n * Retrieves localized text for dimension.\n * @param dimensionId - Dimension id.\n * @returns Localized text.\n */\n private _getDimensionName(dimensionId: number): string | undefined {\n if (dimensionId === ProductDimensionType.Color) {\n return this.props.resources.productComparisonProductItemColorDimension;\n }\n if (dimensionId === ProductDimensionType.Size) {\n return this.props.resources.productComparisonProductItemSizeDimension;\n }\n\n if (dimensionId === ProductDimensionType.Style) {\n return this.props.resources.productComparisonProductItemStyleDimension;\n }\n return undefined;\n }\n\n private getUpdatedDimensionsProps(dimensionId: number, products: IProductComparisonProductMainInfo[]) {\n const dimensionClassName = `${ProductComparison.dimensionsRowClassName}__dimension-${dimensionId}`;\n const dimensionDescription = this._getDimensionName(dimensionId);\n const dimensionName = convertProductDimensionTypeToDimensionTypes(dimensionId);\n let dimensionSelectionType = SelectionType.text;\n\n const dimensionsAsSwatchConfiguration: DimensionTypes[] | undefined = this.props.context.app.config.dimensionsAsSwatchType;\n if (\n ArrayExtensions.hasElements(dimensionsAsSwatchConfiguration) &&\n !dimensionsAsSwatchConfiguration?.includes(DimensionTypes.none) &&\n dimensionsAsSwatchConfiguration?.includes(dimensionName)\n ) {\n dimensionSelectionType = SelectionType.swatch;\n }\n\n const productDimensionValues = products.map(productMainInfo => {\n let dimension: IDimensionResult[] = [];\n let textValue: string = '';\n let renderSwatch: JSX.Element | undefined;\n this.props.data.productsData?.result?.map(productsDimension => {\n if (productsDimension.productInfo.RecordId === productMainInfo.product.productInfo.RecordId) {\n dimension = productsDimension.dimensions?.dimensions ?? [];\n }\n return dimension;\n });\n\n if (dimensionSelectionType === SelectionType.swatch) {\n renderSwatch = (\n
    \n {dimension.map(dimensionItems => {\n return (\n \n {dimensionItems.result.map(dimensionItem => {\n let currentDimensionId: number | undefined;\n const swatches =\n dimensionItem.map(swatchItem => {\n let isDefaultDimension: boolean = false;\n const selectedDimensions = productMainInfo.product.productInfo.Dimensions?.filter(\n item => item.DimensionTypeValue === swatchItem.DimensionTypeValue\n );\n selectedDimensions?.map(selectedDimension => {\n if (\n selectedDimension.DimensionValue !== undefined &&\n selectedDimension.DimensionValue.DimensionId ===\n swatchItem.DimensionValue?.DimensionId\n ) {\n isDefaultDimension = true;\n }\n return isDefaultDimension;\n });\n\n if (swatchItem.DimensionTypeValue === dimensionId) {\n currentDimensionId = swatchItem.DimensionTypeValue;\n }\n const dimensionType = dimensionName;\n return {\n itemId: `${swatchItem.DimensionValue?.RecordId ?? ''}-${swatchItem.DimensionValue\n ?.Value ?? ''}`,\n value: swatchItem.DimensionValue?.Value ?? '',\n dimensionType,\n colorHexCode: swatchItem.DimensionValue?.ColorHexCode,\n imageUrl: swatchItem.DimensionValue?.ImageUrl,\n isDefault: isDefaultDimension\n };\n }) ?? [];\n if (currentDimensionId && currentDimensionId === dimensionId) {\n return (\n \n );\n }\n return null;\n })}\n
    \n );\n })}\n
    \n );\n }\n\n if (dimensionSelectionType === SelectionType.text) {\n dimension.map(item => {\n return item.result.map(items => {\n return items.map(dimensionItem => {\n if (dimensionItem.DimensionTypeValue === dimensionId) {\n const productDimensionSeperatorValue =\n textValue !== ''\n ? this.props.resources.productDimensionSeparator\n : this.props.resources.productDimensionSeparator.replace('/', '');\n textValue = textValue + format(productDimensionSeperatorValue, dimensionItem.DimensionValue?.Value ?? '');\n }\n return textValue;\n });\n });\n });\n }\n\n const dimensionProps = {\n RecordId: productMainInfo.product.productInfo.RecordId,\n Value: textValue,\n DimensionId: dimensionId,\n ImageUrl: productMainInfo.product.productInfo.PrimaryImageUrl\n };\n\n return {\n dimensionProps,\n productMainInfo,\n node: (\n
    \n {dimensionSelectionType === SelectionType.swatch ? renderSwatch : dimensionProps.Value}\n
    \n )\n };\n });\n return {\n dimensionId,\n dimensionName: dimensionDescription,\n dimensionClassName,\n productDimensionValues\n };\n }\n private _getSpecificationProps(specifications: AttributeValue[], products: IProductComparisonProductMainInfo[]) {\n return specifications.map(specification => {\n const specificationClassName = `${ProductComparison.specificationsRowClassName}__specification-${specification.Name!}`;\n\n const specificationValues = products.map(productMainInfo => {\n const productSpecification = productMainInfo.product.specifications?.specificationsList.find(\n productSpecifications => productSpecifications.Name === specification.Name\n );\n\n return {\n productSpecification,\n productMainInfo,\n node: (\n
    \n \n
    \n )\n };\n });\n\n return {\n specification,\n specificationClassName,\n specificationValues\n };\n });\n }\n\n private _renderHeading(): React.ReactNode {\n return ;\n }\n\n private _renderLoading(): React.ReactNode {\n return
    {this.props.resources.productComparisonLoadingText}
    ;\n }\n\n private _renderClearAllButton(): React.ReactNode {\n return (\n \n {this.props.resources.productComparisonClearAllButtonText}\n \n );\n }\n\n /**\n * Retrieves unique dimension ids of product.\n * @param products - Product.\n * @returns Unique dimension ids.\n */\n private getProductsDimensionsIds(products: IProductComparisonItemData[]): number[] {\n const dimensions = products.map(product => product.productInfo.Dimensions);\n const allDimensions: ProductDimension[] = ArrayExtensions.flatten(dimensions);\n\n const dimensionIds = ArrayExtensions.validValues(allDimensions.map(dimension => dimension.DimensionTypeValue));\n const uniqueDimensionIds = ArrayExtensions.unique(dimensionIds);\n\n return uniqueDimensionIds;\n }\n\n private _renderPreviousClicker(): React.ReactNode {\n return (\n \n