{"version":3,"file":"static/js/3671.780f1c22.js","mappings":"wPAWIA,EAA8B,oGAC9BC,EAA0B,CAC1BC,OAAQ,2BACRC,MAAO,wCACPC,KAAM,mCACN,UAAW,8BACX,WAAY,8BACZ,cAAe,kCAkCfC,EAAS,CAAC,EACHC,EAAsC,SAASC,GAEtD,IACIC,EADAC,GADJF,EAAsBN,EAAwBM,IAAwBA,GACrCG,MAAMV,GAElCS,IAEDA,EAASR,EADTO,EAAY,UACgCE,MAAMV,IAEtDS,EAASA,EAAOE,MAAM,EAAG,GACzB,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAOI,OAAQD,IAC/BH,EAAOG,GAAKE,WAAWL,EAAOG,IAElC,IAAIG,EAAaP,GAAa,eAAiBC,EAAOO,KAAK,KAAKC,QAAQ,MAAO,KAM/E,OALK,QAAWZ,EAAOU,MACnBV,EAAOU,GAAc,SAASG,EAAGC,EAAGC,EAAGC,EAAGC,GACtC,OAAOD,GAhDUE,EAgDQd,EAAO,GAhDXe,EAgDef,EAAO,GAhDlBgB,EAgDsBhB,EAAO,GAhDzBiB,EAgD6BjB,EAAO,GA7CrEkB,EAAK,GAFLC,EAAK,EAAIL,IACTM,EAAK,GAAKJ,EAAKF,GAAMK,GAIrBE,EAAK,GAFLC,EAAK,EAAIP,IACTQ,EAAK,GAAKN,EAAKF,GAAMO,GAErBE,EAAU,SAASd,GACnB,OAAOA,GAAKS,EAAKT,GAAKU,EAAKV,EAAIQ,GACnC,EACIO,EAAc,SAASf,GACvB,OAAOS,EAAKT,GAAK,EAAIU,EAAK,EAAIV,EAAIQ,EACtC,EACO,SAASR,GACZ,OAAO,SAASA,GACZ,OAAOA,GAAKY,EAAKZ,GAAKa,EAAKb,EAAIW,GACnC,CAFO,CAEL,SAASX,GAIP,IAHA,IAEIgB,EAFAjB,EAAIC,EACJP,EAAI,EAEDA,EAAI,KACPuB,EAAIF,EAAQf,GAAKC,IACbiB,KAAKC,IAAIF,GAAK,QAGlBjB,GAAKiB,EAAID,EAAYhB,GACrBN,IAEJ,OAAOM,CACX,CAbE,CAaAC,GACN,GAkB6EA,EAAIG,GAAKF,EAhDtE,IAASG,EAAIC,EAAIC,EAAIC,EACjCE,EACAC,EACAF,EACAI,EACAC,EACAF,EACAG,EAGAC,CAuCA,GAEGnB,CACX,E,2EC5DI,GAAS,UA+CTuB,GAAkB,QAAaC,EAAA,EAAa,QAI5CC,EAAuB,gBACvBC,EAAgB,aAChBC,EAAiB,cACjBC,EAAiB,YACjBC,EAA8B,CAC9BC,cAAe,SAASC,EAAUC,GAC9BD,EAASE,IAAI,CACTC,mBAAoB,SAEpB,iBAAoBF,EAAOG,KAC3BJ,EAASK,SAASJ,EAAOG,MAEzBE,EAASN,EAAUC,EAAOG,MAE9B,IAAIG,EAAOC,KACPC,EAAW,IAAI,KACfC,EAAcT,EAAOS,YACzBT,EAAOU,oBAAsB,CACzBF,SAAUA,EACVG,OAAQ,WACJL,EAAKM,kBAAkBb,GACnBU,GACA,QAAKD,EAAUC,GAAaI,QAAO,WAC/BP,EAAKQ,SAASf,EAAUC,EAC3B,IAEDM,EAAKQ,SAASf,EAAUC,GAE5BQ,EAASO,YAAYhB,EAAU,CAACC,EAAQD,GAC5C,GAEJQ,KAAKS,2BAA2BjB,EAAUC,GAAQiB,MAAK,WACnDjB,EAAOU,oBAAoBC,QAC9B,IAAGO,MAAK,WACLV,EAASW,WAAWpB,EAAU,CAACC,EAAQD,GAC1C,IACIC,EAAOoB,UACRpB,EAAOU,oBAAoBC,SAE/BZ,EAASE,IAAI,YACjB,EACAoB,QAAS,SAAStB,EAAUC,GAExB,OADAO,KAAKe,gBAAgBvB,EAAUC,GACxBA,EAAOU,oBAAoBF,SAASe,SAC/C,EACAP,2BAA4B,SAASjB,EAAUC,GAC3C,IAKIwB,EALAlB,EAAOC,KACPkB,EAAYC,KAAKC,MAAQ3B,EAAO4B,MAChCpB,EAAW,IAAI,KACfqB,EAAqB,IAAI,KACzBC,EAA8B,IAAI,KAElCC,GAA6B,IAAAC,0BAA2B,QAC5DhC,EAAOU,oBAAoBuB,QAAU,WACjCC,aAAaV,GACbU,aAAaC,GACb,QAAiBpC,EAAUgC,GAC3B,QAAiBhC,EAAUR,EAC/B,EACA,QAAiBQ,EAAUgC,GAA4B,WAC/CL,KAAKC,MAAQF,GAAazB,EAAOoB,UACjCS,EAAmBO,QAE1B,IACD,QAAiBrC,EAAUR,GAC3B,OAAgBQ,EAAUR,GAAiB,WACvCe,EAAK+B,KAAKtC,EAAUC,GACpBQ,EAAS4B,QACZ,IACD,IAAID,EAAyBG,YAAW,WACpCd,EAAyBc,YAAW,WAChCR,EAA4BM,QAC/B,GAAGpC,EAAOoB,SAAWpB,EAAO4B,MAAQW,EAAGC,+BACxC,QAAKX,EAAoBC,GAA6BZ,KAAK,WACvDV,EAASiC,SACb,EAAEC,KAAKnC,MACV,IACD,OAAOC,EAASe,SACpB,EACAD,gBAAiB,SAASvB,EAAUC,GAChCD,EAASE,IAAI,CACTC,mBAAoB,MACpByC,gBAAiB3C,EAAO4B,MAAQ,KAChCgB,mBAAoB5C,EAAOoB,SAAW,KACtCyB,yBAA0B7C,EAAO1C,SAEjC,iBAAoB0C,EAAO8C,GAC3B/C,EAAS,GAAGgD,WAAa,IAAM/C,EAAO8C,GAC/B9C,EAAO8C,IACdzC,EAASN,EAAUC,EAAO8C,GAElC,EACAlC,kBAAmB,SAASb,GACxBA,EAASE,IAAI,aAAc,OAC/B,EACAa,SAAU,SAASf,EAAUC,GACzBA,EAAOU,oBAAoBuB,UACvB,iBAAoBjC,EAAOG,OAC3BJ,EAASiD,YAAYhD,EAAOG,MAC5BJ,EAASiD,YAAYhD,EAAO8C,IAEpC,EACAT,KAAM,SAAStC,EAAUC,EAAQiD,GACxBjD,IAGDiD,EACAjD,EAAOU,oBAAoBC,WAEvB,QAAcX,EAAO8C,MACrB,QAAK9C,EAAO8C,IAAI,SAAUI,GACtBnD,EAASE,IAAIiD,EAAKnD,EAASE,IAAIiD,GAClC,IAEL3C,KAAKK,kBAAkBb,GACvBQ,KAAKO,SAASf,EAAUC,IAEhC,GAEAmD,EAAyB,CACzBrD,cAAe,SAASC,EAAUC,GAC9BK,EAASN,EAAUC,EAAOG,KAC9B,EACAkB,QAAS,SAAStB,EAAUC,GACxB,IAAIQ,EAAW,IAAI,KACfF,EAAOC,KACX,OAAKP,IAGL,QAAKA,EAAO8C,IAAI,SAAUM,QAClB,IAAWpD,EAAOG,KAAKiD,KACvBpD,EAAOG,KAAKiD,GAAQ9C,EAAK+C,gBAAgBtD,EAASE,IAAImD,IAE7D,IACGpD,EAAO8C,GAAGlD,KACVI,EAAOG,KAAKP,GAAkBU,EAAKgD,gBAAgBtD,EAAOG,KAAKP,IAC/DI,EAAO8C,GAAGlD,GAAkBU,EAAKgD,gBAAgBtD,EAAO8C,GAAGlD,KAE/DI,EAAOuD,eAAiB,CACpBT,GAAI9C,EAAO8C,GACX3C,KAAMH,EAAOG,KACbqD,aAAcxD,EAAOG,KACrB7C,OAAQC,EAAoCyC,EAAO1C,QACnD8D,SAAUpB,EAAOoB,SACjBK,WAAW,IAAKC,MAAM+B,UACtB9C,OAAQ,WACJJ,KAAKiD,aAAejD,KAAKuC,GACzBvC,KAAKmD,QACL,OAAqB1D,EAAOuD,eAAeI,kBAC3CnD,EAASiC,SACb,EACAiB,KAAM,WACF,GAAI1D,EAAO0D,KACP1D,EAAO0D,KAAKnD,KAAKiD,kBADrB,CAIA,IAAIA,GAAe,EAAAI,EAAA,GAAO,CAAC,EAAGrD,KAAKiD,cAC/BA,EAAa5D,KACb4D,EAAa5D,IAAkB,QAAI4D,EAAa5D,IAAiB,SAAUiE,EAAOT,GAC9E,MAAI,cAAgBA,GACT,QAAgBS,GAChB,UAAYT,EACZ,SAAWS,EAAQ,IACnB,WAAaT,EAAKU,OAAO,EAAGV,EAAKtF,OAAS,GAC1CsF,EAAO,IAAMS,EAAQ,YADzB,CAGV,IAAG5F,KAAK,MAEb8B,EAASE,IAAIuD,EAbb,CAcJ,GAEAxD,EAAO4B,OACP5B,EAAOuD,eAAe9B,WAAazB,EAAO4B,MAC1C5B,EAAOuD,eAAeQ,aAAezB,YAAW,WAC5ChC,EAAKgB,gBAAgBvB,EAAUC,EAClC,GAAGA,EAAO4B,QAEXtB,EAAKgB,gBAAgBvB,EAAUC,GAE5BQ,EAASe,WApDLf,EAAS4B,SAASb,SAqDjC,EACAD,gBAAiB,SAASvB,EAAUC,GAChC,QAAiBD,EAAUR,GAC3B,OAAgBQ,EAAUR,GAAiB,WACnCS,EAAOuD,iBACP,OAAqBvD,EAAOuD,eAAeI,iBAElD,IACDpD,KAAKyD,eAAejE,EAAUC,EAClC,EACAsD,gBAAiB,SAASW,GACtB,IAAIC,EAAS,CAAC,EAed,OAdA,QAAKD,EAAgBtG,MAAM,2BAA2B,SAAUE,EAAGsG,GAC/D,IAAIC,GAAgB,QAAeD,GAC/BE,EAAYF,EAAKxG,MAAM,kBACvB2G,EAAaH,EAAKxG,MAAM,wBACxByG,IACAF,EAAOK,UAAYH,GAEnBC,GAAaA,EAAU,KACvBH,EAAOM,MAAQzG,WAAWsG,EAAU,KAEpCC,GAAcA,EAAW,KACzBJ,EAAOI,EAAW,IAAMvG,WAAWuG,EAAW,IAErD,IACMJ,CACX,EACA7B,KAAM,SAAStC,EAAUC,EAAQiD,GAC7B,IAAIM,EAAiBvD,GAAUA,EAAOuD,eACjCA,KAGL,OAAqBA,EAAeI,kBACpCzB,aAAaqB,EAAeQ,cACxBd,GACAM,EAAe5C,gBAEZX,EAAOuD,eAClB,EACAS,eAAgB,SAASjE,EAAUC,GAC/B,IAAIuD,EAAiBvD,GAAUA,EAAOuD,eACtC,GAAKA,EAAL,CAGA,IAAI5B,GAAM,IAAKD,MAAM+B,UACrB,GAAI9B,GAAO4B,EAAe9B,UAAY8B,EAAenC,SACjDmC,EAAe5C,aADnB,CAIA4C,EAAeC,aAAejD,KAAKkE,eAAelB,EAAgB5B,EAAM4B,EAAe9B,WACvF8B,EAAeG,OACf,IAAIpD,EAAOC,KACXgD,EAAeI,kBAAmB,QAAsB,WACpDrD,EAAK0D,eAAejE,EAAUC,EACjC,GAND,CALA,CAYJ,EACAyE,eAAgB,SAASlB,EAAgBmB,GACrC,OAAO,SAASC,EAAqBxE,EAAM2C,GACvC,IAAIoB,EAASU,MAAMC,QAAQ/B,GAAM,GAAK,CAAC,EAcvC,OAbA,QAAKA,GAAI,SAAUgC,EAAUC,GACzB,GAAI,iBAAoBA,IAAgB,IAAUhH,WAAWgH,EAAc,IACvE,OAAO,EAEXb,EAAOY,GAAY,iBAAoBC,EAAeJ,EAAqBxE,EAAK2E,GAAWC,GAAgB,SAASD,GAChH,IDxOME,ECwOF7G,EAAIuG,EAAkBnB,EAAenC,SACrChD,EAAIsG,EACJrG,EAAI,EAAI8B,EAAK2E,GACbxG,EAAIwE,EAAGgC,GAAY3E,EAAK2E,GACxBvG,EAAIgF,EAAenC,SACvB,OD7OM4D,EC6OWzB,EAAejG,OD5OzCA,EAAO0H,IC4O0C7G,EAAGC,EAAGC,EAAGC,EAAGC,EACxD,CAP2G,CAOzGuG,EACL,IACMZ,CACX,CAhBO,CAgBLX,EAAepD,KAAMoD,EAAeT,GAC1C,EACAO,gBAAiB,SAASQ,GACtB,IAAIoB,EAAelH,WAAW8F,EAAO,IACrC,OAAI,IAAUoB,EACHpB,EAEJoB,CACX,GAEAC,EAAgC,CAChCpF,cAAe,WAAY,EAC3BuB,QAAS,WACL,OAAO,IAAK,MAAUoB,UAAUlB,SACpC,EACAc,KAAM,KACN8C,eAAe,GAefC,EAAsB,SAASpF,EAAQqF,EAAeC,EAAUC,IAChE,QAAK,CAAC,OAAQ,OAAO,WACjB,IAAKD,EAAStF,EAAOO,OACjB,MAAMiF,EAAA,QAAa,QAASH,EAAe9E,KAAMgF,EAExD,GACL,EACIE,EAA0B,SAASzF,EAAQqF,GAC3C,OAAOD,EAAoBpF,EAAQqF,GAAe,SAAUK,GACxD,OAAO,QAAcA,EACxB,GAAG,iBACR,EAeIC,EAAkB,CAClBC,IAAK,CACDC,GAAI,gBACJC,GAAI,cAERC,OAAQ,CACJF,GAAI,aACJC,GAAI,iBAERE,MAAO,CACHH,GAAI,cACJC,GAAI,gBAERG,KAAM,CACFJ,GAAI,eACJC,GAAI,gBAGRI,EAA6B,CAC7BC,eAAgB,SAASnG,GACrByF,EAAwBzF,EAAQ,QACpC,EACAoG,MAAO,SAASrG,EAAUC,GACtB,IAAIqG,GAAW,QAAOtG,GACtB,GAAI,UAAYC,EAAOsG,KAAM,CACzB,IAAIC,EAAoB,YAAcvG,EAAOsG,KAAOtG,EAAOG,KAAOH,EAAO8C,GACzEyD,EAAkBC,UAAW,EAAA5C,EAAA,GAAO,CAChC6C,GAAI,GACLd,EAAgB3F,EAAO0G,YAC1BC,EAAc5G,EAAUwG,EAC5B,CACAhG,KAAKqG,aAAaP,EAAUrG,EAAOG,MACnCI,KAAKqG,aAAaP,EAAUrG,EAAO8C,KACnC,QAAW/C,EACf,EACA6G,aAAc,SAASP,EAAUrG,GAC7BA,EAAOiG,KAAO,SAAUjG,EAASA,EAAOiG,KAAO,MAC/CjG,EAAO4F,IAAM,QAAS5F,EAASA,EAAO4F,IAAM,MAC5CrF,KAAKsG,iBAAiBR,EAAUrG,EACpC,EACA6G,iBAAkB,SAASR,EAAUrG,GACjC,IAAIwG,EAAW,CACXP,KAAMjG,EAAOiG,KACbL,IAAK5F,EAAO4F,YAET5F,EAAOiG,YACPjG,EAAO4F,IACd,IAAIkB,EAAgBvG,KAAKwG,kBAAkBP,EAASP,WAChD,IAAWa,EACXN,EAASP,KAAOa,EAAgBT,EAASJ,KAEzCjG,EAAOiG,KAAO,OAGd,KADJa,EAAgBvG,KAAKwG,kBAAkBP,EAASZ,MAE5CY,EAASZ,IAAMkB,EAAgBT,EAAST,IAExC5F,EAAO4F,IAAM,EAEjB5F,EAAOJ,IAAkB,QAAgB,CACrCzB,EAAGqI,EAASP,KACZe,EAAGR,EAASZ,KAEpB,EACAmB,kBAAmB,SAASlD,GACxB,IAAIiD,EACJ,GAAI,iBAAoBjD,IAAUiD,EAAgBrH,EAAqBwH,KAAKpD,IACxE,OAAOqD,SAASJ,EAAc,GAAK,KAAOA,EAAc,EAEhE,GAEAK,EAA4B,CAC5Bf,MAAO,SAASrG,EAAUC,GACtB,IAAIoH,EAAeC,EACflH,EAAOH,EAAOG,KACd2C,EAAK9C,EAAO8C,GACZwE,EAAqB,YAActH,EAAOsG,KAAO,EAAI,EACrDiB,EAAmB,YAAcvH,EAAOsG,KAAO,EAAI,EACnDkB,GAAc,QAAcrH,GAAQsH,OAAO,QAAUL,EAAgBjH,EAAKuH,eAAY,IAAWN,EAAgBA,EAAgBE,GAAsBG,OAAOtH,GAC9JwH,GAAY,QAAc7E,GAAM2E,OAAO,QAAUJ,EAAcvE,EAAG4E,eAAY,IAAWL,EAAcA,EAAcE,GAAoBE,OAAO3E,GAIpJ,OAHK9C,EAAO4H,2BACRJ,EAAczH,EAASE,IAAI,YAEvBD,EAAOsG,MACX,IAAK,SACDqB,EAAY,EACZ,MACJ,IAAK,UACDA,EAAY,EAEpB3H,EAAOG,KAAO,CACV0H,WAAY,UACZH,QAASF,GAEbxH,EAAO8C,GAAK,CACR4E,QAASC,EAEjB,GA2BAG,EAAyB,CACzBC,OAtI8B,CAC9B3B,MAAO,WAAY,GAsInB4B,MAAO9B,EACP+B,QAAS/B,EACTgC,SAAUhC,EACViC,KAAMhB,EACNiB,OAAQjB,EACRkB,QAASlB,EACTmB,IAjC2B,CAC3BnC,eAAgB,SAASnG,GACrByF,EAAwBzF,EAAQ,MACpC,EACAoG,MAAO,SAASrG,EAAUC,GACtB,IAAIG,EAAOH,EAAOG,KACd2C,EAAK9C,EAAO8C,GACZ0E,EAAc,YAAarH,EAAOA,EAAKuH,QAAU3H,EAASE,IAAI,WAC9D0H,EAAY,YAAa7E,EAAKA,EAAG4E,QAAU,EAC3Ca,EAAY,UAAWpI,EAAOA,EAAKqE,MAAQ,EAC3CgE,EAAU,UAAW1F,EAAKA,EAAG0B,MAAQ,EACzCxE,EAAOG,KAAO,CACVuH,QAASF,GAEb,IAAIjD,GAAY,QAAaxE,GAC7BC,EAAOG,KAAKP,GAAkBW,KAAKkI,iBAAiBlE,EAAWgE,GAC/DvI,EAAO8C,GAAK,CACR4E,QAASC,GAEb3H,EAAO8C,GAAGlD,GAAkBW,KAAKkI,iBAAiBlE,EAAWiE,EACjE,EACAC,iBAAkB,SAASlE,EAAWC,GAClC,OAAO,QAAgBD,GAAa,SAAWC,EAAQ,GAC3D,GAWAvE,IA3I2B,CAC3BkG,eAAgB,SAASnG,IATC,SAASA,EAAQqF,GACpCD,EAAoBpF,EASS,OATc,SAAU0F,GACxD,MAAO,iBAAoBA,CAC9B,GAAG,WACR,CAMQgD,CAAwB1I,EAC5B,EACAoG,MAAO,WAAY,IAgJnBuC,EAAkB,CAClBrC,KAAM,SACNnG,KAAM,CAAC,EACP2C,GAAI,CAAC,EACL1B,SAAU,IACVwH,MAAO,KACPC,SAAU,KACVvL,OAAQ,OACRsE,MAAO,GAEPkH,EAAmB,CACnB1H,SAAU,IACV9D,OAAQ,OACRsE,MAAO,GAGX,SAASmH,IACL,IAAIhJ,EAAWQ,KAAKyI,QAChBhJ,EAASO,KAAKP,OAUlB,GATA2G,EAAc5G,EAAUC,EAAOG,MAC/BwG,EAAc5G,EAAUC,EAAO8C,IAC/BvC,KAAK0I,aAAa7C,MAAMrG,EAAUC,GAClCD,EAASmJ,KAAKxJ,EAAea,MACzBgC,EAAG4G,MACHnJ,EAAOoB,SAAW,EAClBpB,EAAO4B,MAAQ,GAEnBrB,KAAK6I,SAAStJ,cAAcC,EAAUC,GAClCA,EAAO4I,MAAO,CACd,IAAII,GAAU,OAAiBjJ,GAC/BC,EAAO4I,MAAMS,MAAM9I,KAAM,CAACyI,EAAShJ,GACvC,CACJ,CACA,IAUIsJ,EAA0B,WAC1B,IAAIC,EAAYhJ,KACZR,EAAWwJ,EAAUP,QACrBhJ,EAASuJ,EAAUvJ,OAEvB,OADAuJ,EAAUC,WAAY,EACfD,EAAUH,SAAS/H,QAAQtB,EAAUC,GAAQiB,MAAK,YAf5B,SAASsI,GACtC,IAAIxJ,EAAWwJ,EAAUP,QACrBhJ,EAASuJ,EAAUvJ,OAEvB,GADAD,EAAS0J,WAAW/J,GAChBM,EAAO6I,SAAU,CACjB,IAAIG,GAAU,OAAiBjJ,GAC/BC,EAAO6I,SAASQ,MAAM9I,KAAM,CAACyI,EAAShJ,GAC1C,CACAuJ,EAAU/I,SAASO,YAAYR,KAAM,CAACR,EAAUC,GACpD,CAOQ0J,CAA2BH,EAC9B,IAAGrI,MAAK,WACLqI,EAAU/I,SAASW,WAAWZ,KAAM,CAACR,EAAUC,GAClD,GACL,EACI2J,EAAyB,SAAS1G,GAClC,IAAIlD,EAAWQ,KAAKyI,QAChBhJ,EAASO,KAAKP,OAClBkC,aAAa3B,KAAKqJ,cACbrJ,KAAKiJ,WACNjJ,KAAKqI,QAETrI,KAAK6I,SAAS/G,KAAKtC,EAAUC,EAAQiD,EACzC,EACI4G,GAAoB,QAAarK,EAAA,EAAa,sBAU9CsK,EAAkB,SAASd,EAASe,GACpC,IAAIC,EAAgB,QAAUD,EAAczD,KAAOwC,EAAmBH,EAClE3I,GAAS,EAAA4D,EAAA,IAAO,EAAM,CAAC,EAAGoG,EAAeD,GACzCd,EAnFuB,SAASjJ,GACpC,IAAIkE,EAAS4D,EAAuB9H,EAAOsG,MAC3C,IAAKpC,EACD,MAAMsB,EAAA,QAAa,QAASxF,EAAOsG,MAEvC,OAAOpC,CACX,CA6EuB+F,CAAyBjK,GACxCoJ,EAlQmB,SAASpJ,GAChCA,EAASA,GAAU,CAAC,EACpB,IAAIkK,EAAsB,CACtBC,YAAY,IAAAA,cAAetK,EAA8BsD,EACzDiH,MAAOjH,EACPkH,YAAanF,GAEbkE,EAAWpJ,EAAOoJ,UAAY,aAIlC,MAHI,QAAUpJ,EAAOsG,OAAS,IAAA6D,gBAC1Bf,EAAW,eAERc,EAAoBd,EAC/B,CAsPmBkB,CAAqBtK,GAChCuJ,EAAY,CACZP,SAAS,OAAEA,GACXhJ,OAAQA,EACRiJ,aAAcA,EACdG,SAAUA,EACVjE,cAAeiE,EAASjE,cACxBiB,MAAO2C,EACPH,MAAOU,EACPjH,KAAMsH,EACNnJ,SAAU,IAAI,MAMlB,OAJI,QAAWyI,EAAa9C,iBACxB8C,EAAa9C,eAAenG,GA1BP,SAASuJ,GAClC,QAAiBA,EAAUP,QAASa,GACpC,OAAgBN,EAAUP,QAASa,GAAmB,WAClDtH,EAAGF,KAAKkH,EAAUP,QACrB,IACDO,EAAU/I,SAASK,QAAO,WACtB,QAAiB0I,EAAUP,QAASa,EACvC,GACL,CAoBIU,CAAuBhB,GAChBA,CACX,EAoBA,SAASiB,EAAiBzK,GACtB,OAAOA,EAASmJ,KAAKvJ,IAAmB,EAC5C,CAKA,IAAI8K,EAAuB,SAAS1K,GAChCA,EAAS0J,WAAW9J,EACxB,EAEA,SAAS+K,EAAY3K,GACjB,QAASA,EAASmJ,KAAKxJ,EAC3B,CAEA,SAASiL,EAAwB5K,EAAU6K,GAEvC,IADAA,EAAYJ,EAAiBzK,IACdjC,OAAf,CAGA,IAAIyL,EAAYqB,EAAUC,QACtB,IAAMD,EAAU9M,QAChB2M,EAAqB1K,GAS7B,SAA0BwJ,GAStB,OARAA,EAAUnD,QACN7D,EAAG4G,KAAOI,EAAUpE,cACpBoE,EAAUX,QAEVW,EAAUK,aAAetH,YAAW,WAChCiH,EAAUX,OACb,IAEEW,EAAU/I,SAASe,SAC9B,CAjBIuJ,CAAiBvB,GAAWtI,MAAK,WACxByJ,EAAY3K,IACb4K,EAAwB5K,EAE/B,GATD,CAUJ,CAcA,SAAS4G,EAAc5G,EAAUC,GAC7B,GAAKA,GAAWA,EAAOwG,SAAvB,CAGA,IAAIuE,GAAM,OAAE,GACR9E,EAAO,EACPL,EAAM,EACNY,EAAW,cAAwBzG,EAAUC,EAAOwG,UACpDwE,EAASjL,EAASiL,SAClBC,EAAkBlL,EAASyG,WAC3ByE,EAAgBrF,IAAMoF,EAAOpF,MAC7BA,EAAMmF,EAAIG,aAEVD,EAAgBhF,KAAO+E,EAAO/E,OAC9BA,EAAO8E,EAAII,eAEf,EAAAvH,EAAA,GAAO5D,EAAQ,CACXiG,KAAMO,EAAS4E,EAAE/E,SAAW2E,EAAO/E,KAAOgF,EAAgBhF,KAAOA,EACjEL,IAAKY,EAAS6E,EAAEhF,SAAW2E,EAAOpF,IAAMqF,EAAgBrF,IAAMA,WAE3D5F,EAAOwG,QAjBd,CAkBJ,CAEA,SAASnG,EAASN,EAAUuL,IACxB,QAAKA,GAAO,SAAUpI,EAAKW,GACvB,IACI9D,EAASE,IAAIiD,GAAK,QAAWW,GAASA,IAAUA,EACvC,CAAX,MAAO0H,GAAI,CAChB,GACL,CACA,IAkBIhJ,EAAK,CACL4G,KAAK,EACLqC,eAAgB1D,EAChBzG,QAjHU,SAAS2H,EAAShJ,GAC5B,IAAID,GAAW,OAAEiJ,GACjB,IAAKjJ,EAASjC,OACV,OAAO,IAAK,MAAU2E,UAAUlB,UAEpC,IAAIgI,EAAYO,EAAgB/J,EAAUC,GAE1C,OAGJ,SAA8BD,EAAUwJ,GACpC,IAAIqB,EAAYJ,EAAiBzK,IAYrC,SAA4BA,EAAU6K,GAClC7K,EAASmJ,KAAKvJ,EAAgBiL,EAClC,EAbIa,CAAmB1L,EAAU6K,GAC7BA,EAAUc,KAAKnC,GACVmB,EAAY3K,IACb4K,EAAwB5K,EAAU6K,EAE1C,CAXIe,CAAqB5L,EAAUwJ,GACxBA,EAAU/I,SAASe,SAC9B,EA0GIuI,gBAAiBA,EACjBY,YAAaA,EACbrI,KAxBO,SAAS2G,EAAS/F,GACzB,IAAIlD,GAAW,OAAEiJ,GACb4B,EAAYJ,EAAiBzK,IACjC,QAAK6K,GAAW,SAAUgB,EAAGrC,GACzBA,EAAUvJ,OAAO4B,MAAQ,EACzB2H,EAAUvJ,OAAOoB,SAAW,EAC5BmI,EAAUpE,eAAgB,CAC7B,IACIuF,EAAY3K,IACb4K,EAAwB5K,EAAU6K,GAEtC,IAAIrB,EAAYxJ,EAASmJ,KAAKxJ,GAC1B6J,GACAA,EAAUlH,KAAKY,GAEnBlD,EAAS0J,WAAW/J,GACpB+K,EAAqB1K,EACzB,EAQIyC,6BAA8B,KAElC,G,4BC3iBIqJ,E,6IAtJAC,GAAS,UAqBTC,EAAS,aACTC,EAAS,aACTC,EAAc,gBACdC,EAAU,eACVC,EAAY,WACZC,EAAiB,SAASC,GAC1B,IAAInI,EAAS,CACTkH,EAAG,SACHC,EAAG,UAEHiB,GAAO,QAAUD,GAWrB,OAVIC,IACA,QAAKA,GAAM,WACP,IAAIC,EAAI9E,OAAOlH,MAAMiM,cACjBT,EAAOU,KAAKF,GACZrI,EAAOkH,EAAImB,EACJP,EAAOS,KAAKF,KACnBrI,EAAOmH,EAAIkB,EAElB,IAEErI,CACX,EACIwI,EAAkB,SAASL,GAC3B,OAAO,QAAaA,EACxB,EAgBIM,EAAiB,SAASC,GAC1B,OAAQA,GACJ,IAAK,SACD,MAAO,GACX,IAAK,QACL,IAAK,SACD,OAAO,EACX,QACI,OAAO,EAEnB,EACIC,EAAe,SAASD,GACxB,OAAQA,GACJ,IAAK,OACD,MAAO,QACX,IAAK,QACD,MAAO,OACX,IAAK,MACD,MAAO,SACX,IAAK,SACD,MAAO,MACX,QACI,OAAOA,EAEnB,EACIE,EAAoB,SAAS5D,EAAM6D,GACnC,IAAIC,EAAW,EAOf,OANI9D,EAAK+D,WAAaF,EAAOG,MACzBF,GAAYD,EAAOG,IAAMhE,EAAK+D,YAE9B/D,EAAK+D,WAAaF,EAAOI,MACzBH,GAAY9D,EAAK+D,WAAaF,EAAOI,KAElCH,CACX,EACII,EAAgB,SAAS1G,EAAWwC,EAAM6D,GAC1C,OAAI7D,EAAK+D,WAAaF,EAAOG,IAClB,MAAQxG,EAAY,OAAS,MAEpCwC,EAAK+D,WAAaF,EAAOI,IAClB,MAAQzG,EAAY,QAAU,SAElC,MACX,EACI2G,EAAiB,SAASnE,GAC1BA,EAAK+D,WAAa/D,EAAKoE,WAAaX,EAAezD,EAAKqE,SAAWrE,EAAKsE,OAASb,EAAezD,EAAKuE,SAAWvE,EAAKwE,OAASxE,EAAK8B,MACvI,EACI2C,EAAqB,CACrBC,IAAK,SAAS1E,EAAM6D,GAChB,IAAI7I,GAAS,EACTgF,EAAK+D,WAAaF,EAAOI,MACzBjE,EAAK+D,WAAaF,EAAOI,IACzBjJ,GAAS,GAETgF,EAAK+D,WAAaF,EAAOG,MACzBhE,EAAK+D,WAAaF,EAAOG,IACzBhJ,GAAS,GAEbgF,EAAK0E,IAAM1J,CACf,EACA2J,KAAM,SAAS3E,EAAM6D,GAEjB,GADA7D,EAAK2E,MAAO,GACR,WAAa3E,EAAKuE,SAAW,WAAavE,EAAKqE,WAG/CrE,EAAK+D,WAAaF,EAAOG,KAAOhE,EAAK+D,WAAaF,EAAOI,KAAK,CAC9D,IAAIW,GAAc,OAAO,CAAC,EAAG5E,EAAM,CAC/BuE,QAASZ,EAAa3D,EAAKuE,SAC3BF,QAASV,EAAa3D,EAAKqE,SAC3BvC,QAAS9B,EAAK8B,SAElBqC,EAAeS,GACfA,EAAYd,SAAWF,EAAkBgB,EAAaf,IAClDe,EAAYb,YAAcF,EAAOG,KAAOY,EAAYb,YAAcF,EAAOI,KAAOjE,EAAK8D,SAAWc,EAAYd,YAC5G9D,EAAK+D,WAAaa,EAAYb,WAC9B/D,EAAK8D,SAAWc,EAAYd,SAC5B9D,EAAK2E,MAAO,EAEpB,CACJ,EACAE,QAAS,SAAS7E,EAAM6D,GACpBxM,KAAKsN,KAAK3E,EAAM6D,GAChBxM,KAAKqN,IAAI1E,EAAM6D,EACnB,EACAiB,KAAM,SAAS9E,GACXA,EAAK8D,SAAW,CACpB,GAGAiB,EAA0B,WAC1B,IAAIC,GAAa,OAAE,SAASjO,IAAI,CAC5BkO,MAAO,IACPC,OAAQ,IACRC,SAAU,SACV7H,SAAU,WACVZ,KAAM,OACP0I,UAAS,OAAE,SACVpK,EAASgK,EAAWK,IAAI,GAAGC,YAAcN,EAAWK,IAAI,GAAGE,YAC/DP,EAAW1O,SACXqM,EAAiB3H,CACrB,EACIwK,EAAwB,CACxBtD,EAAG,CACC/E,SAAU,EACVwH,MAAM,EACND,KAAK,EACLZ,SAAU,GAEd3B,EAAG,CACChF,SAAU,EACVwH,MAAM,EACND,KAAK,EACLZ,SAAU,IAGd2B,EAAoB,SAASC,EAAMC,GACnC,IAAIC,GAAQ,OAAEF,GACVG,EAAgBD,EAAM9D,SACtB9G,GAAS,QAAO,EAAM,CAAC,EAAGwK,EAAuB,CACjDtD,EAAG,CACC/E,SAAU0I,EAAc9I,MAE5BoF,EAAG,CACChF,SAAU0I,EAAcnJ,OAGhC,IAAKiJ,EACD,OAAO3K,EAEX,IAAI2B,EAAKuG,EAAeyC,EAAQhJ,IAC5BC,EAAKsG,EAAeyC,EAAQ/I,IAC5BW,GAAK,OAAEoI,EAAQpI,IAAI3I,QAAU+Q,EAAQpI,IAAMqF,EAC3Cd,EAAS0B,EAAgBmC,EAAQ7D,QACjCgE,EApJiB,SAAS3C,GAC9B,IAAIC,GAAO,QAAUD,GACjBjB,EAAI3D,OAAO6E,GAAQA,EAAK,IAAIE,cAC5BnB,EAAI5D,OAAO6E,GAAQA,EAAK,IAAIE,cAOhC,OANKP,EAAYQ,KAAKrB,KAClBA,EAAI,QAEHa,EAAYQ,KAAKpB,KAClBA,EAAID,GAED,CACHA,EAAGA,EACHC,EAAGA,EAEX,CAsIoB4D,CAAmBJ,EAAQG,WACvCE,EAAWL,EAAQK,SACnBC,EAAiBzC,EAAgBmC,EAAQM,gBACzC/D,EAAI,CACJsC,QAAQ,QAAcoB,GACtBrB,QAAS5H,EAAGuF,EACZmC,QAASzH,EAAGsF,EACZJ,OAAQA,EAAOI,EACf4D,UAAWA,EAAU5D,EACrB+D,eAAgBA,EAAe/D,GAE/BC,EAAI,CACJqC,QAAQ,QAAeoB,GACvBrB,QAAS5H,EAAGwF,EACZkC,QAASzH,EAAGuF,EACZL,OAAQA,EAAOK,EACf2D,UAAWA,EAAU3D,EACrB8D,eAAgBA,EAAe9D,GAEnC,GAAK5E,EAAI2I,eACLhE,EAAEkC,WAAa7G,EAAI4I,MACnBhE,EAAEiC,WAAa7G,EAAI6I,MACnBlE,EAAEoC,OAAS,EACXnC,EAAEmC,OAAS,OAGX,GADA/G,GAAK,OAAGA,IACJ,QAAUA,EAAI,IACd2E,EAAEkC,WAAa7G,EAAI0E,aACnBE,EAAEiC,WAAa7G,EAAIyE,YACf,UAAY,WAAeqE,YAAc9I,EAAI,GAAG+I,gBAChDpE,EAAEkC,WAAajO,KAAK8N,IAAI/B,EAAEkC,WAAY7G,EAAI,GAAG+I,eAAeC,YAC5DpE,EAAEiC,WAAajO,KAAK8N,IAAI9B,EAAEiC,WAAY7G,EAAI,GAAG+I,eAAeE,WAC5DtE,EAAEoC,OAAS/G,EAAI,GAAG+I,eAAerB,MACjC9C,EAAEmC,OAAS/G,EAAI,GAAG+I,eAAepB,SAEjChD,EAAEoC,OAAS/G,EAAI,GAAGkJ,WAAalJ,EAAI,GAAGmJ,WAAanJ,EAAI,GAAGkJ,YAAa,QAAUlJ,GACjF4E,EAAEmC,OAAS/G,EAAI,GAAGoJ,YAAcpJ,EAAI,GAAGqJ,aAAe3D,EAAY1F,EAAI,GAAGoJ,aAAc,QAAWpJ,SAEnG,GAAI,IAAMA,EAAI,GAAGsJ,SACpB3E,EAAEkC,WAAa,EACfjC,EAAEiC,WAAa,EACflC,EAAEoC,QAAS,QAAU/G,GACrB4E,EAAEmC,QAAS,QAAW/G,OACnB,CACH,IAAIuJ,GAAS,OAAiBvJ,EAAI8H,IAAI,IAClC0B,EAAIC,EAAuBzJ,GAC/B2E,EAAEkC,WAAa2C,EAAEhK,KACjBoF,EAAEiC,WAAa2C,EAAErK,IACjBwF,EAAEoC,OAASnO,KAAK8N,IAAI6C,EAAO7B,OAAO,QAAe1H,IACjD4E,EAAEmC,OAASnO,KAAK8N,IAAI6C,EAAO5B,QAAQ,QAAgB3H,GACvD,CAEJ4G,EAAejC,GACfiC,EAAehC,GACf,IAAI0B,EAAS,WACT,IAAIhC,GAAM,OAAEe,GACRqE,GAAc,QAASpF,GACvBqF,GAAe,QAAUrF,GACzB9E,EAAO8E,EAAII,aACXvF,EAAMmF,EAAIG,YACVmF,EAAkB,+BAClBC,EAAa,EAAAC,MAAQF,EAAgB5B,YAAc0B,EAAc,EACjEK,EAAa,EAAAD,MAAQF,EAAgBI,aAAeL,EAAe,OACnE,IAAWvE,GACXoC,IAEJ,IAAIyC,EAAgBP,EAChBQ,EAAiBP,EACrB,GAAIlB,EAAU,CACV,IAAI0B,GAAY,OAAE1B,GACd2B,EAAmBD,EAAU5F,SACjC/E,EAAO4K,EAAiB5K,KACxBL,EAAMiL,EAAiBjL,IACvB8K,GAAgB,QAASE,GACzBD,GAAiB,QAAUC,EAC/B,CACA,MAAO,CACHxF,EAAG,CACC8B,IAAKjH,EAAOmF,EAAE+D,eACdhC,IAAKlH,EAAOyK,EAAgBJ,EAAalF,EAAEsC,OAAStC,EAAE+D,gBAE1D9D,EAAG,CACC6B,IAAKtH,EAAMyF,EAAE8D,eACbhC,IAAKvH,EAAM+K,EAAiBH,EAAanF,EAAEqC,OAASrC,EAAE8D,gBAGlE,CAhCa,GAiCb/D,EAAE4B,SAAWF,EAAkB1B,EAAG2B,EAAO3B,GACzCC,EAAE2B,SAAWF,EAAkBzB,EAAG0B,EAAO1B,GACzCD,EAAEgC,cAAgBA,EAAc,IAAKhC,EAAG2B,EAAO3B,GAC/CC,EAAE+B,cAAgBA,EAAc,IAAK/B,EAAG0B,EAAO1B,GAC3CsC,EAAmBvC,EAAE4D,YACrBrB,EAAmBvC,EAAE4D,WAAW5D,EAAG2B,EAAO3B,GAE1CuC,EAAmBtC,EAAE2D,YACrBrB,EAAmBtC,EAAE2D,WAAW3D,EAAG0B,EAAO1B,GAE9C,IAAIyF,EAAW,SAASC,GACpB,OAAOlC,EAAQmC,QAAUD,EAAS1R,KAAK4R,MAAMF,EACjD,EAkBA,OAjBA,QAAO,EAAM7M,EAAQ,CACjBkH,EAAG,CACC/E,SAAUyK,EAAS1F,EAAE6B,YACrBD,SAAU8D,EAAS1F,EAAE4B,UACrBY,IAAKxC,EAAEwC,IACPC,KAAMzC,EAAEyC,KACRT,cAAehC,EAAEgC,eAErB/B,EAAG,CACChF,SAAUyK,EAASzF,EAAE4B,YACrBD,SAAU8D,EAASzF,EAAE2B,UACrBY,IAAKvC,EAAEuC,IACPC,KAAMxC,EAAEwC,KACRT,cAAe/B,EAAE+B,eAErB4D,QAASnC,EAAQmC,UAEd9M,CACX,EACIgN,EAAmB,SAASlI,EAASxE,EAAO2M,EAAeC,EAAWC,IAC/C,QAAUrI,EAAQsI,SAAW,iBAAkBtI,EAAQsI,OAE1EtI,EAAQsI,MAAMC,UAAYF,EAAUF,EAAcjT,QAAQsG,EAAO,IAAM2M,EAEvEnI,EAAQwI,aAAa,QAASH,EAAUD,EAAUlT,QAAQsG,EAAO,IAAM4M,EAE/E,EACIlB,EAAwB,SAASA,EAAsBuB,GACvD,IAAIC,EAAuBC,EAAuBC,EAC9CC,EAAkBC,UAAUhU,OAAS,QAAK,IAAWgU,UAAU,GAAKA,UAAU,GAAKL,EACnFM,EAAiBF,EAAgBtD,IAAI,GACzC,IAAKwD,EACD,OAAON,EAAczG,SAEzB,IAGIA,EAHAsG,GAAS,QAAUI,EAAwBK,EAAeC,oBAAiB,IAAWN,OAAwB,EAASA,EAAsBO,KAAKF,EAAgB,WAAa,GAC/KR,EAAY,QAAUI,EAAwBI,EAAeT,aAAU,IAAWK,OAAwB,EAASA,EAAsBJ,UACzI/M,EAAQ,QAAUoN,EAAeN,EAAM3T,MAAMuO,UAAa,IAAW0F,OAAe,EAASA,EAAa,GAS9G,OAPIpN,GACA0M,EAAiBa,EAAgBvN,EAAO+M,EAAWD,GAAO,GAC1DtG,EAASkF,EAAsBuB,EAAeI,EAAgBK,UAC9DhB,EAAiBa,EAAgBvN,EAAO+M,EAAWD,GAAO,IAE1DtG,EAASkF,EAAsBuB,EAAeI,EAAgBK,UAE3DlH,CACX,EACIxE,EAAW,SAASoI,EAAMC,GAC1B,IAAIC,GAAQ,OAAEF,GACd,IAAKC,EACD,OAAOC,EAAM9D,UAEjB,QAAc8D,GAAO,GACrB,IAAI9D,EAASkF,EAAsBpB,GAC/BqD,EAAiBtD,EAAQzD,GAAKyD,EAAQxD,EAAIwD,EAAUF,EAAkBG,EAAOD,GAC7EiC,EAAW,SAASC,GACpB,OAAOlC,EAAQmC,QAAUD,EAAS1R,KAAK4R,MAAMF,EACjD,EAKA,OAJA,QAAKjC,EAAO,CACR7I,KAAMkM,EAAe/G,EAAE/E,SAAWyK,EAAS9F,EAAO/E,MAClDL,IAAKuM,EAAe9G,EAAEhF,SAAWyK,EAAS9F,EAAOpF,OAE9CuM,CACX,EAaK3L,EAASqG,eACVrG,EAASqG,aAAeA,GAEvBrG,EAAS4F,iBACV5F,EAAS4F,eAAiBA,GAE9B,KACI6B,wBAAyBA,EACzBmE,UAAWzD,EACXvI,MAAOI,EACPwE,OAtBS,SAAShC,GAElB,OADAA,GAAU,OAAEA,GAASuF,IAAI,IACrB,QAASvF,GACF,KACAA,GAAW,UAAWA,GAAW,UAAWA,EAC5C,CACHpD,IAAKoD,EAAQsG,MACbrJ,KAAM+C,EAAQqG,QAGf,OAAErG,GAASgC,QACtB,E,8OC3XIqH,EAAsB,eACtBC,EAAyB,uBACzBC,EAAkB,4BACXC,EAAS,SAASzS,GACzBA,GAAW,OAAEA,GACb,IAAIwE,EAAYkO,EAAa1S,GAC7B,MAAO,CACHkG,KAAM1B,EAAUpG,EAChByH,IAAKrB,EAAUyC,EAEvB,EAEA,SAAS0L,EAAe7O,GACpB,MAAO,YAAa,QAAKA,IAAU,MAAQA,EAAMA,EAAM/F,OAAS,EACpE,CAEA,SAAS6U,EAAe5S,EAAUwE,GAC1BxE,EAASjC,SACT,QAAYiC,EAASwO,IAAI,GAAI8D,EAAqB9N,EAE1D,CACO,IAAIqO,EAAa,SAAS7S,GACzBA,EAASjC,SACT,QAAWiC,EAASwO,IAAI,GAAI8D,EAEpC,EACWQ,EAAkB,SAAStO,GAKlC,OAJAA,EAAUpG,EAAIoG,EAAUpG,GAAK,EAC7BoG,EAAUyC,EAAIzC,EAAUyC,GAAK,EAGtB,cAFY0L,EAAenO,EAAUpG,GAAKoG,EAAUpG,EAAIoG,EAAUpG,EAAI,MAExC,MADlBuU,EAAenO,EAAUyC,GAAKzC,EAAUyC,EAAIzC,EAAUyC,EAAI,MAClB,GAC/D,EACWyL,EAAe,SAAS1S,GAC/B,IAAImE,EAASnE,EAASjC,QAAS,QAAYiC,EAASwO,IAAI,GAAI8D,GAAuB,KACnF,IAAKnO,EAAQ,CACT,IAII4O,GAJiB/S,EAASE,IAAI,cAAgB4S,EAAgB,CAC9D1U,EAAG,EACH6I,EAAG,KAEqBrJ,MAAM2U,GAC9BS,EAAOD,GAAUA,EAAO,GACxBA,GACAA,EAASA,EAAO,GAAGE,MAAM,KACrB,OAASD,EACTD,EAASA,EAAOlV,MAAM,GAAI,KAE1BkV,EAAOpH,KAAK,GACZoH,EAASA,EAAOlV,MAAM,EAAG,KAG7BkV,EAAS,CAAC,EAAG,EAAG,GAOpBH,EAAe5S,EALfmE,EAAS,CACL/F,EAAGJ,WAAW+U,EAAO,IACrB9L,EAAGjJ,WAAW+U,EAAO,IACrB1T,EAAGrB,WAAW+U,EAAO,KAG7B,CACA,OAAO5O,CACX,EACW+O,EAAO,SAASlT,EAAUyG,GACjCzG,GAAW,OAAEA,GACb,IAEIwE,EAFA0B,EAAOO,EAASP,KAChBL,EAAMY,EAASZ,SAEf,IAAWK,GACX1B,EAAYkO,EAAa1S,IACfiH,EAAIpB,GAAO,OACd,IAAWA,GAClBrB,EAAYkO,EAAa1S,IACf5B,EAAI8H,GAAQ,EAOtB0M,EAAe5S,EALfwE,EAAY,CACRpG,EAAG8H,GAAQ,EACXe,EAAGpB,GAAO,EACVxG,EAAG,IAIXW,EAASE,IAAI,CACTsR,UAAWsB,EAAgBtO,MAE3BmO,EAAezM,IAASyM,EAAe9M,KACvCgN,EAAW7S,EAEnB,EACWmT,EAAgB,SAASnT,EAAUoT,GAE1C,IAAIC,EADJrT,GAAW,OAAEA,GAEb,IAAIsT,EAAe,CACfpN,KAAM,EACNL,IAAK,EACL2L,UAAW,QAEX4B,IACAC,EAAqBrT,EAASE,IAAI,cAClCoT,EAAalJ,WAAa,QAE9BpK,EAASE,IAAIoT,GACbT,EAAW7S,GACPoT,IACApT,EAASwO,IAAI,GAAG+E,aAChBvT,EAASE,IAAI,aAAcmT,GAEnC,EACWG,EAAiB,SAASC,GACjC,IAAItP,EAASsP,EAAgB7V,MAAM4U,GACnC,GAAKrO,GAAWA,EAAO,GASvB,OANAA,EAASA,EAAO,GAAG8O,MAAM,KAChB,CACL7U,EAAGJ,WAAWmG,EAAO,IACrB8C,EAAGjJ,WAAWmG,EAAO,IACrB9E,EAAGrB,WAAWmG,EAAO,IAG7B,C,yGC3HIuP,EAAsBC,IACL,MAASA,EAA0CA,GAAe,SAASC,YACxE,QAAU,OAE9BC,EAAkB5K,IACd,QAASA,GACF,CACHmF,MAAOnF,EAAQ4G,WACfxB,OAAQpF,EAAQ8G,aAGjB9G,EAAQ6K,uB","sources":["webpack://finnish-art/./node_modules/devextreme/esm/animation/easing.js","webpack://finnish-art/./node_modules/devextreme/esm/animation/fx.js","webpack://finnish-art/./node_modules/devextreme/esm/animation/position.js","webpack://finnish-art/./node_modules/devextreme/esm/animation/translator.js","webpack://finnish-art/./node_modules/devextreme/esm/core/utils/position.js"],"sourcesContent":["/**\r\n * DevExtreme (esm/animation/easing.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n }(function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n }(t))\r\n }\r\n};\r\nvar easing = {};\r\nexport var convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexport function setEasing(value) {\r\n easing = value\r\n}\r\nexport function getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/fx.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getTranslateCss,\r\n parseTranslate,\r\n clearCache,\r\n locate,\r\n getTranslate\r\n} from \"./translator\";\r\nimport {\r\n convertTransitionTimingFuncToEasing,\r\n getEasing\r\n} from \"./easing\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"./frame\";\r\nimport {\r\n transitionEndEventName,\r\n transition\r\n} from \"../core/utils/support\";\r\nimport positionUtils from \"./position\";\r\nimport {\r\n removeEvent\r\n} from \"../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar removeEventName = addNamespace(removeEvent, \"dxFX\");\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always((function() {\r\n that._cleanup($element, config)\r\n }))\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done((function() {\r\n config.transitionAnimation.finish()\r\n })).fail((function() {\r\n deferred.rejectWith($element, [config, $element])\r\n }));\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new Deferred;\r\n var transitionEndFired = new Deferred;\r\n var simulatedTransitionEndFired = new Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventFullName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n }));\r\n var waitForJSCompleteTimer = setTimeout((function() {\r\n simulatedEndEventTimer = setTimeout((function() {\r\n simulatedTransitionEndFired.reject()\r\n }), config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n }));\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n each(config.to, (function(key) {\r\n $element.css(key, $element.css(key))\r\n }))\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n each(config.to, (function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n }));\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = map(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return getTranslateCss(value)\r\n } else if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n })).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout((function() {\r\n that._startAnimation($element, config)\r\n }), config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n }));\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n each(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = parseTranslate(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n }));\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = requestAnimationFrame((function() {\r\n that._animationStep($element, config)\r\n }))\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n return function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n each(to, (function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue, 10)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === typeof endPropValue ? calcValueRecursively(from[propName], endPropValue) : function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n }(propName)\r\n }));\r\n return result\r\n }(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value, 10);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n each([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n }))\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return isPlainObject(target)\r\n }), \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return \"string\" === typeof target\r\n }), \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var _from$opacity, _to$opacity;\r\n var from = config.from;\r\n var to = config.to;\r\n var defaultFromOpacity = \"fadeOut\" === config.type ? 1 : 0;\r\n var defaultToOpacity = \"fadeOut\" === config.type ? 0 : 1;\r\n var fromOpacity = isPlainObject(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from);\r\n var toOpacity = isPlainObject(to) ? String(null !== (_to$opacity = to.opacity) && void 0 !== _to$opacity ? _to$opacity : defaultToOpacity) : String(to);\r\n if (!config.skipElementInitialStyles) {\r\n fromOpacity = $element.css(\"opacity\")\r\n }\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var $element = this.element;\r\n var config = this.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n this.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, this);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n this.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done((function() {\r\n onElementAnimationComplete(animation)\r\n })).fail((function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n }))\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var $element = this.element;\r\n var config = this.config;\r\n clearTimeout(this.startTimeout);\r\n if (!this.isStarted) {\r\n this.start()\r\n }\r\n this.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n }))\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = extend(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done((function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n }))\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout((function() {\r\n animation.start()\r\n }))\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = positionUtils.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n each(props, (function(key, value) {\r\n try {\r\n $element.css(key, isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element);\r\n var queueData = getAnimQueueData($element);\r\n each(queueData, (function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n }));\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nexport default fx;\r\n","/**\r\n * DevExtreme (esm/animation/position.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n splitPair,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n resetPosition,\r\n move\r\n} from \"./translator\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale\\(.+?\\)/;\r\nvar IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = splitPair(raw);\r\n if (pair) {\r\n each(pair, (function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }))\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return pairToObject(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = splitPair(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"